:root{--amber:#ffa21f;--amber-hi:#ffd08a;--amber-deep:#c46a00;--amber-ink:#2b1500;--teal:#22d8c8;--teal-hi:#9ff7ee;--teal-deep:#0b8f86;--teal-ink:#032925;--stone:#3a3648}.hb{width:100%;height:auto;display:block;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.hb text{font-family:var(--font-display);text-anchor:middle;pointer-events:none}.hb-cell>text{font-size:46px;fill:var(--ink);paint-order:stroke;stroke:rgba(0,0,0,.35);stroke-width:4px}.hb-cell .rim{fill:none;stroke:rgba(185,168,255,.35);stroke-width:3}.hb-cell{transition:transform .25s ease,opacity .3s ease;transform-origin:var(--x) var(--y);transform-box:view-box}.hb-cell.amber>text{fill:var(--amber-ink);stroke:none}.hb-cell.teal>text{fill:var(--teal-ink);stroke:none}.hb-cell.amber .rim{stroke:var(--amber-hi);stroke-width:4;filter:drop-shadow(0 0 8px var(--amber))}.hb-cell.teal .rim{stroke:var(--teal-hi);stroke-width:4;filter:drop-shadow(0 0 8px var(--teal))}.hb-cell.stone>text{fill:rgba(255,255,255,.28);stroke:none}.hb-cell.stone .rim{stroke:#5b5670}.hb-cell .crack{fill:none;stroke:rgba(0,0,0,.5);stroke-width:3;stroke-linecap:round}.hb-cell.can{cursor:pointer}.hb-cell.can:focus-visible .rim,.hb-cell.can:hover .rim{stroke:#fff;stroke-width:4}.hb-cell.can:focus{outline:none}.hb-cell.picked{transform:scale(1.07)}.hb-cell.picked .rim{stroke:#fff;stroke-width:6;filter:drop-shadow(0 0 10px #fff)}.hb-cell.picked polygon:first-child{fill:#5b4aa8}.hb-cell.mp-amber .rim{stroke:var(--amber);stroke-width:5;animation:hbpulse 1s ease-in-out infinite}.hb-cell.mp-teal .rim{stroke:var(--teal);stroke-width:5;animation:hbpulse 1s ease-in-out infinite}@keyframes hbpulse{50%{stroke-opacity:.25}}.hb-cell.fresh{animation:hbpop .6s cubic-bezier(.3,1.6,.5,1)}@keyframes hbpop{0%{transform:scale(.6) rotateY(90deg)}to{transform:scale(1)}}.hb.dim .hb-cell:not(.trail){opacity:.3}.hb .badge circle{fill:var(--teal)}.hb .badge text{font-size:18px;fill:var(--teal-ink)}.hb-rail line{stroke-width:9;stroke-linecap:round}.hb-rail.amber line{stroke:var(--amber);filter:drop-shadow(0 0 6px var(--amber))}.hb-rail.teal line{stroke:var(--teal);filter:drop-shadow(0 0 6px var(--teal))}.hb-rail text{font-family:var(--font-body);font-weight:700;font-size:17px;paint-order:stroke;stroke:var(--night);stroke-width:10px;stroke-linejoin:round;letter-spacing:.04em}.hb-rail.amber text{fill:var(--amber-hi)}.hb-rail.teal text{fill:var(--teal-hi)}.hb-trail path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:hbdraw 1.1s ease-out .25s forwards}.hb-trail .glow{stroke-width:26;opacity:.45;filter:blur(5px)}.hb-trail .core{stroke:#fff;stroke-width:7}.hb-trail.amber .glow{stroke:var(--amber)}.hb-trail.teal .glow{stroke:var(--teal)}@keyframes hbdraw{to{stroke-dashoffset:0}}.hb-trail-letter{font-size:46px;paint-order:stroke;stroke-width:9px;stroke-linejoin:round}.hb-trail-letter.amber{fill:var(--amber-ink);stroke:var(--amber-hi)}.hb-trail-letter.teal{fill:var(--teal-ink);stroke:var(--teal-hi)}@media (prefers-reduced-motion:reduce){.hb-trail path{animation:none;stroke-dashoffset:0}.hb-cell,.hb-cell.fresh,.hb-cell[class*=mp-] .rim{animation:none;transition:none}}.lb-logo{font-family:var(--font-display);font-weight:400;font-size:clamp(2.2rem,10vw,3.4rem);line-height:1;margin:14px 0 4px;background:linear-gradient(#fff2c4,var(--amber));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #1b1530);letter-spacing:.01em}.lb-logo.sm{font-size:1.5rem;margin:0}.lb-logo span{font-size:.42em;-webkit-text-fill-color:var(--night);color:var(--night);background:var(--teal);padding:.18em .5em .12em;border-radius:99px;vertical-align:middle;display:inline-block;transform:translateY(-.3em) rotate(-4deg);filter:none}.lb-letter{display:inline-grid;place-items:center;width:64px;height:72px;-webkit-clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(#fff,#d9cfff);color:var(--night);font-family:var(--font-display);font-size:2.3rem;flex:none}.lb-letter.big{width:92px;height:104px;font-size:3.4rem}.lb-letter.amber{background:linear-gradient(var(--amber-hi),var(--amber))}.lb-letter.teal{background:linear-gradient(var(--teal-hi),var(--teal))}.lb-q{font-family:var(--font-display);font-weight:400;font-size:clamp(1.35rem,6vw,1.9rem);line-height:1.14;margin:0;text-wrap:balance;text-shadow:0 3px 0 rgba(0,0,0,.35)}.lb-q .l{color:var(--sun)}.lb-qhead{display:flex;align-items:center;gap:14px}.lb-tags{display:flex;flex-wrap:wrap;gap:6px}.lb-tag{font-weight:700;font-size:.78rem;letter-spacing:.05em;background:rgba(139,79,216,.85);color:#fff;border-radius:99px;padding:3px 10px}.lb-tag.soft{background:rgba(255,255,255,.1);color:var(--muted)}.lb-form{display:flex;flex-direction:column;gap:10px;background:none;border:0;padding:0;border-radius:0}.db-card.lb-form{background:rgba(26,20,54,.94);border:2px solid var(--line);border-radius:22px;padding:16px}.lb-input{display:flex;flex-direction:row;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:3px solid var(--line);border-radius:18px;padding:6px 14px}.lb-input:focus-within{border-color:var(--sun)}.lb-input b{font-family:var(--font-display);font-size:1.9rem;color:var(--sun)}.lb-input input{flex:1 1;min-width:0;font:inherit;font-family:var(--font-display);font-size:1.6rem;color:var(--ink);background:transparent;border:0;outline:none;padding:8px 0;text-transform:uppercase}.lb-input input::placeholder{color:rgba(196,184,230,.45);text-transform:none;font-family:var(--font-body);font-size:1.05rem;font-weight:600}.lb-go{width:100%;font-size:1.25rem!important;min-height:56px}.lb-verdict{border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:2px;font-weight:700}.lb-verdict b{font-family:var(--font-display);font-weight:400;font-size:1.6rem}.lb-verdict.ok{background:rgba(79,209,165,.16);border:2px solid var(--save)}.lb-verdict.ok b{color:var(--save)}.lb-verdict.no{background:rgba(255,122,89,.14);border:2px solid var(--coral)}.lb-verdict.no b{color:var(--coral)}.lb-verdict .ans{color:var(--sun);font-family:var(--font-display);font-size:1.25rem;font-weight:400}.lb-err{color:var(--coral);font-weight:700;text-align:center;margin:0}.db-page{max-width:620px}.db-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.db-num{font-family:var(--font-display);font-size:1.15rem;color:var(--muted)}.db-num b{color:var(--ink)}.db-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px}.db-stat{background:rgba(255,255,255,.07);border-radius:14px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;min-width:0}.db-stat b{font-family:var(--font-display);font-weight:400;font-size:1.5rem;line-height:1.1}.db-stat span{font-size:.72rem;font-weight:700;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}.db-stat.fire b{color:var(--amber)}.db-board{margin:6px 0}.db-hint{text-align:center;color:var(--muted);font-weight:600;margin:0}.db-card{background:rgba(26,20,54,.94);border:2px solid var(--line);border-radius:22px;padding:16px;display:flex;flex-direction:column;gap:12px}.db-card.done{border-color:var(--amber)}.db-big{font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,9vw,2.8rem);line-height:1;margin:0;text-align:center}.db-big.ok{color:var(--amber);text-shadow:0 4px 0 #1b1530,0 0 26px rgba(255,162,31,.5)}.db-big.no{color:#b7b0cc}.db-share{white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:clamp(.8rem,3.6vw,1.05rem);line-height:1.25;background:rgba(0,0,0,.25);border-radius:14px;padding:12px;margin:0;text-align:left;overflow-x:auto}.db-row{display:flex;gap:10px}.db-row>*{flex:1 1}.db-rules{color:var(--muted);font-size:.92rem;margin:0}.db-ghost,.db-rules b{color:var(--ink)}.db-ghost{font:inherit;font-weight:700;background:rgba(255,255,255,.07);border:2px solid var(--line);border-radius:14px;padding:10px 14px;cursor:pointer;min-height:48px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}