:root{--ui-scale: 1;--c-bg: #121212;--c-surface: #1a1a1a;--c-surface2: #222222;--c-surface3: #2a2a2a;--c-border: #333333;--c-border-lt: #444444;--c-accent: #e60012;--c-accent-h: #ff1a1a;--c-accent-light: #ff4d4d;--c-accent-dark: #99000c;--c-accent-dim: rgba(230, 0, 18, .15);--c-accent-glow: rgba(230, 0, 18, .4);--c-gold: #b89040;--c-gold-h: #cca855;--c-gold-dim: rgba(184, 144, 64, .14);--c-gold-glow: rgba(184, 144, 64, .25);--c-accent-2: #7a98b8;--c-accent-2-dim: rgba(122, 152, 184, .14);--c-accent-2-glow: rgba(122, 152, 184, .25);--c-joy-red: #c84040;--c-joy-blue: #3a72cc;--c-joy-red-dim: rgba(200, 64, 64, .12);--c-joy-blue-dim: rgba(58, 114, 204, .12);--c-danger: #c84040;--c-warn: #b89040;--c-success: #3a9a60;--c-fav: #f43f5e;--c-status-running: #00ff00;--c-status-paused: #ffaa00;--c-status-online: #00ff88;--c-status-offline: #ff4444;--c-status-inactive: #555555;--c-white: #ffffff;--c-black: #000000;--c-doctor-pass: #4CAF50;--c-doctor-warn: #FFC107;--c-doctor-fail: #F44336;--c-tier-ok: #00ff88;--c-tier-ok-text: #004422;--c-tier-mid: #ffcc00;--c-tier-mid-text: #443300;--c-tier-warn: #ff4444;--c-tier-warn-text:#440000;--c-perfect-match: #00e676;--c-text: #dcdce8;--c-text-dim: #848499;--c-text-faint: #545468;--c-text-muted: #696978;--radius: 8px;--radius-sm: 5px;--radius-lg: 13px;--radius-xl: 18px;--radius-pill: 999px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px);--header-h: clamp(64px, 6vw, 72px);--footer-h: clamp(56px, 5vw, 64px);--sidebar-w: 300px;--settings-sidebar-w: clamp(162px, 22vw, 320px);--shell-gutter: clamp(16px, 3vw, 40px);--shell-gutter-lg: clamp(24px, 5vw, 72px);--section-gap: clamp(16px, 2.5vw, 32px);--library-shell-max-w: min(1200px, calc(100vw - (var(--shell-gutter) * 2)));--content-max-w: min(800px, calc(100vw - (var(--shell-gutter) * 2)));--toast-bottom: calc(var(--footer-h) + var(--safe-bottom) + 14px);--transition: .18s ease;--transition-fast: .1s ease;--transition-med: .25s ease;--spring: .3s cubic-bezier(.34, 1.56, .64, 1);--spring-fast: .2s cubic-bezier(.34, 1.56, .64, 1);--ease-premium-out: cubic-bezier(.16, 1, .3, 1);--shadow: 0 20px 60px rgba(0, 0, 0, .85);--shadow-sm: 0 4px 18px rgba(0, 0, 0, .55);--shadow-lg: 0 32px 80px rgba(0, 0, 0, .9);--shadow-card: 0 4px 16px rgba(0, 0, 0, .65);--shadow-card-inset: inset 0 1px 0 rgba(255, 255, 255, .05);--shadow-lift: 0 14px 40px rgba(0, 0, 0, .75);--glass-bg: rgba(10, 10, 13, .95);--glass-border: rgba(55, 55, 75, .5);--font-display: "Exo 2", system-ui, -apple-system, "Segoe UI", sans-serif;--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", "Trebuchet MS", sans-serif;--font-mono: "SF Mono", "Fira Code", "JetBrains Mono", "Consolas", monospace;font-family:var(--font-sans);font-size:calc(clamp(14px,.14vw + 13.1px,15px) * var(--ui-scale));color:var(--c-text);background:var(--c-bg);color-scheme:dark;--ease-out: cubic-bezier(.16, 1, .3, 1);--bg-gradient: radial-gradient(circle at top left, #1a1a1a 0%, #121212 100%);--accent-gradient: linear-gradient(135deg, var(--c-accent) 0%, var(--c-accent-dark) 100%);--glass-fx: saturate(180%) blur(20px);--glass-bg-accent: rgba(230, 0, 18, .08);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slide-in-right-fade{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.7}}@keyframes loading-pulse{0%,to{box-shadow:0 0 20px var(--c-accent-glow),0 0 40px var(--c-accent-glow)}50%{box-shadow:0 0 40px var(--c-accent-glow),0 0 80px var(--c-accent-glow)}}@keyframes loading-logo-breathe{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.05);opacity:1}}@keyframes card-appear{0%{opacity:0;transform:translateY(32px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}[hidden],.hidden{display:none!important}.hidden-section{display:none}html,body{height:100%;overflow:hidden;background-color:var(--c-bg);color:var(--c-text);font-family:var(--font-sans);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;text-rendering:geometricPrecision}#app{display:flex;flex-direction:column;height:100%;min-height:100dvh}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--c-border-lt);border-radius:10px;border:2px solid var(--c-bg)}::-webkit-scrollbar-thumb:hover{background:var(--c-accent)}@supports (scrollbar-width: thin){*{scrollbar-width:thin;scrollbar-color:var(--c-border-lt) transparent}}.skip-link{position:absolute;top:-40px;left:8px;padding:8px 16px;background:var(--c-accent);color:#fff;border-radius:8px;z-index:9999;transition:top .1s}.skip-link:focus,.skip-link:focus-visible{top:8px;outline:2px solid var(--c-white);outline-offset:3px}button,input,select{font:inherit}button{color:inherit}.btn{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--c-border-lt);border-radius:var(--radius);padding:0 14px;background:var(--c-surface2);color:var(--c-text);font-weight:800;line-height:1;cursor:pointer;text-decoration:none;app-region:no-drag;-webkit-app-region:no-drag;transition:background var(--transition),border-color var(--transition),color var(--transition),transform var(--transition-fast),box-shadow var(--transition)}.btn:hover{background:var(--c-surface3);border-color:var(--c-text-dim);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:focus-visible,.library-search:focus-visible,.library-sort:focus-visible,.drop-zone:focus-visible,.layout-btn:focus-visible,.settings-sidebar__item:focus-visible,.settings-search-input:focus-visible,.landing__legal a:focus-visible{outline:2px solid var(--c-accent-light);outline-offset:3px}.btn--primary{background:var(--c-accent);border-color:var(--c-accent-light);color:var(--c-white);box-shadow:0 10px 24px var(--c-accent-dim)}.btn--primary:hover{background:var(--c-accent-h);border-color:var(--c-accent-light);box-shadow:0 12px 28px #e6001238}.btn--primary:active{box-shadow:0 8px 20px #e6001229}.btn--ghost{background:transparent;border-color:var(--c-border);color:var(--c-text-dim)}.btn--ghost:hover,.btn--ghost.active{background:var(--c-surface2);border-color:var(--c-border-lt);color:var(--c-white)}.btn--highlight{background:var(--c-accent-2-dim);border-color:#7a98b873;color:#dcecff}.btn--highlight:hover{background:#7a98b838}.btn--icon{width:36px;padding:0}.btn--sm{min-height:32px;padding:0 12px;font-size:.9rem}.btn--danger{background:var(--c-danger);border-color:var(--c-danger);color:var(--c-white)}.btn--danger:hover{background:#d44;border-color:#d44}.btn--danger-filled{background:var(--c-danger);border-color:var(--c-danger);color:var(--c-white);box-shadow:0 4px 12px #c840404d}.btn--danger-filled:hover{background:#d44;border-color:#d44}.btn--active{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-white)}.btn--hero{min-height:48px;padding:0 clamp(24px,3vw,32px);font-size:1.1rem;background:var(--c-accent);border:none;border-radius:var(--radius-lg);color:var(--c-white);font-weight:800;box-shadow:0 8px 24px var(--c-accent-dim)}.btn--hero:hover{background:var(--c-accent-h);transform:translateY(-2px);box-shadow:0 12px 32px var(--c-accent-dim)}.kbd--inline{min-width:22px;padding:2px 5px;border-radius:5px;border:1px solid rgba(255,255,255,.16);background:#ffffff14;color:var(--c-text-dim);font:700 .7rem/1 var(--font-mono)}.app-header{min-height:var(--header-h);background:var(--c-surface);border-bottom:3px solid var(--c-accent);padding:env(titlebar-area-y,0) calc(var(--shell-gutter) + env(safe-area-inset-right,0)) 0 calc(var(--shell-gutter) + env(safe-area-inset-left,0));display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 30px #0009;position:sticky;top:0;z-index:100;app-region:drag;-webkit-app-region:drag;transition:background .3s ease}.app-header__brand,.app-header__actions{display:flex;align-items:center;app-region:no-drag;-webkit-app-region:no-drag}.app-header__brand{min-width:0;gap:clamp(10px,1.5vw,14px);flex:0 1 auto}.app-header__actions{min-width:0;justify-content:flex-end;gap:clamp(8px,1vw,12px);flex:1 1 auto;margin-left:clamp(16px,2vw,24px);overflow:hidden}.app-header__actions.overflows .perf-chip{display:none}.app-header:after{content:"";position:absolute;bottom:-3px;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--c-accent-h),transparent);background-size:200% 100%;animation:header-glow 5s infinite linear;opacity:.85}@keyframes header-glow{0%{background-position:-100% 0}to{background-position:100% 0}}html[data-network=offline] .app-header{border-bottom-color:color-mix(in srgb,var(--c-status-offline) 35%,var(--c-accent))}html[data-network=offline] .app-header:after{animation:none;opacity:.42;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--c-status-offline) 65%,transparent),transparent)}.brand-long{font-family:"Exo 2",sans-serif;font-weight:900;font-size:clamp(1.35rem,1.05rem + 1vw,1.7rem);letter-spacing:-.04em;color:#fff;text-transform:uppercase;text-shadow:0 0 15px var(--c-accent-glow)}.brand-logo{flex-shrink:0;width:clamp(40px,4vw,44px);height:clamp(40px,4vw,44px);object-fit:contain;transition:transform .3s var(--spring)}.brand-logo:hover{transform:scale(1.1)}.perf-chip{min-height:clamp(28px,3vw,30px);display:inline-flex;align-items:center;gap:6px;padding:0 10px;border-radius:var(--radius-pill);border:1px solid var(--c-border);color:var(--c-text-dim);font-weight:800;white-space:nowrap}.perf-chip--warn{border-color:#b890406b;background:var(--c-gold-dim);color:#ecd59b}.app-main{flex:1;position:relative;overflow:hidden}body.is-playing .app-header,body.is-playing .app-footer{display:none!important}body.is-playing .app-main{height:100vh;isolation:isolate;contain:layout}body.is-playing #ejs-container.visible{contain:layout paint}body.is-playing #landing.hidden{contain:strict;content-visibility:hidden}#landing{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:var(--section-gap) var(--shell-gutter) calc(var(--shell-gutter) + var(--footer-h));display:flex;flex-direction:column;align-items:center}#library-section{width:100%;max-width:var(--library-shell-max-w)}.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:clamp(18px,3vw,28px);padding:clamp(20px,3vw,24px) 0;border-bottom:2px solid var(--c-border);margin-bottom:clamp(24px,3vw,32px)}.library-title-row{min-width:180px;display:flex;align-items:center;gap:clamp(10px,1.5vw,12px)}.library-title{font-family:"Exo 2",sans-serif;font-weight:900;font-size:clamp(1.75rem,1.35rem + 1.1vw,2rem);margin:0;color:#fff}.library-search-wrap{position:relative;flex:1 1 280px;max-width:clamp(320px,36vw,440px)}.library-search{width:100%;background:var(--c-surface2);border:3px solid var(--c-border);border-radius:999px;padding-top:clamp(12px,1.8vw,14px);padding-right:clamp(18px,2vw,24px);padding-bottom:clamp(12px,1.8vw,14px);padding-left:clamp(40px,4vw,48px);color:#fff;font-size:1rem;transition:all .3s ease}.library-search:focus{border-color:var(--c-accent);background:var(--c-surface3);box-shadow:0 0 20px var(--c-accent-glow);outline:none}.library-search-icon{position:absolute;left:clamp(14px,1.8vw,18px);top:50%;transform:translateY(-50%);color:var(--c-text-dim)}.library-controls{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:clamp(8px,1vw,10px);flex:1 1 auto;flex-wrap:wrap}.library-layout-toggle{display:inline-flex;align-items:center;gap:6px}.library-sort{min-height:clamp(34px,4vw,36px);max-width:150px;border:1px solid var(--c-border);border-radius:var(--radius);padding:0 10px;background:var(--c-surface2);color:var(--c-text);font-weight:700}.library-search-clear{position:absolute;top:50%;right:12px;width:28px;height:28px;transform:translateY(-50%);border:0;border-radius:50%;background:var(--c-surface3);color:var(--c-text-dim);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.library-search-clear .icon-close-x{width:14px;height:14px}.library-search-clear:focus-visible{outline:2px solid var(--c-accent-light);outline-offset:2px;color:var(--c-white)}#file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.drop-zone{width:min(var(--content-max-w),100%);margin:clamp(24px,4vw,40px) auto 0;padding:clamp(24px,4vw,36px) clamp(20px,4vw,32px);display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2vw,12px);border:2px dashed var(--c-border-lt);border-radius:var(--radius-xl);background:linear-gradient(180deg,#ffffff09,#ffffff04);color:var(--c-text);text-align:center;cursor:pointer;transition:border-color var(--transition),background var(--transition),transform var(--transition)}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--c-accent-light);background:var(--c-accent-dim);transform:translateY(-2px)}.drop-zone__icon{width:clamp(40px,6vw,48px);height:clamp(40px,6vw,48px);display:grid;place-items:center;border-radius:50%;background:var(--c-surface2);color:#fff}.drop-zone__label{color:#fff;font-family:var(--font-display);font-size:clamp(1.15rem,1rem + .8vw,1.35rem);font-weight:900}.drop-zone__sub{max-width:min(520px,100%);color:var(--c-text-dim);line-height:1.45}.drop-zone__browse{color:#fff;font-weight:800;text-decoration:underline;text-decoration-color:var(--c-accent)}.drop-zone__actions{margin-top:8px}.drop-zone__formats{max-width:min(620px,100%);color:var(--c-text-faint);font-size:.86rem;line-height:1.4}.library-hero{position:relative;width:100%;min-height:clamp(360px,42vw,480px);border-radius:clamp(24px,3vw,32px);overflow:hidden;background:var(--c-surface2);border:6px solid transparent;display:flex;margin-bottom:clamp(32px,4vw,48px);box-shadow:var(--shadow-lg),var(--shadow-card-inset);transition:transform .45s var(--ease-premium-out),border-color .45s var(--ease-premium-out),box-shadow .45s var(--ease-premium-out)}.library-hero:hover{border-color:#fffffff0;transform:scale(1.008);box-shadow:0 0 0 1px #ffffff0f,0 0 0 9px #e6001238,var(--shadow-lg)}.library-hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;filter:brightness(.5) saturate(1.2);transition:transform 1.2s ease}.library-hero:hover .library-hero__bg{transform:scale(1.08)}.library-hero__content{position:relative;z-index:2;padding:clamp(32px,6vw,72px);display:flex;flex-direction:column;justify-content:flex-end;gap:clamp(16px,3vw,24px);max-width:min(800px,70%);background:linear-gradient(90deg,rgba(18,18,18,.98) 0%,rgba(18,18,18,.75) 50%,transparent 100%)}.library-hero__tag{background:var(--c-accent);color:#fff;padding:6px 18px;border-radius:6px;font-size:.85rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em;width:fit-content}.library-hero__title{font-family:"Exo 2",sans-serif;font-size:clamp(2.6rem,6vw,4.2rem);font-weight:900;line-height:1;color:#fff}.library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(220px,24vw,260px),1fr));gap:clamp(24px,4vw,48px);padding:clamp(28px,4vw,48px) 0}#library-highlights:empty,.system-filter:empty,.library-grid:empty{display:none;padding:0}.game-card{position:relative;aspect-ratio:1 / 1.4;background:var(--c-surface3);border-radius:28px;border:5px solid transparent;overflow:hidden;transition:transform .38s var(--ease-premium-out),border-color .38s var(--ease-premium-out),box-shadow .38s var(--ease-premium-out);box-shadow:var(--shadow-card),var(--shadow-card-inset);cursor:pointer;animation:card-appear .5s var(--ease-premium-out) both}.game-card:nth-child(1){animation-delay:0s}.game-card:nth-child(2){animation-delay:.04s}.game-card:nth-child(3){animation-delay:.08s}.game-card:nth-child(4){animation-delay:.12s}.game-card:nth-child(5){animation-delay:.16s}.game-card:nth-child(6){animation-delay:.2s}.game-card:nth-child(7){animation-delay:.24s}.game-card:nth-child(8){animation-delay:.28s}.game-card:hover{transform:translateY(-7px);border-color:#fffffff2;box-shadow:0 22px 48px #000000b8,0 0 0 1px #ffffff0d,0 0 0 7px #e6001247;z-index:10}.game-card__icon{width:100%;height:100%;position:relative;background:var(--sys-gradient, #000);overflow:hidden;border-radius:inherit}.game-card__cover-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:2;transition:transform .65s var(--ease-premium-out)}.game-card:hover .game-card__cover-art{transform:scale(1.08)}.game-card__info{position:absolute;bottom:0;left:0;right:0;padding:clamp(18px,3vw,32px);background:linear-gradient(to top,rgba(0,0,0,.98) 0%,transparent 100%);transform:translateY(100%);transition:transform .3s var(--spring);z-index:3;pointer-events:none}.game-card:hover .game-card__info{transform:translateY(0)}.game-card__name{font-family:"Exo 2",sans-serif;font-weight:900;font-size:1.3rem;color:#fff}.game-card__patch,.game-card__art-btn,.game-card__change-sys,.game-card__fav,.game-card__remove{position:absolute;bottom:14px;z-index:8;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.28);border-radius:8px;background:#101218c7;color:#fff;box-shadow:0 8px 20px #00000059;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease}.game-card__patch:hover,.game-card__art-btn:hover,.game-card__change-sys:hover,.game-card__fav:hover,.game-card__remove:hover,.game-card__patch:focus-visible,.game-card__art-btn:focus-visible,.game-card__change-sys:focus-visible,.game-card__fav:focus-visible,.game-card__remove:focus-visible{transform:translateY(-2px);background:#222632eb;border-color:#ffffff9e;outline:2px solid var(--c-accent-light);outline-offset:2px}.game-card__remove .icon-close-x{width:15px;height:15px}.game-card__remove{right:14px}.game-card__fav{right:56px}.game-card__change-sys{right:98px}.game-card__art-btn{right:140px}.game-card__art-btn:before{content:"";flex-shrink:0;width:17px;height:17px;background-color:currentColor;mask:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M21%2019V5c0-1.1-.9-2-2-2H5c-1.1%200-2%20.9-2%202v14c0%201.1.9%202%202%202h14c1.1%200%202-.9%202-2zM8.5%2013.5l2.5%203.01L14.5%2012l4.5%206H5l3.5-4.5z%22%2F%3E%3C%2Fsvg%3E) center / contain no-repeat;-webkit-mask:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22white%22%20d%3D%22M21%2019V5c0-1.1-.9-2-2-2H5c-1.1%200-2%20.9-2%202v14c0%201.1.9%202%202%202h14c1.1%200%202-.9%202-2zM8.5%2013.5l2.5%203.01L14.5%2012l4.5%206H5l3.5-4.5z%22%2F%3E%3C%2Fsvg%3E) center / contain no-repeat}.game-card__art-btn--loading:before{mask:none;-webkit-mask:none;background:transparent;border:2px solid rgba(255,255,255,.28);border-top-color:#fffffff2;border-radius:50%;width:14px;height:14px;animation:game-card-art-btn-spin .55s linear infinite}.game-card__patch{right:182px}.game-card__fav.active{color:#ffd34d}.game-card__play-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;transition:opacity .2s ease}.game-card:hover .game-card__play-overlay,.game-card:focus-visible .game-card__play-overlay{opacity:1}.game-card__play-btn{width:64px;height:64px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#00000094;color:#fff;font-size:1.5rem;box-shadow:0 12px 32px #00000073;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.system-filter{display:flex;gap:24px;padding:24px 0;overflow-x:auto;scrollbar-width:none}.system-filter::-webkit-scrollbar{display:none}.sys-filter-chip{display:flex;align-items:center;gap:16px;padding:18px 36px;background:var(--c-surface2);border:3px solid var(--c-border);border-radius:999px;color:#fff;transition:all .25s var(--spring);cursor:pointer;white-space:nowrap}.sys-filter-chip:hover{transform:translateY(-4px);border-color:var(--c-text-dim)}.sys-filter-chip.active{background:var(--c-accent);border-color:#fff;box-shadow:0 12px 32px var(--c-accent-glow);transform:scale(1.05)}.sys-filter-chip:focus-visible{outline:2px solid var(--c-accent-light);outline-offset:3px}.sys-filter-chip__icon svg,.sys-filter-chip__glyph{width:1.35rem;height:1.35rem;display:block}.game-card__sys-icon .ui-decor-gamepad{width:clamp(44px,26%,92px);height:auto;display:block;opacity:.92}#ejs-container{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:#000;opacity:0;visibility:hidden;transition:all .3s ease}#ejs-container.visible{opacity:1;visibility:visible}#ejs-player{width:100%;height:100%}#ejs-container[data-emu-viewport] #ejs-player.ejs_parent{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:0}#ejs-container[data-emu-viewport] #ejs-player .ejs_canvas_parent{box-sizing:border-box;flex:0 0 auto;width:auto;height:auto;max-width:100%;max-height:100%;aspect-ratio:var(--emu-screen-ar, 4 / 3);display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}#ejs-container[data-emu-viewport] #ejs-player .ejs_canvas_parent canvas{width:100%!important;height:100%!important;max-width:100%;max-height:100%;display:block;object-fit:contain!important}#ejs-container[data-emu-pixelated] #ejs-player .ejs_canvas_parent canvas{image-rendering:pixelated;image-rendering:crisp-edges}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:1000}.modal-box{background:var(--c-surface);border:2px solid var(--c-border);border-radius:32px;padding:clamp(28px,5vw,48px);max-width:640px;width:90%;box-shadow:var(--shadow-lg);margin:auto;position:fixed;top:0;right:0;bottom:0;left:0;height:fit-content;z-index:1001}#system-picker:not([hidden]){position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:block}.settings-modal-box{width:var(--library-shell-max-w);max-width:none;height:min(800px,calc(100vh - (var(--shell-gutter) * 2)));max-height:none;padding:0;display:flex;flex-direction:column;overflow:hidden}@media(max-width:768px){.settings-modal-box{width:100vw;height:100vh;border-radius:0}.settings-modal-box .modal-header{padding-top:max(24px,env(safe-area-inset-top,0px));padding-right:max(var(--shell-gutter),env(safe-area-inset-right,0px));padding-left:max(var(--shell-gutter),env(safe-area-inset-left,0px))}}.settings-modal-box .modal-header{flex:0 0 auto;padding:clamp(18px,3vw,24px) clamp(20px,4vw,32px);border-bottom:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;gap:16px}.modal-title{margin:0;color:#fff;font-family:var(--font-display);font-weight:900}.modal-close{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--c-border-lt);border-radius:var(--radius);background:var(--c-surface2);color:var(--c-text);cursor:pointer;font-size:1.1rem;line-height:1;transition:background var(--transition),border-color var(--transition),transform var(--transition-fast)}.modal-close:hover{background:var(--c-surface3);border-color:var(--c-text-dim);transform:translateY(-1px)}.modal-close:focus-visible{background:var(--c-surface3);border-color:var(--c-accent-light);outline:2px solid var(--c-accent-light);outline-offset:3px}.modal-close .icon-close-x{display:block;width:18px;height:18px}.app-footer{min-height:var(--footer-h);background:var(--c-surface);border-top:1px solid var(--c-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--shell-gutter);padding-bottom:max(0px,env(safe-area-inset-bottom,0px))}.footer-left,.footer-center,.footer-right{flex:1;display:flex;align-items:center}.footer-left{flex-wrap:wrap;gap:8px 14px;min-width:0}.footer-center{justify-content:center;font-weight:900;font-size:clamp(1.1rem,.9rem + 1vw,1.4rem);font-family:"Exo 2",sans-serif}.footer-right{justify-content:flex-end;gap:clamp(16px,2vw,24px);font-weight:700;font-size:.95rem;color:var(--c-text-dim)}.footer-battery{color:var(--c-status-running);display:inline-flex;align-items:center;gap:4px}.footer-battery__icon{display:inline-flex;flex-shrink:0}.footer-battery__icon .footer-battery__glyph{width:16px;height:16px;display:block}.footer-connectivity{display:inline-flex;align-items:center;gap:8px;margin-left:16px;padding:4px 10px;border-radius:999px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--c-text-dim);background:color-mix(in srgb,var(--c-surface3) 85%,transparent);border:1px solid var(--c-border);transition:border-color var(--transition-fast),opacity var(--transition-fast)}.footer-connectivity__dot{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center}.footer-connectivity__dot.status--offline:before{content:"";width:8px;height:8px;background:var(--c-status-offline);border-radius:50%;display:block;box-shadow:0 0 8px color-mix(in srgb,var(--c-status-offline) 55%,transparent)}.footer-connectivity--offline{opacity:.92;border-color:color-mix(in srgb,var(--c-status-offline) 35%,var(--c-border))}.footer-connectivity__label{transition:color var(--transition-fast),opacity var(--transition-fast)}.footer-connectivity:not(.footer-connectivity--offline) .footer-connectivity__label{color:color-mix(in srgb,var(--c-status-online) 55%,var(--c-text-dim))}.footer-connectivity--offline .footer-connectivity__label{color:color-mix(in srgb,var(--c-status-offline) 70%,var(--c-text-dim))}@media(prefers-reduced-motion:reduce){.footer-connectivity .footer-connectivity__dot.status--online:before{animation:none!important}}.cover-art-panel__hint--offline{color:var(--c-text-dim);font-size:.88rem;margin-bottom:8px}.cover-art-panel--discover-offline .cover-art-btn--discover{opacity:.55}.cover-art-panel--discover-offline .cover-art-panel__label{color:var(--c-text-muted);letter-spacing:.02em}.library-controls__fetch-covers:disabled{opacity:.48;cursor:not-allowed}.pwa-install__icon{display:inline-flex;align-items:center}.pwa-install__glyph{width:18px;height:18px;display:block}@media(max-width:768px){.app-header{height:auto;min-height:var(--header-h);padding-top:max(10px,env(safe-area-inset-top,0px));padding-right:max(var(--shell-gutter),env(safe-area-inset-right,0px));padding-bottom:10px;padding-left:max(var(--shell-gutter),env(safe-area-inset-left,0px));gap:12px;align-items:flex-start}.brand-long{font-size:1.25rem}.brand-logo{width:36px;height:36px}.app-header__actions{gap:8px;margin-left:0;flex-wrap:wrap}.app-header__actions .btn{min-height:44px;padding:0 12px;font-size:.86rem}.kbd--inline,.perf-chip{display:none}.library-toolbar{position:static;flex-direction:column;align-items:stretch;gap:16px;margin:0 0 24px;padding:0 0 20px;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.library-title-row{justify-content:space-between}.library-controls{justify-content:stretch}.library-search-wrap{flex:1 1 100%;max-width:none}.drop-zone{margin-top:24px;padding:28px 20px}.welcome-steps,.onboarding__features{grid-template-columns:1fr}.onboarding{padding:40px 0 24px}.onboarding__card{padding:28px 22px;border-radius:var(--radius-xl)}.library-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:24px}.library-hero__content{max-width:100%;padding:32px 24px}.library-hero__title{font-size:2.2rem}#landing{padding-top:max(var(--section-gap),env(safe-area-inset-top,0px));padding-right:max(var(--shell-gutter),env(safe-area-inset-right,0px));padding-bottom:max(calc(var(--footer-h) + 24px),calc(var(--footer-h) + env(safe-area-inset-bottom,0px)));padding-left:max(var(--shell-gutter),env(safe-area-inset-left,0px))}.modal-box:not(.settings-modal-box){max-height:calc(100vh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding-top:max(48px,calc(32px + env(safe-area-inset-top,0px)));padding-right:max(48px,calc(24px + env(safe-area-inset-right,0px)));padding-bottom:max(48px,calc(32px + env(safe-area-inset-bottom,0px)));padding-left:max(48px,calc(24px + env(safe-area-inset-left,0px)))}.confirm-box{padding-top:max(var(--section-gap),env(safe-area-inset-top,0px));padding-right:max(var(--shell-gutter),env(safe-area-inset-right,0px));padding-bottom:max(var(--section-gap),env(safe-area-inset-bottom,0px));padding-left:max(var(--shell-gutter),env(safe-area-inset-left,0px))}}@media(max-width:480px){.library-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.game-card{border-width:3px;border-radius:20px}.game-card__info{padding:16px}.game-card__name{font-size:1.1rem}.app-footer{padding:0 var(--shell-gutter)}.footer-right{display:none}}@media(max-width:1024px)and ((pointer:coarse)or (hover:none)){.library-toolbar{position:static;flex-direction:column;align-items:stretch;gap:16px;margin:0 0 24px;padding:0 0 20px;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.library-controls{justify-content:stretch;flex-wrap:wrap}.library-search-wrap{flex:1 1 100%;max-width:none}#landing{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}}html.touch-ui{--touch-min: 44px}html.touch-ui .fab,html.touch-ui .fab--mobile{display:flex}html.touch-ui button,html.touch-ui .btn,html.touch-ui select,html.touch-ui .settings-input,html.touch-ui .settings-select,html.touch-ui .game-card,html.touch-ui .cloud-provider-card,html.touch-ui .library-toolbar .btn,html.touch-ui .confirm-box__actions .btn,html.touch-ui .modal-close{min-height:var(--touch-min)}html.touch-ui .btn{padding-block:10px}html.touch-ui .game-card:focus-visible{outline-offset:3px}html.touch-ui .library-toolbar{gap:14px}html.touch-ui .library-search-wrap{min-height:var(--touch-min)}html.touch-ui #library-search{min-height:var(--touch-min);font-size:1rem}html.touch-ui .library-grid{gap:clamp(14px,2.5vw,24px)}html.touch-ui .library-row{margin-bottom:40px}html.touch-ui .game-card:hover{transform:none}html.touch-ui .game-card:hover .game-card__overlay{opacity:0}html.touch-ui .in-game-controls{opacity:1;pointer-events:auto}html.touch-ui #landing{-webkit-overflow-scrolling:touch}.in-game-overlay{position:absolute;top:max(clamp(12px,2vw,18px),env(safe-area-inset-top,0px));right:max(var(--shell-gutter),env(safe-area-inset-right,0px));z-index:620;display:flex;align-items:flex-start;justify-content:flex-end;pointer-events:none}.in-game-overlay[hidden]{display:none}.in-game-overlay>*{pointer-events:auto}.in-game-overlay__hamburger{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#121212b8;-webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%);box-shadow:0 8px 24px #00000059;color:var(--c-text);cursor:pointer;transition:background .2s ease,transform .2s ease}.in-game-overlay__hamburger:hover,.in-game-overlay__hamburger:focus-visible{background:#222632e0;transform:scale(1.05)}.in-game-overlay__hamburger:focus-visible{outline:2px solid var(--c-accent-light);outline-offset:2px}.in-game-overlay__panel{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#121212e0;-webkit-backdrop-filter:blur(16px) saturate(135%);backdrop-filter:blur(16px) saturate(135%);box-shadow:0 16px 40px #00000073;display:flex;flex-direction:column;gap:12px;animation:panel-slide-in .25s var(--spring)}@keyframes panel-slide-in{0%{opacity:0;transform:translateY(-8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.in-game-overlay__panel[hidden]{display:none}.in-game-overlay__panel-chip{font-weight:700;font-size:.85rem;color:var(--c-text);padding:8px 12px;background:#ffffff0f;border-radius:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.in-game-overlay__panel-chip:before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;background:var(--c-accent);border-radius:50%;animation:pulse-shadow 2s infinite}.in-game-overlay__panel-actions{display:flex;flex-direction:column;gap:8px}.in-game-overlay__btn{min-height:38px;padding-inline:14px;width:100%}.in-game-overlay__close{position:absolute;top:8px;right:8px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--c-text);opacity:.6;cursor:pointer;border-radius:4px;transition:opacity .2s ease,background .2s ease}.in-game-overlay__close:hover,.in-game-overlay__close:focus-visible{opacity:1;background:#ffffff1a}.in-game-overlay__close:focus-visible{outline:2px solid var(--c-accent-light);outline-offset:2px}.fps-overlay{position:absolute;top:max(clamp(70px,10vw,82px),calc(env(safe-area-inset-top,0px) + 66px));right:max(var(--shell-gutter),env(safe-area-inset-right,0px));background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:clamp(8px,1.5vw,10px) clamp(14px,2vw,18px);border-radius:12px;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;gap:12px;font-weight:700;font-size:.9rem;z-index:500;pointer-events:none;animation:slide-in-right .4s var(--spring)}.fps-val{color:var(--c-accent);font-size:1.1rem;font-family:"Exo 2",sans-serif}.fps-label{font-size:.7rem;opacity:.6;text-transform:uppercase;margin-left:2px}.dev-overlay{position:absolute;top:max(clamp(106px,13vw,124px),calc(env(safe-area-inset-top,0px) + 96px));right:max(var(--shell-gutter),env(safe-area-inset-right,0px));width:240px;background:#121212e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid var(--c-surface3);border-radius:20px;padding:24px;z-index:1000;font-family:Inter,sans-serif;box-shadow:var(--shadow-lg)}.dev-overlay__title{font-weight:900;text-transform:uppercase;font-size:.75rem;letter-spacing:.1em;margin-bottom:16px;color:var(--c-accent)}.dev-overlay__grid{display:grid;grid-template-columns:1fr auto;gap:8px 16px;font-size:.85rem}.dev-overlay__label{opacity:.5}.dev-overlay__value{font-weight:700;text-align:right}.dev-overlay__graph{width:100%;height:60px;margin-top:16px;background:#ffffff0d;border-radius:8px}@media(max-width:700px){.in-game-overlay__hamburger{width:36px;height:36px}.in-game-overlay__panel{min-width:220px;right:0}.fps-overlay{top:max(clamp(132px,30vw,152px),calc(env(safe-area-inset-top,0px) + 124px));left:max(var(--shell-gutter),env(safe-area-inset-left,0px));right:auto;max-width:calc(100% - (var(--shell-gutter) * 2));flex-wrap:wrap}.dev-overlay{top:max(clamp(186px,44vw,216px),calc(env(safe-area-inset-top,0px) + 178px));left:max(var(--shell-gutter),env(safe-area-inset-left,0px));right:auto;width:min(240px,calc(100% - (var(--shell-gutter) * 2)));padding:18px}}.now-playing-chip{background:var(--c-surface2);border:2px solid var(--c-border);padding:8px 20px;border-radius:999px;font-weight:800;font-size:.9rem;display:flex;align-items:center;gap:10px}.now-playing-chip:before{content:"";width:8px;height:8px;background:var(--c-accent);border-radius:50%;animation:pulse-shadow 2s infinite}@keyframes pulse-shadow{0%{box-shadow:0 0 0 0 var(--c-accent-glow)}70%{box-shadow:0 0 0 10px transparent}to{box-shadow:0 0 0 0 transparent}}body:has(#ejs-container.visible) .app-header{background:#1a1a1acc;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:none;margin:16px var(--shell-gutter);border-radius:20px;width:calc(100% - (var(--shell-gutter) * 2));box-shadow:0 10px 30px #00000080}.tc-btn{background:#ffffff14;-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);border:2px solid rgba(255,255,255,.18);box-shadow:0 4px #00000040,0 8px 28px #00000059;transition:transform .08s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.tc-btn.tc-btn--pressed,.tc-btn:active{transform:scale(.92);background:#ff785059;border-color:#ffc8a08c;box-shadow:0 2px #0003,0 4px 20px #ff643c40}.tc-dpad{-webkit-backdrop-filter:blur(12px) saturate(130%);backdrop-filter:blur(12px) saturate(130%);box-shadow:0 10px 36px #00000073}.tc-dpad__arm{transition:filter .08s ease,transform .08s ease}.tc-dpad__arm--active{filter:brightness(1.35)}.tc-stick{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:inset 0 2px 12px #00000073,0 8px 28px #00000059}.tc-stick__knob{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffffff59,#50556ef2);box-shadow:0 4px 12px #0006}.mobile-fab{position:fixed;bottom:max(100px,calc(88px + env(safe-area-inset-bottom,0px)));right:max(var(--shell-gutter),env(safe-area-inset-right,0px));width:72px;height:72px;background:var(--c-accent);color:#fff;border:none;border-radius:50%;font-size:2rem;box-shadow:0 20px 40px var(--c-accent-glow);cursor:pointer;z-index:1000;display:flex;align-items:center;justify-content:center;transition:all .3s var(--spring)}.mobile-fab--hidden{display:none!important}@media(pointer:fine){.mobile-fab{display:none!important}}.mobile-fab:hover{transform:scale(1.1) rotate(90deg)}.rotate-hint__icon{display:inline-flex;align-items:center;flex-shrink:0}.rotate-hint__glyph{width:18px;height:18px;display:block}.rotate-hint{position:fixed;left:50%;bottom:calc(var(--footer-h) + max(24px,env(safe-area-inset-bottom,0px)));z-index:60;display:none;align-items:center;gap:8px;transform:translate(-50%);padding:10px 14px;border:1px solid rgba(184,144,64,.42);border-radius:var(--radius-pill);background:#18140ceb;color:#ecd59b;font-weight:800;box-shadow:var(--shadow-sm);pointer-events:none}.rotate-hint--visible{display:inline-flex}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--c-text-faint)}.status-dot.running{background:var(--c-status-running);box-shadow:0 0 10px var(--c-status-running)}.status-dot.paused{background:var(--c-status-paused)}.status-dot.error{background:var(--c-accent)}.status-item{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--c-text-dim)}.status-item--hidden{display:none}.status-item--visible{display:flex}.game-card__fallback{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,var(--sys-color-bright, var(--c-surface3)) 0%,var(--c-surface1) 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;z-index:1}.game-card__fallback-icon{width:88px;height:88px;display:flex;align-items:center;justify-content:center;font-size:5rem;margin-bottom:24px;filter:drop-shadow(0 10px 20px rgba(0,0,0,.5));transition:transform .4s var(--spring)}.game-card__fallback-img{width:100%;height:100%;object-fit:contain}.game-card:hover .game-card__fallback-icon{transform:scale(1.2) rotate(-5deg)}.game-card__fallback-name{font-family:"Exo 2",sans-serif;font-weight:900;font-size:1.2rem;line-height:1.2;color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.8);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.game-card__fallback--hidden{opacity:0;pointer-events:none}.game-card__fallback-badge{position:absolute;top:24px;right:24px;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:4px 12px;border-radius:6px;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff9;border:1px solid rgba(255,255,255,.1)}.cover-art-candidate-box{width:900px!important;max-width:95vw!important}.cover-art-candidate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;margin:28px 0 20px;max-height:min(56vh,720px);overflow-y:auto;overflow-x:hidden;padding:10px 6px 16px;scroll-behavior:smooth;overscroll-behavior-y:contain}.cover-art-candidate{background:var(--c-surface3);border:4px solid transparent;border-radius:16px;overflow:hidden;transition:transform .24s var(--ease-premium-out),border-color .24s var(--ease-premium-out),box-shadow .24s var(--ease-premium-out);cursor:pointer;position:relative;box-shadow:var(--shadow-card-inset)}.cover-art-candidate:focus-visible{outline:2px solid var(--c-accent-light);outline-offset:3px}.cover-art-candidate:hover{transform:translateY(-6px);border-color:var(--c-accent);box-shadow:0 18px 38px #00000073,0 0 0 1px #ffffff0a}.cover-art-candidate__img{width:100%;aspect-ratio:1 / 1.4;object-fit:cover}.cover-art-candidate__label{padding:12px;font-size:.85rem;font-weight:700;display:block;background:var(--c-surface2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cover-art-candidate__score-badge{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;pointer-events:none}.cover-art-candidate__score-badge span:first-child{background:var(--c-accent);color:#fff;padding:4px 10px;border-radius:8px;font-size:.75rem;font-weight:900;box-shadow:0 4px 12px #00000080}.cover-art-candidate__score-badge span:last-child{background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#ffffffb3;padding:2px 8px;border-radius:4px;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.cloud-storage-overview{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:48px}.cloud-storage-card{background:var(--c-surface);border-radius:32px;padding:40px;border:4px solid var(--c-border);transition:all .3s var(--spring);position:relative;overflow:hidden}.cloud-storage-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,var(--c-accent-glow) 0%,transparent 70%);opacity:0;transition:opacity .5s ease;pointer-events:none}.cloud-storage-card:hover{transform:translateY(-8px);border-color:var(--c-accent);box-shadow:0 40px 80px #00000080}.cloud-storage-card:hover:before{opacity:.15}.cloud-storage-card__eyebrow{color:var(--c-accent);font-weight:900;text-transform:uppercase;letter-spacing:.15em;font-size:.8rem;margin-bottom:12px}.cloud-storage-card__title{font-size:1.6rem;font-weight:900;margin-bottom:16px;color:#fff;line-height:1.2}.cloud-storage-card__body{color:var(--c-text-dim);line-height:1.6;font-size:1.05rem}.cloud-connection-list{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.cloud-connection-item{background:var(--c-surface2);border-radius:20px;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;border:2px solid transparent;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.cloud-connection-item:hover{background:var(--c-surface3);border-color:var(--c-border-lt)}.cloud-connection-item__info{display:flex;flex-direction:column;gap:4px}.cloud-connection-item__info strong{font-size:1.2rem;font-weight:900;color:#fff}.cloud-connection-item__info span{color:var(--c-text-dim);font-weight:600}.cloud-connection-item__status{margin-top:8px;font-size:.85rem;font-weight:800;display:flex;align-items:center;gap:8px}.status--online{color:var(--c-status-online)}.status--offline{color:var(--c-status-offline)}.status--online:before{content:"";width:8px;height:8px;background:var(--c-status-online);border-radius:50%;box-shadow:0 0 12px var(--c-status-online);animation:pulse-scale 2s infinite}@keyframes pulse-scale{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}to{transform:scale(1);opacity:1}}.cloud-connection-item__actions{display:flex;gap:12px}.cloud-connection-add{width:100%;padding:24px;font-size:1.1rem;font-weight:900;border-radius:20px}.cloud-save-status-row{background:var(--c-surface2);border-radius:24px;padding:32px;display:flex;align-items:center;flex-wrap:wrap;gap:24px;border:2px dashed var(--c-border)}.cloud-save-status__provider{font-weight:900;font-size:1.2rem;flex:1}.cloud-save-status__lastsync{color:var(--c-text-dim);font-size:.95rem;font-weight:600}.cloud-save-status__error{flex-basis:100%;margin:0;padding-top:8px;color:var(--c-warning-toned, #e8a31a);font-size:.9rem;font-weight:600;line-height:1.35}.cloud-wizard-box{width:700px!important;max-width:95vw!important}.cloud-provider-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin:32px 0}.cloud-provider-card{background:var(--c-surface3);border:3px solid transparent;border-radius:20px;padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:12px;transition:transform .25s var(--spring),background .25s ease,border-color .25s ease,box-shadow .25s ease;cursor:pointer;color:#fff}.cloud-provider-card:hover{transform:translateY(-4px);background:var(--c-surface2);border-color:var(--c-border-lt)}.cloud-provider-card.active{background:var(--c-accent);border-color:#fff;box-shadow:0 12px 24px var(--c-accent-glow);transform:scale(1.05)}.cloud-provider-card__icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;color:#ffffffeb}.cloud-provider-card__icon svg{width:40px;height:40px;flex-shrink:0}.cloud-provider-card__label{font-weight:800;font-size:.9rem;text-align:center}.cloud-wizard-form{margin:32px 0;display:flex;flex-direction:column;gap:16px}@keyframes spin-sync{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-sync-active{animation:spin-sync 1.5s linear infinite;pointer-events:none;opacity:.7}#loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000e0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .38s var(--ease-premium-out),visibility .38s var(--ease-premium-out),-webkit-backdrop-filter .38s var(--ease-premium-out),backdrop-filter .38s var(--ease-premium-out)}#loading-overlay.visible{opacity:1;visibility:visible}#error-banner{position:fixed;left:50%;top:calc(var(--header-h) + 16px);z-index:1800;max-width:min(720px,calc(100vw - 32px));display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid rgba(200,64,64,.48);border-radius:var(--radius);background:#241212f5;color:#ffe8e8;box-shadow:var(--shadow-lift);transform:translate(-50%,-12px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s var(--ease-premium-out),transform .35s var(--spring),visibility .3s}#error-banner.visible{opacity:1;visibility:visible;transform:translate(-50%);pointer-events:auto}#error-message{line-height:1.45}.error-icon{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;color:var(--c-warn)}.error-icon .ui-inline-icon--alert{width:22px;height:22px;display:block}.error-close{flex:0 0 auto;width:28px;height:28px;margin-left:4px;border:0;border-radius:var(--radius-sm);background:#ffffff1a;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.error-close .icon-close-x{width:15px;height:15px}.loading-spinner{width:80px;height:80px;border:6px solid rgba(255,255,255,.1);border-top-color:var(--c-accent);border-radius:50%;margin-bottom:32px;box-shadow:0 0 30px var(--c-accent-glow);animation:loading-spin 1s cubic-bezier(.5,0,.5,1) infinite,loading-pulse 2s ease-in-out infinite}.loading-brand{margin-bottom:24px}.loading-brand__logo{display:block;animation:loading-logo-breathe 2.5s ease-in-out infinite;filter:drop-shadow(0 0 16px var(--c-accent-glow))}@keyframes loading-spin{to{transform:rotate(360deg)}}.loading-content{text-align:center;max-width:400px}#loading-message{font-family:"Exo 2",sans-serif;font-weight:900;font-size:1.8rem;color:#fff;margin-bottom:12px}#loading-subtitle{color:var(--c-text-dim);font-size:1.1rem;font-weight:600;margin-bottom:24px}.loading-progress{width:300px;height:8px;background:#ffffff1a;border-radius:999px;overflow:hidden;margin:0 auto}.loading-progress-bar{height:100%;background:var(--c-accent);box-shadow:0 0 15px var(--c-accent-glow);width:0%;transition:width .38s var(--ease-premium-out)}#info-toast.info-toast{position:fixed;left:50%;bottom:var(--toast-bottom);z-index:2100;display:flex;align-items:flex-start;gap:12px;max-width:min(560px,calc(100vw - 28px));padding:14px 16px;margin:0;border-radius:var(--radius-xl);border:1px solid var(--glass-border);background:#16161af0;-webkit-backdrop-filter:blur(16px) saturate(155%);backdrop-filter:blur(16px) saturate(155%);box-shadow:var(--shadow-lift),0 1px #ffffff0d inset;color:var(--c-text);font-weight:600;font-size:.95rem;line-height:1.4;opacity:0;visibility:hidden;transform:translate(-50%,14px);pointer-events:none;transition:opacity .35s var(--ease-premium-out),transform .35s var(--ease-premium-out),visibility .35s}#info-toast.info-toast.visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)}.info-toast__icon{flex:0 0 auto;width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius);font-size:.95rem;font-weight:900;line-height:1;background:#ffffff0f}.info-toast__icon .info-toast__glyph{width:1.05rem;height:1.05rem;display:block}#info-toast.info-toast--success{border-left:4px solid var(--c-success)}#info-toast.info-toast--success .info-toast__icon{color:var(--c-success)}#info-toast.info-toast--info{border-left:4px solid var(--c-accent-2)}#info-toast.info-toast--info .info-toast__icon{color:var(--c-accent-2)}#info-toast.info-toast--warning{border-left:4px solid var(--c-gold)}#info-toast.info-toast--warning .info-toast__icon{color:var(--c-gold)}#info-toast.info-toast--error{border-left:4px solid var(--c-danger)}#info-toast.info-toast--error .info-toast__icon{color:#ff9494}#info-toast.info-toast .error-close{flex:0 0 auto;margin-left:auto;opacity:.75}#info-toast.info-toast .error-close:hover{opacity:1;background:#ffffff29}#info-toast.info-toast .info-toast__msg{flex:1;min-width:0}.cloud-wizard-form .settings-input-row{flex-direction:column;align-items:flex-start;gap:8px}.cloud-wizard-form .settings-input,.cloud-wizard-form .settings-input-paste-line{width:100%}.settings-input-paste-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%}.settings-input-paste-line .settings-input{flex:1 1 220px;min-width:0;width:auto}.oauth-signin-btn{width:100%;padding:16px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:12px}.oauth-divider{display:flex;align-items:center;gap:12px;margin:16px 0;width:100%}.oauth-divider__line{flex:1;height:1px;background:var(--c-border);min-width:12px}.oauth-divider__text{flex:0 0 auto;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-dim)}.game-card__cloud-badge{position:absolute;top:20px;left:20px;background:#0078ff33;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:6px 12px;border-radius:999px;display:flex;align-items:center;gap:8px;border:1.5px solid rgba(0,120,255,.4);box-shadow:0 4px 12px #0000004d;z-index:5;color:#fff;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;pointer-events:none}.game-card__cloud-badge:before{content:"";display:inline-block;width:.95rem;height:.95rem;margin-inline-end:2px;vertical-align:-.12em;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M18.5 10c0-1.77-1.44-3.2-3.22-3.2-.46 0-.9.1-1.3.27A4.92 4.92 0 0 0 8.5 6a5 5 0 0 0-4.97 5.5h-.08A3.48 3.48 0 0 0 0 15c0 1.93 1.57 3.5 3.5 3.5h13.4c2.48 0 4.5-2 4.5-4.47 0-2.27-1.7-4.12-3.9-4.43z'/%3E%3C/svg%3E") center / contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M18.5 10c0-1.77-1.44-3.2-3.22-3.2-.46 0-.9.1-1.3.27A4.92 4.92 0 0 0 8.5 6a5 5 0 0 0-4.97 5.5h-.08A3.48 3.48 0 0 0 0 15c0 1.93 1.57 3.5 3.5 3.5h13.4c2.48 0 4.5-2 4.5-4.47 0-2.27-1.7-4.12-3.9-4.43z'/%3E%3C/svg%3E") center / contain no-repeat}.game-card__cloud-badge:after{content:"Stream"}.sync-status-indicator{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--c-surface3);border-radius:12px;margin-top:16px;font-weight:700;font-size:.9rem}.sync-status-indicator--scanning:before{content:"";width:14px;height:14px;border:2px solid var(--c-accent);border-top-color:transparent;border-radius:50%;animation:loading-spin .8s linear infinite}.library-toolbar{position:sticky;top:0;z-index:50;background:#121212e0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin-left:-40px;margin-right:-40px;padding-left:40px;padding-right:40px;border-bottom:2px solid var(--c-surface3)}.library-count{background:var(--c-surface3);padding:4px 12px;border-radius:8px;font-size:.8rem;font-weight:900;color:var(--c-text-dim);margin-left:12px;text-transform:uppercase;letter-spacing:.05em}.library-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:100px 40px;text-align:center;background:var(--c-surface);border-radius:40px;border:3px dashed var(--c-border);margin:40px 0}.library-empty__icon{font-size:5rem;margin-bottom:24px;opacity:.5;filter:grayscale(1)}.library-empty p{font-size:1.2rem;font-weight:600;color:var(--c-text-dim);max-width:500px;line-height:1.6;margin-bottom:32px}.library-empty em{color:#fff;font-style:normal;font-weight:900;background:var(--c-surface3);padding:2px 8px;border-radius:4px}.library-empty__reset{padding:18px 40px;font-size:1.1rem;font-weight:900}.game-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(125deg,transparent 0%,rgba(255,255,255,0) 40%,rgba(255,255,255,.1) 50%,rgba(255,255,255,0) 60%,transparent 100%);transform:translate(-100%);transition:transform .6s ease;z-index:2;pointer-events:none}.game-card:hover:after{transform:translate(100%)}.game-card--skeleton{pointer-events:none;cursor:default;border-color:var(--c-surface3)!important;box-shadow:none!important;animation:skeleton-pulse 2s ease-in-out infinite!important}.game-card--skeleton .game-card__icon{background:var(--c-surface2)}.game-card--skeleton .game-card__info{transform:translateY(0);pointer-events:none;padding:18px}.skeleton-line{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,var(--c-surface3) 0%,var(--c-border-lt) 40%,var(--c-surface3) 70%);background-size:400px 100%;animation:shimmer 1.6s ease-in-out infinite;margin-bottom:8px}.skeleton-line--wide{width:85%;height:16px}.skeleton-line--mid{width:60%}.skeleton-line--short{width:35%}.onboarding{width:100%;max-width:900px;padding:56px 40px 40px;text-align:center}.welcome-hero{margin-bottom:40px}.welcome-hero__eyebrow{color:var(--c-accent);font-weight:900;text-transform:uppercase;letter-spacing:.2em;font-size:.9rem;margin-bottom:16px}.welcome-hero__title{font-family:"Exo 2",sans-serif;font-weight:900;font-size:clamp(2.2rem,5vw,3.5rem);color:#fff;line-height:1.1;margin-bottom:24px}.onboarding__grid{display:grid;gap:24px}.welcome-hero__tagline{font-size:1.2rem;color:var(--c-text-dim);max-width:600px;margin:0 auto}.onboarding__card{background:var(--c-surface);border:4px solid var(--c-border);border-radius:40px;padding:60px;text-align:left;position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}.onboarding__card h3{font-family:"Exo 2",sans-serif;font-weight:900;font-size:2rem;margin-bottom:16px;color:#fff}.welcome-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}.welcome-step{background:var(--c-surface2);padding:24px;border-radius:20px;font-weight:800;color:#fff;border:2px solid var(--c-border);transition:all .3s var(--spring)}.welcome-step:hover{transform:translateY(-8px);border-color:var(--c-accent);background:var(--c-surface3)}.onboarding__features{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:48px;text-align:left}.onboarding__quick-actions{display:flex;justify-content:center;gap:12px;margin-top:24px;flex-wrap:wrap}.landing__legal{max-width:720px;margin:12px auto 0;color:var(--c-text-faint);font-size:.86rem;line-height:1.45;text-align:center}.landing__legal a{color:var(--c-text-dim)}.onboarding__feature{display:flex;flex-direction:column;gap:16px}.onboarding__feature-icon{background:var(--c-surface2);width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:16px;color:var(--c-accent-light)}.onboarding__feature-icon .onboarding__glyph{width:28px;height:28px;display:block}.onboarding__feature span strong{display:block;font-size:1.1rem;font-weight:900;color:#fff;margin-bottom:4px}.onboarding__feature span{color:var(--c-text-dim);font-size:.95rem;line-height:1.5}#settings-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:40px}#settings-panel[hidden]{display:none!important}#settings-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:-1;animation:fade-in .3s var(--ease-premium-out)}#settings-content{width:100%;max-width:var(--library-shell-max-w);flex:1 1 auto;min-height:0;height:auto;max-height:800px;background:var(--c-bg);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 50px 100px #000c,inset 0 1px #ffffff0d;animation:modal-pop .35s var(--spring)}.settings-sidebar__item{animation:slide-in-right-fade .35s var(--ease-premium-out) both}.settings-sidebar__item:nth-child(1){animation-delay:.12s}.settings-sidebar__item:nth-child(2){animation-delay:.16s}.settings-sidebar__item:nth-child(3){animation-delay:.2s}.settings-sidebar__item:nth-child(4){animation-delay:.24s}.settings-sidebar__item:nth-child(5){animation-delay:.28s}.settings-sidebar__item:nth-child(6){animation-delay:.32s}.settings-sidebar__item:nth-child(7){animation-delay:.36s}.settings-sidebar__item:nth-child(8){animation-delay:.4s}.settings-sidebar__item:nth-child(9){animation-delay:.44s}.settings-sidebar__item:nth-child(10){animation-delay:.48s}@keyframes modal-pop{0%{transform:scale(.97) translateY(24px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.settings-shell{flex:1;display:flex;overflow:hidden}.settings-sidebar{width:var(--settings-sidebar-w);background:var(--c-surface);border-right:2px solid var(--c-surface3);padding:clamp(24px,4vw,32px) clamp(12px,2vw,16px);display:flex;flex-direction:column;gap:8px;overflow-y:auto}.settings-sidebar__item{display:flex;align-items:center;gap:clamp(14px,2vw,20px);padding:clamp(14px,2vw,18px) clamp(16px,3vw,24px);border-radius:16px;color:var(--c-text-dim);font-weight:800;font-size:clamp(1rem,.92rem + .4vw,1.1rem);transition:transform .2s var(--spring),background .2s ease,color .2s ease,box-shadow .2s ease;border:none;background:transparent;cursor:pointer;text-align:left}.settings-sidebar__item:hover{background:var(--c-surface2);color:#fff;transform:translate(8px)}.settings-sidebar__item.settings-tab--active{background:var(--c-accent);color:#fff;box-shadow:0 10px 25px var(--c-accent-glow);transform:scale(1.05) translate(12px)}.settings-sidebar__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;color:inherit}.settings-sidebar__icon svg{width:1.45rem;height:1.45rem}.settings-body{flex:1;background:var(--c-bg);overflow-y:auto;position:relative}.settings-panels{padding:clamp(28px,5vw,60px)}.settings-panel-content{animation:tab-fade-in .3s ease-out}@keyframes tab-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.settings-quickbar{background:var(--c-surface);padding:clamp(18px,3vw,24px) clamp(20px,4vw,40px);border-bottom:2px solid var(--c-surface3);display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,3vw,32px)}.settings-search-input{flex:1;max-width:400px;background:var(--c-surface2);border:3px solid var(--c-border);border-radius:999px;padding:12px 24px;color:#fff;font-size:.95rem;transition:all .3s ease}.settings-search-input:focus{border-color:var(--c-accent);box-shadow:0 0 20px var(--c-accent-glow);outline:none}.settings-search-input:focus-visible{border-color:var(--c-accent);box-shadow:0 0 20px var(--c-accent-glow)}@media(max-width:700px){#settings-panel{padding:12px}.settings-modal-box{width:calc(100vw - 24px);height:calc(100dvh - 24px);border-radius:24px}.settings-modal-box .modal-header{padding:18px 20px}.settings-quickbar{display:grid;grid-template-columns:1fr;gap:12px;padding:14px 16px}.settings-quickbar__summary,.settings-active-tab-label{font-size:.88rem;line-height:1.35}.settings-search-input{width:100%;max-width:none}.settings-shell{flex-direction:column}.settings-sidebar{width:100%;flex:0 0 auto;flex-direction:row;gap:8px;overflow-x:auto;overflow-y:hidden;padding:10px 12px;border-right:0;border-bottom:2px solid var(--c-surface3)}.settings-sidebar__item{flex:0 0 auto;gap:8px;padding:10px 12px;border-radius:var(--radius);font-size:.92rem;white-space:nowrap}.settings-sidebar__item:hover,.settings-sidebar__item.settings-tab--active{transform:none}.settings-sidebar__icon{width:1.35rem;height:1.35rem}.settings-sidebar__icon svg{width:1.25rem;height:1.25rem}.settings-body{min-height:0}.settings-panels{padding:22px 18px 32px}.settings-row,.radio-row,.toggle-row{padding:18px}}.settings-section-title{font-family:"Exo 2",sans-serif;font-weight:900;font-size:1.8rem;margin-bottom:32px;color:#fff;border-bottom:4px solid var(--c-accent);display:inline-block;padding-bottom:8px}.settings-row{background:var(--c-surface);border:2px solid transparent;border-radius:20px;padding:24px 32px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;transition:all .2s ease}.settings-row:hover{background:var(--c-surface2);border-color:var(--c-border-lt)}.settings-label{display:flex;flex-direction:column;gap:4px}.settings-label-text{font-weight:800;font-size:1.1rem;color:#fff}.settings-help{font-size:.9rem;color:var(--c-text-dim);font-weight:600}.settings-section{margin-bottom:56px}.settings-section__title{font-family:"Exo 2",sans-serif;font-weight:900;font-size:1.4rem;color:#fff;margin-bottom:12px;text-transform:uppercase;letter-spacing:.05em}.settings-core-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:8px}.settings-core-heading__icon{width:48px;height:48px;object-fit:contain;flex:0 0 auto;border-radius:12px;border:1px solid var(--c-border-lt);background:#ffffff0a}.settings-core-heading__text{flex:1 1 auto;min-width:0}.settings-core-heading__title{display:block;font-size:1.05rem;font-weight:800;color:var(--c-text)}.settings-core-heading__meta{margin-top:4px;font-size:.82rem;color:var(--c-text-dim);line-height:1.4}.radio-row{background:var(--c-surface2);padding:20px 32px;border-radius:20px;display:flex;align-items:center;gap:24px;margin-bottom:12px;border:2px solid transparent;transition:all .2s ease;cursor:pointer}.radio-row:hover{background:var(--c-surface3);border-color:var(--c-border-lt)}.radio-row input[type=radio]{width:24px;height:24px;accent-color:var(--c-accent);cursor:pointer}.settings-radio-group{display:flex;flex-direction:column}label.radio-row:has(>input[type=radio]:disabled){opacity:.58;cursor:not-allowed}label.radio-row:has(>input[type=radio]:disabled):hover{background:var(--c-surface2);border-color:transparent}.radio-row__text{display:flex;flex-direction:column;gap:4px}.radio-row__label{font-weight:900;font-size:1.1rem;color:#fff}.radio-row__desc{font-size:.9rem;color:var(--c-text-dim);font-weight:600}.tier-badge{display:inline-block;padding:8px 16px;border-radius:8px;font-weight:900;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-top:16px}.tier-badge--ok{background:var(--c-tier-ok);color:var(--c-tier-ok-text);box-shadow:0 0 15px #00ff884d}.tier-badge--mid{background:var(--c-tier-mid);color:var(--c-tier-mid-text);box-shadow:0 0 15px #ffcc004d}.tier-badge--warn{background:var(--c-tier-warn);color:var(--c-tier-warn-text);box-shadow:0 0 15px #ff44444d}.settings-details{margin-top:32px;background:var(--c-surface2);border-radius:16px;overflow:hidden;border:2px solid var(--c-border)}.settings-details summary{padding:16px 24px;font-weight:800;cursor:pointer;background:var(--c-surface3);list-style:none;display:flex;align-items:center;justify-content:space-between}.settings-details summary:after{content:"▼";font-size:.8rem;transition:transform .3s var(--spring)}.settings-details[open] summary:after{transform:rotate(180deg)}.settings-details__content{padding:24px;display:flex;flex-direction:column;gap:12px}.device-info{font-family:monospace;background:#0000004d;padding:8px 12px;border-radius:8px;font-size:.85rem;color:#0f8}.easy-netplay-overlay{display:flex;align-items:center;justify-content:center;padding:40px}.easy-netplay-dialog{width:100%;max-width:900px;height:100%;max-height:800px;background:var(--c-bg);border-radius:40px;border:4px solid var(--c-border);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 50px 100px #000c;animation:modal-pop .4s var(--spring)}.enp-header{padding:24px 32px;background:var(--c-surface);border-bottom:2px solid var(--c-surface3);display:flex;align-items:center;gap:16px}.enp-title{font-family:"Exo 2",sans-serif;font-weight:900;font-size:1.4rem;color:#fff}.enp-tabs{display:flex;background:var(--c-surface2);padding:8px;gap:8px;overflow-x:auto;scrollbar-width:thin}.enp-tab{flex:1;padding:16px;border-radius:12px;border:none;background:transparent;color:var(--c-text-dim);font-weight:800;font-size:1rem;transition:all .2s var(--spring);cursor:pointer}.enp-tab:hover{background:var(--c-surface3);color:#fff}.enp-tab--active{background:var(--c-accent);color:#fff;box-shadow:0 5px 15px var(--c-accent-glow)}.enp-room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;padding:32px}.enp-room-card{background:var(--c-surface);border:3px solid var(--c-border);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:16px;transition:all .2s var(--spring);position:relative;overflow:hidden}.enp-room-card:hover{border-color:var(--c-accent);transform:translateY(-8px)}.enp-room-card__title{font-weight:900;font-size:1.2rem;color:#fff}.enp-room-card__game{font-size:.95rem;color:var(--c-text-dim);font-weight:600}.enp-waiting-pulse{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 40px;text-align:center}.enp-pulse-circle{width:120px;height:120px;background:var(--c-accent-dim);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:40px}.enp-pulse-circle:after{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border:4px solid var(--c-accent);border-radius:50%;animation:enp-pulse 2s infinite ease-out}@keyframes enp-pulse{0%{transform:scale(.8);opacity:1}to{transform:scale(1.5);opacity:0}}.enp-invite-code-large{font-family:"Exo 2",sans-serif;font-weight:900;font-size:4rem;color:#fff;letter-spacing:.2em;margin-bottom:24px;text-shadow:0 0 30px var(--c-accent-glow)}.game-card:focus-visible,body.using-gamepad .game-card:focus{outline:none;transform:scale(1.08) translateY(-10px);z-index:10;border-color:var(--c-accent);box-shadow:0 0 0 6px var(--c-bg),0 0 0 10px var(--c-accent),0 20px 40px #0009}.game-card:focus-visible:after,body.using-gamepad .game-card:focus:after{transform:translate(100%);transition:transform .8s ease}body.using-gamepad .game-card:focus{animation:focus-pulse 2s infinite ease-in-out}@keyframes focus-pulse{0%{box-shadow:0 0 0 6px var(--c-bg),0 0 0 10px var(--c-accent),0 20px 40px #0009}50%{box-shadow:0 0 0 6px var(--c-bg),0 0 0 14px var(--c-accent-glow),0 20px 40px #0009}to{box-shadow:0 0 0 6px var(--c-bg),0 0 0 10px var(--c-accent),0 20px 40px #0009}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn:hover,.btn:active,.modal-close:hover,.game-card:hover,.game-card:hover .game-card__cover-art,.sys-filter-chip:hover,.sys-filter-chip.active{transform:none}#settings-content,.settings-panel-content{animation:none}body.using-gamepad .game-card:focus{animation:none!important}.game-card:focus-visible,body.using-gamepad .game-card:focus{transform:translateY(-6px);box-shadow:0 0 0 3px var(--c-bg),0 0 0 6px var(--c-accent),0 16px 36px #0000008c}.drop-zone:hover,.drop-zone.drag-over{transform:none}.library-hero:hover{transform:none;border-color:#ffffff59}.library-hero:hover .library-hero__bg{transform:none}.app-header:after{animation:none!important;opacity:.35}.confirm-box{animation:none}}.multiplayer-dashboard-header{margin-bottom:40px;text-align:center;position:relative}.dashboard-title{font-family:"Exo 2",sans-serif;font-weight:900;font-size:2.2rem;margin-bottom:8px;background:linear-gradient(135deg,#fff 0%,var(--c-accent-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-subtitle{color:var(--c-text-dim);font-size:1.1rem}.multiplayer-status-bar{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:20px;padding:10px 28px;background:linear-gradient(135deg,var(--c-surface2) 0%,var(--c-surface3) 100%);border-radius:100px;border:2px solid var(--c-border);width:fit-content;margin-left:auto;margin-right:auto;box-shadow:0 4px 20px #0006}.status-indicator{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.9rem}.status-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 10px #00000080}.status-dot--inactive{background:var(--c-status-inactive)}.status-dot--active{background:var(--c-doctor-pass);box-shadow:0 0 10px var(--c-doctor-pass);animation:pulse-green 2s infinite}.status-ip{font-size:.9rem;color:var(--c-text-dim)}.status-ip strong{color:var(--c-accent);font-family:var(--font-mono)}.status-ip--visible{display:block}.status-ip--hidden{display:none}@keyframes pulse-green{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.multiplayer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.multiplayer-card{position:relative;background:linear-gradient(145deg,var(--c-surface) 0%,var(--c-surface2) 100%);border:2px solid var(--c-border);border-radius:24px;padding:32px;display:flex;align-items:flex-start;gap:20px;cursor:pointer;transition:all .3s var(--spring);overflow:hidden}.multiplayer-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--c-accent),transparent);opacity:0;transition:opacity .3s ease}.multiplayer-card:hover{border-color:var(--c-accent);transform:translateY(-6px);box-shadow:0 16px 48px #e6001226}.multiplayer-card:hover:before{opacity:1}.multiplayer-card--primary{background:linear-gradient(145deg,var(--c-accent-dim) 0%,var(--c-surface) 100%);border-color:var(--c-accent)}.multiplayer-card--primary:before{opacity:1}.multiplayer-card--outline{background:transparent;border-style:dashed}.multiplayer-card__icon{font-size:2.5rem;flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:var(--c-surface3);border:1px solid var(--c-border)}.multiplayer-card--primary .multiplayer-card__icon{background:var(--c-accent);border-color:var(--c-accent-light)}.multiplayer-card__content{flex:1;min-width:0}.multiplayer-card h3{margin-bottom:8px;font-weight:900;font-size:1.2rem;color:#fff}.multiplayer-card p{color:var(--c-text-dim);font-size:.9rem;line-height:1.5}.connection-meter{display:flex;align-items:flex-end;gap:3px;height:20px}.connection-meter__bar{width:4px;border-radius:2px;background:var(--c-border);transition:background .3s ease}.connection-meter__bar:nth-child(1){height:6px}.connection-meter__bar:nth-child(2){height:10px}.connection-meter__bar:nth-child(3){height:14px}.connection-meter__bar:nth-child(4){height:18px}.connection-meter__bar:nth-child(5){height:20px}.connection-meter--excellent .connection-meter__bar{background:var(--c-doctor-pass)}.connection-meter--good .connection-meter__bar:nth-child(-n+4){background:var(--c-doctor-pass)}.connection-meter--fair .connection-meter__bar:nth-child(-n+3){background:var(--c-doctor-warn)}.connection-meter--poor .connection-meter__bar:nth-child(-n+2){background:var(--c-doctor-fail)}.connection-meter--none .connection-meter__bar{background:var(--c-border)}.ping-indicator{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:700;font-family:var(--font-mono)}.ping-indicator--good{color:var(--c-doctor-pass)}.ping-indicator--warn{color:var(--c-doctor-warn)}.ping-indicator--bad{color:var(--c-doctor-fail)}.launch-panel{max-width:640px;margin:0 auto;animation:slide-up-fade .4s var(--spring)}.launch-panel__game-banner{position:relative;padding:24px;background:linear-gradient(135deg,var(--c-surface2) 0%,var(--c-surface3) 100%);border-radius:20px;border:2px solid var(--c-border);margin-bottom:24px;display:flex;align-items:center;gap:16px}.launch-panel__game-icon{width:48px;height:48px;border-radius:12px;background:var(--c-accent-dim);display:flex;align-items:center;justify-content:center;color:var(--c-accent-light)}.launch-panel__game-icon .ui-decor-gamepad{width:26px;height:26px;display:block}.launch-panel__game-info{flex:1}.launch-panel__game-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--c-text-dim);font-weight:700}.launch-panel__game-name{font-weight:900;font-size:1.1rem;color:#fff}.launch-panel__ip-display{padding:20px;background:var(--c-surface);border-radius:16px;border:2px solid var(--c-border);margin-bottom:24px;text-align:center}.launch-panel__ip-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--c-text-dim);font-weight:700;margin-bottom:8px}.launch-panel__ip-value{font-family:var(--font-mono);font-size:1.8rem;font-weight:900;color:var(--c-accent);text-shadow:0 0 20px var(--c-accent-glow)}.launch-panel__ip-value--offline{color:var(--c-text-faint);text-shadow:none;font-size:1.2rem}.launch-instructions{margin-bottom:24px}.launch-instructions h4{font-weight:900;font-size:1rem;color:#fff;margin-bottom:16px;display:flex;align-items:center;gap:8px}.launch-steps{display:flex;flex-direction:column;gap:12px}.launch-step{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;background:var(--c-surface2);border-radius:12px;border:1px solid var(--c-border);transition:all .2s ease}.launch-step:hover{border-color:var(--c-accent);background:var(--c-surface3)}.launch-step__number{width:24px;height:24px;border-radius:50%;background:var(--c-accent);color:#fff;font-weight:900;font-size:.75rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.launch-step__text{font-size:.9rem;color:var(--c-text);line-height:1.5}.launch-step__text strong{color:var(--c-accent-light);font-family:var(--font-mono)}.launch-actions{display:flex;gap:12px;margin-bottom:16px}.launch-actions .btn{flex:1}.launch-status{min-height:1.2em;font-size:.85rem;font-weight:600;padding:8px 0}.launch-panel__status--dim{color:var(--c-text-dim)}.launch-panel__status--warn{color:var(--c-warn)}.launch-panel__status--error{color:var(--c-danger)}.launch-panel__status--success{color:var(--c-doctor-pass)}.access-file-wrap{margin-bottom:24px;padding:20px;background:var(--c-surface2);border-radius:16px;border:2px dashed var(--c-border);transition:all .2s ease}.access-file-wrap--selected{border-color:var(--c-doctor-pass);background:#4caf5014}.access-file-wrap__label{font-size:.85rem;color:var(--c-text-dim);margin-bottom:12px}.access-file-wrap__status{margin-left:10px;font-size:.9rem;font-weight:600}.lanemu-wizard{max-width:600px;margin:0 auto;background:linear-gradient(145deg,var(--c-surface) 0%,var(--c-surface2) 100%);padding:40px;border-radius:32px;border:2px solid var(--c-border);animation:slide-up-fade .4s var(--spring)}.wizard-intro{color:var(--c-text-dim);font-size:.95rem;line-height:1.6;margin-bottom:32px;text-align:center}.wizard-progress{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:32px}.wizard-progress__step{width:32px;height:4px;border-radius:2px;background:var(--c-border);transition:all .3s ease}.wizard-progress__step--active{background:var(--c-accent);box-shadow:0 0 8px var(--c-accent-glow)}.wizard-progress__step--complete{background:var(--c-doctor-pass)}.wizard-steps{margin:32px 0;display:flex;flex-direction:column;gap:20px}.wizard-step{display:flex;align-items:center;gap:16px;padding:20px;background:var(--c-surface3);border-radius:16px;border:2px solid var(--c-border);transition:all .3s ease}.wizard-step--success{border-color:var(--c-doctor-pass);background:#4caf5014}.wizard-step--fail{border-color:var(--c-doctor-fail);background:#f4433614}.step-status{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;background:var(--c-surface2);border:2px solid var(--c-border);transition:all .3s ease}.status--pending{border-color:var(--c-border);color:var(--c-text-dim)}.status--success{border-color:var(--c-doctor-pass);background:#4caf5026}.status--fail{border-color:var(--c-doctor-fail);background:#f4433626}.step-info{flex:1}.step-info h4{font-weight:800;font-size:1rem;color:#fff;margin-bottom:4px}.step-text{font-size:.85rem;color:var(--c-text-dim);line-height:1.5}.wizard-footer{margin-top:32px;display:flex;justify-content:center}.wizard-footer .btn{min-width:200px}.doctor-panel{max-width:640px;margin:0 auto;background:linear-gradient(145deg,var(--c-surface) 0%,var(--c-surface2) 100%);padding:32px;border-radius:32px;border:2px solid var(--c-border);animation:slide-up-fade .4s var(--spring)}.doctor-intro{color:var(--c-text);font-size:.95rem;line-height:1.6;margin-bottom:24px;text-align:center;font-weight:600}.doctor-loading{padding:40px;text-align:center}.doctor-loading .spinner{width:40px;height:40px;border:3px solid var(--c-border);border-top-color:var(--c-accent);border-radius:50%;animation:loading-spin .8s linear infinite;margin:0 auto 16px}.doctor__intro--pass{color:var(--c-doctor-pass)}.doctor__intro--fail{color:var(--c-doctor-fail)}.doctor__intro--warn{color:var(--c-doctor-warn)}.doctor-results{margin:24px 0;display:flex;flex-direction:column;gap:12px}.doctor-item{padding:16px 20px;border-radius:16px;background:var(--c-surface3);border-left:4px solid var(--c-border);transition:all .3s ease;animation:slide-in-right-fade .3s ease backwards}.doctor-item:nth-child(1){animation-delay:.05s}.doctor-item:nth-child(2){animation-delay:.1s}.doctor-item:nth-child(3){animation-delay:.15s}.doctor-item:nth-child(4){animation-delay:.2s}.doctor-item:nth-child(5){animation-delay:.25s}.doctor-item--pass{border-left-color:var(--c-doctor-pass)}.doctor-item--warn{border-left-color:var(--c-doctor-warn)}.doctor-item--fail{border-left-color:var(--c-doctor-fail)}.doctor-item__header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.doctor-item__status{font-size:1.1rem}.doctor-item__label{font-weight:800;font-size:.95rem;color:#fff}.doctor-item__message{font-size:.85rem;color:var(--c-text-dim);line-height:1.5;margin-bottom:8px}.doctor-item__fix{padding:8px 12px;background:var(--c-accent-dim);border-radius:8px;font-size:.8rem;color:var(--c-text);line-height:1.5}.doctor-item__fix strong{color:var(--c-accent-light)}.doctor-actions{margin-top:24px;display:flex;justify-content:center}.achievements-empty{text-align:center;padding:60px 20px}.achievements-dashboard{animation:fade-in-up .3s ease-out}.achievements-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:var(--c-surface2);padding:20px;border-radius:16px;border:1px solid var(--c-border);text-align:center;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.stat-card:hover{transform:translateY(-4px);border-color:var(--c-accent)}.stat-card__label{font-size:.8rem;color:var(--c-text-dim);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.stat-card__value{font-size:1.5rem;font-weight:800;color:var(--c-text)}.trophy-list{display:flex;flex-direction:column;gap:12px}.trophy-item{display:flex;align-items:center;gap:16px;background:var(--c-surface2);padding:12px;border-radius:12px;border:1px solid var(--c-border)}.trophy-badge{width:48px;height:48px;border-radius:4px;background:#000}.trophy-text{flex:1}.trophy-name{font-weight:700;font-size:1rem;margin-bottom:2px}.trophy-game{font-size:.8rem;color:var(--c-text-dim)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.game-card__ach-badge{position:absolute;top:8px;right:8px;background:#ffd700e6;color:#000;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000004d;z-index:5;border:1px solid rgba(255,255,255,.5);animation:bounce-in .5s cubic-bezier(.175,.885,.32,1.275)}.game-card__ach-badge .game-card__ach-glyph{width:13px;height:13px;display:block}@keyframes bounce-in{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}.confirm-overlay--details{background:#000000d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.details-box{width:90vw;max-width:1000px;max-height:85vh;background:var(--c-surface);border-radius:24px;overflow:hidden;position:relative;display:flex;flex-direction:column;box-shadow:0 30px 60px #00000080;border:1px solid var(--c-border);animation:details-pop .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes details-pop{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.details-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;filter:blur(60px) brightness(.4);opacity:.5;z-index:0}.details-content{position:relative;z-index:1;display:flex;height:100%;overflow-y:auto}.details-left{width:350px;padding:40px;display:flex;flex-direction:column;align-items:center;gap:24px;background:#ffffff08;border-right:1px solid var(--c-border)}.details-cover-wrap{position:relative;width:100%;aspect-ratio:2/3;border-radius:12px;overflow:hidden;box-shadow:0 15px 35px #0006;background:var(--c-surface2)}.details-cover{width:100%;height:100%;object-fit:cover}.details-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--c-text-dim)}.details-edit-art{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;background:#0009;color:#fff;border:none;cursor:pointer;opacity:0;transition:opacity .2s}.details-cover-wrap:hover .details-edit-art{opacity:1}.details-sys-badge{padding:6px 16px;border-radius:100px;font-weight:800;font-size:.8rem;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.3)}.details-right{flex:1;padding:40px;display:flex;flex-direction:column;gap:32px}.details-title{font-size:2.5rem;font-weight:900;margin:0;line-height:1.1;background:linear-gradient(to bottom,#fff,#ccc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.details-meta{font-size:1rem;color:var(--c-text-dim);margin-top:8px}.details-section-title{font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;color:var(--c-accent);margin-bottom:16px}.details-ach-loading{background:var(--c-surface2);padding:20px;border-radius:16px;color:var(--c-text-dim);text-align:center}.ach-progress-bar{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:12px}.ach-progress-fill{height:100%;background:var(--c-accent);box-shadow:0 0 10px var(--c-accent)}.ach-progress-label{font-size:.85rem;font-weight:600;margin-bottom:20px}.details-ach-list{display:flex;flex-direction:column;gap:12px}.details-ach-item{display:flex;align-items:center;gap:12px;padding:10px;background:#ffffff08;border-radius:10px;border:1px solid transparent}.details-ach-item.unlocked{border-color:#ffd70033}.details-ach-item.locked{opacity:.5;filter:grayscale(1)}.details-ach-icon{width:32px;height:32px;border-radius:4px}.details-ach-name{font-weight:700;font-size:.9rem}.details-ach-desc{font-size:.75rem;color:var(--c-text-dim)}.details-footer{margin-top:auto;display:flex;gap:12px;flex-wrap:wrap}.btn--large{padding:16px 32px;font-size:1.1rem;border-radius:12px}@media(max-width:800px){.details-content{flex-direction:column}.details-left{width:100%;border-right:none;border-bottom:1px solid var(--c-border)}.details-left{padding:20px}.details-cover-wrap{max-width:200px}}.details-logo{max-width:300px;max-height:120px;object-fit:contain;margin-bottom:12px;filter:drop-shadow(0 5px 15px rgba(0,0,0,.5))}.details-summary{font-size:.95rem;line-height:1.6;color:var(--c-text-dim);margin:16px 0;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.details-info-row{display:flex;gap:12px;align-items:center;margin-top:12px}.details-rating{font-weight:800;color:#fc0;background:#ffcc001a;padding:4px 10px;border-radius:6px;font-size:.9rem}.details-genre{background:var(--c-surface2);padding:4px 10px;border-radius:6px;font-size:.8rem;color:var(--c-text-dim);border:1px solid var(--c-border)}.game-card__art-btn[disabled]{cursor:wait}.game-card__art-btn[disabled]:not(.game-card__art-btn--loading){opacity:.72;cursor:not-allowed}@keyframes game-card-art-btn-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.game-card__art-btn--loading:before{animation:none;border-color:#ffffff73;opacity:.85}}.cover-art-candidate:has(.cover-art-candidate__score-badge span:first-child[data-perfect="1"]){border-color:var(--c-perfect-match);box-shadow:0 0 0 2px #00e6764d}.cover-art-candidate__score-badge span:last-child[data-source=RAWG]{background:#1e1e1ee6;color:#aaa}.cover-art-candidate__score-badge span:last-child[data-source=TheGamesDB]{background:#145aa0e0;color:#b8d9ff}.cover-art-candidate__score-badge span:last-child[data-source=MobyGames]{background:#78288ce0;color:#f0d0ff}.cover-art-candidate__score-badge span:last-child[data-source=cover-art-collection],.cover-art-candidate__score-badge span:last-child[data-source="GitHub popular covers"]{background:#282830eb;color:#c8c8d8}.cover-art-candidate__score-badge span:last-child[data-source="All Sources"]{background:#e6001259;color:#ffb8c0}.cover-art-candidate__score-badge span:last-child[data-source="Libretro Thumbnails"]{background:#235a37e0;color:#c8f0d8}.cover-art-candidate__score-badge span:last-child[data-source="ScreenScraper.fr"]{background:#b44b19e0;color:#ffe8cc}.cover-art-no-results{padding:48px 32px;text-align:center;color:var(--c-text-dim)}.cover-art-no-results__icon{font-size:2.5rem;margin-bottom:12px;color:var(--c-gold);font-weight:300;letter-spacing:.2em;opacity:.85}.cover-art-no-results__text{font-size:1rem;line-height:1.6}.cover-art-candidate--perfect{border-color:var(--c-perfect-match)!important;box-shadow:0 0 0 2px #00e67640,0 12px 32px #0006}.cover-art-candidate--perfect .cover-art-candidate__score-badge span:first-child{background:var(--c-perfect-match);color:var(--c-black);font-weight:900}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:3000;opacity:0;visibility:hidden;transition:opacity var(--transition),visibility var(--transition)}.confirm-overlay--visible{opacity:1;visibility:visible}.confirm-box{background:#141419d9;-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);padding:32px;max-width:480px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 24px 48px #000c,inset 0 1px #ffffff0d;animation:modal-pop .3s var(--spring)}.confirm-box__title,.confirm-title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;margin-bottom:12px;color:var(--c-text)}.confirm-box__body,.confirm-body{color:var(--c-text-dim);line-height:1.6;margin-bottom:20px}.confirm-box__actions,.confirm-footer{display:flex;gap:12px;justify-content:flex-end}@media(hover:none),(pointer:coarse){.modal-close{width:44px;height:44px;min-width:44px;min-height:44px}.confirm-footer .btn,.confirm-box__actions .btn{min-height:44px;padding-inline:18px}}.library-row{margin-bottom:32px}.library-row--entering{animation:fade-in-up .4s ease-out}.library-row__header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.library-row__title{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--c-text);margin:0}.library-row__icon-span{display:inline-flex;align-items:center;font-size:1.2rem}.library-row__scroll{display:flex;gap:14px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}.library-row__scroll::-webkit-scrollbar{height:4px}.library-row__scroll::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:2px}.bios-grid{display:flex;flex-direction:column;gap:16px}.bios-system{background:var(--c-surface2);border:1px solid var(--c-border);border-radius:var(--radius);padding:16px}.bios-system__header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.bios-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--c-border)}.bios-row:last-child{border-bottom:none}.bios-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.bios-dot--ok{background:var(--c-success)}.bios-dot--missing{background:var(--c-danger)}.bios-dot--unknown{background:var(--c-warn)}.bios-label{font-weight:600;color:var(--c-text);min-width:100px}.bios-filename{color:var(--c-text-dim);font-family:var(--font-mono);font-size:.85rem}.bios-desc{color:var(--c-text-dim);font-size:.85rem;margin-left:auto}.bios-required{color:var(--c-danger);font-size:.75rem;font-weight:600}.bios-optional{color:var(--c-warn);font-size:.75rem}.bios-upload-btn{margin-left:auto}.highlights-panel{display:flex;flex-direction:column;gap:24px}.highlights-section__title{font-family:var(--font-display);font-size:.95rem;font-weight:700;color:var(--c-text);margin:0 0 12px;text-transform:uppercase;letter-spacing:.05em}.highlights-fav-card{background:var(--c-surface2);border:1px solid var(--c-border);border-radius:var(--radius);padding:12px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:background var(--transition),border-color var(--transition)}.highlights-fav-card:hover{background:var(--c-surface3);border-color:var(--c-border-lt)}.highlights-fav-card__cover{width:48px;height:48px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.highlights-fav-card__name{font-weight:600;color:var(--c-text);font-size:.9rem}.highlights-fav-card__sys{font-size:.75rem;color:var(--c-text-dim)}.highlights-session-entry{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--c-surface2);border:1px solid var(--c-border);border-radius:var(--radius);cursor:pointer;transition:background var(--transition)}.highlights-session-entry:hover{background:var(--c-surface3)}.highlights-session-entry--gone{opacity:.5;cursor:default}.highlights-session-entry__cover{width:40px;height:40px;border-radius:var(--radius-sm);object-fit:cover}.highlights-session-entry__name{font-weight:600;font-size:.85rem;color:var(--c-text)}.highlights-session-entry__time{font-size:.75rem;color:var(--c-text-dim);margin-left:auto}.debug-console{position:fixed;bottom:60px;right:16px;width:400px;max-height:50vh;background:var(--c-surface2);border:1px solid var(--c-border-lt);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:900;display:flex;flex-direction:column}.debug-console__header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--c-border);font-weight:700;font-size:.85rem;color:var(--c-text)}.debug-console__body{flex:1;overflow-y:auto;padding:10px;font-family:var(--font-mono);font-size:.8rem}.debug-console__footer{display:flex;gap:8px;padding:10px;border-top:1px solid var(--c-border)}.debug-console__input{flex:1;background:var(--c-surface3);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:6px 10px;color:var(--c-text);font-family:var(--font-mono);font-size:.8rem}.debug-console__btn{min-height:32px;padding:0 12px}.debug-console__btn--icon{min-width:32px;padding:0;display:inline-flex;align-items:center;justify-content:center}.debug-console__btn--icon .icon-close-x{width:16px;height:16px}.btn.netplay-ice-remove{min-width:36px;padding-left:0;padding-right:0}.btn.netplay-ice-remove .icon-close-x{width:14px;height:14px}.perf-suggestion__close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.perf-suggestion__close .icon-close-x{width:14px;height:14px}.perf-suggestion{position:fixed;left:50%;bottom:var(--toast-bottom);z-index:2200;display:flex;align-items:center;gap:12px;max-width:min(520px,calc(100vw - 32px));padding:14px 16px;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.1);background:#16161af0;-webkit-backdrop-filter:blur(16px) saturate(155%);backdrop-filter:blur(16px) saturate(155%);box-shadow:var(--shadow-lift);color:var(--c-text);font-size:.85rem;font-weight:500;line-height:1.4;opacity:0;transform:translate(-50%,12px);pointer-events:none;transition:opacity .3s var(--ease-out),transform .3s var(--ease-out)}.perf-suggestion--visible{opacity:1;transform:translate(-50%);pointer-events:auto}.perf-suggestion--hiding{opacity:0;transform:translate(-50%,12px);pointer-events:none}.perf-suggestion__msg{flex:1;min-width:0}.debug-console-entry{padding:4px 0;border-bottom:1px solid var(--c-border);color:var(--c-text-dim)}.debug-console-entry--error{color:var(--c-danger)}.debug-console-entry--warn{color:var(--c-warn)}.debug-console-entry--success{color:var(--c-success)}.debug-console-entry--info{color:var(--c-accent-light)}.api-keys-list{display:flex;flex-direction:column;gap:16px}.api-key-row{background:var(--c-surface2);border:1px solid var(--c-border);border-radius:var(--radius);padding:16px}.api-key-row--disabled{opacity:.72}.api-key-row--dragging{opacity:.55}.api-key-row--drag-over{border-color:var(--c-accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c-accent) 55%,transparent)}.api-key-row__header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.api-key-row__drag{color:var(--c-text-dim);cursor:grab;font-size:1rem;line-height:1;-webkit-user-select:none;user-select:none}.api-key-row__name{flex:1;margin:0;min-width:0;font-size:.95rem;font-weight:700;color:var(--c-text)}.api-key-row__title{font-weight:700;font-size:.95rem;color:var(--c-text)}.api-key-row__desc{margin-bottom:12px}.api-key-row__input-wrap{display:flex;flex-direction:column;gap:8px}.api-key-row__key-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.api-key-row__key-line .api-key-input{flex:1 1 180px;min-width:0;width:auto}.api-key-input{width:100%;background:var(--c-surface3);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:8px 12px;color:var(--c-text);font-family:var(--font-mono);font-size:.85rem}.api-key-show-btn{background:none;border:none;color:var(--c-accent-light);cursor:pointer;font-size:.85rem}.api-key-status{flex:0 0 auto;border:1px solid var(--c-border);border-radius:999px;padding:3px 8px;background:color-mix(in srgb,var(--c-surface3) 82%,transparent);color:var(--c-text-dim);font-size:.75rem;font-weight:700;line-height:1.2;white-space:nowrap}.api-key-status--valid{color:var(--c-success)}.api-key-status--active{border-color:color-mix(in srgb,var(--c-success) 45%,var(--c-border));color:var(--c-success)}.api-key-status--missing{color:var(--c-text-dim)}.api-key-status--invalid{color:var(--c-danger)}.api-key-status--disabled{color:var(--c-text-muted)}.api-key-status--checking{color:var(--c-warn)}.api-key-status--testing{border-color:color-mix(in srgb,var(--c-warn) 45%,var(--c-border));color:var(--c-warn)}.api-key-row__test-msg{font-size:.8rem;margin-top:8px;min-height:1.1em}.api-key-row__test-msg--success,.api-key-row__test-msg--ok{color:var(--c-success)}.api-key-row__test-msg--error{color:var(--c-danger)}.api-key-row__warn{font-size:.8rem;color:var(--c-warn);margin-top:6px}.api-keys-summary{background:var(--c-surface2);border:1px solid var(--c-border);border-radius:var(--radius);padding:14px;font-size:.85rem;color:var(--c-text-dim)}.api-keys-footer{margin-top:16px;display:flex;align-items:center;flex-wrap:wrap;gap:12px}.api-key-row__actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.api-key-enabled{display:inline-flex;align-items:center;gap:6px;color:var(--c-text-dim);font-size:.85rem}.api-key-row__reorder{min-width:34px;padding-inline:8px}.easy-netplay-dialog{max-width:760px;width:90%;max-height:90vh;overflow:auto}.enp-header-brand{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.enp-header-titles{display:flex;flex-direction:column;gap:2px;min-width:0}.enp-header__logo{flex-shrink:0;border-radius:10px}.enp-header__subtitle{display:block;font-size:.82rem;font-weight:600;color:var(--c-text-dim);line-height:1.25}.enp-pre-tabs{display:flex;flex-direction:column;gap:10px;padding:14px 16px 0}.enp-readiness{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;background:color-mix(in srgb,var(--c-surface2) 82%,black);border:1px solid var(--c-border);border-radius:var(--radius)}.enp-readiness__items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.enp-readiness__item{min-width:0;padding:8px 10px;border:1px solid color-mix(in srgb,var(--c-warn) 40%,var(--c-border));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--c-warn) 9%,transparent)}.enp-readiness__item--ready{border-color:color-mix(in srgb,var(--c-success) 45%,var(--c-border));background:color-mix(in srgb,var(--c-success) 10%,transparent)}.enp-readiness__label,.enp-readiness__value{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enp-readiness__label{color:var(--c-text-dim);font-size:.72rem;font-weight:700;text-transform:uppercase}.enp-readiness__value{color:var(--c-text);font-size:.9rem;font-weight:800}.enp-readiness__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.enp-ready-action{min-height:36px;padding:0 12px}.enp-diag{font-size:.85rem;padding:6px 0;color:var(--c-text-dim)}.enp-diag--info{color:var(--c-accent-light)}.enp-diag--warn{color:var(--c-warn)}.enp-diag--error{color:var(--c-danger)}.enp-diag-wrap{margin-bottom:8px}.enp-diag-detail{margin-top:4px;font-size:.8rem}.enp-diag-detail__text{background:var(--c-surface3);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:8px;font-family:var(--font-mono);font-size:.75rem;overflow-x:auto}.enp-setup-strip{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:12px;background:var(--c-surface2);border:1px solid var(--c-border);border-radius:var(--radius)}.enp-setup-strip__copy{min-width:0}.enp-setup-strip__title{font-weight:700;font-size:.9rem;color:var(--c-text)}.enp-setup-strip__text{color:var(--c-text-dim);font-size:.82rem;margin:4px 0 0}.enp-setup-strip__steps{font-size:.8rem;color:var(--c-text-dim)}.enp-setup-strip__btn{margin-left:auto}.enp-open-source{flex-basis:100%;width:100%;color:var(--c-text-dim);font-size:.82rem}.enp-open-source__summary{cursor:pointer;color:var(--c-text);font-weight:800}.enp-open-source__body{display:grid;gap:8px;margin-top:8px}.enp-open-source__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;background:var(--c-surface3);border:1px solid var(--c-border);border-radius:var(--radius-sm)}.enp-open-source__copy{min-width:0;display:grid;gap:3px}.enp-open-source__name{color:var(--c-accent-light);font-weight:800}.enp-open-source__fit{color:var(--c-text-dim)}.enp-open-source__cmd{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--c-text)}.enp-open-source__btn{min-height:34px;padding:0 10px}.enp-game-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:var(--c-surface3);border:1px solid var(--c-border);border-radius:999px;font-size:.8rem}.enp-game-badge__label{color:var(--c-text-dim)}.enp-game-badge__name{color:var(--c-text);font-weight:600}.enp-compat-warn{color:var(--c-warn);font-size:.8rem;margin-top:8px}.enp-filter-btn{background:var(--c-surface2);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:6px 12px;color:var(--c-text-dim);font-size:.8rem;cursor:pointer}.enp-filter-btn--active{background:var(--c-accent);border-color:var(--c-accent);color:#fff}.enp-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--c-text-dim);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0}.enp-close .icon-close-x{width:18px;height:18px}.enp-help{font-size:.85rem;color:var(--c-text-dim);margin:8px 0}.enp-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.enp-btn-paste-code{min-height:42px;padding:0 12px}.enp-active-room__waiting{color:var(--c-text-dim);font-size:.9rem;margin-top:8px}.enp-panel{display:flex;flex-direction:column;gap:16px}.enp-panels{display:flex;flex-direction:column;gap:20px}.enp-leave-btn{margin-top:20px}.cloud-library-section{margin-top:16px}.cloud-library-section__title{font-weight:700;font-size:.95rem;color:var(--c-text);margin-bottom:12px}.cloud-connection-empty{text-align:center;padding:24px;color:var(--c-text-dim);font-size:.9rem}.confirm-box__title{font-family:var(--font-display);font-size:1.25rem;font-weight:700;margin-bottom:12px;color:var(--c-text)}.confirm-box__body{color:var(--c-text-dim);line-height:1.6;margin-bottom:20px}.confirm-box__actions{display:flex;gap:12px;justify-content:flex-end}.settings-clear-btn{background:none;border:none;color:var(--c-danger);cursor:pointer;font-size:.8rem}.settings-import-status{font-size:.8rem;margin-top:8px}.settings-import-status--success{color:var(--c-success)}.settings-import-status--error{color:var(--c-danger)}.settings-import-status--dim{color:var(--c-text-dim)}.is-loading{position:relative;pointer-events:none;opacity:.7}.is-loading:after{content:"";position:absolute;top:50%;left:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:loading-spin .6s linear infinite}.shortcut-row{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--c-border)}.shortcut-key{font-family:var(--font-mono);font-size:.8rem;background:var(--c-surface3);padding:2px 8px;border-radius:var(--radius-sm)}.shortcut-desc{color:var(--c-text-dim);font-size:.85rem}.help-steps{display:flex;flex-direction:column;gap:12px}.help-step{padding:12px;background:var(--c-surface2);border:1px solid var(--c-border);border-radius:var(--radius)}.help-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.help-link-btn{font-size:.85rem}.trouble-item{padding:12px;background:var(--c-surface2);border:1px solid var(--c-border);border-radius:var(--radius)}.trouble-item__q{font-weight:700;color:var(--c-text);margin-bottom:6px}.trouble-item__a{color:var(--c-text-dim);font-size:.85rem;line-height:1.5}.device-info-details{background:var(--c-surface2);border:1px solid var(--c-border);border-radius:var(--radius);padding:14px;font-family:var(--font-mono);font-size:.8rem;color:var(--c-text-dim)}.achievements-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.details-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.details-achievements{margin-top:16px}.details-ach-text{font-size:.85rem;color:var(--c-text-dim)}.modal-subtitle{font-size:.85rem;color:var(--c-text-dim);margin-bottom:16px}.status-item__value{font-weight:600;color:var(--c-text)}.footer-info{font-size:.75rem;color:var(--c-text-dim)}.footer-coi-warning{color:var(--c-warn);font-weight:700;cursor:help;margin-left:8px;display:inline-flex;align-items:center;gap:4px}.footer-coi-warning__icon{display:inline-flex;flex-shrink:0}.footer-coi-warning__icon .ui-inline-icon--alert{width:14px;height:14px;display:block}.hero-sys-icon{font-size:1.5rem;margin-right:8px}.row-sys-icon{font-size:1rem;margin-right:6px}.drop-zone--prominent{border-width:3px;border-style:dashed;border-color:var(--c-accent);background:var(--c-accent-dim)}.drop-zone--compact{padding:16px;min-height:auto}.game-picker-list,.system-picker-list{display:flex;flex-direction:column;gap:10px;max-height:min(52vh,420px);overflow-y:auto;padding-right:4px}.game-picker-btn:not(.system-pick-btn){text-align:left;padding:10px 14px}.system-pick-btn{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--c-border-lt);background:var(--c-surface2);color:var(--c-text);cursor:pointer;font:inherit;transition:background var(--transition),border-color var(--transition),transform var(--transition-fast)}.system-pick-btn:hover{background:var(--c-surface3);border-color:color-mix(in srgb,var(--c-accent) 35%,var(--c-border-lt))}.system-pick-btn:active{transform:translateY(1px)}.system-pick-btn:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.system-pick-btn__visual{flex:0 0 auto;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#ffffff0a;border:1px solid var(--c-border-lt);overflow:hidden}.system-pick-btn__icon{width:100%;height:100%;object-fit:contain;display:block}.system-pick-btn__badge-fallback{font-size:.65rem;padding:3px 8px}.system-pick-btn__content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}.system-pick-btn__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.system-pick-btn__headline{font-weight:700;font-size:.95rem;line-height:1.25;color:var(--c-text)}.system-pick-btn__meta{font-size:.78rem;color:var(--c-text-dim);line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.multidisc-row{display:flex;align-items:center;gap:12px;padding:8px 0}.multidisc-label{font-weight:600;font-size:.9rem;min-width:80px}.multidisc-box{max-width:500px}.cover-art-dialog__subtitle{color:var(--c-text-dim);font-size:.92rem;line-height:1.45;margin-bottom:8px}.cover-art-section{margin-bottom:14px}.cover-art-panel{padding:16px 18px;border-radius:var(--radius-lg);border:1px solid var(--c-border);background:#ffffff05}.cover-art-panel--discover{border-color:#7a98b859;background:linear-gradient(145deg,#7a98b814,#ffffff05)}.cover-art-panel__label{font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--c-text-dim);margin-bottom:10px}.cover-art-panel__hint{font-size:.82rem;color:var(--c-text-muted);line-height:1.45;margin:0 0 12px}.cover-art-btn{width:100%;padding:12px 14px}.cover-art-btn--discover{font-weight:800}.cover-art-box{max-width:420px}.confirm-footer--cover-picker,.confirm-footer--cover-candidates{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-top:8px}.cover-art-candidate__intro{font-size:.9rem;color:var(--c-text-dim);line-height:1.45}.library-controls__fetch-covers--busy{border-color:#e6001273!important;color:var(--c-accent-light)!important;font-variant-numeric:tabular-nums;font-weight:800;opacity:1;cursor:pointer}.cover-art-url-row{display:flex;gap:8px;align-items:stretch;margin-bottom:8px}.cover-art-url-row .cover-art-url-input{flex:1 1 0;min-width:0;width:auto}.cover-art-paste-url{flex:0 0 auto;white-space:nowrap;padding-left:12px;padding-right:12px}.cover-art-clipboard-msg{font-size:.78rem;margin:-4px 0 8px;min-height:1.2em}.cover-art-clipboard-msg--ok{color:var(--c-success)}.cover-art-clipboard-msg--err{color:var(--c-warn)}.cover-art-open-apikeys{margin-top:8px}.cover-art-url-input{width:100%;background:var(--c-surface3);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:8px 12px;color:var(--c-text);font-size:.85rem}.archive-picker-box{max-width:500px}.header-priority-secondary{opacity:.7}.header-priority-chip{background:var(--c-surface3);border-radius:999px;padding:4px 10px;font-size:.75rem}.header-priority-optional{opacity:.5}.cloud-save-status__badge{font-size:.7rem;padding:2px 6px;border-radius:999px;font-weight:600}.cloud-save-status__badge--synced{background:var(--c-success);color:#fff}.cloud-save-status__badge--syncing{background:var(--c-accent);color:#fff}.cloud-save-status__badge--error{background:var(--c-danger);color:#fff}.cloud-save-status__badge--local-only{background:var(--c-border);color:var(--c-text-dim)}.fps-visualiser{width:60px;height:24px}.fps-current{font-size:.85rem;font-weight:700}.fps-separator{width:1px;align-self:stretch;background:var(--c-border);margin-block:2px}.fps-detail{font-size:.7rem;color:var(--c-text-dim)}.fps-warn{color:var(--c-danger);font-size:.7rem}.fps-val.fps-good{color:var(--c-success)}.fps-val.fps-ok{color:var(--c-warn)}.fps-val.fps-bad{color:var(--c-danger)}.sys-chip{display:inline-block;padding:4px 10px;background:var(--sys-color, var(--c-surface3));border:1px solid var(--c-border);border-radius:999px;font-size:.8rem;font-weight:600;color:var(--c-text)}.sys-badge{display:inline-block;padding:2px 8px;background:var(--sys-color, var(--c-accent));border-radius:999px;font-size:.7rem;font-weight:700;color:#fff}.sys-badge--experimental{background:var(--c-warn)!important}.netplay-sys-list{display:flex;flex-wrap:wrap;gap:8px}.netplay-sys-groups{display:flex;flex-direction:column;gap:16px;margin-top:8px}.netplay-sys-group{border:1px solid var(--c-border);border-radius:var(--radius);padding:12px 14px;background:color-mix(in srgb,var(--c-surface2) 76%,transparent)}.netplay-sys-group__title{margin:0 0 10px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--c-text-dim)}.netplay-sys-group__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.netplay-sys-card{display:grid;gap:6px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--c-border-lt);background:var(--c-surface2)}.netplay-sys-card__hint{margin:0;font-size:.78rem;color:var(--c-text-dim);line-height:1.35}.netplay-sys-card__badge{justify-self:start}.netplay-sys-pill{font-weight:800}.ingame-netplay-session{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}.ingame-netplay-session__game{font-weight:900;font-size:1rem;color:var(--c-white)}.ingame-netplay-pill{font-size:.72rem;font-weight:800;padding:4px 10px;border-radius:999px;border:1px solid var(--c-border)}.ingame-netplay-pill--ok{border-color:color-mix(in srgb,var(--c-success) 45%,var(--c-border));background:color-mix(in srgb,var(--c-success) 12%,transparent);color:var(--c-success)}.ingame-netplay-lead{margin:0 0 8px;font-weight:800;font-size:1.05rem;color:var(--c-text)}.ingame-netplay-quick-actions{display:flex;flex-wrap:wrap;gap:10px}.netplay-session-note{margin-top:6px}.netplay-game-info-row{display:flex;align-items:center;gap:10px;padding:10px;background:var(--c-surface2);border:1px solid var(--c-border);border-radius:var(--radius)}.netplay-game-name{font-weight:600;color:var(--c-text)}.netplay-compat-badge{font-size:.75rem;padding:2px 8px;background:var(--c-accent-dim);border:1px solid var(--c-accent);border-radius:999px;color:var(--c-accent-light);font-weight:600}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.btn:hover,.brand-logo:hover,.game-card:hover{transform:none}.loading-spinner,.loading-brand__logo{animation:none;opacity:1}.game-card--skeleton{animation:none!important;opacity:.6}.info-toast,.modal-backdrop,.modal-box,.perf-suggestion,.rotate-hint,.mobile-fab{animation:none}.now-playing-chip:before{animation:none}.game-card__ach-badge{animation:none!important}.status--online:before{animation:none!important;transform:none!important;opacity:1!important}.sync-status-indicator--scanning:before{animation:none!important;opacity:.85;border-color:var(--c-accent);border-top-color:#ffffff59}.cloud-provider-card:hover,.cloud-provider-card.active{transform:none!important}.btn-sync-active{animation:none!important;opacity:1}.settings-sidebar__item:hover,.settings-sidebar__item.settings-tab--active{transform:none!important}.settings-panel-content{animation:none!important}.app-header:after{animation:none;opacity:.8}.drop-zone.drag-over{animation:none}}@media(max-width:400px){.app-header{padding:env(titlebar-area-y,0) 12px 0 12px}.app-header__brand{gap:6px}.app-footer{padding:0 12px;font-size:.8rem}.game-card__name{font-size:1rem}.game-card__meta{font-size:.75rem}.library-toolbar{flex-wrap:wrap;gap:8px}.library-search{min-width:0;flex:1 1 100%}.settings-modal-box{width:95%;max-height:90vh}.confirm-box{width:95%;padding-top:max(16px,env(safe-area-inset-top,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-bottom:max(16px,env(safe-area-inset-bottom,0px));padding-left:max(16px,env(safe-area-inset-left,0px))}.multiplayer-card{padding:16px}.launch-panel__ip{font-size:.8rem}.doctor-item{padding:12px 14px}.enp-header{flex-wrap:wrap;gap:8px}.enp-title{font-size:1rem}.enp-pre-tabs{padding-inline:8px}.enp-readiness{grid-template-columns:1fr}.enp-readiness__items{grid-template-columns:repeat(3,minmax(0,1fr))}.enp-readiness__item{padding:7px 8px}.enp-readiness__value{font-size:.8rem;white-space:normal;word-break:break-word}.enp-readiness__actions{justify-content:flex-start}.enp-ready-action{flex:1 1 80px}.enp-tabs{flex-wrap:wrap;overflow-x:visible;padding:6px}.enp-tab{flex:1 1 88px;min-width:88px;padding:12px 10px;font-size:.86rem}.enp-setup-strip{align-items:stretch}.enp-setup-strip__btn{margin-left:0}.enp-code-row{grid-template-columns:1fr}}@media(max-height:600px)and (orientation:landscape){html,body{overflow:auto}.app-header{position:relative;min-height:64px;padding:8px 16px}.app-footer{position:relative;height:48px}main#landing{padding-top:max(24px,env(safe-area-inset-top,0px));padding-bottom:max(60px,env(safe-area-inset-bottom,0px))}.drop-zone{padding:16px 20px;margin-top:12px}.drop-zone__icon{display:none}.library-hero{min-height:320px}}.library-overview{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(190px,.8fr);gap:12px;margin:-14px 0 22px}.library-overview:empty{display:none}.library-overview__item,.library-overview__scope{min-width:0;padding:14px 16px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#ffffff0b;display:grid;gap:2px}.library-overview__value,.library-overview__scope-count{color:#fff;font-family:var(--font-display);font-weight:900;font-size:1.3rem;line-height:1}.library-overview__label{color:var(--c-text);font-weight:850;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.library-overview__hint,.library-overview__scope span:last-child{color:var(--c-text-faint);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-overview__item--good{border-color:#2ecc7147}.library-overview__item--warn{border-color:#f59e0b57}.library-overview__item--favorite{border-color:#f43f5e5c}.library-overview__scope{background:#ffffff13;border-color:#ffffff2e}.game-card{border-width:1px;border-color:#ffffff14;border-radius:8px;box-shadow:0 18px 42px #0000006b}.game-card:hover{border-color:#ffffff94;box-shadow:0 24px 54px #000000a3,0 0 0 1px var(--c-accent-glow)}.game-card__topline{position:absolute;top:12px;left:12px;right:12px;z-index:6;display:flex;justify-content:space-between;gap:8px;pointer-events:none}.game-card__system-chip,.game-card__status-chip{min-width:0;max-width:48%;padding:5px 8px;border-radius:6px;background:#0c0e14b8;border:1px solid rgba(255,255,255,.18);color:#fff;font-size:.68rem;font-weight:900;line-height:1;text-transform:uppercase;letter-spacing:.05em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-card__system-chip{background:color-mix(in srgb,var(--sys-color, var(--c-accent)) 35%,rgba(12,14,20,.72))}.game-card__status-chip--cloud{border-color:#60a5fa6b}.game-card__scanline{position:absolute;left:0;right:0;bottom:0;z-index:5;padding:54px 16px 16px;display:grid;gap:4px;pointer-events:none;background:linear-gradient(to top,rgba(0,0,0,.94) 0%,rgba(0,0,0,.62) 52%,transparent 100%);transition:opacity .2s ease,transform .2s ease}.game-card:hover .game-card__scanline,.game-card:focus-visible .game-card__scanline{opacity:0;transform:translateY(8px)}.game-card__scan-title{color:#fff;font-family:var(--font-display);font-size:1.02rem;font-weight:900;line-height:1.12;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.game-card__scan-meta{color:#ffffffb8;font-size:.76rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-card__info{padding:70px 18px 18px}.game-card__name{line-height:1.15;overflow-wrap:anywhere}.game-card__patch,.game-card__art-btn,.game-card__change-sys,.game-card__fav,.game-card__remove{top:48px;bottom:auto;width:32px;height:32px;border-radius:6px}.game-card__cloud-badge{top:48px;left:14px}.game-card__remove{right:12px}.game-card__fav{right:50px}.game-card__change-sys{right:88px}.game-card__art-btn{right:126px}.game-card__patch{right:164px}.library-search,.library-sort{border-width:1px;border-radius:8px}.sys-filter-chip{border-width:1px;border-radius:8px;padding:12px 16px}@media(max-width:920px){.library-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.library-overview{grid-template-columns:1fr}.game-card__scan-title{font-size:.94rem}}
