:root{--bg:#0e0e12;--card:#18181f;--line:#2a2a35;--text:#f2f2f5;--mute:#a3a3b2;--accent:#2d8cfa;--accent2:#6bb3ff;--good:#34c77b;--bad:#ff5c5c;--skip:#8a8a99;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;height:100dvh;overflow:clip}body{margin:0;background:radial-gradient(1200px 600px at 50% -200px,#10203a 0,var(--bg) 60%);color:var(--text);font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex;flex-direction:column}button,input{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.top{display:flex;align-items:center;justify-content:space-between;max-width:520px;width:100%;margin:0 auto;padding:12px 16px;border-bottom:1px solid var(--line);flex-shrink:0}.top h1{margin:0;font-size:22px;letter-spacing:.5px}.top h1 span{color:var(--accent)}.icon{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--card);cursor:pointer;font-weight:700;font-size:13px}.icon:hover{border-color:var(--mute)}main{flex:1 1 auto;min-height:0;max-width:520px;width:100%;margin:0 auto;padding:8px 16px 0;display:flex;flex-direction:column;overflow:clip}.tagline{text-align:center;color:var(--mute);margin:0 0 6px;font-size:14px;flex-shrink:0}.adslot{flex-shrink:0;margin:0 0 8px;min-height:52px}.ad-label{display:block;margin:0 0 4px;color:var(--mute);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.ad-banner{display:flex;align-items:center;gap:10px;min-height:52px;padding:6px 10px;border:1px solid var(--line);border-radius:12px;background:#141821;text-decoration:none;color:inherit}.ad-banner:hover{border-color:var(--mute)}.ad-kicker{flex:none;padding:3px 6px;border-radius:999px;background:#2a2418;color:#e6c36a;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.ad-copy{min-width:0;display:flex;flex-direction:column;line-height:1.25}.ad-copy b{font-size:14px}.ad-copy small{color:var(--mute);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ad-cta{flex:none;margin-left:auto;padding:6px 10px;border-radius:999px;background:#1d3a5c;color:var(--accent2);font-size:13px;font-weight:700}.noscript{max-width:520px;margin:12px auto;padding:0 16px;color:var(--mute);text-align:center}.mode{background:#2a1a22;border:1px solid #5a2a3a;border-radius:10px;padding:8px 12px;font-size:14px;margin:0 0 8px;text-align:center;flex-shrink:0}.stack{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.clue{flex:0 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;width:100%}.spring{flex:1 1 auto;min-height:0}.photo{position:relative;width:100%;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#000;border:1px solid var(--line);flex-shrink:0}.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.photo p{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;margin:0;color:var(--mute)}.seg{display:flex;gap:3px;height:8px;margin:8px 0 4px;width:100%;flex-shrink:0}.seg .s{flex:1;background:#24242d;border-radius:3px;overflow:hidden}.seg .s.on{background:var(--accent)}.seg .s i{display:block;height:100%;width:0}.hint{text-align:center;margin:0;color:var(--mute);font-size:13px;flex-shrink:0}.board{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;flex:0 1 auto;min-height:0;max-height:28%;overflow:auto}.board:empty{display:none}.dock{flex-shrink:0;padding:8px 0 max(8px,env(safe-area-inset-bottom))}#game{display:flex;flex-direction:column}.search{position:relative;z-index:6}.search .mag{position:absolute;left:14px;top:15px;color:var(--mute);pointer-events:none}.search input{width:100%;height:48px;padding:0 16px 0 40px;border-radius:12px;border:1px solid var(--line);background:var(--card)}.search input:focus{border-color:var(--accent2);outline:none;box-shadow:0 0 0 3px #6bb3ff40}#sugg{list-style:none;margin:0;padding:4px;position:absolute;left:0;right:0;bottom:calc(100% + 6px);max-height:min(240px,42dvh);overflow:auto;background:#1f1f28;border:1px solid var(--line);border-radius:12px;box-shadow:0 -12px 32px #00000073;z-index:6}#sugg:empty{display:none}#sugg li{display:flex;gap:10px;align-items:center;padding:10px 12px;cursor:pointer;border-radius:8px}#sugg li[aria-selected=true],#sugg li:hover{background:#2c2c38}#sugg b{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.actions{display:flex;gap:12px;margin-top:10px}.actions .btn{flex:1;height:48px;border-radius:999px;font-weight:700}.btn{height:48px;padding:0 18px;border-radius:12px;border:1px solid transparent;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.btn.primary{background:var(--good);color:#04140b}.btn.primary:hover:not(:disabled){filter:brightness(1.06)}.btn.primary:disabled{opacity:.4;cursor:not-allowed}.btn.ghost{background:#14141c;border-color:#3c3c4a;color:var(--text)}.btn.ghost:hover{border-color:var(--mute)}.btn.wide{width:100%}.btn:active:not(:disabled){transform:scale(.98)}.newsong{display:flex;width:100%;margin-top:10px;background:transparent;color:var(--accent2);border:1px solid var(--accent);border-radius:999px}.newsong:hover{background:#2d8cfa1f}.row{display:flex;align-items:center;gap:10px;height:42px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#ffffff05;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;animation:in .25s ease}.row span:last-child{overflow:hidden;text-overflow:ellipsis}.row .n{color:#55556a;font-size:14px}.row.next{border-color:#4a4a5a}.row .ic{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-size:13px;flex:none;color:#000;font-weight:700}.row.skip{color:var(--skip)}.row.skip .ic{background:var(--skip)}.row.wrong{border-color:#ff5c5c66;background:#ff5c5c12}.row.wrong .ic{background:var(--bad)}.row.right{border-color:#34c77b80;background:#34c77b1a;font-weight:600}.row.right .ic{background:var(--good)}@keyframes in{0%{opacity:0;transform:translateY(4px)}}html:has(#end:not([hidden])),html:has(#end:not([hidden])) body{height:auto;max-height:none;min-height:100dvh;overflow:auto}html:has(#end:not([hidden])) main{overflow:visible;flex:none}html:has(#end:not([hidden])) .stack{flex:none;display:block}html:has(#end:not([hidden])) .spring{display:none}html:has(#end:not([hidden])) .tagline{display:none}html:has(#end:not([hidden])) .photo{width:min(100%,240px);max-height:180px;height:auto}html:has(#end:not([hidden])) .board{max-height:none;overflow:visible}html:has(#end:not([hidden])) .row{height:36px}.end{text-align:center;padding:8px 0 12px}.verdict{font-size:20px;font-weight:700;margin:4px 0 12px}.verdict.win{color:var(--good)}.verdict.lose{color:var(--accent2)}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px}.card h2{margin:6px 0 2px;font-size:20px}.credit{font-size:13px;color:var(--mute);margin:10px 0 0;word-break:break-word}.sq{font-size:24px;letter-spacing:4px;margin:16px 0 10px}.nums{display:grid;grid-template-columns:repeat(4,1fr);margin:18px 0 10px;font-size:12px;color:var(--mute);text-align:center}.nums b{display:block;font-size:24px;color:var(--text)}.dist div{display:flex;align-items:center;gap:8px;margin:4px 0;font-size:13px}.dist span{width:12px;color:var(--mute)}.dist i{font-style:normal;background:#2c2c38;border-radius:4px;padding:2px 6px;text-align:right}.next{color:var(--mute)}.next b{color:var(--text);font-variant-numeric:tabular-nums}footer{max-width:520px;width:100%;margin:0 auto;padding:4px 16px 8px;text-align:center;color:var(--mute);font-size:11px;line-height:1.35;flex-shrink:0}@media (max-height:560px){footer,.tagline,.adslot{display:none}}dialog{max-width:420px;width:calc(100% - 32px);background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:16px;padding:20px}dialog::backdrop{background:#000000b3}dialog h2{margin:0 0 12px}.steps{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:12px}.steps li{display:flex;gap:12px;align-items:flex-start}.steps b{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#2c2c38;color:var(--accent2)}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media (max-width:380px){.actions .btn{font-size:14px;padding:0 10px}}
