@font-face{font-family:Courier Prime;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/cb70882a0e1cc565-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Courier Prime;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/2ae08af5ebbe6cc2-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Courier Prime;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/1fe023b8369d1a78-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Courier Prime;font-style:italic;font-weight:700;font-display:swap;src:url(/_next/static/media/5ea0084f89316569-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Courier Prime;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d76bee0872897641-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Courier Prime;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/111c93f1bc244164-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Courier Prime;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/459821db3ab9c520-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Courier Prime;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/828e2958d60bafae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Courier Prime Fallback;src:local("Arial");ascent-override:58.08%;descent-override:25.41%;line-gap-override:0.00%;size-adjust:134.50%}.__className_1f2f78{font-family:Courier Prime,Courier Prime Fallback}.__variable_1f2f78{--font-courier-prime:"Courier Prime","Courier Prime Fallback"}@font-face{font-family:Special Elite;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0c310187b552b27d-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Special Elite;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e210f091ebfac73b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Special Elite Fallback;src:local("Arial");ascent-override:60.00%;descent-override:25.33%;line-gap-override:0.00%;size-adjust:117.20%}.__className_91eb3e{font-family:Special Elite,Special Elite Fallback;font-weight:400;font-style:normal}.__variable_91eb3e{--font-special-elite:"Special Elite","Special Elite Fallback"}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--paper:#f6f3ec;--desk:#e2ddd4;--line:#c2d6ed;--line-dark:#a8c4e0;--ink:#1c1c2e;--ink-soft:#4a4a6a;--ink-mute:#6a6a85;--ink-faint:#8a8aa0;--cell:min(52px,calc((100vw - 32px) / 9));--num-size:calc(var(--cell) * 0.56);--ring-size:calc(var(--cell) * 0.65);--ring-w:calc(var(--cell) * 0.09);--p1:#ffffff;--p2:#0000ff;--p3:#008000;--p4:#ff0000;--p5:#000080;--r1:#008860;--r2:#336b20;--r3:#a07010;--r4:#bb2200}body{background:var(--desk);background-image:radial-gradient(ellipse at 30% 20%,rgba(255,255,240,.4) 0,transparent 60%),radial-gradient(ellipse at 70% 80%,rgba(200,190,170,.3) 0,transparent 50%);font-family:var(--font-courier-prime),"Courier New",monospace;justify-content:flex-start;min-height:100vh;padding:24px 16px;gap:10px}.hdr,body{display:flex;flex-direction:column;align-items:center}.hdr{gap:5px}h1{font-family:var(--font-special-elite),serif;font-size:2.2rem;letter-spacing:10px;color:var(--ink);line-height:1}.tagline,h1{text-transform:uppercase}.tagline{font-size:.8rem;letter-spacing:4px;color:var(--ink-mute)}.seed-row{display:flex;align-items:center;gap:7px;font-size:.85rem;color:var(--ink-soft);margin-top:2px}.seed-lbl{font-size:.75rem;letter-spacing:3px;color:var(--ink-mute)}#seedInput{background:transparent;border:none;border-bottom:1px dashed var(--ink-mute);outline:none;font-family:inherit;font-size:.9rem;width:140px;text-align:center;color:var(--ink);letter-spacing:2px}button.mode-active,button:hover{border-color:var(--ink);color:var(--ink)}.board-wrap{position:relative;box-shadow:0 1px 2px rgba(0,0,0,.06),0 3px 8px rgba(0,0,0,.1),0 10px 28px rgba(0,0,0,.08),inset 0 0 0 1px rgba(255,255,255,.5)}.board-wrap:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:20}#board{display:grid;grid-template-columns:repeat(9,var(--cell));grid-template-rows:repeat(9,var(--cell));background-color:var(--paper);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:var(--cell) var(--cell);border:1.5px solid var(--line-dark);position:relative;cursor:default}#board:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background-image:linear-gradient(var(--line-dark) 1.5px,transparent 1.5px),linear-gradient(90deg,var(--line-dark) 1.5px,transparent 1.5px);background-size:calc(var(--cell) * 3) calc(var(--cell) * 3)}.cell{width:var(--cell);height:var(--cell);display:flex;align-items:center;justify-content:center;position:relative;font-weight:700;font-size:var(--num-size);-moz-user-select:none;user-select:none;-webkit-user-select:none;z-index:2}.cell-empty,.cell-zero{cursor:default}.zero-ring{width:var(--ring-size);height:var(--ring-size);border-radius:50%;border:var(--ring-w) solid #1c1c2e;display:block;flex-shrink:0}.cell-piece{cursor:-webkit-grab;cursor:grab}.cell-piece:active{cursor:-webkit-grabbing;cursor:grabbing}.num{display:block;position:relative;z-index:3;line-height:1;font-weight:700;font-size:var(--num-size)}.cell-piece[data-val="1"] .num{color:#0000ff}.cell-piece[data-val="2"] .num{color:#008000}.cell-piece[data-val="3"] .num{color:#ff0000}.cell-piece[data-val="4"] .num{color:#c8a000}.cell-block{background:#c0bcb4;box-shadow:inset -2px -2px 0 0 #8a8680,inset 2px 2px 0 0 #e8e4dc;cursor:default}.cell-hover-src{box-shadow:inset 0 0 0 4px rgba(100,140,220,.7)}.cell-drag-src,.cell-hover-src{background:transparent!important}.cell-drag-src{box-shadow:inset 0 0 0 5px rgba(100,140,220,.9)}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.94)}}.cell-hover-src .num{animation:breathe 1.8s ease-in-out infinite}.tgt-svg{width:100%;height:100%;overflow:visible;z-index:5}.dir-arrow,.tgt-svg{position:absolute;inset:0;pointer-events:none}.dir-arrow{display:flex;align-items:center;justify-content:center;font-size:1.6rem;z-index:10;animation:arrowBob .4s ease-in-out infinite alternate}@keyframes arrowBob{0%{opacity:.6;transform:scale(.85)}to{opacity:1;transform:scale(1.1)}}.flyer{position:fixed;display:flex;align-items:center;justify-content:center;font-family:var(--font-courier-prime),monospace;font-weight:700;font-size:1.35rem;background:var(--paper);box-shadow:0 2px 8px rgba(0,0,0,.15);pointer-events:none;z-index:900;border:1px solid rgba(0,0,0,.06)}@keyframes land{0%{transform:scale(1.55) rotate(-3deg);opacity:.5}45%{transform:scale(.84) rotate(1deg);opacity:1}70%{transform:scale(1.06)}to{transform:scale(1) rotate(0deg);opacity:1}}.anim-land .num{animation:land .32s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes zeroIn{0%{transform:scale(0) rotate(6deg);opacity:0}60%{transform:scale(1.12) rotate(-2deg);opacity:1}to{transform:scale(1) rotate(0deg);opacity:1}}.anim-ink-in{animation:zeroIn .35s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes zeroOut{0%{opacity:1;transform:scale(1)}40%{opacity:.5;transform:scale(1.1)}to{opacity:0;transform:scale(.4);filter:blur(2px)}}.anim-ink-out{animation:zeroOut .28s ease-in forwards}@keyframes numFlip{0%{transform:scaleY(0) translateY(-4px);opacity:0}55%{transform:scaleY(1.12) translateY(0);opacity:1}to{transform:scaleY(1) translateY(0);opacity:1}}.anim-flip .num{animation:numFlip .25s cubic-bezier(.34,1.56,.64,1) forwards;transform-origin:center bottom}@keyframes crumble{0%{transform:scale(1) rotate(0deg);opacity:1}40%{transform:scale(1.05) rotate(-2deg);opacity:.8}to{transform:scale(.6) rotate(4deg);opacity:0}}.anim-crumble{animation:crumble .2s ease-in forwards}@keyframes cellFade{to{transform:scale(.8);opacity:.25}}#win-overlay{position:fixed;inset:0;z-index:500;background:rgba(246,243,236,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;pointer-events:none}#win-overlay button{pointer-events:all}.win-big{font-family:var(--font-special-elite),serif;font-size:3rem;letter-spacing:8px;color:var(--ink)}.win-sub{font-style:italic;font-size:1rem;color:#777}.win-hint{font-size:.8rem;letter-spacing:3px;color:var(--ink-mute);text-transform:uppercase;margin-top:6px}.info-bar{font-size:.9rem;font-style:italic;color:#888;letter-spacing:1px;height:20px;text-align:center}.blot-count{font-size:.8rem;letter-spacing:2px;height:18px;text-align:center}.blot-count,.legend{color:var(--ink-mute)}.legend{display:flex;gap:13px;flex-wrap:wrap;justify-content:center;font-size:.75rem;letter-spacing:1px}.leg{display:flex;align-items:center;gap:4px}.leg-dot{width:7px;height:7px;border-radius:1px;border:1px solid}body.cb-mode{--r1:#0072b2;--r2:#009e73;--r3:#e69f00;--r4:#d55e00}body.cb-mode .leg:first-child .leg-dot{border-style:solid;border-width:2px}body.cb-mode .leg:nth-child(2) .leg-dot{border-style:dashed;border-width:2px}body.cb-mode .leg:nth-child(3) .leg-dot{border-style:dotted;border-width:2px}body.cb-mode .leg:nth-child(4) .leg-dot{border-style:double;border-width:3px}.cb-toggle{background:transparent;border:none;border-bottom:1px dashed var(--ink-mute);padding:2px 4px;font-family:inherit;font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:var(--ink-mute);cursor:pointer}