.race-setup{flex-direction:column;gap:10px;display:flex}.race-options{flex-wrap:wrap;gap:12px 16px;display:flex}.race-options label{cursor:pointer;align-items:center;gap:5px;display:inline-flex}.race-options input{accent-color:var(--accent)}.race-bot-choice{align-items:center;gap:12px;display:flex}.race-bot-choice>span{min-width:38px}.race-bot-choice .select-trigger{max-width:220px}.race-bots{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;display:grid}.race-bots .input{width:100%;min-width:0}.racing{--lane-height:64px;flex-direction:column;gap:16px;display:flex}.race-heading{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.race-stage{font-weight:600}.race-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.race-board{color:#f2ead4;background:radial-gradient(at 15% 25%,#66836566,#0000 50%),#344d40;border:1px solid #73836b;border-radius:18px;min-width:0;padding:0 18px;overflow:hidden;box-shadow:inset 0 0 0 5px #233c3155,0 10px 28px #00000018}.race-board-scroll{scrollbar-width:thin;scrollbar-color:#98a087 #213a31;overflow-x:auto}.race-pan-hint{color:#cbd6bf;text-align:center;margin:6px 0 12px;font-size:10px;display:none}.race-arena{grid-template-columns:94px minmax(0,1fr);min-width:640px;padding:54px 20px 0 0;display:grid}.race-setup-top{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.race-horse-choice{align-items:center;gap:12px;font-size:12px;display:flex}.race-horse-choice .select-trigger{width:110px}.race-horse-choice .reverse-reveal-select{width:156px}.race-lineup{grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:8px;margin:4px 0 12px;display:grid}.race-lineup>div{background:var(--card-background);border-radius:9px;min-width:0;padding:4px 5px 9px}.race-lineup .suit-icon{width:100%}.race-lineup>div>span:last-child{justify-content:center;align-items:center;gap:5px;font-size:10px;display:flex}.race-lineup .race-token{aspect-ratio:1.3;width:100%;height:auto;margin:7px auto}.race-lineup>div>span{text-align:center;font-size:10px;display:block}.race-lineup .coat-select{width:100%;min-width:0;min-height:28px;margin-top:7px;padding:4px;font-size:10px}.coat-select .select-swatch{display:none}.suit-badge{background:var(--tack,#4c6c5a);width:19px;height:21px;color:var(--bib-text,#fff6e2);font:600 11px var(--font-code);vertical-align:middle;border-radius:4px 4px 7px 7px;flex:none;place-items:center;padding:0;display:inline-grid}.race-track{height:calc(var(--horse-count) * var(--lane-height));background:#bf9c70;border-radius:6px;grid-area:1/2;margin:0 12px 34px 10px;position:relative;box-shadow:0 0 0 5px #e1d3ae,0 0 0 8px #718069,0 5px 0 8px #172c2966}.race-track:before,.race-track:after{content:"";z-index:3;pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 37px,#fff0c8 37px 43px);height:8px;position:absolute;left:0;right:0}.race-track:before{top:-7px}.race-track:after{bottom:-7px}.arena-bunting{border-top:1px solid #eee0b4aa;justify-content:space-around;display:flex;position:absolute;top:-48px;left:0;right:0;transform:rotate(-3deg)}.arena-bunting i{clip-path:polygon(0 0,100% 0,50% 100%);background:#d8ac64;width:15px;height:22px}.arena-bunting i:nth-child(3n){background:#ca806c}.arena-bunting i:nth-child(3n+1){background:#e7dfbc}.race-lanes{border-radius:inherit;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(var(--horse-count,8), minmax(0, 1fr));gap:0;height:100%;display:grid;overflow:hidden}.race-lane{background:repeating-linear-gradient(0deg,#d2b08433 0 1px,#0000 1px 17px),linear-gradient(90deg,#bf9e7355,#e3c29255 40%,#a2835b33);border-bottom:1px dashed #8e6e4560;position:relative}.race-lane:nth-child(2n){background-color:#d1ad7c}.race-mark{pointer-events:none;position:absolute;left:0;right:0}.race-mark>span{font:10px var(--font-code);color:#58482d;display:none;position:absolute;bottom:3px;left:4px}.race-lane:first-child .race-mark>span{display:block}.race-finish{z-index:4;background:conic-gradient(#35443a 25%, #f4e7c5 0 50%, #35443a 0 75%, #f4e7c5 0) 0 0 / 16px 16px;text-align:center;width:14px;font:700 10px / 18px var(--font-code);color:#f5e6be;letter-spacing:3px;border:3px solid #efe2bc;border-radius:3px;position:absolute;top:-5px;bottom:-5px;right:-7px;box-shadow:0 4px #705c3c66}.race-finish>span{letter-spacing:1px;background:#34483b;border:2px solid #dfc888;border-radius:4px;padding:2px 8px;font-size:9px;position:absolute;top:-27px;left:50%;transform:translate(-50%)}.race-start{pointer-events:none;border-left:2px dashed #efdfb8b0;position:absolute;top:0;bottom:0;left:96px}.race-start>span{white-space:nowrap;letter-spacing:2px;font-size:10px;position:absolute;top:-23px;left:-1px;transform:translate(-50%)}.race-distance{color:#ddd7b8;height:14px;font:10px var(--font-code);position:absolute;inset:auto 0 -23px}.race-distance>span{position:absolute;transform:translate(-50%)}.race-horse{width:96px;height:60px;transition:left var(--move-duration,1s) cubic-bezier(.3, 0, .2, 1);z-index:2;position:absolute;top:50%;transform:translateY(-50%)}.race-token{filter:drop-shadow(1px 3px 1px #59442330);width:100%;height:100%;display:block;position:relative;overflow:visible}.suit-icon{color:var(--tack,#465c50)}.pony-body{filter:saturate(.75);width:100%;height:100%;position:absolute;inset:auto 0 0}.pony-saddle{color:var(--tack,#465c50)}.pony-frame{width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.pony-frame-1{opacity:0}.moving .pony-frame-0{animation:.28s step-end 4 pony-first}.moving .pony-frame-1{animation:.28s step-end 4 pony-second}@keyframes pony-first{0%,to{opacity:1}50%{opacity:0}}@keyframes pony-second{0%,to{opacity:0}50%{opacity:1}}.suit-badge{color:var(--tack,#465c50);background:0 0}.suit-badge>.suit-icon{height:100%}.race-lineup>div>.suit-icon{width:42px;height:42px;margin:10px auto}.suit-icon{aspect-ratio:1;width:100%;height:auto;display:block;overflow:hidden}.ivory{--tack:#9b7b3f}.chestnut{--tack:#776b4a}.bay{--tack:#9d554d}.dapple{--tack:#677f7b}.palomino{--tack:#687c51}.black{--tack:#4f554d}.roan{--tack:#625149}.dun{--tack:#a35d65}.horse-place{color:#493d26;font:700 12px / 21px var(--font-code);text-align:center;z-index:1;background:#f8db85;border:2px solid #fff0bc;border-radius:50%;width:25px;animation:.55s cubic-bezier(.2,1.6,.5,1) both medal-pop;position:absolute;top:-1px;right:-2px}.moving .race-token{animation:.22s ease-in-out 4 horse-step}@keyframes horse-step{50%{transform:translateY(-4px)rotate(-1deg)}}.hoof-dust{pointer-events:none;width:15px;position:absolute;bottom:0;left:8px}.hoof-dust i{opacity:0;background:#f4dcb588;border-radius:50%;width:9px;height:9px;position:absolute}.moving .hoof-dust i{animation:.65s ease-out both hoof-dust}.hoof-dust i:nth-child(2){animation-delay:.12s;left:45%}.hoof-dust i:nth-child(3){animation-delay:.24s;right:0}@keyframes hoof-dust{10%{opacity:1}to{opacity:0;transform:translate(-20px,3px)scale(2)}}.horse-finish-spark{color:#fff2af;pointer-events:none;font-size:38px;animation:.9s ease-out both finish-spark;position:absolute;top:35%;left:50%}@keyframes finish-spark{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}40%{opacity:1;transform:translate(-50%,-100%)scale(1.4)rotate(30deg)}to{opacity:0;transform:translate(-50%,-160%)scale(.6)rotate(60deg)}}@keyframes medal-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.race-bonus-marker{z-index:1;filter:drop-shadow(0 2px 3px #543d3866);align-items:center;gap:3px;display:flex;position:absolute;top:-39px;transform:translate(-50%)}.race-bonus-marker.used{opacity:.5}.race-bonus-marker .race-card.mini{width:23px;height:32px}.race-bonus-marker .race-hint{position:absolute;top:4px;left:18px}.race-horse-labels{grid-area:1/1;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(var(--horse-count,8), var(--lane-height));text-align:right;gap:0;padding:0 4px 0 0;display:grid}.race-horse-labels>div{flex-direction:column;justify-content:center;align-items:flex-end;display:flex}.race-horse-labels strong{font-size:10px;font-weight:600;display:block}.race-horse-labels .suit-badge{width:14px;height:17px;margin-right:2px;font-size:9px}.race-horse-labels .race-help-trigger{font-size:9px}.race-horse-labels .race-help-dot{display:none}.race-horse-labels .race-help-trigger{color:#f2ead4;margin-top:4px}.race-action-footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.race-controls{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.race-controls>:only-child{grid-column:1/-1}.race-action-panel{gap:14px}.race-hand{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.race-card-button{background:0 0;border:0;border-radius:4px;padding:0}.race-card{color:#334136;min-width:0;height:112px;font-family:var(--font-code);background:radial-gradient(at 50% 55%,#e4d5b8,#f6edda 70%);border:1px solid #d8cbb1;border-radius:7px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:7px;display:flex;position:relative;box-shadow:0 2px 1px #00000010}.race-card-rank{z-index:1;color:#273b32;font:600 19px / 1 var(--font-code);position:relative}.race-card>.suit-icon{width:64%;height:56%;position:absolute;top:22%;left:18%}.race-card-identity{inset-inline:5px;color:#554d3d;justify-content:center;align-items:center;gap:3px;display:flex;position:absolute;bottom:6px}.race-card-identity>span{font:9px var(--font-ui)}.race-card-button:disabled{opacity:.4}.race-card-button.selected{outline:2px solid var(--accent-text);outline-offset:2px;transform:translateY(-3px)}.race-card-button:not(:disabled):hover{transform:translateY(-3px)}.race-card.back{color:#d9dbbf;background:linear-gradient(145deg,#3c594c,#253e34);justify-content:center;align-items:center;box-shadow:inset 0 0 0 4px #c4c4a144,inset 0 0 0 6px #476456}.race-card .race-card-brand{letter-spacing:2px;font:11px Georgia,serif}.race-card.mini{flex-shrink:0;width:40px;height:58px;padding:3px;font-size:9px}.race-card.mini .race-card-rank{font-size:11px}.race-card.mini>.suit-icon{top:20%}.race-card.mini .race-card-identity{inset-inline:3px;bottom:3px}.race-card.mini .race-card-identity>span{display:none}.race-card.mini .race-card-brand{letter-spacing:1px;font-size:7px}.race-pile-cards{gap:4px;min-height:2px;padding:2px 0;display:flex;overflow-x:auto}.race-order{flex-wrap:wrap;gap:8px;display:flex}.race-draws{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.race-event{min-height:16px}.race-reference{border-top:1px solid var(--divider);justify-content:space-between;align-items:center;padding-top:8px;display:flex}.race-bets{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.race-bet{background:var(--input-background);color:var(--primary-foreground);border:1px solid var(--divider);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:78px;display:flex}.race-bet strong{font:11px var(--font-ui)}.race-bet{padding:5px 3px 10px;position:relative;overflow:hidden}.race-bet>.suit-icon{width:36px;height:36px;margin-block:7px 2px}.race-bet span{font-size:10px}.race-bet:not(:disabled):hover{background:var(--active-toggle-background);border-color:var(--accent)}.race-bet:disabled{opacity:.35}.race-ledger-scroll{overflow-x:auto}.race-option{align-items:center;gap:3px;display:inline-flex}.race-setup-help{padding-top:6px}.race-guide-button{gap:8px;font-size:12px}.race-hint{vertical-align:middle;min-width:0;display:inline-flex}.race-help-trigger{min-height:28px;color:var(--secondary-foreground);font:inherit;cursor:help;background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;gap:5px;padding:3px 2px;font-size:11px;display:inline-flex}.race-help-trigger:hover{color:var(--accent-text)}.race-help-trigger.compact{min-width:28px}.race-help-dot{width:16px;height:16px;font:600 10px / 1 var(--font-code);opacity:.75;border:1px solid;border-radius:50%;flex-shrink:0;place-items:center;display:inline-grid}.race-tooltip{z-index:1000;background:var(--surface-background);color:var(--primary-foreground);border:1px solid var(--divider);word-break:keep-all;overflow-wrap:anywhere;pointer-events:none;border-radius:10px;max-height:calc(100dvh - 24px);padding:13px 15px;font-size:12px;line-height:1.7;animation:.12s ease-out hint-appear;position:fixed;overflow:auto;box-shadow:0 8px 32px #00000030}@keyframes hint-appear{0%{opacity:0;transform:translateY(3px)}}.race-coach{background:#213a31;border-top:1px solid #788a6b66;margin:0 -18px;padding:17px 18px}.race-phases{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0;padding:0;list-style:none;display:grid}.race-phases li{color:#a4b3a2;align-items:center;gap:5px;min-width:0;display:flex}.phase-number{height:21px;font:10px var(--font-code);border:1px solid #7e927b;border-radius:50%;flex:0 0 21px;place-items:center;display:grid}.race-phases .race-help-trigger{color:inherit;white-space:nowrap;font-size:11px}.race-phases .race-help-dot{display:none}.race-phases .active{color:#f7d68a}.race-phases .active .phase-number{color:#263f31;background:#f1d190;border-color:#f1d190;box-shadow:0 0 14px #f1d19033}.race-phases .complete .phase-number{color:#e1e6cf;background:#526f55;border-color:#526f55}.race-coach-copy{margin-top:13px;padding-left:2px}.race-coach-copy strong{color:#f5dda3;font-size:12px}.race-coach-copy p{color:#ced7c6;word-break:keep-all;overflow-wrap:anywhere;min-height:3.4em;margin:5px 0 0;font-size:12px;line-height:1.7}.race-guide-dialog{width:min(620px,100vw - 24px);max-width:none;max-height:calc(100dvh - 32px);color:var(--primary-foreground);background:var(--surface-background);border:1px solid var(--divider);border-radius:16px;padding:0;box-shadow:0 20px 80px #00000050}.race-guide-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#14251fd9}body:has(.race-guide-dialog[open]){overflow:hidden}.race-guide-content{padding:24px}.race-guide-content>header{z-index:1;background:var(--surface-background);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;padding-block:6px;display:flex;position:sticky;top:-24px}.race-guide-content h2{margin:5px 0 0;font-size:21px;font-weight:600}.race-guide-content header .icon-button{width:32px;height:32px;font-size:24px}.race-guide-panel{word-break:keep-all;overflow-wrap:anywhere;min-height:260px;padding:20px 0 5px;font-size:13px;line-height:1.8}.race-guide-panel p{margin:0 0 16px}.race-guide-panel h3{margin:0 0 4px;font-size:13px;font-weight:600}.race-guide-lead{font-size:15px;font-weight:600}.race-guide-step{align-items:flex-start;gap:12px;margin:18px 0;display:flex}.race-guide-step>b{background:var(--card-override-background);height:27px;color:var(--accent-text);border-radius:50%;flex:0 0 27px;place-items:center;font-size:12px;display:grid}.race-guide-step p{color:var(--secondary-foreground);margin:0}.race-guide-note{border-left:3px solid var(--accent);background:var(--card-background);color:var(--secondary-foreground);padding:12px 14px;font-size:12px}.race-guide-rewards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:20px 0;display:grid}.race-guide-rewards>div{background:var(--card-background);text-align:center;border-radius:8px;padding:15px 8px}.race-guide-rewards strong{color:var(--accent-text);font-size:24px;display:block}.race-guide-rewards span{color:var(--secondary-foreground);font-size:11px}.race-guide-formula{text-align:center;border-top:1px solid var(--divider);padding:17px 5px;font-size:13px}.race-guide-formula b{color:var(--accent-text);padding:0 7px}.race-guide-multipliers{background:var(--card-background);border-radius:8px;justify-content:space-around;padding:10px 0;display:flex}.race-guide-multipliers span{flex-direction:column;align-items:center;font-size:11px;display:flex}.race-guide-multipliers strong{font:22px var(--font-code)}.race-guide-rule{border-bottom:1px solid var(--divider);padding:13px 0}.race-guide-rule:first-child{padding-top:0}.race-guide-rule h3{justify-content:space-between;align-items:center;display:flex}.race-guide-rule small{color:var(--secondary-foreground);font-size:10px;font-weight:400}.race-guide-rule p{color:var(--secondary-foreground);margin:3px 0}.race-ai-guide{grid-template-columns:auto 1fr;gap:8px 20px;font-size:12px;display:grid}.race-ai-guide dt{font-weight:600}.race-ai-guide dd{color:var(--secondary-foreground);margin:0}.race-guide-content>footer{border-top:1px solid var(--divider);color:var(--secondary-foreground);align-items:center;gap:6px;padding-top:15px;font-size:11px;display:flex}.race-kicker{font:10px var(--font-code);letter-spacing:2px;color:var(--secondary-foreground)}.race-records{background:var(--surface-background);border:1px solid var(--divider);border-radius:14px;min-width:0;padding:22px}.race-record-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.race-record-heading h2{margin:5px 0 0;font-size:18px;font-weight:600}.race-record-tabs{border-bottom:1px solid var(--divider);scrollbar-width:thin;gap:4px;padding:2px 2px 0;display:flex;overflow-x:auto}.race-record-tabs>button{color:var(--secondary-foreground);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:12px 15px;font-size:12px;display:flex}.race-record-tabs>button:hover{color:var(--primary-foreground);background:var(--card-background)}.race-record-tabs>button[aria-selected=true]{color:var(--accent-text);border-bottom-color:var(--accent-text);font-weight:600}.race-record-tabs>button i{background:currentColor;border-radius:50%;width:5px;height:5px}.race-record-panel{padding-top:18px}.round-record-status{align-items:center;gap:10px;margin-bottom:13px;font-size:12px;display:flex}.round-record-status>span{color:var(--secondary-foreground);font-size:11px}.round-record-players{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.round-record-player{border:1px solid var(--divider);background:var(--card-background);border-radius:10px;min-width:0;padding:14px}.round-record-player.me{border-color:var(--accent);background:var(--card-override-background)}.round-record-player h3{overflow-wrap:anywhere;align-items:center;gap:6px;margin:0 0 16px;font-size:12px;font-weight:600;display:flex}.round-record-player h3 small{color:var(--accent-text);border:1px solid var(--divider);border-radius:4px;padding:1px 4px;font-size:9px}.round-record-bet{align-items:center;gap:10px;min-height:61px;display:flex}.round-record-bet>.suit-icon{flex:0 0 48px;width:48px}.round-record-bet>strong{height:44px;color:var(--tack);background:#f1e7cb;border:1px solid #cfbd93;border-radius:5px;flex:0 0 37px;place-items:center;font:30px Georgia,serif;display:grid}.round-record-bet>div{flex-direction:column;gap:3px;min-width:0;display:flex}.round-record-bet span{color:var(--secondary-foreground);font-size:10px}.round-record-bet b{font-size:13px}.round-record-bet small{color:var(--secondary-foreground);font-size:10px}.round-record-empty{min-height:61px;color:var(--secondary-foreground);align-items:center;font-size:12px;display:flex}.round-record-counts{border-top:1px solid var(--divider);color:var(--secondary-foreground);flex-wrap:wrap;gap:8px 14px;margin-top:15px;padding-top:12px;font-size:10px;display:flex}.round-record-counts b{color:var(--primary-foreground);padding-left:4px;font-size:12px;font-weight:500}.round-record-order{flex-wrap:wrap;align-items:center;gap:8px 15px;margin:18px 0;font-size:11px;display:flex}.round-record-order>span:first-child{color:var(--secondary-foreground)}.round-record-order>span{overflow-wrap:anywhere;align-items:center;gap:5px;display:inline-flex}.round-record-order b{background:var(--card-background);width:16px;height:16px;color:var(--secondary-foreground);border-radius:50%;place-items:center;font-size:9px;display:grid}.round-record-outcome{border-top:1px solid var(--divider);grid-template-columns:1fr 1fr;gap:18px;padding-top:18px;display:grid}.round-record-outcome>div{min-width:0}.round-record-outcome h3{color:var(--secondary-foreground);margin:0 0 10px;font-size:11px;font-weight:500}.round-record-outcome .race-pile-cards{margin-bottom:6px}.round-record-moves{grid-template-columns:repeat(var(--horse-count,8), minmax(0, 1fr));gap:5px;display:grid}.round-record-moves>span{font:11px var(--font-code);flex-direction:column;align-items:center;gap:4px;display:flex}.round-record-moves strong{color:var(--secondary-foreground);font:23px Georgia,serif}.round-record-moves b{color:var(--accent-text);font-size:10px}.race-total-ledger{border-collapse:collapse;width:100%;font-size:12px}.race-total-ledger th,.race-total-ledger td{text-align:right;border-bottom:1px solid var(--divider);padding:13px 10px}.race-total-ledger thead{color:var(--secondary-foreground)}.race-total-ledger th:first-child{text-align:left;overflow-wrap:anywhere;min-width:80px;font-weight:500}.race-total-ledger th small{color:var(--secondary-foreground);margin-top:3px;font-size:10px;font-weight:400;display:block}.race-total-ledger .me{background:var(--card-override-background)}.race-records .sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.race-victory{isolation:isolate;color:#f4e6bd;background:radial-gradient(at 25% 10%,#b38b3d22,#0000 65%),#203c32;border:1px solid #a78a4d;border-radius:18px;grid-template-columns:1fr 1fr;align-items:center;gap:24px;padding:38px 30px 22px;animation:.65s ease-out both victory-arrive;display:grid;position:relative;overflow:hidden}.race-victory:after{content:"";z-index:-1;pointer-events:none;border:1px solid #c3a86b44;border-radius:12px;position:absolute;inset:8px}.victory-announcement{text-align:center;z-index:1;padding:0 0 30px}.race-victory .race-kicker{color:#eac77b;letter-spacing:5px}.trophy-wreath{justify-content:center;align-items:center;height:125px;margin-top:12px;display:flex}.race-laurel{color:#a5b68b;width:55px;height:100px}.race-laurel:last-child{transform:scaleX(-1)}.race-trophy{filter:drop-shadow(0 4px 10px #f9d57633);width:112px;height:112px;animation:.85s cubic-bezier(.2,1.3,.5,1) both trophy-rise}.victory-announcement p{color:#cbd5bc;margin:8px 0;font-size:11px}.victory-announcement h2{overflow-wrap:anywhere;margin:8px 0 12px;font-size:clamp(21px,3vw,32px);font-weight:600}.victory-score{font:34px var(--font-code);color:#f0ce80}.victory-score small{font:12px var(--font-ui);padding-left:5px}.race-confetti{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.race-confetti i{background:var(--confetti-color);width:6px;height:11px;animation:2.8s ease-in both confetti-fall;position:absolute;top:-15px}.race-confetti i:nth-child(3n){border-radius:50%;width:7px;height:7px}.race-podium{justify-content:center;align-self:end;align-items:flex-end;gap:8px;padding-top:26px;display:flex}.podium-horse{flex-direction:column;flex:1 1 0;align-items:center;min-width:0;max-width:110px;animation:.7s ease-out .2s both podium-rise;display:flex}.podium-horse>.race-token{z-index:1;width:96px;height:60px;margin-bottom:-4px}.podium-step{text-align:center;background:linear-gradient(90deg,#7e8a6555,#a4ad7b66);border:1px solid #ced69c55;border-radius:6px 6px 0 0;flex-direction:column;align-items:center;gap:8px;width:100%;min-height:136px;padding:12px 6px 16px;display:flex}.podium-step>b{font:26px Georgia,serif;display:block}.podium-name{justify-content:center;align-items:center;gap:4px;font-size:11px;line-height:20px;display:flex}.podium-name>.suit-badge{width:14px;height:16px}.podium-multiplier{font:700 20px / 26px var(--font-code);color:#fff1c7}.place-1{animation-delay:.4s}.place-1 .podium-step{background:linear-gradient(90deg,#af8a3c88,#dfb35488);border-color:#e1c37a99;min-height:180px}.place-3 .podium-step{min-height:120px}.race-results{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.race-results li{background:var(--card-background);border-radius:8px;align-items:center;gap:12px;padding:14px 12px;display:flex}.race-results li.me{background:var(--card-override-background)}.race-results li>b{border:1px solid var(--divider);height:27px;font:12px var(--font-code);color:var(--secondary-foreground);border-radius:50%;flex:0 0 27px;place-items:center;display:grid}.race-results .winner{color:#473c23;background:#e2c27b;border-color:#e2c27b}.race-results li>span{overflow-wrap:anywhere;flex:1;min-width:0;font-size:12px}.race-results li>span small{color:var(--accent-text);padding-left:7px;font-size:9px}.race-results strong{font:19px var(--font-code);color:var(--accent-text)}.race-results strong small{font:10px var(--font-ui);padding-left:4px}.place-3{animation-delay:.1s}@keyframes confetti-fall{0%{opacity:0;transform:translateY(-20px)rotate(0)}10%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-drift), 460px, 0) rotate(540deg)}}@keyframes victory-arrive{0%{opacity:0;transform:translateY(12px)}}@keyframes trophy-rise{0%{opacity:0;transform:translateY(30px)scale(.6)}}@keyframes podium-rise{0%{opacity:0;transform:translateY(25px)}}@media (width<=720px){.race-lineup .coat-select{font-size:12px}.race-pan-hint{display:block}.race-layout,.race-controls{grid-template-columns:minmax(0,1fr)}.race-board{padding:0 10px}.race-action-panel{padding:16px}.race-card{height:100px;padding:5px}.race-horse-labels strong{font-size:10px}.race-horse-labels .race-help-trigger{gap:3px;font-size:9px}.race-horse-labels .race-help-trigger>span:first-child{white-space:nowrap}.race-horse-labels .race-help-dot{width:12px;height:12px;font-size:8px}.race-options label{min-height:32px}.race-bot-choice .input{min-height:44px}.race-coach{margin-inline:-10px;padding:15px 12px}.race-phases{gap:3px}.race-phases li{gap:4px}.race-phases .race-help-trigger{font-size:10px}.phase-number{flex-basis:18px;height:18px;font-size:9px}.race-records{padding:18px 14px}.round-record-players{grid-template-columns:repeat(2,minmax(0,1fr))}.round-record-outcome{grid-template-columns:minmax(0,1fr)}.round-record-moves{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:12px}.race-record-heading>.race-hint .race-help-trigger>span:first-child{display:none}.race-record-heading .race-help-trigger{min-width:32px;min-height:32px}.race-guide-content{padding:20px 16px}.race-guide-content>footer{flex-wrap:wrap;font-size:10px}.race-record-tabs>button{padding:12px 11px}.race-victory{grid-template-columns:minmax(0,1fr);gap:0;padding:30px 16px 22px}.victory-announcement{padding-bottom:0}.race-podium{padding-top:20px}.trophy-wreath{height:98px}.race-trophy{width:95px;height:95px}.race-total-ledger th,.race-total-ledger td{padding:12px 7px}}@media (width<=480px){.race-card-identity{justify-content:center;inset-inline:3px}.race-card-identity>span{display:none}}@media (width<=360px){.race-bots{grid-template-columns:minmax(0,1fr)}.race-horse-labels .race-help-dot{display:none}.race-phases li{flex-direction:column;gap:0}.phase-number{flex:0 0 18px;width:18px}.round-record-player{padding:11px}.round-record-bet{gap:6px}.round-record-bet>strong{flex-basis:28px;font-size:24px}.round-record-bet b{font-size:12px}}@media (prefers-reduced-motion:reduce){.racing *,.race-tooltip{transition:none!important;animation:none!important}.race-confetti,.hoof-dust,.horse-finish-spark{display:none}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--window-background:#f8f8f8;--surface-background:#fff;--primary-foreground:#1f1f1f;--secondary-foreground:#1f1f1fbf;--disabled-foreground:#1f1f1f73;--divider:#1f1f1f1f;--input-background:#1f1f1f14;--input-border:#1f1f1f59;--control-border:#1f1f1f8c;--group-border:#1f1f1f40;--card-background:#1f1f1f09;--button-hover-background:#00000014;--button-pressed-background:#00000024;--accent:#007258;--accent-hover:#00604a;--accent-pressed:#007258b3;--accent-foreground:#fff;--accent-text:#007258;--accent-emphasis-foreground:#005440;--soft-button-background:#00544040;--soft-button-hover-background:#00604a59;--active-toggle-background:#00544038;--row-selection-background:#0054402e;--card-override-background:#0054401f;--card-override-border:#00725873;--warning-accent:#9a6700;--error-accent:#c0303a;--notice-background:#fde7e9;--danger-button-background:#c0303a33;--danger-button-hover-background:#c0303a52;--danger-button-pressed-background:#c0303a6b;--scrim:#00000073;--radius-control:3px;--radius-row:4px;--radius-card:8px;--radius-pill:999px;--font-ui:"Segoe UI", "Malgun Gothic", system-ui, sans-serif;--font-code:"Cascadia Code", Consolas, ui-monospace, monospace;--gap:8px;--bar-height:44px;--target:36px;font-family:var(--font-ui);color:var(--primary-foreground);background:var(--window-background);font-synthesis:none;-webkit-font-smoothing:antialiased;font-size:12px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--window-background:#1e1e1e;--surface-background:#2d2d30;--primary-foreground:#fff;--secondary-foreground:#ffffffbf;--disabled-foreground:#ffffff73;--divider:#ffffff1f;--input-background:#ffffff14;--input-border:#ffffff59;--control-border:#ffffff8c;--group-border:#ffffff40;--card-background:#ffffff09;--button-hover-background:#ffffff1a;--button-pressed-background:#ffffff2d;--accent:#009070;--accent-hover:#2ca483;--accent-pressed:#009070b3;--accent-foreground:#000;--accent-text:#b7ecd8;--accent-emphasis-foreground:#b7ecd8;--soft-button-background:#91ddc240;--soft-button-hover-background:#2ca48359;--active-toggle-background:#91ddc238;--row-selection-background:#91ddc22e;--card-override-background:#91ddc21f;--card-override-border:#00907073;--warning-accent:#dcaa2d;--error-accent:#e06c75;--notice-background:#422427;--danger-button-background:#e06c7533;--danger-button-hover-background:#e06c7552;--danger-button-pressed-background:#e06c756b}}@font-face{font-family:codicon;src:url(/ting/assets/codicon-CMYWzYni.ttf)format("truetype");font-display:block}*{box-sizing:border-box}body{background:var(--window-background);min-width:0;margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default}a{color:var(--accent-text)}a:hover{color:var(--accent-hover)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}h1,h2,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}.icon{flex:none;justify-content:center;align-items:center;font-family:codicon;font-size:16px;font-style:normal;font-weight:400;line-height:1;display:inline-flex}.icon.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mono{font-family:var(--font-code)}.muted{color:var(--secondary-foreground)}.small{font-size:11px}.spacer{flex:auto}.app{flex-direction:column;min-height:100svh;display:flex}.topbar{height:var(--bar-height);border-bottom:1px solid var(--divider);flex:none;align-items:center;gap:12px;padding:0 12px 0 20px;display:flex}.brand{color:var(--primary-foreground);font-size:14px;font-weight:600;text-decoration:none}.brand:hover{color:var(--primary-foreground)}.context{color:var(--secondary-foreground);font-size:11px}.connection{color:var(--secondary-foreground);align-items:center;gap:6px;font-size:11px;display:inline-flex}.connection .icon{color:var(--disabled-foreground);font-size:10px}.connection.online .icon{color:var(--accent)}.content{flex-direction:column;flex:auto;gap:16px;width:100%;max-width:1120px;margin:0 auto;padding:24px 20px 32px;display:flex}.statusbar{border-top:1px solid var(--divider);height:24px;color:var(--secondary-foreground);white-space:nowrap;flex:none;align-items:center;gap:12px;padding:0 20px;font-size:11px;display:flex;overflow:hidden}.statusbar span{text-overflow:ellipsis;overflow:hidden}.button{border-radius:var(--radius-control);background:var(--input-background);min-width:64px;height:28px;color:var(--primary-foreground);white-space:nowrap;border:0;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:12px;text-decoration:none;display:inline-flex}.button .icon{font-size:14px}.button:not(:disabled):hover{background:var(--button-hover-background);color:var(--primary-foreground)}.button:not(:disabled):active{background:var(--button-pressed-background)}.button.accent{background:var(--soft-button-background);color:var(--accent-emphasis-foreground)}.button.accent:not(:disabled):hover{background:var(--soft-button-hover-background);color:var(--accent-emphasis-foreground)}.button.primary{background:var(--accent);color:var(--accent-foreground)}.button.primary:not(:disabled):hover{background:var(--accent-hover);color:var(--accent-foreground)}.button.primary:not(:disabled):active{background:var(--accent-pressed)}.button.danger{background:var(--danger-button-background);color:var(--error-accent)}.button.danger:not(:disabled):hover{background:var(--danger-button-hover-background);color:var(--error-accent)}.button.danger:not(:disabled):active{background:var(--danger-button-pressed-background)}.button:disabled{color:var(--disabled-foreground)}.button.large{height:var(--target);min-width:120px;padding:0 16px;font-weight:600}.button.wide{width:100%}.icon-button{background:0 0;border:0;border-radius:2px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}.icon-button:not(:disabled):hover{background:var(--button-hover-background)}.icon-button.small{background:var(--button-hover-background);width:24px;height:24px}.icon-button.small .icon{font-size:14px}.panel{background:var(--surface-background);border:1px solid var(--divider);border-radius:var(--radius-card);flex-direction:column;gap:12px;min-width:0;padding:20px;display:flex}.card{background:var(--card-background);border:1px solid var(--divider);border-radius:var(--radius-card);padding:10px 12px}.panel-head{align-items:baseline;gap:8px;display:flex}.page-title{font-size:18px;font-weight:600}.section-title{font-size:14px;font-weight:600}.divider{background:var(--divider);border:0;height:1px;margin:4px 0}.badge{border-radius:var(--radius-pill);background:var(--input-background);white-space:nowrap;align-items:center;gap:4px;height:18px;padding:0 6px;font-size:11px;display:inline-flex}.badge .icon{font-size:12px}.badge.accent{background:var(--soft-button-background);color:var(--accent-emphasis-foreground)}.badge.outline{border:1px solid var(--group-border);background:0 0;height:16px;padding:0 5px;font-size:10.5px}.progress{border-radius:var(--radius-pill);background:var(--input-background);height:4px;overflow:hidden}.progress>i{border-radius:inherit;background:var(--accent);height:100%;transition:width .12s;display:block}.progress.neutral>i{background:var(--control-border)}.line{align-items:center;gap:6px;display:flex}.line .icon{font-size:14px}.warning-text{color:var(--warning-accent)}.banner{border-radius:var(--radius-row);align-items:flex-start;gap:8px;padding:7px 10px;font-size:12px;line-height:18px;display:flex}.banner .icon{margin-top:2px;font-size:14px}.banner.warning{background:var(--surface-background);border:1px solid var(--divider)}.banner.warning .icon{color:var(--warning-accent)}.banner.error{background:var(--notice-background)}.banner.error .icon{color:var(--error-accent)}.entry{width:100%;max-width:360px;margin:0 auto;padding-top:40px}.entry-panel{gap:12px}.entry-panel form{flex-direction:column;gap:8px;display:flex}.choice{gap:4px;padding-bottom:12px;display:flex}.choice button{border-radius:var(--radius-control);background:var(--input-background);border:0;flex:1 1 0;justify-content:center;align-items:center;gap:6px;height:28px;display:inline-flex}.choice button:hover{background:var(--button-hover-background)}.choice button[aria-pressed=true]{background:var(--active-toggle-background);color:var(--accent-emphasis-foreground)}.choice .icon{font-size:14px}label{display:block}.input{border:1px solid var(--input-border);border-radius:var(--radius-control);background:var(--input-background);width:100%;height:32px;color:var(--primary-foreground);padding:0 8px;font-size:12px}.input:focus{border-color:var(--accent);outline:none}.input::placeholder{color:var(--primary-foreground);opacity:.5}.input.code{height:44px;font-family:var(--font-code);letter-spacing:12px;text-align:center;padding-left:24px;font-size:22px}.input.select-trigger{text-align:left;background:var(--surface-background);min-width:0;color:var(--primary-foreground);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;display:inline-flex}.host-mode-choice{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.host-mode-choice .select-trigger{width:132px}.select-trigger:hover:not([aria-disabled=true]),.select-trigger[aria-expanded=true]{border-color:var(--accent)}.select-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.select-trigger[aria-disabled=true]{color:var(--disabled-foreground);cursor:not-allowed}.select-value{align-items:center;gap:6px;min-width:0;display:flex}.select-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-chevron{flex:0 0 12px;width:12px;height:12px}.select-trigger[aria-expanded=true] .select-chevron{transform:rotate(180deg)}.select-swatch{border:1px solid var(--control-border);border-radius:50%;flex:0 0 13px;width:13px;height:13px;display:inline-block}.select-menu{z-index:1100;overscroll-behavior:contain;border:1px solid var(--input-border);background:var(--surface-background);color:var(--primary-foreground);scrollbar-width:thin;border-radius:7px;padding:4px;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #00000040}.select-option{cursor:pointer;border-radius:4px;align-items:center;gap:8px;min-height:36px;padding:8px 10px;font-size:12px;line-height:18px;display:flex}.select-option[data-active=true]{background:var(--row-selection-background);box-shadow:inset 2px 0 var(--accent)}.select-option[aria-selected=true]{font-weight:600}.select-check{color:var(--accent-text);margin-left:auto}@media (width<=720px){.select-option{min-height:44px}}.hint{color:var(--secondary-foreground);margin-bottom:12px;font-size:11px;line-height:17px}.empty{text-align:center;justify-content:center;align-items:center;gap:8px;width:100%;max-width:640px;min-height:360px;margin:40px auto 0}.empty h1{font-size:18px;font-weight:400}.empty .actions{gap:var(--gap);margin-top:12px;display:flex}.empty>.icon{color:var(--accent)}.room-heading{flex-direction:column;gap:4px;display:flex}.room-layout{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.main-column{flex-direction:column;flex:999 560px;gap:16px;min-width:0;display:flex}.side{flex:260px;gap:4px;min-width:240px;max-width:340px;padding:12px 8px}.side .panel-head{padding:4px 8px 8px}.side .divider{margin:8px}.side-note{color:var(--secondary-foreground);padding:0 8px;font-size:11px;line-height:17px}.game-options{gap:var(--gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.game-option{text-align:left;border:1px solid var(--divider);border-radius:var(--radius-card);background:var(--card-background);align-items:flex-start;gap:12px;min-width:0;padding:12px;display:flex;position:relative}.game-option:not(:disabled):hover{background:var(--button-hover-background)}.game-option[aria-pressed=true]{background:var(--card-override-background);border-color:var(--card-override-border)}.game-option:disabled{color:inherit}.game-glyph{border-radius:var(--radius-row);background:var(--input-background);flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.game-glyph .icon{font-size:20px}.game-option[aria-pressed=true] .game-glyph{background:var(--accent);color:var(--accent-foreground)}.game-text{flex-direction:column;gap:4px;min-width:0;padding-right:20px;display:flex}.game-name{font-size:14px}.game-text .badge{align-self:flex-start;margin-top:4px}.game-check{color:var(--accent-text);position:absolute;top:12px;right:12px}.ready-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ready-summary{flex-direction:column;flex:260px;gap:6px;display:flex}.ready-summary .progress{max-width:240px}.button-row{gap:var(--gap);flex-wrap:wrap;display:flex}.code-card{align-items:center;gap:12px;display:flex}.code-card>.icon{color:var(--secondary-foreground)}.code-card>div{flex:1;min-width:0}.code-card h2{font-size:12px;font-weight:400}.own-code{font-family:var(--font-code);letter-spacing:6px;font-size:20px}.people li,.rank-list li{border-radius:var(--radius-row);align-items:center;gap:8px;min-height:40px;padding:0 8px;display:flex;position:relative}.people li.offline{background:var(--button-hover-background)}.avatar{background:var(--input-background);border-radius:50%;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;display:inline-flex}.offline .avatar{border:1px dashed var(--input-border);color:var(--disabled-foreground);background:0 0}.person{flex-direction:column;flex:auto;min-width:0;display:flex}.person>span:first-child{overflow-wrap:anywhere;align-items:center;gap:6px;display:flex}.status{color:var(--secondary-foreground);white-space:nowrap;align-items:center;gap:4px;font-size:11px;display:inline-flex}.status .icon{font-size:14px}.status.ready{color:var(--accent-text)}.selected-row{background:var(--row-selection-background)}.selected-row:before{content:"";background:var(--accent);border-radius:1.5px;width:3px;height:18px;margin-top:-9px;position:absolute;top:50%;left:0}.rank-list .rank{width:18px;font-family:var(--font-code);color:var(--secondary-foreground);font-size:11px}.rank-list .name{overflow-wrap:anywhere;flex:none;align-items:center;gap:4px;width:72px;display:inline-flex}.rank-list .progress{flex:auto}.rank-list .score{text-align:right;width:32px;font-family:var(--font-code)}.round-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.timer{align-items:baseline;gap:4px;display:inline-flex}.timer .icon{color:var(--secondary-foreground);align-self:center}.timer strong{font-family:var(--font-code);font-size:28px;font-weight:400;line-height:32px}.timer.urgent strong{color:var(--warning-accent)}.stage{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:32px 0 24px;display:flex}.tap-target{border-radius:var(--radius-card);background:var(--accent);width:260px;height:260px;color:var(--accent-foreground);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border:0;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.tap-target:not(:disabled):hover{background:var(--accent-hover)}.tap-target:not(:disabled):active{background:var(--accent-pressed)}.tap-target:disabled{color:var(--disabled-foreground)}.tap-target .icon{font-size:48px}.tap-target strong{font-size:18px}.tap-target span{font-family:var(--font-code);font-size:14px}.secret{border:1px solid var(--divider);border-radius:var(--radius-card);background:var(--card-background);width:128px;height:128px;font-family:var(--font-code);justify-content:center;align-items:center;font-size:72px;line-height:1;display:inline-flex}.meter{flex-direction:column;align-items:center;gap:6px;width:240px;margin-top:12px;display:flex}.meter .progress{width:100%}.number-grid{gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:320px;display:grid}.number-grid button{border-radius:var(--radius-row);background:var(--input-background);height:64px;font-family:var(--font-code);border:0;justify-content:center;align-items:center;gap:6px;font-size:24px;display:inline-flex}.number-grid button:not(:disabled):hover{background:var(--button-hover-background)}.number-grid button:disabled{color:var(--disabled-foreground)}.number-grid button[aria-pressed=true]{background:var(--accent);color:var(--accent-foreground)}.number-grid .icon{font-size:16px}.countdown{font-family:var(--font-code);font-size:96px;line-height:1}.segments{gap:4px;display:flex}.segments i{border-radius:var(--radius-pill);background:var(--input-background);width:32px;height:4px}.segments i.on{background:var(--accent)}.table{border:1px solid var(--divider);border-radius:var(--radius-row);overflow:hidden}.table [role=row]{align-items:center;min-height:40px;padding:0 8px;display:flex;position:relative}.table [role=row]+[role=row]{border-top:1px solid var(--divider)}.table .head{min-height:28px;color:var(--secondary-foreground);font-size:11px}.table .col-rank{width:56px;font-family:var(--font-code);align-items:center;gap:6px;display:inline-flex}.table .col-name{overflow-wrap:anywhere;flex:auto;align-items:center;gap:6px;min-width:0;display:inline-flex}.table .col-score{text-align:right;width:72px;font-family:var(--font-code)}.table .head .col-rank,.table .head .col-score{font-family:var(--font-ui)}.table .unit{font-family:var(--font-ui);color:var(--secondary-foreground);font-size:11px}.table .winner .col-name{font-weight:600}.table .winner .icon{color:var(--accent-text);font-size:14px}.results{gap:16px}.dialog{border-radius:var(--radius-card);background:var(--surface-background);width:min(360px,100vw - 32px);color:var(--primary-foreground);border:0;padding:0}.dialog>div{padding:20px}.dialog::backdrop{background:var(--scrim)}.dialog h2{margin-bottom:8px;font-size:14px;font-weight:600}.dialog p{line-height:18px}.dialog-actions{justify-content:flex-end;gap:var(--gap);margin-top:20px;display:flex}.dialog-actions .button{min-width:88px;height:32px}@media (width<=640px){:root{--bar-height:56px;--target:44px}.topbar{gap:4px;padding:0 4px 0 16px}.topbar .context{margin-left:4px}.topbar .connection .label,.topbar .button .label{display:none}.topbar .connection,.topbar .icon-button,.topbar .button{background:0 0;justify-content:center;width:44px;min-width:44px;height:44px;padding:0}.topbar .button .icon,.topbar .icon-button .icon{font-size:18px}.content{padding:16px 16px 24px}.entry{padding-top:8px}.input{height:44px;font-size:16px}.choice button{height:44px}.game-options{grid-template-columns:1fr}.side{flex-basis:100%;min-width:0;max-width:none}.ready-row .button-row{width:100%}.button-row .button,.ready-row .button{flex:auto}.tap-target{width:100%;height:320px}.number-grid{max-width:none}.number-grid button{height:72px}.stage{padding:16px 0}.statusbar{height:44px;padding:0 16px}}@media (pointer:coarse){.keyboard-hint{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
