:root{--ink:#161b27;--muted:#737887;--paper:#f4f2ed;--card:#fffdfa;--line:#dedbd3;--navy:#151c2d;--coral:#e96649;--coral-dark:#c95037;--green:#57a67f;--amber:#dfa43f;--violet:#8a73c7;--shadow:0 18px 55px rgba(35,31,25,.09);font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#f7f5f0 0,#f1efe9 100%);overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.ambient{position:fixed;border-radius:50%;filter:blur(1px);pointer-events:none;opacity:.35}.ambient-one{width:450px;height:450px;background:#f6d9bf;right:-230px;top:80px}.ambient-two{width:340px;height:340px;background:#d9e6df;left:-240px;top:530px}.shell{position:relative;width:min(1440px,100%);margin:auto;padding:0 38px 70px}.topbar{height:94px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink)}.brand-mark{position:relative;width:48px;height:37px;border-radius:18px 18px 14px 14px;background:var(--navy);display:block;transform:rotate(-3deg);box-shadow:0 6px 12px #151c2d33}.brand-mark:before,.brand-mark:after{content:'';position:absolute;background:#fff;border-radius:2px}.brand-mark:before{width:14px;height:4px;left:10px;top:17px}.brand-mark:after{width:4px;height:14px;left:15px;top:12px}.brand-mark i{position:absolute;width:5px;height:5px;background:#ef7657;border-radius:50%;right:12px;top:12px}.brand-mark i:nth-child(2){right:7px;top:19px;background:#efba4e}.brand-mark b{display:none}.brand strong{font:800 20px/1 'Manrope',sans-serif;display:block}.brand small{display:block;color:var(--muted);font-size:11px;margin-top:4px;letter-spacing:.02em}.button{border:1px solid transparent;border-radius:12px;padding:11px 17px;font-weight:700;background:white;transition:.18s ease;display:inline-flex;align-items:center;justify-content:center;gap:7px}.button:hover{transform:translateY(-1px);box-shadow:0 8px 20px #26201b17}.button.primary{background:var(--coral);color:white;box-shadow:0 8px 18px #e9664933}.button.primary:hover{background:var(--coral-dark)}.button.secondary{border-color:#d8d3ca;background:#fff}.button.ghost{background:#f0eee9;border-color:#e4e0d8}.button.danger-text{color:#b84232;background:transparent;margin-right:auto}.hero{position:relative;min-height:245px;background:var(--navy);color:#fff;border-radius:28px;padding:46px 55px;overflow:hidden;display:flex;align-items:center;box-shadow:var(--shadow)}.hero:before{content:'';position:absolute;width:480px;height:480px;border:1px solid #ffffff10;border-radius:50%;right:-80px;top:-255px;box-shadow:0 0 0 45px #ffffff06,0 0 0 90px #ffffff04}.kicker{margin:0 0 9px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:800;color:var(--coral)}.hero .kicker{color:#f39177}.hero h1{font:800 clamp(31px,4vw,51px)/1.08 'Manrope',sans-serif;margin:0;letter-spacing:-.035em}.hero-copy{margin:16px 0 0;color:#c7cbd5;font-size:15px}.hero-art{position:absolute;right:7%;bottom:0;width:320px;height:220px}.disc{position:absolute;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,#1c263b 0 16%,#697386 17% 18%,#192235 19% 45%,#8e98a8 46% 47%,#202a3e 48%);right:9px;top:24px;opacity:.8;transform:rotate(-12deg)}.disc:after{content:'';position:absolute;inset:8px;border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 6px,#ffffff06 7px 8px)}.cartridge{position:absolute;right:147px;top:66px;width:112px;height:139px;border-radius:9px 9px 15px 15px;background:linear-gradient(145deg,#ee7354,#c74b3c);border:5px solid #283249;transform:rotate(7deg);box-shadow:12px 16px 28px #0008;padding:29px 11px 0;color:#172033;font:800 16px/1.1 'Manrope';text-align:center}.cartridge:before{content:'';position:absolute;width:56px;height:12px;border-radius:0 0 4px 4px;background:#202a3e;left:23px;top:-5px}.cartridge b{display:block;font-size:33px;color:#fff;margin-top:9px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:18px}.stat-card{border:1px solid var(--line);background:#fffdfa;border-radius:17px;padding:18px 20px;display:flex;align-items:center;gap:13px;text-align:left;box-shadow:0 4px 16px #312b2010;transition:.18s}.stat-card:hover{transform:translateY(-2px);border-color:#c7c2b9}.stat-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;background:#e9edf4;color:#4d617f;font-size:18px;font-weight:900}.stat-icon.green{background:#e2f1e8;color:#428f6d}.stat-icon.amber{background:#fbedd2;color:#bc7f1d}.stat-icon.violet{background:#ebe5f7;color:#7359b8}.stat-card b{display:block;font:800 23px/1 'Manrope'}.stat-card small{display:block;color:var(--muted);margin-top:5px;font-size:11px}.library{margin-top:43px}.library-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}.library-head h2{font:800 27px/1 'Manrope';margin:0;letter-spacing:-.03em}.view-buttons{display:flex;gap:5px;background:#e9e6df;padding:4px;border-radius:10px}.icon-button{border:0;background:transparent;width:35px;height:31px;border-radius:7px;color:#7f7e7a}.icon-button.active{background:#fff;color:var(--ink);box-shadow:0 2px 7px #00000012}.filter-panel{border:1px solid var(--line);border-radius:18px;background:#fffdfa;padding:16px;box-shadow:0 7px 28px #3d352b0b}.search-wrap{height:45px;border:1px solid #d8d5ce;border-radius:11px;display:flex;align-items:center;padding:0 14px;gap:10px;background:#faf9f6}.search-wrap span{font-size:24px;color:#888;transform:rotate(-15deg)}.search-wrap input{border:0;outline:0;background:transparent;width:100%;font-size:14px}.filters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-top:13px}.filters label>span,.form-grid label>span{display:block;color:#777b86;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px 2px}.filters select,.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #d8d5ce;border-radius:10px;background:#fff;padding:10px 11px;outline:none;font-size:13px}.filters select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#e47b61;box-shadow:0 0 0 3px #e9664918}.filter-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ece9e3;margin-top:14px;padding:12px 2px 0;color:var(--muted);font-size:12px}.text-button{border:0;background:none;color:var(--coral);font-weight:700}.game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}.game-card{position:relative;min-width:0;border:1px solid var(--line);border-radius:17px;background:var(--card);padding:17px;box-shadow:0 4px 18px #312b2010;transition:.18s;overflow:hidden}.game-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px #302a2018;border-color:#cac5bb}.game-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--platform-color,#697386)}.card-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.platform-tag{display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 34px);font-size:10px;color:#666d7b;text-transform:uppercase;letter-spacing:.075em;font-weight:800}.platform-dot{width:8px;height:8px;border-radius:50%;background:var(--platform-color)}.favorite-button,.more-button{border:0;background:transparent;color:#a7a49d;padding:2px;font-size:18px;line-height:1}.favorite-button.on{color:#efb340}.game-title{font:800 16px/1.25 'Manrope';letter-spacing:-.015em;margin:15px 0 7px;overflow-wrap:anywhere}.game-meta{color:var(--muted);font-size:11px;min-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:15px}.badge{padding:5px 8px;border-radius:7px;background:#eceae5;color:#646873;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.045em}.badge.pegi{background:#e3f1e7;color:#30724e}.badge.pegi-12{background:#f6e6bd;color:#966a18}.badge.pegi-16,.badge.pegi-18{background:#f6dcd6;color:#a64131}.badge.wanted{background:#f8e9cc;color:#a66c14}.badge.unavailable{background:#eee4e1;color:#98594e}.badge.completed{background:#e8e1f6;color:#6a52a8}.badge.playing{background:#dcebed;color:#357782}.card-actions{display:flex;gap:7px;margin-top:16px;padding-top:12px;border-top:1px solid #ece9e3}.card-actions button{border:0;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:800}.edit-button{background:#efede8;color:#4f5664}.quick-button{background:#e2f0e8;color:#347455;margin-left:auto}.game-grid.list-view{display:block}.game-grid.list-view .game-card{display:grid;grid-template-columns:160px minmax(180px,1fr) auto auto;align-items:center;border-radius:12px;margin-bottom:7px;padding:12px 15px;gap:15px}.game-grid.list-view .game-title{margin:0}.game-grid.list-view .game-meta{display:none}.game-grid.list-view .badges{margin:0}.game-grid.list-view .card-actions{margin:0;padding:0;border:0}.game-grid.list-view .favorite-button{position:absolute;right:12px;top:11px}.load-more{display:flex;margin:20px auto 0;border-color:#d4d0c7;background:#fff}.empty-state{text-align:center;padding:65px 20px;color:var(--muted)}.empty-state>span{font-size:42px}.empty-state h3{font:800 20px 'Manrope';color:var(--ink);margin:8px 0}.empty-state p{margin:0 0 18px}.fab{display:none;position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));width:55px;height:55px;border:0;border-radius:50%;background:var(--coral);color:#fff;font-size:29px;box-shadow:0 10px 28px #b94d3580;z-index:10}.toast{position:fixed;z-index:100;left:50%;bottom:25px;transform:translate(-50%,20px);padding:11px 17px;border-radius:11px;background:#151c2d;color:#fff;font-size:13px;box-shadow:0 10px 30px #0004;opacity:0;pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{border:0;padding:0;border-radius:20px;background:transparent;width:min(700px,calc(100% - 24px));max-height:calc(100dvh - 24px);box-shadow:0 28px 90px #17120d55}dialog::backdrop{background:#171923aa;backdrop-filter:blur(4px)}.modal-card{background:#faf9f5;padding:25px;max-height:calc(100dvh - 24px);overflow:auto}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.modal-head h2{font:800 25px 'Manrope';margin:0}.close-button{border:0;background:#ebe8e1;border-radius:50%;width:34px;height:34px;font-size:23px;color:#666}.pegi-assist{border:1px solid #d8dbe5;background:#f1f3f8;border-radius:13px;padding:12px 13px;display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px}.pegi-assist strong{display:block;font-size:12px}.pegi-assist small{display:block;color:#757b89;font-size:10px;margin-top:3px}.pegi-results{max-height:245px;overflow:auto;border:1px solid #d9d5cc;background:#fff;border-radius:12px;margin:-7px 0 17px;padding:7px}.pegi-result{width:100%;border:0;border-bottom:1px solid #eeeae4;background:#fff;text-align:left;padding:10px;border-radius:8px;display:flex;gap:10px}.pegi-result:last-child{border:0}.pegi-result:hover{background:#f6f3ed}.pegi-result .pegi-box{display:grid;place-items:center;width:34px;height:34px;background:#e6efe5;border-radius:7px;font-weight:900;color:#35714e;flex:0 0 auto}.pegi-result strong{display:block;font-size:12px}.pegi-result small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.pegi-message{font-size:11px;color:var(--muted);padding:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.span-2{grid-column:span 2}.form-grid textarea{resize:vertical}.check-label{display:flex!important;align-items:center;gap:9px}.check-label input{width:auto}.check-label span{margin:0!important;text-transform:none!important;font-size:12px!important;letter-spacing:0!important}.modal-actions{display:flex;align-items:center;gap:8px;border-top:1px solid #e4e0d8;margin-top:20px;padding-top:17px}.modal-actions span{flex:1}.form-error{padding:9px 11px;background:#f8dfda;color:#9d392b;border-radius:9px;font-size:11px;margin:14px 0 0}
@media(max-width:1050px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filters{grid-template-columns:repeat(3,1fr)}.hero-art{right:2%}}
@media(max-width:760px){.shell{padding:0 14px 90px}.topbar{height:72px}.desktop-add{display:none}.hero{min-height:205px;padding:30px 25px;border-radius:21px}.hero-copy{max-width:65%;font-size:13px}.hero-art{right:-65px;opacity:.6;transform:scale(.8);transform-origin:right bottom}.stats{grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}.stat-card{padding:13px}.stat-icon{width:34px;height:34px}.stat-card b{font-size:19px}.library{margin-top:33px}.filters{grid-template-columns:1fr 1fr}.game-grid{grid-template-columns:1fr 1fr;gap:9px}.game-card{padding:14px}.fab{display:block}.game-grid.list-view .game-card{grid-template-columns:100px 1fr;gap:8px}.game-grid.list-view .badges,.game-grid.list-view .card-actions{grid-column:2}.modal-card{padding:19px}.pegi-assist{align-items:flex-start}.pegi-assist .button{padding:8px 10px;font-size:11px}}
@media(max-width:480px){.brand small{display:none}.hero{min-height:190px;padding:27px 20px}.hero h1{font-size:29px;max-width:80%}.hero-copy{display:none}.hero-art{right:-94px;opacity:.45}.stats{grid-template-columns:repeat(2,1fr)}.library-head{margin-bottom:12px}.filters{grid-template-columns:1fr 1fr}.filters label:last-child{grid-column:span 2}.game-grid{grid-template-columns:1fr}.game-card{padding:16px}.game-grid.list-view .game-card{grid-template-columns:92px 1fr}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.pegi-assist{display:block}.pegi-assist .button{margin-top:10px;width:100%}.modal-actions{position:sticky;bottom:-19px;background:#faf9f5;padding-bottom:4px}.modal-actions .button{padding:10px 12px}.toast{bottom:84px;width:max-content;max-width:calc(100% - 28px);text-align:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Dense dark operator theme */
:root{
  color-scheme:dark;
  --ink:#e7edf5;
  --muted:#7f8b99;
  --paper:#080b10;
  --card:#0d1219;
  --line:#222c38;
  --navy:#090d13;
  --coral:#35d6b2;
  --coral-dark:#27b99a;
  --green:#35d6b2;
  --amber:#e9b949;
  --violet:#a78bfa;
  --shadow:0 8px 22px rgba(0,0,0,.3);
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;
}
body{background:#080b10;color:var(--ink)}
.ambient{display:none}
.shell{width:min(1600px,100%);padding:0 16px 28px}
.topbar{height:56px;border-bottom:1px solid #19212b}
.brand{gap:8px}.brand-mark{width:35px;height:27px;border-radius:7px;background:#101722;box-shadow:none;border:1px solid #2c3948}.brand-mark:before{width:10px;height:3px;left:7px;top:12px}.brand-mark:after{width:3px;height:10px;left:11px;top:8px}.brand-mark i{width:4px;height:4px;right:8px;top:8px;background:#35d6b2}.brand-mark i:nth-child(2){right:5px;top:14px;background:#e9b949}.brand strong{font:700 15px/1 ui-monospace,monospace;letter-spacing:-.02em}.brand small{font-size:9px;margin-top:2px;color:#657383}
.button{border-radius:5px;padding:7px 10px;font-size:11px;box-shadow:none!important}.button:hover{transform:none;border-color:#3b4b5d}.button.primary{background:#173f3a;color:#65f3d2;border-color:#287b6c;box-shadow:none}.button.primary:hover{background:#205148}.button.secondary{background:#111822;border-color:#2a3745}.button.ghost{background:#10161e;border-color:#26313e}.button.danger-text{background:transparent;color:#ff756b}
.hero{min-height:132px;border-radius:7px;padding:19px 22px;margin-top:10px;background:#0b1017;border:1px solid #222d3a;box-shadow:none}.hero:before{width:350px;height:350px;right:-60px;top:-220px;border-color:#35d6b212;box-shadow:0 0 0 34px #35d6b207,0 0 0 68px #35d6b204}.kicker{font-size:8px;letter-spacing:.13em;margin:0 0 5px;color:#35d6b2}.hero .kicker{color:#35d6b2}.hero h1{font:700 clamp(22px,3vw,33px)/1.05 ui-monospace,monospace;letter-spacing:-.04em}.hero h1:before{content:'> ';color:#35d6b2}.hero-copy{margin:8px 0 0;font-size:11px;color:#778698}.hero-art{right:4%;width:210px;height:130px;opacity:.52}.disc{width:115px;height:115px;top:11px;background:radial-gradient(circle,#080b10 0 16%,#354152 17% 18%,#111925 19% 45%,#516071 46% 47%,#101722 48%)}.cartridge{right:84px;top:31px;width:69px;height:91px;border-radius:4px 4px 8px 8px;border-width:3px;padding:18px 5px 0;background:linear-gradient(145deg,#2fd2af,#16826f);font:700 10px/1 ui-monospace,monospace;box-shadow:6px 9px 14px #000a}.cartridge:before{width:35px;height:8px;left:14px;top:-3px}.cartridge b{font-size:21px;margin-top:5px}
.stats{gap:7px;margin-top:7px}.stat-card{border-radius:5px;padding:9px 11px;gap:8px;background:#0d1219;border-color:#202a35;box-shadow:none}.stat-card:hover{transform:none;border-color:#3a4b5d;background:#111821}.stat-icon{width:27px;height:27px;border-radius:4px;font-size:12px;background:#151e29;color:#76a2d1}.stat-icon.green{background:#102820;color:#4bddb4}.stat-icon.amber{background:#292210;color:#edbd56}.stat-icon.violet{background:#211a33;color:#b29af6}.stat-card>span:last-child{display:flex;align-items:baseline;gap:7px;min-width:0}.stat-card b{font:700 16px/1 ui-monospace,monospace}.stat-card small{font-size:9px;margin:0}
.library{margin-top:18px}.library-head{margin-bottom:7px}.library-head h2{font:700 19px/1 ui-monospace,monospace;letter-spacing:-.03em}.view-buttons{gap:2px;padding:2px;border-radius:4px;background:#111720}.icon-button{width:27px;height:24px;border-radius:3px;color:#667485;font-size:12px}.icon-button.active{background:#1b2632;color:#56e5c4;box-shadow:none}
.filter-panel{border-radius:6px;padding:8px;background:#0c1118;border-color:#202a35;box-shadow:none}.search-wrap{height:34px;border-radius:4px;padding:0 9px;gap:6px;background:#090d13;border-color:#26313d}.search-wrap span{font-size:17px;color:#536376}.search-wrap input{font-size:11px}.filters{gap:6px;margin-top:7px}.filters label>span,.form-grid label>span{font-size:8px;letter-spacing:.07em;margin:0 0 3px 1px;color:#728092}.filters select,.form-grid input,.form-grid select,.form-grid textarea{border-radius:4px;background:#090d13;border-color:#27323e;padding:7px 8px;font-size:10px;color:#dce4ee}.filters select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#35d6b2;box-shadow:0 0 0 1px #35d6b244}.filter-foot{margin-top:7px;padding:6px 1px 0;border-color:#1b242e;font-size:9px}.text-button{color:#45ddbd;font-size:9px}
.game-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:7px}.game-card{border-radius:5px;padding:10px 10px 8px;background:#0d1219;border-color:#202a35;box-shadow:none}.game-card:hover{transform:none;box-shadow:none;border-color:#3a4b5c;background:#101720}.game-card:before{width:2px}.platform-tag{font-size:8px;letter-spacing:.055em}.platform-dot{width:6px;height:6px}.favorite-button{font-size:14px}.game-title{font:700 12px/1.22 ui-monospace,monospace;margin:8px 0 4px}.game-meta{font-size:8px;min-height:11px}.badges{gap:3px;margin-top:8px}.badge{padding:3px 5px;border-radius:3px;font-size:7px;background:#171e27;color:#8591a0}.badge.pegi{background:#10271f;color:#59dbae}.badge.pegi-12{background:#292311;color:#e3b64e}.badge.pegi-16,.badge.pegi-18{background:#2e1718;color:#f08076}.badge.wanted{background:#2c2411;color:#eabc57}.badge.unavailable{background:#28191a;color:#df837a}.badge.completed{background:#211a32;color:#ae96ef}.badge.playing{background:#11292d;color:#55c9d5}.card-actions{gap:4px;margin-top:8px;padding-top:6px;border-color:#1e2731}.card-actions button{border-radius:3px;padding:4px 6px;font-size:7px}.edit-button{background:#171e27;color:#9ba6b4}.quick-button{background:#112b24;color:#50ddb8}.game-grid.list-view .game-card{grid-template-columns:135px minmax(180px,1fr) auto auto;border-radius:4px;margin-bottom:3px;padding:6px 9px;gap:9px}.game-grid.list-view .favorite-button{right:8px;top:5px}.load-more{margin:10px auto 0;background:#10161e;border-color:#26323f}.empty-state{padding:30px 15px}.empty-state>span{font-size:27px}.empty-state h3{font:700 14px ui-monospace,monospace;margin:4px 0}.empty-state p{font-size:10px;margin:0 0 10px}
.fab{background:#173f3a;color:#65f3d2;border:1px solid #287b6c;box-shadow:0 6px 20px #0008}.toast{bottom:14px;padding:7px 10px;border-radius:4px;background:#17212c;border:1px solid #344456;font-size:10px;box-shadow:0 8px 25px #0008}
dialog{border-radius:6px;width:min(660px,calc(100% - 16px));max-height:calc(100dvh - 16px);box-shadow:0 18px 70px #000b}dialog::backdrop{background:#020407dd;backdrop-filter:blur(2px)}.modal-card{background:#0b1017;padding:13px;max-height:calc(100dvh - 16px)}.modal-head{margin-bottom:8px}.modal-head h2{font:700 17px ui-monospace,monospace}.close-button{border-radius:4px;width:25px;height:25px;font-size:17px;background:#171f29;color:#9da9b7}.pegi-assist{border-radius:4px;padding:7px 8px;gap:8px;margin-bottom:9px;background:#0e1720;border-color:#25384a}.pegi-assist strong{font-size:9px;color:#67e6c8}.pegi-assist small{font-size:8px;margin-top:2px}.pegi-results{max-height:190px;border-radius:4px;margin:-3px 0 8px;padding:3px;background:#090d13;border-color:#26313e}.pegi-result{padding:6px;gap:7px;border-color:#1e2832;background:#090d13;border-radius:3px}.pegi-result:hover{background:#111a23}.pegi-result .pegi-box{width:26px;height:26px;border-radius:3px;font-size:10px;background:#10271f;color:#57d8ad}.pegi-result strong{font-size:9px}.pegi-result small,.pegi-message{font-size:8px}.form-grid{gap:7px}.form-grid textarea{min-height:50px}.check-label{gap:6px}.check-label span{font-size:9px!important}.modal-actions{gap:5px;margin-top:10px;padding-top:8px;border-color:#202a34}.form-error{padding:6px 8px;border-radius:3px;font-size:8px;margin:7px 0 0;background:#2f1718;color:#ff8a7e}
@media(max-width:1250px){.game-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.shell{padding:0 8px 60px}.topbar{height:48px}.hero{min-height:112px;padding:15px 16px;border-radius:5px;margin-top:6px}.hero h1{font-size:21px}.hero-copy{font-size:9px}.stats{gap:4px;margin-top:4px}.stat-card{padding:7px}.stat-icon{width:24px;height:24px}.stat-card b{font-size:14px}.library{margin-top:14px}.filters{gap:5px}.game-grid{gap:5px}.game-card{padding:9px}.fab{width:43px;height:43px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));font-size:22px}.modal-card{padding:10px}.pegi-assist .button{padding:6px 7px;font-size:8px}}
@media(max-width:520px){.hero{min-height:96px}.hero h1{max-width:none;white-space:nowrap;font-size:clamp(14px,4.7vw,18px)}.hero-art{display:none}.stats{grid-template-columns:repeat(4,1fr)}.stat-card{display:block;text-align:center;padding:6px 3px}.stat-icon{margin:0 auto 4px;width:21px;height:21px}.stat-card b{font-size:12px}.stat-card small{font-size:7px}.library-head h2{font-size:16px}.filters{grid-template-columns:1fr 1fr}.game-grid{grid-template-columns:1fr}.game-grid.list-view .game-card{grid-template-columns:85px 1fr}.modal-actions{bottom:-10px;background:#0b1017}.toast{bottom:62px}}

.auth-screen{min-height:100dvh;display:grid;place-items:center;padding:12px;background:radial-gradient(circle at 50% 20%,#10201e 0,#080b10 38%,#05070a 100%)}
.auth-screen[hidden],.shell[hidden],[hidden]{display:none!important}
.auth-card{width:min(390px,100%);border:1px solid #263541;background:#0b1017;box-shadow:0 24px 80px #000c}
.auth-terminal{height:31px;display:flex;align-items:center;gap:7px;padding:0 8px;border-bottom:1px solid #24303c;background:#0e151d;color:#8695a5;font-size:8px;letter-spacing:.08em}.auth-terminal .brand-mark{width:21px;height:16px;border-radius:3px}.auth-terminal .brand-mark:before{width:7px;height:2px;left:4px;top:7px}.auth-terminal .brand-mark:after{width:2px;height:7px;left:7px;top:4px}.auth-terminal .brand-mark i{width:2px;height:2px;right:5px;top:5px}.auth-terminal .brand-mark i:nth-child(2){right:3px;top:9px}.auth-terminal em{font-style:normal;margin-left:auto;color:#45dab7}
.auth-body{padding:18px}.auth-body h1{font:700 20px/1.1 ui-monospace,monospace;margin:0}.auth-body h1:before{content:'> ';color:#35d6b2}.auth-copy{font-size:9px;color:#768494;line-height:1.55;margin:7px 0 14px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid #25313d;border-radius:4px;padding:2px;background:#080c11;margin-bottom:12px}.auth-tabs button{height:27px;border:0;border-radius:2px;background:transparent;color:#708090;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.auth-tabs button.active{background:#15332f;color:#5ce8c8}.auth-body form label{display:block;margin-top:8px}.auth-body form label>span{display:block;color:#728092;font-size:8px;text-transform:uppercase;letter-spacing:.07em;margin:0 0 3px 1px}.auth-body input{width:100%;height:34px;border:1px solid #27333f;border-radius:4px;background:#080c11;padding:0 9px;font-size:11px;outline:none}.auth-body input:focus{border-color:#35d6b2;box-shadow:0 0 0 1px #35d6b244}.auth-submit{width:100%;margin-top:11px;height:34px}.auth-hint{font-size:8px;line-height:1.45;color:#a5b0bd;background:#101b1d;border-left:2px solid #35d6b2;padding:6px 7px;margin:8px 0 0}.auth-hint strong{color:#64e8ca}
.top-actions{display:flex;align-items:center;gap:6px}.top-actions>.button{position:relative;width:114px;height:36px;padding-top:0;padding-bottom:0;line-height:1}.desktop-add{padding-left:9px;padding-right:9px}.desktop-add>.button-icon{position:absolute;left:9px;top:50%;line-height:1;transform:translateY(-50%)}.desktop-add>.button-label,.account-button #account-name{display:flex;align-items:center;justify-content:center;width:100%;height:100%;line-height:1;transform:translateY(1px)}.account-button{padding-left:9px;padding-right:9px;background:#0d141c;border-color:#263441;color:#9eabb9;max-width:150px}.account-button:hover{background:#111b25}.account-button .nav-avatar{position:absolute;left:7px;top:50%;transform:translateY(-50%)}.account-button #account-name{overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.status-led{width:6px;height:6px;border-radius:50%;background:#43dbb7;box-shadow:0 0 7px #43dbb7}
#account-dialog{width:min(440px,calc(100% - 16px))}.account-modal{width:100%}.account-summary{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid #22303b;background:#0d151d;margin-bottom:9px}.account-avatar,.nav-avatar{display:grid;place-items:center;overflow:hidden;border:1px solid #2c7165;background:#14362f;color:#66eacb;font-weight:700;flex:none}.account-avatar{width:45px;height:45px;font-size:15px}.nav-avatar{width:22px;height:22px;font-size:10px}.account-avatar img,.nav-avatar img{width:100%;height:100%;display:block;object-fit:cover}.account-avatar-picker{position:relative;border:0;background:none;padding:0;cursor:pointer}.avatar-plus{position:absolute;right:-2px;bottom:-2px;width:16px;height:16px;display:grid;place-items:center;border:1px solid #3aa990;background:#0b1718;color:#6aefd0;font-size:11px}.account-identity{min-width:0}.account-summary strong{display:block;font-size:10px}.account-summary small{display:block;font-size:8px;color:#718091;margin-top:2px}.avatar-actions{display:flex;gap:8px;margin-top:3px}.avatar-actions .text-button{padding:0;font-size:9px}.avatar-remove{color:#ff756b}.account-grid{grid-template-columns:1fr}.account-grid .span-2{grid-column:span 1}
@media(max-width:520px){.auth-screen{padding:7px}.auth-body{padding:14px}.account-button{padding:6px 7px;max-width:110px}.account-button #account-name{max-width:65px}.top-actions{gap:4px}}

/* Dense, not microscopic: legible type at desktop and high-resolution widths. */
body{font-size:14px}
.brand strong{font-size:16px}.brand small,.kicker{font-size:10px}
.button{font-size:12px}.hero-copy{font-size:12px}

/* Monochrome box-art fan in the collection header. */
.hero-art{right:3%;bottom:0;width:270px;height:126px;opacity:.72;perspective:700px}
.hero-cover{position:absolute;left:50%;bottom:-13px;width:72px;height:105px;border:1px solid #54e2c35c;border-radius:3px;background:linear-gradient(145deg,#163d38 0 22%,#0e2927 22% 25%,#17463e 25% 56%,#0b2422 56% 60%,#123630 60% 100%);box-shadow:0 9px 19px #0009,inset 0 0 0 2px #07110f99;transform-origin:50% 118%;overflow:hidden}
.hero-cover:before{content:'';position:absolute;inset:8px 7px 40px;border:1px solid #67e4c53d;background:linear-gradient(135deg,transparent 0 36%,#48d5b51b 37% 62%,transparent 63%),radial-gradient(circle at 68% 34%,#6ce7ca42 0 8%,transparent 9%)}
.hero-cover:after{content:'';position:absolute;left:8px;right:15px;bottom:23px;height:2px;background:#66dfc064;box-shadow:0 6px 0 #66dfc02b,0 12px 0 #66dfc018}
.hero-cover.has-art{background-size:cover;background-position:center;background-repeat:no-repeat}
.hero-cover.has-art:before,.hero-cover.has-art:after{display:none}
.hero-cover-1{transform:translateX(-118px) rotate(-20deg);filter:brightness(.62)}
.hero-cover-2{transform:translateX(-84px) rotate(-11deg);filter:brightness(.78)}
.hero-cover-3{z-index:3;transform:translateX(-36px) translateY(-8px);filter:brightness(1.05)}
.hero-cover-4{z-index:2;transform:translateX(13px) rotate(11deg);filter:brightness(.82)}
.hero-cover-5{transform:translateX(48px) rotate(20deg);filter:brightness(.64)}
.hero-cover-1{background:linear-gradient(160deg,#173c38 0 48%,#0b211f 49% 100%)}
.hero-cover-1:before{inset:12px 7px 22px;border:0;background:linear-gradient(142deg,transparent 0 42%,#59d7ba40 43% 45%,transparent 46%),linear-gradient(38deg,#0a1b1a 0 38%,#2b746546 39% 60%,transparent 61%)}
.hero-cover-1:after{left:9px;right:26px;bottom:14px;height:1px;box-shadow:0 4px 0 #66dfc02d}
.hero-cover-2{background:linear-gradient(20deg,#102c29,#19473f 62%,#0c2421)}
.hero-cover-2:before{inset:10px 8px 29px;border:0;border-radius:50%;background:radial-gradient(circle at 50% 48%,#69e0c34a 0 13%,transparent 14% 27%,#55ceb52b 28% 29%,transparent 30% 43%,#4fc6ac1c 44% 45%,transparent 46%)}
.hero-cover-2:after{left:13px;right:13px;bottom:15px;height:10px;border:1px solid #5ed8ba38;background:repeating-linear-gradient(90deg,#5ed8ba30 0 2px,transparent 2px 6px);box-shadow:none}
.hero-cover-3{background:linear-gradient(135deg,#1b5147,#0b2522 55%,#153c36)}
.hero-cover-3:before{inset:9px 10px 35px;border:1px solid #70e7cb47;background:linear-gradient(90deg,transparent 46%,#68dfc12f 47% 53%,transparent 54%),linear-gradient(0deg,transparent 46%,#68dfc12f 47% 53%,transparent 54%),radial-gradient(circle,#78ead04a 0 9%,transparent 10%)}
.hero-cover-3:after{left:15px;right:15px;bottom:23px;height:2px;box-shadow:0 6px 0 #66dfc03d,0 12px 0 #66dfc020}
.hero-cover-4{background:linear-gradient(160deg,#0e2926,#205248 56%,#0b201e)}
.hero-cover-4:before{inset:11px 8px 30px;border:0;background:repeating-linear-gradient(0deg,transparent 0 10px,#63d9bc21 10px 11px),repeating-linear-gradient(90deg,#56ceb22b 0 9px,transparent 9px 18px)}
.hero-cover-4:after{left:9px;right:29px;bottom:16px;height:5px;background:#65ddc047;box-shadow:21px 0 0 #65ddc020}
.hero-cover-5{background:linear-gradient(145deg,#173c37,#0a211f 52%,#12352f)}
.hero-cover-5:before{inset:10px 7px 27px;border:0;background:linear-gradient(0deg,#51cdb22a 0 2%,transparent 3% 19%,#51cdb21c 20% 21%,transparent 22%),radial-gradient(circle at 69% 67%,#74e7cc55 0 12%,#4bc7ab20 13% 27%,transparent 28%)}
.hero-cover-5:after{left:11px;right:11px;bottom:15px;height:1px;background:#66dfc046;box-shadow:0 -5px 0 #66dfc019}
@media(max-width:760px){.hero-art{right:-20px;transform:scale(.82);transform-origin:right bottom}}
.stat-card small,.filter-foot,.game-meta,.empty-state p{font-size:10px}
.filters label>span,.form-grid label>span,.auth-body form label>span{font-size:10px}
.search-wrap input,.filters select,.form-grid input,.form-grid select,.form-grid textarea{font-size:12px}
.platform-tag{font-size:10px}.game-title{font-size:14px}.badge{font-size:9px}
.card-actions button{font-size:10px}.toast{font-size:11px}
.pegi-assist strong,.pegi-result strong,.account-summary strong{font-size:11px}
.pegi-assist small,.pegi-result small,.pegi-message,.form-error,.account-summary small{font-size:10px}
.check-label span{font-size:10px!important}
.auth-terminal{font-size:10px}.auth-body h1{font-size:22px}.auth-copy,.auth-tabs button{font-size:11px}
.auth-body input{font-size:13px}.auth-hint{font-size:10px}
@media(min-width:1800px){body{font-size:15px}.game-title{font-size:15px}.search-wrap input,.filters select,.form-grid input,.form-grid select,.form-grid textarea,.auth-body input{font-size:13px}}
@media(max-width:520px){.stat-card small{font-size:9px}.game-title{font-size:14px}}

/* Cover-backed cards follow Gamebooks: centered art flowing across the card under a readability fade. */
.game-card.has-cover{background:#0d1219}.game-card.has-cover:before{z-index:3}.game-card>.game-cover{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;opacity:.92}.game-cover-shade{position:absolute;z-index:0;inset:0;background:linear-gradient(to right,rgba(8,12,17,.99) 0%,rgba(9,14,20,.96) 38%,rgba(10,15,22,.82) 62%,rgba(9,14,20,.38) 100%);pointer-events:none}.game-card>:not(.game-cover):not(.game-cover-shade){position:relative;z-index:1}.game-card.has-cover:hover .game-cover{transform:scale(1.025)}.game-cover{transition:transform .22s ease}
.cover-assist{border:1px solid #293545;background:#101620;padding:7px 8px;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}.cover-assist strong{display:block;font-size:11px;color:#78aee7}.cover-assist small{display:block;color:#7e8b99;font-size:10px;margin-top:2px}.cover-assist-actions{display:flex;gap:5px;flex:none}.cover-selection{height:62px;display:flex;align-items:center;gap:9px;border:1px solid #2a3c4d;background:#0a1118;padding:5px;margin:-3px 0 9px}.cover-selection img{width:36px;height:50px;object-fit:cover}.cover-selection strong,.cover-selection small{display:block}.cover-selection strong{font-size:11px;color:#8fc4f1}.cover-selection small{font-size:10px;color:#7d8a98;margin-top:3px}.cover-results{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;max-height:310px;overflow:auto;border:1px solid #283542;background:#080d12;padding:5px;margin:-3px 0 9px}.cover-result{min-width:0;border:1px solid #25313d;background:#0e151d;color:#dce5ef;padding:4px;text-align:left}.cover-result:hover{border-color:#4b87b8;background:#111d28}.cover-result img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;background:#06090d}.cover-result strong,.cover-result small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cover-result strong{font-size:10px;margin-top:4px}.cover-result small{font-size:9px;color:#758393;margin-top:2px}
.integration-panel{border:1px solid #263541;background:#091018;padding:8px;margin-bottom:9px}.integration-head,.integration-key,.integration-bulk{display:flex;align-items:center;gap:7px}.integration-head{justify-content:space-between}.integration-head strong,.integration-head small{display:block}.integration-head strong{font-size:11px;color:#7eb6e8}.integration-head small,.integration-bulk span{font-size:10px;color:#7d8998;margin-top:2px}.integration-head a{font-size:9px;color:#54dbbd}.integration-key{margin-top:7px}.integration-key input{min-width:0;flex:1;height:32px;border:1px solid #293746;background:#070c11;color:#dce5ef;padding:0 8px;font-size:11px}.integration-bulk{justify-content:space-between;border-top:1px solid #202b36;margin-top:7px;padding-top:7px}.integration-bulk span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.integration-bulk .button{flex:none}
@media(max-width:520px){.pegi-assist{display:flex;align-items:flex-start}.pegi-assist .button{width:auto;flex:none;margin:0;padding:7px 10px;font-size:12px}.cover-assist{align-items:flex-start}.cover-assist-actions{display:grid}.cover-results{grid-template-columns:repeat(3,minmax(0,1fr))}.integration-bulk{align-items:flex-end}.integration-bulk span{white-space:normal}}

/* Authentication landing showcase. */
.auth-screen{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 42%,#112a26 0,#080d11 31%,#05070a 72%)}
.auth-screen:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.24;background-image:linear-gradient(#25463f30 1px,transparent 1px),linear-gradient(90deg,#25463f30 1px,transparent 1px);background-size:34px 34px;mask-image:radial-gradient(circle at center,#000,transparent 76%)}
.auth-cover-field{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none;opacity:.075}
.auth-cover-field i{position:absolute;width:118px;aspect-ratio:2/3;border:1px solid #64e5c8;background:linear-gradient(145deg,#1c5549,#0b2824 52%,#16433b);box-shadow:0 20px 45px #000;overflow:hidden}
.auth-cover-field i:before{content:'';position:absolute;inset:13px 11px 50px;border:1px solid #7bead055;background:linear-gradient(140deg,transparent 0 38%,#6de1c652 39% 45%,transparent 46%),radial-gradient(circle at 68% 31%,#89f0d878 0 8%,transparent 9%)}
.auth-cover-field i:after{content:'';position:absolute;left:13px;right:28px;bottom:28px;height:2px;background:#79ead05c;box-shadow:0 8px 0 #79ead035,0 16px 0 #79ead020}
.auth-cover-field i.has-art,.promo-cover-deck i.has-art,.promo-loose-cover.has-art{background-size:cover;background-position:center;background-repeat:no-repeat}
.auth-cover-field i.has-art:before,.auth-cover-field i.has-art:after,.promo-cover-deck i.has-art:before,.promo-cover-deck i.has-art:after,.promo-loose-cover.has-art:before,.promo-loose-cover.has-art:after{display:none}
.auth-cover-field i:nth-child(1){left:4%;top:7%;transform:rotate(-13deg)}
.auth-cover-field i:nth-child(2){left:18%;bottom:-7%;transform:rotate(9deg) scale(.78);filter:brightness(.65)}
.auth-cover-field i:nth-child(3){left:37%;top:-9%;transform:rotate(7deg) scale(.7);filter:brightness(.7)}
.auth-cover-field i:nth-child(4){right:37%;bottom:-11%;transform:rotate(-8deg) scale(.92)}
.auth-cover-field i:nth-child(5){right:18%;top:3%;transform:rotate(12deg) scale(.76);filter:brightness(.7)}
.auth-cover-field i:nth-child(6){right:3%;bottom:5%;transform:rotate(-11deg) scale(1.08)}
.auth-cover-field i:nth-child(7){left:-2%;bottom:21%;transform:rotate(15deg) scale(.64);filter:brightness(.65)}
.auth-cover-field i:nth-child(8){right:6%;top:38%;transform:rotate(6deg) scale(.58);filter:brightness(.78)}
.auth-cover-field i:nth-child(9){left:10%;top:39%;transform:rotate(-7deg) scale(.7);filter:brightness(.72)}
.auth-cover-field i:nth-child(10){left:25%;top:24%;transform:rotate(15deg) scale(.57);filter:brightness(.64)}
.auth-cover-field i:nth-child(11){left:42%;top:4%;transform:rotate(-10deg) scale(.62);filter:brightness(.74)}
.auth-cover-field i:nth-child(12){left:48%;bottom:-8%;transform:rotate(11deg) scale(.76);filter:brightness(.63)}
.auth-cover-field i:nth-child(13){right:26%;top:25%;transform:rotate(-15deg) scale(.68);filter:brightness(.76)}
.auth-cover-field i:nth-child(14){right:11%;bottom:27%;transform:rotate(13deg) scale(.55);filter:brightness(.65)}
.auth-cover-field i:nth-child(15){left:29%;bottom:11%;transform:rotate(-12deg) scale(.61);filter:brightness(.7)}
.auth-cover-field i:nth-child(16){right:43%;top:19%;transform:rotate(8deg) scale(.52);filter:brightness(.68)}
.auth-cover-field i:nth-child(17){left:2%;top:31%;transform:rotate(9deg) scale(.5);filter:brightness(.64)}
.auth-cover-field i:nth-child(18){left:15%;top:61%;transform:rotate(-16deg) scale(.59);filter:brightness(.73)}
.auth-cover-field i:nth-child(19){left:22%;top:4%;transform:rotate(11deg) scale(.49);filter:brightness(.66)}
.auth-cover-field i:nth-child(20){left:33%;top:46%;transform:rotate(-8deg) scale(.54);filter:brightness(.75)}
.auth-cover-field i:nth-child(21){left:39%;bottom:2%;transform:rotate(17deg) scale(.47);filter:brightness(.62)}
.auth-cover-field i:nth-child(22){left:45%;top:36%;transform:rotate(-14deg) scale(.58);filter:brightness(.7)}
.auth-cover-field i:nth-child(23){left:52%;top:-4%;transform:rotate(12deg) scale(.48);filter:brightness(.76)}
.auth-cover-field i:nth-child(24){right:38%;bottom:3%;transform:rotate(-9deg) scale(.53);filter:brightness(.65)}
.auth-cover-field i:nth-child(25){right:31%;top:6%;transform:rotate(16deg) scale(.57);filter:brightness(.72)}
.auth-cover-field i:nth-child(26){right:23%;top:51%;transform:rotate(-12deg) scale(.48);filter:brightness(.67)}
.auth-cover-field i:nth-child(27){right:17%;top:20%;transform:rotate(7deg) scale(.56);filter:brightness(.75)}
.auth-cover-field i:nth-child(28){right:9%;top:59%;transform:rotate(-17deg) scale(.52);filter:brightness(.63)}
.auth-cover-field i:nth-child(29){right:1%;top:18%;transform:rotate(12deg) scale(.48);filter:brightness(.71)}
.auth-cover-field i:nth-child(30){left:6%;bottom:-4%;transform:rotate(-10deg) scale(.58);filter:brightness(.66)}
.auth-cover-field i:nth-child(31){right:34%;top:40%;transform:rotate(14deg) scale(.45);filter:brightness(.73)}
.auth-cover-field i:nth-child(32){right:3%;bottom:-7%;transform:rotate(-8deg) scale(.61);filter:brightness(.68)}
.auth-cover-field i:nth-child(2):before,.auth-cover-field i:nth-child(6):before{border-radius:50%;background:radial-gradient(circle,#8cefd861 0 10%,transparent 11% 26%,#6cdfc53d 27% 29%,transparent 30% 44%,#59cdb52c 45% 47%,transparent 48%)}
.auth-cover-field i:nth-child(3):before,.auth-cover-field i:nth-child(7):before{background:repeating-linear-gradient(0deg,transparent 0 15px,#72dfc52c 15px 16px),repeating-linear-gradient(90deg,#69d7bd30 0 13px,transparent 13px 26px)}
.auth-cover-field i:nth-child(4):before,.auth-cover-field i:nth-child(8):before{background:linear-gradient(0deg,#6cddc333 0 2%,transparent 3% 21%,#6cddc326 22% 24%,transparent 25%),radial-gradient(circle at 68% 68%,#91f1da70 0 12%,#55c9b22b 13% 28%,transparent 29%)}
.auth-cover-field i:nth-child(4n+1):before{background:linear-gradient(142deg,transparent 0 42%,#59d7ba45 43% 47%,transparent 48%),linear-gradient(38deg,#081a18 0 38%,#2b74654d 39% 60%,transparent 61%)}
.auth-cover-field i:nth-child(4n+2):before{border-radius:50%;background:radial-gradient(circle,#75e5ca58 0 12%,transparent 13% 27%,#60d7bc35 28% 30%,transparent 31% 43%,#4fc6ac22 44% 46%,transparent 47%)}
.auth-cover-field i:nth-child(4n+3):before{background:repeating-linear-gradient(0deg,transparent 0 12px,#63d9bc26 12px 13px),repeating-linear-gradient(90deg,#56ceb235 0 11px,transparent 11px 22px)}
.auth-showcase{position:relative;z-index:1;width:min(1160px,100%);display:grid;grid-template-columns:minmax(220px,1fr) 390px minmax(220px,1fr);align-items:stretch;gap:14px}
.auth-card{position:relative;z-index:2;width:100%;box-shadow:0 28px 90px #000e,0 0 0 1px #35d6b20b}
.auth-promo-rail{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:10px}
.auth-promo{position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid #19282f;background:linear-gradient(145deg,#0b1319,#080e13);padding:13px;color:#aab6c2;box-shadow:0 18px 55px #0008;cursor:default}
.auth-promo:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,#35d6b207,transparent 44%)}
.promo-code{position:relative;display:block;color:#44d9b8;font-size:8px;letter-spacing:.13em;margin-bottom:10px}
.auth-promo h2{position:relative;margin:0;color:#e0e9ef;font:700 17px/1.08 ui-monospace,monospace;letter-spacing:-.035em}
.auth-promo p{position:relative;margin:8px 0 0;color:#71808f;font-size:9px;line-height:1.55}
.promo-library{padding-right:62px}.promo-platforms{position:relative;display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.promo-platforms span{padding:1px 0;color:#568a7e;font-size:7px}.promo-platforms span+span:before{content:'/';margin-right:6px;color:#2d4e47}.promo-loose-cover{position:absolute;right:-10px;bottom:-12px;width:72px;height:106px;border:1px solid #3a8c78;background:linear-gradient(145deg,#19483f,#0c2824 50%,#173c36);transform:rotate(13deg);box-shadow:-9px 10px 24px #0008}.promo-loose-cover:before{content:'';position:absolute;inset:9px 8px 37px;background:radial-gradient(circle at 62% 33%,#70e5c83b 0 12%,transparent 13%),linear-gradient(35deg,transparent 44%,#5bd8bb27 45% 52%,transparent 53%);border:1px solid #5bd8bb32}.promo-loose-cover:after{content:'';position:absolute;left:9px;right:19px;bottom:20px;height:2px;background:#61d9bc3d;box-shadow:0 6px 0 #61d9bc22}
.promo-query{font-size:8px}.promo-command{position:relative;border:1px solid #25343e;background:#060b0f;padding:8px;color:#8494a3;font-size:9px;margin-bottom:7px}.promo-command b{color:#4adaba;margin-right:5px}.promo-result{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:7px;padding:4px 1px;color:#657482;font-size:7px}.promo-result i{height:1px;background:#1c2b32}.promo-result strong{font-size:8px;color:#b5c3cc;font-weight:600}
.promo-cover-deck{position:relative;height:68px;margin:0 0 7px}.promo-cover-deck i{position:absolute;left:50%;bottom:0;width:45px;height:66px;border:1px solid #3f9b83;background:#133b34;box-shadow:0 8px 18px #000a;transform-origin:50% 115%;overflow:hidden}.promo-cover-deck i:before{content:'';position:absolute;inset:6px 5px 22px;background:linear-gradient(140deg,transparent 40%,#66dfc130 41% 48%,transparent 49%),radial-gradient(circle at 68% 30%,#73e5ca45 0 9%,transparent 10%);border:1px solid #62d9bb2c}.promo-cover-deck i:after{content:'';position:absolute;left:6px;right:11px;bottom:11px;height:1px;background:#64dec03d;box-shadow:0 4px 0 #64dec021}.promo-cover-deck i:nth-child(1){transform:translateX(-86px) rotate(-22deg);filter:brightness(.58)}.promo-cover-deck i:nth-child(2){transform:translateX(-62px) rotate(-12deg);filter:brightness(.74)}.promo-cover-deck i:nth-child(3){z-index:3;transform:translateX(-22px) translateY(-5px);background:#174b40}.promo-cover-deck i:nth-child(4){z-index:2;transform:translateX(16px) rotate(12deg);filter:brightness(.78)}.promo-cover-deck i:nth-child(5){transform:translateX(40px) rotate(22deg);filter:brightness(.6)}
.promo-cover-deck i:nth-child(1):before{inset:7px 5px 16px;border:0;background:linear-gradient(142deg,transparent 0 42%,#59d7ba55 43% 46%,transparent 47%),linear-gradient(38deg,#081a18 0 38%,#2b74655c 39% 60%,transparent 61%)}
.promo-cover-deck i:nth-child(1):after{right:18px;bottom:9px;box-shadow:0 4px 0 #64dec021}
.promo-cover-deck i:nth-child(2):before{inset:6px 5px 18px;border:0;border-radius:50%;background:radial-gradient(circle,#75e5ca58 0 12%,transparent 13% 27%,#60d7bc35 28% 30%,transparent 31% 43%,#4fc6ac22 44% 46%,transparent 47%)}
.promo-cover-deck i:nth-child(2):after{left:9px;right:9px;bottom:9px;height:6px;border:1px solid #5ed8ba38;background:repeating-linear-gradient(90deg,#5ed8ba35 0 2px,transparent 2px 5px);box-shadow:none}
.promo-cover-deck i:nth-child(3):before{inset:6px 7px 22px;background:linear-gradient(90deg,transparent 46%,#68dfc144 47% 53%,transparent 54%),linear-gradient(0deg,transparent 46%,#68dfc144 47% 53%,transparent 54%),radial-gradient(circle,#78ead05c 0 9%,transparent 10%);border:1px solid #70e7cb47}
.promo-cover-deck i:nth-child(3):after{left:10px;right:10px;bottom:14px;box-shadow:0 5px 0 #64dec02c,0 10px 0 #64dec018}
.promo-cover-deck i:nth-child(4):before{inset:7px 5px 18px;border:0;background:repeating-linear-gradient(0deg,transparent 0 7px,#63d9bc26 7px 8px),repeating-linear-gradient(90deg,#56ceb235 0 6px,transparent 6px 12px)}
.promo-cover-deck i:nth-child(4):after{left:7px;right:20px;bottom:9px;height:4px;background:#65ddc052;box-shadow:16px 0 0 #65ddc025}
.promo-cover-deck i:nth-child(5):before{inset:6px 5px 17px;border:0;background:linear-gradient(0deg,#51cdb232 0 2%,transparent 3% 20%,#51cdb222 21% 23%,transparent 24%),radial-gradient(circle at 69% 67%,#74e7cc68 0 12%,#4bc7ab28 13% 27%,transparent 28%)}
.promo-cover-deck i:nth-child(5):after{left:8px;right:8px;bottom:9px;box-shadow:0 -4px 0 #64dec020}
.promo-progress{position:relative;display:flex;align-items:center;gap:8px;margin-top:14px}.promo-progress>span{height:5px;flex:1;background:#111f23;border:1px solid #253a3d}.promo-progress i{display:block;width:var(--value);height:100%;background:#36c7a7;box-shadow:0 0 8px #36c7a760}.promo-progress b{font-size:8px;color:#72a99c;white-space:nowrap}
.auth-tabs button{border:1px solid transparent;cursor:pointer;transition:background .14s,border-color .14s,color .14s}.auth-tabs button:not(.active):hover{color:#c2ced8;background:#111b23;border-color:#2d3e49}.auth-tabs button:focus-visible,.auth-submit:focus-visible,.auth-body input:focus-visible{outline:2px solid #64ebcc;outline-offset:2px}.auth-submit{border-color:#3fb99f;background:#175047;color:#76f4d7;cursor:pointer}.auth-submit:hover{border-color:#6de7cd;background:#21665a;color:#e0fff8}.auth-body input{cursor:text;border-color:#30414e}.auth-body input:hover{border-color:#476072}
@media(max-width:900px){.auth-screen{overflow:auto;place-items:start center;padding:22px 12px}.auth-showcase{display:flex;flex-wrap:wrap;max-width:720px;align-items:stretch}.auth-card{order:-1;flex:0 0 min(390px,100%);margin:0 auto}.auth-promo-rail{display:contents}.auth-promo{flex:1 1 260px}.promo-library,.promo-covers{min-height:190px}}
@media(max-width:580px){.auth-screen{padding:8px}.auth-showcase{display:grid;grid-template-columns:1fr;gap:7px}.auth-card{width:100%}.auth-promo-rail{display:grid;gap:7px}.auth-promo{padding:12px}.promo-library{min-height:158px}.promo-covers{min-height:190px}.promo-query,.promo-track{min-height:auto}}
@media(max-width:580px){.auth-cover-field{opacity:.04}.auth-cover-field i:nth-child(n+5){display:none}}

/* Card identity: PEGI owns the rail; platform stays an in-card label. */
.game-card:before{background:var(--rating-color,#526170)}
.platform-dot{background:#708399}
.brand strong em{margin-left:5px;color:#48daba;font-style:normal;font-size:.65em;font-weight:600}.brand strong em:before{content:'// '}.platform-tag{padding:3px 5px;border:1px solid #2b3946;background:#111923;color:#9eacba}

/* Major collection filters: dense on desktop, two rows on smaller screens. */
.stats{grid-template-columns:repeat(10,minmax(0,1fr))}.stat-card{min-width:0}.stat-card.active{border-color:#36b99e;background:#10231f;box-shadow:inset 0 -2px #35d6b2}.stat-icon.red{background:#2d1719;color:#ff756b}.stat-icon.blue{background:#142238;color:#78aee7}.stat-icon.cyan{background:#10272c;color:#58d4df}.stat-icon.orange{background:#2d2017;color:#e99b57}.stat-icon.grey{background:#20242a;color:#9aa5b1}.stat-icon.pink{background:#2c1925;color:#ee87bc}
@media(max-width:1400px){.stats{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:520px){.stats{grid-template-columns:repeat(5,minmax(0,1fr))}.stat-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

/* Public landing page: six equal feature modules plus crawlable public links. */
.auth-screen{overflow:auto}.auth-showcase{grid-template-rows:auto 30px}.auth-promo-rail{grid-template-rows:repeat(3,minmax(0,1fr))}.auth-promo{padding:11px 12px}.promo-code{margin-bottom:7px}.auth-promo h2{font-size:15px}.auth-promo p{font-size:9px;line-height:1.45;margin-top:6px}.promo-query h2{font-size:13px;margin-bottom:7px}.promo-query .promo-command{padding:6px 7px;margin-bottom:4px}.promo-query .promo-result{padding:3px 1px}.promo-metadata,.promo-private{background:#0a1218}.promo-pegi{position:relative;display:flex;gap:4px;margin-top:10px}.promo-pegi b{width:25px;height:25px;display:grid;place-items:center;border:1px solid #315446;background:#10231d;color:#67d6a1;font-size:8px}.promo-pegi b:nth-child(3),.promo-pegi b:nth-child(4){border-color:#665327;background:#28220f;color:#e2b84e}.promo-pegi b:last-child{border-color:#63302f;background:#291516;color:#f17a71}.promo-system{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:9px}.promo-system span{display:flex;align-items:center;gap:5px;border:1px solid #21303a;background:#080d12;padding:5px;color:#6f817f;font-size:7px}.promo-system span:last-child{grid-column:1/-1}.promo-system i{width:5px;height:5px;background:#47ddbb;box-shadow:0 0 6px #47ddbb77}.promo-covers .promo-cover-deck{height:52px;margin:-5px 0 4px;transform:scale(.8);transform-origin:50% 100%}.promo-covers h2{font-size:14px}.promo-covers p{margin-top:4px}.promo-track .promo-progress{margin-top:9px}.auth-footer{grid-column:1/-1;height:30px;display:flex;align-items:center;justify-content:space-between;padding:0 8px;border:1px solid #19282f;background:#080d12;color:#52616d;font-size:7px;letter-spacing:.08em}.auth-footer nav{display:flex;gap:4px}.auth-footer a{padding:4px 6px;border:1px solid #22313b;color:#799087;text-decoration:none}.auth-footer a:hover{border-color:#47ddbb;color:#5de5c6}
@media(max-width:900px){.auth-showcase{grid-template-rows:auto}.auth-footer{order:10;flex:1 0 100%}.auth-promo{min-height:150px}.promo-covers{min-height:165px}}
@media(max-width:580px){.auth-promo-rail{grid-template-rows:none}.auth-promo{min-height:0}.promo-library,.promo-covers{min-height:155px}.auth-footer{height:auto;min-height:34px}.auth-footer>span{display:none}.auth-footer nav{width:100%}.auth-footer a{flex:1;text-align:center}}
.avatar-initial{display:block;line-height:1;transform:translateY(1px)}

/* Directional physical depth instead of diffuse black halos. */
.auth-cover-field i{box-shadow:8px 14px 24px #0009,1px 2px 0 #06100e}.auth-card{box-shadow:0 16px 42px #000b,0 0 0 1px #35d6b20b}.auth-promo{box-shadow:0 8px 22px #0006}.promo-loose-cover{box-shadow:-5px 8px 16px #0009}.promo-cover-deck i{box-shadow:4px 7px 12px #0009}
.action-dialog{width:min(430px,calc(100% - 16px))}.action-modal{width:100%}.action-message{margin:3px 0 2px;color:#8d9aa8;font-size:11px;line-height:1.55}.button.action-danger{border-color:#703b38;background:#2c1718;color:#ff8a80}.button.action-danger:hover{border-color:#a6534d;background:#3a1d1f}.action-dialog .modal-actions{margin-top:12px}.action-dialog .modal-actions .button{min-width:92px}

/* Login and registration share one stable frame; field changes never reflow the landing page. */
.auth-card{height:510px}.auth-card .auth-body{height:calc(100% - 31px);overflow-y:auto;scrollbar-gutter:stable}

/* Promo copy is supporting text, not microscopic decoration. */
.auth-promo p{font-size:12px;line-height:1.5;color:#92a0ae}.promo-system{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.promo-system span,.promo-system span:last-child{grid-column:auto;padding:5px 4px;white-space:nowrap}.promo-system span{font-size:6px}
@media(max-width:580px){.promo-library,.promo-covers,.promo-metadata,.promo-track,.promo-private{min-height:170px}.auth-promo p{font-size:12px}}
