@font-face{font-family:Lilita One;src:url(/assets/LilitaOne-Regular-DWEPn4H6.ttf)format("truetype");font-display:swap;font-weight:400}@font-face{font-family:Inter;src:url(/assets/Inter-VF2RPR_K.ttf)format("truetype");font-display:swap;font-weight:100 900}:root{--giga-bg:#090b17;--giga-panel:#18172ce0;--giga-white:#fff;--giga-muted:#b8b5d0;--giga-violet:#8b5cf6;--giga-lime:#a3e635;--giga-border:#ffffff21;--giga-radius:24px;--giga-display:"Lilita One",sans-serif;--giga-body:Inter,sans-serif;--giga-shadow:0 24px 80px #0006;color:var(--giga-white);font-family:var(--giga-body);background:var(--giga-bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid var(--giga-lime);outline-offset:4px}.giga-panel{background:var(--giga-panel);border:1px solid var(--giga-border);border-radius:var(--giga-radius);box-shadow:var(--giga-shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:28px}.giga-title{font-family:var(--giga-display);margin:0;font-weight:400;line-height:.95}.giga-number{font-variant-numeric:tabular-nums;color:#fff;font-weight:900}.giga-button{color:#151126;background:var(--giga-lime);border:0;border-radius:16px;justify-content:center;align-items:center;min-height:52px;padding:12px 25px;font-weight:800;display:inline-flex}.giga-secondary{color:#fff;border:1px solid var(--giga-border);background:#ffffff12}.giga-safe{padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.giga-screen{text-align:center;width:100%;max-width:360px}.giga-screen p{color:var(--giga-muted);line-height:1.6}.giga-screen .giga-title{font-size:56px}.giga-screen .small{font-size:38px}.giga-screen em{color:var(--giga-lime);font-style:normal}.giga-screen .eyebrow{letter-spacing:2px;color:#c9b5ff;font-size:10px}.giga-screen .giga-button{width:100%}.giga-screen .text-button{color:#c9b5ff;background:0 0;border:0;margin:14px auto 0;display:block}.giga-screen .result-score{font-size:64px;display:block}.giga-hud{justify-content:space-between;align-items:center;gap:16px;display:flex}.giga-hud span{color:var(--giga-muted);display:block}.giga-hud .giga-number{font-size:32px}@font-face{font-family:Fraunces;src:url(/assets/fraunces-CRvvDN8A.ttf)format("truetype");font-weight:100 900;font-display:swap}:root{--cream:#f8f0e1;--cream-hi:#fffaf0;--cream-lo:#eadcc3;--line:#7a5c384d;--ink:#3b2f24;--muted:#7b6a58;--wood:#a96e3c;--wood-hi:#c48a52;--wood-lo:#7f4c25;--gold:#b9853a;--gold-hi:#e9bd68;--red:#b3262d;--sage:#6f8a5c;--serif:"Fraunces", Georgia, serif;--shadow:0 10px 28px #301a0647, 0 2px 6px #301a062e}html,body{height:100%}body{color:var(--ink);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#8a5a32;margin:0;overflow:hidden}#app{position:fixed;inset:0;overflow:hidden}#board{touch-action:none;transition:filter .25s;display:block;position:absolute;inset:0}#app.paused #board{filter:blur(14px)saturate(.8)brightness(.92)}[hidden]{display:none!important}button{font-family:Inter,sans-serif}.hud{left:50%;top:max(8px, env(safe-area-inset-top));border:1px solid var(--line);width:min(100% - 14px,640px);height:50px;box-shadow:var(--shadow);box-sizing:border-box;background:linear-gradient(#fffaf0f2,#f4e9d6f2);border-radius:15px;grid-template-columns:auto 1fr auto auto auto;align-items:center;padding:0 6px 0 12px;display:grid;position:absolute;transform:translate(-50%)}.hud .brand{font-family:var(--serif);border-right:1px solid var(--line);align-items:baseline;gap:4px;padding-right:10px;display:flex}.hud .brand b{color:var(--red);font-size:22px;font-style:italic;font-weight:800}.hud .brand span{color:var(--ink);font-size:16px;font-weight:700}.hud .cell{align-items:center;gap:6px;height:32px;padding:0 10px;display:flex}.hud .cell+.cell{border-left:1px solid var(--line)}.hud strong{font-family:var(--serif);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700}.hud .score{flex-direction:column;justify-content:center;gap:0}.hud .score .label{letter-spacing:1.2px;text-transform:uppercase;color:var(--muted);font:700 9px/1 Inter,sans-serif}.hud .score strong{font-size:22px;line-height:1.05;transition:transform .12s}.hud .score strong.pop{transform:scale(1.14)}.hud .ring{padding:0 8px;position:relative}.hud .ring svg{width:40px;height:40px;transform:rotate(-90deg)}.hud .ring circle{fill:none;stroke-width:3.5px}.hud .ring .track{stroke:#e3d4b9}.hud .ring .fill{stroke:var(--sage);stroke-linecap:round;stroke-dasharray:119.4;transition:stroke .3s}.hud .ring strong{text-align:center;font-size:13px;position:absolute;left:0;right:0}.hud .ring.warn .fill{stroke:var(--red)}.hud .ring.warn strong{color:var(--red)}.hud .hearts{gap:3px}.hud .hearts i{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M12 21C9 18.6 1.5 13.3 1.5 7.1 1.5 3.8 4 1.5 7 1.5c2.1 0 3.9 1.2 5 3 1.1-1.8 2.9-3 5-3 3 0 5.5 2.3 5.5 5.6 0 6.2-7.5 11.5-10.5 13.9z' fill='%23c0392f'/%3E%3C/svg%3E") 50%/contain no-repeat;width:19px;height:17px;transition:transform .25s,filter .25s,opacity .25s}.hud .hearts i.lost{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M12 21C9 18.6 1.5 13.3 1.5 7.1 1.5 3.8 4 1.5 7 1.5c2.1 0 3.9 1.2 5 3 1.1-1.8 2.9-3 5-3 3 0 5.5 2.3 5.5 5.6 0 6.2-7.5 11.5-10.5 13.9z' fill='none' stroke='%23b08f7a' stroke-width='2'/%3E%3C/svg%3E")}.hud .hearts i.break{animation:.6s ease-out heartbreak}@keyframes heartbreak{0%{filter:drop-shadow(0 0 6px #e05a3a);transform:scale(1.4)}40%{transform:scale(.8)rotate(-12deg)}to{transform:none}}.hud .icon{border:1px solid var(--line);background:var(--cream-hi);cursor:pointer;border-radius:10px;place-items:center;width:36px;height:36px;margin-left:4px;display:grid;box-shadow:inset 0 1px #fff}.hud .icon svg{width:16px;height:16px;fill:var(--ink)}@media (max-width:420px){.hud{height:48px;padding:0 4px 0 8px}.hud .brand{padding-right:7px}.hud .brand b{font-size:19px}.hud .brand span{font-size:13px}.hud .cell{padding:0 7px}.hud .score strong{font-size:19px}.hud .ring svg{width:36px;height:36px}.hud .hearts i{width:16px;height:15px}}@media (max-width:350px){.hud .brand span{display:none}}.streak{left:50%;top:calc(max(8px, env(safe-area-inset-top)) + 56px);border:1px solid var(--line);box-sizing:border-box;background:#fffaf0d8;border-radius:999px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;width:min(100% - 60px,360px);height:22px;padding:0 10px 0 4px;display:grid;position:absolute;transform:translate(-50%);box-shadow:0 3px 10px #301a062e}.streak span{font:800 11px var(--serif);color:#fff6e6;white-space:nowrap;background:linear-gradient(#cf5a3e,#a8382a);border-radius:999px;padding:2px 9px}.streak .meter{grid-template-columns:repeat(5,1fr);gap:3px;height:8px;display:grid}.streak .meter i{background:#e6d8bf;border-radius:4px;transition:background .25s;box-shadow:inset 0 1px 1px #0002}.streak .meter i.on{background:linear-gradient(90deg,#f0c45f,#e09a3b);box-shadow:0 0 6px #f0b84f}.streak b{font:800 12px var(--serif);color:var(--gold);text-align:right;font-variant-numeric:tabular-nums;min-width:34px}.streak.cold span{background:linear-gradient(#b9a68a,#9c8a70)}.streak.bump{animation:.35s cubic-bezier(.2,1.6,.4,1) bump}@keyframes bump{0%{transform:translate(-50%)scale(1.08)}}.lanebtns button{cursor:pointer;background:linear-gradient(#fffaf0e8,#efe2c9e8);border:1px solid #7f4c2580;border-radius:12px;place-items:center;padding:0;transition:transform 80ms,background .2s;display:grid;position:absolute;box-shadow:0 3px 8px #301a0640,inset 0 1px #fff}.lanebtns button span{font:800 16px var(--serif);color:var(--ink)}.lanebtns button span:before{content:"Lane ";font:600 12px var(--serif);color:var(--muted)}.lanebtns button:active{transform:translateY(1px)scale(.97)}.lanebtns button.make{background:linear-gradient(#ffe9b0,#f1c66a);border-color:#b9853a}.lanebtns button:disabled{opacity:.55;cursor:default}@media (max-width:420px){.lanebtns button span:before{content:""}}.coach{box-sizing:border-box;color:#fff6e6;font:600 14px var(--serif);box-shadow:var(--shadow);text-align:center;pointer-events:none;white-space:normal;background:#2e2925e6;border-radius:12px;padding:8px 14px;line-height:1.3;animation:.25s ease-out rise;position:absolute}.coach b{color:#ffd98a}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.banner{border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;pointer-events:none;background:linear-gradient(#fffaf0f5,#f3e6cff5);border-radius:18px;min-width:230px;padding:14px 24px;animation:.35s cubic-bezier(.2,1.4,.4,1) banner;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%)}.banner b{font:800 26px var(--serif);color:var(--ink);display:block}.banner span{font:700 16px var(--serif);color:var(--gold);font-variant-numeric:tabular-nums;margin-top:4px;display:block}.banner .stamp{font:800 15px var(--serif);color:#2f6b3a;animation:.35s cubic-bezier(.2,1.6,.4,1) both stamp;animation-delay:var(--d,0s);border:2.5px solid #2f6b3a;border-radius:8px;margin-top:8px;padding:3px 10px;display:inline-block;transform:rotate(-6deg)}@keyframes stamp{0%{opacity:0;transform:rotate(-6deg)scale(2.2)}}@keyframes banner{0%{opacity:0;transform:translate(-50%,-40%)scale(.85)}}.demo-pill{right:12px;top:calc(max(8px, env(safe-area-inset-top)) + 84px);letter-spacing:1.5px;color:var(--cream);background:#2e2925b0;border-radius:6px;padding:5px 8px;font:800 10px Inter,sans-serif;position:absolute}#screens:empty{display:none}#screens{box-sizing:border-box;background:radial-gradient(at 50% 40%,#2a170800,#2a170866);place-items:center;padding:16px;display:grid;position:absolute;inset:0}#screens[data-screen=title]{background:linear-gradient(#2a170833,#2a170800 30% 60%,#2a170840);align-items:start;padding-top:max(7vh,30px)}#screens .giga-panel{border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#fffaf0f7,#f3e6cff7);border-radius:22px}#screens[data-screen=title] .giga-panel{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;max-width:520px;padding:0 8px}#screens .giga-title{font-family:var(--serif);color:var(--ink);font-weight:800}#screens .giga-screen p{color:var(--muted);font-family:var(--serif);font-size:15px}#screens .eyebrow{letter-spacing:2px;color:var(--gold)!important;font:800 10px Inter,sans-serif!important}#screens .giga-button{color:#fff6e8;font:700 19px var(--serif);box-shadow:var(--shadow), 0 1px 0 #ffffff40 inset;background:linear-gradient(#c0603f,#9c3d28);border:0;border-radius:16px;min-height:56px}#screens .giga-button:focus-visible,#screens .text-button:focus-visible{outline:3px solid var(--gold-hi)}#screens .text-button{font:600 15px var(--serif);text-underline-offset:3px;text-decoration:underline;color:var(--ink)!important}#screens .result-score{font-family:var(--serif);color:var(--ink);font-size:58px}.logo{filter:drop-shadow(0 4px 10px #3c1e0499);width:min(94%,460px);margin:0 auto 6px;display:block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.tagline{text-shadow:0 2px 8px #281402d9;font:italic 600 19px var(--serif)!important;color:#fff8ea!important;margin:0 0 18px!important}#screens[data-screen=title] .giga-button{width:min(100%,320px)}#screens[data-screen=title] .text-button{text-shadow:0 1px 6px #000a;color:#fff8ea!important}#screens[data-screen=title] .eyebrow{text-shadow:0 1px 2px #1e0e02e6,0 0 10px #1e0e02b3;color:#ffe2a3!important}.toggles{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}.toggles button{color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#fffaf0e8;border-radius:999px;padding:8px 12px;font:600 13px Inter,sans-serif}.toggles button[aria-pressed=false]{opacity:.6;text-decoration:line-through}.rules{text-align:left;border-collapse:collapse;width:100%;font:15px var(--serif);color:var(--ink);margin:6px 0 14px}.rules td{border-bottom:1px dashed var(--line);padding:5px 4px}.rules td:last-child{text-align:right;color:var(--gold);white-space:nowrap;font-weight:800}#screens[data-screen=how-to-play] .giga-panel{max-width:400px;max-height:calc(100vh - 32px);overflow:auto}.breakdown{border-collapse:collapse;width:100%;font:15px var(--serif);color:var(--ink);margin:2px 0 8px}.breakdown td{border-bottom:1px dashed var(--line);padding:4px 2px}.breakdown td:last-child{text-align:right;font-variant-numeric:tabular-nums;font-weight:800}.breakdown tr.zero td{color:var(--muted);font-weight:500}.timeline{width:100%;height:86px;margin:4px 0 2px}.legend{color:var(--muted);justify-content:center;gap:14px;margin-bottom:8px;font:600 12px Inter,sans-serif;display:flex}.legend i{vertical-align:middle;background:var(--gold);border-radius:2px;width:16px;height:3px;margin-right:5px;display:inline-block}.legend i.best{border-top:2px dashed var(--ink);background:0 0;height:0}.legend i.them{background:var(--ink)}#screens[data-screen=results] .giga-panel{max-width:380px;max-height:calc(100vh - 40px);padding:22px 22px 18px;overflow:auto}#screens[data-screen=results] .giga-title{font-size:34px}.contest .best-line{display:none}.refuse{border:1px solid var(--line);max-width:340px;box-shadow:var(--shadow);text-align:center;background:linear-gradient(#fffaf0f2,#f3e6cff2);border-radius:16px;gap:6px;margin:4px auto 0;padding:14px 16px;display:grid}.refuse b{font:800 18px var(--serif);color:var(--ink)}.refuse span{font:500 14px var(--serif);color:var(--muted)}#screens[data-screen=title] .refuse .text-button{text-shadow:none;color:var(--ink)!important}.waiting{justify-content:center;align-items:center;gap:8px;display:flex;font:600 13px var(--serif)!important;color:var(--muted)!important;margin:0 0 10px!important}.waiting .dots{gap:3px;display:inline-flex}.waiting .dots i{background:var(--gold);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite wait}.waiting .dots i:nth-child(2){animation-delay:.15s}.waiting .dots i:nth-child(3){animation-delay:.3s}@keyframes wait{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.short .hud{width:min(100% - 14px,600px);height:42px}.short .hud .ring svg{width:32px;height:32px}.short .streak{top:calc(max(8px, env(safe-area-inset-top)) + 46px);height:18px}.clean-stamp{width:max-content;font:800 17px var(--serif);color:#2f6b3a;border:3px solid #2f6b3a;border-radius:9px;margin:2px auto 10px;padding:3px 12px;animation:.3s cubic-bezier(.2,1.6,.4,1) 1.6s both stamp;display:block;transform:rotate(-5deg)}
