:root{--bg: #101218;--bg2: #171a23;--panel: #1e2230;--line: #2c3243;--text: #eef0f6;--muted: #9aa1b5;--accent: #ffcf5a;--good: #6ee39a;--radius: 16px;--safe-b: env(safe-area-inset-bottom, 0px);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:radial-gradient(1200px 600px at 50% -200px,#232a3d 0%,var(--bg) 60%) fixed,var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;min-height:100dvh}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:10px 18px;width:100%;border:1px solid var(--line);border-radius:14px;background:var(--panel);font-weight:650;cursor:pointer;transition:transform .08s ease,filter .15s ease,background .15s;-webkit-user-select:none;user-select:none;touch-action:manipulation}.btn:hover:not(:disabled){filter:brightness(1.12)}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.4;cursor:default}.btn.primary{background:linear-gradient(180deg,#ffd96e,#f2b33d);color:#2b1a00;border-color:#ffdf85;box-shadow:0 6px 20px -8px #f2b33d}.icon-btn{width:42px;height:42px;display:grid;place-items:center;flex:none;border:1px solid var(--line);border-radius:12px;background:var(--panel);font-size:18px;cursor:pointer}.hub{max-width:560px;margin:0 auto;padding:28px 16px calc(32px + var(--safe-b))}.hub-head{text-align:center;margin-bottom:20px}.hub-head h1{margin:0;font-size:clamp(30px,8vw,42px);letter-spacing:-.02em}.hub-sub{color:var(--muted);font-size:14px;margin-top:4px;font-variant-numeric:tabular-nums}.hub-sub b{color:var(--text)}.back{color:var(--muted);font-size:14px}.set-progress{background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;margin-bottom:18px}.set-label{display:flex;justify-content:space-between;gap:8px;font-size:14px;color:var(--muted);margin-bottom:10px;flex-wrap:wrap}.set-label b{color:var(--text)}.set-track{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.set-track i{height:8px;border-radius:99px;background:var(--line)}.set-track i.on{background:linear-gradient(90deg,var(--good),#3fc6a8);box-shadow:0 0 10px -2px var(--good)}.set-progress .btn{margin-top:12px}.cards{display:grid;gap:14px}.card{position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;min-height:112px;padding:18px;border-radius:20px;background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 10px 30px -12px var(--c1),inset 0 1px #ffffff26;transition:transform .15s ease,box-shadow .15s ease}.card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(300px 120px at 90% 0%,rgba(255,255,255,.18),transparent 70%);pointer-events:none}a.card:hover{transform:translateY(-2px);box-shadow:0 16px 36px -12px var(--c1),inset 0 1px #fff3}a.card:active{transform:scale(.98)}.card.locked{filter:saturate(.35) brightness(.7)}.card-badge{font-size:44px;width:64px;height:64px;display:grid;place-items:center;flex:none;background:#00000038;border-radius:18px}.card-body{flex:1;min-width:0}.card-name{font-size:22px;font-weight:800;letter-spacing:-.01em}.card-tag{font-size:14px;opacity:.85}.pill{flex:none;font-size:13px;font-weight:700;padding:6px 12px;border-radius:99px;background:#ffffffeb;color:#1b1d26;white-space:nowrap}.pill.muted{background:#00000059;color:#ddd}.pill.progress{background:#ffcf5a}.pill.done{background:var(--good);color:#062b17}.hub-foot{text-align:center;margin-top:26px;font-size:14px;color:var(--muted)}.locked-note{text-align:center;padding:48px 16px;color:var(--muted);background:var(--bg2);border-radius:var(--radius)}@media(max-width:420px){.card .pill{position:absolute;top:12px;right:12px}.card-body{padding-top:18px}}.game-page{max-width:560px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}.game-head{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#101218db;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.game-title{flex:1;font-weight:800;font-size:18px;text-align:center}.game-title span{color:var(--muted);font-weight:600}.game-area{flex:1;display:flex;flex-direction:column}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#05060aa8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px;animation:fade .18s ease}.modal-backdrop.closing{animation:fade .16s ease reverse forwards}.modal{position:relative;width:100%;max-width:420px;max-height:calc(100dvh - 32px);overflow:auto;background:var(--bg2);border:1px solid var(--line);border-radius:22px;padding:22px 20px 20px;box-shadow:0 30px 80px -20px #000;animation:pop .22s cubic-bezier(.2,1.4,.4,1);display:flex;flex-direction:column;gap:12px}.modal h2{margin:0 32px 0 0;font-size:20px}.modal h3{margin:6px 0 0;font-size:14px;color:var(--muted);font-weight:600}.modal-x{position:absolute;top:12px;right:12px;z-index:1;width:34px;height:34px;border:0;border-radius:10px;background:#0000004d;cursor:pointer}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{transform:scale(.92) translateY(10px);opacity:0}}.result-head{margin:-22px -20px 0;padding:22px 20px 18px;text-align:center;border-radius:22px 22px 0 0;background:linear-gradient(160deg,var(--c1),var(--c2))}.result-title{font-weight:700;opacity:.9}.result-score{font-size:56px;font-weight:900;line-height:1.05;letter-spacing:-.03em}.result-score small{font-size:18px;margin-left:4px;opacity:.8}.result-summary{font-weight:600;opacity:.92}.result-grid{text-align:center;font-size:22px;line-height:1.35;letter-spacing:1px;white-space:pre-line;padding:6px 0}.breakdown{margin:0;padding:0;list-style:none;display:grid;gap:6px;font-size:14px;color:var(--muted)}.breakdown li{background:var(--panel);padding:8px 12px;border-radius:10px}.set-done{background:linear-gradient(135deg,#1d3a2c,#16241f);border:1px solid #2f6b4c;border-radius:14px;padding:12px;display:grid;gap:8px}.set-done pre{margin:0;white-space:pre-wrap;font:inherit;font-size:14px}.set-mini{text-align:center;font-size:13px;color:var(--muted)}.countdown{text-align:center;font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.countdown b{color:var(--text)}.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}.stat-row div{background:var(--panel);border-radius:12px;padding:10px 4px}.stat-row b{display:block;font-size:24px}.stat-row span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.bars{display:grid;grid-template-columns:repeat(14,1fr);gap:4px;height:90px;align-items:end}.bar{height:100%;display:flex;align-items:flex-end;background:var(--panel);border-radius:4px;overflow:hidden}.bar span{width:100%;background:linear-gradient(180deg,var(--accent),#e08c2c);border-radius:4px 4px 0 0}.bar.today span{background:linear-gradient(180deg,var(--good),#2fae74)}.avg{font-size:14px;color:var(--muted)}.help p{margin:0 0 10px}.help ul.tiers{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:4px}.help ul.tiers li{display:flex;gap:8px;align-items:center;padding:6px 10px;background:var(--panel);border-radius:10px;border-left:3px solid var(--tc)}.help ul.tiers b{margin-left:auto;color:var(--tc)}.toast{position:fixed;left:50%;bottom:calc(24px + var(--safe-b));z-index:200;transform:translate(-50%);padding:10px 18px;border-radius:99px;background:#fff;color:#111;font-weight:700;font-size:14px;animation:fade .2s ease;transition:opacity .3s}.toast.out{opacity:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}.hub-head{position:relative;padding-top:40px}.hub-account{position:absolute;right:0;top:-8px}.account-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);cursor:pointer;background:linear-gradient(135deg,#3b4bff,#e0457b);font-weight:900;font-size:16px}.account-btn.text{width:auto;padding:0 14px;border-radius:99px;background:var(--panel);font-size:14px;font-weight:700}.acct-line{margin:0;color:var(--muted)}.acct-line b{color:var(--text)}.acct-line .ok{color:var(--good)}.acct-line a{color:var(--accent);text-decoration:underline}.acct-form{display:grid;gap:10px}.acct-form input{min-height:50px;padding:0 14px;border-radius:14px;font:inherit;font-size:16px;background:var(--panel);color:var(--text);border:1px solid var(--line);outline:none}.acct-form input:focus{border-color:var(--accent)}.acct-msg{color:var(--muted)}.acct-msg b{color:var(--text)}.archive-link{display:inline-block;padding:10px 16px;border-radius:99px;background:var(--bg2);border:1px solid var(--line);color:var(--text);font-weight:700}.paywall{text-align:center;padding:26px 20px;border-radius:22px;margin-bottom:18px;background:radial-gradient(400px 200px at 50% 0%,rgba(255,207,90,.18),transparent 70%),var(--bg2);border:1px solid #4a4128;display:grid;gap:10px;justify-items:center}.paywall h2{margin:0;font-size:24px}.paywall p{margin:0;color:var(--muted);max-width:340px}.pw-icon{font-size:48px}.pw-price{font-size:36px;font-weight:900}.pw-price small{font-size:14px;color:var(--muted);font-weight:600}.paywall .btn.big{min-height:54px;font-size:17px;max-width:320px}.pw-note{font-size:13px;color:var(--muted)}.pw-err{color:#ff8a6b;font-size:14px;min-height:1em}.archive-peek{position:relative;opacity:.5;filter:blur(.5px);pointer-events:none}.archive-peek:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent,var(--bg))}.archive-list,.archive-peek{display:grid;gap:8px}.arc-day{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:14px;background:var(--bg2);border:1px solid var(--line)}.arc-date{display:grid;line-height:1.2}.arc-date span{font-size:12px;color:var(--muted)}.arc-games{display:flex;gap:6px}.arc-g{width:44px;height:48px;display:grid;place-items:center;align-content:center;border-radius:10px;background:var(--panel);border:1px solid var(--line);font-size:20px;line-height:1}.arc-g small{font-size:10px;color:var(--good);font-weight:800;min-height:10px;margin-top:2px}a.arc-g:hover{border-color:var(--accent)}.arc-g.done{border-color:#2f6b4c;background:#16241f}@media(max-width:400px){.arc-g{width:38px;height:44px;font-size:18px}}.mode-tag{display:block;font-style:normal;font-size:11px;font-weight:700;color:var(--muted)}.mode-tag.dev{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:6px;background:#ff4fd8;color:#2b0026;font-size:10px;vertical-align:middle}.dev-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;background:#3a0f36;font-size:13px;font-weight:700}.dev-bar a{color:#ffb3f0}.dev-bar button{font-size:12px;padding:4px 10px;border-radius:8px;border:1px solid #ff4fd8;background:transparent;color:#ffb3f0;cursor:pointer}.hub.dev{max-width:900px}.dev-games{display:grid;gap:8px;margin-bottom:12px}.dev-row{display:grid;grid-template-columns:32px 1fr 90px 90px;align-items:center;gap:8px;padding:8px 12px;background:var(--bg2);border-radius:12px;border:1px solid var(--line)}.dev-row input{min-height:40px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:0 8px;font:inherit}.dev-row .btn{min-height:40px}.dev-badge{font-size:22px}.dev-h{margin:26px 0 8px;font-size:18px}.dev-table{width:100%;border-collapse:collapse;font-size:13px}.dev-table th{text-align:left;color:var(--muted);font-weight:600;padding:6px}.dev-table td{padding:6px;border-top:1px solid var(--line);vertical-align:top}.dev-table tr.today td{background:#24301f}.dev-table a{color:var(--accent)}.dev-note{color:var(--muted);font-size:13px}.hub-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:12px}.hub-links button,.result-links button{background:none;border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer}.hub-links button:hover,.result-links button:hover{color:var(--text);border-color:var(--muted)}.result-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.result-links button{padding:6px 12px;font-size:12px}.fb-intro{margin:0 0 4px;color:var(--muted);font-size:14px}.fb-form{display:grid;gap:12px}.fb-field{display:grid;gap:4px}.fb-field span{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.fb-field input,.fb-field select,.fb-field textarea{width:100%;min-height:44px;padding:10px 12px;border-radius:12px;font:inherit;font-size:16px;background:var(--panel);color:var(--text);border:1px solid var(--line);outline:none;resize:vertical}.fb-field input:focus,.fb-field select:focus,.fb-field textarea:focus{border-color:var(--accent)}.fb-game-fields{display:grid;gap:12px}.fb-err{color:#ff8a6b;font-size:14px;min-height:1em}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.inbox{display:grid;gap:10px}.inbox-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:4px}.inbox-bar input,.inbox-bar select{min-height:38px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:0 10px;font:inherit;font-size:14px}.inbox-item{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;gap:6px}.inbox-meta{font-size:12px;color:var(--muted)}.inbox-body{white-space:pre-wrap;font-size:14px}.inbox-item pre{margin:0;background:#0b0d12;border-radius:8px;padding:8px 10px;font-size:12px;overflow:auto;white-space:pre-wrap}.inbox-actions{display:flex;gap:6px;flex-wrap:wrap}.inbox-actions button{font-size:12px;padding:5px 10px;border-radius:8px;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer}.help-hide{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.help-hide input{width:18px;height:18px;accent-color:var(--accent);margin:0}.pw-sub{font-size:14px;color:var(--muted);max-width:320px;margin-top:-6px}.result-rank{text-align:center;font-weight:700;font-size:15px;padding:8px 12px;border-radius:12px;background:#1f2a20;color:#c8f5d6;border:1px solid #2f6b4c;animation:fade .3s ease}.result-rank[hidden]{display:none}.privacy{max-width:680px}.privacy h2{font-size:20px;margin:28px 0 8px}.privacy h3{font-size:15px;margin:18px 0 4px;color:var(--accent)}.privacy p{margin:0 0 10px;color:#cfd3df;line-height:1.6}.privacy .lead{font-size:17px;color:var(--text)}.privacy a{color:var(--accent);text-decoration:underline}.privacy-link{display:inline-block;margin-top:14px;font-size:12px;color:var(--muted);text-decoration:underline}.fb-privacy{margin:-6px 0 0;font-size:12px;color:var(--muted)}.fb-privacy a{color:var(--muted);text-decoration:underline}.strata{display:flex;flex-direction:column;flex:1;background:#0b0807}.strata .hud{position:sticky;top:63px;z-index:15;display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:8px;padding:10px 12px;background:#140e0b;border-bottom:1px solid #2a1d15}.hud-cell{background:#1d1511;border:1px solid #2e2119;border-radius:12px;padding:6px 10px}.hud-cell span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#a78b76}.hud-cell b{font-size:22px;font-variant-numeric:tabular-nums}.hud-cell.risk b{color:#ffb36b}.meter{height:5px;background:#2e2119;border-radius:9px;margin-top:4px;overflow:hidden}.meter i{display:block;height:100%;border-radius:9px;transition:width .4s ease,background .4s}.cutaway{position:relative;padding-bottom:8px}.surface{height:54px;position:relative;background:linear-gradient(180deg,transparent 62%,#3f7d2c 62%,#2f6421 76%,#5b3b22 76%),linear-gradient(180deg,#213350,#3b4f6e)}.digger{position:absolute;left:50%;bottom:10px;font-size:26px;transform:translate(-50%);animation:bob 1.4s ease-in-out infinite;transition:opacity .3s}@keyframes bob{50%{transform:translate(-50%,-4px) rotate(-12deg)}}.layers{display:flex;flex-direction:column}.layer{--t: 0;position:relative;display:flex;align-items:center;gap:10px;min-height:58px;padding:6px 14px;background:radial-gradient(3px 2px at 18% 30%,rgba(255,255,255,.07),transparent),radial-gradient(2px 2px at 72% 64%,hsla(calc(180 + var(--t) * 120),70%,60%,calc(var(--t) * .5)),transparent),radial-gradient(3px 3px at 44% 78%,hsla(calc(260 - var(--t) * 40),70%,65%,calc(var(--t) * .45)),transparent),radial-gradient(2px 2px at 88% 22%,rgba(0,0,0,.35),transparent),linear-gradient(180deg,hsl(calc(28 - var(--t) * 18),calc(42% - var(--t) * 22%),calc(30% - var(--t) * 21%)),hsl(calc(24 - var(--t) * 18),calc(40% - var(--t) * 22%),calc(25% - var(--t) * 19%)));background-size:46px 30px,38px 26px,54px 34px,30px 20px,100% 100%;border-bottom:1px solid rgba(0,0,0,.35);cursor:default;transition:filter .3s ease}.lnum{width:22px;flex:none;font-size:12px;font-weight:700;color:#ffffff59;text-align:center;font-variant-numeric:tabular-nums}.lbody{flex:1;min-width:0;display:flex;align-items:center;gap:10px;position:relative}.lpts{flex:none;font-weight:800;font-size:14px;font-variant-numeric:tabular-nums;color:var(--tc, rgba(255,255,255,.5))}.hint{font-size:13px;font-weight:600;color:#ffffff80}.layer.hidden{filter:brightness(.62) saturate(.8)}.layer.hidden.buried{filter:brightness(.4) saturate(.6)}.layer.next{filter:none;box-shadow:inset 0 0 0 2px #ffd27880;animation:nextPulse 1.6s ease-in-out infinite}.layer.next .hint{color:#ffe1a6}@keyframes nextPulse{50%{box-shadow:inset 0 0 0 2px #ffd27826}}.layer.scanned{filter:none;box-shadow:inset 0 0 0 2px var(--tc),inset 0 0 28px -8px var(--tc)}.layer.scanned .hint{color:var(--tc)}.layer.just-scan{animation:scanSweep .7s ease}@keyframes scanSweep{0%{box-shadow:inset 0 0 0 2px var(--tc),inset 0 0 80px 10px var(--tc)}}.layer.revealed{cursor:pointer}.layer.revealed .lbody:before{content:"";position:absolute;left:-6px;top:50%;width:54px;height:44px;transform:translateY(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.45),transparent)}.ficon{position:relative;font-size:30px;line-height:1;width:40px;text-align:center;flex:none;filter:drop-shadow(0 0 0 transparent)}.fname{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px #000}.tier-1 .ficon{filter:drop-shadow(0 0 6px var(--tc))}.tier-2 .ficon{filter:drop-shadow(0 0 10px var(--tc))}.tier-3 .ficon{filter:drop-shadow(0 0 14px var(--tc)) drop-shadow(0 0 4px var(--tc));animation:glow 2.2s ease-in-out infinite}.tier-4 .ficon{filter:drop-shadow(0 0 18px var(--tc)) drop-shadow(0 0 6px #fff);animation:glow 1.4s ease-in-out infinite,float 2.4s ease-in-out infinite}.layer.revealed.tier-2,.layer.revealed.tier-3,.layer.revealed.tier-4{box-shadow:inset 4px 0 0 var(--tc)}.layer.revealed.tier-3{background-color:#000}.layer.revealed.tier-4{box-shadow:inset 4px 0 0 var(--tc),inset 0 0 40px -10px var(--tc)}@keyframes glow{50%{filter:drop-shadow(0 0 4px var(--tc))}}@keyframes float{50%{transform:translateY(-3px)}}.layer.selected{outline:2px solid rgba(255,255,255,.55);outline-offset:-2px}.layer.safe .lnum:after{content:"✓";display:block;color:#6ee39a;font-size:10px}.sparkles{position:absolute;left:0;top:50%;width:40px;height:0;pointer-events:none}.sparkles i{position:absolute;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 6px 2px var(--tc);animation:sparkle 1.8s linear infinite}.sparkles i:nth-child(1){left:4px;animation-delay:0s}.sparkles i:nth-child(2){left:30px;animation-delay:.35s}.sparkles i:nth-child(3){left:16px;animation-delay:.7s}.sparkles i:nth-child(4){left:38px;animation-delay:1.05s}.sparkles i:nth-child(5){left:10px;animation-delay:1.4s}@keyframes sparkle{0%{transform:translateY(14px) scale(0);opacity:0}20%{opacity:1;transform:translateY(4px) scale(1)}to{transform:translateY(-26px) scale(.2);opacity:0}}.layer.just .ficon{animation:popIn .5s cubic-bezier(.2,1.6,.4,1)}.layer.just .fname{animation:slideIn .4s ease .1s backwards}.layer.just{animation:crumble .35s ease}@keyframes popIn{0%{transform:scale(0) rotate(-30deg)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}}@keyframes crumble{0%{filter:brightness(.5)}40%{filter:brightness(1.5)}}.seam{height:16px;position:relative;display:grid;place-items:center;background:repeating-linear-gradient(115deg,#3a3a44 0,#3a3a44 10px,#2b2b33 10px,#2b2b33 20px);border-top:2px solid #55556a;border-bottom:2px solid #1a1a22}.seam span{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#b6b6cc;background:#24242d;padding:0 8px;border-radius:4px}.seam.passed{background:repeating-linear-gradient(115deg,#2d5a44 0,#2d5a44 10px,#234636 10px,#234636 20px);border-top-color:#6ee39a}.seam.passed span{color:#9ff0c0;background:#183327}.seam.passed span:before{content:"✓ "}.seam.just span{animation:seamFlash .9s ease}@keyframes seamFlash{30%{transform:scale(1.25);background:#6ee39a;color:#062b17}}.layer.lost{filter:grayscale(1) brightness(.45)}.layer.lost .fname{text-decoration:line-through}.layer.lost .lpts{color:#ff6b6b;text-decoration:line-through}.layer.just-lost{animation:lostShake .5s ease .1s}@keyframes lostShake{0%,to{transform:none}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-2px)}}.layer.collapsed{background:repeating-linear-gradient(-30deg,#2a1c15 0,#2a1c15 8px,#1a110c 8px,#1a110c 16px);box-shadow:inset 0 0 0 2px #ff5a3c}.layer.collapsed .hint{color:#ff8a6b;font-size:15px;font-weight:800}.layer.ghost,.layer.ghost-collapse{filter:brightness(.55) saturate(.6)}.layer.ghost .ficon,.layer.ghost .fname{opacity:.55}.layer.ghost .lpts{font-size:11px;opacity:.7}.layer.ghost-collapse .hint{color:#ff8a6b}.cutaway.shake{animation:shake .6s cubic-bezier(.36,.07,.19,.97)}@keyframes shake{10%,90%{transform:translate(-2px,1px)}20%,80%{transform:translate(4px,-2px)}30%,50%,70%{transform:translate(-7px,3px)}40%,60%{transform:translate(7px,-3px)}}.cutaway.flash:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle,rgba(255,122,230,.4),transparent 70%);animation:fade .7s ease reverse forwards;pointer-events:none}.fx{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.particle{position:absolute;width:var(--s);height:var(--s);background:var(--c);border-radius:2px;animation:fly .9s cubic-bezier(.2,.6,.4,1) forwards}.particle.spark{border-radius:50%;background:#fff;box-shadow:0 0 8px 2px var(--c);animation-duration:1s}.particle.rubble{border-radius:3px;background:var(--c);box-shadow:inset -2px -2px #0006;animation:fall 1s cubic-bezier(.5,0,.9,.6) forwards}@keyframes fly{to{transform:translate(var(--dx),calc(var(--dy) * -1 + 60px)) rotate(200deg);opacity:0}30%{opacity:1}0%{transform:none}}@keyframes fall{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(calc(var(--dx) * .3),calc(var(--dy) + 40px)) rotate(160deg);opacity:0}}.dock{position:sticky;bottom:0;z-index:10;padding:10px 12px calc(12px + var(--safe-b));background:linear-gradient(180deg,#0b080700,#0b0807eb 18%,#0b0807);display:grid;gap:8px;margin-top:auto}.find-card{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;background:linear-gradient(135deg,#2a1e16,#17100c);border:1px solid color-mix(in srgb,var(--tc) 50%,#3a2a1f);box-shadow:0 0 24px -12px var(--tc)}.find-card[hidden]{display:none}.fc-icon{font-size:34px;filter:drop-shadow(0 0 10px var(--tc))}.fc-name{font-weight:800}.fc-name em{font-style:normal;font-weight:700;font-size:12px;color:var(--tc);margin-left:4px}.fc-desc{font-size:13px;color:#c9b6a6}.controls{display:grid;grid-template-columns:72px 1fr 72px;gap:8px}.controls:has(>:only-child){grid-template-columns:1fr}.controls .btn{flex-direction:column;gap:0;font-size:22px;padding:6px;min-height:58px}.controls .btn small{font-size:11px;font-weight:700}.controls .btn.big{font-size:20px;flex-direction:row;gap:8px}.controls .btn.scan,.controls .btn.bank{background:#241a14;border-color:#3a2a1f}.controls .btn.bank:not(:disabled){background:#1b2e22;border-color:#2f6b4c}.sling{flex:1;display:flex;flex-direction:column;background:#05060f;min-height:calc(100dvh - 63px)}.sling-hud{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 14px;background:#0a0c1c;border-bottom:1px solid #1c2040}.attempts{display:flex;gap:6px}.attempts i{width:14px;height:14px;border-radius:50%;border:2px solid var(--c);opacity:.35}.attempts i.current{opacity:1;box-shadow:0 0 10px var(--c);animation:dotPulse 1.2s ease-in-out infinite}.attempts i.miss{opacity:.7;background:transparent;border-style:dashed}.attempts i.hit{opacity:1;background:var(--c);box-shadow:0 0 12px var(--c)}@keyframes dotPulse{50%{transform:scale(1.2)}}.sling-msg{text-align:center;font-size:14px;font-weight:600;color:#b8c0ff}.power{text-align:right;line-height:1.1}.power span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#6c74a8}.power b{font-variant-numeric:tabular-nums}.sling-stage{position:relative;flex:1;min-height:0}.sling-stage canvas{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none;cursor:crosshair;display:block}.sling-stage.shake{animation:slingShake .5s cubic-bezier(.36,.07,.19,.97)}.sling-banner{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%) scale(.8);padding:12px 22px;border-radius:16px;font-size:24px;font-weight:900;background:#0a0c1cd9;border:1px solid #2b3270;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s cubic-bezier(.2,1.6,.4,1)}.sling-banner.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.sling-banner.hit{color:#7dffb0;border-color:#7dffb0;box-shadow:0 0 40px -10px #7dffb0}.sling-banner.crash{color:#ff8a6b}@keyframes slingShake{20%,80%{transform:translate(3px,-2px)}40%,60%{transform:translate(-5px,3px)}}.described{flex:1;display:flex;flex-direction:column;gap:14px;padding:16px 14px 0;background:radial-gradient(420px 260px at 50% -40px,rgba(255,210,160,.22),transparent 70%),radial-gradient(600px 400px at 100% 100%,rgba(224,69,123,.18),transparent 70%),linear-gradient(180deg,#2a0b22,#1a0716)}.dsc-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.dsc-cat{font-weight:900;font-size:15px;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border-radius:99px;background:#e0457b;color:#fff;box-shadow:0 0 24px -6px #e0457b}.dsc-count{font-size:13px;font-weight:700;color:#f5b8cf;font-variant-numeric:tabular-nums}.dsc-cards{display:grid;gap:12px;perspective:900px}.dsc-card{position:relative;padding:14px 16px 14px 18px;border-radius:6px;background:#241020;border:2px dashed #4a2342;color:#8a5c7c;transform:rotate(var(--r));transition:background .3s}.dsc-card.shown{background:repeating-linear-gradient(180deg,transparent 0 27px,rgba(80,120,200,.16) 27px 28px) 0 34px / 100% 100%,linear-gradient(90deg,transparent 32px,rgba(224,69,123,.28) 32px 33px,transparent 33px),#fbf5e6;border:0;color:#2a1a12;box-shadow:0 10px 22px -12px #000,0 1px #fff9 inset}.dsc-card.flip{animation:cardFlip .55s cubic-bezier(.2,1.2,.4,1) backwards}.dsc-card.flip:nth-child(2){animation-delay:.06s}.dsc-card.flip:nth-child(3){animation-delay:.12s}.dsc-card.flip:nth-child(4){animation-delay:.18s}.dsc-card.flip:nth-child(5){animation-delay:.24s}@keyframes cardFlip{0%{transform:rotateX(-90deg) rotate(var(--r));opacity:0}}.dsc-num{font:800 11px system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#c2386c;margin-left:22px}.dsc-card:not(.shown) .dsc-num{color:#6e3a62}.dsc-text{font-family:Courier New,ui-monospace,Menlo,monospace;font-size:18px;font-weight:700;line-height:1.35;margin:4px 0 0 22px}.dsc-card.pattern.shown .dsc-text{font-size:20px;letter-spacing:.08em}.dsc-back{font:900 22px system-ui,sans-serif;opacity:.5}.dsc-guess{margin:8px 0 0 22px;font:700 13px system-ui,sans-serif;display:inline-block;padding:3px 10px;border-radius:4px;transform:rotate(-1.5deg)}.dsc-guess.wrong{color:#b3261e;border:2px solid #b3261e;text-decoration:line-through;text-decoration-thickness:2px}.dsc-guess.skip{color:#8a7a6a;border:2px solid #c9bba8}.dsc-guess.right{color:#fff;background:#1d8a52;border:2px solid #1d8a52}.dsc-reveal{text-align:center;padding:18px 16px;border-radius:18px;display:grid;gap:6px}.dsc-reveal[hidden]{display:none}.dsc-reveal.won{background:linear-gradient(135deg,#1d6e48,#0f3a28);box-shadow:0 0 40px -12px #3fe08f}.dsc-reveal.lost{background:linear-gradient(135deg,#4a1838,#2a0b22)}.dsc-reveal.pop{animation:pop .4s cubic-bezier(.2,1.6,.4,1)}.dsc-label{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;opacity:.85}.dsc-answer{font-size:30px;font-weight:900;letter-spacing:-.01em;line-height:1.1}.dsc-by{font-size:14px;opacity:.85;margin-bottom:6px}.dsc-credit{font-size:13px;font-weight:700;color:#ffe08a;margin:-2px 0 6px}.dsc-dock{position:sticky;bottom:0;margin:auto -14px 0;padding:10px 14px calc(12px + var(--safe-b));background:linear-gradient(180deg,#1a071600,#1a0716 25%)}.dsc-dock[hidden]{display:none}.dsc-form{display:grid;grid-template-columns:1fr auto auto;gap:8px}.dsc-form .btn{width:auto;min-height:50px}.dsc-form .dsc-skip{background:#3a1532;border-color:#5a2a50}.dsc-input{min-width:0;min-height:50px;padding:0 14px;border-radius:14px;font:inherit;font-size:16px;background:#fbf5e6;color:#2a1a12;border:2px solid transparent;outline:none}.dsc-input:focus{border-color:#e0457b;box-shadow:0 0 0 3px #e0457b4d}.dsc-form.nope{animation:nope .35s ease}@keyframes nope{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.dsc-suggest{list-style:none;margin:0 0 8px;padding:6px;border-radius:14px;background:#fbf5e6;color:#2a1a12;box-shadow:0 -10px 30px -10px #000;max-height:46vh;overflow:auto}.dsc-suggest[hidden]{display:none}.dsc-suggest li{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;cursor:pointer}.dsc-suggest li:hover,.dsc-suggest li.active{background:#f3dbe6}.sg-title{font-weight:700;flex:1}.sg-by{font-size:13px;color:#8a6a5a}.ce{flex:1;display:flex;flex-direction:column;gap:14px;padding:16px 14px calc(20px + var(--safe-b));background:radial-gradient(500px 280px at 50% -60px,rgba(34,184,207,.25),transparent 70%),repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 40px),linear-gradient(180deg,#0d2a35,#081a22)}.ce-dots{display:flex;align-items:center;gap:8px;justify-content:center}.ce-dots i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-style:normal;font-size:14px;font-weight:800;color:#6aa3b3;background:#12333f;border:1px solid #1d4a58}.ce-dots i.now{color:#fff;border-color:#22b8cf;box-shadow:0 0 0 3px #22b8cf40}.ce-dots i.done{background:transparent;border-color:transparent;font-size:22px}.ce-total{margin-left:8px;font-size:20px;font-variant-numeric:tabular-nums;color:#bff3fb;min-width:48px}.ce-stage{flex:1;display:flex;flex-direction:column}.ce-card{display:flex;flex-direction:column;gap:14px;background:linear-gradient(180deg,#123a48,#0e2c37);border:1px solid #1f5566;border-radius:22px;padding:20px 18px;box-shadow:0 20px 40px -24px #000}.ce-card.in{animation:ceIn .35s cubic-bezier(.2,1.2,.4,1)}.ce-card.reveal{animation:ceIn .3s ease}@keyframes ceIn{0%{opacity:0;transform:translate(24px)}}.ce-kind{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#6fd3e3}.ce-q{font-size:22px;font-weight:800;line-height:1.3;letter-spacing:-.01em}.ce-q.small{font-size:16px;color:#bfe3ea;font-weight:700}.ce-value-row{display:flex;align-items:baseline;gap:10px;justify-content:center}.ce-value{width:min(100%,260px);text-align:center;font:900 34px/1 system-ui,sans-serif;font-variant-numeric:tabular-nums;background:#08202a;color:#fff;border:2px solid #1f5566;border-radius:14px;padding:10px;outline:none}.ce-value:focus{border-color:#22b8cf;box-shadow:0 0 0 3px #22b8cf4d}.ce-unit{font-size:18px;font-weight:700;color:#8fd0dc}.ce-slider{width:100%;accent-color:#22b8cf;height:36px;touch-action:pan-y}.ce-ends{display:flex;justify-content:space-between;font-size:12px;color:#6aa3b3;margin-top:-10px}.ce-nudge{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:-6px}.ce-nudge .btn{min-height:42px;background:#12333f;border-color:#1f5566}.ce-lock,.ce-next{min-height:54px;font-size:17px}.ce-answer{text-align:center;font:900 40px/1.1 system-ui,sans-serif;letter-spacing:-.02em;color:#fff;animation:pop .35s cubic-bezier(.2,1.6,.4,1)}.ce-answer small{font-size:18px;color:#8fd0dc}.ce-scale{position:relative;height:74px;margin:4px 6px}.ce-line{position:absolute;left:0;right:0;top:50%;height:4px;border-radius:4px;background:linear-gradient(90deg,#1f5566,#2a7385,#1f5566)}.ce-mark{position:absolute;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;animation:markIn .5s cubic-bezier(.2,1.4,.4,1) backwards}.ce-mark span{position:absolute;left:50%;transform:translate(-50%);white-space:nowrap;font-size:12px;font-weight:800;text-align:center;line-height:1.15}.ce-mark.you{background:#ffcf5a;box-shadow:0 0 12px #ffcf5a}.ce-mark.you span{bottom:20px;color:#ffcf5a}.ce-mark.ans{background:#3fe08f;box-shadow:0 0 12px #3fe08f;animation-delay:.25s}.ce-mark.ans span{top:20px;color:#3fe08f}@keyframes markIn{0%{transform:scale(0)}}.ce-verdict{text-align:center;font-size:20px;font-weight:800}.ce-verdict b{color:#bff3fb;margin-left:6px}.ce-note{font-size:14px;color:#a9d4dd;background:#0003;padding:10px 12px;border-radius:12px}.ce-credit{text-align:center;font-size:13px;font-weight:700;color:#ffe08a}.ce-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ce-list li{display:flex;gap:10px;align-items:flex-start;background:#0003;padding:10px 12px;border-radius:12px}.ce-list li>span{font-size:20px}.ce-li-q{font-size:14px;font-weight:700}.ce-li-a{font-size:13px;color:#8fd0dc}.tl{flex:1;display:flex;flex-direction:column;gap:8px;padding:16px 14px 0;background:radial-gradient(500px 300px at 50% -60px,rgba(242,160,61,.25),transparent 70%),linear-gradient(180deg,#2a1608,#170c04)}.tl-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.tl-tries{display:flex;gap:6px}.tl-tries i{width:26px;height:8px;border-radius:9px;background:#4a2c14}.tl-tries i.now{background:#f2a03d;box-shadow:0 0 10px #f2a03d}.tl-tries i.used{background:#8a5a2c}.tl-tries i.win{background:#3fe08f;box-shadow:0 0 10px #3fe08f}.tl-hint{font-size:13px;font-weight:700;color:#f6c88e}.tl-axis{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#b98550}.tl-axis:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#6b4220,transparent)}.tl-list{list-style:none;margin:0;padding:0 0 0 18px;display:grid;gap:10px;position:relative}.tl-list:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:3px;border-radius:3px;background:linear-gradient(180deg,#f2a03d,#8a3a10)}.tl-card{position:relative;display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 14px;background:#fff6e6;color:#2e1a08;border-radius:14px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;box-shadow:0 6px 16px -10px #000,inset 0 -3px #00000014;transition:box-shadow .18s,background .25s}.tl-list.intro .tl-card{animation:tlIn .35s cubic-bezier(.2,1.2,.4,1) backwards;animation-delay:calc(var(--i) * 40ms)}.tl-list.sorting .tl-card{transition:transform .22s cubic-bezier(.2,.8,.3,1),box-shadow .18s}.tl-list.sorting .tl-card.dragging{transition:box-shadow .18s}.tl-list.sorting .tl-card.settling{transition:transform .18s cubic-bezier(.2,.8,.3,1),box-shadow .18s;box-shadow:0 6px 16px -10px #000}.tl-card:before{content:"";position:absolute;left:-18px;top:50%;width:11px;height:11px;margin-top:-5px;border-radius:50%;background:#f2a03d;border:2px solid #170c04}@keyframes tlIn{0%{opacity:0;transform:translate(-12px)}}.tl-grip{font-size:18px;color:#b98550;width:18px;text-align:center}.tl-label{flex:1;font-weight:800;font-size:16px;line-height:1.25}.tl-credit{display:block;font-size:11px;font-weight:700;color:#a8661f;margin-top:2px}.tl-year{font:900 18px system-ui,sans-serif;font-variant-numeric:tabular-nums;color:#8a4a10}.tl-card.picked{box-shadow:0 0 0 3px #f2a03d,0 10px 24px -10px #000;transform:scale(1.02)}.tl-card.dragging{z-index:5;box-shadow:0 22px 36px -12px #000,0 0 0 3px #f2a03d;cursor:grabbing}.tl-card.right{background:#d9f7e4}.tl-card.right:before{background:#3fe08f}.tl-card.locked{cursor:default}.tl-card.wrong{animation:tlWrong .45s ease}@keyframes tlWrong{20%{background:#ffd2cc;transform:translate(-5px)}60%{transform:translate(5px);background:#ffd2cc}}.tl-card.reveal{background:#f6e3cc}.tl-card.reveal:after{content:"✗ you had this elsewhere";position:absolute;right:14px;bottom:4px;font-size:10px;color:#b3261e;font-weight:700}.tl-dock{position:sticky;bottom:0;margin:auto -14px 0;padding:12px 14px calc(12px + var(--safe-b));background:linear-gradient(180deg,#170c0400,#170c04 25%)}.tl-dock .btn.big{min-height:54px;font-size:17px}.tl-note{text-align:center;font-size:12px;color:#b98550;margin-top:6px}
