@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-devanagari-wght-normal-B4j4n2PV.woff2)format("woff2-variations");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-vietnamese-wght-normal-C4ZonJY6.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:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-latin-ext-wght-normal-Dz43yst_.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:"Baloo 2 Variable";font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/baloo-2-latin-wght-normal-B_TVFhwJ.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{--marigold:#f6ae2d;--paper:#fff5e1;--ink:#2b1238;--ink-soft:#5d4569;--pink:#d81e68;--green:#0b7f65;--line:#2b123826;--font:"Baloo 2 Variable", system-ui, sans-serif;--gutter:20px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--marigold);color:var(--ink);font-family:var(--font);overscroll-behavior:none;-webkit-user-select:none;user-select:none;font-size:18px;line-height:1.3}h1,h2,p{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;background:0 0;border:0}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--pink);outline-offset:2px}.screen{width:100%;max-width:520px;min-height:100dvh;padding:calc(env(safe-area-inset-top) + 20px) var(--gutter) 0;flex-direction:column;margin:0 auto;display:flex}.eyebrow{letter-spacing:.08em;text-transform:uppercase;font-size:15px;font-weight:700}.dock{margin:auto calc(-1 * var(--gutter)) 0;padding:16px var(--gutter) calc(env(safe-area-inset-bottom) + 16px);background:linear-gradient(to top, var(--marigold) 78%, transparent);text-align:center;position:sticky;bottom:0}.primary{background:var(--ink);width:100%;min-height:64px;color:var(--paper);border-radius:18px;font-size:23px;font-weight:800;display:block}.primary:disabled{opacity:.45}.link-button{text-underline-offset:3px;min-height:44px;padding:0 4px;font-weight:700;text-decoration:underline}.quit{margin-top:6px}.brand h1{letter-spacing:-.02em;font-size:68px;font-weight:800;line-height:.95}.brand-logo{width:clamp(128px,40vw,168px);height:auto;display:block}.brand p{margin-top:6px;font-size:19px;font-weight:600}.rules{margin-top:14px;font-size:17px}.rules summary{cursor:pointer;min-height:36px;font-weight:700}.rules ol{margin:4px 0 0;padding-left:22px}.rules li+li{margin-top:6px}.field{margin-top:22px}.field h2{letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:15px;font-weight:800}.field-hint{margin:-2px 0 10px;font-size:16px;font-weight:500}.teams{gap:8px;display:grid}.team-row{gap:8px;display:flex}.team-row input{background:var(--paper);-webkit-user-select:text;user-select:text;border:0;border-radius:12px;flex:1;min-width:0;height:52px;padding:0 14px;font-weight:700}.team-remove{background:#2b12381f;border-radius:12px;width:52px;font-size:26px;font-weight:700}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips button,.segmented button{background:#2b12381f;min-height:48px;font-weight:700}.chips button{border-radius:24px;padding:0 16px}.chips button:disabled{opacity:.5;cursor:not-allowed}.chips button[aria-pressed=true],.segmented button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.segmented{grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;display:grid}.segmented button{border-radius:12px}.boot{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100dvh;padding:24px;display:flex}.boot h1{letter-spacing:-.02em;font-size:68px;font-weight:800;line-height:.95}.boot-pieces{gap:8px;display:flex}.boot-pieces span{width:58px;animation:.9s ease-in-out infinite boot-hop}@keyframes boot-hop{35%{transform:translateY(-16px)}70%{transform:translateY(0)}}.boot-bar{background:#2b123833;border-radius:8px;width:min(320px,100%);height:16px;overflow:hidden}.boot-bar div{background:var(--ink);transform-origin:0;height:100%;transition:transform .12s linear}.boot p{font-variant-numeric:tabular-nums;font-weight:700}.win{padding:calc(env(safe-area-inset-top) + 24px) var(--gutter) calc(env(safe-area-inset-bottom) + 16px);background:var(--marigold);text-align:center;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden auto}.win-rays{background:repeating-conic-gradient(#ffc75c 0 12deg, transparent 12deg 24deg);width:220vmax;height:220vmax;margin:-110vmax 0 0 -110vmax;animation:22s linear infinite win-spin;position:fixed;top:36%;left:50%}@keyframes win-spin{to{transform:rotate(360deg)}}.confetti{pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti span{aspect-ratio:2/3;border-radius:2px;animation:linear infinite confetti-fall;position:absolute;top:-24px}@keyframes confetti-fall{to{transform:translate(36px,110dvh)rotate(760deg)}}.win-body{flex-direction:column;flex:1;justify-content:center;align-items:center;animation:.62s cubic-bezier(.2,1.5,.4,1) win-enter;display:flex;position:relative}@keyframes win-enter{0%{opacity:0;transform:scale(.35)}}.win-mascot{transform-origin:50% 100%;width:min(230px,56vw);height:auto;margin-bottom:14px;animation:1.05s ease-in-out infinite win-bounce}@keyframes win-bounce{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-22px)rotate(3deg)}}.win h1{overflow-wrap:anywhere;font-size:clamp(46px,14vw,68px);font-weight:800;line-height:1}.win-line{margin-top:10px;font-size:19px;font-weight:600}.win-actions{width:100%;max-width:480px;margin:18px auto 0;position:relative}.win-actions .primary{margin-bottom:6px}.win-actions .link-button{margin:0 auto;display:block}dialog.confirm{background:var(--paper);width:min(420px,100vw - 32px);color:var(--ink);border:0;border-radius:20px;margin:auto;padding:22px 20px 18px}dialog.confirm::backdrop{background:#2b1238b8}.confirm h2{overflow-wrap:anywhere;margin-bottom:6px;font-size:28px;font-weight:800;line-height:1.1}.confirm-actions{gap:8px;margin-top:18px;display:grid}.confirm-cancel{background:#2b12381f;border-radius:14px;min-height:52px;font-weight:700}.mascot{display:block}.team-card{background:#fff5e14d;border-radius:16px;gap:8px;padding:10px;display:grid}.mascot-picker{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.mascot-picker button{border-radius:12px;justify-items:center;gap:2px;min-height:84px;padding:6px 2px 4px;font-size:15px;font-weight:700;display:grid}.mascot-picker button .mascot{width:52px;height:52px}.mascot-picker button[aria-pressed=true]{background:var(--paper);box-shadow:inset 0 0 0 3px var(--ink)}.mascot-picker button.is-taken .mascot{opacity:.45}.progress-strip{background:#fff5e180;border-radius:14px;align-items:center;gap:8px;margin-bottom:10px;padding:7px 12px;display:flex}.progress-end{flex:none;font-size:13px;font-weight:800}.progress-track{background:#2b123840;border-radius:4px;flex:1;height:8px;margin:13px 18px;position:relative}.progress-token{width:34px;height:34px;margin-top:-17px;transition:left .2s ease-out;position:absolute;top:50%;transform:translate(-50%)}.progress-token.is-active .mascot{box-shadow:0 0 0 3px var(--paper);border-radius:50%}.board-3d{aspect-ratio:1/1.04;background:var(--ink);border-radius:18px;margin-bottom:12px;position:relative;overflow:hidden}.board-3d canvas{width:100%;height:100%;display:block}.board{--tilt:34deg;background:radial-gradient(120% 90% at 50% 0%, #4c2a63 0%, var(--ink) 72%);perspective-origin:50% 30%;border-radius:18px;margin-bottom:12px;padding:22px 10px 18px;position:relative;overflow:hidden;container-type:inline-size}.board-plane{transform:rotateX(var(--tilt));transform-origin:50% 100%;transform-style:preserve-3d;position:relative}.board-path{width:100%;height:100%;position:absolute;inset:0}.board-path polyline{fill:none;stroke:#fff5e133;stroke-width:24px;stroke-linejoin:round;stroke-linecap:round}.board-cell{scroll-margin:96px 0 190px;position:absolute}.board-space{background:var(--cat);color:var(--ink);text-align:center;border-radius:16%;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;padding:5% 4% 9%;display:flex;position:absolute;inset:5%;box-shadow:0 6px #00000059}@supports (color:color-mix(in srgb, red, blue)){.board-space{box-shadow:0 6px 0 color-mix(in srgb, var(--cat) 58%, var(--ink))}.board-space.is-current{box-shadow:0 0 0 3px var(--paper), 0 8px 0 color-mix(in srgb, var(--cat) 58%, var(--ink))}}.board-space.is-current{box-shadow:0 0 0 3px var(--paper), 0 8px 0 #00000059}.tile-name{font-size:calc(100cqw / var(--cols) * .176);font-weight:800;line-height:1.05}.tile-badge{color:var(--paper);font-size:calc(100cqw / var(--cols) * .15);letter-spacing:.02em;border-radius:7px;padding:2px 5px;font-weight:800;line-height:1.05;display:block}.tile-badge.is-start,.tile-badge.is-finish{background:var(--marigold);color:var(--ink)}.tile-badge.is-power,.legend-swatch.is-power{background:var(--pink)}.tile-badge.is-extra,.legend-swatch.is-extra{background:#2f6fb0}.tile-badge.is-tadka,.legend-swatch.is-tadka{background:#c9400e}.board-piece{transform-style:preserve-3d;transition:left var(--hop-ms) ease-in-out, top var(--hop-ms) ease-in-out;position:absolute}.piece-shadow{background:#2b123873;border-radius:50%;height:24%;position:absolute;bottom:-10%;left:12%;right:12%}.piece-stand{transform:rotateX(calc(var(--tilt) * -1));transform-origin:50% 100%;position:absolute;inset:0}.piece-stand.is-active{animation:1.5s ease-in-out infinite piece-bob}.piece-token{transform-origin:50% 100%}.piece-token.is-hopping{animation:piece-hop var(--hop-ms) ease-out}.piece-token.is-landing{animation:piece-hop var(--hop-ms) ease-out, piece-land .32s ease-out var(--hop-ms)}@keyframes piece-hop{50%{transform:translateY(-42%)}}@keyframes piece-land{30%{transform:scale(1.14,.84)}65%{transform:scale(.95,1.07)}}@keyframes piece-bob{50%{transform:rotateX(calc(var(--tilt) * -1)) translateY(-9%)}}.legend{flex-wrap:wrap;gap:4px 12px;margin:0 0 12px;padding:0;font-size:15px;font-weight:600;list-style:none;display:flex}.legend li{align-items:center;gap:5px;display:flex}.legend-swatch{background:var(--paper);width:14px;height:14px;box-shadow:inset 0 0 0 1.5px var(--ink);border-radius:4px;flex:none}.next-category{align-items:center;gap:8px;margin-bottom:4px;font-size:22px;font-weight:800;display:flex}.next-category .legend-swatch{width:20px;height:20px}.send-back h2{letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:15px;font-weight:800}.target-list{gap:8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.target-list button{background:var(--paper);width:100%;min-height:68px;color:var(--ink);text-align:left;border-radius:14px;align-items:center;gap:12px;padding:8px 16px 8px 10px;font-size:20px;font-weight:800;display:flex}.target-list button:disabled{opacity:.55}.target-list .mascot{flex:none;width:50px;height:50px}.target-name{overflow-wrap:anywhere;flex:1;min-width:0}.target-space{flex:none;font-size:16px;font-weight:700}.rounds{background:#fff5e180;border-radius:14px;margin-top:12px}.rounds summary{cursor:pointer;align-items:center;min-height:52px;padding:0 16px;font-weight:800;display:flex}.rounds table{border-collapse:collapse;font-variant-numeric:tabular-nums;text-align:center;width:100%}.rounds th,.rounds td{border-top:1px solid var(--line);padding:6px 4px}.rounds th:first-child,.rounds td:first-child{text-align:left;padding-left:16px}.rounds thead .mascot{width:34px;height:34px;margin:0 auto}.rounds tfoot td{font-weight:800}.ready-header{padding:8px 0 16px}.team-title{align-items:center;gap:12px;margin-bottom:8px;display:flex}.team-title .mascot{flex:none;width:68px;height:68px}.team-title>div{min-width:0}.ready-header h1,.review h1{overflow-wrap:anywhere;font-weight:800;line-height:1.02}.ready-header h1{font-size:40px}.scoreboard{gap:8px;margin:0;padding:0;list-style:none;display:grid}.scoreboard li{background:#fff5e180;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding:6px 14px 6px 10px;font-weight:700;display:flex}.scoreboard li.is-current{background:var(--paper);box-shadow:inset 0 0 0 3px var(--ink)}.scoreboard-team{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.scoreboard-team .mascot{flex:none;width:44px;height:44px}.scoreboard-name{overflow-wrap:anywhere;min-width:0}.scoreboard-name small{font-size:15px;font-weight:600;display:block}.scoreboard-score{font-variant-numeric:tabular-nums;font-size:32px;font-weight:800}.target-note{text-align:center;margin-top:12px;font-size:16px;font-weight:600}.playing{background:var(--ink);max-width:none;color:var(--paper);padding:0;transition:background-color .2s;position:fixed;inset:0}.playing.is-extra{background:#1f5a96}.playing.is-urgent{background:#8f1048}.timer-track{height:10px;margin-top:env(safe-area-inset-top);background:#fff5e133}.extra-banner{padding:8px var(--gutter);background:var(--paper);color:#1f5a96;letter-spacing:.06em;text-transform:uppercase;justify-content:center;align-items:center;gap:10px;font-size:22px;font-weight:800;animation:.35s ease-out extra-pop;display:flex}.extra-banner-plus{color:var(--paper);letter-spacing:0;text-transform:none;background:#1f5a96;border-radius:10px;padding:0 10px}@keyframes extra-pop{0%{opacity:0;transform:scale(1.12)}}.extra-hero{color:var(--paper);background:#1f5a96;border-radius:18px;margin-bottom:14px;padding:18px 16px 14px}.extra-plus{justify-content:center;align-items:center;gap:14px;display:flex}.extra-plus svg{flex:none;width:72px;height:72px}.extra-plus p{font-variant-numeric:tabular-nums;font-size:72px;font-weight:800;line-height:.95}.extra-plus small{font-size:20px;font-weight:700;line-height:1.1;display:block}.extra-facts{border-top:1px solid #fff5e140;grid-template-columns:1.5fr 1fr 1fr;gap:8px;margin:14px 0 0;padding-top:12px;display:grid}.extra-facts dt{font-size:14px;font-weight:600}.extra-facts dd{overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:800;line-height:1.15}.timer-fill{background:var(--marigold);transform-origin:0;height:100%}.playing-header{padding:10px var(--gutter) 0;justify-content:space-between;align-items:baseline;display:flex}.playing-clock{font-variant-numeric:tabular-nums;font-size:52px;font-weight:800;line-height:1}.playing-count{font-size:22px;font-weight:700}.card-face{min-height:0;padding:0 var(--gutter);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.card-face .eyebrow{color:var(--marigold)}.term{text-wrap:balance;overflow-wrap:anywhere;font-size:clamp(52px,16vw,76px);font-weight:800;line-height:1.04}.term-medium{font-size:clamp(42px,12.5vw,64px)}.term-long{font-size:clamp(34px,10vw,54px)}.playing-actions{padding:0 var(--gutter) calc(env(safe-area-inset-bottom) + 20px);grid-template-columns:2fr 3fr;gap:10px;display:grid}.playing-actions button{border-radius:22px;min-height:112px;font-size:28px;font-weight:800}.playing-actions button:active{transform:scale(.97)}.skip{color:var(--paper);background:#fff5e12e}.skip small{font-size:17px;font-weight:700;display:block}.skip:disabled{opacity:.4}.got{background:var(--marigold);color:var(--ink)}.tadka{max-width:none;padding-bottom:calc(env(safe-area-inset-bottom) + 16px);background:var(--ink);color:var(--paper)}.tadka>*{width:100%;max-width:480px;margin-left:auto;margin-right:auto}.tadka .card-face{min-height:190px}.tadka-streak{text-align:center;margin-bottom:14px;font-size:17px;font-weight:600}.tadka-hint{text-align:center;margin-bottom:8px;font-size:20px;font-weight:800}.tadka-other{gap:8px;display:grid}.tadka-header{padding:8px 0 14px}.tadka-header h1{margin:2px 0 4px;font-size:38px;font-weight:800;line-height:1.05}.tadka-header .eyebrow{color:var(--marigold)}.target-list .option-term{overflow-wrap:anywhere;display:block}.target-list .option-category{font-size:14px;font-weight:700;display:block}.target-list .legend-swatch{width:22px;height:22px}.tadka-other button{background:#fff5e12e;border-radius:12px;min-height:52px;font-weight:700}.review h1{overflow-wrap:anywhere;margin:2px 0 4px;font-size:38px}.review-section{margin-top:18px}.review-section h2{letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:15px;font-weight:800}.review-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.review-list button{text-align:left;background:#fff5e180;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:56px;padding:6px 12px;font-weight:700;display:flex}.review-list button[aria-pressed=true]{background:var(--paper)}.review-mark{background:var(--ink-soft);width:32px;height:32px;color:var(--paper);border-radius:50%;flex:none;place-items:center;font-size:18px;display:grid}[aria-pressed=true]>.review-mark{background:var(--green)}.review-term{overflow-wrap:anywhere;min-width:0}.review-term small{font-size:14px;font-weight:600;display:block}@media (prefers-reduced-motion:reduce){.progress-token{transition:none}.boot-pieces span,.win-rays,.win-body,.win-mascot{animation:none}.confetti{display:none}.board-piece{transition:none}.piece-stand.is-active,.piece-token.is-hopping,.piece-token.is-landing,.extra-banner{animation:none}.playing{transition:none}.playing-actions button:active{transform:none}}.online-notice{text-align:center;justify-content:center;gap:10px}.online-notice h1{font-size:48px;font-weight:800}.online-banner{top:calc(env(safe-area-inset-top) + 8px);z-index:50;background:var(--ink);color:var(--paper);border-radius:999px;padding:6px 16px;font-size:16px;font-weight:700;position:fixed;left:50%;transform:translate(-50%)}.online-form{flex-direction:column;flex:1;display:flex}.online-form input{background:var(--paper);-webkit-user-select:text;user-select:text;border:0;border-radius:12px;width:100%;height:56px;padding:0 14px;font-weight:700}.online-form .code-input{letter-spacing:.2em;text-align:center;font-size:30px;font-weight:800}.online-error{margin-top:12px;font-weight:800}.lobby-header{text-align:center}.room-code{letter-spacing:.12em;font-variant-numeric:tabular-nums;-webkit-user-select:text;user-select:text;font-size:64px;font-weight:800;line-height:1}.lobby .target-list button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.team-members{font-size:15px;font-weight:600;line-height:1.2;display:block}.lobby-status{margin-top:8px;font-size:16px;font-weight:700}.watching-turn{justify-content:space-between;align-items:baseline;margin:12px 0;display:flex}.win-note{font-size:18px;font-weight:700}.lobby-arriving{font-size:16px;font-weight:700}
