:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f0e12;--bg-image:none;--surface:#1a1920;--surface-active:#29272f;--text:#f4f2ef;--text-muted:#a49fa8;--accent:#6ee7b7;--danger:#f87171;--warn:#fbbf24;--hc-surface-active:#625c6b;--hc-text-muted:#dedae0;font-family:Segoe UI,system-ui,sans-serif}:root.theme-light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f2eb;--surface:#fffcf7;--surface-active:#ebe3d6;--text:#1d1a17;--text-muted:#5c564e;--accent:#047857;--danger:#b91c1c;--warn:#a16207;--hc-surface-active:#a39680;--hc-text-muted:#2e2a25}@media (prefers-color-scheme:light){:root.theme-system{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f2eb;--surface:#fffcf7;--surface-active:#ebe3d6;--text:#1d1a17;--text-muted:#5c564e;--accent:#047857;--danger:#b91c1c;--warn:#a16207;--hc-surface-active:#a39680;--hc-text-muted:#2e2a25}}:root.theme-mushroom{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#dcefff;--bg-image:linear-gradient(180deg, #a9d8ff 0%, #dcefff 55%, #f6e3c0 100%);--surface:#fffaf0;--surface-active:#f1d9a8;--text:#24140a;--text-muted:#5e4430;--accent:#c81e1e;--danger:#8e1212;--warn:#9a5b00;--hc-surface-active:#b8824a;--hc-text-muted:#2f1d10}:root.theme-vampire-castle{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0709;--bg-image:radial-gradient(ellipse at 85% -10%, #96283c47, transparent 55%), linear-gradient(180deg, #160b11 0%, #0d0709 70%);--surface:#1c1014;--surface-active:#35181f;--text:#f3e9dd;--text-muted:#bba49b;--accent:#e5484d;--danger:#ff9466;--warn:#e8b04a;--hc-surface-active:#86414e;--hc-text-muted:#ece0d6}:root.theme-hyrule{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b130d;--bg-image:radial-gradient(circle at 12% 0%, #54965042, transparent 45%), linear-gradient(180deg, #0f1a12 0%, #0b130d 70%);--surface:#142219;--surface-active:#213628;--text:#f1f4e6;--text-muted:#aab89f;--accent:#e9c349;--danger:#f87171;--warn:#fdba74;--hc-surface-active:#456b4f;--hc-text-muted:#e2e9d6}:root.theme-arcade-neon{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0614;--bg-image:radial-gradient(circle at 90% 0%, #ff4fd82e, transparent 40%), radial-gradient(circle at 0% 100%, #38d6ff24, transparent 45%);--surface:#160f26;--surface-active:#2b1e47;--text:#f6f1ff;--text-muted:#b6a9d4;--accent:#ff4fd8;--danger:#ff6b6b;--warn:#ffd166;--hc-surface-active:#6a55a0;--hc-text-muted:#e8e0fa}:root.theme-pocket-green{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#c4cfa1;--surface:#d6dfb5;--surface-active:#aebb84;--text:#0f380f;--text-muted:#2f4f2f;--accent:#285428;--danger:#8b1e1e;--warn:#6b4f00;--hc-surface-active:#8fa05e;--hc-text-muted:#0f380f}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}:root.text-size-large{font-size:112.5%}:root.text-size-extra-large{font-size:125%}body{background:var(--bg);background-image:var(--bg-image);color:var(--text);background-attachment:fixed;min-height:100vh;margin:0;overflow-x:hidden}:root{--ui-btn-radius:14px;--ui-btn-font:inherit;--ui-btn-font-size:.95rem;--ui-btn-transform:none;--ui-btn-letter-spacing:.01em;--ui-btn-min-height:44px;--ui-btn-min-height-compact:34px;--ui-btn-pad-x:18px;--ui-btn-border-width:1px;--ui-btn-shadow:0 2px 6px #00000029;--ui-btn-accent:var(--accent);--ui-btn-primary-bg:var(--accent);--ui-btn-primary-text:var(--bg);--ui-btn-secondary-bg:var(--surface-active);--ui-btn-secondary-text:var(--text);--ui-btn-primary-image:none;--ui-btn-secondary-image:none;--ui-btn-nav-image:none}:where(button:not([class])),.ui-button{--ui-btn-bg:var(--ui-btn-secondary-bg);--ui-btn-fg:var(--ui-btn-secondary-text);--ui-btn-edge:color-mix(in srgb, var(--ui-btn-accent) 30%, var(--ui-btn-secondary-bg));min-height:var(--ui-btn-min-height);max-width:100%;padding:6px var(--ui-btn-pad-x);border-radius:var(--ui-btn-radius);border:var(--ui-btn-border-width) solid var(--ui-btn-edge);background-color:var(--ui-btn-bg);color:var(--ui-btn-fg);font:inherit;font-family:var(--ui-btn-font);font-size:var(--ui-btn-font-size);letter-spacing:var(--ui-btn-letter-spacing);text-transform:var(--ui-btn-transform);text-align:center;white-space:normal;overflow-wrap:anywhere;cursor:pointer;box-shadow:var(--ui-btn-shadow);-webkit-tap-highlight-color:transparent;background-image:none;justify-content:center;align-items:center;gap:8px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}:where(button:not([class])):hover:not(:disabled),.ui-button:hover:not(:disabled,[aria-disabled=true]){--ui-btn-edge:var(--ui-btn-accent);background-color:color-mix(in srgb, var(--ui-btn-accent) 14%, var(--ui-btn-bg))}:where(button:not([class])):active:not(:disabled),.ui-button:active:not(:disabled,[aria-disabled=true]){box-shadow:none;transform:translateY(1px)}:where(button:not([class])):focus-visible,.ui-button:focus-visible{outline:3px solid var(--ui-btn-accent);outline-offset:3px}:where(button:not([class])):disabled,.ui-button:disabled,.ui-button[aria-disabled=true]{opacity:.55;cursor:not-allowed;box-shadow:none}.ui-button[aria-busy=true]{cursor:progress}.ui-button--primary{--ui-btn-bg:var(--ui-btn-primary-bg);--ui-btn-fg:var(--ui-btn-primary-text);--ui-btn-edge:var(--ui-btn-primary-bg)}.ui-button--primary:hover:not(:disabled,[aria-disabled=true]){--ui-btn-edge:var(--ui-btn-primary-bg);background-color:color-mix(in srgb, var(--ui-btn-primary-bg) 85%, var(--text))}.ui-button--quiet{--ui-btn-bg:transparent;--ui-btn-fg:var(--text);--ui-btn-edge:transparent;box-shadow:none}.ui-button--quiet:hover:not(:disabled,[aria-disabled=true]){--ui-btn-edge:color-mix(in srgb, var(--ui-btn-accent) 40%, transparent);background-color:color-mix(in srgb, var(--ui-btn-accent) 10%, transparent)}.ui-button--danger{--ui-btn-bg:transparent;--ui-btn-fg:var(--danger);--ui-btn-edge:color-mix(in srgb, var(--danger) 60%, var(--surface-active));box-shadow:none}.ui-button--danger:hover:not(:disabled,[aria-disabled=true]){--ui-btn-edge:var(--danger);background-color:color-mix(in srgb, var(--danger) 12%, transparent)}.ui-button--danger:focus-visible{outline-color:var(--danger)}.ui-button--card{--ui-btn-bg:color-mix(in srgb, var(--bg) 70%, transparent);--ui-btn-edge:color-mix(in srgb, var(--text) 18%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.ui-button--nav{--ui-btn-bg:var(--surface);--ui-btn-edge:var(--surface-active);box-shadow:none}.ui-button--compact,.ui-button--small{min-height:var(--ui-btn-min-height-compact);padding:4px calc(var(--ui-btn-pad-x) * .7);font-size:calc(var(--ui-btn-font-size) * .88);gap:6px}.ui-button--icon{width:var(--ui-btn-min-height);min-width:var(--ui-btn-min-height);flex:none;padding:0}.ui-button--icon.ui-button--compact,.ui-button--icon.ui-button--small{width:var(--ui-btn-min-height-compact);min-width:var(--ui-btn-min-height-compact)}.ui-button--block{width:100%;display:flex}.ui-button__icon{flex:none;line-height:1;display:inline-flex}.ui-button__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:1em;height:1em}.ui-btn-images-primary .ui-button--primary,.ui-btn-images-secondary :where(.ui-button--secondary,button:not([class])),.ui-btn-images-nav .ui-button--nav{color:#fff;text-shadow:0 1px 2px #000000b3,0 0 6px #00000073;background-position:50%;background-repeat:no-repeat;background-size:cover}.ui-btn-images-primary .ui-button--primary{background-image:linear-gradient(#00000038, #00000038), var(--ui-btn-primary-image)}.ui-btn-images-secondary :where(.ui-button--secondary,button:not([class])){background-image:linear-gradient(#00000038, #00000038), var(--ui-btn-secondary-image)}.ui-btn-images-nav .ui-button--nav{background-image:linear-gradient(#00000038, #00000038), var(--ui-btn-nav-image)}input[type=file]{max-width:100%;color:var(--text-muted);font:inherit;font-size:.85rem}input[type=file]::file-selector-button{min-height:var(--ui-btn-min-height-compact);padding:4px calc(var(--ui-btn-pad-x) * .8);border-radius:var(--ui-btn-radius);border:var(--ui-btn-border-width) solid color-mix(in srgb, var(--ui-btn-accent) 30%, var(--ui-btn-secondary-bg));background-color:var(--ui-btn-secondary-bg);color:var(--ui-btn-secondary-text);font:inherit;font-family:var(--ui-btn-font);letter-spacing:var(--ui-btn-letter-spacing);text-transform:var(--ui-btn-transform);box-shadow:var(--ui-btn-shadow);cursor:pointer;margin-right:12px;font-weight:600}input[type=file]:hover:not(:disabled)::file-selector-button{border-color:var(--ui-btn-accent);background-color:color-mix(in srgb, var(--ui-btn-accent) 14%, var(--ui-btn-secondary-bg))}input[type=file]:focus-visible{outline:3px solid var(--ui-btn-accent);outline-offset:3px;border-radius:var(--ui-btn-radius)}input[type=file]:disabled::file-selector-button{opacity:.55;cursor:not-allowed;box-shadow:none}.ui-actions{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:16px;display:flex}@media (width<=520px){.ui-actions>.ui-button{flex:100%}}:where(.admin-page,.settings-panel,.controller-dialog) :where(select:not([class])){border:1px solid color-mix(in srgb, var(--accent) 20%, var(--surface-active));background:var(--bg);min-height:40px;color:var(--text);font:inherit;border-radius:12px;padding:6px 12px}:where(.admin-page,.settings-panel,.controller-dialog) :where(select:not([class])):focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:no-preference){:where(button:not([class])),.ui-button{transition:background-color .12s,border-color .12s,box-shadow .12s,transform 80ms}.ui-button__spinner{animation:.8s linear infinite ui-button-spin}}@keyframes ui-button-spin{to{transform:rotate(360deg)}}.app-shell{max-width:1200px;margin:0 auto;padding:16px clamp(16px,4vw,48px) 64px}.app-shell--dimmed{filter:brightness(.6)saturate(.8);pointer-events:none}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.app-header h1{letter-spacing:.04em;margin:0;font-size:clamp(1.5rem,3vw,2.25rem)}.app-header__status{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.maintenance-banner{background:color-mix(in srgb, var(--warn) 18%, transparent);border:1px solid color-mix(in srgb, var(--warn) 40%, transparent);color:var(--text);border-radius:10px;margin:0 0 24px;padding:10px 16px;font-size:.95rem}.gamepad-status{flex-wrap:wrap;gap:8px;display:flex}.gamepad-status__item{background:var(--surface);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);border-radius:999px;padding:6px 12px;font-size:.85rem}.gamepad-status__item--unmapped{color:var(--text-muted);border:1px solid color-mix(in srgb, var(--text-muted) 40%, transparent)}.romm-badge{background:var(--surface);color:var(--text-muted);border:1px solid #0000;border-radius:999px;padding:6px 12px;font-size:.85rem}.romm-badge--connected{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.romm-badge--unreachable,.romm-badge--error{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.romm-badge--unauthorized{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 40%, transparent)}.error-state__hint{color:var(--text-muted);max-width:40ch;font-size:.85rem}.library-view-toggle{gap:8px;margin:0 0 12px;display:flex}.library-view-toggle__item{background:var(--surface);color:var(--text-muted);border-radius:var(--ui-btn-radius);font:inherit;cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;min-height:44px;padding:8px 14px;font-size:.85rem;display:inline-flex}.library-view-toggle__item[data-active=true]{color:var(--text);border-color:var(--accent);background:var(--surface-active)}.library-view-toggle__item:disabled{cursor:not-allowed;opacity:.6}.library-view-toggle__note{color:var(--text-muted);font-size:.7rem}.library-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.library-search{flex-direction:column;gap:4px;width:100%;display:flex}@media (width>=480px){.library-search{width:auto}}.library-search__label{color:var(--text-muted);font-size:.75rem}.library-search__input{background:var(--surface);color:var(--text);border:1px solid var(--surface-active);border-radius:8px;width:100%;min-height:44px;padding:10px 12px;font-size:16px}@media (width>=480px){.library-search__input{width:240px}}.library-search__input:focus-visible{border-color:var(--accent);outline:none}.library-summary{color:var(--text-muted);margin:0;font-size:.85rem}.game-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;display:grid}.game-grid[data-density=compact]{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:12px}@media (width>=720px){.game-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:20px}.game-grid[data-density=compact]{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:14px}}.game-grid__load-more-sentinel{height:1px}.game-grid__loading-more{text-align:center;color:var(--text-muted);margin-top:16px;padding:10px;font-size:.85rem}.library-summary--hint{opacity:.8;font-size:.75rem}.platform-detail-view__load-all{width:fit-content;margin:20px auto 0;display:flex}.load-more-failed{text-align:center;color:var(--danger);flex-direction:column;align-items:center;gap:8px;margin-top:16px;padding:16px;display:flex}.game-card{background:color-mix(in srgb, var(--surface) 72%, var(--bg));color:inherit;font:inherit;text-align:left;cursor:pointer;border:2px solid #0000;border-radius:16px;flex-direction:column;gap:6px;min-height:44px;padding:10px;display:flex;box-shadow:0 4px 14px #00000014}.game-grid[data-density=compact] .game-card{border-radius:12px;gap:5px;padding:7px}.game-card:focus-visible,.game-card[data-active=true]{border-color:var(--accent);background:var(--surface-active);outline:none}.game-card__art{aspect-ratio:4/5;border-radius:10px;justify-content:center;align-items:flex-end;max-height:240px;display:flex;position:relative}.game-card__art img{border-radius:10px;min-width:0;max-width:100%;min-height:0;max-height:100%;display:block;box-shadow:0 6px 18px #00000059}.system-card{text-align:center}.system-card .game-card__art{aspect-ratio:1;align-items:center;max-height:220px;overflow:hidden}.game-grid[data-density=compact] .game-card__art{max-height:180px}.system-card .game-card__art img{object-fit:contain;width:100%;height:100%;box-shadow:none}.game-card__art-placeholder{background:color-mix(in srgb, var(--surface-active) 70%, transparent);letter-spacing:.1em;width:100%;color:var(--text-muted);text-align:center;border-radius:10px;justify-content:center;align-self:stretch;align-items:center;padding:0 8px;font-size:.75rem;display:flex}.game-grid[data-density=compact] .game-card__art,.game-grid[data-density=compact] .game-card__art img,.game-grid[data-density=compact] .game-card__art-placeholder{border-radius:8px}.game-card__play-overlay{border-radius:inherit;background:color-mix(in srgb, var(--bg) 35%, transparent);opacity:0;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.game-card:hover .game-card__play-overlay,.game-card:focus-visible .game-card__play-overlay{opacity:1}.game-card__play-badge{background:color-mix(in srgb, var(--accent) 88%, transparent);color:var(--bg);border-radius:999px;align-items:center;gap:6px;padding:8px 16px 8px 12px;font-size:.95rem;font-weight:700;display:inline-flex;box-shadow:0 4px 14px #0006}.game-grid[data-density=compact] .game-card__play-badge{padding:6px 12px 6px 9px;font-size:.8rem}@media (prefers-reduced-motion:no-preference){.game-card__play-overlay{transition:opacity .12s}}.card-icon{flex-shrink:0;width:20px;height:20px}.card-icon--play{width:18px;height:18px}.game-card__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.47rem;font-size:.95rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.game-grid[data-density=compact] .game-card__title{min-height:2.05rem;font-size:.82rem;line-height:1.25}.system-card__title{min-height:2.5rem;font-family:var(--system-card-title-font,var(--font-display,inherit));letter-spacing:var(--system-card-title-letter-spacing,.01em);text-transform:var(--system-card-title-transform,none);margin-bottom:2px;font-size:1rem;font-weight:800;line-height:1.25}.game-grid[data-density=compact] .system-card__title{min-height:2.064rem;font-size:.86rem;line-height:1.2}.system-card__count{color:var(--text-muted);margin-top:2px;font-size:.86rem;font-weight:650}.game-grid[data-density=compact] .system-card__count{font-size:.78rem}.system-hero{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 30%, var(--surface)), var(--surface));min-height:220px;color:inherit;font:inherit;text-align:left;cursor:pointer;border:2px solid #0000;border-radius:16px;grid-column:1/-1;align-items:flex-end;padding:0;display:flex;position:relative;overflow:hidden}@media (width>=720px){.system-hero{min-height:280px}}.system-hero:focus-visible,.system-hero[data-active=true]{border-color:var(--accent);outline:none}.system-hero__art{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.system-hero__scrim{background:linear-gradient(#0000000d 0%,#00000059 45%,#000000c7 100%);position:absolute;inset:0}.system-hero[data-has-art=false] .system-hero__scrim{background:0 0}.system-hero__content{z-index:1;color:#f2f3f7;flex-direction:column;gap:6px;max-width:640px;padding:20px;display:flex;position:relative}.system-hero[data-has-art=false] .system-hero__content{color:var(--text)}.system-hero__eyebrow{letter-spacing:.12em;text-transform:uppercase;opacity:.85;font-size:.75rem;font-weight:700}.system-hero__title{font-size:1.6rem;font-weight:700;line-height:1.2}@media (width>=720px){.system-hero__title{font-size:2.1rem}}.system-hero__description{opacity:.92;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.9rem;line-height:1.4;display:-webkit-box;overflow:hidden}.system-hero__cta{background:color-mix(in srgb, var(--accent) 85%, transparent);color:#0b0d12;border-radius:999px;align-self:flex-start;margin-top:6px;padding:8px 14px;font-size:.8rem;font-weight:600}.game-card__footer{flex-direction:column;gap:8px;margin-top:auto;display:flex}.game-grid[data-density=compact] .game-card__footer{gap:6px}.game-card-wrapper .game-card__footer{padding-bottom:40px}.game-grid[data-density=compact] .game-card-wrapper .game-card__footer{padding-bottom:32px}.game-card__save-badge{color:var(--accent);font-size:.75rem}.game-card__action{color:var(--text);background:color-mix(in srgb, var(--accent) 18%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:999px;width:fit-content;padding:4px 8px;font-size:.75rem}.game-grid[data-density=compact] .game-card__action,.game-grid[data-density=compact] .game-card__save-badge,.game-grid[data-density=compact] .system-card__count{font-size:.68rem}.game-card__action[data-available=unavailable]{color:var(--text-muted);border-color:var(--surface-active);background:0 0}.loading-state,.error-state,.empty-state{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:64px 16px;display:flex}.loading-state__spinner{border:3px solid var(--surface-active);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-state{color:var(--danger)}.manual-button{align-self:flex-start}.manual-viewer-backdrop{z-index:20;background:#000a;justify-content:center;align-items:center;padding:clamp(8px,3vw,32px);display:flex;position:fixed;inset:0}.manual-viewer{background:var(--surface);border:1px solid var(--surface-active);border-radius:12px;flex-direction:column;width:min(900px,100%);height:min(90vh,1100px);display:flex;overflow:hidden}.manual-viewer__header{border-bottom:1px solid var(--surface-active);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.manual-viewer__title{margin:0;font-size:1rem}.manual-viewer__close{min-width:44px}.manual-viewer__trouble-banner{color:var(--bg);background:var(--warn);margin:0;padding:10px 16px;font-size:.85rem}.manual-viewer__trouble-banner a{color:var(--bg);font-weight:600}.manual-viewer__frame{background:#fff;border:none;flex:1;width:100%}.manual-viewer__fallback{color:var(--text-muted);border-top:1px solid var(--surface-active);padding:8px 16px;font-size:.85rem}.manual-viewer__fallback a{color:var(--accent)}@media (prefers-reduced-motion:reduce){.loading-state__spinner{animation:none}}.auth-screen{justify-content:center;padding:clamp(24px,8vh,96px) 16px;display:flex}.auth-form{background:var(--surface);border:1px solid var(--surface-active);border-radius:12px;flex-direction:column;gap:16px;width:100%;max-width:360px;padding:24px;display:flex}.settings-overlay{z-index:40;background:#000a;justify-content:flex-end;align-items:stretch;height:100dvh;display:flex;position:fixed;inset:0;overflow:hidden}.settings-panel{background:var(--surface);border-left:1px solid var(--surface-active);width:100%;max-width:480px;height:100dvh;min-height:0;max-height:100dvh;padding:24px 24px calc(24px + env(safe-area-inset-bottom));overscroll-behavior:contain;box-sizing:border-box;flex-direction:column;gap:16px;display:flex;overflow:hidden auto}@media (width<=640px){.settings-panel{max-width:100%}}@media (prefers-reduced-motion:no-preference){.settings-panel{animation:.18s ease-out settings-panel-slide-in}}@keyframes settings-panel-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.settings-panel *{overflow-wrap:break-word;min-width:0;max-width:100%}.settings-panel__back{align-self:flex-start}.settings-panel__section{border:1px solid color-mix(in srgb, var(--surface-active) 85%, var(--accent));background:color-mix(in srgb, var(--surface) 88%, var(--bg));border-radius:18px;overflow:visible;box-shadow:0 6px 18px #0000001a}.settings-panel__section-title{cursor:pointer;border-radius:18px;align-items:center;gap:12px;min-height:56px;padding:12px 14px 12px 18px;list-style:none;display:flex}.settings-panel__section-title::-webkit-details-marker{display:none}.settings-panel__section-heading{flex-direction:column;flex:1;gap:2px;display:flex}.settings-panel__section-name{font-size:1rem;font-weight:700}.settings-panel__section-hint{color:var(--text-muted);font-size:.8rem}.settings-panel__section-title:after{content:"+";background:var(--surface-active);width:32px;height:32px;color:var(--text);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}.settings-panel__section[open]>.settings-panel__section-title:after{content:"-";background:color-mix(in srgb, var(--accent) 22%, var(--surface-active))}.settings-panel__section-title:hover:after{background:color-mix(in srgb, var(--accent) 30%, var(--surface-active))}.settings-panel__section-title:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.settings-panel__section-body{flex-direction:column;gap:12px;min-height:0;padding:4px 16px 18px;display:flex}.settings-panel__section-body>.auth-form__hint{margin:0}.settings-panel__section-link{align-self:flex-start}.settings-panel__field{flex-direction:column;gap:4px;display:flex}.settings-panel__field-hint{margin:0;font-size:.8rem;line-height:1.35}.controller-summary{flex-direction:column;gap:8px;display:flex}.controller-summary__heading{color:var(--text-muted);margin:0;font-size:.85rem;font-weight:600}.controller-summary__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.controller-summary__item{border:1px solid var(--surface-active);background:var(--surface);border-radius:12px;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;padding:8px;display:grid}.controller-summary__image{object-fit:contain;background:color-mix(in srgb, var(--surface-active) 60%, transparent);border-radius:8px;width:64px;height:48px}.controller-summary__text{flex-direction:column;gap:2px;min-width:0;display:flex}.controller-summary__name{overflow-wrap:anywhere;font-weight:600}.controller-summary__meta{color:var(--text-muted);font-size:.8rem}.settings-field-status{align-items:center;gap:8px;font-size:.75rem;display:flex}.settings-field-status--saving,.settings-field-status--saved{color:var(--text-muted)}.settings-field-status--error{color:var(--danger)}.settings-field-status__retry{margin-left:8px}.admin-page{min-height:100dvh;padding:24px clamp(16px, 4vw, 56px) calc(32px + env(safe-area-inset-bottom));background:radial-gradient(circle at 15% 8%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 34%), radial-gradient(circle at 82% 12%, color-mix(in srgb, var(--surface-active) 38%, transparent), transparent 30%), var(--bg);flex-direction:column;gap:24px;display:flex}.admin-page__hero{border:1px solid color-mix(in srgb, var(--accent) 28%, var(--surface-active));background:linear-gradient(135deg, color-mix(in srgb, var(--surface) 94%, var(--accent)), var(--surface)), var(--surface);border-radius:24px;flex-wrap:wrap;justify-content:space-between;align-items:stretch;gap:20px;padding:clamp(18px,3vw,32px);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 70px #0000002e}.admin-page__hero:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent) 18%, transparent), transparent 66%);pointer-events:none;border-radius:50%;width:260px;height:260px;position:absolute;inset:auto -60px -90px auto}.admin-page__hero-copy{z-index:1;max-width:760px;position:relative}.admin-page__eyebrow{width:fit-content;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700;display:inline-flex}.admin-dashboard__actions{flex-wrap:wrap;gap:10px 12px;margin-top:12px;display:flex}.admin-page__hero h1{margin:4px 0 10px;font-size:clamp(2rem,5vw,4rem);line-height:.95}.admin-page__hero p,.admin-dashboard__section-heading p{color:var(--text-muted);max-width:72ch;margin:0}.admin-page__back{z-index:1;align-self:flex-start;position:relative}.admin-page__hero-actions{z-index:1;flex-direction:column;justify-content:center;align-self:center;align-items:stretch;gap:10px;display:flex;position:relative}.admin-page__customize-toggle{border-radius:var(--ui-btn-radius);border:1px solid color-mix(in srgb, var(--accent) 55%, var(--surface-active));background:color-mix(in srgb, var(--accent) 16%, var(--surface));min-height:44px;color:var(--text);padding:0 16px;font-weight:600}.admin-page__customize-toggle[aria-pressed=true]{background:var(--accent);color:var(--bg)}.admin-page__customize-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.admin-layout-editor{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--surface-active));background:color-mix(in srgb, var(--surface) 96%, var(--accent));border-radius:20px;flex-direction:column;gap:14px;padding:clamp(16px,3vw,28px);display:flex}.admin-layout-editor__header h2{margin:0 0 4px;font-size:1.35rem}.admin-layout-editor__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-layout-editor__item{border:1px solid color-mix(in srgb, var(--surface-active) 80%, var(--accent));background:var(--surface);cursor:grab;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.admin-layout-editor__item:active{cursor:grabbing}.admin-layout-editor__item-label{font-weight:600}.admin-layout-editor__item-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-layout-editor__item-actions button{border-radius:var(--ui-btn-radius);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--surface-active));background:var(--surface-active);min-height:40px;color:var(--text);padding:0 12px;font-size:.85rem}.admin-layout-editor__item-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.admin-layout-editor__item-actions button:disabled{opacity:.45;cursor:not-allowed}.admin-layout-editor__actions{flex-wrap:wrap;gap:10px;display:flex}.admin-system-order{flex-direction:column;gap:12px;display:flex}.admin-system-order__text{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-system-order__facts{color:var(--text-muted);font-size:.85rem}.admin-system-order__mode{margin:0;font-weight:600}.admin-romm-matching{flex-direction:column;gap:12px;display:flex}.admin-romm-matching__capability{margin:0;font-weight:600}.admin-romm-matching__list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.admin-romm-matching__item{background:var(--surface);border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.admin-romm-matching__facts{color:var(--text-muted);grid-template-columns:max-content minmax(0,1fr);gap:2px 12px;margin:0;font-size:.85rem;display:grid}.admin-romm-matching__facts dd{overflow-wrap:anywhere;margin:0}.admin-romm-matching__controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-romm-matching__controls input{width:10ch}.admin-romm-matching__warning{border-left:3px solid var(--accent,currentColor);background:var(--surface);border-radius:4px;padding:8px 12px;font-size:.9rem}.admin-romm-matching__warning p{margin:0 0 6px}.admin-romm-matching__warning p:last-child{margin-bottom:0}.admin-romm-matching__stable{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.admin-romm-matching__approved{flex-direction:column;gap:8px;display:flex}.admin-romm-matching__approved h4{margin:0}.admin-system__option-group{border:0;flex-direction:column;gap:10px;min-width:0;margin:0;padding:0;display:flex}.admin-page__sections{flex-direction:column;gap:16px;width:100%;display:flex}.admin-disclosure{border:1px solid color-mix(in srgb, var(--surface-active) 82%, var(--accent));background:color-mix(in srgb, var(--surface) 90%, var(--bg));border-radius:20px;box-shadow:0 10px 28px #00000017}.admin-disclosure--expanded{border-color:color-mix(in srgb, var(--accent) 45%, var(--surface-active))}.admin-disclosure--subgroup{background:color-mix(in srgb, var(--bg) 35%, var(--surface));box-shadow:none;border-radius:14px}.admin-disclosure--global{border-color:var(--accent);background:color-mix(in srgb, var(--surface) 88%, var(--accent) 12%)}.admin-disclosure__heading{font-size:inherit;margin:0}.admin-disclosure__toggle{all:unset;box-sizing:border-box;cursor:pointer;width:100%;min-height:64px;color:var(--text);text-align:left;border-radius:20px;align-items:center;gap:14px;padding:14px 16px 14px 22px;display:flex}.admin-disclosure--subgroup>.admin-disclosure__header>.admin-disclosure__heading>.admin-disclosure__toggle{border-radius:14px;min-height:52px;padding:10px 12px 10px 16px}.admin-disclosure__toggle:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.admin-disclosure__text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.admin-disclosure__title{flex-wrap:wrap;align-items:center;gap:10px;font-size:clamp(1.2rem,2vw,1.6rem);font-weight:700;line-height:1.15;display:flex}.admin-disclosure--subgroup .admin-disclosure__title{font-size:1rem}.admin-disclosure__status{background:color-mix(in srgb, var(--accent) 18%, var(--surface-active));white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:600}.admin-disclosure__summary{color:var(--text-muted);max-width:72ch;font-size:.9rem}.admin-disclosure--subgroup .admin-disclosure__summary{font-size:.8rem}.admin-disclosure__badge{background:var(--surface-active);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;line-height:1;display:inline-flex}.admin-disclosure--expanded>.admin-disclosure__header>.admin-disclosure__heading .admin-disclosure__badge{background:color-mix(in srgb, var(--accent) 22%, var(--surface-active))}.admin-disclosure__toggle:hover .admin-disclosure__badge{background:color-mix(in srgb, var(--accent) 30%, var(--surface-active))}.admin-disclosure__body{padding:4px 18px 18px 22px}.admin-disclosure__body[hidden]{display:none}.admin-disclosure--subgroup>.admin-disclosure__body{padding:2px 16px 16px}.admin-disclosure--subgroup+.admin-disclosure--subgroup{margin-top:10px}.admin-disclosure--subgroup:last-of-type{margin-bottom:16px}.admin-page__group-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:start;gap:18px;display:grid}.admin-page__group-stack{flex-direction:column;gap:18px;display:flex}.admin-dashboard__section{border:1px solid color-mix(in srgb, var(--surface-active) 82%, var(--accent));background:color-mix(in srgb, var(--surface) 94%, var(--bg));border-radius:18px;overflow:hidden;box-shadow:0 14px 36px #0000001a}.admin-dashboard__section--notice{padding:16px}.admin-dashboard__section-heading{border-bottom:1px solid color-mix(in srgb, var(--surface-active) 75%, transparent);flex-direction:column;gap:5px;padding:18px 18px 12px;display:flex}.admin-dashboard__section-heading h2,.admin-users__roster h3{margin:0}.admin-dashboard__section-body{flex-direction:column;gap:14px;padding:16px 18px 18px;display:flex}.admin-dashboard__metric-grid,.admin-users__summary{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.admin-dashboard__metric-card,.admin-users__summary-tile,.admin-dashboard__form-card,.admin-users__create-card{border:1px solid color-mix(in srgb, var(--surface-active) 78%, var(--accent));background:color-mix(in srgb, var(--bg) 45%, var(--surface));border-radius:14px;padding:14px}.admin-dashboard__metric-card,.admin-users__summary-tile{flex-direction:column;gap:5px;display:flex}.admin-dashboard__metric-card>span,.admin-users__summary-tile span{color:var(--text-muted);font-size:.82rem}.admin-dashboard__metric-card>strong,.admin-users__summary-tile strong{font-size:1.8rem;line-height:1}.admin-dashboard__metric-card>small,.admin-users__summary-tile small{color:var(--text-muted)}.admin-dashboard__form-card,.admin-users__create-card{flex-direction:column;gap:10px;display:flex}.admin-dashboard__form-card legend,.admin-users__create-card legend{padding:0 4px;font-weight:700}.admin-dashboard__token-box{border:1px solid var(--surface-active);background:var(--bg);border-radius:12px;padding:12px}.admin-dashboard__token-box pre{white-space:pre-wrap;overflow-x:auto}.deployment-center__choice{align-items:flex-start;gap:8px;padding:4px 0;display:flex}.deployment-center__runtimes{margin:8px 0 12px 24px}.deployment-center__layers{grid-template-columns:minmax(10rem,max-content) 1fr;gap:4px 12px;margin:8px 0;display:grid}.deployment-center__layers dt{font-weight:600}.deployment-center__layers dd{overflow-wrap:anywhere;min-width:0;margin:0}@media (width<=640px){.deployment-center__layers{grid-template-columns:1fr}.deployment-center__layers dd{margin-bottom:6px}}.deployment-center__packages{border-left:4px solid var(--accent);background:var(--bg);padding:8px 12px}.deployment-center__command{align-items:flex-start;gap:8px;display:flex}.deployment-center__command pre{white-space:pre-wrap;word-break:break-all;border:1px solid var(--surface-active);background:var(--bg);border-radius:8px;flex:1;min-width:0;padding:8px;overflow-x:auto}.admin-users{flex-direction:column;gap:16px;display:flex}.admin-users__layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr);align-items:start;gap:16px;display:grid}.admin-users__roster{flex-direction:column;gap:10px;min-width:0;display:flex}.admin-users__create-card{position:sticky;top:16px}.admin-users__form-field,.admin-users__reset-row{flex-direction:column;gap:6px;display:flex}.admin-users__inline-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-dashboard__facts{grid-template-columns:minmax(120px,auto) 1fr;gap:6px 14px;margin:0;display:grid}.admin-dashboard__facts dt{color:var(--text-muted)}.admin-dashboard__facts dd{margin:0}.admin-dashboard__facts-value--untracked{color:var(--text-muted);font-style:italic}.admin-dashboard__subsection-card{border:1px solid var(--surface-active);border-radius:12px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.admin-dashboard__subsection-card h3{margin:0;font-size:.95rem}.admin-dashboard__subsection-card p{color:var(--text-muted);margin:0;font-size:.85rem}.admin-dashboard__table{border-collapse:separate;border-spacing:0;border:1px solid var(--surface-active);border-radius:12px;width:100%;font-size:.875rem;overflow:hidden}.admin-dashboard__table th,.admin-dashboard__table td{text-align:left;border-bottom:1px solid var(--surface-active);vertical-align:top;padding:8px 10px}.admin-dashboard__table--comfortable th,.admin-dashboard__table--comfortable td{padding:10px 12px}.admin-dashboard__table tr:last-child td{border-bottom:0}.admin-dashboard__table th{color:var(--text-muted);background:color-mix(in srgb, var(--surface-active) 35%, transparent);font-weight:700}.admin-dashboard__table select,.admin-users__create-card select{border:1px solid var(--surface-active);background:var(--bg);min-height:40px;color:var(--text);border-radius:8px;padding:0 10px}@media (width<=900px){.admin-users__layout{grid-template-columns:1fr}.admin-users__create-card{position:static}}.auth-form__title{margin:0;font-size:1.25rem}.auth-form__intro{color:var(--text-muted);margin:-8px 0 0;font-size:.9rem}.auth-form__field{flex-direction:column;gap:6px;display:flex}.auth-form__label{color:var(--text-muted);font-size:.85rem}.auth-form__input{background:var(--bg);color:var(--text);border:1px solid var(--surface-active);border-radius:12px;width:100%;min-height:44px;padding:10px 12px;font-size:16px}.auth-form__input:focus-visible{border-color:var(--accent);outline:none}.auth-form__hint{color:var(--text-muted);font-size:.75rem}.auth-form__error{color:var(--danger);margin:0;font-size:.85rem}.first-run-setup{flex-direction:column;gap:20px;width:100%;max-width:820px;margin:0 auto;padding:clamp(16px,4vh,48px) 16px 48px;display:flex}.first-run-setup__header{flex-direction:column;gap:12px;display:flex}.first-run-setup__section{background:var(--surface);border:1px solid var(--surface-active);border-radius:12px;flex-direction:column;gap:10px;padding:16px;display:flex}.first-run-setup__section h2{margin:0;font-size:1.05rem}.first-run-setup__section p{margin:0}.first-run-setup code{overflow-wrap:anywhere;font-size:.85rem}.first-run-setup__checks,.first-run-setup__commands{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.first-run-setup__check{border-left:4px solid var(--accent);background:var(--bg);border-radius:8px;grid-template-columns:minmax(96px,auto) minmax(120px,1fr);gap:2px 12px;padding:8px 10px;display:grid}.first-run-setup__check--warning{border-left-color:var(--warn)}.first-run-setup__check--problem{border-left-color:var(--danger)}.first-run-setup__check-state{font-weight:600}.first-run-setup__check-detail{color:var(--text-muted);overflow-wrap:anywhere;grid-column:1/-1;font-size:.85rem}.first-run-setup__commands li{flex-direction:column;gap:4px;display:flex}.first-run-setup__facts{grid-template-columns:minmax(120px,max-content) 1fr;gap:6px 12px;margin:0;display:grid}.first-run-setup__facts dt{color:var(--text-muted)}.first-run-setup__facts dd{overflow-wrap:anywhere;margin:0}.first-run-setup__table{border-collapse:collapse;width:100%;font-size:.9rem}.first-run-setup__table th,.first-run-setup__table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--surface-active);overflow-wrap:anywhere;padding:6px 8px 6px 0}.first-run-setup__warning{color:var(--warn)}.first-run-setup__steps ol{flex-direction:column;gap:6px;margin:6px 0 0;padding-left:20px;display:flex}.first-run-setup__inline-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.first-run-setup__inline-form .auth-form__field{flex:240px}.first-run-setup__actions{flex-wrap:wrap;gap:12px;display:flex}@media (width<=560px){.first-run-setup__facts{grid-template-columns:1fr}}.admin-first-run-link{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.settings-panel__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.settings-panel__header .auth-form__title{margin:0}.settings-panel__close{flex-shrink:0;font-size:1.1rem;line-height:1}.settings-panel__profile{color:var(--text-muted);margin:-8px 0 0;font-size:.9rem}.settings-panel__group{border:1px solid var(--surface-active);border-radius:14px;flex-direction:column;gap:12px;padding:12px 14px;display:flex;overflow:visible}.settings-panel__group legend{color:var(--text-muted);padding:0 4px;font-size:.8rem}.settings-panel__group--overridable{border-color:color-mix(in srgb, var(--surface-active) 60%, var(--accent));background:color-mix(in srgb, var(--surface) 92%, var(--accent) 8%)}.settings-panel__group--overridable legend{color:var(--accent)}.setting-source-badge{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:999px;align-items:center;padding:2px 9px;font-size:.72rem;font-weight:600;display:inline-flex}.setting-source-badge--inherited{color:var(--text-muted);background:color-mix(in srgb, var(--surface-active) 70%, transparent);border:1px solid var(--surface-active)}.setting-source-badge--override{color:var(--bg);background:var(--accent);border:1px solid var(--accent)}.settings-panel__override-reset{white-space:nowrap}.settings-panel__override-controls{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.settings-panel__admin-pointer{border-left:3px solid var(--accent);margin:-8px 0 4px;padding-left:10px}.settings-panel__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;min-height:44px;display:flex}.settings-panel__row select{background:var(--bg);color:var(--text);border:1px solid color-mix(in srgb, var(--accent) 20%, var(--surface-active));min-height:44px;font:inherit;border-radius:12px;padding:8px 12px}.settings-panel__row select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.settings-panel__row--checkbox{justify-content:flex-start}.settings-panel__row--checkbox input{width:20px;height:20px}.platform-art-detail{border:1px solid var(--surface-active);border-radius:14px;flex-wrap:wrap;align-items:center;gap:16px;padding:16px;display:flex}.platform-art-detail__preview{background:var(--surface-active);width:96px;height:54px;color:var(--text-muted);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:600;display:flex;overflow:hidden}.platform-art-detail__preview img{object-fit:contain;width:100%;height:100%}.platform-art-detail--banner .platform-art-detail__preview{width:168px;height:56px}.platform-art-detail__info{flex-direction:column;flex:1;min-width:140px;display:flex}.platform-art-detail__name{font-weight:600}.platform-art-detail__usage{color:var(--text);font-size:.85rem}.platform-art-detail__source{color:var(--text-muted);font-size:.8rem}.platform-art-detail__actions{border-top:1px solid var(--surface-active);flex-wrap:wrap;align-items:flex-end;gap:12px 20px;width:100%;padding-top:14px;display:flex}.platform-art-detail__upload-label{flex-direction:column;flex:280px;gap:6px;min-width:min(100%,280px);font-size:.85rem;font-weight:600;display:flex}.platform-art-detail__upload-meta,.platform-art-detail__upload-help{max-width:46rem;color:var(--text-muted);font-size:.78rem;font-weight:500;line-height:1.35}.platform-art-detail__upload-meta{color:var(--text)}.platform-art-detail__upload-input{margin-top:4px}.controller-settings__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.controller-settings__item{border:1px solid var(--surface-active);border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex}.controller-settings__name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.controller-settings__match{flex-direction:column;gap:4px;display:flex}.controller-settings__confidence{font-size:.85rem}.controller-settings__confidence--exact,.controller-settings__confidence--strong{color:var(--accent)}.controller-settings__confidence--possible{color:var(--text)}.controller-settings__confidence--ambiguous{color:var(--danger)}.controller-artwork__image{object-fit:contain;background:0 0;width:auto;max-width:min(100%,240px);height:auto;max-height:160px;display:block}.controller-dialog-backdrop{z-index:20;background:#000a;justify-content:center;align-items:center;padding:clamp(8px,3vw,32px);display:flex;position:fixed;inset:0}.controller-dialog{background:var(--surface);border:1px solid var(--surface-active);border-radius:12px;flex-direction:column;width:min(720px,100%);max-height:90vh;display:flex;overflow:hidden}.controller-dialog:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.controller-dialog__header{border-bottom:1px solid var(--surface-active);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.controller-dialog__title{margin:0;font-size:1.1rem}.controller-dialog__close{min-width:44px}.controller-dialog__body{flex-direction:column;gap:12px;padding:12px 16px 16px;display:flex;overflow-y:auto}.controller-dialog__facts{grid-template-columns:max-content minmax(0,1fr);gap:4px 12px;margin:0;display:grid}.controller-dialog__facts dt{font-weight:600}.controller-dialog__facts dd{margin:0}.controller-dialog__browser-id{overflow-wrap:anywhere}.controller-dialog__table tr[data-active] th,.controller-dialog__table tr[data-active] td{background:color-mix(in srgb, var(--accent) 22%, transparent)}.controller-mapping-page__save .controller-dialog__note{flex-direction:column;align-items:stretch}.controller-dialog__note textarea{width:100%;font:inherit}.controller-dialog__activity{margin:0;font-weight:600}.controller-dialog__live{gap:12px;display:grid}.controller-dialog__facts-table th{text-align:left;white-space:nowrap}.controller-dialog__facts-table td{overflow-wrap:anywhere}.controller-artwork__placeholder{border:1px dashed var(--surface-active);width:160px;max-width:100%;height:96px;color:var(--text);opacity:.8;border-radius:8px;place-items:center;font-size:.85rem;display:grid}.controller-artwork__thumb{object-fit:contain;background:0 0;width:96px;height:64px}.controller-catalog__badge{border:1px solid var(--surface-active);border-radius:999px;margin-left:8px;padding:2px 8px;font-size:.8rem;font-weight:600}.controller-catalog-controls{grid-template-columns:minmax(180px,.65fr) minmax(0,1fr);align-items:start;gap:12px;display:grid}.controller-catalog-controls__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.controller-catalog-controls__choice{border:1px solid var(--surface-active);background:var(--surface);width:100%;min-height:52px;color:var(--text);text-align:left;border-radius:12px;padding:10px}.controller-catalog-controls__choice[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--surface))}.controller-catalog-controls__choice span{display:block}.controller-catalog-controls__details{border:1px solid var(--surface-active);background:color-mix(in srgb, var(--surface-active) 10%, var(--surface));border-radius:8px;flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex}.controller-catalog-controls__details-heading{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.controller-catalog-controls__details-heading h3{margin:0}.controller-catalog-controls__facts dd{overflow-wrap:anywhere}@media (width<=760px){.controller-catalog-controls{grid-template-columns:minmax(0,1fr)}}.controller-mapping-page__save{border:1px solid var(--surface-active);border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.controller-mapping-page__save label{align-items:center;gap:8px;min-height:44px;display:flex}.controller-mapping-page__editor{flex-direction:column;gap:10px;display:flex}.controller-mapping-page__actions{flex-wrap:wrap;gap:10px 12px;display:flex}.profile-menu{flex-wrap:wrap;align-items:center;gap:8px;display:flex}:root.prefers-reduced-motion *,:root.prefers-reduced-motion :before,:root.prefers-reduced-motion :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}:root.prefers-high-contrast{--surface-active:var(--hc-surface-active);--text-muted:var(--hc-text-muted);--bg-image:none}:where(:root.prefers-high-contrast) .game-card,:where(:root.prefers-high-contrast) .settings-panel__section{border-color:var(--hc-surface-active)}.favorite-button{background:var(--surface);color:var(--text);border:1px solid var(--surface-active);border-radius:var(--ui-btn-radius);cursor:pointer;min-width:44px;min-height:44px;font:inherit;justify-content:center;align-items:center;gap:8px;font-size:.9rem;display:inline-flex}.favorite-button:focus-visible{outline:3px solid var(--ui-btn-accent);outline-offset:2px;border-color:var(--accent)}.favorite-button[data-favorite=true]{border-color:var(--accent);color:var(--warn)}.game-card-wrapper{display:flex;position:relative}.game-card-wrapper .game-card{width:100%}.game-card__actions{align-items:center;gap:6px;display:flex;position:absolute;bottom:10px;left:10px;right:10px}.game-grid[data-density=compact] .game-card__actions{gap:4px;bottom:7px;left:7px;right:7px}.game-card__actions-spacer{flex:1}.game-card__action-button{border-radius:var(--ui-btn-radius);background:color-mix(in srgb, var(--bg) 45%, transparent);min-width:36px;min-height:36px;color:var(--text-muted);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.game-grid[data-density=compact] .game-card__action-button{min-width:30px;min-height:30px}.game-grid[data-density=compact] .game-card__action-button .card-icon{width:17px;height:17px}.game-card__action-button:hover,.game-card__action-button:focus-visible{color:var(--text);border-color:var(--accent)}.game-card__action-button:focus-visible{outline:3px solid var(--ui-btn-accent);outline-offset:1px}.game-card__favorite[data-favorite=true]{color:var(--warn);border-color:#0000}.game-card__favorite[data-favorite=true]:focus-visible{border-color:var(--accent)}.game-modal{align-items:flex-start;gap:20px;display:flex}.game-modal__art{flex-shrink:0;justify-content:center;width:160px;display:flex}.game-modal__art img{border-radius:10px;max-width:100%;max-height:240px;display:block}.game-modal__art-placeholder{aspect-ratio:3/4;background:color-mix(in srgb, var(--surface-active) 70%, transparent);width:100%;color:var(--text-muted);letter-spacing:.1em;border-radius:10px;justify-content:center;align-items:center;font-size:.8rem;display:flex}@media (width<=560px){.game-modal{flex-direction:column;align-items:stretch}.game-modal__art{width:120px}}.game-modal__details{flex-direction:column;flex:1;gap:14px;min-width:0;display:flex}.game-modal__details p{margin:0;line-height:1.5}.game-modal__platform{color:var(--text-muted)}.game-modal__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.game-modal__play-button{font-weight:700}.game-modal__secondary-button{align-self:flex-start}.game-modal__unavailable{color:var(--warn)}.game-modal__section{flex-direction:column;gap:6px;display:flex}.game-modal__section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.8rem}.game-modal__description{font-size:.92rem}.game-modal__muted{color:var(--text-muted);font-size:.88rem}.game-modal__slots{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.game-modal__slot{flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:.9rem;display:flex}.browser-player{background:var(--bg);z-index:30;flex-direction:column;display:flex;position:fixed;inset:0}.browser-player__header{border-bottom:1px solid var(--surface-active);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.browser-player__title{font-size:1.05rem}.browser-player__controls-note{color:var(--text-muted,var(--text));opacity:.8;font-size:.8rem}.browser-player__exit{--ui-btn-edge:color-mix(in srgb, var(--danger) 50%, transparent);min-width:44px}.browser-player__body{flex:1;justify-content:center;align-items:center;padding:16px;display:flex;overflow:auto}.browser-player__status{color:var(--text-muted);text-align:center;max-width:60ch}.browser-player__stage{border:none;width:100%;height:100%}.browser-player__stage-wrap{width:100%;height:100%;position:relative}.browser-player__overlay{text-align:center;background:color-mix(in srgb, var(--bg) 85%, transparent);color:var(--text-muted);pointer-events:none;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.browser-player__overlay--error{color:var(--danger);pointer-events:auto;flex-direction:column;gap:12px}.browser-player__retry{margin-top:12px}.browser-player__overlay--error .browser-player__retry{margin-top:0}.browser-player__save-controls{flex-wrap:wrap;gap:8px;display:flex}.browser-player__save-status{color:var(--text-muted);padding:4px 16px;font-size:.9rem}.browser-player__save-status[data-status=failed]{color:var(--danger)}.browser-player__slots{border-bottom:1px solid var(--surface-active);flex-wrap:wrap;align-items:flex-start;gap:12px;max-height:40vh;padding:8px 16px 12px;display:flex;overflow:auto}.browser-player__slot-list{flex:320px;gap:8px;margin:0;padding:0;list-style:none;display:grid}.browser-player__slot{justify-content:space-between;align-items:center;gap:12px;display:flex}.browser-player__slots-note{color:var(--text-muted);margin:0;font-size:.85rem}.browser-player__menu-hint{color:var(--text-muted);margin:0;padding:4px 16px;font-size:.85rem}.browser-player[data-menu-open] .browser-player__header{background:color-mix(in srgb, var(--accent) 12%, transparent)}.browser-player[data-menu-open] .browser-player__menu-hint{color:var(--text)}.browser-player[data-menu-open] button:focus{outline:3px solid var(--accent);outline-offset:2px}.browser-player__delete-button[data-armed]{--ui-btn-edge:var(--danger);--ui-btn-fg:var(--danger)}.browser-player__debug-panel{border-top:1px solid var(--surface-active);color:var(--text-muted);max-height:160px;padding:8px 16px;font-size:.8rem;overflow:auto}.browser-player__debug-panel dl{grid-template-columns:max-content 1fr;gap:2px 12px;margin:4px 0;display:grid}.browser-player__debug-panel ul{margin:4px 0;padding-left:16px}.pi-update-output{color:var(--text-muted);margin-top:8px}.pi-update-output summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.pi-update-output pre{white-space:pre-wrap;word-break:break-word;background:var(--bg);max-height:260px;color:var(--text);border:1px solid var(--surface-active);border-radius:8px;padding:12px;font-size:.8rem;overflow:auto}.hub-view__description{color:var(--text);max-width:720px}.hub-view__disclaimer{color:var(--text-muted);max-width:720px;margin-bottom:16px;font-size:.85rem}.hub-view__grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));align-items:stretch}.hub-gateway-card{text-align:left;gap:8px;padding:12px}.hub-gateway-card .game-card__art{aspect-ratio:16/10;align-items:center;width:100%;max-height:150px}.hub-gateway-card .game-card__art-placeholder{font-size:.78rem;line-height:1.35}.hub-gateway-card .game-card__title{text-align:left;min-height:auto;font-size:1rem;font-weight:750}.hub-gateway-card__kind{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.72rem;font-weight:700}.franchise-page__kind{color:var(--text-muted);margin:0 0 .75rem}.hub-gateway-card__description{color:var(--text-muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0;font-size:.82rem;line-height:1.35;display:-webkit-box;overflow:hidden}.hub-gateway-card__status{margin-top:auto}.hub-gateway-card__status[data-available=unavailable]{color:var(--text-muted)}.hub-gateway-card__status[data-available=available]{color:var(--accent)}.portal-room{flex-direction:column;gap:16px;display:flex}.portal-room__stage{background:var(--surface);border-radius:12px;width:100%;position:relative;overflow:hidden}.portal-room__backdrop{width:100%;height:auto;display:block}.portal-stage{background:var(--surface);touch-action:none;border-radius:12px;width:100%;position:relative;overflow:hidden}.portal-stage__image{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.portal-stage__placeholder{aspect-ratio:16/9;background:linear-gradient(var(--surface-active) 1px, transparent 1px) 0 0 / 10% 10%, linear-gradient(90deg, var(--surface-active) 1px, transparent 1px) 0 0 / 10% 10%, var(--surface);width:100%}.portal-stage__region{cursor:pointer;background:0 0;border:0;margin:0;padding:0;position:absolute;overflow:hidden}.portal-stage__region--static{cursor:default;pointer-events:none}.portal-stage__region:focus-visible{outline:none}.portal-stage__overlay{object-fit:cover;pointer-events:none;opacity:.88;filter:brightness(.78)saturate(.9);width:100%;height:100%;display:block}.portal-stage__region[data-active=true] .portal-stage__overlay{opacity:1;filter:brightness(1.05)saturate(1.08)}.portal-stage__outlines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.portal-stage__outline{fill:#0000;stroke:#0000;stroke-width:2px}.portal-stage__outline[data-active=true]{stroke:var(--accent);stroke-width:4px;filter:drop-shadow(0 0 6px var(--accent))}.portal-stage__label{pointer-events:none;justify-content:center;align-items:flex-end;display:flex;position:absolute}.portal-stage__label[data-placement=above]{align-items:flex-start}.portal-stage__label[data-placement=left]{justify-content:flex-start;align-items:center}.portal-stage__label[data-placement=right]{justify-content:flex-end;align-items:center}.portal-stage__label-text{background:var(--surface-active);color:var(--text);white-space:nowrap;border-radius:6px;padding:2px 8px;font-size:.75rem;position:relative;transform:translateY(calc(100% + 4px))}.portal-stage__label[data-placement=above] .portal-stage__label-text{transform:translateY(calc(-100% - 4px))}.portal-stage__label[data-placement=left] .portal-stage__label-text{transform:translate(calc(-100% - 4px))}.portal-stage__label[data-placement=right] .portal-stage__label-text{transform:translate(calc(100% + 4px))}.portal-stage__label[data-active=true] .portal-stage__label-text{background:var(--accent);color:var(--accent-contrast,#fff)}.portal-stage__label[data-available=unavailable] .portal-stage__label-text{opacity:.9}@keyframes portal-screen-power-on{0%{opacity:.25;filter:brightness(.45)saturate(.6)}12%{opacity:1;filter:brightness(1.45)saturate(1.18)}22%{opacity:.32;filter:brightness(.55)saturate(.75)}36%{opacity:.95;filter:brightness(1.25)saturate(1.1)}48%{opacity:.58;filter:brightness(.75)saturate(.85)}64%{opacity:1;filter:brightness(1.12)saturate(1.08)}to{opacity:1;filter:brightness(1.05)saturate(1.08)}}@media (prefers-reduced-motion:no-preference){.portal-stage__region:not(.portal-stage__region--static):hover .portal-stage__overlay,.portal-stage__region:not(.portal-stage__region--static):focus-visible .portal-stage__overlay{animation:.72s step-end both portal-screen-power-on}}@media (prefers-reduced-motion:reduce){.portal-stage__region:not(.portal-stage__region--static):hover .portal-stage__overlay,.portal-stage__region:not(.portal-stage__region--static):focus-visible .portal-stage__overlay{opacity:1;filter:brightness(1.05)saturate(1.08)}}.portal-map-editor__handle{background:var(--accent);cursor:grab;touch-action:none;border:2px solid #fff;border-radius:50%;width:18px;height:18px;margin:-9px 0 0 -9px;padding:0;position:absolute;box-shadow:0 0 0 2px #0008}.portal-map-editor__handle:focus-visible{outline:3px solid var(--text)}.portal-map-editor__layout{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px;display:grid}@media (width<=900px){.portal-map-editor__layout{grid-template-columns:1fr}}.portal-map-editor__points{grid-template-columns:auto 1fr 1fr;align-items:center;gap:4px 8px;display:grid}.portal-map-editor__region-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.portal-map-editor__region-list button[data-selected=true]{outline:2px solid var(--accent)}.portal-room__info-panel{background:var(--surface);border-radius:12px;flex-direction:column;gap:4px;padding:12px 16px;display:flex}.portal-room__info-artwork-row{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:6px;display:flex}.portal-room__info-preview{aspect-ratio:16/9;object-fit:contain;border:1px solid var(--surface-active);background:#0008;border-radius:10px;width:min(280px,100%)}.portal-room__info-gateway-art{object-fit:cover;border:1px solid var(--surface-active);background:#0006;border-radius:14px;width:84px;height:84px}.portal-room__info-name{color:var(--text);font-size:1rem}.portal-room__info-status[data-available=available]{color:var(--accent);font-size:.8rem}.portal-room__info-status[data-available=unavailable]{color:var(--text-muted);font-size:.8rem}.portal-room__info-description{color:var(--text-muted);margin:4px 0 0;font-size:.85rem}.portal-room__enter-button{align-self:flex-start;margin-top:8px}.portal-room__refresh-button{align-self:flex-start}.portal-room__carousel-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.portal-room__calibration{background:var(--surface);border:1px solid var(--surface-active);border-radius:12px;padding:10px 12px}.portal-room__calibration summary{cursor:pointer;font-weight:600}.portal-room__calibration p{color:var(--text-muted);margin:8px 0;font-size:.85rem}.portal-room__calibration-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.portal-room__calibration-field{color:var(--text-muted);flex-direction:column;gap:4px;font-size:.8rem;display:flex}.portal-room__calibration-field input{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--surface-active);border-radius:8px;padding:6px 8px}.portal-room__calibration-code{background:var(--bg);color:var(--text);white-space:nowrap;border-radius:8px;margin-top:10px;padding:8px;font-size:.8rem;display:block;overflow-x:auto}.portal-room--mobile{width:100%;max-width:100%}.portal-room__mobile-stage{background:var(--surface);border-radius:12px;width:100%;position:relative;overflow:hidden}.portal-room__screen{background:var(--bg);border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;overflow:hidden}.portal-room__screen-image{object-fit:contain;background:#0008;width:100%;height:100%;display:block}.portal-room__screen-fallback{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;height:100%;padding:8px;display:flex}.portal-room__screen-fallback-name{color:var(--text);font-size:.85rem}.portal-room__screen-fallback-status[data-available=available]{color:var(--accent);font-size:.75rem}.portal-room__screen-fallback-status[data-available=unavailable]{color:var(--text-muted);font-size:.75rem}.portal-room__carousel{-webkit-overflow-scrolling:touch;gap:8px;max-width:100%;padding:4px 2px 8px;display:flex;overflow-x:auto}.portal-room__carousel-item{background:var(--surface);color:var(--text);white-space:nowrap;cursor:pointer;border:2px solid #0000;border-radius:8px;flex:none;padding:8px 14px;font-size:.85rem}.portal-room__carousel-item[data-active=true]{border-color:var(--accent);background:var(--surface-active)}@media (width<=640px){.portal-room__calibration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.franchise-page[data-has-background=true]{background:linear-gradient(90deg, #0a120eeb, #0a120ec2), var(--franchise-world-background) center / cover no-repeat;border-radius:18px;padding:20px;position:relative;overflow:hidden}.franchise-page[data-has-background=true]:before{content:"";pointer-events:none;background:radial-gradient(circle at 18% 8%,#78ffb229,#0000 28%),linear-gradient(#0000,#00000059);position:absolute;inset:0}.franchise-page[data-has-background=true]>*{z-index:1;position:relative}.controller-page__hero h1{font-size:clamp(2rem,5vw,3.4rem)}.controller-page__steps{counter-reset:controller-step;flex-wrap:wrap;gap:10px;margin:18px 0 0;padding:0;list-style:none;display:flex}.controller-page__steps li{counter-increment:controller-step;border:1px solid color-mix(in srgb, var(--accent) 24%, var(--surface-active));background:color-mix(in srgb, var(--surface-active) 40%, transparent);border-radius:14px;flex:200px;align-items:baseline;gap:8px;padding:10px 14px;display:flex}.controller-page__steps li:before{content:counter(controller-step);color:var(--accent);font-weight:800}.controller-page__steps span{color:var(--text-muted);font-size:.9rem}.controller-page__section{border:1px solid color-mix(in srgb, var(--surface-active) 82%, var(--accent));background:linear-gradient(160deg, color-mix(in srgb, var(--surface) 92%, var(--accent)), var(--surface) 42%), var(--surface);border-radius:22px;box-shadow:0 14px 36px #0000001f}.controller-page__section-heading{align-items:flex-start;gap:14px;padding:clamp(16px,2.5vw,24px) clamp(16px,2.5vw,24px) 0;display:flex}.controller-page__section-heading h2{margin:2px 0 4px;font-size:1.45rem}.controller-page__section-heading p{max-width:70ch;color:var(--text-muted);margin:0}.controller-page__step{background:var(--accent);width:40px;height:40px;color:var(--bg);border-radius:50%;flex:none;place-items:center;font-size:1.1rem;font-weight:800;display:grid}.controller-page__section-body{flex-direction:column;gap:16px;padding:18px clamp(16px,2.5vw,24px) clamp(18px,2.5vw,24px);display:flex}.controller-page__section h3,.controller-page__section h4{margin:0}.controller-page__muted{color:var(--text-muted);margin:0;font-size:.9rem}.controller-page__lede{color:var(--text-muted);margin:0}.controller-page__caveat{color:var(--warn);margin:0;font-size:.9rem}.controller-page__notice{border:1px solid var(--surface-active);background:color-mix(in srgb, var(--surface-active) 35%, var(--surface));border-left-width:4px;border-radius:12px;margin:0;padding:12px 16px}.controller-page__notice--success{border-color:color-mix(in srgb, var(--accent) 60%, var(--surface-active));background:color-mix(in srgb, var(--accent) 12%, var(--surface))}.controller-page__notice--warn{border-color:color-mix(in srgb, var(--warn) 60%, var(--surface-active));background:color-mix(in srgb, var(--warn) 10%, var(--surface))}.controller-page__notice--error{border-color:color-mix(in srgb, var(--danger) 60%, var(--surface-active));background:color-mix(in srgb, var(--danger) 10%, var(--surface))}.controller-page__empty{border:2px dashed color-mix(in srgb, var(--accent) 30%, var(--surface-active));text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:22px;display:flex}.controller-page__empty p{max-width:52ch;color:var(--text-muted);margin:0}.controller-mapping-page select,.controller-mapping-page input:not([type=checkbox]):not([type=radio]):not([type=file]){border:1px solid color-mix(in srgb, var(--accent) 22%, var(--surface-active));background:var(--surface-active);min-height:44px;color:var(--text);font:inherit;background:var(--bg);border-radius:12px;width:100%;padding:8px 12px;font-size:.95rem}.controller-mapping-page select:disabled,.controller-mapping-page input:disabled{opacity:.5;cursor:not-allowed}.controller-mapping-page select:focus-visible,.controller-mapping-page input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.controller-page__actions{flex-wrap:wrap;gap:10px 12px;display:flex}.controller-page__action-bar{background:color-mix(in srgb, var(--surface-active) 40%, transparent);border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:14px 16px;display:flex}.controller-page__field{flex-direction:column;gap:6px;min-width:0;display:flex}.controller-page__field-label{font-size:.9rem;font-weight:600}.controller-page__fieldset{border:1px solid var(--surface-active);border-radius:16px;flex-direction:column;gap:10px;margin:0;padding:14px 16px 16px;display:flex}.controller-page__fieldset legend{padding:0 6px;font-weight:700}.controller-page__form-steps{counter-reset:form-step;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.controller-page__form-step{counter-increment:form-step;border:1px solid var(--surface-active);background:color-mix(in srgb, var(--bg) 35%, var(--surface));border-radius:16px;flex-direction:column;gap:8px;min-width:0;padding:14px;display:flex}.controller-page__form-step:before{content:"Step " counter(form-step);color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.controller-page__card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.controller-page__card{border:1px solid var(--surface-active);background:color-mix(in srgb, var(--bg) 30%, var(--surface));border-radius:18px;flex-direction:column;gap:12px;min-width:0;padding:16px;display:flex}.controller-page__card>.controller-page__actions{margin-top:auto}.controller-page__card-title{flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;display:flex}.controller-page__card-title h3,.controller-page__card-title h4{overflow-wrap:anywhere;flex:auto;min-width:0;font-size:1.1rem}.controller-page__live-dot{background:var(--accent);width:10px;height:10px;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 22%, transparent);border-radius:50%;flex:none}.controller-page__facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.controller-page__facts--stacked{grid-template-columns:minmax(0,1fr)}.controller-page__facts>div{background:color-mix(in srgb, var(--surface-active) 45%, transparent);border-radius:10px;min-width:0;padding:8px 10px}.controller-page__facts dt{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:700}.controller-page__facts dd{overflow-wrap:anywhere;margin:2px 0 0;font-weight:600}.controller-page__pill{border:1px solid var(--surface-active);overflow-wrap:anywhere;border-radius:999px;align-items:center;width:fit-content;max-width:100%;margin:0;padding:4px 12px;font-size:.82rem;font-weight:600;display:inline-flex}.controller-page__pill--good,.controller-page__pill--live{border-color:color-mix(in srgb, var(--accent) 55%, var(--surface-active));background:color-mix(in srgb, var(--accent) 14%, transparent)}.controller-page__pill--warn{border-color:color-mix(in srgb, var(--warn) 55%, var(--surface-active));color:var(--warn)}.bt-pairing button:focus,.bt-pairing summary:focus{outline:3px solid var(--accent);outline-offset:2px}.bt-pairing summary{cursor:pointer;padding:6px 0;font-weight:600}.bt-pairing__window{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.bt-pairing__countdown{margin:0;font-size:1.6rem;font-weight:700}.bt-pairing__countdown strong{font-variant-numeric:tabular-nums;font-size:2rem}.bt-pairing__devices{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.bt-pairing__device{border:1px solid var(--surface-active);background:color-mix(in srgb, var(--surface-active) 25%, var(--surface));border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;padding:12px 16px;display:flex}.bt-pairing__device-info{overflow-wrap:anywhere;flex-direction:column;gap:4px;min-width:0;display:flex}.bt-pairing__pills{flex-wrap:wrap;gap:6px;display:flex}.bt-pairing .controller-page__notice p{margin:0 0 6px}.bt-pairing .controller-page__notice ul{margin:0;padding-left:20px}.controller-page__known{flex-direction:column;gap:6px;display:flex}.controller-page__known-label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:700}.controller-page__chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.controller-page__chip{border:1px solid var(--surface-active);border-radius:999px;align-items:center;gap:8px;min-height:36px;padding:4px 12px 4px 6px;font-size:.85rem;display:inline-flex}.controller-page__chip-picture{object-fit:contain;background:0 0;width:auto;max-width:48px;height:28px;display:block}.controller-page__saved{flex-direction:column;gap:10px;display:flex}.controller-page__subpanel{border:1px dashed color-mix(in srgb, var(--accent) 30%, var(--surface-active));border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:16px;display:flex}.controller-page__subpanel>div{flex-direction:column;flex:280px;gap:4px;display:flex}.controller-page__table-wrap{max-width:100%;overflow-x:auto}.controller-page__table{border-collapse:collapse;width:100%}.controller-page__table caption{text-align:left;padding-bottom:8px;font-weight:700}.controller-page__table th,.controller-page__table td{border-bottom:1px solid var(--surface-active);text-align:left;vertical-align:middle;padding:8px 10px}.controller-page__table thead th{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}.controller-dialog{border-radius:20px;box-shadow:0 30px 80px #0006}.controller-dialog--wide{width:min(960px,100%)}.controller-dialog__header{padding:14px 20px}.controller-dialog__title{font-size:1.25rem}.controller-dialog__body{gap:14px;padding:16px 20px 20px}.controller-dialog__activity{background:color-mix(in srgb, var(--accent) 16%, var(--surface));border-radius:12px;padding:12px 16px;font-size:1.05rem}.controller-input-mapping__intro{flex-wrap:wrap;align-items:center;gap:16px 24px;display:flex}.controller-input-mapping__picture{object-fit:contain;background:0 0;flex:0 320px;width:auto;max-width:min(100%,320px);height:auto;max-height:220px;display:block}.controller-input-mapping__no-picture{border:2px dashed var(--surface-active);min-height:120px;color:var(--text-muted);text-align:center;border-radius:16px;flex:0 240px;place-items:center;padding:12px;display:grid}.controller-input-mapping__guide{flex-direction:column;flex:300px;gap:10px;min-width:0;display:flex}.controller-input-mapping__how{flex-direction:column;gap:4px;margin:0;padding-left:1.3rem;display:flex}.controller-input-mapping__status{flex-direction:column;gap:6px;display:flex}.controller-input-mapping__status:empty{display:none}.controller-input-mapping__table td[data-assigned]{font-weight:600}.controller-input-mapping__table tr[data-active] th,.controller-input-mapping__table tr[data-active] td{background:color-mix(in srgb, var(--accent) 22%, transparent)}.controller-input-mapping__table tr[data-disabled]{opacity:.6}@media (width<=640px){.controller-page__facts{grid-template-columns:minmax(0,1fr)}.controller-page__action-bar>button,.controller-page__subpanel>button{width:100%}}.appliance-status__mode{margin:.5rem 0 .25rem}.appliance-status__components{margin:.25rem 0 0;padding:0;list-style:none}.appliance-status__components li{padding:.1rem 0}.appliance-status__components li[data-state=unhealthy]{color:var(--danger)}.system-hero--realms{background:linear-gradient(120deg, color-mix(in srgb, var(--warn) 34%, var(--surface)), color-mix(in srgb, var(--accent) 26%, var(--surface)) 70%)}.realms-view{flex-direction:column;gap:16px;max-width:1200px;display:flex}.realms-view__back{align-self:flex-start}.realms-hero{background:linear-gradient(120deg, color-mix(in srgb, var(--warn) 34%, var(--surface)), color-mix(in srgb, var(--accent) 26%, var(--surface)) 70%);border-radius:16px;align-items:flex-end;min-height:160px;display:flex;position:relative;overflow:hidden}@media (width>=720px){.realms-hero{min-height:220px}}.realms-hero__art{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.realms-hero__scrim{background:linear-gradient(#0003 30%,#000000bf 100%);position:absolute;inset:0}.realms-hero[data-has-art=false] .realms-hero__scrim{background:0 0}.realms-hero__content{z-index:1;color:#f2f3f7;flex-direction:column;gap:4px;padding:20px;display:flex;position:relative}.realms-hero[data-has-art=false] .realms-hero__content{color:var(--text)}.realms-hero__title{margin:0;font-size:2rem;line-height:1.1}.realms-hero__tagline{max-width:560px;margin:0}.realms-note{border:1px solid color-mix(in srgb, var(--warn) 55%, var(--surface-active));background:color-mix(in srgb, var(--warn) 12%, var(--surface));color:var(--text);border-radius:12px;margin:0;padding:12px 16px;line-height:1.45}.realms-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=720px){.realms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.realms-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.realms-section{border:1px solid var(--surface-active);background:var(--surface);border-radius:14px;flex-direction:column;gap:10px;min-width:0;padding:16px;display:flex}.realms-section__title{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin:0;font-size:1rem}.realms-empty{color:var(--text-muted);margin:0}.realms-hint{color:var(--text-muted);margin:0;font-size:.85rem}.realms-error{color:var(--danger);margin:0}.realms-handle{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.realms-handle__label{margin:0;font-weight:600}.realms-handle__value{color:var(--accent);overflow-wrap:anywhere;margin:0;font-size:1.6rem;font-weight:700}.realms-inline-form{flex-wrap:wrap;gap:8px;width:100%;display:flex}.realms-input{border:1px solid var(--surface-active);background:var(--bg);min-width:0;min-height:44px;color:var(--text);font:inherit;border-radius:10px;flex:180px;padding:0 12px}.realms-input--narrow{flex:0 150px}.realms-input:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.realms-create{flex-direction:column;gap:8px;display:flex}.realms-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.realms-row{border:1px solid var(--surface-active);background:var(--surface-active);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.realms-row:hover,.realms-row:focus-visible{border-color:var(--accent);outline:none}.realms-row__title{overflow-wrap:anywhere;font-weight:600}.realms-row__meta{color:var(--text-muted);margin:0;font-size:.85rem}.realms-invitation{background:color-mix(in srgb, var(--accent) 10%, var(--surface-active));border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.realms-actions{flex-wrap:wrap;gap:10px 12px;display:flex}.realms-lobby{flex-direction:column;gap:12px;display:flex}.realms-lobby>.realms-view__back{align-self:flex-start}.realms-assembly{flex-direction:column;gap:8px;display:flex}.realms-lobby__title{margin:0;font-size:1.5rem}.realms-slots{grid-template-columns:1fr;gap:8px;margin:0;padding:0;list-style:none;display:grid}@media (width>=720px){.realms-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}.realms-slot{border:2px dashed var(--surface-active);background:var(--surface);border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.realms-slot[data-filled=true]{border-style:solid;border-color:color-mix(in srgb, var(--accent) 50%, var(--surface-active))}.realms-slot__number{background:color-mix(in srgb, var(--warn) 30%, var(--surface-active));border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:inline-flex}.realms-slot__name{overflow-wrap:anywhere}.realms-slot__name--open,.realms-slot__state{color:var(--text-muted)}.realms-features{grid-template-columns:1fr;gap:8px;margin:0;padding:0;list-style:none;display:grid}@media (width>=720px){.realms-features{grid-template-columns:repeat(2,minmax(0,1fr))}}.realms-feature{background:var(--surface-active);border-radius:10px;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 12px;display:grid}.realms-feature__label{font-weight:600}.realms-feature__state{color:var(--text-muted);font-size:.8rem;font-weight:600}.realms-feature[data-state=available] .realms-feature__state{color:var(--accent)}.realms-feature[data-state=preparing] .realms-feature__state{color:var(--warn)}.realms-feature__detail{color:var(--text-muted);grid-column:1/-1;font-size:.85rem}.franchise-page__section,.franchise-page__hero{margin-bottom:28px}.franchise-page__hero-art{border-radius:12px;max-width:min(100%,420px);display:block}.franchise-page__muted,.reimagined-access__hint,.franchise-page__status[data-available=unavailable]{color:var(--text-muted)}.franchise-page__games,.reimagined-access__list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.franchise-page__game,.reimagined-access__runtime{background:var(--surface);border:2px solid #0000;border-radius:12px;padding:12px 16px}.franchise-page__game[data-selected=true],.franchise-page__order li[data-selected=true] .franchise-page__order-entry{border-color:var(--accent);outline:2px solid var(--accent)}.franchise-page__game-actions,.reimagined-access__environments,.franchise-page__timeline-picker{flex-wrap:wrap;gap:10px 12px;margin-top:12px;display:flex}.franchise-page__order{gap:6px;padding-left:0;list-style:none;display:grid}.franchise-page__order-entry{text-align:left;width:100%}.reimagined-access__environments button[data-active=true],.franchise-page__timeline-picker button[aria-selected=true]{--ui-btn-edge:var(--ui-btn-accent);--ui-btn-bg:color-mix(in srgb, var(--ui-btn-accent) 24%, var(--ui-btn-secondary-bg))}.reimagined-access__badge{background:var(--surface-active);border-radius:999px;padding:1px 8px;font-size:.8rem;display:inline-block}.franchise-page__filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.franchise-page__release{margin:2px 0;font-size:.9rem}.franchise-page__game[data-playable=true]{border-color:var(--surface-active)}.franchise-page__options{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.franchise-page__option{border-left:3px solid var(--surface-active);padding-left:10px}.franchise-page__option[data-state=playable]{border-left-color:var(--accent)}.franchise-page__option-kind{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:.8rem}.franchise-page__option-state{border:1px solid var(--surface-active);color:var(--text-muted);border-radius:999px;padding:1px 8px;font-size:.8rem;display:inline-block}.franchise-page__option[data-state=playable] .franchise-page__option-state{color:var(--accent);border-color:var(--accent)}.franchise-page__option-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.franchise-page__where,.franchise-page__sources,.franchise-page__coverage details{margin:8px 0 12px}.reimagined-access__badge[data-kind=compatibility]{border:1px solid var(--surface-active);background:0 0}.reimagined-access__error{color:var(--danger,#e66)}.reimagined-setup{gap:8px;margin-top:8px;display:grid}.reimagined-setup__assets{gap:8px;margin:0;padding:0;list-style:none;display:grid}.reimagined-setup__asset{border-left:3px solid var(--surface-active);padding-left:10px}.reimagined-setup__asset[data-satisfied=true]{border-left-color:var(--accent)}.reimagined-setup__upload,.reimagined-setup__actions{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.reimagined-setup__actions button[data-primary=true]{--ui-btn-bg:var(--ui-btn-primary-bg);--ui-btn-fg:var(--ui-btn-primary-text);--ui-btn-edge:var(--ui-btn-primary-bg)}.reimagined-setup__job li[data-status=failed]{color:var(--danger,#e66)}.portal-room__opened{background:var(--surface);border-radius:12px;padding:12px 16px}.app-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;display:grid}.app-header__identity{align-items:center;gap:clamp(16px,2.5vw,28px);min-width:0;display:flex}.app-header__brand{align-items:center;min-width:0;display:flex}.app-header__logo{object-fit:contain;max-width:min(280px,45vw);max-height:56px;display:block}.app-header__user{border-left:1px solid var(--surface-active);min-width:0;color:var(--text-muted);align-items:center;gap:10px;padding-left:clamp(16px,2.5vw,28px);font-weight:600;display:inline-flex}.app-header__user-name{white-space:nowrap;text-overflow:ellipsis;max-width:14rem;overflow:hidden}@media (width<=520px){.app-header__user-name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.avatar{color:#fff;box-shadow:0 0 0 2px color-mix(in srgb, var(--text) 14%, transparent);-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex;overflow:hidden}.avatar--small{width:1.75rem;height:1.75rem;font-size:.75rem}.avatar--medium{width:2.5rem;height:2.5rem;font-size:.95rem}.avatar--large{width:4rem;height:4rem;font-size:1.4rem}.avatar__drawing{width:66%;height:66%}.avatar-picker{border:0;min-width:0;margin:0;padding:0}.avatar-picker__legend{margin-bottom:12px;padding:0;font-weight:700}.avatar-picker__current{align-items:center;gap:16px;margin-bottom:16px;display:flex}.avatar-picker__current p{margin:0 0 4px}.avatar-picker__name{font-weight:700}.avatar-picker__grid{grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:10px;display:grid}.avatar-picker__option{background:var(--surface);cursor:pointer;text-align:center;border:2px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;display:flex;position:relative}.avatar-picker__option:hover{border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.avatar-picker__option[data-checked]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface))}.avatar-picker__option:focus-within{outline:3px solid var(--accent);outline-offset:2px}.avatar-picker__input{clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.avatar-picker__label{color:var(--text-muted);font-size:.8rem;line-height:1.2}.avatar-picker__option[data-checked] .avatar-picker__label{color:var(--text);font-weight:600}.button-style__intro{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:16px;display:flex}.button-style__layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.button-style__preview{border:1px solid var(--surface-active);background:var(--bg);border-radius:18px;padding:20px;position:sticky;top:16px}.button-style__preview>.ui-actions:first-of-type{margin-top:0}.button-style__preview-title{margin:0 0 14px}.button-style__color-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.button-style__color{border:1px solid var(--surface-active);background:var(--bg);cursor:pointer;border-radius:10px;width:56px;height:40px;padding:2px}.button-style__color:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.button-style__card-sample{aspect-ratio:4/3;border-radius:14px;width:min(220px,100%);margin-top:16px;position:relative;overflow:hidden}.button-style__card-art{background:radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--accent) 55%, transparent), transparent 60%), linear-gradient(135deg, var(--surface-active), var(--surface));position:absolute;inset:0}.button-style__card-action{position:absolute;bottom:10px;right:10px}@media (width<=900px){.button-style__layout{grid-template-columns:minmax(0,1fr)}.button-style__preview{order:-1;position:static}}.app-header__center{justify-content:center;display:flex}.app-header__status{justify-content:flex-end}@media (width<=720px){.app-header{grid-template-columns:minmax(0,1fr);justify-items:start;gap:10px}.app-header__center,.app-header__status{justify-content:flex-start}}.admin-system__checkbox-label{cursor:pointer;align-items:center;gap:10px;font-weight:600;display:inline-flex}.admin-system__checkbox-label input{width:20px;height:20px;accent-color:var(--accent);margin:0}.admin-dashboard__steps{flex-direction:column;gap:8px;margin:0;padding-left:1.4rem;display:flex}.admin-dashboard__command{background:var(--bg);border:1px solid var(--surface-active);white-space:pre;border-radius:10px;margin:6px 0 0;padding:8px 12px;font-size:.85rem;overflow-x:auto}.controller-catalog__systems,.controller-catalog__controllers{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.controller-catalog__controllers{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.controller-catalog__system-card{border:1px solid color-mix(in srgb, var(--surface-active) 78%, var(--accent));background:color-mix(in srgb, var(--bg) 45%, var(--surface));width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;display:flex}.controller-catalog__system-card:hover,.controller-catalog__system-card:focus-visible{border-color:var(--accent)}.controller-catalog__system-card:focus-visible,.controller-catalog__controller-open:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.controller-catalog__system-name{font-size:1.02rem;font-weight:700}.controller-catalog__system-meta{color:var(--text-muted);font-size:.85rem}.controller-catalog__system-header{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.controller-catalog__system-header h3{flex:1;margin:0}.controller-catalog__controller{border:1px solid color-mix(in srgb, var(--surface-active) 78%, var(--accent));background:color-mix(in srgb, var(--bg) 45%, var(--surface));border-radius:14px;flex-direction:column;gap:8px;padding:14px;display:flex}.controller-catalog__controller-open{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:6px;display:flex}.controller-catalog__badges{flex-wrap:wrap;gap:6px;display:flex}.controller-catalog__badges .controller-catalog__badge{margin-left:0}.controller-catalog__badge--muted{color:var(--text-muted)}.controller-catalog__confirm{border:1px solid var(--danger);background:color-mix(in srgb, var(--danger) 8%, var(--surface));border-radius:12px;padding:10px 12px}.controller-catalog__confirm p{margin:0 0 8px}.launch-controller__list{flex-direction:column;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}.launch-controller__option{justify-content:space-between;width:100%}.launch-controller__badge{border:1px solid var(--accent);border-radius:999px;padding:2px 8px;font-size:.78rem}.launch-controller__remember{align-items:center;gap:10px;display:inline-flex}.launch-controller__actions,.pi-registration__actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.pi-registration__facts{grid-template-columns:max-content minmax(0,1fr);gap:4px 12px;margin:8px 0;display:grid}.pi-registration__facts dt{color:var(--text-muted)}.pi-registration__facts dd{overflow-wrap:anywhere;margin:0}.platform-art-detail__ownership{font-size:.85rem;font-weight:600}.browser-player__support-note,.auth-form__support-note{color:var(--text-muted);font-style:italic}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-page__hero-action{justify-content:flex-end;align-items:center;display:inline-flex}.admin-page__hero-actions .admin-page__back{align-self:stretch}.admin-disclosure__header{align-items:center;display:flex}.admin-disclosure__header>.admin-disclosure__heading{flex:1;min-width:0}.admin-disclosure__help{flex-shrink:0;padding-right:12px}.admin-heading-with-help{flex-wrap:wrap;align-items:center;gap:4px;margin:0;display:flex}.admin-dashboard__metric-label{justify-content:space-between;align-items:center;gap:6px;display:flex}.help-tip{vertical-align:middle;color:var(--text);margin-left:6px;font-size:.88rem;font-weight:400;display:inline-flex;position:relative}.help-tip__button{border:1px solid color-mix(in srgb, var(--accent) 55%, var(--surface-active));background:var(--surface-active);width:24px;min-width:24px;height:24px;min-height:0;color:var(--text);cursor:help;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.8rem;font-weight:700;line-height:1;display:inline-flex}.help-tip__button:hover,.help-tip__button[aria-expanded=true]{background:color-mix(in srgb, var(--accent) 28%, var(--surface-active))}.help-tip__button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (pointer:coarse){.help-tip__button{width:32px;min-width:32px;height:32px}}.help-tip__popup{z-index:40;border:1px solid color-mix(in srgb, var(--accent) 45%, var(--surface-active));background:var(--surface);width:min(18rem,100vw - 32px);color:var(--text);letter-spacing:normal;text-align:left;text-transform:none;white-space:normal;border-radius:12px;flex-direction:column;gap:6px;padding:12px 14px;font-size:.88rem;font-weight:400;line-height:1.4;display:flex;position:fixed;top:16px;left:16px;box-shadow:0 12px 32px #00000059}.help-tip__title{font-size:.92rem}.help-tip__body--long{color:var(--text-muted)}.admin-option{flex-direction:column;gap:6px;padding:10px 0;display:flex}.admin-option+.admin-option{border-top:1px solid color-mix(in srgb, var(--surface-active) 60%, transparent)}.admin-option__label-row{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.admin-option__label-row .auth-form__label{margin:0}.admin-option__slider{width:min(100%,22rem);accent-color:var(--accent)}.admin-save-state{color:var(--text-muted);margin-left:auto;font-size:.8rem}.admin-save-state--failed{color:var(--danger)}.admin-toggle{cursor:pointer;align-items:center;gap:10px;min-height:44px;display:inline-flex;position:relative}.admin-toggle__input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.admin-toggle__track{border:1px solid color-mix(in srgb, var(--text-muted) 45%, transparent);background:var(--surface-active);border-radius:999px;flex-shrink:0;width:44px;height:24px;transition:background .15s;position:relative}.admin-toggle__track:after{content:"";background:var(--text-muted);border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px}.admin-toggle__input:checked+.admin-toggle__track{background:color-mix(in srgb, var(--accent) 70%, var(--surface-active))}.admin-toggle__input:checked+.admin-toggle__track:after{background:var(--bg);transform:translate(20px)}.admin-toggle__input:focus-visible+.admin-toggle__track{outline:3px solid var(--accent);outline-offset:2px}.admin-toggle__input:disabled+.admin-toggle__track{opacity:.5}.device-center{flex-direction:column;gap:16px;display:flex}.device-center__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.device-center__summary{margin:0;font-weight:600}.device-center__toolbar-actions{align-items:center;gap:10px;display:inline-flex}.device-center__cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));align-items:start;gap:16px;display:grid}.device-card{border:1px solid color-mix(in srgb, var(--surface-active) 78%, var(--accent));background:color-mix(in srgb, var(--bg) 40%, var(--surface));border-left-width:5px;border-radius:18px;flex-direction:column;gap:12px;min-width:0;padding:16px 18px;display:flex}.device-card--healthy{border-left-color:var(--accent)}.device-card--attention{border-left-color:var(--warn)}.device-card--offline{border-left-color:var(--danger)}.device-card--unknown{border-left-color:var(--text-muted)}.device-card__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.device-card__header h3{margin:2px 0;font-size:1.2rem}.device-card__kind{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:700}.device-card__health{align-items:center;display:inline-flex}.device-card__health-badge{background:var(--surface-active);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;font-weight:700;display:inline-flex}.device-card__dot{background:currentColor;border-radius:50%;width:10px;height:10px}.device-card__health-badge--healthy{color:var(--accent)}.device-card__health-badge--attention{color:var(--warn)}.device-card__health-badge--offline{color:var(--danger)}.device-card__health-badge--unknown{color:var(--text-muted)}.device-card__summary{color:var(--text-muted);margin:0;font-size:.9rem}.device-card__facts{grid-template-columns:minmax(7rem,max-content) 1fr;gap:8px 12px;margin:0;display:grid}.device-card__facts dt{color:var(--text-muted);align-items:center;font-weight:600;display:flex}.device-card__facts dd{min-width:0;margin:0}@media (width<=560px){.device-card__facts{grid-template-columns:1fr}.device-card__facts dd{margin-bottom:6px}}.device-card__chips,.device-card__layers,.device-card__elsewhere,.device-card__progress{margin:0;padding:0;list-style:none}.device-card__chips{flex-wrap:wrap;gap:6px;display:flex}.device-card__chip{background:var(--surface-active);border:1px solid #0000;border-radius:999px;padding:3px 10px;font-size:.8rem}.device-card__chip--healthy{border-color:color-mix(in srgb, var(--accent) 60%, transparent)}.device-card__chip--unhealthy{border-color:var(--danger);color:var(--danger)}.device-card__chip--not-configured,.device-card__chip--not-installed{color:var(--text-muted)}.device-card__block{border-top:1px solid color-mix(in srgb, var(--surface-active) 70%, transparent);flex-direction:column;gap:8px;padding-top:10px;display:flex}.device-card__block h4{margin:0;font-size:1rem}.device-card__block p{margin:0}.device-card__runtime{flex-direction:column;gap:4px;display:flex}.device-card__runtime-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.device-card__layers{flex-wrap:wrap;gap:4px;display:flex}.device-card__layer{border:1px solid;border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:600}.device-card__layer--ok{border-color:var(--accent);color:var(--accent)}.device-card__layer--warn{border-color:var(--warn);color:var(--warn)}.device-card__layer--bad{border-color:var(--danger);color:var(--danger)}.device-card__layer--na{border-color:var(--surface-active);color:var(--text-muted);border-style:dashed}.device-card__job{flex-direction:column;gap:4px;display:flex}.device-card__job-badge{background:var(--surface-active);border-radius:999px;width:fit-content;padding:2px 10px;font-size:.82rem;font-weight:700}.device-card__job-badge--pending,.device-card__job-badge--running{color:var(--warn)}.device-card__job-badge--success{color:var(--accent)}.device-card__job-badge--failed{color:var(--danger)}.device-card__waiting{color:var(--warn);align-items:center;font-size:.85rem;font-weight:600;display:inline-flex}.device-card__progress{gap:4px;max-width:22rem;display:flex}.device-card__progress li{border-top:4px solid var(--surface-active);color:var(--text-muted);text-align:center;flex:1;padding-top:6px;font-size:.72rem}.device-card__progress li.device-card__progress-step--done{border-top-color:var(--accent);color:var(--text)}.device-card__progress li.device-card__progress-step--current{border-top-color:var(--warn);color:var(--text)}.device-card__progress li.device-card__progress-step--failed{border-top-color:var(--danger)}.device-card__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.device-card__action{align-items:center;display:inline-flex}.device-card__elsewhere{color:var(--text-muted);flex-wrap:wrap;flex-basis:100%;gap:4px 14px;font-size:.85rem;display:flex}.device-card__elsewhere li{align-items:center;display:inline-flex}.device-card__planner{flex-direction:column;gap:10px;display:flex}
