:root{--bg:#f4f5f9;--bg-glow:#6d4cff1f;--surface:#ffffffb8;--surface-strong:#ffffffe6;--border:#14162817;--border-strong:#14162829;--text:#14151b;--muted:#5b6070;--accent:#5b3fe0;--accent-a:#6d4cff;--accent-b:#3b6dff;--accent-glow:#5b3fe059;--accent-soft:#6d4cff1a;--bar-start:#7c4dff;--bar-end:#14a8e0;--tier1-start:#2563eb;--tier1-end:#06b6d4;--tier2-start:#4f46e5;--tier2-end:#9f7aea;--tier3-start:#a21caf;--tier3-end:#ec4899;--good:#0f9f6e;--good-top:#34d399;--good-bottom:#0ea371;--good-glow:#10b98159;--error:#d12f3f;--warn:#b86e00;--danger:#d6293a;--danger-start:#e0245e;--danger-end:#f08a24;--danger-glow:#e6284666;--gold-a:#a8650a;--gold-b:#c98a12;--gold-c:#8f5406;--radius:16px;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0a0b10;--bg-glow:#7c5cff29;--surface:#ffffff09;--surface-strong:#ffffff0f;--border:#ffffff14;--border-strong:#ffffff29;--text:#e9eaf2;--muted:#9298ab;--accent:#a898ff;--accent-glow:#7c5cff73;--accent-soft:#7c5cff24;--bar-start:#8f6bff;--bar-end:#3ed0ff;--tier1-start:#3b82f6;--tier1-end:#38e1ff;--tier2-start:#5b5bf6;--tier2-end:#c4a1ff;--tier3-start:#c13dff;--tier3-end:#ff5fa2;--good:#4ade9b;--good-top:#6ef0b4;--good-bottom:#12b981;--good-glow:#34d3998c;--error:#ff7b86;--warn:#f5a524;--danger:#ff4d5e;--danger-start:#ff2e63;--danger-end:#ffa53d;--danger-glow:#ff3c508c;--gold-a:#ffe9a3;--gold-b:#f6bf4f;--gold-c:#ffd36b;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1100px 520px at 50% -180px, var(--bg-glow), transparent 70%), var(--bg);min-height:100dvh;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;background-attachment:fixed;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:8px}.muted{color:var(--muted)}.small{font-size:.875rem}.strong{font-weight:600}.center{text-align:center}.error{color:var(--error);margin:8px 0 0}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nav,.main{max-width:1080px;margin:0 auto;padding-left:16px;padding-right:16px}.nav{justify-content:space-between;align-items:center;padding-top:16px;padding-bottom:16px;display:flex}.main{padding-bottom:64px}.footer{text-align:center;padding-bottom:24px}.footer a{color:inherit}.page{max-width:820px;margin:0 auto}.logo{font-family:var(--mono);letter-spacing:-.02em;color:var(--text);font-size:1.2rem;font-weight:700}.logo:hover{text-decoration:none}.logo span{background:linear-gradient(90deg, var(--bar-start), var(--bar-end));color:#0000;-webkit-background-clip:text;background-clip:text}.nav-links{flex-wrap:wrap;align-items:center;gap:20px;font-size:.95rem;display:flex}.nav-links a{color:var(--muted)}.nav-links a:hover{color:var(--text);text-decoration:none}.nav-links form{margin:0}.link-btn{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.link-btn:hover{color:var(--text)}.hero{margin:24px 0 28px}.hero h1{letter-spacing:-.02em;margin:0 0 4px;font-size:clamp(1.75rem,3vw,2.25rem)}.hero p{margin:0}.hero.center{text-align:center}.play{flex-direction:column;gap:24px;max-width:880px;margin:0 auto;display:flex;position:relative}.play-main{min-width:0;position:relative}.play-main .card,.play-aside .card{margin-bottom:0}.play-hero{text-align:center;max-width:880px;margin:8px auto 20px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);margin-bottom:16px;padding:20px;transition:border-color .4s,box-shadow .4s;box-shadow:inset 0 1px #ffffff0a}.card.solved{border-color:color-mix(in srgb, var(--good) 45%, transparent);box-shadow:0 0 40px -18px var(--good-glow), inset 0 1px 0 #ffffff0a}@media (min-width:900px){.card{padding:28px}}.btn{background:linear-gradient(135deg, var(--accent-a), var(--accent-b));color:#fff;min-height:44px;font:inherit;cursor:pointer;box-shadow:0 6px 24px -10px var(--accent-glow), inset 0 1px 0 #fff3;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:600;transition:box-shadow .2s,filter .2s,transform .12s;display:inline-flex}.btn:hover{filter:brightness(1.1);box-shadow:0 8px 32px -8px var(--accent-glow), inset 0 1px 0 #ffffff40;text-decoration:none}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed;filter:none}.btn.ghost{color:var(--text);box-shadow:inset 0 0 0 1px var(--border-strong);background:0 0}.btn.ghost:hover{background:var(--surface-strong);box-shadow:inset 0 0 0 1px var(--border-strong)}.btn-lg{padding:12px 24px;font-size:1.05rem}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.stepper{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.step{min-height:52px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:10px 12px;transition:border-color .2s,background-color .2s,color 1s,opacity 1s;display:flex}.step:disabled{cursor:default}.step:not(:disabled):hover{border-color:var(--border);background:var(--surface);color:var(--text)}.step.current,.step.done{color:var(--text)}.step.locked{opacity:.4}.step-dot.ignite{animation:1.3s ease-out both ignite}@keyframes ignite{0%{filter:brightness(.45)saturate(.2);transform:scale(.85)}45%{filter:brightness(1.5) saturate(1.3) drop-shadow(0 0 10px var(--accent-glow));transform:scale(1.15)}to{filter:none;transform:none}}.step-dot{background:var(--surface-strong);width:30px;height:30px;box-shadow:inset 0 0 0 1px var(--border);color:var(--muted);font-family:var(--mono);border-radius:50%;flex:none;place-items:center;font-size:.85rem;font-weight:700;line-height:1;display:grid}.step.current .step-dot{background:linear-gradient(135deg, var(--accent-a), var(--accent-b));box-shadow:0 0 14px -2px var(--accent-glow);color:#fff}.step.done .step-dot{background:linear-gradient(135deg, var(--good-top), var(--good-bottom));box-shadow:0 0 12px -3px var(--good-glow);color:#06281b}.step-text{flex-direction:column;font-size:.95rem;font-weight:600;line-height:1.25;display:flex}.mode-switch{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:4px;margin-top:16px;padding:4px;display:inline-flex}.mode-switch.left{margin:0 8px 12px 0}.menu{flex-direction:column;gap:8px;display:flex}.danger-row{justify-content:center;display:flex}.danger-step{color:var(--danger)}.danger-step .step-dot{background:color-mix(in srgb, var(--danger) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--danger) 50%, transparent), 0 0 18px -4px var(--danger-glow);color:var(--danger)}.danger-step .step-text{letter-spacing:.02em;font-weight:700}.step.danger-step:not(:disabled):hover{border-color:color-mix(in srgb, var(--danger) 45%, transparent);background:color-mix(in srgb, var(--danger) 8%, transparent);color:var(--danger)}.step.danger-step.current,.step.danger-step.done{color:var(--danger)}.step.danger-step.done .step-dot{background:color-mix(in srgb, var(--danger) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--danger) 50%, transparent), 0 0 18px -4px var(--danger-glow);color:var(--danger)}.step.danger-step.current .step-dot{background:linear-gradient(135deg, var(--danger-start), var(--danger-end));color:#fff}.danger-row.entering .danger-step{animation:1.6s cubic-bezier(.4,0,.2,1) 1.6s both creep}.menu.shake{animation:.65s cubic-bezier(.36,.07,.19,.97) 3.1s both shake}.play.quake .bar-slot{transform-origin:calc((var(--pos,0) + .5) * 100%) 100%;animation:1.2s ease-out 3.1s both burst}@keyframes burst{0%{translate:0;rotate:none}22%{translate:calc(var(--dx,0) * 80px) calc(-44px + var(--adx,0) * 18px);rotate:calc(var(--dx,0) * 16deg)}34%{translate:calc(var(--dx,0) * 86px) calc(-46px + var(--adx,0) * 18px);rotate:calc(var(--dx,0) * 18deg)}62%{translate:0 6px;rotate:none}76%{translate:0 -7px;rotate:none}88%{translate:0 2px;rotate:none}to{translate:0;rotate:none}}.shockwave{pointer-events:none;z-index:50;position:fixed;inset:0;overflow:hidden}.shockwave .ring{left:var(--ox);top:var(--oy);border:3px solid var(--danger);width:0;height:0;box-shadow:0 0 30px 4px var(--danger-glow), inset 0 0 30px 4px var(--danger-glow);opacity:0;border-radius:50%;animation:1.9s cubic-bezier(.2,.55,.35,1) 3.1s both ring;position:absolute;translate:-50% -50%}.shockwave .ring.second{border-width:2px;animation-delay:3.32s}@keyframes ring{0%{opacity:0;width:0;height:0}2%{opacity:1}55%{opacity:.75}to{width:var(--ring-size,1600px);height:var(--ring-size,1600px);opacity:0}}@keyframes creep{0%{opacity:0;filter:blur(8px);transform:translateY(18px)scale(.94)}55%{opacity:.5;filter:blur(3px);transform:translateY(8px)scale(.97)}85%{opacity:1;filter:blur(0) drop-shadow(0 0 18px var(--danger-glow));transform:none}to{opacity:1;filter:drop-shadow(0 0 #0000);transform:none}}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px)rotate(-.4deg)}40%,60%{transform:translate(7px)rotate(.4deg)}}.play-crown{z-index:1;margin-left:-17px;position:absolute;top:-6px;left:50%}.crown{filter:drop-shadow(0 0 10px #f2b33d8c);display:inline-flex}.crown.drop{animation:1.1s cubic-bezier(.3,0,.3,1) 1.9s both crown-drop}.nav-user{align-items:center;gap:6px;display:inline-flex}.nav-crown{filter:drop-shadow(0 0 6px #f2b33d80)}.crown.leader-mark{filter:drop-shadow(0 0 10px var(--danger-glow))}.crown.spoon-mark{filter:drop-shadow(0 0 8px #a0622d8c)}.nav-crown.drop{animation:1.1s cubic-bezier(.3,0,.3,1) 2s both crown-drop}.disclaimer{background:color-mix(in srgb, var(--danger) 7%, transparent);width:100%;max-width:560px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--danger) 30%, transparent);border-radius:12px;margin:0 auto;padding:16px 18px;animation:.3s ease-out both odds-in}.disclaimer-title{color:var(--danger);margin:0 0 6px;font-weight:700}.disclaimer ul{color:var(--muted);margin:0 0 14px;padding-left:18px;font-size:.9rem}.disclaimer li+li{margin-top:4px}.disclaimer strong{color:var(--text)}.disclaimer .row{justify-content:flex-end}.level-card.danger .disclaimer .btn:not(.ghost){background:linear-gradient(135deg, var(--danger-start), var(--danger-end));box-shadow:0 6px 24px -10px var(--danger-glow), inset 0 1px 0 #fff3}@keyframes crown-drop{0%{opacity:0;transform:translateY(-90px)rotate(-18deg)}45%{opacity:1;transform:translateY(4px)rotate(6deg)}62%{transform:translateY(-10px)rotate(-4deg)}78%{transform:translateY(1px)rotate(2deg)}90%{transform:translateY(-2px)rotate(-1deg)}to{opacity:1;transform:none}}.level-card.tier-1{--bar-start:var(--tier1-start);--bar-end:var(--tier1-end)}.level-card.tier-2{--bar-start:var(--tier2-start);--bar-end:var(--tier2-end)}.level-card.tier-3{--bar-start:var(--tier3-start);--bar-end:var(--tier3-end)}.level-card.danger{--bar-start:var(--danger-start);--bar-end:var(--danger-end)}.level-card.danger h2{color:var(--danger);text-shadow:0 0 24px var(--danger-glow);letter-spacing:.02em}.danger-intro{text-align:center;max-width:520px;color:var(--muted);margin:0;font-size:.9rem}.level-card.danger .card-foot .btn:not(.ghost){background:linear-gradient(135deg, var(--danger-start), var(--danger-end));box-shadow:0 6px 24px -10px var(--danger-glow), inset 0 1px 0 #fff3}.danger-text{color:var(--danger)!important}.danger-row-summary td:first-child{color:var(--danger);font-weight:600}.profile-mode{margin-bottom:32px}.profile-mode h2{margin:0 0 12px;font-size:1.2rem}.profile-mode .stats{margin-bottom:12px}.level-card{animation:.28s cubic-bezier(.2,.8,.2,1) enter}@keyframes enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.card-head{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.card-head h2{letter-spacing:-.01em;margin:0;font-size:1.2rem}.counter{text-align:right}.counter-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.7rem;display:block}.counter-value{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:clamp(1.5rem,3vw,2rem);font-weight:700}.card-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:48px;margin-top:8px;display:flex}.card-foot>.btn:only-child{margin:0 auto}.running{text-align:center;flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.speed{color:var(--muted);font-size:.9rem}.speed-value{font-family:var(--mono);font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.result{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;width:100%;display:flex}.result-line{margin:0}.odds-slot{justify-content:center;align-items:center;min-height:84px;margin-top:12px;display:flex}.odds{--tone:var(--good);text-align:center;animation:.6s ease-out both odds-in}.odds.unlucky{--tone:var(--warn)}.odds p{margin:0}.odds-title{color:var(--tone);font-weight:700}.odds-detail{color:var(--muted);font-size:.875rem}.odds-detail strong,.odds-milestone{color:var(--text);font-weight:600}@keyframes odds-in{0%{opacity:0}to{opacity:1}}.bars{--gap:6px;background:linear-gradient(to top, var(--border) 1px, transparent 1px) bottom / 100% 1px no-repeat;height:clamp(170px,36vh,380px);margin:12px 0 36px;position:relative}.bar-slot{width:calc(100% / var(--n));padding:0 calc(var(--gap) / 2);transition:transform var(--move,.28s) var(--move-ease,ease-in-out);will-change:transform;justify-content:center;align-items:flex-end;display:flex;position:absolute;top:0;bottom:0;left:0}.bar{--c:color-mix(in oklab, var(--bar-end) calc(var(--t) * 100%), var(--bar-start));background:linear-gradient(to top, color-mix(in oklab, var(--c) 85%, black), var(--c));width:100%;max-width:96px;box-shadow:0 0 calc(22px + 26px * var(--intensity,0)) calc(-8px + 2px * var(--intensity,0)) var(--c), inset 0 1px 0 #ffffff4d;transform-origin:bottom;border-radius:8px 8px 3px 3px;transition:box-shadow .4s;position:relative}.ghost-slot{width:calc(100% / var(--n));padding:0 calc(var(--gap) / 2);opacity:var(--ghost-opacity,0);transition:transform var(--ghost-move,.3s) linear, opacity .4s;filter:blur(2px);pointer-events:none;justify-content:center;align-items:flex-end;display:flex;position:absolute;top:0;bottom:0;left:0}.bar.ghost{box-shadow:none}.bar.ghost:after{display:none}.bars.sorted .bar.ghost{animation:none}.bar:after{content:"";border-radius:inherit;background:linear-gradient(to top, var(--good-bottom), var(--good-top));box-shadow:0 0 22px -6px var(--good-glow), inset 0 1px 0 #ffffff59;opacity:0;position:absolute;inset:0}.bar-label{text-align:center;font-family:var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem;position:absolute;bottom:-26px;left:0;right:0}.bars.gliding .bar-label{opacity:0}.bar-label{transition:opacity .3s}.bars.sorted .bar{animation:.52s cubic-bezier(.3,1.5,.5,1) both pop}.bars.sorted .bar:after{animation:.52s ease-out both light;animation-delay:inherit}.bars.sorted{animation:glow .9s ease-out var(--wave-end) both}@keyframes pop{0%,to{transform:scaleY(1)}45%{transform:scaleY(1.07)}}@keyframes light{0%{opacity:0}40%,to{opacity:1}}@keyframes glow{0%,to{filter:none}35%{filter:brightness(1.25) drop-shadow(0 0 18px var(--good-glow))}}@media (min-width:900px){.bars{--gap:10px}.bar-label{font-size:.9rem}}.luck-row{align-items:center;gap:14px;display:flex}.luck-value{line-height:1.1;font-family:var(--mono);letter-spacing:-.03em;background:linear-gradient(90deg, var(--bar-start), var(--bar-end));color:#0000;-webkit-background-clip:text;background-clip:text;width:fit-content;margin:0;font-size:clamp(2.5rem,6vw,3.5rem);font-weight:700}.summary .counter-label{margin:0 0 4px}.day-average{margin:8px 0 0}.day-average strong{font-family:var(--mono)}.summary-table{margin:16px 0 20px}.how{color:var(--muted);padding:16px 18px;font-size:.9rem}.how summary{cursor:pointer;color:var(--text);font-weight:600}.how p{margin:10px 0 0}.delete-account{margin-top:32px}.delete-account .form{max-width:360px;margin:14px 0 0}.btn.btn-delete,.btn.btn-delete:hover{box-shadow:none;background:#c62a39}.auth{max-width:400px;margin:40px auto}.auth h1{margin-top:0;font-size:1.4rem}.form{flex-direction:column;gap:14px;margin-bottom:12px;display:flex}.form label{color:var(--muted);flex-direction:column;gap:6px;font-size:.9rem;display:flex}.form input{font:inherit;border:1px solid var(--border-strong);background:var(--surface-strong);min-height:44px;color:var(--text);border-radius:10px;padding:10px 12px;font-size:1rem;transition:border-color .15s,box-shadow .15s}.form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.date-nav{align-items:center;gap:8px;margin-top:8px;display:flex}.date-nav .date{font-family:var(--mono);white-space:nowrap;padding:0 4px}.date-nav a,.date-nav .disabled{width:36px;height:36px;color:var(--text);border:1px solid var(--border);border-radius:10px;place-items:center;display:grid}.date-nav a:hover{background:var(--surface-strong);text-decoration:none}.date-nav .disabled{color:var(--muted);opacity:.4}.rank{min-width:26px;height:26px;font-family:var(--mono);color:var(--muted);border-radius:13px;place-items:center;padding:0 6px;font-size:.8rem;font-weight:700;display:inline-grid}.rank.gold{color:#2b1d00;background:linear-gradient(135deg,#ffe08a,#f2b33d);box-shadow:0 0 14px -4px #f2b33db3}.rank.silver{color:#1c2027;background:linear-gradient(135deg,#f1f4f8,#b8c0cc);box-shadow:0 0 14px -6px #c8d2e199}.rank.bronze{color:#2a1405;background:linear-gradient(135deg,#f3c19a,#c27a45);box-shadow:0 0 14px -6px #c27a4599}.tabs{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:4px;max-width:100%;margin-bottom:16px;padding:4px;display:inline-flex;overflow-x:auto}.tab{color:var(--muted);white-space:nowrap;border-radius:8px;padding:6px 14px}.tab:hover{color:var(--text);text-decoration:none}.tab.active{background:var(--accent-soft);color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent)}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;padding:10px 8px}.table th{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.72rem;font-weight:600}.table tr:last-child td{border-bottom:0}.table .num{text-align:right;font-variant-numeric:tabular-nums}.table tr.me td{background:var(--accent-soft)}.lb-player{align-items:center;gap:6px;display:inline-flex}.lb-player>span:first-child{overflow-wrap:anywhere}.table-card{overflow-x:auto}.lb-crown{filter:drop-shadow(0 0 5px #f2b33d80);display:inline-flex}.golden-name{background:linear-gradient(100deg, var(--gold-a), var(--gold-b) 55%, var(--gold-c));color:#0000;-webkit-text-decoration-color:var(--gold-b);text-decoration-color:var(--gold-b);-webkit-background-clip:text;background-clip:text;font-weight:600}.records{margin-bottom:16px;padding:14px 18px}.record{flex-wrap:wrap;column-gap:8px;margin:0;display:flex}.record+.record{margin-top:6px}.record-label{min-width:9.5em;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-self:center;font-size:.85rem}.record strong{font-family:var(--mono)}.lb-note{color:var(--muted);font-size:.75rem;display:block}.stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.stat{flex-direction:column;align-items:center;gap:2px;padding:16px;display:flex}.stat strong{font-family:var(--mono);font-size:1.4rem}@media (max-width:520px){.stepper{gap:6px}.step{text-align:center;flex-direction:column;gap:4px;padding:8px 4px}.step-text{align-items:center;font-size:.8rem}.bars{--gap:4px;height:clamp(150px,28vh,220px);margin:16px 0 32px}.card{padding:16px}.card-head h2{font-size:1.05rem}.counter-value{font-size:1.35rem}.stats{grid-template-columns:1fr}.detail-col{display:none}.nav-links{gap:14px}}@media (prefers-reduced-motion:reduce){.bar-slot,.step,.card,.btn{transition:none}.ghost-slot{display:none}.level-card,.spinner,.odds,.danger-row.entering .danger-step,.menu.shake,.crown.drop,.disclaimer,.play.quake .bar-slot{animation:none}.shockwave{display:none}.step-dot.ignite,.bars.sorted,.bars.sorted .bar{animation:none}.bars.sorted .bar:after{opacity:1;animation:none}}
