@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html{font-family:Space Grotesk Variable,sans-serif;color:#f3f7fb;background:#071326;font-synthesis:none;text-rendering:optimizeLegibility;--mono:"IBM Plex Mono",monospace;--display:"Space Grotesk Variable",sans-serif}*{box-sizing:border-box}body{margin:0;min-width:280px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #8bcce3;outline-offset:3px}.robot-companion{display:block;width:100%;height:auto;overflow:visible;transform-origin:50% 90%;filter:drop-shadow(0 8px 7px #00172577);animation:companionFloat 3.2s ease-in-out infinite}.robot-companion--vela{animation-duration:3.8s}.robot-companion .companion-body{transform-origin:80px 90px;transition:transform .3s ease}.robot-companion .companion-mood-fx{transform-origin:80px 80px}.robot-companion.mood-happy,.robot-companion.mood-celebrate{animation:companionBounce .72s cubic-bezier(.3,1.7,.5,1) infinite alternate}.robot-companion.mood-angry{animation:companionTremble .12s linear infinite}.robot-companion.mood-sad{animation:companionDroop 2.3s ease-in-out infinite}.robot-companion.mood-curious .companion-body{transform:rotate(5deg)}.robot-companion.mood-hungry .companion-mood-fx{animation:snackFloat 1.3s ease-in-out infinite alternate}.robot-companion.mood-lounging{transform:rotate(12deg) translateY(8px);animation:companionNap 3s ease-in-out infinite}.robot-companion.mood-blush .companion-face{animation:shyPeek 2.4s ease-in-out infinite}.robot-companion.mood-sleepy{animation:companionSleep 4s ease-in-out infinite}.robot-companion.mood-worried .companion-face{animation:worryBob 1.5s ease-in-out infinite}.robot-companion.mood-thinking .companion-body{animation:thinkingTilt 2.1s ease-in-out infinite}.robot-companion.mood-love .companion-mood-fx,.robot-companion.mood-celebrate .companion-mood-fx{animation:heartSparkle 1.2s ease-in-out infinite alternate}.robot-companion.mood-surprised{animation:surprisePop .45s cubic-bezier(.2,1.4,.4,1) both}@keyframes companionFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes companionBounce{to{transform:translateY(-11px) rotate(-3deg)}}@keyframes companionTremble{25%{transform:translate(-2px) rotate(-2deg)}75%{transform:translate(2px) rotate(2deg)}}@keyframes companionDroop{50%{transform:translateY(5px) rotate(-4deg);filter:saturate(.72) drop-shadow(0 5px 5px #00172555)}}@keyframes snackFloat{to{transform:translateY(-7px) rotate(8deg)}}@keyframes companionNap{50%{transform:rotate(16deg) translateY(8px)}}@keyframes shyPeek{50%{transform:translateY(3px)}}@keyframes companionSleep{50%{transform:translateY(4px) scale(.98)}}@keyframes worryBob{50%{transform:translateY(-2px)}}@keyframes thinkingTilt{50%{transform:rotate(4deg)}}@keyframes heartSparkle{to{transform:translateY(-5px) scale(1.08)}}@keyframes surprisePop{50%{transform:scale(1.07)}}.companion-studio{margin:12px 0 18px;padding:16px;border:1px solid #65bec64a;border-radius:20px;background:linear-gradient(145deg,#102f43,#0a2438);color:#e9f7f1}.studio-heading,.mood-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.studio-heading b,.studio-heading small,.mood-heading b,.mood-heading small{display:block}.studio-heading b,.mood-heading b{font-size:13px;color:#f0f8f4}.studio-heading small,.mood-heading small{margin-top:4px;color:#9db9c0;font-size:10px}.studio-heading>span{padding:5px 8px;border:1px solid #9ddd7a55;border-radius:99px;color:#d0f18c;font:700 8px var(--mono);letter-spacing:.12em}.companion-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:13px 0 16px}.companion-choices>button{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:9px 11px;border:1px solid #7eb3bc38;border-radius:16px;background:#071d30;color:#e9f7f1;text-align:left}.companion-choices>button.selected{border-color:#bce86a;background:linear-gradient(130deg,#bce86a20,#39c6c21c);box-shadow:0 0 22px #bce86a17,inset 0 1px #ffffff20}.companion-choices .robot-companion{width:68px;height:76px;object-fit:contain}.companion-choices b,.companion-choices small{display:block}.companion-choices b{font:700 15px var(--display)}.companion-choices small{margin-top:4px;color:#9db9c0;font-size:10px;line-height:1.4}.mood-heading{margin-bottom:9px}.mood-picker{display:flex;flex-wrap:wrap;gap:6px}.mood-picker button{padding:7px 9px;border:1px solid #78a8ae42;border-radius:99px;background:#071b2c;color:#aac4c7;font-size:10px}.mood-picker button.active{border-color:#c8f17680;background:#c8f17620;color:#eaffc5}@media(max-width:560px){.companion-studio{padding:12px}.companion-choices{grid-template-columns:1fr 1fr;gap:7px}.companion-choices>button{grid-template-columns:52px minmax(0,1fr);gap:6px;padding:8px}.companion-choices .robot-companion{width:50px;height:60px}.companion-choices small{font-size:9px}.mood-picker button{font-size:9px;padding:6px 8px}}@media(prefers-reduced-motion:reduce){.robot-companion,.robot-companion *{animation:none!important;transition:none!important}}:root[data-motion=off] .robot-companion,:root[data-motion=off] .robot-companion *{animation:none!important;transition:none!important}@media(max-width:560px){.companion-choices{grid-template-columns:1fr}.companion-choices>button{grid-template-columns:64px minmax(0,1fr);min-height:78px}.companion-choices .robot-companion{width:60px;height:68px}}.robot-companion .visor-glint{transform-box:fill-box;transform-origin:center;animation:visorGlint 6.5s ease-in-out infinite}@keyframes visorGlint{0%,to{opacity:.2;transform:translate(-1px)}45%,60%{opacity:.52;transform:translate(2px)}}.robot-companion{filter:drop-shadow(0 6px 6px #00121d66) drop-shadow(0 0 5px #9db6b51a)}.robot-companion--rivet .companion-body{transform-origin:80px 130px}.robot-companion--rivet .companion-body>path:first-child{filter:drop-shadow(0 2px 2px #020b10aa)}.robot-companion--rivet.mood-curious .companion-body{transform:rotate(-4deg) translateY(-2px)}.robot-companion--rivet.mood-angry .companion-body{transform-origin:80px 115px}.robot-companion--vela{filter:drop-shadow(0 6px 6px #00121d55) drop-shadow(0 0 7px #b9dadd26)}.robot-companion--vela .companion-body{transform-origin:80px 90px}.robot-companion--vela .companion-body>path:first-child{filter:drop-shadow(0 0 4px #b9fffa35)}.robot-companion--vela.mood-curious .companion-body{transform:rotate(5deg) translateY(-3px)}.robot-companion--vela.mood-worried .companion-body{transform:rotate(-3deg)}.companion-face{transform-origin:80px 82px;animation:companionBlink 5.5s ease-in-out infinite}@keyframes companionBlink{0%,47%,49%,to{transform:scaleY(1)}48%{transform:scaleY(.12)}}.robot-companion.mood-love .companion-face,.robot-companion.mood-blush .companion-face{animation:companionShy 2.2s ease-in-out infinite}@keyframes companionShy{50%{transform:translateY(2px) scale(.97)}}.robot-companion.mood-angry .anger-flames{transform-origin:80px 150px;animation:fireAura .65s ease-in-out infinite alternate}.robot-companion.mood-angry .fire-tongue,.robot-companion.mood-angry .fire-core{transform-box:fill-box;transform-origin:50% 100%;animation:flameLift .42s ease-in-out infinite alternate}.robot-companion.mood-angry .flame-b,.robot-companion.mood-angry .flame-d{animation-delay:-.2s;animation-duration:.55s}.robot-companion.mood-angry .flame-c{animation-delay:-.1s;animation-duration:.34s}.robot-companion.mood-angry .fire-core{animation:flameCore .32s ease-in-out infinite alternate}.robot-companion.mood-angry .fire-embers{animation:emberRise .8s ease-out infinite}.robot-companion.mood-angry .anger-ground{animation:emberGlow .65s ease-in-out infinite alternate}.robot-companion.mood-happy .happy-sparkles{animation:sparkleBreathe 1.1s ease-in-out infinite alternate}.robot-companion.mood-sad .sad-rain path:nth-child(1),.robot-companion.mood-sad .sad-rain path:nth-child(2){animation:tearFall 1.1s ease-in infinite}.robot-companion.mood-sad .sad-rain path:nth-child(2){animation-delay:.45s}.robot-companion.mood-sad .sad-rain path:nth-child(3){animation:rainPool 1.5s ease-in-out infinite}.robot-companion.mood-worried .worry-signs{transform-origin:122px 76px;animation:worryQuiver .5s ease-in-out infinite alternate}.robot-companion.mood-hungry .snack-fx{animation:snackFloat 1s ease-in-out infinite alternate}.robot-companion.mood-curious .curious-signs{animation:curiousPing 1.4s ease-in-out infinite alternate}.robot-companion.mood-thinking .thinking-signs{transform-origin:135px 45px;animation:thoughtDrift 2.2s ease-in-out infinite}.robot-companion.mood-celebrate .celebration-sparks{transform-origin:80px 85px;animation:celebratePop .7s ease-in-out infinite alternate}.robot-companion.mood-love .love-hearts path{transform-box:fill-box;transform-origin:center;animation:heartFloat 1.5s ease-in-out infinite alternate}.robot-companion.mood-love .love-hearts path:nth-child(2){animation-delay:-.5s}.robot-companion.mood-love .love-hearts path:nth-child(3){animation-delay:-1s}.robot-companion.mood-surprised .surprise-rays{animation:surpriseFlash .5s ease-in-out infinite alternate}.robot-companion.mood-lounging .lounge-cloud{animation:cloudDrift 2s ease-in-out infinite alternate}@keyframes fireAura{to{opacity:.85}}@keyframes flameLift{to{transform:scaleY(1.18) translateY(-2px);opacity:.95}}@keyframes flameCore{to{transform:scaleY(1.15);opacity:.5}}@keyframes emberRise{to{translate:0 -8px;opacity:.2}}@keyframes emberGlow{to{opacity:.48;transform:scaleX(1.1)}}@keyframes sparkleBreathe{to{opacity:.55;transform:scale(1.1)}}@keyframes tearFall{0%{translate:0 -2px;opacity:.55}80%{opacity:1}to{translate:0 7px;opacity:.15}}@keyframes rainPool{50%{opacity:.35;transform:scaleX(.88)}}@keyframes worryQuiver{to{transform:translate(1px,2px)}}@keyframes curiousPing{to{opacity:.45;transform:translateY(-3px)}}@keyframes thoughtDrift{50%{transform:translate(2px,-4px)}}@keyframes celebratePop{to{transform:scale(1.1);opacity:.65}}@keyframes heartFloat{to{translate:0 -5px;scale:1.13}}@keyframes surpriseFlash{to{opacity:.42;transform:scale(1.08)}}@keyframes cloudDrift{to{translate:0 -2px;opacity:.55}}@media(prefers-reduced-motion:reduce){.companion-face{animation:none!important}}:root[data-motion=off] .companion-face{animation:none!important}.robot-companion[role=button]{cursor:pointer;touch-action:manipulation;outline:none;overflow:visible}.robot-companion[role=button]:focus-visible{outline:2px solid #c8f176;outline-offset:4px;border-radius:20px}.robot-companion .arm-left{transform-origin:50px 105px}.robot-companion .arm-right{transform-origin:110px 105px}.robot-companion.mood-laugh .companion-body,.robot-companion.mood-laugh .companion-face{animation:touchLaugh .24s ease-in-out infinite alternate}.robot-companion.mood-laugh .arm-right{animation:laughArm .35s ease-in-out infinite alternate}.robot-companion.mood-blush .arm-left{transform:rotate(-48deg)}.robot-companion.mood-blush .arm-right{transform:rotate(48deg)}.robot-companion.mood-blush .companion-body{animation:shySway 1.4s ease-in-out infinite}.robot-companion.mood-annoyed .companion-body{animation:annoyedShake .7s ease-in-out infinite}.robot-companion.mood-hello .arm-right{transform:rotate(-112deg);animation:companionHello 1.8s ease-in-out infinite}.robot-companion.mood-goodbye .arm-left{transform:rotate(102deg);animation:companionGoodbye 3.2s ease-in-out infinite}.robot-companion.mood-goodbye .companion-body,.robot-companion.mood-goodbye .companion-face{transform-origin:80px 125px;animation:goodbyeBow 3.2s ease-in-out infinite}.robot-companion.mood-fistbump .arm-right{visibility:hidden}.robot-companion.mood-fistbump .fist-gesture{transform-origin:108px 109px;animation:fistReach 2.4s cubic-bezier(.3,0,.2,1) infinite}.closed-fist{transform-origin:132px 111px;animation:fistPerspective 2.4s ease-in-out infinite}.fist-contact{opacity:0;animation:fistContact 2.4s ease-in-out infinite}.robot-companion.mood-crashed .companion-body,.robot-companion.mood-crashed .companion-face{animation:crashSlump 2s ease-in-out infinite}.robot-companion.mood-crashed .arm-right{animation:helpWave 1.1s ease-in-out infinite alternate}.robot-companion.mood-crashed .crash-help{animation:helpBeacon 1.2s ease-in-out infinite alternate}@keyframes touchLaugh{0%{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-4px) rotate(2deg)}}@keyframes laughArm{to{transform:rotate(-20deg)}}@keyframes shySway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg) translateY(3px)}}@keyframes annoyedShake{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes companionHello{0%,to{transform:rotate(-112deg)}15%,45%{transform:rotate(-140deg)}30%,60%{transform:rotate(-105deg)}75%{transform:rotate(-112deg)}}@keyframes companionGoodbye{0%,to{transform:rotate(102deg)}20%{transform:rotate(128deg)}40%{transform:rotate(92deg)}60%{transform:rotate(123deg)}80%{transform:rotate(102deg)}}@keyframes goodbyeBow{0%,to{transform:rotate(0)}30%,60%{transform:translate(3px,3px) rotate(7deg)}}@keyframes fistReach{0%,15%,to{transform:translate(-13px,5px) scale(.78)}35%,65%{transform:translate(0) scale(1.04)}80%{transform:translate(-13px,5px) scale(.78)}}@keyframes fistPerspective{0%,15%,80%,to{transform:scale(.85)}35%,65%{transform:scale(1.16)}}@keyframes fistContact{0%,30%,72%,to{opacity:0}40%,60%{opacity:.85}}@keyframes crashSlump{0%,to{transform:translateY(4px) rotate(-7deg)}50%{transform:translateY(6px) rotate(-9deg)}}@keyframes helpWave{0%{transform:rotate(-75deg)}to{transform:rotate(-105deg)}}@keyframes helpBeacon{0%{opacity:.45}to{opacity:1}}.companion-preview-stage{display:flex;align-items:center;justify-content:center;gap:18px;padding:16px;margin:16px 0;border:1px solid #9abcc333;border-radius:20px;background:radial-gradient(ellipse at 50% 80%,#87bccb22,transparent 65%),#061b2bcc}.companion-preview-art{flex:0 0 160px}.companion-preview-art .robot-companion{display:block;width:160px;height:180px}.companion-preview-stage b,.companion-preview-stage small{display:block}.companion-preview-stage small{max-width:220px;margin-top:8px;color:#a7bfc5;font-size:12px;line-height:1.6}@media(max-width:560px){.companion-preview-stage{flex-direction:column;gap:8px;text-align:center}.companion-preview-art{flex-basis:auto}}.robot-companion--vela,.robot-companion--rivet{filter:drop-shadow(0 5px 4px #00131c40)}.robot-companion--vela .companion-body>path:first-child,.robot-companion--rivet .companion-body>path:first-child{filter:none}.robot-companion--vela .arm-left{transform-origin:57px 106px}.robot-companion--vela .arm-right{transform-origin:104px 106px}.robot-companion--rivet .arm-left{transform-origin:50px 109px}.robot-companion--rivet .arm-right{transform-origin:111px 109px}@media(prefers-reduced-motion:reduce){.robot-companion.mood-goodbye .arm-left{transform:rotate(110deg)}.fist-contact{opacity:.7}.closed-fist{transform:scale(1.08)}}:root[data-motion=off] .robot-companion.mood-goodbye .arm-left{transform:rotate(110deg)}:root[data-motion=off] .fist-contact{opacity:.7}.companion-container{position:relative;display:block;width:100%;height:100%;min-width:0;min-height:0;cursor:pointer;touch-action:manipulation;outline:none}.companion-container:focus-visible{outline:2px solid #c8f176;outline-offset:3px;border-radius:18px}.companion-container>.robot-companion{width:100%;height:100%;display:block}.companion-three-host{position:absolute;inset:0;display:block;pointer-events:none}.companion-container[data-renderer=three]>.robot-companion{pointer-events:none}.companion-choices .companion-container{width:68px;height:76px;cursor:inherit}.companion-preview-art .companion-container{width:200px;height:230px}.companion-preview-art{flex-basis:200px}.companion-container[data-paused=true] svg,.companion-container[data-paused=true] svg *{animation-play-state:paused!important;transition:none!important}.shift-app .shift-header .shift-brand>span:first-child{width:52px;height:52px;flex:0 0 52px;background:none;border-radius:12px;display:grid}.brand-logo{display:block;width:100%;height:100%;border-radius:25%}.shift-app .brand-wordmark b{color:#dbeaff}.shift-app .brand-wordmark b>em{font-style:normal;color:#ff657c}.shift-app[data-room-theme=soft-ocean] .brand-wordmark b>em{color:#ffc85a}.shift-app[data-room-theme=midnight-studio] .brand-wordmark b>em{color:#ff9874}.about-brand-card>span:has(.brand-logo){background:none;padding:0;width:64px;height:64px}@media(max-width:767px),(max-height:540px)and (orientation:landscape){.shift-app .shift-header .shift-brand>span:first-child{display:grid;width:36px;height:36px;flex-basis:36px}.shift-app .shift-header .shift-brand{gap:7px}}.game-backdrop{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:strict;color:var(--scene-color);opacity:.8}.backdrop-wash{position:absolute;inset:0;background:radial-gradient(ellipse at 15% 20%,color-mix(in srgb,var(--scene-color) 17%,transparent),transparent 50%),radial-gradient(ellipse at 90% 90%,color-mix(in srgb,var(--scene-color) 12%,transparent),transparent 60%)}.backdrop-particles{position:absolute;inset:0}.backdrop-particles i{position:absolute;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.4;box-shadow:0 0 12px currentColor;animation:backdrop-drift var(--duration) ease-in-out var(--delay) infinite alternate;will-change:transform}.backdrop-light .backdrop-particles,.backdrop-dark .backdrop-particles{display:none}.backdrop-arcade .backdrop-particles i{width:12px;height:12px;border-radius:3px;background:transparent;border:1px solid currentColor;box-shadow:0 0 10px #68e1e522}.backdrop-ocean .backdrop-particles i{width:calc(7px + mod(var(--i),5)*5px);height:calc(7px + mod(var(--i),5)*5px);background:transparent;border:1px solid currentColor;opacity:.3;animation:backdrop-rise var(--duration) linear var(--delay) infinite}.backdrop-lofi .backdrop-particles i{animation:backdrop-drift var(--duration) ease-in-out var(--delay) infinite alternate,backdrop-twinkle 5s ease-in-out var(--delay) infinite}.backdrop-planet{position:absolute;width:clamp(180px,28vw,450px);aspect-ratio:1;right:-5%;top:14%;border-radius:50%;background:radial-gradient(circle at 25% 25%,#a5b9d1,#526d9d 45%,#192741 85%);opacity:.4;box-shadow:0 0 60px #97baff25;animation:backdrop-planet 90s linear infinite}.backdrop-planet i{position:absolute;background:#739a9f;border-radius:65% 35% 60% 30%;width:30%;height:18%;left:16%;top:23%;transform:rotate(-15deg)}.backdrop-planet i:nth-child(2){left:55%;top:53%;width:25%;height:30%}.backdrop-planet i:nth-child(3){left:20%;top:70%;height:10%}.backdrop-orbit{position:absolute;width:42vw;height:12vw;right:-12%;top:25%;border:2px solid #b8ceff55;border-radius:50%;transform:rotate(-22deg)}.backdrop-rocket{position:absolute;width:65px;left:8%;top:35%;opacity:.35;animation:backdrop-fly 30s ease-in-out infinite alternate;transform:rotate(35deg)}.backdrop-ocean-light{position:absolute;inset:-50%;background:repeating-conic-gradient(from 12deg at 45% -10%,transparent 0deg 13deg,#86d7db0d 15deg 20deg,transparent 23deg 35deg);animation:backdrop-sway 35s ease-in-out infinite alternate}.backdrop-fish{position:absolute;width:80px;left:-25%;top:20%;opacity:.23;animation:backdrop-swim 45s linear infinite}.fish-1{top:65%;width:130px;animation-delay:-17s;animation-duration:60s}.fish-2{top:40%;width:55px;animation-delay:-30s;animation-duration:40s}.fish-3{top:85%;width:110px;animation-delay:-7s;animation-duration:70s}.backdrop-whale{position:absolute;width:clamp(240px,40vw,650px);left:-70%;top:48%;opacity:.18;animation:backdrop-swim 100s linear -35s infinite}.backdrop-horizon{position:absolute;inset:auto 0 0;height:35vh;display:flex;align-items:flex-end;gap:2%;opacity:.2}.backdrop-horizon i{position:relative;width:10%;height:var(--height);background:#567762;clip-path:polygon(50% 0,75% 30%,65% 30%,92% 63%,75% 63%,100% 90%,58% 90%,58% 100%,42% 100%,42% 90%,0 90%,25% 63%,8% 63%,35% 30%,25% 30%);transform-origin:bottom;animation:backdrop-tree 12s ease-in-out calc(var(--i)*-1s) infinite alternate}.backdrop-lofi .backdrop-horizon i{background:#637393;clip-path:none;border-radius:5px 5px 0 0;animation:none}.backdrop-moon{position:absolute;right:12%;top:12%;width:clamp(60px,10vw,130px);aspect-ratio:1;border-radius:50%;background:#f2dcc2;opacity:.26;box-shadow:0 0 60px #f2dcc233}.backdrop-bench{position:absolute;left:12%;bottom:7%;width:220px;height:90px;opacity:.3}.backdrop-bench:before,.backdrop-bench:after{content:"";position:absolute;left:0;width:100%;height:12px;background:#ac8c9b;border-radius:4px;bottom:20px}.backdrop-bench:after{bottom:48px;height:25px}.backdrop-bench i{position:absolute;left:20px;bottom:0;width:8px;height:32px;background:#ac8c9b}.backdrop-bench i:nth-child(2){left:auto;right:20px}.backdrop-bench span{position:absolute;left:100px;top:-2px;width:28px;height:38px;border-radius:50% 50% 25% 25%;background:#ddc3cb}.backdrop-bench b{position:absolute;left:104px;top:-20px;width:21px;height:21px;border-radius:50%;background:#ddc3cb}.backdrop-rain{position:absolute;inset:-60px 0;opacity:.12;background:repeating-linear-gradient(105deg,transparent 0 48px,#bbbce9 49px 50px,transparent 51px 90px);mask-image:linear-gradient(transparent,#0005,transparent);animation:backdrop-rain 2s linear infinite}.backdrop-drone{position:absolute;width:75px;left:3%;top:20%;opacity:.18;animation:backdrop-fly 24s ease-in-out infinite alternate}.drone-1{left:80%;top:58%;width:90px;animation-delay:-11s;animation-duration:35s}.drone-2{left:12%;top:82%;width:50px;animation-delay:-7s;animation-duration:29s}@keyframes backdrop-drift{to{transform:translate(45px,-65px) rotate(18deg)}}@keyframes backdrop-rise{0%{transform:translateY(65vh)}to{transform:translateY(-110vh)}}@keyframes backdrop-twinkle{50%{opacity:.1}}@keyframes backdrop-planet{to{transform:rotate(360deg)}}@keyframes backdrop-fly{to{transform:translate(12vw,-12vh) rotate(8deg)}}@keyframes backdrop-sway{to{transform:rotate(7deg) translate(3%)}}@keyframes backdrop-swim{to{transform:translate(190vw) translateY(-4vh)}}@keyframes backdrop-tree{to{transform:rotate(3deg)}}@keyframes backdrop-rain{to{transform:translateY(60px)}}@media(max-width:767px){.backdrop-particles i:nth-child(n+19){display:none}.backdrop-drone{width:50px}.backdrop-rocket{width:44px}.backdrop-bench{left:4%;transform:scale(.7);transform-origin:bottom left}.backdrop-planet{right:-20%;top:25%}.backdrop-whale{width:330px}.backdrop-fish{width:65px}}@media(prefers-reduced-motion:reduce){.game-backdrop *{animation:none!important;will-change:auto}.backdrop-fish{left:8%}.fish-1{left:70%}.backdrop-whale{left:20%;top:55%}}html[data-motion=off] .game-backdrop *{animation:none!important;will-change:auto}html[data-motion=off] .backdrop-fish{left:8%}html[data-motion=off] .fish-1{left:70%}html[data-motion=off] .backdrop-whale{left:20%;top:55%}.backdrop-ocean .backdrop-particles i{width:14px;height:14px}.backdrop-ocean .backdrop-particles i:nth-child(3n){width:25px;height:25px}.backdrop-ocean .backdrop-particles i:nth-child(4n){width:8px;height:8px}.game-backdrop{opacity:1}.backdrop-wash{background:radial-gradient(ellipse at 10% 10%,color-mix(in srgb,var(--scene-color) 17%,transparent),transparent 50%),radial-gradient(ellipse at 95% 85%,color-mix(in srgb,var(--scene-color) 13%,transparent),transparent 60%)}.backdrop-particles i{opacity:.32;box-shadow:0 0 7px currentColor;will-change:auto}.backdrop-space .backdrop-particles i{animation:backdrop-twinkle 7s ease-in-out var(--delay) infinite}.backdrop-planet{right:-8%;top:16%;opacity:.32;animation:backdrop-planet 160s linear infinite;box-shadow:inset -25px -18px 40px #060c2980,0 0 90px #679fff22}.backdrop-orbit{right:-13%;top:27%;opacity:.55}.backdrop-rocket{left:3%;top:55%;opacity:.28;animation-duration:48s}.backdrop-drone{opacity:.14;animation-duration:40s}.drone-1{animation-duration:55s}.drone-2{animation-duration:49s}.backdrop-ocean-light{opacity:.6;animation-duration:60s}.backdrop-fish{opacity:.22;animation-timing-function:linear}.backdrop-whale{opacity:.2;animation-duration:120s}.backdrop-lofi .backdrop-horizon{opacity:.24;height:28vh}.backdrop-lofi .backdrop-moon{opacity:.35;right:9%;top:16%;box-shadow:0 0 80px #e4c5e924}.backdrop-lofi .backdrop-rain{opacity:.055;animation-duration:4s}.backdrop-bench{opacity:.2}.backdrop-lofi .backdrop-particles i{opacity:.3}@media(max-width:767px){.backdrop-planet{width:210px;right:-90px}.backdrop-rocket{width:35px;left:2%;opacity:.2}.backdrop-whale{width:260px}.backdrop-lofi .backdrop-moon{width:65px}.backdrop-drone.drone-2{display:none}}.backdrop-lofi .backdrop-wash{background:radial-gradient(ellipse at 0 55%,#bb799229,transparent 38%),radial-gradient(ellipse at 100% 35%,#dfae7b22,transparent 35%),radial-gradient(ellipse at 50% 0,#7976c825,transparent 60%)}.backdrop-lofi .backdrop-horizon{height:22vh;opacity:.15}.backdrop-lofi .backdrop-moon{width:85px;right:2%;top:15%;opacity:.38}.backdrop-lofi .backdrop-bench{left:1%;bottom:5%;width:130px;opacity:.18}.lofi-cloud{position:absolute;width:220px;height:55px;border-radius:50%;background:radial-gradient(ellipse,#b9a5cc33,transparent 70%);animation:lofi-cloud-drift 50s ease-in-out infinite alternate}.cloud-one{left:-6%;top:22%}.cloud-two{right:-5%;top:8%;width:310px;animation-delay:-25s}.lofi-window{position:absolute;left:0;top:36%;width:76px;height:156px;border:5px solid #9b879844;border-radius:35px 35px 4px 4px;background:linear-gradient(#69669433,#edb88b15);opacity:.6;box-shadow:10px 15px 80px #f3b7801a}.lofi-window:before,.lofi-window:after{content:"";position:absolute;background:#9b879844}.lofi-window:before{width:3px;inset:0 auto 0 50%}.lofi-window:after{height:3px;inset:48% 0 auto}.lofi-window>i{position:absolute;top:18px;right:9px;width:22px;height:22px;background:#e9d3af;border-radius:50%;opacity:.4}.lofi-record{position:absolute;right:1%;bottom:14%;width:100px;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#31263f 0 3px,#72546d55 4px 5px);border:1px solid #dba6bb55;opacity:.42;animation:backdrop-planet 25s linear infinite}.lofi-record:before{content:"";position:absolute;inset:32%;border-radius:50%;background:#d8a2b1}.lofi-record>i{position:absolute;width:8px;height:8px;left:calc(50% - 4px);top:calc(50% - 4px);border-radius:50%;background:#26273e}.lofi-coffee{position:absolute;left:1%;bottom:18%;width:70px;height:80px;opacity:.4}.lofi-coffee>span{position:absolute;bottom:0;left:5px;width:44px;height:36px;border-radius:3px 3px 15px 15px;background:#d5b5a8}.lofi-coffee>span:after{content:"";position:absolute;width:17px;height:20px;right:-12px;top:3px;border:4px solid #d5b5a8;border-radius:50%}.lofi-coffee>i{position:absolute;left:17px;bottom:37px;width:3px;height:30px;border-radius:50%;background:linear-gradient(transparent,#ebd7c7);animation:lofi-steam 5s ease-in-out infinite;opacity:.4}.lofi-coffee>i:nth-child(2){left:30px;animation-delay:-2s}.lofi-coffee>i:nth-child(3){left:40px;animation-delay:-3s}.lofi-notes{position:absolute;inset:0}.lofi-notes>span{position:absolute;left:1%;top:calc(15% + var(--i)*12%);font-size:23px;color:#e5b7c8;opacity:.3;animation:lofi-note-float 14s ease-in-out calc(var(--i)*-2s) infinite alternate}.lofi-notes>span:nth-child(2n){left:auto;right:2%;color:#e8c899}@keyframes lofi-cloud-drift{to{transform:translate(65px)}}@keyframes lofi-steam{0%{transform:translateY(6px) scaleX(1);opacity:0}40%{opacity:.5}to{transform:translateY(-20px) scaleX(1.8);opacity:0}}@keyframes lofi-note-float{to{transform:translateY(-30px) rotate(10deg);opacity:.12}}@media(max-width:767px){.backdrop-lofi .backdrop-moon{width:50px;right:-8px;top:12%}.lofi-window{width:42px;height:106px;left:-9px;top:30%}.lofi-record{width:56px;right:-8px;bottom:25%}.lofi-coffee{left:-8px;bottom:16%;transform:scale(.65);transform-origin:left bottom}.lofi-notes>span{font-size:17px;left:1%}.lofi-notes>span:nth-child(2n){right:0}.backdrop-lofi .backdrop-bench{display:none}}.backdrop-astronaut{position:absolute;right:2%;top:3%;width:90px;opacity:.55;animation:astro-float 12s ease-in-out infinite alternate}@keyframes astro-float{to{transform:translate(-18px,30px) rotate(12deg)}}.backdrop-whale{left:110%;top:68%;animation:whale-swim 110s linear -25s infinite}@keyframes whale-swim{to{transform:translate(-190vw) translateY(-5vh)}}.sea-turtle{position:absolute;width:110px;left:-20%;top:12%;opacity:.4;animation:backdrop-swim 85s linear -23s infinite}.sea-ray{position:absolute;width:140px;right:1%;bottom:7%;opacity:.3;animation:sea-hover 15s ease-in-out infinite alternate}.sea-jelly{position:absolute;left:2%;top:42%;width:55px;height:100px;opacity:.4;animation:sea-hover 9s ease-in-out infinite alternate}.sea-jelly span{position:absolute;width:55px;height:36px;border-radius:50% 50% 20% 20%;background:linear-gradient(#b9b1ee,#739dc277)}.sea-jelly i{position:absolute;left:12px;top:30px;width:5px;height:58px;border-radius:50%;border-left:2px solid #c5b7ed;transform-origin:top;animation:jelly-tendril 4s ease-in-out infinite alternate}.sea-jelly i:nth-child(3){left:26px;height:70px;animation-delay:-2s}.sea-jelly i:nth-child(4){left:40px;height:48px;animation-delay:-1s}.sea-floor{position:absolute;inset:auto 0 0;height:18vh;background:linear-gradient(transparent,#10394588)}.sea-floor i{position:absolute;bottom:-15px;left:2%;height:120px;width:25px;border-radius:90% 0;background:#538b7d55;transform-origin:bottom;animation:jelly-tendril 8s ease-in-out infinite alternate}.sea-floor i:nth-child(2){left:5%;height:80px;animation-delay:-3s}.sea-floor i:nth-child(3){left:94%;height:160px}.sea-floor i:nth-child(4){left:97%;height:90px;animation-delay:-5s}@keyframes sea-hover{to{transform:translateY(-25px) rotate(5deg)}}@keyframes jelly-tendril{to{transform:rotate(-9deg)}}.shift-app[data-surface=night]{--s-bg:#101b28;--s-panel:#1a2d3b;--s-panel-hi:#244351;--s-line:#507783;--s-muted:#c1d7df;--scene-color:#87e5c5}.night-aurora{position:absolute;top:-8%;left:-15%;width:130%;height:30%;background:radial-gradient(ellipse,#78dcb630,transparent 65%);transform:rotate(-14deg);animation:aurora-drift 30s ease-in-out infinite alternate}.night-mountains{position:absolute;inset:auto 0 0;height:24vh;background:#2d535650;clip-path:polygon(0 35%,8% 65%,20% 20%,31% 68%,42% 35%,55% 75%,69% 30%,80% 65%,92% 15%,100% 50%,100% 100%,0 100%)}.night-beacon{position:absolute;left:2%;bottom:12%;height:100px;width:40px;border:1px solid #97c9bf55;background:linear-gradient(#36556988,#12222c);border-radius:6px}.night-beacon i{position:absolute;inset:12px 8px auto;height:15px;background:#b7f6d0;border-radius:3px;animation:backdrop-twinkle 6s ease-in-out infinite}.night-beacon span{position:absolute;left:18px;top:-26px;width:3px;height:26px;background:#7398a3}.night-satellite{position:absolute;right:2%;top:15%;display:flex;align-items:center;gap:5px;opacity:.4;animation:astro-float 18s ease-in-out infinite alternate}.night-satellite i{width:30px;height:42px;background:repeating-linear-gradient(0deg,#456a87 0 8px,#9abccc 9px 10px);border:1px solid #9abccc}.night-satellite span{width:22px;height:30px;background:#c0d5d9;border-radius:4px}@keyframes aurora-drift{to{transform:translate(3%,15%) rotate(-6deg);opacity:.6}}.shift-app[data-surface=arcade]{--s-bg:#19162f;--s-panel:#292441;--s-panel-hi:#3e3556;--s-line:#80729c;--s-muted:#d8cbe6;--s-mint:#e4b3fc;--scene-color:#e4a7d6}.arcade-sun{position:absolute;right:1%;top:13%;width:110px;aspect-ratio:1;border-radius:50%;background:linear-gradient(#ffe1a0,#ee8d57);opacity:.4;mask-image:repeating-linear-gradient(#000 0 8px,transparent 9px 12px);animation:sea-hover 18s ease-in-out infinite alternate}.arcade-grid{position:absolute;inset:auto 0 0;height:20vh;background:repeating-linear-gradient(90deg,transparent 0 59px,#69d6db22 60px 61px),repeating-linear-gradient(0deg,transparent 0 29px,#69d6db22 30px 31px);mask-image:linear-gradient(transparent,#000);transform:perspective(200px) rotateX(25deg);transform-origin:bottom}.arcade-orbits{position:absolute;left:-65px;top:28%;width:160px;height:160px}.arcade-orbits i{position:absolute;inset:0;border:1px solid #79dce155;border-radius:50%;animation:backdrop-planet 28s linear infinite}.arcade-orbits i:after{content:"";position:absolute;left:25px;top:15px;width:12px;height:12px;border-radius:50%;background:#ffd38a}.arcade-orbits i:nth-child(2){inset:25px;animation-direction:reverse}.arcade-comets i{position:absolute;right:1%;top:45%;width:65px;height:2px;background:linear-gradient(90deg,transparent,#8fe8e4);transform:rotate(-35deg);animation:comet-glide 12s ease-in-out infinite}.arcade-comets i:nth-child(2){top:72%;animation-delay:-4s;width:40px}.arcade-comets i:nth-child(3){right:auto;left:1%;top:12%;animation-delay:-8s}@keyframes comet-glide{0%,to{opacity:0;transform:translate(0) rotate(-35deg)}50%{opacity:.5;transform:translate(-40px,30px) rotate(-35deg)}}@media(max-width:767px){.backdrop-astronaut{width:45px;top:9%;right:0;opacity:.35}.sea-ray{width:80px;right:-18px}.sea-jelly{left:-15px;transform:scale(.7)}.night-satellite{right:-22px;top:20%;scale:.7}.arcade-sun{width:65px;right:-15px}.arcade-orbits{left:-100px}.sea-turtle{width:75px}}@media(prefers-reduced-motion:reduce){.game-backdrop *{animation:none!important}}html[data-motion=off] .game-backdrop *{animation:none!important}.game-backdrop[data-suspended=true] *,.game-backdrop[data-suspended=true] *:before,.game-backdrop[data-suspended=true] *:after{animation-play-state:paused!important}.backdrop-arcade .backdrop-wash{background:radial-gradient(ellipse at 0 20%,#3dcbd91f,transparent 48%),radial-gradient(ellipse at 100% 15%,#f3ae5b24,transparent 40%)}.backdrop-arcade .backdrop-particles i:nth-child(3n){color:#ffd38a}.world-village{position:absolute;width:clamp(150px,19vw,285px);left:1%;bottom:22%;opacity:.38}.village-smoke{transform-box:fill-box;transform-origin:bottom;animation:village-smoke 9s ease-out infinite}.smoke-1{animation-delay:-3s}.smoke-2{animation-delay:-6s}.world-sheep{position:absolute;width:85px;left:3%;bottom:7%;opacity:.45}.sheep-head{transform-box:fill-box;transform-origin:20% 75%;animation:sheep-graze 13s ease-in-out infinite}.world-rabbit{position:absolute;width:64px;right:4%;bottom:8%;opacity:.43;animation:rabbit-hop 22s ease-in-out infinite}.rabbit-head{transform-box:fill-box;transform-origin:50% 80%;animation:rabbit-look 11s ease-in-out infinite}.world-butterfly{position:absolute;width:23px;left:8%;top:39%;opacity:.4;animation:butterfly-wander 25s ease-in-out infinite alternate}.butterfly-wing{transform-box:fill-box;transform-origin:right center;animation:butterfly-flutter 1.6s ease-in-out infinite alternate}.wing-right{transform-origin:left center;animation-delay:-.8s}.world-fish-school{position:absolute;left:-28%;top:34%;width:180px;opacity:.23;animation:backdrop-swim 90s linear -30s infinite}.world-seahorse{position:absolute;width:48px;right:2%;bottom:27%;opacity:.33;animation:sea-hover 19s ease-in-out infinite alternate}.seahorse-fin{transform-box:fill-box;transform-origin:right center;animation:fin-fan 2.4s ease-in-out infinite alternate}.world-coral{position:absolute;width:180px;left:0;bottom:-4px;opacity:.28}.coral-frond{transform-box:fill-box;transform-origin:bottom;animation:meadow-sway 12s ease-in-out infinite alternate}.world-satellite{position:absolute;width:110px;left:2%;top:23%;opacity:.35;animation:satellite-drift 38s ease-in-out infinite alternate}.world-asteroid{position:absolute;width:43px;right:3%;bottom:23%;opacity:.28;animation:asteroid-drift 60s ease-in-out infinite alternate}.world-meteors{position:absolute;inset:0}.world-meteors i{position:absolute;left:18%;top:12%;width:65px;height:2px;border-radius:50%;background:linear-gradient(90deg,transparent,#b5c9df);opacity:0;animation:meteor-pass 32s ease-out infinite}.world-meteors i:nth-child(2){left:68%;top:25%;animation-delay:-17s;width:43px}@keyframes village-smoke{0%{opacity:0;transform:translateY(3px) scale(.9)}35%{opacity:.45}to{opacity:0;transform:translate(6px,-14px) scale(1.15)}}@keyframes sheep-graze{0%,35%,to{transform:rotate(0)}55%,70%{transform:rotate(22deg)}}@keyframes rabbit-look{0%,60%,to{transform:rotate(0)}75%{transform:rotate(-7deg)}}@keyframes rabbit-hop{0%,75%,to{transform:translateY(0)}80%,89%{transform:translateY(-7px)}85%,94%{transform:translateY(0)}}@keyframes butterfly-wander{to{transform:translate(55px,-30px) rotate(8deg)}}@keyframes butterfly-flutter{to{transform:scaleX(.55)}}@keyframes fin-fan{to{transform:scaleX(.6) rotate(5deg)}}@keyframes satellite-drift{to{transform:translate(22px,12px) rotate(9deg)}}@keyframes asteroid-drift{to{transform:translate(-14px,18px) rotate(35deg)}}@keyframes meteor-pass{0%,87%,to{opacity:0;transform:translate(0) rotate(-28deg)}89%{opacity:.4}94%{opacity:0;transform:translate(120px,65px) rotate(-28deg)}}@media(max-width:700px){.world-village{width:145px;bottom:25%;left:-12px;opacity:.3}.world-sheep{width:52px;left:1%;bottom:15%}.world-rabbit{width:42px;bottom:17%;right:0}.world-butterfly{width:17px}.world-fish-school{width:125px;opacity:.18}.world-seahorse{width:33px;right:-6px}.world-coral{width:100px}.world-satellite{width:67px;left:-8px;top:28%}.world-asteroid{width:30px;right:0}.world-meteors i{width:38px}}@media(prefers-reduced-motion:reduce){.world-fish-school{left:4%}.world-butterfly{left:5%}}html[data-motion=off] .world-fish-school{left:4%}.world-village,.world-sheep,.world-rabbit,.world-butterfly,.world-fish-school,.world-seahorse,.world-coral,.world-satellite,.world-asteroid,.world-meteors i,.backdrop-planet,.backdrop-rocket,.backdrop-astronaut,.backdrop-fish,.backdrop-whale,.sea-turtle,.sea-ray,.sea-jelly,.meadow-bird{scale:var(--world-detail-scale,1);transition:scale .18s ease-out}.world-village,.world-sheep,.world-rabbit,.world-coral{transform-origin:center bottom}@media(prefers-reduced-motion:reduce){.game-backdrop *{transition:none!important}}html[data-motion=off] .game-backdrop *{transition:none!important}.world-windmill{position:absolute;right:2%;bottom:29%;width:clamp(65px,8vw,120px);opacity:.32}.windmill-sails{transform-origin:72px 60px;animation:meadow-sails 36s linear infinite}.world-meadow-stream{position:absolute;right:-1%;bottom:0;width:clamp(95px,12vw,180px);height:36%;opacity:.22}.meadow-water-glints{animation:meadow-glints 5s ease-in-out infinite}.world-deer{position:absolute;right:7%;bottom:9%;width:80px;opacity:.38}.deer-head{transform-box:fill-box;transform-origin:bottom left;animation:meadow-deer-look 17s ease-in-out infinite}.world-wildflowers{position:absolute;left:15%;bottom:1%;width:clamp(120px,16vw,225px);opacity:.35}.meadow-flower{transform-box:fill-box;transform-origin:center bottom;animation:meadow-flower-sway 8s ease-in-out infinite alternate}.world-meadow-flock{position:absolute;right:7%;top:23%;width:100px;opacity:.3;animation:meadow-flock-drift 38s ease-in-out infinite alternate}.meadow-flock-wing{transform-box:fill-box;transform-origin:center;animation:meadow-wingbeat 2.8s ease-in-out infinite alternate}.world-windmill,.world-meadow-stream,.world-deer,.world-wildflowers,.world-meadow-flock{scale:var(--world-detail-scale,1);transform-origin:center bottom}@keyframes meadow-sails{to{transform:rotate(360deg)}}@keyframes meadow-glints{0%,to{opacity:.35}50%{opacity:.85}}@keyframes meadow-deer-look{0%,65%,to{transform:rotate(0)}75%,85%{transform:rotate(12deg)}}@keyframes meadow-flower-sway{0%{rotate:-4deg}to{rotate:5deg}}@keyframes meadow-flock-drift{to{transform:translate(-65px,-18px)}}@keyframes meadow-wingbeat{to{transform:scaleY(.55)}}@media(max-width:700px){.world-windmill{width:60px;right:0;bottom:32%}.world-meadow-stream{width:82px;opacity:.17}.world-deer{width:48px;right:5%;bottom:17%}.world-wildflowers{width:100px;left:17%;bottom:9%}.world-meadow-flock{width:65px;top:23%;right:4%}}.world-hilltop-details{position:absolute;inset:auto -2% -2%;width:104%;height:55%;opacity:.32}.hilltop-tree{transform-box:fill-box;transform-origin:center bottom;animation:hilltop-tree-sway 11s ease-in-out infinite alternate}.hilltop-grazers{animation:hilltop-grazer-breathe 7s ease-in-out infinite;transform-box:fill-box;transform-origin:center bottom}.world-hill-cloud{position:absolute;left:8%;top:35%;width:clamp(100px,14vw,210px);opacity:.12;animation:hill-cloud-drift 65s ease-in-out infinite alternate}.backdrop-meadow .meadow-cloud.cloud-one{left:28%;top:29%;opacity:.8}.backdrop-meadow .meadow-cloud.cloud-two{right:9%;top:40%;opacity:.8}@keyframes hilltop-tree-sway{0%{rotate:-2deg}to{rotate:2deg}}@keyframes hilltop-grazer-breathe{50%{transform:scaleY(.94)}}@keyframes hill-cloud-drift{to{transform:translate(90px,8px)}}@media(max-width:700px){.world-hilltop-details{height:43%;opacity:.3}.world-hill-cloud{width:110px;top:43%;left:3%}.backdrop-meadow .meadow-cloud.cloud-one{top:36%;left:23%}.backdrop-meadow .meadow-cloud.cloud-two{top:48%;right:0}}.world-kelp-garden{position:absolute;right:-12px;bottom:3%;width:clamp(95px,13vw,180px);opacity:.28}.ocean-kelp{transform-box:fill-box;transform-origin:center bottom;animation:reef-sway 13s ease-in-out infinite alternate}.world-ocean-crab{position:absolute;left:7%;bottom:10%;width:65px;opacity:.38;animation:crab-stroll 29s ease-in-out infinite alternate}.crab-claws{transform-box:fill-box;transform-origin:center bottom;animation:crab-wave 9s ease-in-out infinite}.world-sunken-boat{position:absolute;left:1%;bottom:27%;width:clamp(110px,16vw,215px);opacity:.23}.world-reef-anemone{position:absolute;right:19%;bottom:2%;width:90px;opacity:.3}.anemone-fronds{transform-box:fill-box;transform-origin:center bottom;animation:reef-sway 9s ease-in-out infinite alternate}.world-reef-bubbles{position:absolute;inset:0;overflow:hidden}.world-reef-bubbles i{position:absolute;bottom:5%;width:5px;height:5px;border:1px solid #b3d9cf;border-radius:50%;opacity:0;animation:reef-bubble-rise 22s linear infinite}@keyframes reef-sway{0%{rotate:-4deg}to{rotate:5deg}}@keyframes crab-stroll{to{transform:translate(35px)}}@keyframes crab-wave{0%,70%,to{transform:rotate(0)}80%{transform:rotate(-8deg)}}@keyframes reef-bubble-rise{0%{opacity:0;transform:translate(0)}12%,75%{opacity:.25}to{opacity:0;transform:translate(12px,-55vh)}}.world-orbit-station{position:absolute;right:2%;top:34%;width:clamp(90px,14vw,200px);opacity:.3;animation:orbit-station-drift 48s ease-in-out infinite alternate}.station-signal{animation:station-signal 5s ease-in-out infinite}.world-lunar-outpost{position:absolute;left:2%;bottom:9%;width:clamp(115px,18vw,245px);opacity:.32}.outpost-window{animation:outpost-glow 12s ease-in-out infinite}.world-small-moon{position:absolute;left:14%;top:32%;width:clamp(32px,5vw,70px);opacity:.3;animation:small-moon-drift 70s ease-in-out infinite alternate}.world-asteroid-trail{position:absolute;right:0;bottom:22%;width:clamp(100px,16vw,220px);opacity:.24;animation:asteroid-trail-drift 55s ease-in-out infinite alternate}@keyframes orbit-station-drift{to{transform:translate(-25px,14px) rotate(-5deg)}}@keyframes station-signal{0%,65%,to{opacity:.25}75%,85%{opacity:1}}@keyframes outpost-glow{50%{opacity:.45}}@keyframes small-moon-drift{to{transform:translate(20px,12px) rotate(20deg)}}@keyframes asteroid-trail-drift{to{transform:translate(-22px,-12px) rotate(-8deg)}}.world-kelp-garden,.world-ocean-crab,.world-sunken-boat,.world-reef-anemone,.world-orbit-station,.world-lunar-outpost,.world-small-moon,.world-asteroid-trail{scale:var(--world-detail-scale,1);transform-origin:center bottom}@media(max-width:700px){.world-kelp-garden{width:85px;right:-16px;bottom:12%}.world-ocean-crab{width:42px;left:5%;bottom:18%}.world-sunken-boat{width:95px;bottom:32%;left:-10px}.world-reef-anemone{width:60px;bottom:12%;right:15%}.world-orbit-station{width:88px;right:-8px;top:35%}.world-lunar-outpost{width:100px;left:-6px;bottom:17%}.world-small-moon{width:32px;left:9%;top:33%}.world-asteroid-trail{width:100px;right:-5px;bottom:28%}}.shift-app *{scrollbar-width:none}.shift-app *::-webkit-scrollbar{display:none}html:has(.shift-app),body:has(.shift-app){scrollbar-width:none}.shift-app .preferences-dialog{height:min(800px,calc(100dvh - 48px));overflow:hidden}.settings-panel{height:100%;min-height:0;display:flex;flex-direction:column;gap:14px}.settings-panel>h2{margin:0!important}.settings-panel>.shift-eyebrow{padding-right:40px}.settings-tabs{flex-shrink:0}.settings-tab-content{min-height:0;flex:1;overflow:auto;padding:2px 2px 20px;overscroll-behavior:contain;scroll-padding-top:12px}.settings-tab-content:focus-visible{outline:1px solid var(--s-line);outline-offset:-1px;border-radius:10px}.settings-share-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--s-line);border-radius:15px;background:#88aabd0a;flex-shrink:0}.settings-share-card b{font-size:14px}.settings-share-card p{font-size:12px;line-height:1.6;color:var(--s-muted);margin-top:5px}.settings-card-button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.settings-data-card>svg{margin-bottom:12px;color:var(--s-mint)}.settings-data-card h3{font-size:20px;margin-bottom:10px}.settings-data-card>p{font-size:13px;line-height:1.7;color:var(--s-muted)}.settings-export-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.settings-import-section{padding-top:18px;border-top:1px solid var(--s-line);margin-top:24px}.settings-import-section .settings-help{margin-bottom:15px}.import-preview{padding:16px;margin-top:18px;border:1px solid var(--s-line);border-radius:14px;background:#87b6c80a}.import-preview h4{margin:0 0 8px;font-size:16px}.import-preview p{font-size:12px;color:var(--s-muted);line-height:1.7}.import-preview dl{display:grid;gap:10px;margin:15px 0}.import-preview dl>div{display:flex;justify-content:space-between;gap:16px;font-size:12px;line-height:1.5}.import-preview dt{color:var(--s-muted)}.import-preview dd{margin:0;text-align:right}.import-error{font-size:12px;color:#f7b4a5;line-height:1.7;margin-top:12px!important}.platform-panel{overflow:auto;max-height:calc(100dvh - 120px);overscroll-behavior:contain;padding-right:2px}.platform-embedded{max-height:none;overflow:visible}.platform-embedded>h3{font-size:21px;margin:0 0 16px}.about-brand-card{display:flex;align-items:center;gap:15px;margin-bottom:20px}.about-brand-card>span{display:grid;place-items:center;width:52px;height:52px;flex-shrink:0}.about-brand-card b,.about-brand-card small{display:block}.about-brand-card small{margin-top:5px}.platform-back{display:flex;align-items:center;gap:7px;padding:8px 0!important;margin-bottom:15px;font-size:12px!important;color:var(--s-muted)!important}.platform-actions>button{display:flex;align-items:center;gap:11px;text-align:left}.platform-actions>button>svg:last-child{margin-left:auto}.platform-legal>button{text-decoration:underline;text-underline-offset:4px}.support-message-label{display:flex!important;flex-direction:column;align-items:stretch!important;gap:10px;padding:17px 0!important;border:0!important}.support-message-label textarea{font:inherit;resize:vertical;min-height:130px;max-height:270px;padding:12px;border:1px solid var(--s-line);border-radius:12px;background:var(--s-bg);color:var(--s-text);font-size:13px;line-height:1.7}.support-message-label textarea:focus-visible{outline:2px solid var(--s-mint);outline-offset:2px}.settings-training{display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 15px!important;margin-top:18px;border:1px solid var(--s-line)!important;border-radius:12px;background:var(--s-panel-hi)!important;font-size:13px!important}@media(max-width:767px){.shift-app .preferences-dialog{height:min(800px,calc(100dvh - 24px))}.settings-share-card{padding:12px;gap:12px}.settings-share-card p{font-size:11px}.settings-share-card .settings-card-button{max-width:130px;flex-shrink:0;font-size:11px}.settings-tab-content select{max-width:58%;min-width:0!important}.settings-export-actions>.settings-card-button{flex:1}.settings-panel{gap:12px}.platform-panel{max-height:calc(100dvh - 100px)}.platform-embedded{max-height:none}.import-preview dl>div{font-size:11px}.settings-tabs{margin:10px 0!important}}.chatter-volume-control{display:flex;align-items:center;gap:12px;width:min(250px,55%);min-width:120px}.shift-app .chatter-volume-control input[type=range]{width:100%;min-width:0;accent-color:var(--s-mint);padding:0;background:transparent;box-shadow:none}.chatter-volume-control output{min-width:38px;text-align:right;font-variant-numeric:tabular-nums}.support-form{display:flex;flex-direction:column;gap:14px}.support-intro{color:var(--s-muted);font-size:13px;line-height:1.7;margin:0}.support-stars{display:flex;gap:4px}.support-stars button{font-size:30px;line-height:1;padding:2px;color:var(--s-line);background:none;border:0;cursor:pointer}.support-stars button.on{color:var(--s-mint)}.support-stars button:hover{color:var(--s-muted)}.support-stars button.on:hover{color:var(--s-mint)}.support-input{font:inherit;font-size:13px;line-height:1.6;padding:11px 12px;border:1px solid var(--s-line);border-radius:12px;background:var(--s-bg);color:var(--s-text);width:100%;box-sizing:border-box}textarea.support-input{resize:vertical;min-height:120px;max-height:270px}.support-input:focus-visible{outline:2px solid var(--s-mint);outline-offset:2px}.support-areas{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.support-areas>span,.support-shots>span{flex-basis:100%;font-size:12px;color:var(--s-muted)}.support-areas button{padding:7px 12px;border:1px solid var(--s-line);border-radius:999px;background:var(--s-panel-hi);color:var(--s-text);font-size:12px;cursor:pointer}.support-areas button[aria-pressed=true]{background:var(--s-mint);border-color:var(--s-mint);color:var(--s-on-accent)}.support-shots{display:flex;flex-direction:column;gap:8px}.support-shots>div{display:flex;flex-wrap:wrap;gap:8px}.support-shots figure{position:relative;margin:0}.support-shots img{display:block;width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid var(--s-line)}.support-shots figure button{position:absolute;top:-7px;right:-7px;width:22px;height:22px;border-radius:50%;border:0;background:var(--s-text);color:var(--s-bg);font-size:13px;line-height:1;cursor:pointer}.support-add-shot{position:relative;display:grid!important;place-items:center;width:64px;height:64px;padding:0!important;border:1px dashed var(--s-line)!important;border-radius:10px;color:var(--s-muted);cursor:pointer}.support-add-shot:hover{color:var(--s-text)}.support-add-shot input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.shift-app .shift-modal label.support-device{display:flex;align-items:flex-start;gap:10px;padding:0;border:0;font-size:13px}.support-device input{margin-top:3px;accent-color:var(--s-mint)}.support-device small{display:block;margin-top:3px;font-size:11px;color:var(--s-muted);word-break:break-word}.support-note{font-size:11px;line-height:1.6;color:var(--s-muted);margin:0}.support-note button{font-size:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;background:none;border:0;padding:0;cursor:pointer}.support-status{min-height:18px;font-size:12px;margin:0}.support-status.error{color:var(--s-red,#ff7b7b)}.support-status.sent{color:var(--s-mint)}.support-form .primary-control:disabled{opacity:.7}.base-app{--b-bg:#081323;--b-panel:#122033;--b-panel-hi:#1d3047;--b-line:#647e9966;--b-text:#f3f6fc;--b-muted:#b7c7d9;--b-accent:#64c4ed;--b-on-accent:#09283b;--b-gold:#f6c16b;--b-red:#ff8a7a;--b-good:#7deac1;position:fixed;inset:0;overflow:hidden;color:var(--b-text);background:#071426;font-family:Inter,system-ui,sans-serif;isolation:isolate;-webkit-tap-highlight-color:transparent}.base-app[data-room-theme=soft-ocean]{--b-bg:#071e2b;--b-panel:#123243;--b-panel-hi:#205267;--b-line:#84bfc866;--b-accent:#71e4d4;--b-on-accent:#082f35;background:#0b3c51}.base-app[data-room-theme=midnight-studio]{--b-bg:#16181e;--b-panel:#292a31;--b-panel-hi:#393940;--b-line:#b2a18c66;--b-accent:#b8d3a2;--b-on-accent:#20291c;background:#1b202b}.base-app button{font:inherit;color:inherit;cursor:pointer}.base-app button:disabled{cursor:not-allowed;opacity:.5}.base-app :focus-visible{outline:2px solid var(--b-accent);outline-offset:2px}.base-scene{position:absolute;inset:0}.base-scene canvas{display:block;width:100%;height:100%}.base-scene-failed{position:absolute;top:45%;left:16px;right:16px;text-align:center;color:var(--b-muted)}.base-header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:10px;padding:max(10px,env(safe-area-inset-top)) 12px 10px;pointer-events:none;z-index:5}.base-header>*{pointer-events:auto}.base-brand{display:flex;align-items:center;gap:9px;background:none;border:0;padding:0;text-align:left}.base-brand>span:first-child{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--b-panel);border:1px solid var(--b-line)}.base-brand .brand-logo{width:30px;height:30px}.base-brand b{display:block;font-size:17px;letter-spacing:-.3px}.base-brand em{font-style:normal;color:var(--b-red)}.base-brand small{display:block;font-size:10.5px;color:var(--b-muted);max-width:170px}.base-resources{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}.base-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--b-panel) 88%,transparent);border:1px solid var(--b-line);font-size:12.5px;white-space:nowrap;backdrop-filter:blur(6px)}.base-resource{position:relative;overflow:hidden}.base-resource i{position:absolute;left:0;bottom:0;height:2px;width:var(--fill);background:var(--b-accent)}.base-header-actions{display:flex;gap:6px}.base-round{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--b-panel);border:1px solid var(--b-line)}.base-stars-small{color:var(--b-gold);letter-spacing:2px}.base-camera{position:absolute;right:12px;bottom:96px;display:flex;border-radius:12px;overflow:hidden;border:1px solid var(--b-line);background:var(--b-panel);z-index:4}.base-camera button{display:grid;place-items:center;width:38px;height:36px;background:none;border:0}.base-camera button+button{border-left:1px solid var(--b-line)}.base-dock{position:absolute;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;gap:6px;padding:6px;border-radius:20px;background:color-mix(in srgb,var(--b-panel) 92%,transparent);border:1px solid var(--b-line);z-index:5;box-shadow:0 12px 30px #0006}.base-dock button{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:70px;padding:8px 10px;border-radius:14px;background:none;border:0;font-size:12px;font-weight:600}.base-dock button:hover{background:var(--b-panel-hi)}.base-dock button.hot{background:var(--b-accent);color:var(--b-on-accent);animation:base-pulse 1.6s ease-in-out infinite}@keyframes base-pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--b-accent) 30%,transparent)}}[data-motion=off] .base-dock button.hot{animation:none}.base-primary,.base-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:12px;font-weight:600;font-size:14px}.base-primary{background:var(--b-accent);color:var(--b-on-accent);border:0}.base-secondary{background:var(--b-panel-hi);border:1px solid var(--b-line)}.base-file{position:relative;cursor:pointer}.base-file input{position:absolute;inset:0;opacity:0;cursor:pointer}.base-sheet{position:absolute;left:0;right:0;bottom:0;max-height:min(70dvh,620px);display:flex;flex-direction:column;background:linear-gradient(170deg,var(--b-panel),var(--b-bg));border:1px solid var(--b-line);border-bottom:0;border-radius:22px 22px 0 0;z-index:8;box-shadow:0 -20px 50px #0007;animation:base-up .2s ease-out}@keyframes base-up{0%{transform:translateY(30px);opacity:0}}[data-motion=off] .base-sheet{animation:none}.base-sheet>header{display:flex;align-items:center;gap:10px;padding:14px 16px 8px}.base-sheet>header h2{flex:1;margin:0;font-size:18px}.base-sheet-body{overflow:auto;padding:4px 16px max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain}.base-text{margin:0;color:var(--b-muted);font-size:13px;line-height:1.6}.base-warning{margin:0;color:var(--b-gold);font-size:12.5px}.base-progress{margin:0;color:var(--b-gold);font-weight:600;font-size:13px}.base-subhead{margin:6px 0 0;font-size:13px;color:var(--b-muted);text-transform:uppercase;letter-spacing:.8px}.base-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:0}.base-stats div{padding:9px 11px;border-radius:12px;background:var(--b-panel-hi);border:1px solid var(--b-line)}.base-stats dt{font-size:11px;color:var(--b-muted)}.base-stats dd{margin:2px 0 0;font-weight:700}.base-sheet-actions{display:flex;flex-wrap:wrap;gap:8px}.base-sheet-actions>*{flex:1 1 180px}.base-shop{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.base-shop-item,.base-target{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:11px 12px;border-radius:14px;background:var(--b-panel-hi);border:1px solid var(--b-line);text-align:left}.base-shop-item small,.base-target small{font-size:11.5px;color:var(--b-muted);line-height:1.45}.base-shop-item span,.base-target span{font-size:12px;color:var(--b-gold);font-weight:600}.base-target{width:100%}.base-target.daily{border-color:var(--b-gold)}.base-campaign{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.base-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.base-list button{width:100%;text-align:left;padding:10px 12px;border-radius:12px;background:var(--b-panel-hi);border:1px solid var(--b-line)}.base-list small{color:var(--b-gold)}.base-army{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.base-army li{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;background:var(--b-panel-hi);border:1px solid var(--b-line)}.base-army li>div:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px}.base-army small{font-size:11.5px;color:var(--b-muted);line-height:1.4}.base-stepper{display:flex;align-items:center;gap:8px}.base-stepper button{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--b-panel);border:1px solid var(--b-line)}.base-stepper b{min-width:22px;text-align:center}.base-unit-dot{flex:none;display:inline-block;width:14px;height:14px;border-radius:50%}.unit-botnet{background:#ff9f6b}.unit-sqli{background:#7ee2b8}.unit-brute{background:#f2c46b}.unit-ransomware{background:#c77dff}.unit-zeroday{background:#c77dff;box-shadow:0 0 0 3px #c77dff55}.base-settings{display:flex;flex-direction:column;gap:10px}.base-settings label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.base-settings select{min-height:40px;padding:6px 10px;border-radius:10px;background:var(--b-bg);color:var(--b-text);border:1px solid var(--b-line)}.base-settings-actions{display:flex;flex-wrap:wrap;gap:8px}.base-placing{position:absolute;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:16px;background:var(--b-panel);border:1px solid var(--b-line);z-index:6}.base-placing p{margin:0;font-size:13px;color:var(--b-muted);flex:1 1 220px}.base-placing div{display:flex;gap:8px}.base-battle-bar{position:absolute;left:0;right:0;bottom:0;display:flex;flex-wrap:wrap;gap:6px;justify-content:center;padding:10px 12px max(12px,env(safe-area-inset-bottom));background:linear-gradient(transparent,color-mix(in srgb,var(--b-bg) 90%,transparent) 30%);z-index:5}.base-battle-bar button{display:inline-flex;align-items:center;gap:6px;padding:9px 12px;border-radius:12px;background:var(--b-panel);border:1px solid var(--b-line);font-size:13px}.base-battle-bar button b{color:var(--b-gold)}.base-battle-bar button[aria-pressed=true]{border-color:var(--b-accent);box-shadow:0 0 0 2px var(--b-accent) inset}.base-battle-bar .base-end{background:none;color:var(--b-red);border-color:var(--b-red)}.base-battle-hint{flex-basis:100%;margin:0;text-align:center;font-size:12px;color:var(--b-muted);min-height:16px}.base-battle-hud{margin-left:auto}.base-tutorial,.base-advice{position:absolute;left:12px;bottom:96px;max-width:min(420px,calc(100% - 80px));display:flex;align-items:center;gap:10px;padding:8px 12px 8px 8px;border-radius:16px;background:var(--b-panel);border:1px solid var(--b-line);z-index:4;text-align:left;font-size:13px;line-height:1.45}.base-tutorial .companion-container,.base-advice .companion-container,.base-modal .companion-container{width:54px;height:58px;flex:none}.base-tutorial p{margin:0;flex:1}.base-tutorial button{background:none;border:0;color:var(--b-muted);font-size:11.5px;text-decoration:underline}.base-advice{border-style:dashed}[data-view=battle] .base-advice{bottom:120px}.base-modal-backdrop{position:absolute;inset:0;display:grid;place-items:center;padding:16px;background:#020812b8;z-index:20}.base-modal{position:relative;width:min(440px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border-radius:24px;background:linear-gradient(155deg,var(--b-panel),var(--b-bg));border:1px solid var(--b-line);text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}.base-modal h2{margin:0;font-size:26px}.base-modal p{margin:0}.base-stars{font-size:40px;letter-spacing:6px;color:#3a4a60}.base-stars .on{color:var(--b-gold);text-shadow:0 0 18px #f6c16b88}.base-modal-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:6px}.base-about{text-align:left;align-items:stretch}.base-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--b-panel-hi);border:1px solid var(--b-line)}.base-about .platform-panel{--s-line:var(--b-line);--s-muted:var(--b-muted);--s-text:var(--b-text);--s-mint:var(--b-accent);--s-on-accent:var(--b-on-accent);--s-panel-hi:var(--b-panel-hi);--s-bg:var(--b-bg);--s-red:var(--b-red)}.base-about .platform-actions{display:grid;gap:8px;margin-top:16px}.base-about .platform-actions>button,.base-about .platform-legal>button{padding:11px 13px;border:1px solid var(--b-line);border-radius:11px;background:var(--b-panel-hi);text-align:left}.base-about .platform-legal{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.base-about .about-brand-card{display:flex;align-items:center;gap:12px;margin:12px 0}.base-about .about-brand-card>span{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:var(--b-accent)}.base-about .about-brand-card b,.base-about .about-brand-card small{display:block}.base-about .platform-panel>p,.base-about .about-brand-card small{color:var(--b-muted);font-size:12.5px;line-height:1.7}.base-about h2{font-size:22px;margin:4px 0}.base-about .shift-eyebrow{font-size:10px;letter-spacing:1px;color:var(--b-muted);text-transform:uppercase}.base-about .platform-back{display:flex;align-items:center;gap:6px;background:none;border:0;color:var(--b-muted);padding:6px 0}.base-about .primary-control{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:10px 16px;border-radius:12px;background:var(--b-accent);color:var(--b-on-accent);border:0;font-weight:600}.base-damaged{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.base-toast{position:absolute;left:50%;top:76px;transform:translate(-50%);max-width:calc(100% - 32px);margin:0;padding:10px 16px;border-radius:12px;background:var(--b-panel-hi);border:1px solid var(--b-line);font-size:13.5px;z-index:30;box-shadow:0 10px 30px #0006}@media(min-width:900px){.base-sheet{inset:72px 12px 12px auto;width:400px;max-height:none;border-radius:22px;border-bottom:1px solid var(--b-line)}.base-brand small{max-width:none}.base-camera,.base-tutorial,.base-advice{bottom:20px}}@media(max-width:600px){.base-header{flex-wrap:wrap}.base-brand small{display:none}.base-resources{order:3;width:100%;margin-left:0}.base-chip{padding:5px 8px;font-size:11.5px}.base-dock button{min-width:62px;padding:7px 6px;font-size:11px}.base-camera{bottom:92px}.base-tutorial,.base-advice{bottom:150px;right:12px;max-width:none}}
