@font-face{font-family:Comic Neue;src:url(./ComicNeue-Bold-B1eKkVul.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Inconsolata;src:url(./Inconsolata-Regular-uksdTzU6.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:New Rocker;src:url(./NewRocker-Regular-9nJf25Gt.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Bebas Neue;src:url(./BebasNeue-Regular-37KXJlK_.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(./Inter-Regular-VF2RPR_K.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Lora;src:url(./Lora-Regular-C1B0tkav.ttf)format("truetype");font-weight:400 700;font-style:normal;font-display:swap}:root{--bg:#1b1b1f;--panel:#173e26;--panel-dark:#232c29;--panel-border:#333338;--ink:#eee;--ink-dim:#999;--ink-faint:#666;--accent:#f2c45a;--accent-glow:#f2c45a59;--good:#4caf7d;--bad:#e5484d;--bad-tag:#f2989b;--bad-tag-glow:#f2989b66;--second-chance:#e0c040;--win:#fff;--win-glow:#ffffff59;--knock:#7fa8d9;--knock-glow:#7fa8d959;--first:#a67fd9;--first-tag:#c9a8f0;--first-tag-glow:#c9a8f059;--focus-ring:#4fc3f7;--main-bg:#1b5e3a url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='300'%20height='300'%20viewBox='0%200%20300%20300'%3e%3cfilter%20id='felt'%20x='0%25'%20y='0%25'%20width='100%25'%20height='100%25'%20primitiveUnits='userSpaceOnUse'%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='0.02%200.026'%20numOctaves='2'%20seed='3'%20stitchTiles='stitch'%20result='macroNoise'/%3e%3cfeColorMatrix%20in='macroNoise'%20type='matrix'%20result='macroGray'%20values='0.33%200.33%200.33%200%200%200.33%200.33%200.33%200%200%200.33%200.33%200.33%200%200%200%200%200%200%201'/%3e%3cfeComponentTransfer%20in='macroGray'%20result='macroSoft'%3e%3cfeFuncR%20type='linear'%20slope='0.4'%20intercept='0.72'/%3e%3cfeFuncG%20type='linear'%20slope='0.4'%20intercept='0.72'/%3e%3cfeFuncB%20type='linear'%20slope='0.4'%20intercept='0.72'/%3e%3c/feComponentTransfer%3e%3cfeBlend%20in='SourceGraphic'%20in2='macroSoft'%20mode='multiply'%20result='mottled'/%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='0.8%200.65'%20numOctaves='3'%20seed='7'%20stitchTiles='stitch'%20result='noiseA'/%3e%3cfeColorMatrix%20in='noiseA'%20type='matrix'%20result='darkGrain'%20values='0%200%200%200%200.04%200%200%200%200%200.20%200%200%200%200%200.10%200%200%200%200.42%200'/%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='0.6%200.75'%20numOctaves='3'%20seed='23'%20stitchTiles='stitch'%20result='noiseB'/%3e%3cfeColorMatrix%20in='noiseB'%20type='matrix'%20result='lightGrain'%20values='0%200%200%200%200.32%200%200%200%200%200.60%200%200%200%200%200.42%200%200%200%200.28%200'/%3e%3cfeMerge%3e%3cfeMergeNode%20in='mottled'/%3e%3cfeMergeNode%20in='darkGrain'/%3e%3cfeMergeNode%20in='lightGrain'/%3e%3c/feMerge%3e%3c/filter%3e%3crect%20width='300'%20height='300'%20fill='%231b5e3a'%20filter='url(%23felt)'/%3e%3c/svg%3e") repeat;--main-title-color:#fff;--appinfo-bg:var(--main-bg);--appinfo-title-color:#fff;--appinfo-text-color:var(--ink);--button-bg:#1c2e5e;--button-bg-hover:#26397a;--button-fg:#fff;--font-body:"Lora", system-ui, sans-serif;--font-mono:ui-monospace, monospace;--font-score:"Inconsolata", var(--font-mono);--font-button:"Bebas Neue", var(--font-body);--font-label:"Inter", var(--font-body);--font-weight-bold:600;--font-size-base:clamp(16px, min(.6vw + 12px, 1vh + 12px), 20px);--font-size-h1:1.1rem;--font-size-label:.68rem;--font-size-tag:.62rem;--font-size-score:.95rem;--main-panel-gap:clamp(1rem, calc(7.5vh - 17.5px), 2.5rem);--main-btn-gap:clamp(.5rem, calc(2.5vh - 2.5px), 1rem);--main-btn-pad-y:clamp(.6rem, calc(2vh + 2px), 1rem);--font-size-title:clamp(3rem, min(8vw + 1rem, calc(( 100vh - 11.875rem - var(--main-panel-gap) - 10 * var(--main-btn-pad-y) - 4 * var(--main-btn-gap) ) / 2.3)), 6.5rem);--letter-spacing-label:.09em;--letter-spacing-tag:.08em;--letter-spacing-button:.04em;--heading-text-shadow:0 2px 4px #00000080;--font-log:"Inconsolata", ui-monospace, monospace;--font-weight-log:400;--font-size-log:clamp(.6rem, .32vw + .48rem, .7rem);--font-title:"New Rocker", var(--font-body);--font-heading:"Comic Neue", var(--font-body);--font-error:"Inconsolata", var(--font-mono);--font-licenses:"Inconsolata", var(--font-mono);--error-heading:#ff6961;--error-fg:#fff;--error-stack:#999;--game-over-bg:var(--main-bg);--game-over-title-color:#fff;--game-over-panel-gap:clamp(1rem, calc(5vh - 12px), 2rem);--font-size-game-over-title:clamp(2.5rem, min(4vw + 1.5rem, calc((100vh - 22.75rem - 3 * var(--game-over-panel-gap) - 2rem) / 1.15)), 4.5rem);--game-over-table-rule:var(--stats-table-rule);--about-bg:var(--main-bg);--about-title-color:#fff;--about-text-color:var(--ink);--font-size-about-title:2.25rem;--settings-bg:var(--main-bg);--settings-title-color:#fff;--settings-text-color:var(--ink);--font-size-settings-title:2.25rem;--difficulty-bg:var(--main-bg);--difficulty-title-color:#fff;--font-size-difficulty-title:2.25rem;--licenses-bg:var(--main-bg);--licenses-title-color:#fff;--licenses-text-color:var(--ink);--font-size-licenses-title:2.25rem;--htp-bg:var(--main-bg);--htp-title-color:#fff;--htp-text-color:var(--ink);--font-size-htp-title:2.25rem;--stats-bg:var(--main-bg);--stats-title-color:#fff;--stats-text-color:var(--ink);--font-size-stats-title:2.25rem;--stats-table-rule:#eeeeee2e;--stats-rating-low:#6b5636;--stats-place-first:var(--accent);--stats-place-second:#cbd2dc;--stats-place-third:#cf9a5c;--stats-place-fourth:#bfae9b;--menu-bg:var(--main-bg);--menu-title-color:#fff;--font-size-menu-title:2.25rem;--menu-abandon-bg:var(--bad);--menu-abandon-bg-hover:#c94a5b;--menu-abandon-fg:#fff;--scrollbar-thumb:#eeeeee40;--scrollbar-thumb-hover:#eeeeee73;--scrollbar-track:#00000026;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--card-w:clamp(64px, 7vw, var(--tile-w));--card-h:calc(var(--card-w) * var(--tile-aspect))}@media (width>=901px) and (height>=700px){:root{--card-w:clamp(64px, min(7vw, calc((100vh - 22.5rem) / 3 / var(--tile-aspect))), var(--tile-w))}}html{font-size:var(--font-size-base);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}*{box-sizing:border-box}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}body{background:var(--main-bg);color:var(--ink);font-family:var(--font-body);margin:0}@media (width>=901px) and (height>=700px){html,body{height:100%;overflow:hidden}body{flex-direction:column;display:flex}}#game-screen:not([hidden]){display:contents}#header{background:var(--bg);border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 1.5rem .4rem;display:flex}#header h1{font-family:var(--font-title);font-weight:400;font-size:var(--font-size-h1);text-shadow:var(--heading-text-shadow);margin:0}#menu-btn,.actions button,.main-buttons button,.difficulty-buttons button,.game-over-buttons button,.about-buttons button,.settings-grid button,.settings-buttons button,.menu-buttons button,.abandon-dialog-buttons button,.appinfo-buttons button,.licenses-buttons button,.htp-buttons button,.stats-buttons button,.stats-tabs button{border:1px solid var(--panel-border);background:var(--button-bg);color:var(--button-fg);font-family:var(--font-button);letter-spacing:var(--letter-spacing-button);font-weight:var(--font-weight-bold);font-size:var(--font-size-score);cursor:pointer;border-radius:6px;transition:background .15s,box-shadow .15s,transform .1s;box-shadow:inset 0 1px #ffffff26,0 2px #0000004d,0 2px 5px #00000059}#menu-btn:hover:not(:disabled),.actions button:hover:not(:disabled),.main-buttons button:hover:not(:disabled),.difficulty-buttons button:hover:not(:disabled),.game-over-buttons button:hover:not(:disabled),.about-buttons button:hover:not(:disabled),.settings-grid button:hover:not(:disabled),.settings-buttons button:hover:not(:disabled),.menu-buttons button:hover:not(:disabled),.abandon-dialog-buttons button:hover:not(:disabled),.appinfo-buttons button:hover:not(:disabled),.licenses-buttons button:hover:not(:disabled),.htp-buttons button:hover:not(:disabled),.stats-buttons button:hover:not(:disabled),.stats-tabs button:hover:not(:disabled){background:var(--button-bg-hover);transform:translateY(-1px);box-shadow:inset 0 1px #fff3,0 3px #0000004d,0 4px 8px #0006}#menu-btn:active:not(:disabled),.actions button:active:not(:disabled),.main-buttons button:active:not(:disabled),.difficulty-buttons button:active:not(:disabled),.game-over-buttons button:active:not(:disabled),.about-buttons button:active:not(:disabled),.settings-grid button:active:not(:disabled),.settings-buttons button:active:not(:disabled),.menu-buttons button:active:not(:disabled),.abandon-dialog-buttons button:active:not(:disabled),.appinfo-buttons button:active:not(:disabled),.licenses-buttons button:active:not(:disabled),.htp-buttons button:active:not(:disabled),.stats-buttons button:active:not(:disabled),.stats-tabs button:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 1px 2px #0006}.actions button:disabled,.settings-grid button:disabled{opacity:.4;cursor:default;color:var(--ink-dim);background:var(--panel-border);box-shadow:none}#menu-btn{padding:.5rem 1rem}.table-col-left,.table-col-right{display:contents}#table{grid-template:"north north north""west pot east"1fr"actions actions actions""south south south"/auto 1fr auto;align-items:center;row-gap:.75rem;max-width:1700px;margin:0 auto;padding:.75rem 0 1rem;display:grid}@media (width>=901px) and (height>=700px){#table{flex:auto;width:100%;min-height:0;overflow:hidden}}.seat-north{grid-area:north;justify-self:center}.seat-south{grid-area:south;justify-self:center}.seat-west{grid-area:west;justify-self:start;padding-left:1rem}.seat-east{grid-area:east;justify-self:end;padding-right:1rem}.pot-panel{background:var(--panel);border-radius:10px;flex-direction:column;grid-area:pot;justify-self:center;align-items:center;gap:.5rem;padding:.55rem .85rem .6rem;display:flex}.actions{min-height:2.2rem;width:calc(var(--card-w) * 3 + 3.2rem);grid-area:actions;justify-self:center;gap:.6rem;display:flex}.panel{width:calc(var(--card-w) * 3 + 3.2rem);background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;align-items:center;gap:.4rem;padding:.55rem .85rem .6rem;display:flex}.panel.is-turn{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent), 0 0 22px -6px var(--accent-glow)}.panel.is-eliminated{opacity:.45;filter:grayscale(.6)}.panel.is-first{border-color:var(--first-tag);box-shadow:0 0 0 2px var(--first-tag), 0 0 22px -6px var(--first-tag-glow)}.panel.is-won{border-color:var(--win);box-shadow:0 0 0 2px var(--win), 0 0 22px -6px var(--win-glow)}.panel.is-knocker{border-color:var(--knock);box-shadow:0 0 0 2px var(--knock), 0 0 22px -6px var(--knock-glow)}.panel.is-struck{animation:panel-strike-blink calc(var(--strike-blink-interval) * 2) infinite}@keyframes panel-strike-blink{0%,49%{border-color:var(--bad-tag);box-shadow:0 0 0 2px var(--bad-tag), 0 0 22px -6px var(--bad-tag-glow)}50%,to{border-color:var(--panel-border);box-shadow:none}}.panel.is-struck.is-eliminated{animation:panel-strike-blink-eliminated calc(var(--strike-blink-interval) * 2) infinite}@keyframes panel-strike-blink-eliminated{0%,49%{opacity:1;filter:grayscale(0);border-color:var(--bad-tag);box-shadow:0 0 0 2px var(--bad-tag), 0 0 22px -6px var(--bad-tag-glow)}50%,to{opacity:.45;filter:grayscale(.6);border-color:var(--panel-border);box-shadow:none}}.panel-head{justify-content:space-between;align-items:center;width:100%;display:flex}.seat-label{font-family:var(--font-label);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;color:var(--ink-dim)}.panel.is-turn .seat-label{color:var(--accent)}.panel.is-first .seat-label{color:var(--first)}.state-tag{font-size:var(--font-size-tag);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tag);text-transform:uppercase;visibility:hidden;border:1px solid #0000;border-radius:999px;padding:.08rem .45rem}.panel.is-turn .state-tag,.panel.is-first .state-tag,.panel.is-eliminated .state-tag,.panel.is-knocked .state-tag,.panel.is-strike .state-tag,.panel.is-winner .state-tag{visibility:visible}.panel.is-turn .state-tag{color:var(--bg);background:var(--accent);border-color:var(--accent)}.panel.is-first .state-tag{color:var(--bg);background:var(--first-tag);border-color:var(--first-tag)}.panel.is-eliminated .state-tag,.panel.is-strike .state-tag{color:var(--bg);background:var(--bad-tag);border-color:var(--bad-tag)}.panel.is-knocked .state-tag{color:var(--bg);background:var(--knock);border-color:var(--knock)}.panel.is-winner .state-tag{color:var(--bg);background:var(--win);border-color:var(--win)}.row-bottom{justify-content:center;align-items:center;gap:.6rem;display:flex}.cards,.hand{width:calc(var(--card-w) * 3 + 1.5rem);height:var(--card-h);gap:.75rem;display:flex}@keyframes card-deal-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.card{width:var(--card-w);height:var(--card-h);background-image:var(--card-img);background-size:calc(var(--sheet-cols) * var(--card-w)) calc(var(--sheet-rows) * var(--card-h));background-position:calc(-1 * (var(--tile-col) - 1) * var(--card-w)) calc(-1 * (var(--tile-row) - 1) * var(--card-h));background-repeat:no-repeat;border-radius:6px;flex-shrink:0;transition:transform .12s,box-shadow .12s;position:relative;box-shadow:0 1px 3px #0006}.card--deal-in{animation:.18s ease-out card-deal-in}.card--ghost{z-index:1000;pointer-events:none;transition:none;position:fixed;top:0;left:0}.card.is-selected{background-image:url(./cards-highlight-uhkVL_LV.png);transform:translateY(-6px)}.is-focused{outline:2px solid var(--focus-ring);outline-offset:3px}.is-active{outline:2px solid var(--accent);outline-offset:3px}.pot-cards .card,#pot.cards .card,.seat-south .card{cursor:pointer}.pot-label{font-family:var(--font-label);font-size:var(--font-size-label);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;color:var(--ink-dim)}.score-box{border:1px solid var(--panel-border);background:var(--panel-dark);min-width:2.6rem;height:1.5rem;font-family:var(--font-score);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;font-size:var(--font-size-score);border-radius:6px;justify-content:center;align-items:center;padding:0 .4rem;display:flex}.strikes{gap:.3rem;display:flex}.strike{width:1.05rem;height:1.05rem;display:block}.dealer-button{width:1.5rem;height:1.5rem}.dealer-button img{width:100%;height:100%;display:block}.actions button{flex:1;padding:.5rem 1rem}#log-panel{width:calc(var(--card-w) * 3 + 3.2rem);height:calc(var(--card-h) + 4.56rem);background:var(--panel-dark);border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;padding:.6rem .75rem;display:flex;position:fixed;bottom:1rem;right:calc(max(0px,50vw - 850px) + 1rem)}.log{min-height:0;overflow-y:auto}.log p{font-family:var(--font-log);font-weight:var(--font-weight-log);font-size:var(--font-size-log);color:#ccc;margin:.15rem 0}.main-screen{z-index:1000;background:var(--main-bg);justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0;overflow-y:auto}.main-screen[hidden]{display:none}.main-panel{align-items:center;gap:var(--main-panel-gap);flex-direction:column;display:flex}.main-title,.appinfo-title{font-family:var(--font-title);font-size:var(--font-size-title);text-align:center;text-shadow:var(--heading-text-shadow);margin:0;font-weight:400;line-height:1.15}.main-title{color:var(--main-title-color)}.appinfo-title{color:var(--appinfo-title-color)}.main-title span,.appinfo-title span{display:block}.main-buttons{gap:var(--main-btn-gap);flex-direction:column;width:min(60vw,260px);display:flex}.main-buttons button{padding:var(--main-btn-pad-y) 1rem}.main-buttons>:first-child{margin-bottom:.75rem}.game-over-screen{z-index:1000;background:var(--game-over-bg);justify-content:center;align-items:flex-start;position:fixed;inset:0;overflow-y:auto}.game-over-screen:not([hidden]){display:flex}.game-over-panel{align-items:center;gap:var(--game-over-panel-gap);flex-direction:column;margin:auto 0;display:flex}.game-over-title{font-size:var(--font-size-game-over-title);font-weight:var(--font-weight-bold);color:var(--game-over-title-color);text-align:center;white-space:nowrap;text-shadow:var(--heading-text-shadow);margin:0;line-height:1.15}.rank-badge{--tier-color:var(--stats-place-fourth);border:1px solid var(--tier-color);background:color-mix(in srgb, var(--tier-color) 22%, var(--bg) 78%);border-radius:16px;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem 1.5rem .6rem;display:inline-flex}.rank-badge.first{--tier-color:var(--stats-place-first);box-shadow:0 0 22px var(--accent-glow)}.rank-badge.second{--tier-color:var(--stats-place-second)}.rank-badge.third{--tier-color:var(--stats-place-third)}.rank-badge.fourth{--tier-color:var(--stats-place-fourth)}.rank-badge-difficulty{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-size:.66rem;font-weight:600}.rank-badge-place{font-family:var(--font-score);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tag);text-transform:uppercase;color:var(--tier-color);white-space:nowrap;font-size:1.05rem}.over-results{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;gap:1.1rem;width:min(90vw,360px);padding:1.1rem 1.25rem 1.3rem;display:flex}.over-results-table{border-collapse:collapse;width:100%;font-size:.95rem}.over-results-table th,.over-results-table td{text-align:left;border-bottom:1px solid var(--game-over-table-rule);padding:.5rem .4rem}.over-results-table tbody tr:last-child th,.over-results-table tbody tr:last-child td{border-bottom:none}.over-results-table th{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.65rem;font-weight:400}.over-results-table th.result-col,.over-results-table td.result-col{text-align:right}.over-results-table td.seat-col{font-weight:700}.result-pill{width:3.4rem;font-size:.68rem;font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tag);text-transform:uppercase;text-align:center;border:1px solid #0000;border-radius:999px;padding:.15rem .6rem;display:inline-block}.result-pill.win{background:var(--good);border-color:var(--good);color:var(--bg)}.result-pill.loss{background:var(--bad-tag);border-color:var(--bad-tag);color:var(--bg)}.result-pill.tie{background:var(--ink-dim);border-color:var(--ink-dim);color:var(--bg)}.over-tally{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.over-tally-tile{background:var(--bg);border:1px solid var(--panel-border);border-radius:8px;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem .5rem;display:flex}.over-tally-tile .value{font-family:var(--font-score);font-variant-numeric:tabular-nums;color:var(--ink);font-size:1.4rem;font-weight:700}.over-tally-tile.wins .value{color:var(--good)}.over-tally-tile.losses .value{color:var(--bad-tag)}.over-tally-tile.ties .value{color:var(--ink-dim)}.over-tally-tile .label{letter-spacing:.05em;color:var(--ink-dim);text-transform:uppercase;font-size:.65rem}.game-over-buttons{flex-direction:row;gap:1rem;width:auto;display:flex}.game-over-buttons button{padding:.85rem 1.5rem}.error-screen{z-index:2000;background:#000;flex-direction:column;align-items:center;gap:1.25rem;padding:3rem 2rem;position:fixed;inset:0;overflow:auto}.error-screen:not([hidden]){display:flex}.error-heading{font-family:var(--font-heading);color:var(--error-heading);text-align:center;text-shadow:var(--heading-text-shadow);margin:0;font-size:2.5rem}.error-message{max-width:640px;font-family:var(--font-error);color:var(--error-fg);text-align:center;margin:0;font-size:1rem;line-height:1.5}.error-stack{border:1px solid var(--panel-border);width:min(100%,900px);min-height:0;font-family:var(--font-error);color:var(--error-stack);white-space:pre-wrap;word-break:break-word;border-radius:8px;flex:auto;margin:0;padding:1rem;font-size:.75rem;overflow:auto}.about-screen{z-index:1000;background:var(--about-bg);flex-direction:column;justify-content:center;align-items:center;padding:2rem;position:fixed;inset:0}.about-screen:not([hidden]){display:flex}.about-panel{height:100%;min-height:0;color:var(--about-text-color);flex-direction:column;justify-content:center;align-items:center;gap:2rem;display:flex}.about-header{text-align:center;flex-direction:column;flex-shrink:0;align-items:center;gap:.2rem;display:flex}.about-title{font-family:var(--font-title);font-weight:400;font-size:var(--font-size-about-title);color:var(--about-title-color);text-shadow:var(--heading-text-shadow);margin:0 0 .3rem}.about-line{font-weight:var(--font-weight-bold);text-shadow:var(--heading-text-shadow);margin:0}.about-links{justify-content:center;align-items:center;gap:.8rem;display:flex}.about-link{color:var(--about-text-color);font-weight:var(--font-weight-bold);align-items:center;gap:.4rem;text-decoration:none;display:flex}.about-link:hover{text-decoration:underline}.about-github-icon{filter:invert();width:1.2rem;height:1.2rem}.about-body-wrap{flex:0 auto;justify-content:center;width:100%;min-height:0;display:flex}.about-body{background:var(--panel);border:1px solid var(--panel-border);border-radius:6px;flex-direction:column;gap:1.25rem;width:100%;max-width:46ch;min-height:0;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}.about-credits{flex-direction:column;display:flex}.about-credit{text-align:center;font-weight:var(--font-weight-bold);margin:0}.about-text{text-align:left;margin:0;line-height:1.5}.about-text a{color:var(--about-text-color);font-weight:var(--font-weight-bold);text-decoration:none}.about-text a:hover{text-decoration:underline}.about-buttons{flex-direction:column;flex-shrink:0;gap:1rem;width:min(60vw,260px);display:flex}.about-buttons button{padding:.75rem 1rem}.appinfo-screen{z-index:1000;background:var(--appinfo-bg);flex-direction:column;justify-content:center;align-items:center;padding:2rem;position:fixed;inset:0}.appinfo-screen:not([hidden]){display:flex}.appinfo-panel{height:100%;min-height:0;color:var(--appinfo-text-color);flex-direction:column;justify-content:center;align-items:center;gap:2rem;display:flex}.appinfo-body-wrap{flex:0 auto;justify-content:center;width:100%;min-height:0;display:flex}.appinfo-body{background:var(--panel-dark);border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;gap:1.25rem;width:100%;max-width:46ch;min-height:0;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}.appinfo-text{text-align:left;margin:0;line-height:1.5}.appinfo-buttons{flex-direction:column;flex-shrink:0;gap:1rem;width:min(60vw,260px);display:flex}.appinfo-buttons button{padding:.75rem 1rem}.settings-screen{z-index:1000;background:var(--settings-bg);flex-direction:column;justify-content:center;align-items:center;padding:2rem;position:fixed;inset:0}.settings-screen:not([hidden]){display:flex}.settings-panel{color:var(--settings-text-color);flex-direction:column;align-items:center;gap:2rem;display:flex}.settings-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-settings-title);color:var(--settings-title-color);text-shadow:var(--heading-text-shadow);margin:0}.settings-grid{grid-template-columns:auto auto;align-items:center;gap:.75rem 1.5rem;display:grid}.settings-label{font-weight:var(--font-weight-bold);text-shadow:var(--heading-text-shadow);justify-self:start}.settings-grid button{justify-self:stretch;min-width:6rem;padding:1rem}.settings-buttons{flex-direction:column;gap:1rem;width:min(60vw,260px);display:flex}.settings-buttons button{padding:1rem}.settings-grid button.settings-reset-btn{background:var(--menu-abandon-bg);color:var(--menu-abandon-fg)}.settings-grid button.settings-reset-btn:hover{background:var(--menu-abandon-bg-hover)}.difficulty-screen{z-index:1000;background:var(--difficulty-bg);justify-content:center;align-items:center;position:fixed;inset:0}.difficulty-screen:not([hidden]){display:flex}.difficulty-panel{flex-direction:column;align-items:center;gap:2.5rem;display:flex}.difficulty-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-difficulty-title);color:var(--difficulty-title-color);text-shadow:var(--heading-text-shadow);margin:0}.difficulty-buttons{flex-direction:column;gap:1rem;width:min(60vw,260px);display:flex}.difficulty-buttons button{padding:1rem}.difficulty-buttons button:last-child{margin-top:.75rem}.stats-screen{z-index:1000;background:var(--stats-bg);flex-direction:column;justify-content:center;align-items:center;padding:2rem;position:fixed;inset:0}.stats-screen:not([hidden]){display:flex}.stats-panel{width:min(94vw,640px);max-height:100%;color:var(--stats-text-color);flex-direction:column;align-items:center;gap:1.5rem;display:flex}.stats-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-stats-title);color:var(--stats-title-color);text-shadow:var(--heading-text-shadow);flex-shrink:0;margin:0}.stats-tabs{flex-shrink:0;grid-template-columns:repeat(4,1fr);gap:.4rem;width:100%;display:grid}.stats-tabs button{color:var(--ink-dim);padding:.6rem .5rem;font-size:.95rem}.stats-tab.active{background:var(--panel);color:var(--accent);border-color:var(--accent)}.stats-card{background:var(--panel);border:1px solid var(--panel-border);border-radius:10px;flex-direction:column;width:100%;height:min(64vh,560px);min-height:0;padding:1.25rem 1.4rem;display:flex;overflow-y:auto}.stats-pane{flex-direction:column;gap:1.5rem;padding-bottom:1.25rem;display:none}.stats-pane.active{display:flex}.stats-block{flex-direction:column;gap:.6rem;display:flex}.stats-block h2{font-family:var(--font-button);letter-spacing:.06em;color:var(--ink-dim);text-transform:uppercase;margin:0;font-size:1rem;font-weight:400}.stats-counters{grid-template-columns:repeat(4,1fr);gap:.6rem;display:grid}.stats-counter{background:var(--bg);border:1px solid var(--panel-border);border-radius:8px;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem .5rem;display:flex}.stats-counter .value{font-family:var(--font-score);font-variant-numeric:tabular-nums;color:var(--accent);font-size:1.4rem;font-weight:700}.stats-counter.wins .value{color:var(--good)}.stats-counter.losses .value{color:var(--bad-tag)}.stats-counter.ties .value{color:var(--ink-dim)}.stats-counter .label{letter-spacing:.05em;color:var(--ink-dim);text-transform:uppercase;text-align:center;font-size:.68rem}.stats-counters-3{grid-template-columns:repeat(3,1fr)}.stats-footnote{color:var(--ink-dim);margin:0;font-size:.72rem}.stats-rating-row{align-items:baseline;gap:.6rem;display:flex}.stats-rating-row .value{font-family:var(--font-score);font-variant-numeric:tabular-nums;color:var(--accent);font-size:2.2rem;font-weight:700}.stats-rating-row .of{color:var(--ink-dim);font-size:.85rem}.stats-gauge{background:var(--bg);border:1px solid var(--panel-border);border-radius:999px;height:8px;overflow:hidden}.stats-gauge .fill{background:linear-gradient(90deg, var(--stats-rating-low), var(--accent));height:100%;box-shadow:0 0 6px var(--accent-glow);border-radius:999px;display:block}.stats-places{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.place-tile{background:var(--bg);border:1px solid var(--panel-border);border-top:3px solid var(--tier-color);border-radius:8px;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem .5rem;display:flex}.place-tile .value{font-family:var(--font-score);font-variant-numeric:tabular-nums;color:var(--tier-color);font-size:1.4rem;font-weight:700}.place-tile .label{letter-spacing:.05em;color:var(--ink-dim);text-transform:uppercase;font-size:.68rem}.place-tile.first{--tier-color:var(--stats-place-first)}.place-tile.second{--tier-color:var(--stats-place-second)}.place-tile.third{--tier-color:var(--stats-place-third)}.stats-skill-table{border-collapse:collapse;width:100%;font-size:.85rem}.stats-skill-table th,.stats-skill-table td{text-align:left;border-bottom:1px solid var(--stats-table-rule);width:auto;padding:.4rem .5rem}.stats-skill-table th{color:var(--ink-dim);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;font-weight:400}.stats-skill-table th.num{text-align:right}.stats-skill-table td.num{font-family:var(--font-score);font-variant-numeric:tabular-nums;text-align:right}.stats-skill-table th.num,.stats-skill-table td.num{width:4.5rem}.stats-skill-table tr.unseated td{color:var(--ink-dim);opacity:.55}.stats-streak-head{letter-spacing:.05em;text-transform:uppercase;color:var(--ink-dim);grid-template-columns:6.5rem 1fr 1fr;gap:.6rem;font-size:.66rem;display:grid}.stats-streaks{flex-direction:column;gap:.75rem;display:flex}.stats-streak-row{grid-template-columns:6.5rem 1fr 1fr;align-items:center;gap:.6rem;display:grid}.stats-streak-row .label{color:var(--ink);font-size:.85rem}.pill{background:var(--bg);border:1px solid var(--panel-border);border-radius:999px;align-items:baseline;gap:.4rem;padding:.3rem .7rem;display:flex}.pill .n{font-family:var(--font-score);font-variant-numeric:tabular-nums;font-size:1rem;font-weight:700}.pill.current.live .n{color:var(--good)}.pill.current:not(.live) .n{color:var(--ink-dim)}.pill.best .n{color:var(--accent)}.pill .meta{color:var(--ink-dim);letter-spacing:.03em;font-size:.66rem}.stats-buttons{flex-direction:column;flex-shrink:0;width:min(60vw,260px);display:flex}.stats-buttons button{padding:.75rem 1rem}@media (width>=901px){.stats-panel{width:min(92vw,1080px)}.stats-card{height:min(82vh,760px)}.stats-pane.active{grid-template-columns:1fr 1fr;align-content:center;column-gap:3rem;display:grid}.stats-pane.active[data-tab=overall]{grid-template-areas:"counters record""strikes rounds"}.stats-pane.active:not([data-tab=overall]){grid-template-areas:"counters record""rating record""places streaks""strikes rounds"}.stats-pane.active>.stats-block:first-of-type{grid-area:counters}.stats-pane.active>.stats-block:nth-of-type(2){grid-area:record}.stats-pane.active[data-tab=overall]>.stats-block:nth-of-type(3){grid-area:strikes}.stats-pane.active[data-tab=overall]>.stats-block:nth-of-type(4){grid-area:rounds}.stats-pane.active:not([data-tab=overall])>.stats-block:nth-of-type(3){grid-area:rating}.stats-pane.active:not([data-tab=overall])>.stats-block:nth-of-type(4){grid-area:places}.stats-pane.active:not([data-tab=overall])>.stats-block:nth-of-type(5){grid-area:streaks}.stats-pane.active:not([data-tab=overall])>.stats-block:nth-of-type(6){grid-area:strikes}.stats-pane.active:not([data-tab=overall])>.stats-block:nth-of-type(7){grid-area:rounds}}.menu-screen{z-index:1000;background:var(--menu-bg);flex-direction:column;justify-content:center;align-items:center;position:fixed;inset:0}.menu-screen:not([hidden]){display:flex}.menu-panel{flex-direction:column;align-items:center;gap:2rem;display:flex}.menu-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-menu-title);color:var(--menu-title-color);text-shadow:var(--heading-text-shadow);margin:0}.menu-buttons{flex-direction:column;gap:1rem;width:min(60vw,260px);display:flex}.menu-buttons button{padding:1rem}.menu-buttons>:first-child{margin-bottom:.75rem}.menu-buttons button.menu-abandon-btn{background:var(--menu-abandon-bg);color:var(--menu-abandon-fg)}.menu-buttons button.menu-abandon-btn:hover{background:var(--menu-abandon-bg-hover)}#header{z-index:10;position:relative}.first-turn-dialog{z-index:5;justify-content:center;align-items:center;position:fixed;inset:0}.first-turn-dialog:not([hidden]){display:flex}.first-turn-scrim{pointer-events:none;background:#0009;position:fixed;inset:0}.first-turn-panel{background:var(--panel);color:var(--ink);font-family:var(--font-body);border-radius:10px;flex-direction:column;align-items:center;gap:1rem;padding:1.75rem 2rem;display:flex;position:relative}.first-turn-text{text-align:center;max-width:22rem;margin:0}.abandon-dialog{background:var(--panel);color:var(--ink);font-family:var(--font-body);border:none;border-radius:10px;padding:1.75rem 2rem}.abandon-dialog::backdrop{background:#0009}.abandon-dialog-message{text-align:center;margin:0 0 1.5rem}.abandon-dialog-buttons{justify-content:center;gap:1rem;display:flex}.abandon-dialog-buttons button{padding:.5rem 1.5rem}.licenses-screen{z-index:1000;background:var(--licenses-bg);flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;position:fixed;inset:0}.licenses-screen:not([hidden]){display:flex}.licenses-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-licenses-title);color:var(--licenses-title-color);text-shadow:var(--heading-text-shadow);margin:0}.licenses-body{flex:auto;gap:1.5rem;width:min(90vw,900px);min-height:0;display:flex}.licenses-list{border:1px solid var(--panel-border);background:var(--panel);min-height:0;color:var(--licenses-text-color);font-family:var(--font-body);border-radius:6px;flex:0 0 240px;padding:.5rem;font-size:.9rem}.licenses-textarea{border:1px solid var(--panel-border);background:var(--panel);min-width:0;min-height:0;color:var(--licenses-text-color);font-family:var(--font-licenses);white-space:pre-wrap;resize:none;border-radius:6px;flex:auto;padding:1rem;font-size:.75rem;line-height:1.5}.licenses-buttons{flex-direction:column;gap:1rem;width:min(60vw,260px);display:flex}.licenses-buttons button{padding:.75rem 1rem}.htp-screen{z-index:1000;background:var(--htp-bg);flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;position:fixed;inset:0}.htp-screen:not([hidden]){display:flex}.htp-title{font-weight:var(--font-weight-bold);font-size:var(--font-size-htp-title);color:var(--htp-title-color);text-shadow:var(--heading-text-shadow);margin:0}.htp-textarea{border:1px solid var(--panel-border);background:var(--panel);width:min(90vw,900px);min-height:0;color:var(--htp-text-color);font-family:var(--font-body);white-space:pre-wrap;resize:none;border-radius:6px;flex:auto;padding:1rem;font-size:.95rem;line-height:1.5}.htp-buttons button{padding:.75rem 1rem}@media (width<=900px){#table{grid-template-columns:1fr;grid-template-areas:"north""west""pot""east""actions""south";row-gap:.75rem}.seat-west,.seat-east{justify-self:center;padding-left:0;padding-right:0}#log-panel{width:auto;height:auto;max-height:none;margin:1rem 1.5rem;position:static}}@media (width<=500px){.game-over-buttons{flex-direction:column;width:min(60vw,260px)}.game-over-buttons button{padding:1rem}:root{--font-size-game-over-title:clamp(2.5rem, min(4vw + 1.5rem, calc((100vh - 31.5rem - 3 * var(--game-over-panel-gap) - 2rem) / 1.15)), 4.5rem)}}@media (orientation:landscape) and (height<=500px){html,body{height:100%}body{flex-direction:column;display:flex}#header{z-index:10;background:0 0;border-bottom:none;padding:0;position:fixed;top:.4rem;right:.4rem}#header h1,#log-panel{display:none}.seat-west,.seat-north,.seat-east{--card-w:24px;--card-h:calc(var(--card-w) * var(--tile-aspect))}:root{--card-w:clamp(64px, min(7vw, calc((100vh - 11rem) / 2 / var(--tile-aspect))), var(--tile-w))}#table{align-items:stretch;gap:1rem;width:fit-content;margin:auto;padding:.15rem;display:flex}.table-col-left,.table-col-right{flex-direction:column;justify-content:space-between;align-items:center;gap:.3rem;display:flex}.actions{margin:.15rem 0}.seat-west,.seat-east{padding-left:0;padding-right:0}.seat-west .panel,.seat-north .panel,.seat-east .panel{width:max-content}.main-screen,.appinfo-screen{overflow-y:auto}.main-panel,.game-over-panel,.appinfo-panel{gap:1rem}.game-over-buttons,.appinfo-buttons{gap:.85rem}.game-over-buttons button,.appinfo-buttons button{padding:.5rem 1rem}.main-buttons{grid-template-columns:repeat(2,1fr);gap:.6rem 1rem;width:min(85vw,420px);display:grid}.main-buttons button{padding:.85rem 1rem}.main-buttons>:first-child{grid-column:1/-1;margin-bottom:.5rem}:root{--font-size-title:clamp(1.5rem, 5vh + .5rem, 2.75rem);--font-size-game-over-title:clamp(1.5rem, 5vh + .5rem, 2.75rem);--font-size-settings-title:clamp(1.5rem, 5vh + .5rem, 2.75rem)}.rank-badge{justify-self:center;gap:.05rem;padding:.15rem .9rem .2rem}.rank-badge-difficulty{font-size:.5rem;line-height:1.1}.rank-badge-place{font-size:.74rem;line-height:1.1}.game-over-panel{grid-template-rows:repeat(3,auto);grid-template-columns:auto auto;align-items:center;gap:.85rem 2rem;display:grid}.game-over-title,.rank-badge,.over-results{grid-column:1}.game-over-buttons{grid-area:1/2/-1}.over-results{gap:.6rem;padding:.6rem .8rem}.over-results-table{font-size:.78rem}.over-results-table th,.over-results-table td{padding:.3rem .35rem}.over-results-table th{font-size:.58rem}.over-tally{gap:.4rem}.over-tally-tile{gap:.1rem;padding:.35rem .4rem}.over-tally-tile .value{font-size:1.05rem}.over-tally-tile .label{font-size:.55rem}.game-over-buttons{flex-direction:column;justify-content:center;gap:.6rem;width:min(30vw,200px)}.game-over-buttons button{padding:.85rem 1rem}.about-screen,.appinfo-screen{padding:.5rem 1rem}.about-panel{gap:.5rem}.about-buttons{flex-direction:row;width:auto}.settings-panel{gap:1rem}.settings-grid{grid-template-columns:repeat(4,auto);gap:.5rem 2rem}.settings-grid>:first-child,.settings-grid>:nth-child(3){grid-column:1}.settings-grid>:nth-child(2),.settings-grid>:nth-child(4){grid-column:2}.settings-grid>:nth-child(5),.settings-grid>:nth-child(7),.settings-grid>:nth-child(9){grid-column:3}.settings-grid>:nth-child(6),.settings-grid>:nth-child(8),.settings-grid>:nth-child(10){grid-column:4}.settings-grid>:first-child,.settings-grid>:nth-child(2),.settings-grid>:nth-child(5),.settings-grid>:nth-child(6){grid-row:1}.settings-grid>:nth-child(3),.settings-grid>:nth-child(4),.settings-grid>:nth-child(7),.settings-grid>:nth-child(8){grid-row:2}.settings-grid>:nth-child(9),.settings-grid>:nth-child(10){grid-row:3}.settings-screen{justify-content:safe center;overflow-y:auto}.difficulty-panel{gap:1rem}.difficulty-buttons{grid-template-columns:repeat(2,1fr);gap:.6rem 1rem;width:min(85vw,420px);display:grid}.difficulty-buttons button{padding:.85rem 1rem}.difficulty-buttons>:first-child,.difficulty-buttons>:nth-child(3){grid-row:1}.difficulty-buttons>:nth-child(2),.difficulty-buttons>:nth-child(4){grid-row:2}.difficulty-buttons>:first-child,.difficulty-buttons>:nth-child(2){grid-column:1}.difficulty-buttons>:nth-child(3),.difficulty-buttons>:nth-child(4){grid-column:2}.difficulty-buttons>:nth-child(5){grid-area:3/1/auto/-1;margin-top:.5rem}.difficulty-screen{overflow-y:auto}.stats-title{display:none}.stats-tabs button{padding:.3rem .4rem;font-size:.8rem}.stats-panel{gap:.9rem}.stats-block h2{font-size:.85rem}.stats-counter .value,.place-tile .value{font-size:1.15rem}.stats-counter .label,.place-tile .label{font-size:.58rem}.stats-footnote{font-size:.62rem}.stats-rating-row .value{font-size:1.8rem}.stats-rating-row .of,.stats-skill-table{font-size:.72rem}.stats-skill-table th{font-size:.58rem}.stats-streak-head{font-size:.56rem}.stats-streak-row .label{font-size:.72rem}.pill .n{font-size:.85rem}.pill .meta{font-size:.56rem}}@media (orientation:portrait) and (width<=500px){html,body{height:100%;overflow:hidden}body{flex-direction:column;display:flex}#header{z-index:10;background:0 0;border-bottom:none;padding:0;position:fixed;top:.4rem;right:.4rem}#header h1,#log-panel{display:none}.seat-west,.seat-north,.seat-east{--card-w:26px;--card-h:calc(var(--card-w) * var(--tile-aspect))}:root{--card-w:clamp(64px, min(7vw, calc((100vh - 24.5rem - 3 * 26px * var(--tile-aspect)) / 2 / var(--tile-aspect))), var(--tile-w))}#table{flex:auto;grid-template-rows:repeat(6,auto);grid-template-columns:1fr;grid-template-areas:"west""north""east""pot""actions""south";row-gap:.3rem;width:100%;min-height:0;padding:2rem 0 .3rem;display:grid;overflow:hidden}.seat-west,.seat-north,.seat-east{justify-self:center;padding-left:0;padding-right:0}.seat-west .panel,.seat-north .panel,.seat-east .panel{width:max-content}.licenses-body{flex-direction:column}.pill{text-align:center;flex-direction:column;align-items:center;gap:.1rem}}
