@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,700&family=JetBrains+Mono:wght@400;500&display=swap";@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(/pokemon/assets/chakra-petch-thai-600-normal-C620THcd.woff2) format("woff2"),url(/pokemon/assets/chakra-petch-thai-600-normal-BiM5MXH8.woff) format("woff");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,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) format("woff2"),url(/pokemon/assets/chakra-petch-vietnamese-600-normal-Pvj4qcw_.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:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(/pokemon/assets/chakra-petch-latin-ext-600-normal-CdGvbdDU.woff2) format("woff2"),url(/pokemon/assets/chakra-petch-latin-ext-600-normal-nL80L4xU.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:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url(/pokemon/assets/chakra-petch-latin-600-normal-DVQm9bgb.woff2) format("woff2"),url(/pokemon/assets/chakra-petch-latin-600-normal-DQKfcdKo.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(/pokemon/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/pokemon/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(/pokemon/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/pokemon/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(/pokemon/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/pokemon/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(/pokemon/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/pokemon/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(/pokemon/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/pokemon/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}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/pokemon/assets/public-sans-vietnamese-400-normal-TxZB8OSn.woff2) format("woff2"),url(/pokemon/assets/public-sans-vietnamese-400-normal-BO1meqcx.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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/pokemon/assets/public-sans-latin-ext-400-normal-mk90oQqJ.woff2) format("woff2"),url(/pokemon/assets/public-sans-latin-ext-400-normal-B02wwOdZ.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:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/pokemon/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2) format("woff2"),url(/pokemon/assets/public-sans-latin-400-normal-SBbinRkI.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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/pokemon/assets/public-sans-vietnamese-600-normal-P4BtCUdw.woff2) format("woff2"),url(/pokemon/assets/public-sans-vietnamese-600-normal-CcnAzmUX.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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/pokemon/assets/public-sans-latin-ext-600-normal-DchWdWJ_.woff2) format("woff2"),url(/pokemon/assets/public-sans-latin-ext-600-normal-DfkbVac2.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:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/pokemon/assets/public-sans-latin-600-normal-Fru-LXNs.woff2) format("woff2"),url(/pokemon/assets/public-sans-latin-600-normal-BR59oU-I.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}:root{--shell: #1a1d21;--shell-light: #252830;--shell-edge: #0e1014;--bezel: #0c0e12;--bezel-border: rgba(255, 255, 255, .04);--hinge: #111318;--hinge-line: rgba(255, 255, 255, .03);--accent: #4fc3f7;--accent-dim: rgba(79, 195, 247, .15);--accent-glow: rgba(79, 195, 247, .08);--power-green: #7cb342;--power-red: #ef5350;--warn: #ffa726;--text: #e8eaed;--text-dim: rgba(232, 234, 237, .5);--text-muted: rgba(232, 234, 237, .3);--btn-surface: #2a2d35;--btn-surface-pressed: #1e2028;--btn-border: rgba(255, 255, 255, .06);--btn-shadow: rgba(0, 0, 0, .5);--control-scale: 1;--control-opacity: .92;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;overflow:hidden}body{font-family:DM Sans,system-ui,sans-serif;background:var(--shell-edge);color:var(--text);overscroll-behavior:none;user-select:none;-webkit-user-select:none;touch-action:manipulation}button,input{font:inherit;border:0;background:none;color:inherit;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}label,.status-text,.welcome-title,.welcome-sub,.drawer-label,.session-info,.session-info-row,.playback-btn,.drawer-btn{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}canvas{display:block;width:100%;height:auto;image-rendering:pixelated;background:#000}.hidden-input{display:none}.launcher-mode .decorative{pointer-events:none;opacity:.35}.launcher-mode .top-bezel{aspect-ratio:256 / 192}.launcher-mode .bottom-bezel{min-height:180px}.launcher-top-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 18px;text-align:center;background:radial-gradient(ellipse at center,rgba(79,195,247,.06),transparent 70%),linear-gradient(180deg,#0f1217f7,#0a0c10fa);z-index:5}.launcher-top-title{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--text)}.launcher-top-sub{font-family:var(--font-mono);font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;margin-top:4px}.launcher-top-status{font-family:var(--font-mono);font-size:.62rem;color:var(--text-dim);margin-top:10px}.launcher-top-screen .download-progress{width:80%;margin-top:10px}.launcher-top-screen .error-toast{font-size:.65rem;padding:6px 10px;margin-top:8px;position:static;transform:none}.launcher-bottom-screen{display:flex;flex-direction:column;padding:12px 14px;overflow-y:auto;overflow-x:hidden;background:linear-gradient(180deg,#0f1217f7,#0a0c10fa);border-radius:4px;z-index:5}.launcher-bottom-screen .session-list{margin-bottom:4px}.launcher-bottom-screen .launcher-actions{display:flex;flex-direction:column;gap:8px}.launcher-bottom-screen .welcome-btn{font-size:.78rem;padding:8px 16px}.launcher-bottom-screen .settings-panel{padding:6px 0;gap:6px}.launcher-bottom-screen .settings-group{padding:6px 8px;gap:5px}.launcher-bottom-screen .settings-toggle-grid{gap:4px}.launcher-bottom-screen .session-card{padding:8px 10px}.launcher-bottom-screen .session-card-name{font-size:.78rem}.launcher-bottom-screen .session-card-time{font-size:.62rem}.launcher-bottom-screen .session-card-meta{font-size:.65rem}.launcher-bottom-screen .session-card-btn{padding:4px 10px;font-size:.65rem}.launcher-mode .status-bar{display:none}.launcher-bottom-screen{max-height:40dvh}.launcher-bottom-screen::-webkit-scrollbar{width:3px}.launcher-bottom-screen::-webkit-scrollbar-track{background:transparent}.launcher-bottom-screen::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.launcher-kicker{font-family:JetBrains Mono,monospace;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.launcher-title{margin-top:10px;font-size:clamp(2rem,7vw,2.8rem);line-height:.95}.launcher-copy{margin-top:14px;color:var(--text-dim);line-height:1.5}.launcher-status{margin-top:18px;min-height:24px;color:var(--text)}.launcher-error{position:static;margin-top:12px}.launcher-actions{margin-top:22px;display:flex;flex-direction:column;gap:10px}.dsi-shell{display:flex;flex-direction:column;height:100%;height:100dvh;background:var(--shell);position:relative;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.dsi-shell:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");background-size:128px;pointer-events:none;z-index:0}.dsi-shell>*{position:relative;z-index:1}.top-shell{flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:0 14px}.shoulder-bar{display:flex;justify-content:space-between;padding:calc(var(--safe-top)) 0 0;flex-shrink:0;align-self:stretch}.shoulder-btn{flex:0 0 38%;height:calc(30px * var(--control-scale));background:linear-gradient(180deg,#33373f 0%,var(--btn-surface) 100%);border:1px solid var(--btn-border);border-top:none;color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;opacity:var(--control-opacity);transition:transform 80ms ease,background 80ms ease;touch-action:none;box-shadow:0 3px 8px #0006,inset 0 1px #ffffff14}.shoulder-btn:first-child{border-radius:0 0 14px;border-left:none}.shoulder-btn:last-child{border-radius:0 0 0 14px;border-right:none}.shoulder-btn:active{background:var(--btn-surface-pressed);transform:translateY(1px);box-shadow:0 1px 3px #0006,inset 0 2px 4px #0003}.screen-bezel{width:100%;max-width:420px;background:var(--bezel);border:1px solid var(--bezel-border);padding:5px;position:relative;flex-shrink:0}.screen-bezel:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 20px #0009;pointer-events:none;border-radius:inherit}.screen-bezel.top-bezel{border-radius:12px 12px 4px 4px}.screen-bezel.bottom-bezel{border-radius:4px 4px 12px 12px}.screen-bezel canvas{border-radius:4px;position:relative;z-index:1;width:100%;height:auto;display:block}.hinge{width:100%;max-width:420px;height:8px;background:linear-gradient(180deg,#0a0c10,var(--hinge) 40%,var(--hinge) 60%,#0a0c10);position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-left:1px solid var(--bezel-border);border-right:1px solid var(--bezel-border);align-self:center}.hinge:before{content:"";width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.05) 20%,rgba(255,255,255,.05) 80%,transparent)}.status-led{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:var(--text-muted);transition:background .3s ease,box-shadow .3s ease}.status-led.live{background:var(--power-green);box-shadow:0 0 6px var(--power-green)}.status-led.loading{background:var(--warn);box-shadow:0 0 6px var(--warn);animation:led-pulse 1.2s ease infinite}.status-led.error{background:var(--power-red);box-shadow:0 0 6px var(--power-red)}@keyframes led-pulse{0%,to{opacity:1}50%{opacity:.3}}.bottom-shell{flex:1 1 auto;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"screen screen" "status status" "dpad face" "utility utility";align-items:center;justify-items:center;padding:0 14px calc(var(--safe-bottom) + 6px);gap:6px;min-height:0}.dpad-section{grid-area:dpad;display:flex;align-items:center;justify-content:center}.bottom-screen-wrapper{grid-area:screen;display:flex;justify-content:center;width:100%}.face-section{grid-area:face;display:flex;align-items:center;justify-content:center}.dpad-container{position:relative;width:calc(120px * var(--control-scale));height:calc(120px * var(--control-scale));flex-shrink:0;touch-action:none}.dpad-cross{position:absolute;inset:0}.dpad-cross:before,.dpad-cross:after{content:"";position:absolute;background:linear-gradient(180deg,#32363e 0%,var(--btn-surface) 40%,#22252c 100%);border:1px solid var(--btn-border);border-radius:8px;box-shadow:inset 0 1px #ffffff14,inset 0 -1px #00000026,0 3px 10px var(--btn-shadow),0 1px 3px #0000004d}.dpad-cross:before{top:33.3%;left:0;right:0;height:33.4%}.dpad-cross:after{left:33.3%;top:0;bottom:0;width:33.4%}.dpad-center{position:absolute;top:50%;left:50%;width:14px;height:14px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#363940 0%,var(--shell-light) 60%,#1e2028 100%);border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px 2px #0006,0 0 0 2px #00000026;z-index:3;pointer-events:none}.dpad-zone{position:absolute;z-index:2;background:transparent;border:0;opacity:var(--control-opacity);touch-action:none;transition:background 80ms ease}.dpad-zone:active{background:#ffffff0a}.dpad-container.active-up .dpad-zone.up,.dpad-container.active-down .dpad-zone.down,.dpad-container.active-left .dpad-zone.left,.dpad-container.active-right .dpad-zone.right{background:#ffffff14}.dpad-zone.up{top:0;left:33.3%;width:33.4%;height:33.3%;border-radius:8px 8px 0 0}.dpad-zone.down{bottom:0;left:33.3%;width:33.4%;height:33.3%;border-radius:0 0 8px 8px}.dpad-zone.left{top:33.3%;left:0;width:33.3%;height:33.4%;border-radius:8px 0 0 8px}.dpad-zone.right{top:33.3%;right:0;width:33.3%;height:33.4%;border-radius:0 8px 8px 0}.face-container{position:relative;width:calc(120px * var(--control-scale));height:calc(120px * var(--control-scale));flex-shrink:0}.face-btn{position:absolute;width:calc(44px * var(--control-scale));height:calc(44px * var(--control-scale));border-radius:50%;background:linear-gradient(180deg,#34383f 0%,var(--btn-surface) 35%,#1e2028 100%);border:1px solid var(--btn-border);box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #0003,0 3px 8px var(--btn-shadow),0 1px 2px #0000004d;font-family:JetBrains Mono,monospace;font-size:calc(.75rem * var(--control-scale));font-weight:500;color:var(--text-dim);opacity:var(--control-opacity);display:flex;align-items:center;justify-content:center;transition:transform 60ms ease,background 60ms ease;touch-action:none;transform:translate(-50%,-50%)}.face-btn:active{transform:translate(-50%,-50%) scale(.92);background:var(--btn-surface-pressed);box-shadow:inset 0 2px 4px #0006,0 1px 2px var(--btn-shadow)}.face-btn.x-btn{top:8%;left:50%}.face-btn.y-btn{top:50%;left:8%}.face-btn.a-btn{top:50%;left:92%;color:var(--accent);border-color:#4fc3f726}.face-btn.b-btn{top:92%;left:50%}.face-btn.a-btn:after{content:"";position:absolute;inset:-4px;border-radius:50%;box-shadow:0 0 12px var(--accent-glow);pointer-events:none}.utility-row{grid-area:utility;display:flex;align-items:center;justify-content:center;gap:10px;padding:2px 0}.pill-btn{height:calc(28px * var(--control-scale));padding:0 14px;border-radius:14px;background:linear-gradient(180deg,#1e2128,#22252d);border:1px solid rgba(0,0,0,.2);box-shadow:inset 0 1px 3px #0000004d,inset 0 0 0 1px #ffffff08,0 1px #ffffff08;font-family:JetBrains Mono,monospace;font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);opacity:var(--control-opacity);transition:transform 60ms ease,background 60ms ease;touch-action:none}.pill-btn:active{transform:scale(.95);background:#181b20}.status-bar{grid-area:status;display:flex;align-items:center;justify-content:center;padding:2px 12px}.status-text{font-family:JetBrains Mono,monospace;font-size:.55rem;color:var(--text-muted);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.menu-toggle{position:fixed;bottom:calc(var(--safe-bottom) + 8px);right:12px;width:40px;height:40px;border-radius:50%;background:var(--shell-light);border:1px solid var(--btn-border);display:flex;align-items:center;justify-content:center;z-index:100;color:var(--text-dim);transition:transform .2s ease,background .2s ease;box-shadow:0 2px 12px #0006}.menu-toggle:hover{background:var(--btn-surface)}.menu-toggle.open{transform:rotate(90deg);background:var(--accent-dim);border-color:#4fc3f733}.menu-toggle svg{width:18px;height:18px}.drawer-backdrop{position:fixed;inset:0;background:#0009;z-index:90;opacity:0;pointer-events:none;transition:opacity .25s ease}.drawer-backdrop.visible{opacity:1;pointer-events:auto}.drawer{position:fixed;bottom:0;left:0;right:0;max-height:85vh;background:var(--shell);border-top:1px solid var(--bezel-border);border-radius:20px 20px 0 0;z-index:95;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);overflow-y:auto;overscroll-behavior:contain;padding:20px 20px calc(var(--safe-bottom) + 20px)}.drawer.open{transform:translateY(0)}.drawer-handle{width:36px;height:4px;background:#ffffff1a;border-radius:2px;margin:0 auto 20px}.drawer-section{margin-bottom:20px}.drawer-section:last-child{margin-bottom:0}.drawer-label{font-family:JetBrains Mono,monospace;font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:10px}.drawer-actions{display:flex;flex-wrap:wrap;gap:8px}.drawer-btn{height:42px;padding:0 18px;border-radius:12px;background:var(--shell-light);border:1px solid var(--btn-border);font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:500;color:var(--text);transition:background .12s ease,transform .12s ease;flex:1 1 auto;min-width:0;white-space:nowrap}.drawer-btn:hover{background:var(--btn-surface)}.drawer-btn:active{transform:scale(.97)}.drawer-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.drawer-btn.primary{background:var(--accent);color:#0c0e12;font-weight:700;border-color:transparent}.drawer-btn.primary:hover{background:#6dd0fa}.drawer-btn.primary:disabled{opacity:.3}.drawer-btn.danger{color:var(--power-red);border-color:#ef535026}.playback-row{display:flex;gap:8px}.playback-btn{flex:1;height:42px;border-radius:12px;background:var(--shell-light);border:1px solid var(--btn-border);font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:500;color:var(--text);transition:background .12s ease}.playback-btn:disabled{opacity:.3;cursor:not-allowed}.playback-btn.active{background:var(--accent-dim);border-color:#4fc3f733;color:var(--accent)}.slider-row{display:flex;align-items:center;gap:12px;margin-bottom:8px}.slider-row:last-child{margin-bottom:0}.slider-label{font-size:.8rem;color:var(--text-dim);flex:0 0 auto;width:70px}.slider-input{flex:1;-webkit-appearance:none;appearance:none;height:4px;border-radius:2px;background:var(--shell-light);outline:none}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--accent);border:2px solid var(--shell);cursor:pointer}.slider-input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--accent);border:2px solid var(--shell);cursor:pointer}.save-toast{position:fixed;top:calc(var(--safe-top) + 12px);left:50%;transform:translate(-50%) translateY(-120%);background:var(--shell);border:1px solid var(--bezel-border);border-radius:12px;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:.7rem;color:var(--text-dim);z-index:200;pointer-events:none;transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px #00000080;white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis}.save-toast.visible{transform:translate(-50%) translateY(0)}.error-toast{position:fixed;top:calc(var(--safe-top) + 12px);left:50%;transform:translate(-50%);background:#ef53501f;border:1px solid rgba(239,83,80,.25);border-radius:12px;padding:8px 16px;font-size:.75rem;color:var(--power-red);z-index:200;max-width:90vw;text-align:center;box-shadow:0 4px 20px #00000080}.welcome-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:5;background:radial-gradient(ellipse at center,rgba(15,18,25,.95),var(--bezel));border-radius:inherit;gap:12px;text-align:center;padding:20px}.welcome-title{font-family:DM Sans,sans-serif;font-size:1rem;font-weight:700;color:var(--text);letter-spacing:.04em}.welcome-sub{font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.welcome-btn{margin-top:4px;padding:10px 24px;border-radius:12px;background:var(--accent);color:#0c0e12;font-weight:700;font-size:.85rem;border:1px solid transparent;transition:background .12s ease,transform .12s ease}.welcome-btn:hover{background:#6dd0fa}.welcome-btn:active{transform:scale(.97)}.welcome-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.welcome-btn.ghost{background:transparent;color:var(--accent);border:1px solid rgba(79,195,247,.2);font-weight:500}.welcome-btn.subtle{background:#ffffff0a;color:var(--text);border-color:#ffffff14;font-weight:500}.welcome-actions{display:flex;flex-direction:column;gap:8px;margin-top:4px;width:100%;max-width:220px}.settings-panel{display:flex;flex-direction:column;gap:10px;width:100%;padding:10px 0}.preset-chip-row{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:2px}.preset-chip{padding:5px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:transparent;color:var(--text-dim);font-size:.7rem;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:var(--font-ui);letter-spacing:.04em;text-transform:uppercase}.preset-chip:hover{border-color:var(--accent-dim);color:var(--text)}.preset-chip.active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.preset-chip:disabled{opacity:.4;cursor:default}.settings-group{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:10px;background:#ffffff05;border:1px solid rgba(255,255,255,.04)}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}.setting-label{font-family:var(--font-mono);font-size:.68rem;color:var(--text-muted);font-weight:500;white-space:nowrap;min-width:0;flex-shrink:0;text-transform:uppercase;letter-spacing:.04em}.segment-group{display:flex;gap:1px;background:#ffffff0f;border-radius:6px;padding:2px;min-width:0;flex-shrink:1}.segment-btn{padding:5px 8px;border-radius:5px;border:none;background:transparent;color:var(--text-dim);font-size:.65rem;font-weight:600;cursor:pointer;transition:all .12s ease;font-family:var(--font-ui);white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.segment-btn:hover{color:var(--text);background:#ffffff0a}.segment-btn.active{background:var(--accent);color:#0e1014}.segment-btn:disabled{opacity:.4;cursor:default}.settings-toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.toggle-pill{padding:6px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.06);background:#ffffff05;color:var(--text-muted);font-size:.68rem;font-weight:600;cursor:pointer;transition:all .12s ease;font-family:var(--font-ui);text-align:center}.toggle-pill:hover{border-color:#ffffff1f;color:var(--text-dim)}.toggle-pill.active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.toggle-pill:disabled{opacity:.4;cursor:default}.settings-start-btn{width:100%;padding:10px 16px;border-radius:10px;border:none;background:var(--accent);color:#0e1014;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .12s ease;font-family:var(--font-ui);margin-top:2px}.settings-start-btn:hover{background:#6dd0fa}.settings-start-btn:active{transform:scale(.98)}.settings-start-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.session-list{display:flex;flex-direction:column;gap:8px;width:100%;margin-bottom:8px}.session-card{padding:12px 14px;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);text-align:left}.session-card-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.session-card-name{font-size:.85rem;font-weight:600;color:var(--text)}.session-card-time{font-size:.68rem;color:var(--text-muted);white-space:nowrap}.session-card-meta{font-size:.72rem;color:var(--text-dim);margin-top:2px}.session-card-actions{display:flex;gap:6px;margin-top:8px}.session-card-btn{padding:5px 14px;border-radius:8px;border:none;font-size:.72rem;font-weight:600;cursor:pointer;font-family:var(--font-ui);transition:all .15s ease}.session-card-btn.primary{background:var(--accent);color:#111}.session-card-btn.primary:hover{background:#6dd0fa}.session-card-btn.danger{background:#ffffff0f;color:var(--text-dim)}.session-card-btn.danger:hover{background:#ef535033;color:#ef5350}.session-card-btn:disabled{opacity:.4;cursor:default}.launcher-divider{width:100%;text-align:center;font-size:.68rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em;margin:12px 0 4px;padding:8px 0;border-top:1px solid rgba(255,255,255,.06)}.download-progress{width:100%;max-width:220px;margin-top:8px}.progress-bar{width:100%;height:4px;background:var(--shell-light);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .2s ease}.progress-label{font-family:JetBrains Mono,monospace;font-size:.6rem;color:var(--text-muted);margin-top:6px}.session-info{display:flex;flex-direction:column;gap:4px}.session-info-row{display:flex;justify-content:space-between;font-family:JetBrains Mono,monospace;font-size:.72rem}.session-info-row span:first-child{color:var(--text-muted)}.session-info-row span:last-child{color:var(--text-dim)}@media(min-width:700px){:root{--screen-w: min(480px, calc((100dvh - 140px) / 1.5))}body{background:#08090c;background-image:radial-gradient(ellipse 80% 60% at 50% 35%,rgba(40,48,65,.5) 0%,transparent 100%),radial-gradient(ellipse 60% 40% at 50% 0%,rgba(50,60,80,.15) 0%,transparent 100%),radial-gradient(ellipse at 50% 100%,rgba(0,0,0,.4) 0%,transparent 50%)}.dsi-shell{max-width:calc(var(--screen-w) + 320px);margin:0 auto;background:transparent;overflow:visible}.dsi-shell:before{display:none}.top-shell{background-color:#1c1f24;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");background-size:100px;border:1px solid rgba(255,255,255,.05);border-left-color:#ffffff12;border-right-color:#ffffff08;border-bottom:none;border-radius:18px 18px 2px 2px;padding:0 16px 6px;position:relative;box-shadow:inset 0 1px #ffffff0f,inset -1px 0 #0000001a,inset 1px 0 #ffffff05,0 -4px 30px #0000004d}.top-shell:after{content:"";position:absolute;top:36px;left:50%;transform:translate(-50%);width:6px;height:6px;border-radius:50%;background:radial-gradient(circle,#13151a 40%,#080a0e);border:1px solid rgba(255,255,255,.04);box-shadow:inset 0 1px 2px #000000e6,0 0 3px #0006;z-index:5}.top-shell .shoulder-bar{padding-top:2px}.top-shell .shoulder-btn{flex:0 0 110px;height:26px;font-size:.58rem;background:linear-gradient(180deg,#3a3e47 0%,#2e3139 30%,var(--btn-surface) 100%);box-shadow:0 4px 10px #00000080,0 1px 2px #0000004d,inset 0 1px #ffffff1f,inset 0 -1px #00000026;border-radius:0 0 12px;border-width:1px;border-style:solid;border-color:rgba(255,255,255,.08) rgba(255,255,255,.04) rgba(255,255,255,.03) transparent}.top-shell .shoulder-btn:first-child{border-radius:0 0 12px;border-left:none}.top-shell .shoulder-btn:last-child{border-radius:0 0 0 12px;border-right:none}.top-shell .screen-bezel{max-width:var(--screen-w)}.hinge{max-width:none;height:12px;align-self:stretch;background:linear-gradient(180deg,#060810,#12141a 15%,#1a1c22 40%,#ffffff0d 49% 51%,#1a1c22 60%,#12141a 85%,#060810);box-shadow:inset 0 1px 3px #0006,inset 0 -1px 3px #0006}.hinge:before{display:none}.hinge:after{content:"";position:absolute;left:8%;right:8%;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.04) 15%,rgba(255,255,255,.06) 50%,rgba(255,255,255,.04) 85%,transparent);transform:translateY(-50%)}.status-led{width:6px;height:6px;right:14px}.bottom-shell{background-color:#1c1f24;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");background-size:100px;border:1px solid rgba(255,255,255,.05);border-left-color:#ffffff12;border-right-color:#ffffff08;border-top:none;border-radius:2px 2px 18px 18px;padding:10px 14px;grid-template-columns:1fr auto 1fr;grid-template-rows:1fr auto auto;grid-template-areas:"dpad screen face" "utility utility utility" "status status status";align-items:center;justify-items:center;gap:4px 8px;position:relative;box-shadow:inset 0 1px #ffffff0a,inset -1px 0 #0000001a,inset 1px 0 #ffffff05,0 8px 40px #00000080,0 2px 8px #0000004d}.bottom-shell:before,.bottom-shell:after{content:"";position:absolute;bottom:12px;width:36px;height:12px;background-image:radial-gradient(circle,rgba(255,255,255,.05) .8px,transparent .8px);background-size:4px 3.5px;pointer-events:none;z-index:2}.bottom-shell:before{left:18px}.bottom-shell:after{right:18px}.bottom-screen-wrapper .screen-bezel{width:var(--screen-w);max-width:var(--screen-w)}.dpad-section{position:relative}.dpad-section:before{content:"";position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.12) 0%,transparent 70%);pointer-events:none}.dpad-container{width:calc(120px * var(--control-scale));height:calc(120px * var(--control-scale))}.face-section{position:relative}.face-section:before{content:"";position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.12) 0%,transparent 70%);pointer-events:none}.face-container{width:calc(120px * var(--control-scale));height:calc(120px * var(--control-scale))}.face-btn{width:calc(44px * var(--control-scale));height:calc(44px * var(--control-scale));font-size:calc(.8rem * var(--control-scale))}.pill-btn{height:24px;padding:0 14px;font-size:.55rem;background:linear-gradient(180deg,#181b20,#1e2128);border:1px solid rgba(0,0,0,.25);box-shadow:inset 0 1px 4px #00000059,inset 0 0 0 1px #ffffff05,0 1px #ffffff0a;color:#e8eaed59}.menu-toggle{position:fixed;inset:16px 16px auto auto;transform:none;width:38px;height:38px;border-radius:50%;background:#1e2128cc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.06)}.menu-toggle:hover{background:#282c34e6}.menu-toggle.open{transform:rotate(90deg)}.menu-toggle svg{width:16px;height:16px}.status-text{font-size:.58rem}.welcome-title{font-size:1.3rem}.welcome-sub{font-size:.7rem}.welcome-btn{padding:12px 32px;font-size:.9rem}.welcome-actions{max-width:260px}.screen-bezel{border-color:#ffffff0f;box-shadow:0 0 0 1px #0000004d}.screen-bezel:after{box-shadow:inset 0 0 30px #000000b3}}@media(min-width:1200px){:root{--screen-w: min(500px, calc((100dvh - 150px) / 1.5))}.dsi-shell{max-width:calc(var(--screen-w) + 350px);margin:20px auto;height:calc(100dvh - 40px)}.top-shell{border-radius:22px 22px 2px 2px;padding:0 20px 8px}.bottom-shell{border-radius:2px 2px 22px 22px;padding:12px 18px;gap:6px 12px}.dpad-container,.face-container{width:calc(130px * var(--control-scale));height:calc(130px * var(--control-scale))}.face-btn{width:calc(48px * var(--control-scale));height:calc(48px * var(--control-scale))}.pill-btn{height:26px;padding:0 16px}}@media(max-width:599px){.top-shell{flex:0 0 auto;padding:0 10px}.screen-bezel{max-width:min(355px,calc((50dvh - 130px) * 4 / 3));padding:4px}.hinge{height:6px;max-width:min(355px,calc((50dvh - 130px) * 4 / 3))}.bottom-shell{flex:1 0 auto;padding:0 10px calc(var(--safe-bottom) + 8px);gap:6px}.dpad-container,.face-container{width:calc(128px * var(--control-scale));height:calc(128px * var(--control-scale))}.face-btn{width:calc(48px * var(--control-scale));height:calc(48px * var(--control-scale))}.shoulder-btn{flex:0 0 42%;height:calc(36px * var(--control-scale));font-size:.7rem}.pill-btn{height:calc(32px * var(--control-scale));padding:0 20px;font-size:.65rem}.menu-toggle{inset:0 auto auto 50%;transform:translate(-50%);width:32px;height:28px;border-radius:0 0 10px 10px;box-shadow:0 2px 8px #0006}.menu-toggle.open{transform:translate(-50%) rotate(90deg)}.menu-toggle svg{width:15px;height:15px}}@media(max-height:580px){.top-shell{padding:0 8px}.screen-bezel{padding:3px}.hinge{height:4px}.bottom-shell{padding:0 12px calc(var(--safe-bottom) + 4px);gap:4px}.dpad-container,.face-container{width:calc(100px * var(--control-scale));height:calc(100px * var(--control-scale))}}@media(max-height:700px){.top-shell{padding:0 10px}.dpad-container,.face-container{width:calc(110px * var(--control-scale));height:calc(110px * var(--control-scale))}.face-btn{width:calc(42px * var(--control-scale));height:calc(42px * var(--control-scale))}.pill-btn{height:calc(28px * var(--control-scale))}.bottom-shell{padding:0 14px calc(var(--safe-bottom) + 4px);gap:4px}}
