*{box-sizing:border-box}html{color-scheme:dark;scroll-behavior:smooth}body{margin:0;background:#0b1016;color:#f3f5f2;font:16px/1.6 system-ui,sans-serif}a{color:inherit;text-decoration:none}button,.button{border:1px solid #baff58;background:#baff58;color:#11170c;font:700 15px system-ui;padding:13px 20px;border-radius:9px;cursor:pointer;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:6px}button:disabled{opacity:.45;cursor:default}.secondary{background:transparent;color:#e6ede0;border-color:#36413d}a:hover,button:hover{filter:brightness(1.12)}:focus-visible{outline:3px solid #f7a6d6;outline-offset:4px}header{border-bottom:1px solid #25302b;background:#0e151c;position:relative}nav,.wrap{max-width:1220px;margin:auto;padding:22px 28px}nav{display:flex;align-items:center;gap:24px;flex-wrap:wrap}nav .brand{margin-right:auto;font-weight:900;line-height:1.15;font-size:21px;letter-spacing:-1px}.brand b{color:#baff58}.brand small{display:block;font-size:10px;letter-spacing:3px;margin-top:8px;color:#99a69e}.pixel{display:inline-grid;background:#baff58;color:#0b1016;width:42px;height:42px;place-content:center;float:left;margin-right:12px;font-size:28px}.pill,small,.eyebrow{color:#baff58;font-size:12px;letter-spacing:2px;text-transform:uppercase}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:50px;padding:65px 0}h1{font-size:clamp(38px,6vw,74px);line-height:1.05;letter-spacing:-3px;margin:20px 0}h1 em{color:#baff58;font-style:normal}h2{font-size:29px;letter-spacing:-1px}p{color:#adb8b2}section{margin-bottom:45px}.actions{display:flex;gap:12px;flex-wrap:wrap}.art{border:1px solid #38433e;border-radius:20px;overflow:hidden;position:relative;background:radial-gradient(ellipse at 70% 35%,#63375d,transparent 65%),linear-gradient(135deg,#1c2339,#101d1d);min-height:220px;display:grid;place-items:center}.art img{width:100%;height:100%;object-fit:cover}.art .symbol{font-size:120px;color:#e9d8ac;text-shadow:0 0 70px #d670b9;line-height:1.5}.art:after{content:'AFTER HOURS COLLECTION';position:absolute;bottom:15px;left:20px;font-size:10px;letter-spacing:3px;color:#d8e7d6}.hero .art{min-height:370px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card,.panel{background:#111a21;border:1px solid #29362f;border-radius:16px;padding:22px}.card .art{min-height:170px;margin:-10px -10px 18px}.card h3{margin:10px 0;font-size:23px}.card p{font-size:14px;min-height:48px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:12px 0 45px}.stats strong{font-size:30px;display:block}.muted{font-size:13px;color:#9aa89f}.game-shell{max-width:760px;margin:25px auto}.board{display:grid;gap:8px;margin:20px auto;max-width:520px}.board button{padding:0;min-height:60px;aspect-ratio:1;background:#22312f;color:#e9f8df;border:1px solid #4c6352;font-size:25px}.board button.selected{border:3px solid #ff93ca;background:#493149}.board button.gone{visibility:hidden}.board button.back{background:linear-gradient(45deg,#283039,#172a22);color:#baff58}.board.slide button{background-image:url('/assets/img/midnight-puzzle.webp');background-size:300% 300%;text-shadow:0 2px 4px #000;color:white}.board.slide button.empty{background:none;border-style:dashed;color:transparent}.hud{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.status{color:#baff58;min-height:30px}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.cards button{min-height:88px;background:#e7e0ce;color:#20252c;padding:6px;font-size:22px}.stock{margin:20px 0;display:flex;gap:15px;align-items:center}.story{padding:30px;background:linear-gradient(135deg,#332537,#142827);border-radius:16px}.story button{display:block;margin:12px 0;width:100%;text-align:left}.legal{max-width:850px}.legal h2{font-size:23px}.notice{border-left:3px solid #baff58;padding:14px 20px;background:#18251d}.shop{display:flex;gap:15px;flex-wrap:wrap}.shop .panel{flex:1;min-width:200px}footer{border-top:1px solid #26372c;margin-top:60px;padding:32px 0}footer .wrap{display:flex;flex-wrap:wrap;gap:20px;font-size:13px}.gate{position:fixed;inset:0;background:#070c12f5;z-index:999;display:grid;place-items:center;padding:20px}.gate-box{max-width:530px;padding:36px;border:1px solid #4b5e44;border-radius:22px;background:#111a21;box-shadow:0 0 120px #7bbf3020}.gate-box h2{font-size:36px;margin:15px 0}.gate label{display:flex;align-items:start;gap:14px;margin:24px 0}.gate input{width:24px;height:24px;flex-shrink:0}.gate small{letter-spacing:0;text-transform:none}body.locked{overflow:hidden}body.locked main,body.locked header,body.locked footer{visibility:hidden}[hidden]{display:none!important}input{padding:13px;border:1px solid #405342;border-radius:8px;font:inherit;max-width:100%}body.rose{--accent:#ffc0df}body.rose button,body.rose .button{background:#ffc0df;border-color:#ffc0df}body.gold button,body.gold .button{background:#efce88;border-color:#efce88}@media(max-width:760px){.hero{grid-template-columns:1fr;gap:20px;padding:35px 0}.hero .art{min-height:230px}.grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr}.wrap,nav{padding:18px}nav{gap:14px;font-size:13px}.brand{width:100%}h1{letter-spacing:-2px}.board button{min-height:48px}.cards button{min-height:68px;font-size:18px}}@media(max-width:450px){.grid{grid-template-columns:1fr}.board{gap:4px}.gate-box{padding:22px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}nav .brand{min-width:255px}.brand small{white-space:nowrap}
@media(max-width:360px){.game-shell>.panel{margin-left:-18px;margin-right:-18px;padding:7px}.board{gap:3px}.hud .actions{gap:5px}.hud button{padding:10px 12px}}
.guide{margin-top:38px}.guide li{margin:12px 0;color:#bdc9c0}.guide details{border-bottom:1px solid #334137;padding:15px 0}.guide summary{cursor:pointer;font-weight:650}.guide-shortcuts{margin-bottom:16px}.guide h2{font-size:25px}.guide #rewards{margin-top:30px}.guide #rewards h2{margin-top:0}dialog{color:#f4f7f1;background:#111c23;border:1px solid #92bd63;border-radius:18px;padding:30px;max-width:560px;width:calc(100% - 32px);max-height:85vh;overflow:auto}dialog::backdrop{background:#020609d9}.identity{display:grid;grid-template-columns:160px 1fr;gap:12px}.identity dt{font-weight:bold}.identity dd{margin:0;overflow-wrap:anywhere}form label{display:block;margin:18px 0}form input,form textarea,form select{display:block;width:100%;margin-top:7px;background:#0b1319;border:1px solid #4b5c4d;border-radius:8px;padding:12px;color:#f3f5f2;font:inherit}form fieldset{border:0;padding:0;margin:0;min-width:0}form .consent{display:flex;gap:12px;align-items:start}form .consent input{width:24px;height:24px;flex-shrink:0;margin:2px 0}.trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)}form :disabled{cursor:not-allowed}form fieldset:disabled{opacity:.55}a[href^="mailto:"]{color:#baff58;text-decoration:underline;overflow-wrap:anywhere}.legal .notice{font-size:14px}@media(max-width:550px){.identity{grid-template-columns:1fr;gap:4px}.identity dd{margin-bottom:14px}.guide h2{font-size:23px}}
.game-cover{margin:24px 0}.game-cover img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;border-radius:16px}.game-cover figcaption{font-size:12px;color:#a9b4ac;margin-top:8px}.card .art{aspect-ratio:3/2}.art img{display:block;object-position:center 35%}.related-games{max-width:1000px;margin:60px auto}.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.related-card{display:block;background:#141e24;border:1px solid #344334;border-radius:12px;overflow:hidden}.related-card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}.related-card strong,.related-card span{display:block;padding:8px 14px}.related-card span{color:#baff58;font-size:14px;padding-top:0;padding-bottom:16px}@media(max-width:760px){.related-grid{grid-template-columns:repeat(2,1fr)}}
.reveal-panel{margin:30px 0;padding:22px;background:#111b23;border:1px solid #354832;border-radius:16px}.reveal-panel h2{font-size:24px;margin:0}.reveal-canvas{position:relative;max-width:660px;margin:18px auto;aspect-ratio:3/2;overflow:hidden;border-radius:12px;background:#101923}.reveal-canvas>img{width:100%;height:100%;object-fit:cover;display:block}.reveal-mask{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr)}.reveal-mask>span{display:grid;place-items:center;background:linear-gradient(135deg,#17282f,#24302d);border:1px solid #405645;color:#baff58;font-size:25px}.reveal-mask>span.revealed{opacity:0;pointer-events:none}.reveal-panel #next-level{display:block;margin:14px auto}.unlocked-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:15px}.unlocked-gallery img{width:100%;height:auto;border-radius:8px}.reveal-panel summary{cursor:pointer;padding:12px 0}.board.slide button{background-image:none}body.locked .reveal-panel{display:none}@media(max-width:450px){.reveal-panel{padding:12px}.unlocked-gallery{grid-template-columns:1fr}}
.video-reward{margin-top:24px}.video-reward video{width:100%;max-height:520px;margin-top:20px;border-radius:10px;background:#080c10}.video-reward li{color:#a8b4aa;padding:8px 0}.video-reward li.done{color:#baff58}.video-reward li.done::after{content:' ✓'}.video-reward #video-library{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.placement-help{font-size:15px}.placement-board,.placement-tray{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:540px;margin:18px auto}.placement-board{background:#0c151b;padding:8px;border:1px solid #425543;border-radius:12px}.placement-board button,.placement-tray button{position:relative;aspect-ratio:1;min-height:64px;padding:8px;background-color:#18282d;border:2px dashed #648359;color:#ccf6a7;font-size:26px;text-shadow:0 2px 4px #000;background-repeat:no-repeat}.placement-board button.correct{opacity:1;border:3px solid #baff58;color:#baff58;font-size:34px;cursor:default}.placement-board button.correct::after{content:'OK';position:absolute;bottom:6px;right:6px;font:800 12px system-ui;background:#102516;color:#baff58;padding:2px 5px;border-radius:4px}.placement-tray button{border:2px solid #7d9471;color:white;cursor:grab;box-shadow:inset 0 0 0 1px #0008}.placement-tray button.selected{border:4px solid #ffc3e4;outline:2px solid #ffc3e4;outline-offset:2px}.placement-board button.wrong{border-color:#d79b79}.placement-tray button:active{cursor:grabbing}@media(max-width:420px){.placement-board,.placement-tray{gap:5px}.placement-board{padding:5px}}
