.lb{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;height:auto;display:block}.lb-cell__bg{stroke:#ffc8f038;stroke-width:1.5px;transition:fill .3s,stroke .3s}.lb-cell--a .lb-cell__bg{fill:url(#lb-cell-a)}.lb-cell--b .lb-cell__bg{fill:url(#lb-cell-b)}.lb-cell--goal .lb-cell__bg{fill:url(#lb-cell-goal);stroke:#f3c46a;stroke-width:3px}.lb-cell--visited .lb-cell__bg{stroke:#f3c46a8c;stroke-width:2.5px}.lb-cell--hl .lb-cell__bg{stroke:#ff7fd0;stroke-width:6px;animation:1.6s ease-in-out infinite lb-hl}.lb-cell--here .lb-cell__bg{stroke:#f3c46a;stroke-width:6px}@keyframes lb-hl{50%{stroke-opacity:.35}}.lb--tap .lb-cell{cursor:pointer}.lb-cell:focus{outline:none}.lb-cell:focus-visible .lb-cell__bg{stroke:#fff0f8;stroke-width:5px}.lb-name{fill:#e9cde6;text-anchor:middle;pointer-events:none;font:500 12.5px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.lb--nonames .lb-name{display:none}.lb-art{pointer-events:none}.lb-ladder__rail{fill:none;stroke:#b97a34;stroke-width:4.2px;stroke-linecap:round}.lb-ladder__shine{fill:none;stroke:#ffe2a0;stroke-width:1.1px;stroke-linecap:round}.lb-ladder__rung{fill:none;stroke:#e9b861;stroke-width:2.2px;stroke-linecap:round}.lb-snake__body{stroke-width:1.2px;stroke-linejoin:round}.lb-snake--0 .lb-snake__body,.lb-snake--0 .lb-snake__head{stroke:#d58cff}.lb-snake--1 .lb-snake__body,.lb-snake--1 .lb-snake__head{stroke:#ff9ad5}.lb-snake__spine{fill:none;stroke-width:1.4px;stroke-dasharray:2 5;stroke-linecap:round}.lb-snake--0 .lb-snake__spine{stroke:#b985f0}.lb-snake--1 .lb-snake__spine{stroke:#c26c9c}.lb-snake__head{stroke-width:1.2px}.lb-snake__tongue{fill:none;stroke:#ff3b6b;stroke-width:1.6px;stroke-linecap:round}.lb-snake--0 .lb-snake__eye{fill:#ffd34a}.lb-snake--1 .lb-snake__eye{fill:#e0204a}.lb-nums{pointer-events:none}.lb-num{fill:#fff0f8;stroke:#16061f;stroke-width:7px;stroke-linejoin:round;paint-order:stroke;text-anchor:middle;font:700 34px/1 Georgia,Times New Roman,serif}.lb-num--goal{fill:#f3c46a}.lb-token{pointer-events:none}.lb-token__halo{fill:#f3c46a47;stroke:#f3c46a;stroke-width:2px}.lb-token__gem{stroke:#fff6d8;stroke-width:2px}.lb-token__shine{fill:#fffbe9;opacity:.85}.status{color:var(--muted);align-items:center;gap:6px;min-width:0;margin-bottom:2px;font-size:12.5px;display:flex}.dot{background:var(--ok);width:7px;height:7px;box-shadow:0 0 8px var(--ok);border-radius:50%;flex:none}.dot--wait{background:var(--muted);box-shadow:none}.dot--pause,.dot--off{background:var(--danger);box-shadow:0 0 8px var(--danger)}.seg{background:var(--tint);border:1px solid var(--line-soft);border-radius:12px;flex:none;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.seg button{color:var(--muted);background:0 0;border:0;border-radius:9px;padding:8px;font-size:13.5px}.seg button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px #f3c46a73}.frame{background:#2a0a36;border:1px solid #ffbe8c8c;border-radius:12px;flex:none;overflow:hidden;box-shadow:0 0 0 3px #ff78d21a,0 0 26px #ff64d266,0 18px 40px #0a000f99}.frame--pick{border-color:var(--snake)}.frame--pick .lb-cell{cursor:crosshair}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12px;display:flex}.legend>span{align-items:center;gap:6px;display:inline-flex}.legend .here{color:var(--ink);flex-basis:100%;display:block}.ln{border-radius:2px;width:18px;height:3px;display:inline-block}.ln--up{background:var(--arrow)}.ln--down{background:var(--snake)}.nmt{border:1px solid var(--line-soft);color:var(--muted);background:0 0;border-radius:999px;padding:2px 9px}.nmt[aria-pressed=true]{color:var(--accent);border-color:#f3c46a8c}.banner{background:var(--card);border:1px solid var(--line-soft);border-left:3px solid var(--accent);text-align:left;border-radius:12px;flex:none;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;display:flex}.banner--pause{border-left-color:var(--danger)}.banner--tap{border-left-color:var(--snake);width:100%}.banner--col{flex-direction:column;align-items:flex-start;gap:8px}.now{background:var(--card);border:1px solid var(--line-soft);border-radius:20px;flex-direction:column;align-items:flex-start;gap:8px;padding:20px 18px;display:flex;position:relative;overflow:hidden}.now:before{content:"";pointer-events:none;background:radial-gradient(circle,#f3c46a33,#0000 65%);border-radius:50%;width:240px;height:240px;position:absolute;top:-70px;right:-70px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600}.bignum{font:600 100px/.9 var(--display);font-variant-numeric:lining-nums tabular-nums;color:var(--accent);text-shadow:0 0 26px #f3c46a59}.cname{font:600 27px/1.15 var(--display);text-wrap:balance}.ctext{opacity:.85;margin:0}.last{color:var(--muted);border-top:1px solid var(--line-soft);align-self:stretch;margin:4px 0 0;padding-top:10px;font-size:13.5px}.k{color:var(--muted);font-size:12px}.mdie{width:24px;height:24px;color:var(--accent);border:1.5px solid #f3c46a80;border-radius:6px;place-items:center;font-size:12.5px;font-weight:600;display:grid}.mv{font-size:14.5px;font-weight:500}.mv small{color:var(--muted);font-size:12.5px;font-weight:400;display:block}.moves__undone .mv{text-decoration:line-through;-webkit-text-decoration-color:var(--danger);text-decoration-color:var(--danger);opacity:.7}.note-soon{border:1px dashed var(--line);color:var(--muted);background:#30103e8c;border-radius:14px;margin:0;padding:14px;font-size:13.5px}.act{background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line-soft);align-items:center;gap:10px;padding:10px 16px;display:flex}.act--col{flex-direction:column;align-items:stretch;gap:8px}.die{background:radial-gradient(circle at 35% 30%,#62226e,#2a0a36);border:1.5px solid #f3c46a8c;border-radius:8px;flex:none;grid-template:repeat(3,1fr)/repeat(3,1fr);gap:1px;width:30px;height:30px;padding:4px;display:grid}.die--big{width:52px;height:52px;box-shadow:var(--halo);border-radius:13px;gap:2px;padding:8px}.die i{background:var(--accent);opacity:0;border-radius:50%}.die i.on{opacity:1;box-shadow:0 0 5px #f3c46acc}.die--spin{animation:.5s linear infinite die-spin}@keyframes die-spin{to{transform:rotate(360deg)}}.pad{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}.pad button{background:var(--accent-soft);min-height:64px;color:var(--accent);border:1px solid #f3c46a8c;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px 0;font-size:18px;font-weight:700;display:flex}.pad button:disabled{opacity:.5}.lead{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.lead button{border:1px solid var(--line-soft);background:var(--tint);border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:9px 2px;font-size:12px;font-weight:500;line-height:1.2;display:flex}.lead button svg{width:20px;height:20px}.lead button.primary{background:var(--gold);color:var(--accent-ink);box-shadow:var(--halo);border-color:#0000}.lead button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.lead button:disabled{opacity:.45}.ask{background:var(--accent-soft);border:1.5px dashed var(--accent);border-radius:14px;flex:1;min-width:0;padding:10px 14px}.ask--wait{border-color:var(--line);background:0 0}.ask b{font-size:16px;font-weight:600;line-height:1.25;display:block}.ask span{color:var(--muted);font-size:12.5px;display:block}.nav{background:var(--glass);border-top:1px solid var(--line-soft);padding:4px 8px calc(6px + env(safe-area-inset-bottom,0px));grid-template-columns:repeat(3,1fr);display:grid}.nav button{color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:6px 0;font-size:11.5px;display:flex}.nav button svg{width:22px;height:22px}.nav button[aria-current=page]{color:var(--accent);font-weight:600}.toast{z-index:25;border:1px solid var(--danger);color:var(--ink);box-shadow:var(--shadow);background:#3a0f22;border-radius:12px;padding:10px 14px;font-size:14px;position:absolute;bottom:150px;left:16px;right:16px}.scrim{z-index:20;background:#100212a3;align-items:flex-end;display:flex;position:absolute;inset:0}.sheet{background:radial-gradient(ellipse 80% 40% at 50% 0%, #5a1d62, transparent 70%), var(--surface);width:100%;padding:10px 18px calc(18px + env(safe-area-inset-bottom,0px));border-top:1px solid #f3c46a4d;border-radius:22px 22px 0 0;flex-direction:column;gap:8px;max-height:85%;animation:.22s ease-out sheet-up;display:flex;overflow:auto}@keyframes sheet-up{0%{opacity:.4;transform:translateY(30px)}}.grab{background:var(--line);border-radius:2px;align-self:center;width:40px;height:4px;margin-bottom:6px}.sheet .bignum{font-size:68px}.jump{margin:0;font-size:14px;font-weight:500}.up{color:var(--arrow)}.down{color:var(--snake)}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;padding:6px 12px;font-size:13px}.chip[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:12.5px;display:flex}.field input{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:10px;padding:10px;font-size:15px}@media (prefers-reduced-motion:reduce){.sheet,.die--spin{animation:none}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#16061f;--glow-a:#6a1e7a;--glow-b:#8a2a6e;--surface:#2a0f36;--surface-2:#220b2d;--glass:#220b2ddb;--card:linear-gradient(160deg, #6e28789e, #2d0f3ccc);--ink:#fff0f8;--muted:#d7b4d4;--line:#5e2b6a;--line-soft:#ffc8f029;--tint:#30103eb3;--accent:#f3c46a;--accent-ink:#2a1902;--accent-soft:#f3c46a26;--gold:linear-gradient(180deg, #f8da93, #e1a040);--arrow:#f2c674;--snake:#ff7fd0;--ok:#7be3b6;--danger:#ff8c7c;--shadow:0 14px 40px #04021499;--halo:0 0 22px #f3c46a66;--display:Georgia, "Times New Roman", serif;--body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:radial-gradient(ellipse 120% 60% at 50% 0%, #4a1450, transparent 70%), var(--bg);color:var(--ink);font:15px/1.45 var(--body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#root{justify-content:center;height:100%;display:flex}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num{font-variant-numeric:tabular-nums}[hidden]{display:none!important}.phone{background:radial-gradient(ellipse 90% 45% at 50% 0%, var(--glow-a), transparent 70%) 0 0 / 100% 100% no-repeat, radial-gradient(ellipse 80% 45% at 90% 100%, var(--glow-b), transparent 70%) 0 0 / 100% 100% no-repeat, var(--bg);flex-direction:column;width:100%;max-width:480px;height:100%;display:flex;position:relative;overflow:hidden}.top{padding:max(12px, env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--line-soft);align-items:flex-end;gap:10px;display:flex}.brand{font:600 25px/1 var(--display);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);text-shadow:0 0 18px #f3c46a73;align-items:center;gap:8px;display:flex}.brand svg{width:15px;height:15px;fill:var(--accent);flex:none}.main{flex-direction:column;flex:1;gap:12px;min-height:0;padding:12px 16px 16px;display:flex;overflow:auto}.main--center{justify-content:center}.h2{font:600 26px/1.15 var(--display);margin:2px 0 0}.sub{color:var(--muted);margin:0;font-size:13.5px}.fine{color:var(--muted);margin:0;font-size:11.5px}.err{color:var(--danger);margin:0;font-size:14px}.btns{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.btn{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);text-align:center;border-radius:10px;padding:10px 14px;font-size:14px;font-weight:500;text-decoration:none;display:inline-block}.btn.primary{background:var(--gold);color:var(--accent-ink);border-color:#0000}.btn.warn{background:var(--danger);border-color:var(--danger);color:#2a0a06}.btn:disabled{opacity:.5}.roll{background:var(--gold);min-height:52px;color:var(--accent-ink);box-shadow:var(--halo);border:0;border-radius:14px;flex:1;padding:14px 12px;font-size:16px;font-weight:600}.roll:disabled{color:var(--muted);border:1px dashed var(--line);box-shadow:none;background:0 0;font-size:14px;font-weight:500}.moves{background:var(--card);border:1px solid var(--line-soft);border-radius:16px;margin:0;padding:0;list-style:none}.moves li{border-top:1px solid var(--line-soft);grid-template-columns:30px 26px 1fr;align-items:center;gap:10px;padding:11px 14px;display:grid}.moves li:first-child{border-top:0}.fix{color:var(--danger);text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:12.5px;text-decoration:underline}.join{flex-direction:column;gap:14px;padding-top:8px;display:flex}.join h1{font:600 34px/1.08 var(--display);text-wrap:balance;margin:0}.choice{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.choice legend{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);padding:0 0 6px;font-size:11px;font-weight:600}.vis{grid-template-columns:1fr 1fr;gap:6px;display:grid}.vis button{border:1px solid var(--line);background:var(--surface-2);text-align:left;border-radius:12px;padding:10px;font-size:14px;line-height:1.25}.vis button small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.vis button[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}.steps{counter-reset:s;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.steps li{counter-increment:s;background:var(--card);border:1px solid var(--line-soft);border-radius:14px;grid-template-columns:28px 1fr;gap:10px;padding:12px;display:grid}.steps li:before{content:counter(s);background:var(--gold);width:26px;height:26px;color:var(--accent-ink);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid}.steps li>span{flex-direction:column;gap:8px;min-width:0;display:flex}.steps b{font-weight:600}.steps span span{color:var(--muted);font-size:13.5px}.steps .link{overflow-wrap:anywhere;background:var(--surface-2);border:1px solid var(--line-soft);-webkit-user-select:all;user-select:all;border-radius:8px;padding:8px;font:12px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace}.recent{flex-direction:column;gap:8px;margin-top:8px;display:flex}.recent li{grid-template-columns:1fr auto}.recent a{color:var(--ink)}
