:root{--font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;--font-brand:Georgia,"Times New Roman",serif;--type-label:.8125rem;--type-body:1rem;--type-heading:1.5rem;--type-game:clamp(3rem,7vw,4.5rem);--weight-regular:400;--weight-semibold:600}:root{color-scheme:light;--color-page:#f5f0e7;--color-ink:#2d3e34;--color-muted:#777266;--color-line:#d9d0bf;--color-accent:#ab5638;--color-focus:#bd643e;--color-success:#7e8e68;--color-error:#a13e28;--color-surface:#f6eedb;--color-input:#fffcf5;--color-surface-hover:#eae0cf;--color-border:#c9c0af;--color-placeholder:#a29984;--color-next:#fff0cb;--color-next-ink:#704217;--color-felt:#285549;--color-felt-border:#233c2f;--color-on-felt:#fff1d6;--color-felt-muted:#c7d3be;--color-gold:#f4c77e;--color-gold-low:#e8b362;--color-gold-edge:#f6d397;--color-on-gold:#493a24;--color-wood-high:#c6a17b;--color-wood-mid:#b88b5f;--color-wood-low:#9a6c45;--color-wood-edge:#734e31;--color-wood-bottom:#65462d;--color-stitch:#e5c58138;--color-die-cream:#ffefd4;--color-pip-cream:#5e513e;--color-die-lilac:#caacdd;--color-pip-lilac:#543d69;--color-die-honey:#ecb46a;--color-pip-honey:#75502d;--color-die-sage:#c2d1a1;--color-pip-sage:#4c6240;--color-avatar:#dca76c;--color-avatar-2:#c5b0d8;--color-avatar-3:#a8c2ad;--color-avatar-4:#e5c888;--color-avatar-5:#b3cbd4;--texture-page:radial-gradient(#b9ad9622 .6px,transparent .6px);--texture-wood:repeating-linear-gradient(2deg,#93634433 0,#93634433 1px,transparent 1px,transparent 5px);--texture-felt:radial-gradient(ellipse at 50% 25%,#55816b66,transparent 68%),repeating-linear-gradient(10deg,#173f3122 0,#173f3122 .5px,transparent .5px,transparent 3px);--texture-die:linear-gradient(145deg,#ffffff50,transparent 45%);--leading-tight:1.1;--leading-body:1.6;--tracking-label:2px;--tracking-title:-1.3px;--space-hair:1px;--space-2xs:2px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:28px;--space-4xl:32px;--space-5xl:40px;--space-6xl:48px;--radius-small:6px;--radius-control:9px;--radius-card:12px;--radius-dialog:18px;--radius-die:16px;--radius-round:50%;--radius-table:170px 170px 150px 150px / 110px 110px 135px 135px;--radius-felt:150px 150px 130px 130px / 95px 95px 120px 120px;--radius-table-compact:100px 100px 85px 85px / 65px 65px 80px 80px;--radius-felt-compact:87px 87px 73px 73px / 56px 56px 70px 70px;--shadow-table:inset 0 2px 1px #ead1ac,inset 0 -5px 4px #744823,0 8px 0 var(--color-wood-edge),0 12px 0 var(--color-wood-bottom),0 14px 1px #392c1f30;--shadow-felt:inset 0 6px 12px #102d2866,inset 0 0 50px #183a3233;--shadow-die:inset 0 2px 1px #fff9,inset 0 -5px 0 #00000014,3px 7px 0 #17392f66,3px 11px 9px #132f2b55;--shadow-die-hover:inset 0 2px 1px #fff9,3px 12px 10px #132f2b66;--shadow-die-used:inset 0 2px 5px #0003;--shadow-pip:inset 0 1px 2px #0003;--shadow-control:0 3px 0 #9c713a,0 6px 10px #142e2722;--shadow-card:0 5px 15px #102c2744;--shadow-dialog:0 20px 80px #1b2b2450;--shadow-notice:0 5px 25px #0003;--color-backdrop:#1f322b8c;--color-shadow:#43351e30;--motion-fast:.15s;--motion-roll:.35s;--motion-ease:ease-in-out;--motion-press:translateY(2px);--opacity-disabled:.5;--opacity-muted:.5;--focus-width:3px;--focus-offset:5px;--size-hit:44px;--size-die:78px;--size-pip:10px;--size-avatar:30px;--size-content:1150px;--size-shell:1280px;--size-answer:440px;--size-dialog:470px;--size-table-height:388px;--size-active-height:422px}:root[data-theme=contrast]{--color-page:#edf2f7;--color-ink:#172a42;--color-muted:#43556c;--color-line:#adbdce;--color-accent:#234e85;--color-focus:#0063c4;--color-surface:#f3f6fa;--color-input:#fff;--color-surface-hover:#dce6f1;--color-border:#91a5bd;--color-next:#d8eaff;--color-next-ink:#003c7c;--color-felt:#20374f;--color-felt-border:#12243b;--color-on-felt:#fff;--color-felt-muted:#d4e4f5;--color-gold:#c3dfff;--color-gold-low:#8fbcf1;--color-gold-edge:#e4f1ff;--color-on-gold:#102a49;--color-wood-high:#8196ae;--color-wood-mid:#627b98;--color-wood-low:#405974;--color-wood-edge:#293e58;--color-wood-bottom:#1e3047;--color-stitch:#d0e1f580;--font-brand:var(--font-family);--radius-small:3px;--radius-control:4px;--radius-card:6px;--radius-dialog:8px;--radius-die:8px;--texture-page:none;--texture-wood:none;--texture-felt:none;--texture-die:none;--shadow-table:0 8px 0 var(--color-wood-bottom);--shadow-felt:inset 0 3px 8px #0004;--shadow-control:0 3px 0 #234e85;--motion-fast:80ms}.table-meta{display:flex;justify-content:space-between;font-size:var(--type-label);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);margin:0 var(--space-6xl) var(--space-md);color:var(--color-muted)}.table-scene{position:relative;margin:0 auto;min-height:var(--size-table-height)}.table-shadow{position:absolute;inset:14% 5% -13px;border-radius:var(--radius-round);background:var(--color-shadow);filter:blur(18px);z-index:-1}.wood-table{padding:var(--space-xl);border-radius:var(--radius-table);background:var(--texture-wood),linear-gradient(180deg,var(--color-wood-high),var(--color-wood-low) 10%,var(--color-wood-mid) 55%,var(--color-wood-low));box-shadow:var(--shadow-table);position:relative}.felt{position:relative;border:var(--focus-width) solid var(--color-felt-border);min-height:var(--size-table-height);border-radius:var(--radius-felt);background-color:var(--color-felt);background-image:var(--texture-felt);box-shadow:var(--shadow-felt);color:var(--color-on-felt);overflow:hidden;padding:var(--space-xl) var(--space-4xl) var(--space-4xl)}.felt-stitch{position:absolute;inset:var(--space-md);border:var(--space-hair) solid var(--color-stitch);border-radius:inherit;pointer-events:none}.table-center{position:relative;display:flex;align-items:center;flex-direction:column;z-index:1}.target-plaque{display:flex;align-items:center;flex-direction:column;margin-bottom:var(--space-2xl)}.target-caption{font-size:var(--type-label);letter-spacing:var(--tracking-label);color:var(--color-felt-muted)}.target-number{font:var(--weight-regular) var(--type-game)/1 var(--font-family);color:var(--color-on-felt);letter-spacing:var(--tracking-title);margin:var(--space-sm) 0 var(--space-xs)}.table-hint{font-size:var(--type-label);color:var(--color-felt-muted);margin:var(--space-md) 0 var(--space-xl);text-align:center;min-height:var(--space-xl)}.room-bar{display:flex;justify-content:space-between;align-items:center;margin:var(--space-4xl) var(--space-4xl) var(--space-3xl)}.room-bar .eyebrow{margin-bottom:var(--space-xs);color:var(--color-muted);font-size:var(--type-label)}.room-bar h1{font:var(--weight-regular) var(--type-heading) var(--font-family);letter-spacing:var(--tracking-title);margin:0}.room-actions{display:flex;gap:var(--space-xl);align-items:center}.game-footer{display:flex;justify-content:space-between;align-items:center;margin:var(--space-4xl) var(--space-5xl) 0;gap:var(--space-xl)}.round-stats{display:flex;gap:var(--space-2xl);align-items:center}.round-stats>div>span{font-size:var(--type-label);letter-spacing:var(--tracking-label);font-weight:var(--weight-semibold);color:var(--color-muted);display:block;margin-bottom:var(--space-xs)}.round-stats strong{font:var(--weight-regular) var(--type-heading) var(--font-family)}.round-stats strong small{font:var(--weight-regular) var(--type-label) var(--font-family)}.stat-divider{width:var(--space-hair);height:var(--space-4xl);background:var(--color-line)}.lobby-panel{margin:var(--space-2xl) var(--space-5xl) 0;border-top:var(--space-hair) solid var(--color-line);padding-top:var(--space-2xl);display:flex;justify-content:space-between;gap:var(--space-3xl)}.lobby-copy h2{font:var(--weight-regular) var(--type-heading) var(--font-family);margin-bottom:var(--space-sm)}.lobby-copy .eyebrow{color:var(--color-muted);font-size:var(--type-label);margin-bottom:var(--space-xs)}.lobby-copy>p:not(.eyebrow){font-size:var(--type-label);color:var(--color-muted);max-width:340px}.lobby-copy .room-code{font:var(--weight-regular) var(--type-heading) var(--font-family);letter-spacing:var(--space-xs);color:var(--color-ink)}.host-tools{text-align:center;margin-top:var(--space-xl)}.in-game .felt{min-height:var(--size-active-height)}.in-game .target-number{font-size:var(--type-game)}.in-game .target-plaque{margin-bottom:var(--space-lg)}.in-game .table-hint{margin:var(--space-sm) 0 var(--space-lg)}.entering .target-number{font-size:var(--type-game)}.entering .target-plaque{margin-bottom:var(--space-md)}.entering .table-hint{font-size:var(--type-label);margin:var(--space-sm) 0 var(--space-md)}@media(max-width:760px){.table-meta{margin:0 var(--space-lg) var(--space-sm);letter-spacing:var(--space-hair)}.wood-table{padding:var(--space-md);border-radius:var(--radius-table-compact)}.felt{border-radius:var(--radius-felt-compact);padding:var(--space-2xl) var(--space-md) var(--space-5xl)}.felt-stitch{inset:var(--space-sm)}.room-bar{margin:var(--space-2xl) var(--space-lg)}.room-actions{gap:var(--space-md)}.game-footer{margin:var(--space-2xl) var(--space-lg) 0;gap:var(--space-lg)}.round-stats{gap:var(--space-md)}.lobby-panel{margin:var(--space-2xl) var(--space-lg) 0;flex-wrap:wrap;gap:var(--space-xs)}.lobby-copy>p:not(.eyebrow){max-width:none}.table-hint{font-size:var(--type-label)}}@media(max-width:400px){.room-actions{gap:var(--space-sm)}.room-bar h1{font-size:var(--type-body)}.room-actions .text-button{font-size:var(--type-label)}.table-meta>span:last-child{letter-spacing:0}.felt{padding-left:var(--space-sm);padding-right:var(--space-sm)}}.dice-row{display:flex;gap:var(--space-xl);justify-content:center;padding:var(--space-xs) var(--space-xs) var(--space-sm);min-height:calc(var(--size-die) + var(--space-md))}.die{--die:var(--color-die-cream);--pip:var(--color-pip-cream);width:var(--size-die);height:var(--size-die);border:var(--space-hair) solid var(--color-gold-edge);border-radius:var(--radius-die);background:var(--texture-die),var(--die);box-shadow:var(--shadow-die);transform:rotate(-8deg);display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);padding:var(--space-lg);gap:var(--space-xs);position:relative;color:var(--pip);touch-action:manipulation}.die:nth-child(2){--die:var(--color-die-lilac);--pip:var(--color-pip-lilac);transform:rotate(7deg)}.die:nth-child(3){--die:var(--color-die-honey);--pip:var(--color-pip-honey);transform:rotate(-3deg)}.die:nth-child(4){--die:var(--color-die-sage);--pip:var(--color-pip-sage);transform:rotate(8deg)}.die:nth-child(5){transform:rotate(-6deg)}.pip{width:var(--size-pip);height:var(--size-pip);background:var(--pip);border-radius:var(--radius-round);align-self:center;justify-self:center;box-shadow:var(--shadow-pip)}.die.used{filter:grayscale(1);opacity:var(--opacity-muted);transform:translateY(var(--space-xs)) rotate(0);box-shadow:var(--shadow-die-used)}.die:disabled{opacity:1}.die.used:disabled{opacity:var(--opacity-muted)}.die.selectable:hover:not(:disabled){transform:translateY(-6px) rotate(0);box-shadow:var(--shadow-die-hover)}.preparing .die{animation:roll var(--motion-roll) var(--motion-ease) infinite}.preparing .target-number{opacity:var(--opacity-muted)}.pip-1{grid-area:1/1}.pip-3{grid-area:1/3}.pip-4{grid-area:2/1}.pip-5{grid-area:2/2}.pip-6{grid-area:2/3}.pip-7{grid-area:3/1}.pip-9{grid-area:3/3}.entering .die{width:calc(var(--size-die) * .82);height:calc(var(--size-die) * .82);padding:var(--space-sm);border-radius:var(--radius-card)}.entering .dice-row{min-height:calc(var(--size-die) * .92);gap:var(--space-lg)}.entering .pip{height:calc(var(--size-pip) * .8);width:calc(var(--size-pip) * .8)}@keyframes roll{0%,to{transform:translateY(-2px) rotate(-10deg)}50%{transform:translateY(-13px) rotate(12deg)}}@media(max-width:760px){.dice-row{gap:var(--space-md)}.die{width:calc(var(--size-die) * .77);height:calc(var(--size-die) * .77);padding:var(--space-md);gap:var(--space-2xs);border-radius:var(--radius-card)}.pip{width:calc(var(--size-pip) * .8);height:calc(var(--size-pip) * .8)}.dice-row{min-height:calc(var(--size-die) * .92)}.entering .die{width:calc(var(--size-die) * .65);height:calc(var(--size-die) * .65);padding:var(--space-sm);border-radius:var(--radius-control)}.entering .pip{width:calc(var(--size-pip) * .7);height:calc(var(--size-pip) * .7)}.entering .dice-row{gap:var(--space-sm);min-height:calc(var(--size-die) * .73)}}@media(max-width:400px){.die{width:var(--size-hit);height:var(--size-hit);padding:var(--space-sm);gap:var(--space-2xs)}.pip{width:calc(var(--size-pip) * .6);height:calc(var(--size-pip) * .6)}.dice-row,.entering .dice-row{gap:var(--space-xs)}.entering .die{width:var(--size-hit);height:var(--size-hit);padding:var(--space-xs)}.entering .pip{width:calc(var(--size-pip) * .6);height:calc(var(--size-pip) * .6)}}.seats{display:flex;justify-content:center;gap:var(--space-2xl);min-height:0}.seats:not(:empty){margin-bottom:var(--space-xl)}.seat{position:relative;display:flex;gap:var(--space-sm);align-items:center;min-width:0;max-width:155px}.avatar{width:var(--size-avatar);height:var(--size-avatar);flex-shrink:0;border-radius:var(--radius-round);background:var(--color-avatar);color:var(--color-on-gold);border:var(--space-2xs) solid var(--color-gold-edge);font:var(--weight-semibold) var(--type-label) var(--font-family);display:flex;align-items:center;justify-content:center}.seat:nth-child(2) .avatar{background:var(--color-avatar-2)}.seat:nth-child(3) .avatar{background:var(--color-avatar-3)}.seat:nth-child(4) .avatar{background:var(--color-avatar-4)}.seat:nth-child(5) .avatar{background:var(--color-avatar-5)}.seat.locked .avatar,.seat.offline{opacity:var(--opacity-muted)}.seat-name{font-size:var(--type-label);font-weight:var(--weight-semibold);white-space:nowrap;max-width:95px;overflow:hidden;text-overflow:ellipsis}.seat-score{font-size:var(--type-label);color:var(--color-felt-muted);margin-top:var(--space-2xs)}.seat-label{position:absolute;top:calc(-1 * var(--space-md));left:var(--space-hair);font-size:var(--type-label);letter-spacing:var(--space-hair);color:var(--color-gold);white-space:nowrap}.entering .seats{margin-bottom:var(--space-md)}@media(max-width:760px){.seats{gap:var(--space-md);flex-wrap:wrap;margin-left:var(--space-md);margin-right:var(--space-md);row-gap:var(--space-lg)}.seat{gap:var(--space-xs);max-width:95px}.avatar{height:calc(var(--size-avatar) * .86);width:calc(var(--size-avatar) * .86)}.seat-name{max-width:64px;font-size:var(--type-label)}}@media(max-width:400px){.seats{gap:var(--space-md)}.seat-name{max-width:52px}}.text-button{min-width:var(--size-hit);border:0;background:transparent;padding:var(--space-sm) 0;min-height:var(--size-hit);font-size:var(--type-label);font-weight:var(--weight-semibold)}.text-button:hover{text-decoration:underline;text-underline-offset:var(--space-xs)}.text-button span{margin-right:var(--space-xs)}.outline-button{min-height:var(--size-hit);padding:var(--space-sm) var(--space-lg);border:var(--space-hair) solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);font-size:var(--type-label);font-weight:var(--weight-semibold);white-space:nowrap}.outline-button:hover{background:var(--color-surface-hover)}.claim-button{border:var(--space-hair) solid var(--color-gold-edge);border-radius:var(--radius-control);background:linear-gradient(180deg,var(--color-gold),var(--color-gold-low));box-shadow:var(--shadow-control);color:var(--color-on-gold);font-size:var(--type-body);font-weight:var(--weight-semibold);padding:var(--space-lg) var(--space-3xl);min-height:var(--size-hit)}.claim-button span{margin-left:var(--space-lg)}.claim-button:hover:not(:disabled){background:var(--color-gold)}.welcome-action{margin-top:var(--space-xl);display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.welcome-action>span{font-size:var(--type-label);color:var(--color-felt-muted)}.game-action{margin-top:var(--space-xl);text-align:center;min-height:var(--size-hit)}.game-action .waiting-text{font:var(--weight-regular) var(--type-body) var(--font-family);color:var(--color-on-felt);margin:0;padding:var(--space-md) 0}.game-action .secondary-text{font-size:var(--type-label);margin:var(--space-sm) 0 0;color:var(--color-felt-muted)}.settings-form{max-width:370px;padding-top:var(--space-sm)}.settings-form label{font-size:var(--type-label);font-weight:var(--weight-semibold)}.settings-form label span{font-size:var(--type-label);color:var(--color-muted);font-weight:var(--weight-regular);margin-left:var(--space-sm)}.range-fields{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm)}.range-fields input{width:67px;padding:var(--space-sm);border:var(--space-hair) solid var(--color-border);border-radius:var(--radius-small);background:var(--color-input);min-height:var(--size-hit)}.range-fields>span{font-size:var(--type-label)}.settings-form>p{font-size:var(--type-label);color:var(--color-muted);margin-top:var(--space-sm)}.host-tools .text-button{font-size:var(--type-label);color:var(--color-muted)}.answer-panel{width:min(var(--size-answer),100%);margin:0 auto var(--space-md);background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-lg);color:var(--color-ink);box-shadow:var(--shadow-card)}.answer-top{display:flex;justify-content:space-between;align-items:center;font-size:var(--type-label);letter-spacing:var(--space-hair);margin-bottom:var(--space-md)}.answer-top strong{font-size:var(--type-body);font-variant-numeric:tabular-nums;letter-spacing:0;color:var(--color-accent)}.answer-slots{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:var(--space-5xl);font-size:var(--type-body);white-space:nowrap}.answer-token{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:var(--space-hair) solid var(--color-border);border-radius:var(--radius-small);background:var(--color-input);font-size:var(--type-body)}.answer-token.operator{border:0;background:none;width:18px}.answer-token.empty{color:var(--color-placeholder);border-style:dashed}.answer-token.next{outline:var(--space-2xs) solid var(--color-focus);outline-offset:var(--space-2xs);background:var(--color-next);color:var(--color-next-ink)}.operators{display:flex;gap:var(--space-sm);justify-content:center;padding:var(--space-md) 0;border-bottom:var(--space-hair) solid var(--color-line)}.operators button{width:var(--size-hit);height:auto;min-height:var(--size-hit);flex:0 0 var(--size-hit);border:var(--space-hair) solid var(--color-border);background:var(--color-input);border-radius:var(--radius-small);font-size:var(--type-heading);touch-action:manipulation}.operators button:hover{background:var(--color-surface-hover)}.operators .undo-button{margin-left:var(--space-sm)}.answer-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-md)}.answer-bottom>span{font-size:var(--type-label);color:var(--color-muted)}.small-amber{background:var(--color-gold);color:var(--color-on-gold);border:var(--space-hair) solid var(--color-gold-low);border-radius:var(--radius-small);padding:var(--space-md) var(--space-lg);font-size:var(--type-label);font-weight:var(--weight-semibold);min-height:var(--size-hit)}.full-width{width:100%}@media(max-width:760px){.room-actions .outline-button{font-size:var(--type-label);padding:var(--space-sm)}.settings-form{max-width:none;width:100%}.welcome-action>span{font-size:var(--type-label)}.answer-panel{padding:var(--space-md) var(--space-sm)}.answer-slots{gap:var(--space-2xs)}.answer-token{width:30px;height:34px;font-size:var(--type-body)}.answer-token.operator{width:16px}.answer-bottom>span{font-size:var(--type-label)}.small-amber{padding:var(--space-sm);font-size:var(--type-label)}}@media(max-width:400px){.welcome-action .claim-button{font-size:var(--type-label);padding:var(--space-lg) var(--space-xl)}.welcome-action>span{max-width:230px;text-align:center}.answer-token{width:25px;height:var(--space-4xl)}.answer-token.operator{width:13px}.operators{gap:var(--space-2xs)}.operators .undo-button{margin-left:0}}.game-options{display:grid;gap:var(--space-sm);margin-top:var(--space-md)}.game-options select{font:inherit;background:var(--color-input);color:var(--color-ink);border:var(--space-hair) solid var(--color-border);border-radius:var(--radius-small);padding:var(--space-sm);min-height:var(--size-hit);max-width:100%}.game-options .hint-toggle{display:flex;align-items:center;gap:var(--space-sm)}.game-options input[type=checkbox]{width:var(--size-hit);height:var(--size-hit);flex-shrink:0}.shared-hints{padding:var(--space-sm);margin:var(--space-sm) auto;max-width:100%;color:var(--color-on-felt)}.shared-hints>span,.shared-hints>p:last-of-type{font-size:var(--type-label)}.shared-hints #hint-equation{font-size:var(--type-body);font-weight:var(--weight-semibold);overflow-wrap:anywhere;margin:var(--space-sm) 0}.range-fields{flex-wrap:wrap}.room-tabs{display:flex;gap:var(--space-sm);margin:var(--space-md) 0}.room-tabs button{min-height:var(--size-hit);padding:var(--space-sm) var(--space-lg);background:var(--color-surface);color:var(--color-ink);border:var(--space-hair) solid var(--color-border);border-radius:var(--radius-control);font:inherit}.room-tabs button[aria-selected=true]{border-color:var(--color-focus);font-weight:var(--weight-semibold)}.settings-panel{padding:var(--space-lg);background:var(--color-surface);color:var(--color-ink);border:var(--space-hair) solid var(--color-border);border-radius:var(--radius-card);margin-bottom:var(--space-lg)}.settings-panel .host-tools{margin-top:var(--space-lg)}.settings-panel>p{margin:var(--space-sm) 0}.settings-panel select{width:100%}dialog{border:var(--space-hair) solid var(--color-line);border-radius:var(--radius-dialog);background:var(--color-page);color:var(--color-ink);padding:var(--space-4xl);width:min(var(--size-dialog),calc(100% - var(--space-3xl)));box-shadow:var(--shadow-dialog);max-height:calc(100dvh - var(--space-4xl))}dialog::backdrop{background:var(--color-backdrop);backdrop-filter:blur(5px)}.dialog-close{position:absolute;display:grid;place-items:center;line-height:1;right:var(--space-md);top:var(--space-sm);font-size:var(--type-heading);border:0;background:none;width:var(--size-hit);height:var(--size-hit);color:var(--color-muted)}.dialog-close:hover{background:var(--color-surface-hover);border-radius:var(--radius-round)}dialog .eyebrow{font-size:var(--type-label);color:var(--color-accent);margin-bottom:var(--space-sm)}dialog h2{padding-inline-end:var(--size-hit);font:var(--weight-regular) var(--type-heading)/var(--leading-tight) var(--font-family);letter-spacing:var(--tracking-title);margin-bottom:var(--space-md)}#join-form label{display:block;font-size:var(--type-label);font-weight:var(--weight-semibold);margin:var(--space-lg) 0 var(--space-sm)}#join-form label span{color:var(--color-muted);font-size:var(--type-label);font-weight:var(--weight-regular);margin-left:var(--space-sm)}#join-form input{width:100%;padding:var(--space-md);background:var(--color-input);border:var(--space-hair) solid var(--color-border);border-radius:var(--radius-small);min-height:var(--size-hit);font-size:var(--type-body)}.code-input{text-transform:uppercase;letter-spacing:var(--tracking-label)}#join-form .claim-button{width:100%;margin-top:var(--space-lg);font-size:var(--type-label)}.form-error{font-size:var(--type-label);color:var(--color-error);margin:var(--space-sm) 0 0}.rules-list{padding-left:var(--space-xl);margin:var(--space-2xl) 0}.rules-list li{padding-left:var(--space-xs);font-size:var(--type-label);margin-bottom:var(--space-md)}.example{background:var(--color-surface-hover);padding:var(--space-lg);border-radius:var(--radius-control);text-align:center}.example>span{font-size:var(--type-label);letter-spacing:var(--tracking-label);display:block;margin-bottom:var(--space-sm)}.example strong{font:var(--weight-regular) var(--type-body) var(--font-family)}.example p{font-size:var(--type-label);letter-spacing:var(--tracking-label);margin:var(--space-sm) 0 0}.confirm-actions{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:flex-end}@media(max-width:400px){dialog{padding:var(--space-3xl) var(--space-2xl)}}#join-form+#practice-button{margin-top:var(--space-lg)}.status-dot{height:6px;width:6px;border-radius:var(--radius-round);background:var(--color-success);display:inline-block;vertical-align:var(--space-hair);margin-right:var(--space-xs)}.status-dot.offline{background:var(--color-accent)}.result-panel{max-width:520px;text-align:center;margin-bottom:var(--space-sm)}.result-panel h2{font:var(--weight-regular) var(--type-heading) var(--font-family);margin:0 0 var(--space-sm);color:var(--color-gold)}.result-panel p{font-size:var(--type-label);color:var(--color-felt-muted);margin-bottom:var(--space-sm)}.result-expression{font:var(--weight-regular) var(--type-heading) var(--font-family);color:var(--color-on-felt);letter-spacing:var(--space-hair);margin-bottom:var(--space-xs)}.result-steps{font-size:var(--type-label);letter-spacing:var(--space-hair);color:var(--color-felt-muted)}.result-panel .points-earned{font-size:var(--type-label);color:var(--color-gold);margin-top:var(--space-sm);font-weight:var(--weight-semibold)}.game-action:not([hidden])~.result-panel{margin-top:var(--space-2xl)}.notice{position:fixed;bottom:var(--space-2xl);left:50%;transform:translate(-50%);max-width:calc(100% - var(--space-3xl));background:var(--color-felt);color:var(--color-on-felt);padding:var(--space-md) var(--space-xl);border:var(--space-hair) solid var(--color-felt-muted);border-radius:var(--radius-control);font-size:var(--type-label);box-shadow:var(--shadow-notice);z-index:100;text-align:center}@media(max-width:760px){.result-panel h2,.result-expression{font-size:var(--type-body)}}b,strong,h1,h2,h3{font-weight:var(--weight-semibold)}h1,h2,h3{font-size:var(--type-heading)}.table-hint:empty,#settings-status:empty{display:none}.table-meta,.room-bar,.room-actions,.round-stats,.game-footer{flex-wrap:wrap}.table-meta{gap:8px;letter-spacing:normal}.room-bar{gap:12px}.room-kind,.eyebrow{letter-spacing:normal}.intro h1{font-size:var(--type-heading);letter-spacing:normal}.brand{font-family:var(--font-brand)}.target-number{font-size:var(--type-game)}.operators button{line-height:1}.answer-top{gap:8px;flex-wrap:wrap;letter-spacing:normal}.answer-slots{width:100%;gap:2px;white-space:normal}.answer-token{min-width:0;flex:1 1 0;height:auto;min-height:36px;padding:2px 0;overflow-wrap:anywhere}.answer-token.operator{flex:.65 1 0;width:auto}.answer-bottom{justify-content:flex-end}.settings-form{min-width:0}.range-fields input{width:5rem;max-width:100%}.settings-form label span{margin-left:0}.game-options select{white-space:normal}.result-panel{width:100%;min-width:0;overflow-wrap:anywhere}.wrong-answers{text-align:left;margin-top:24px}.wrong-answers h3{margin-bottom:12px}.wrong-answers ol{padding-left:24px;margin:0}.wrong-answers li{padding:12px 0;border-top:1px solid currentColor}.wrong-answers p{margin:4px 0;letter-spacing:normal}.wrong-answers .attempt-player{font-size:var(--type-body);font-weight:var(--weight-semibold)}.wrong-answers .attempt-equation{font-size:var(--type-body)}.wrong-answers .attempt-meta{font-size:var(--type-label)}.rules-list li,.example p{overflow-wrap:anywhere;letter-spacing:normal}.example strong{overflow-wrap:anywhere}select:focus-visible{outline:3px solid currentColor;outline-offset:3px}.seats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));width:min(100%,45rem);padding-inline:12px;gap:16px;margin-left:auto;margin-right:auto}.seat{display:grid;grid-template-columns:auto minmax(0,1fr);max-width:none;width:100%;gap:4px 8px;text-align:left}.seat-label{position:static;grid-column:1/-1;white-space:normal;letter-spacing:normal}.seat-label:empty{display:none}.seat-info,.seat-listen{min-width:0;max-width:none;width:100%}.seat-name{max-width:none;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.seat-score{overflow-wrap:anywhere}.avatar{position:relative}.outline-button{white-space:normal}*{box-sizing:border-box}body{margin:0;background:var(--color-page);background-image:var(--texture-page);background-size:5px 5px;color:var(--color-ink);font:var(--weight-regular) var(--type-body)/var(--leading-body) var(--font-family)}button,input{font:inherit;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;transition:background var(--motion-fast),transform var(--motion-fast),box-shadow var(--motion-fast)}button:disabled{cursor:default;opacity:var(--opacity-disabled)}button:not(:disabled):active{transform:var(--motion-press)}button:focus-visible,a:focus-visible,input:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}button:focus-visible{position:relative;z-index:4}[hidden]{display:none!important}a{color:inherit}h1,h2,p{margin-top:0}.site-header{max-width:var(--size-shell);margin:auto;padding:var(--space-3xl) var(--space-5xl);display:flex;justify-content:space-between;align-items:center;border-bottom:var(--space-hair) solid var(--color-line)}.brand{display:flex;align-items:center;gap:var(--space-md);text-decoration:none;font:var(--weight-semibold) var(--type-heading) var(--font-brand);letter-spacing:var(--tracking-title)}.brand em{font-weight:var(--weight-regular)}.brand-die{height:var(--space-4xl);width:var(--space-4xl);transform:rotate(-12deg);border:var(--space-2xs) solid var(--color-ink);border-radius:var(--radius-control);position:relative;display:block}.brand-die i{position:absolute;width:5px;height:5px;background:var(--color-ink);border-radius:var(--radius-round);top:5px;left:5px}.brand-die i:nth-child(2){top:var(--space-md);left:var(--space-md)}.brand-die i:nth-child(3){top:19px;left:19px}.header-actions{display:flex;align-items:center;gap:var(--space-2xl)}main{max-width:var(--size-content);margin:0 auto;padding:0 var(--space-3xl)}.eyebrow{font-size:var(--type-label);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label)}.intro{text-align:center;padding:var(--space-5xl) 0 var(--space-3xl)}.intro .eyebrow{color:var(--color-muted);margin:0 0 var(--space-lg)}.intro h1{font:var(--weight-regular) var(--type-heading)/var(--leading-tight) var(--font-family);letter-spacing:var(--tracking-title);margin-bottom:var(--space-md)}.skip-link{position:absolute;top:-100px;left:var(--space-md);background:var(--color-input);padding:var(--space-md);z-index:100}.skip-link:focus{top:var(--space-md)}@media(max-width:760px){.site-header{padding:var(--space-xl)}main{padding:0 var(--space-md)}.intro{padding:var(--space-4xl) var(--space-sm) var(--space-2xl)}.intro .eyebrow{font-size:var(--type-label)}.header-actions{gap:var(--space-md)}}@media(max-width:400px){.brand{gap:var(--space-sm);font-size:var(--type-body)}.site-header{padding:var(--space-lg)}.intro .eyebrow{letter-spacing:var(--space-hair)}.header-actions .text-button{font-size:var(--type-label)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}body{font-family:var(--font-family);font-size:var(--type-body);font-weight:var(--weight-regular)}button,input,select{font-family:inherit}
