:root{--sans:"Helvetica Neue", Helvetica, Arial, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--bg:#0d0f0e;--panel:#191c1a;--field:#0f1110;--line:#2c312e;--text:#e8eae8;--muted:#8f9791;--accent:#2fbf71;--accent-text:#04140b;--good:#2fbf71;--bad:#f05555;--warn:#e3a83b;--felt-1:#17774c;--felt-2:#0d4f31;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#fff;--panel:#dcdcdc;--field:#fff;--line:#b8b8b8;--text:#000;--muted:#4a4a4a;--accent:#147a47;--accent-text:#fff;--good:#147a47;--bad:#c62828;--warn:#9a6400;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.4}button,input,select{font:inherit;color:inherit}h1{letter-spacing:-.01em;margin:6px 0 14px;font-size:26px;font-weight:700}h2{margin:0 0 10px;font-size:18px;font-weight:700}h3{margin:0;font-size:13px;font-weight:700}p{margin:0 0 12px}a,.link{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.muted{color:var(--muted)}.small{font-size:13px}.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums}kbd{font-family:var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:2px;margin-left:6px;padding:0 4px;font-size:10px}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.page{max-width:620px;margin:0 auto;padding:0 0 12px}.topline{font-family:var(--mono);color:var(--muted);justify-content:space-between;align-items:center;padding:10px 20px;font-size:12px;display:flex}.topline button,.topline a{cursor:pointer;color:var(--muted);font-family:var(--mono);background:0 0;border:0;padding:0;font-size:12px;text-decoration:none}.topline button:hover,.topline a:hover{color:var(--text);text-decoration:underline}.topline a[aria-current=page]{color:var(--text)}.topline .links{flex-wrap:wrap;justify-content:flex-end;gap:4px 16px;display:flex}body[data-screen=train] .topline .links{visibility:hidden}.panel{background:var(--panel);padding:20px}footer{text-align:center;color:var(--muted);padding:14px 20px;font-size:12px}.foot-links{margin-bottom:4px}.foot-links a{color:var(--muted)}.foot-links a:hover,.foot-links a[aria-current=page]{color:var(--text)}.btn{border:1px solid var(--line);background:var(--field);cursor:pointer;white-space:nowrap;border-radius:2px;padding:4px 12px;font-size:14px;display:inline-block}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.6;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.btn.primary kbd{color:inherit;opacity:.6;border-color:currentColor}.btn.big{padding:7px 18px}.btn.danger{color:var(--bad)}select,input[type=number],input[type=text],input[type=email],input[type=password]{background:var(--field);border:1px solid var(--line);font-family:var(--mono);border-radius:2px;height:26px;padding:2px 6px;font-size:13px}input[type=number]{text-align:right;appearance:textfield;width:56px}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input:disabled,select:disabled{opacity:.5}input[type=checkbox]{accent-color:var(--accent);vertical-align:-2px;width:15px;height:15px;margin:0}label{cursor:pointer}.intro p{margin-bottom:10px}#headStats{font-family:var(--mono);color:var(--muted);font-size:12px}.group-title{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line);margin:14px 0 8px;padding-top:12px;font-size:11px}.modes{flex-direction:column;gap:5px;display:flex}.modes button{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:22px 120px 1fr;align-items:center;padding:0;display:grid}.modes button:before{content:"";border:1px solid var(--muted);background:var(--field);border-radius:50%;width:13px;height:13px}.modes button.active:before{border-color:var(--accent);background:radial-gradient(circle, var(--accent) 0 3.5px, var(--field) 4px)}.modes button b{font-weight:400}.modes button.active b{font-weight:600}.modes button span{color:var(--muted);font-size:13px}.opt{flex-wrap:wrap;align-items:center;gap:6px 8px;margin:7px 0;display:flex}.opt>.k{min-width:120px}.opt .help{color:var(--muted);font-size:13px}.checks{grid-template-columns:1fr 1fr;gap:6px 16px;margin:7px 0;display:grid}.ref{margin:4px 0 10px 128px}.ref table{border-collapse:collapse;font-family:var(--mono);table-layout:fixed;width:100%;font-size:12px}.ref th,.ref td{border:1px solid var(--line);text-align:center;padding:2px 0;font-weight:400}.ref th{color:var(--muted)}.pos{color:var(--good)}.neg{color:var(--bad)}.zero{color:var(--muted)}.start{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:12px;margin-top:14px;padding-top:12px;display:flex}#configLine{font-family:var(--mono);color:var(--muted);font-size:11.5px;display:block}#rankedNote{font-family:var(--mono);color:var(--warn);font-size:11.5px;display:block}#rankedNote:empty{display:none}#acctEmail,#acctPw,#acctNewPw{width:240px}.btn.oauth{align-items:center;gap:9px;padding:6px 14px;display:inline-flex}.btn.oauth[hidden]{display:none}.btn.oauth svg{flex:none;width:16px;height:16px}#acctName{width:180px}#bestPreview{font-family:var(--mono);color:var(--accent);font-size:11.5px;display:block}.bar{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;font-size:15px;display:flex}.bar b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:600}#timer.low{color:var(--bad)}.progress{background:var(--line);height:2px;margin-bottom:12px;position:relative}.progress-bar{background:var(--accent);width:0;height:100%;transition:width .2s}.cut{background:var(--warn);width:2px;position:absolute;top:-3px;bottom:-3px}.stage{background:radial-gradient(ellipse at 50% 35%, var(--felt-1), var(--felt-2) 80%);color:#f1f7f3;-webkit-user-select:none;user-select:none;border-radius:2px;place-items:center;min-height:clamp(300px,52vh,440px);display:grid;position:relative;overflow:hidden}.stage:after{content:"";pointer-events:none;z-index:4;transition:box-shadow .2s;position:absolute;inset:0}.stage.flash-good:after{box-shadow:inset 0 0 0 3px var(--good)}.stage.flash-bad:after{box-shadow:inset 0 0 0 3px var(--bad)}.stage-content{z-index:3;place-items:center;width:100%;height:100%;padding:20px 14px;display:grid;position:relative}.is-paused .stage-content,.is-paused #checkOv,.is-paused .distraction{visibility:hidden}.single{place-items:center;min-height:220px;display:grid}.under{min-height:30px;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-top:10px;font-size:13px;display:flex}#wheels{font-family:var(--mono);color:var(--warn)}.hint kbd{margin:0 3px}.card{--w:var(--card-w,clamp(90px, 22vw, 124px));width:var(--w);aspect-ratio:5/7;color:#111;border-radius:calc(var(--w) * .06);font-family:var(--mono);background:#fff;flex:none;position:relative;box-shadow:0 0 0 1px #00000026,0 3px 8px #0000004d}.card.red{color:#c8102e}.card .corner{font-weight:700;line-height:1;font-size:calc(var(--w) * .15);flex-direction:column;align-items:center;display:flex;position:absolute}.card .corner span+span{font-family:var(--sans);font-size:.85em}.card .tl{top:6%;left:8%}.card .br{bottom:6%;right:8%;transform:rotate(180deg)}.card .pip{font-family:var(--sans);font-size:calc(var(--w) * .42);place-items:center;display:grid;position:absolute;inset:0}.card .pip.face{font-family:var(--mono);font-size:calc(var(--w) * .28);font-weight:700}.card.back{box-shadow:inset 0 0 0 calc(var(--w) * .06) #fff, 0 0 0 1px #00000026, 0 3px 8px #0000004d;background:#b3261e}.card.text-only{box-shadow:none;color:#fff;font-size:calc(var(--w) * .5);aspect-ratio:auto;min-height:calc(var(--w) * .9);background:0 0;place-items:center;font-weight:700;display:grid}.card.text-only.red{color:#ffb1b1}.card.text-only small{font-family:var(--sans);margin-left:.1em;font-size:.45em;font-weight:400}@keyframes deal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes flip{0%{transform:rotateY(90deg)}to{transform:none}}.card.deal{animation:.12s ease-out both deal}.card.flip{animation:.16s ease-out both flip}.table-hands{--card-w:clamp(44px, 10vw, 66px);flex-direction:column;align-items:center;gap:24px;width:100%;display:flex}.players{flex-wrap:wrap;justify-content:center;gap:16px 20px;display:flex}.seat{min-width:calc(var(--card-w) * 1.4);flex-direction:column;align-items:center;gap:5px;display:flex}.seat-cards{min-height:calc(var(--card-w) * 1.4);align-items:flex-start;display:flex}.seat-cards .card+.card{margin-left:calc(var(--card-w) * -.58)}.seat-cards .card.text-only+.card.text-only{margin-left:2px}.seat-label{font-family:var(--mono);color:#ffffffa6;font-size:11px}.overlay{z-index:5;background:#00000073;place-items:center;padding:14px;display:grid;position:absolute;inset:0}.dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);width:min(340px,100%);padding:16px 18px}.dialog h2{font-size:17px}#checkMeta{font-family:var(--mono);color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.dialog .stack{flex-direction:column;gap:6px;margin-top:10px;display:flex}.dialog .stack .btn{padding:6px 12px}.count-num{font-family:var(--mono);color:#fff;text-align:center;font-size:88px;font-weight:700;line-height:1}.countdown-info{text-align:center;color:#fff;font-size:14px}.countdown-info p{margin:10px 0 0}.answer-row{align-items:stretch;gap:6px;display:flex}.prompt{flex:1;display:flex}.prompt input{color:var(--text);text-align:center;width:100%;height:38px;font-size:22px;font-weight:600}.prompt.shake input{border-color:var(--bad);animation:.3s shake}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.btn.sign{font-family:var(--mono);padding:0 12px}.answer-row .btn.primary{padding:0 14px}.fb{min-height:20px;font-family:var(--mono);margin:10px 0 0;font-size:13px;font-weight:600}.fb.good{color:var(--good)}.fb.bad{color:var(--bad)}.toast{z-index:6;opacity:0;pointer-events:none;color:#fff;font-family:var(--mono);white-space:nowrap;background:#000000bf;padding:4px 12px;font-size:12px;transition:opacity .2s;position:absolute;top:12px;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.tcq,.dev{flex-direction:column;align-items:stretch;gap:12px;width:min(440px,100%);display:flex}.tcq-stats{border:1px solid #ffffff40;grid-template-columns:1fr 1fr;display:grid}.stat{padding:10px 12px}.stat+.stat{border-left:1px solid #ffffff40}.stat span{color:#ffffffbf;font-size:12px;display:block}.stat b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:42px;font-weight:700;line-height:1.1}.shoe-viz{background:#0000004d;height:4px;margin-top:8px}.shoe-viz div{background:#ffffffd9;height:100%}.q-label{color:#ffffffd9;font-size:13px}.tcq .btn:not(.primary),.dev .btn{color:#fff;background:#0000004d;border-color:#ffffff4d}.dev{text-align:center;--card-w:clamp(58px, 14vw, 82px);align-items:center}.dev-meta{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.pill{font-family:var(--mono);color:#ffffffd9;border:1px solid #ffffff4d;padding:1px 6px;font-size:11px}.tc-chip{font-size:14px}.tc-chip b{font-family:var(--mono);margin-left:6px;font-size:22px}.dev-actions{grid-template-columns:repeat(5,1fr);gap:4px;width:100%;display:grid}.dev-actions .btn{padding:7px 2px;font-size:13px}.dev-actions kbd{color:#ffffffb3;border-color:#ffffff59;width:fit-content;margin:2px auto 0;display:block}.dev-actions .btn:disabled:not(.right):not(.wrong){opacity:.3}.dev-actions .btn.right{background:var(--good);border-color:var(--good);color:#fff}.dev-actions .btn.wrong{background:var(--bad);border-color:var(--bad);color:#fff}.qfeedback{min-height:20px;font-family:var(--mono);text-align:center;margin:0;font-size:12.5px;font-weight:600}.qfeedback.good{color:#b9f5d0}.qfeedback.bad{color:#ffc9c9}.distraction{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.chatter{color:#ffffff73;white-space:nowrap;transform:rotate(var(--rot,0deg));font-weight:700;animation:2.6s ease-in-out both chatter;position:absolute}.chatter.ghost{font-family:var(--mono);color:#ffffff40;font-size:26px!important}@keyframes chatter{0%{opacity:0}15%,75%{opacity:1}to{opacity:0}}.stage.distract:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 20% 30%,#ffc8501f,#0000 40%),radial-gradient(circle at 80% 70%,#ff50a01a,#0000 40%);animation:3s ease-in-out infinite alternate lights;position:absolute;inset:0}@keyframes lights{0%{opacity:.4}to{opacity:1}}.res-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}#resSub,#resTime{font-family:var(--mono);color:var(--muted);font-size:11.5px;display:block}.badge{font-family:var(--mono);color:var(--accent);border:1px solid var(--accent);white-space:nowrap;padding:1px 8px;font-size:12px;font-weight:600}.score{margin:14px 0 4px;font-size:20px}.score b{font-family:var(--mono);margin-left:6px;font-size:40px;font-weight:700}#resAccSub{color:var(--muted);font-size:13px}.ranked-status{font-family:var(--mono);color:var(--muted);margin-top:8px;font-size:12.5px}.ranked-status.good{color:var(--good)}.ranked-status.bad{color:var(--bad)}tr.me td{color:var(--accent);font-weight:600}.tiles{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;column-gap:24px;margin:14px 0 6px;display:grid}.tile{border-bottom:1px solid var(--line);justify-content:space-between;gap:10px;padding:6px 0;font-size:14px;display:flex}.tile span{color:var(--muted)}.tile b{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:600}.section{margin-top:18px}.section-head{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;font-size:11px;display:flex}.section-head h3{font-size:11px;font-weight:400}.section-head select{height:22px;font-size:11px}.chart{background:var(--field);border:1px solid var(--line);width:100%;height:auto;display:block}.chart text{fill:var(--muted);font-size:10px;font-family:var(--mono)}.chart .grid,.chart .axis{stroke:var(--line)}.chart .zero{stroke:var(--muted);stroke-dasharray:3 3;opacity:.6}.chart .line{stroke:var(--accent);stroke-width:1.6px;fill:none}.chart .area{fill:var(--accent);opacity:.06}.chart .ldot{fill:var(--accent)}.chart rect.good{fill:var(--good)}.chart rect.bad{fill:var(--bad)}.legend{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:6px;font-size:11px;display:flex}.legend i{width:8px;height:8px;margin-right:5px;display:inline-block}.legend i.l{background:var(--accent);vertical-align:3px;width:14px;height:2px}.table-wrap{border:1px solid var(--line);background:var(--field);max-height:300px;overflow:auto}table{border-collapse:collapse;width:100%;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12.5px}th,td{text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;padding:4px 10px}th:first-child,td:first-child,th.l,td.l{text-align:left}th{background:var(--field);color:var(--muted);font-weight:400;position:sticky;top:0}td.good{color:var(--good);font-weight:600}td.bad{color:var(--bad);font-weight:600}.sq{display:none}.empty{color:var(--muted);text-align:center!important;padding:18px 0!important}.actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.guide h2{border-top:1px solid var(--line);margin:22px 0 6px;padding-top:14px;font-size:16px}.guide h2 .n{font-family:var(--mono);color:var(--accent);margin-right:6px}.guide p,.guide li{font-size:14.5px}.guide ul{margin:0 0 12px;padding-left:20px}.guide li{margin:3px 0}.guide .table-wrap{max-height:none;margin:8px 0 12px}.guide td,.guide th{text-align:left;white-space:normal}.guide td.c,.guide th.c{text-align:center}.example{font-family:var(--mono);background:var(--field);border:1px solid var(--line);margin:8px 0 12px;padding:8px 10px;font-size:13px}.calc{background:var(--field);border:1px solid var(--line);margin:8px 0 12px;padding:10px 12px}.calc .opt{margin:0 0 8px}#calcOut{font-family:var(--mono);font-size:13.5px}#calcOut b{font-size:16px}.meter{vertical-align:-1px;gap:2px;display:inline-flex}.meter i{background:var(--line);width:9px;height:11px}.meter i.on{background:var(--accent)}.meter.neg i.on{background:var(--bad)}.guide .lede{color:var(--muted)}.guide h3{margin:14px 0 4px;font-size:14.5px}.guide ol{margin:0 0 12px;padding-left:22px}.guide .table-wrap table{min-width:100%}.guide th[scope=row],.guide tr th:first-child{position:static}.guide .toc{font-family:var(--mono);color:var(--muted);margin:0 0 6px;font-size:12px}.guide .toc a{margin-right:12px}a.btn{color:inherit;text-decoration:none}a.btn.primary{color:var(--accent-text)}.duel-strip{font-family:var(--mono);gap:3px;margin-bottom:8px;font-size:12px;display:grid}.duel-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.duel-row .who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.duel-row .who small{color:var(--muted);margin-left:6px}.duel-row.me .who{color:var(--accent);font-weight:600}.boxes{gap:3px;display:flex}.box{border:1px solid var(--line);background:var(--field);width:16px;height:16px;color:var(--muted);place-items:center;font-size:11px;line-height:1;display:grid}.box.ok{background:var(--good);border-color:var(--good);color:#fff}.box.ko{background:var(--bad);border-color:var(--bad);color:#fff}.box.cur{border-color:var(--accent)}.box.ans{color:var(--accent)}#duelCheckMeta,#duelRevealMeta{font-family:var(--mono);color:var(--muted);margin-bottom:4px;font-size:11px;display:block}#duelRevealLine{margin:8px 0 0;font-size:13px}#duelRevealLine .good{color:var(--good)}#duelRevealLine .bad{color:var(--bad)}#duelHud{font-family:var(--mono)}.duel-result{border-top:1px solid var(--line);margin:12px 0;padding-top:10px}.duel-result h2{margin:0;font-size:22px}.duel-result h2.good{color:var(--good)}.duel-result h2.bad{color:var(--bad)}.duel-result .table-wrap{max-height:220px;margin-top:8px}.duel-result .sub{font-family:var(--mono);font-size:11.5px;display:block}#lobbyElo{margin-right:8px;font-size:20px}#searchWindow{margin-left:6px}#historyBtn{margin-left:auto}#historyTable tr.pick{cursor:pointer}#historyTable tr.pick:hover td,#historyTable tr.sel td{background:color-mix(in srgb, var(--accent) 12%, transparent)}#historyTable tr.pick:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}#historyTable .good{color:var(--good)}#historyTable .bad{color:var(--bad)}#historyTable .muted{color:var(--muted)}#historyDetail{margin-top:12px}.lobby-buttons{align-items:center;gap:14px;display:inline-flex}#inviteBtn{white-space:nowrap}.invite{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:8px;margin:12px 0;padding:10px 0;display:grid}.invite>span:first-child .muted,#challengeText .muted{color:var(--muted)}.invite-link{gap:6px;display:flex}.invite-link input{min-width:0;font-family:var(--mono);border:1px solid var(--line);background:var(--field);color:var(--text);border-radius:0;flex:1;padding:6px 8px;font-size:12.5px}.invite-wait{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}#challengeBox>span:nth-child(2){gap:8px;display:flex}#challengeMsg:empty{display:none}@media (width<=640px){.box{width:13px;height:13px;font-size:9px}.boxes{gap:2px}}#brandBtn{white-space:nowrap}@media (width<=640px){.page{padding-bottom:20px}.panel{padding:16px}.opt>.k{min-width:96px}.ref{margin-left:0}.modes{gap:6px}.modes button{grid-template-columns:22px 1fr;align-items:start}.modes button:before{grid-row:1/3;margin-top:3px}.modes button span{padding-left:16px}.checks,.tiles{grid-template-columns:1fr}.dev-actions{grid-template-columns:repeat(3,1fr)}.hint{display:none}.start{flex-direction:column;align-items:stretch}th,td{padding:4px 6px;font-size:12px}}@media (prefers-reduced-motion:reduce){.card.deal,.card.flip,.chatter,.stage.distract:before{animation:none!important}}
