@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-vietnamese-wght-normal.0h_qcmzvudf58.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-ext-wght-normal.0i4j_a8lim1a-.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-wght-normal.300rpl789hft0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--sun:#ffe14d;--sun-deep:#ffd21f;--ink:#1a1030;--pink:#ff3d7f;--blue:#3d5afe;--paper:#fff;--muted:#5b5170;--font:"Bricolage Grotesque Variable", system-ui, -apple-system, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);color:var(--ink);background:repeating-conic-gradient(from 0deg at 50% 30%, var(--sun) 0deg 15deg, var(--sun-deep) 15deg 30deg) fixed;-webkit-font-smoothing:antialiased;min-height:100dvh}button,input{font:inherit;color:inherit}.wrap{flex-direction:column;gap:20px;max-width:620px;margin:0 auto;padding:16px 16px 48px;display:flex}.top{justify-content:space-between;align-items:center;display:flex}.logo{letter-spacing:-.02em;font-size:1.4rem;font-weight:800}.toplink{color:var(--ink);font-weight:600}.card{background:var(--paper);border:4px solid var(--ink);box-shadow:8px 8px 0 var(--ink);border-radius:24px;padding:28px 24px}h1{letter-spacing:-.03em;margin:0 0 12px;font-size:clamp(2.2rem,8vw,3.4rem);font-weight:800;line-height:.95}h1 em{color:var(--pink);font-style:normal}h2{letter-spacing:-.02em;margin:0;font-weight:800}.lede{margin:0 0 20px;font-size:1.1rem;line-height:1.4}.fine{color:var(--muted);text-align:center;margin:12px 0 0;font-size:.9rem}.error{color:#c4002f;margin:12px 0 0;font-weight:600}.win{color:#0a7a3b;margin:12px 0 0;font-weight:700}.lose{color:var(--muted);margin:12px 0 0;font-weight:700}.challenge{background:var(--ink);color:var(--sun);border-radius:16px;padding:14px 18px;font-size:1.05rem;line-height:1.35}.field{border:3px solid var(--ink);background:#fffbe6;border-radius:16px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 6px 6px 16px;display:flex}.field-my{font-size:1.3rem;font-weight:800}.field input{background:0 0;border:0;outline:none;flex:1;min-width:0;padding:10px 0;font-size:1.3rem;font-weight:600}.field:focus-within{box-shadow:0 0 0 4px var(--blue)}.dice{background:var(--sun);cursor:pointer;border:0;border-radius:12px;width:48px;height:48px;font-size:1.4rem}.big{border:3px solid var(--ink);background:var(--pink);color:#fff;width:100%;box-shadow:4px 4px 0 var(--ink);cursor:pointer;border-radius:16px;padding:16px 20px;font-size:1.35rem;font-weight:800;transition:transform 80ms,box-shadow 80ms}.big:active{box-shadow:1px 1px 0 var(--ink);transform:translate(3px,3px)}.ghost{border:3px solid var(--ink);background:var(--paper);cursor:pointer;border-radius:14px;padding:12px 16px;font-size:1rem;font-weight:700}.ghost:disabled{opacity:.5;cursor:default}.stage{text-align:center;overflow:hidden}.say{margin:0 0 8px;font-size:1.15rem}.count{color:var(--pink);text-shadow:6px 6px 0 var(--ink);font-size:9rem;font-weight:800;line-height:1.1}.woah{height:1.6em;color:var(--pink);text-shadow:.06em .06em 0 var(--ink);white-space:nowrap;justify-content:center;align-items:center;font-weight:800;line-height:1;transition:transform 50ms linear;display:flex}.meter,.timer{border:3px solid var(--ink);background:#f3efe0;border-radius:999px;height:22px;margin-top:12px;overflow:hidden}.timer{height:10px}.meter-fill,.timer-fill{transform-origin:0;width:100%;height:100%}.meter-fill{background:linear-gradient(90deg, var(--blue), var(--pink))}.timer-fill{background:var(--ink)}.result{text-align:center}.badge{border:6px solid var(--ink);width:200px;height:200px;box-shadow:8px 8px 0 var(--ink);background:var(--sun);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;margin:8px auto 16px;animation:.45s cubic-bezier(.2,1.6,.4,1) pop;display:flex}.score{font-size:5.5rem;font-weight:800;line-height:.9}.of{font-weight:700}.result h2{font-size:2rem}@keyframes pop{0%{transform:scale(.3)rotate(-20deg)}to{transform:none}}.stats{justify-content:center;gap:32px;margin:16px 0 20px;display:flex}.stats dt{color:var(--muted);font-size:.85rem}.stats dd{margin:0;font-size:1.4rem;font-weight:800}.row{flex-wrap:wrap;gap:10px;display:flex}.row .big{flex:100%}.row .ghost{flex:1 1 0}.submit{border-top:3px dashed var(--ink);flex-wrap:wrap;gap:10px;margin-top:20px;padding-top:20px;display:flex}.submit input{border:3px solid var(--ink);border-radius:14px;flex:1;min-width:0;padding:12px 14px;font-weight:600}.submit .error{flex-basis:100%}.board-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.tabs{border:3px solid var(--ink);border-radius:12px;display:flex;overflow:hidden}.tabs button{background:var(--paper);cursor:pointer;border:0;padding:6px 12px;font-weight:700}.tabs button[aria-selected=true]{background:var(--ink);color:var(--sun)}.board ol{margin:0;padding:0;list-style:none}.board li{border-bottom:2px solid #eee6cc;align-items:center;gap:12px;padding:10px 0;display:flex}.board li:last-child{border-bottom:0}.rank{width:28px;color:var(--muted);text-align:right;font-weight:800}.board li:first-child .rank{color:var(--pink)}.who{flex-direction:column;flex:1;min-width:0;display:flex}.who b,.who small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.who small{color:var(--muted)}.pts{font-size:1.4rem;font-weight:800}.ad{border:3px dashed var(--ink);background:#fff9;border-radius:16px;min-height:100px;padding:8px;overflow:hidden}.foot{text-align:center;color:var(--ink);opacity:.7;font-size:.85rem}@media (prefers-reduced-motion:reduce){.badge{animation:none}.woah{transition:none}}
