:root{color-scheme:dark;--bg:#10111a;--surface:#191b28;--line:#303244;--text:#f0f1f9;--muted:#a3a8be;--accent:#b496ff;--bar:76px;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}h1{letter-spacing:-.04em;font-size:clamp(1.7rem,3.1vw,3rem);line-height:1.2}h2{font-size:1.2rem}p{line-height:1.65}.muted{color:var(--muted)}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}[hidden]{display:none!important}.skip{z-index:30;background:var(--surface);padding:12px;position:fixed;top:-80px;left:12px}.skip:focus{top:10px}.topbar{height:var(--bar);border-bottom:1px solid var(--line);z-index:10;backdrop-filter:blur(18px);background:#12131eef;align-items:center;gap:24px;padding:0 28px;display:flex;position:sticky;top:0}.brand{white-space:nowrap;letter-spacing:.04em;align-items:center;gap:12px;font-size:17px;display:flex}.brand b{color:var(--accent)}.brand-mark{background:#8b5cf6;border-radius:12px;place-items:center;width:38px;height:38px;font-size:28px;font-weight:800;display:grid}.search{flex:1;max-width:600px;margin:auto}.search input{border:1px solid var(--line);background:var(--surface);border-radius:12px;width:100%;min-width:0;padding:12px 16px}.rank-link{white-space:nowrap}.user-link{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.icon-button{color:var(--text);background:0 0;border:0;font-size:24px}.menu-button{display:none}.page-grid{grid-template-columns:210px minmax(0,1fr);min-height:calc(100dvh - 170px);display:grid}.sidebar{border-right:1px solid var(--line);top:var(--bar);height:calc(100dvh - var(--bar));padding:28px 18px;position:sticky}.sidebar nav{flex-direction:column;gap:8px;display:flex}.sidebar a{color:#c5c8d9;border-radius:10px;padding:12px 16px}.sidebar a:hover,.sidebar a[aria-current=page]{color:#d7c7ff;background:#29243b}.nav-caption{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:24px;padding-left:16px;font-size:11px}.sidebar-note{color:#666c86;margin:40px 16px;font-size:12px}main{width:100%;min-width:0;max-width:1700px;margin:auto;padding:34px clamp(18px,3vw,46px) 60px}.hero{padding:20px 0 38px;position:relative}.hero h1{margin:12px 0}.hero>p:last-child{color:var(--muted)}.eyebrow{color:var(--accent);letter-spacing:.16em;font-size:11px;font-weight:750}.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-heading .muted{font-size:13px}.game-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;display:grid}.game-card{aspect-ratio:1.6;background:var(--surface);border:1px solid #ffffff10;border-radius:16px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.game-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px #0005}.game-card img{object-fit:cover;width:100%;height:100%}.card-shade{background:linear-gradient(#0000 25%,#090b16e0);position:absolute;inset:0}.card-kind{letter-spacing:.08em;background:#151523aa;border-radius:5px;padding:5px 7px;font-size:9px;position:absolute;top:12px;left:12px}.card-caption{position:absolute;bottom:12px;left:16px;right:16px}.card-caption h2{margin:0;font-size:16px}.card-caption p{color:#cad0e4;margin:4px 0 0;font-size:11px}.card-likes{background:#1119;border-radius:6px;padding:5px;font-size:11px;position:absolute;top:12px;right:10px}.empty-state{text-align:center;border:1px dashed var(--line);color:var(--muted);border-radius:20px;margin-top:18px;padding:64px 20px}.empty-state>span{color:var(--accent);font-size:44px}.empty-state h1,.empty-state h2{color:var(--text)}.button,.google-button{color:#fff;background:#8b5cf6;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:12px;margin:4px 0;padding:12px 18px;font-weight:650;line-height:1.3;display:inline-flex}.button.secondary{background:var(--surface);border-color:var(--line)}.button.danger{background:#a8354b}.button.small{padding:9px 13px;font-size:13px}.google-button{color:#252633;background:#f7f7fa;min-height:46px}.google-button span{color:#4285f4;font-size:20px;font-weight:800}.panel{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin:24px 0;padding:26px}.prose{max-width:820px;padding:38px}.prose h2{margin-top:32px}.prose a,.form-panel a:not(.button):not(.google-button){color:var(--accent);text-decoration:underline}.notice{border-left:3px solid var(--accent);background:#242135;padding:16px}.form-panel{max-width:630px;margin:20px auto}.form-panel h1{font-size:2rem}.form-panel form{flex-direction:column;gap:12px;margin:24px 0;display:flex}.form-panel input:not([type=checkbox]){width:100%;color:var(--text);border:1px solid var(--line);background:#10121c;border-radius:9px;padding:13px}.checkbox{align-items:center;gap:10px;display:flex}.checkbox input{width:18px;height:18px}.status{color:#d6c7ff;min-height:1.4em;font-size:14px}.form-panel hr{border:0;border-top:1px solid var(--line);margin:32px 0}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg);border-radius:8px;padding:14px;font-size:12px}.board-tabs{flex-wrap:wrap;gap:8px;display:flex}.board-tabs button{background:var(--bg);color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:9px 15px}.board-tabs button[aria-selected=true]{color:#fff;background:#6d47ba}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:12px 8px}th{color:var(--muted);font-size:12px;font-weight:500}.play-heading h1{margin:12px 0}.play-frame-wrap{background:#080910;border-radius:16px;position:relative;overflow:hidden}.game-frame{width:100%;max-height:calc(100dvh - var(--bar));aspect-ratio:var(--game-aspect);border:0;display:block}.play-frame-wrap:fullscreen{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.play-frame-wrap:fullscreen iframe{width:100%;height:100%;max-height:100%}.game-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.game-bar .heart{margin-left:auto}.heart[aria-pressed=true]{color:#ff80a7}.mobile-warning{display:none}.size-warning{color:#e5c78b;font-size:13px}.login-sheet{background:var(--surface);color:var(--text);border:1px solid #49405f;border-radius:18px;max-width:min(500px,100vw - 32px);padding:30px;box-shadow:0 20px 80px #0008}.login-sheet::backdrop{background:#03040acb}.login-sheet button{width:100%;margin-top:10px}.login-sheet h2{font-size:1.45rem}.play-detail{grid-template-columns:1fr 1fr;gap:20px;display:grid}.play-detail .panel{margin:24px 0 0}footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;align-items:center;gap:18px;padding:24px 30px;font-size:11px;display:flex}footer .footer-brand{color:var(--text);font-weight:700}footer a[href=\/privacy]{margin-left:auto}@media (width<=1100px){.brand>span:last-child{font-size:14px}.topbar{gap:16px;padding:0 20px}.page-grid{grid-template-columns:180px minmax(0,1fr)}.play-detail{grid-template-columns:1fr}}@media (width<=768px){:root{--bar:66px}.topbar{gap:12px;padding:0 12px}.menu-button{display:block}.brand>span:last-child{display:none}.brand-mark{width:32px;height:32px;font-size:23px}.rank-link span{display:none}.search input{padding:10px;font-size:12px}.page-grid{display:block}.sidebar{top:var(--bar);z-index:12;background:#151724;width:230px;display:none;position:fixed;left:0;box-shadow:30px 0 100px #000b}.sidebar.is-open{display:block}main{padding:24px 16px 42px}.hero{padding:12px 0 24px}.hero h1{font-size:1.8rem}.hero>p:last-child{font-size:13px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-card{aspect-ratio:1.2;border-radius:12px}.card-caption{bottom:9px;left:10px;right:8px}.card-caption h2{font-size:13px}.card-caption p{font-size:9px}.card-kind{font-size:8px;top:8px;left:8px}.panel,.prose{padding:20px}.form-panel h1{font-size:1.6rem}.desktop-only .game-frame{display:none}.desktop-only .mobile-warning{text-align:center;padding:35px 20px;display:block}.game-bar .button{padding:10px 12px;font-size:12px}.empty-state{padding:42px 16px}footer{gap:14px;padding:22px 16px}footer>span:last-child{width:100%}}@media (hover:hover){.card-caption{opacity:.9}.game-card:hover .card-caption{opacity:1}}@media (hover:none){.card-caption{opacity:1}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
