@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{to{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}.confirm-overlay,#round-overlay,#scoring-overlay,#gameover-overlay,#turn-transition,#draw-overlay{animation:fade-in var(--t-med) ease-out;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-overlay{z-index:1000;background:rgba(var(--scrim-rgb),.55);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}#round-overlay{z-index:1400;background:rgba(var(--scrim-rgb),.75);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}#gameover-overlay{z-index:3000;background:rgba(var(--scrim-rgb),.85);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#scoring-overlay{z-index:3000;background:rgba(var(--scrim-rgb),.45)}#draw-overlay{z-index:1500;background:rgba(var(--scrim-rgb),.25);pointer-events:none}.confirm-dialog,.round-content,.scoring-content,.gameover-content,.draw-banner{border-radius:var(--r-lg);background:var(--s2);border:1px solid var(--line-2);box-shadow:var(--shadow-3), 0 0 0 1px var(--shade-60);animation:pop-in var(--t-med) var(--ease)}.confirm-dialog,.round-content,.scoring-content,.gameover-content,.admin-ask-box{max-height:calc(88 * var(--vh));max-height:calc(88 * var(--dvh));overscroll-behavior:contain;overflow-y:auto}.confirm-dialog{width:min(580px, calc(92 * var(--vw)));max-height:calc(85 * var(--vh));border-top:3px solid var(--brass);padding:20px 24px 18px;overflow-y:auto}.confirm-dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;padding-bottom:10px;display:flex}.confirm-dialog-head h3{font-family:var(--font-display);color:var(--brass);letter-spacing:.4px;font-size:19px}.confirm-dialog-player{font-family:var(--font-display);font-size:13px;font-weight:700}.confirm-summary{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.confirm-row{border-radius:var(--r-sm);background:var(--s1);border:1px solid var(--line);grid-template-columns:76px 1fr;align-items:start;gap:10px;padding:9px 12px;font-size:14px;line-height:1.45;display:grid}.confirm-row-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-3);padding-top:3px;font-size:10px;font-weight:600}.confirm-row-value strong,.confirm-total strong{color:var(--brass-2)}.confirm-total strong{font-size:15px}.confirm-inline{align-items:center;gap:6px;margin-right:10px;display:inline-flex}.confirm-note{color:var(--text-3);margin:10px 0 0;font-size:12px}.confirm-dialog-actions{margin-top:14px}.confirm-dialog-actions .modal-btn{padding:10px 18px}.round-content{width:min(640px, calc(94 * var(--vw)));text-align:center;background:linear-gradient(180deg, var(--s3), var(--s2));border-top:3px solid var(--brass);padding:26px 30px 22px}.round-kicker{letter-spacing:3px;text-transform:uppercase;color:var(--brass);font-size:10.5px;font-weight:600}.round-content h2{font-family:var(--font-display);color:var(--text);margin:2px 0 4px;font-size:26px}.round-sub{color:var(--text-2);margin-bottom:16px;font-size:13px}.round-rows{text-align:left;flex-direction:column;gap:8px;list-style:none;display:flex}.round-row{border-radius:var(--r-md);background:var(--s1);border:1px solid var(--line);opacity:0;grid-template-columns:96px 1fr auto;grid-template-areas:"pos name stats""pos notes notes";align-items:center;gap:4px 16px;padding:10px 14px;animation:.5s cubic-bezier(.2,1.1,.4,1) forwards round-row-in;display:grid}@keyframes round-row-in{0%{opacity:0;transform:translate(-28px)scale(.98)}to{opacity:1;transform:none}}.round-pos{flex-direction:column;grid-area:pos;line-height:1.15;display:flex}.round-pos-new{font-family:var(--font-display);color:var(--text);font-size:20px;font-weight:700}.round-pos-move{color:var(--text-3);font-size:10px}.round-pos-move.up{color:var(--ok)}.round-pos-move.down{color:var(--danger-text-4)}.round-name{font-family:var(--font-display);grid-area:name;align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.round-stats{grid-area:stats;align-items:center;gap:16px;display:flex}.round-stat{flex-direction:column;align-items:flex-start;min-width:64px;display:flex}.round-stat-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-3);font-size:9px}.round-stat-value{color:var(--text);align-items:center;gap:4px;font-size:14px;display:inline-flex}.round-stat-value strong{color:var(--brass-2)}.round-income{color:var(--ok);font-weight:700;animation:.6s ease-out both income-pop}.round-income.neg{color:var(--danger-text-4)}@keyframes income-pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.25)}to{transform:scale(1)}}.round-notes{color:#f0b09a;grid-area:notes;font-size:11px}.round-continue{margin-top:18px;padding:11px 26px}.scoring-content,.gameover-content{text-align:center;border-top:3px solid var(--brass);min-width:460px;padding:30px 36px 26px}.score-table th.score-sight-head{letter-spacing:.6px;color:var(--text-3);text-transform:uppercase;cursor:help;font-size:10px}.score-table td.score-sight{color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap}.score-sight-carry{color:var(--text-3);margin-left:5px;font-size:.78em}.score-sight-note{color:var(--text-3);margin-top:10px;max-width:62ch;margin-inline:auto;font-size:11px;line-height:1.5}@media (max-width:640px){.scoring-content{min-width:0;padding:24px 14px 20px}.scoring-content .score-table th,.scoring-content .score-table td,.tally-box .score-table th,.tally-box .score-table td{padding:6px 7px}.scoring-content .score-table.has-sight .score-delta,.tally-box .score-table.has-sight .score-delta{display:none}.score-sight-carry{margin-left:0;display:block}}.gameover-content.wide{width:min(1120px, calc(92 * var(--vw)))}#scoring-title,.gameover-content h1{font-family:var(--font-display);color:var(--brass);margin-bottom:18px}#scoring-title{font-size:24px}.gameover-content h1{letter-spacing:3px;font-size:34px}.gameover-actions{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:12px;margin-top:22px;display:flex}.gameover-actions .modal-btn,.gameover-actions .btn-primary{justify-content:center;align-items:center;min-height:40px;margin:0;padding:0 20px;display:inline-flex}.gameover-content .match-summary,.gameover-content .usage-table{margin-top:18px}.scoring-table{border-collapse:collapse;width:100%;margin-bottom:20px;font-size:14px}.scoring-table th{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--line-2);text-align:center;padding:8px 12px;font-size:10px;font-weight:600}.scoring-table th:first-child,.scoring-table td:first-child{text-align:left}.scoring-table td{border-bottom:1px solid var(--line);text-align:center;font-family:var(--font-display);padding:10px 12px;font-weight:600}.scoring-table td.total-row,.scoring-table tr.total-row td{color:var(--brass-2);font-size:16px}.scoring-table tr.total-row{background:var(--brass-dim)}#turn-transition{z-index:2500;background:rgba(var(--scrim-rgb),.85);pointer-events:none}#turn-transition.fade-out{animation:.5s ease-in forwards fade-out}#turn-transition.persistent{pointer-events:auto;background:rgba(var(--scrim-rgb),.94);animation:none}.turn-transition-content{text-align:center;animation:pop-in var(--t-slow) var(--ease)}.turn-transition-name{font-family:var(--font-display);letter-spacing:4px;text-shadow:0 4px 24px var(--shade-60);font-size:64px;font-weight:700}.turn-transition-subtitle{font-family:var(--font-serif);letter-spacing:4px;color:var(--text-2);margin-top:6px;font-size:22px;font-style:italic}.turn-transition-hint{max-width:380px;color:var(--text-2);margin:16px auto 18px;font-size:14px}.reveal-btn{padding:12px 26px;font-size:15px}.draw-banner{text-align:center;padding:22px 34px 18px}.draw-title{font-family:var(--font-display);font-size:22px;font-weight:700}.draw-sub{color:var(--text-2);margin-top:2px;font-size:13px}.draw-count{font-family:var(--font-display);color:var(--brass-2);text-shadow:0 0 18px var(--brass-glow);animation:score-bump .4s var(--ease);margin:8px 0 4px;font-size:46px;font-weight:700;line-height:1}.draw-sub-strong{color:var(--text);font-weight:600}.draw-cards{justify-content:center;gap:10px;min-height:60px;margin-top:14px;display:flex}.draw-card{border-radius:4px;width:42px;min-width:42px;height:60px;animation:.9s ease-in both draw-card}.draw-card:after{font-size:18px}@keyframes draw-card{0%{opacity:0;transform:translateY(-60px)scale(.6)rotate(-10deg)}40%{opacity:1;transform:translateY(0)scale(1)}75%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(160px)scale(.8)}}#toast-container{left:50%;bottom:calc(var(--card-height) + 74px + env(safe-area-inset-bottom,0px));z-index:2000;pointer-events:none;flex-direction:column;align-items:center;gap:8px;max-width:100%;display:flex;position:fixed;transform:translate(-50%)}.toast{max-width:min(560px, calc(80 * var(--vw)));border-radius:var(--r-md);color:var(--text);background:rgba(var(--s2-rgb),.96);border:1px solid var(--line-2);box-shadow:var(--shadow-2);animation:toast-rise var(--t-med) var(--ease);transition:opacity var(--t-med), transform var(--t-med);pointer-events:auto;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);align-items:center;gap:10px;padding:11px 18px 11px 12px;font-size:14px;display:flex}#board-column>#toast-container{max-width:min(480px,70%);position:absolute;top:10px;bottom:auto}#board-column>#toast-container .toast{padding:8px 14px 8px 10px;font-size:13px}.toast.leaving{opacity:0;transform:translateY(12px)}@keyframes toast-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.toast-glyph{width:22px;height:22px;color:var(--on-brass);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:800;display:inline-flex}.toast.success .toast-glyph{background:var(--ok)}.toast.error .toast-glyph{background:var(--danger);color:#fff}.toast.warning .toast-glyph{background:var(--warn)}.toast.info .toast-glyph{background:var(--info);color:#fff}.score-tally{width:min(680px, calc(94 * var(--vw)));min-width:0}.score-phase{background:var(--brass-dim);border:1px solid var(--brass-glow);color:var(--brass-2);border-radius:999px;align-items:center;gap:8px;margin:-8px auto 14px;padding:6px 14px;font-size:12.5px;font-weight:600;display:inline-flex}.score-phase.done{color:var(--ok);background:#5ec98a1f;border-color:#5ec98a66}.score-progress{color:var(--text-3);font-weight:500}.score-table td{transition:color var(--t-fast), transform var(--t-fast)}.score-row-active td:first-child{text-shadow:0 0 12px}.score-bump{color:var(--brass-2);animation:score-bump .3s var(--ease)}@keyframes score-bump{0%{transform:scale(1)}50%{transform:scale(1.35)}to{transform:scale(1)}}.score-pending{color:var(--text-3)}.score-reveal{animation:.5s ease-out both income-pop}.score-feed{text-align:left;flex-direction:column;gap:5px;min-height:152px;margin:4px 0 6px;list-style:none;display:flex}.score-item{border-radius:var(--r-sm);background:var(--s1);border:1px solid var(--line);opacity:.55;animation:score-item-in .3s var(--ease);grid-template-columns:28px auto 1fr auto;align-items:center;gap:8px;padding:5px 10px;font-size:12.5px;display:grid}.score-item.latest{opacity:1;border-color:var(--brass-glow);background:var(--s3)}@keyframes score-item-in{0%{opacity:0;transform:translateY(-8px)}to{transform:none}}.score-item-icon{justify-content:center;align-items:center;display:inline-flex}.score-item-player{font-family:var(--font-display);font-weight:700}.score-item-label{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.score-item-vp{color:var(--ok);font-size:14px;font-weight:700}.score-actions{justify-content:center;margin-top:8px}@media (max-width:700px){#scoring-overlay:not(.board-phase){align-items:flex-end}.scoring-content{min-width:0;width:calc(100 * var(--vw));max-width:calc(100 * var(--vw));max-height:calc(92 * var(--dvh));padding:16px 14px calc(14px + env(safe-area-inset-bottom,0px));border-bottom:0;border-left:0;border-right:0;border-radius:16px 16px 0 0;overflow-y:auto}.scoring-content .round-kicker{font-size:10.5px}#scoring-title{margin-bottom:10px;font-size:21px}.score-phase{margin:-4px auto 12px;padding:5px 12px;font-size:12px}.scoring-table{margin-bottom:12px;font-size:13px}.scoring-table th{letter-spacing:1px;padding:6px 4px;font-size:9px}.scoring-table td{padding:8px 4px}.scoring-table td.total-row,.scoring-table tr.total-row td{font-size:14px}.score-feed{gap:4px;min-height:0}.score-item{grid-template-columns:24px auto 1fr auto;gap:6px;padding:5px 8px;font-size:12px}.score-actions{margin-top:10px}.score-actions .btn-primary{width:100%}.gameover-content{min-width:0;width:calc(calc(100 * var(--vw)) - 16px);max-width:calc(calc(100 * var(--vw)) - 16px);max-height:calc(calc(100 * var(--dvh)) - 16px);padding:18px 12px 14px;overflow-y:auto}}.era-peek{z-index:3100;background:var(--s0);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);animation:fade-in var(--t-med) ease-out;grid-template-rows:auto auto minmax(0,1fr);display:grid;position:fixed;inset:0}.era-peek-bar{background:var(--s1);border-bottom:1px solid var(--line);align-items:center;gap:12px;min-width:0;padding:8px 12px;display:flex}.era-peek-seg{flex:none}.era-peek-seg .seg-btn{padding:7px 14px;font-size:12.5px}.era-peek-seg .seg-btn:disabled{opacity:.4;cursor:not-allowed}.era-peek-scores{scrollbar-width:none;flex:1;gap:8px;min-width:0;display:flex;overflow-x:auto}.era-peek-scores::-webkit-scrollbar{display:none}.era-peek-seat{background:var(--s2);border:1px solid var(--line);white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;flex:none;align-items:baseline;gap:7px;padding:4px 11px;font-size:12px;display:inline-flex}.era-peek-name{font-family:var(--font-display);text-overflow:ellipsis;max-width:14ch;font-weight:700;overflow:hidden}.era-peek-total{font-family:var(--font-display);color:var(--brass-2);font-size:15px;font-weight:700}.era-peek-part{color:var(--text-2);align-items:center;gap:3px;font-size:11.5px;display:inline-flex}.era-peek-note{color:var(--text-3);align-self:center;font-size:12px}.era-peek-close{flex:none}.era-peek-caption{color:var(--text-3);background:var(--s1);border-bottom:1px solid var(--line);margin:0;padding:5px 14px;font-size:11.5px}.era-peek-board{min-width:0;min-height:0;display:flex;position:relative}body[data-era-peek] .board-popover,body[data-era-peek] .tip-bubble{z-index:3200}@media (max-width:720px){.era-peek-bar{flex-wrap:wrap;gap:8px}.era-peek-scores{flex-basis:100%;order:3}.era-peek-close{margin-left:auto}}
.form-group-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.form-group-head>label{margin-bottom:0}.help-btn{color:var(--brass-2);border-color:var(--brass-glow);gap:6px}.help-btn:hover{background:var(--brass-dim);color:var(--brass-2)}.help-mark{font-weight:700}.preset-btn.preset-learn{border-color:#5ec98a66}.preset-btn.preset-learn .preset-label{color:var(--ok)}.preset-btn.preset-llm .preset-label{color:var(--info)}.seat-row{grid-template-columns:18px minmax(120px,1fr) auto auto}.seat-row.llm{border-color:#5aa7e080}.seat-row.llm .seg-btn.on{background:var(--info);color:#08131c}.seat-llm{grid-column:1/-1;grid-template-columns:170px 1fr;gap:8px;padding-top:4px;display:grid}.seat-llm select,.seat-llm input,.key-row input{border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--s0);color:var(--text);padding:7px 10px;font-size:12.5px}.seat-llm select:focus,.seat-llm input:focus,.key-row input:focus{border-color:var(--info);outline:none;box-shadow:0 0 0 3px #5aa7e02e}.seat-llm-url{grid-column:1/-1}.llm-keys{border-radius:var(--r-md);background:var(--s2);border:1px solid #5aa7e059;padding:12px 14px}.setup-note{color:var(--text-2);margin-bottom:10px;font-size:12px;line-height:1.5}.setup-note-warn{color:var(--brass-2)}.setup-note strong{color:var(--text)}.key-row{grid-template-columns:130px 1fr;align-items:center;gap:10px;margin-bottom:6px;display:grid}.key-label{color:var(--text-2);font-size:12px;font-weight:600}.key-none{color:var(--text-3);font-size:12px;font-style:italic}.check-row{color:var(--text-2);cursor:pointer;align-items:center;gap:9px;margin-top:6px;font-size:12.5px;display:flex}.check-row input{accent-color:var(--brass);width:15px;height:15px}.coach-row{border-radius:var(--r-md);background:var(--s2);border:1px solid var(--line);margin-top:12px;padding:10px 12px}.coach-row strong{color:var(--ok)}.setup-error{color:var(--danger-text);border-radius:var(--r-sm);background:#e5484d1f;border:1px solid #e5484d59;padding:8px 12px;font-size:12.5px}#tutorial-overlay{z-index:3500;background:var(--veil);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in var(--t-med) ease-out;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tutorial-dialog{width:min(880px, calc(94 * var(--vw)));height:min(620px, calc(88 * var(--vh)));border-radius:var(--r-lg);background:var(--s2);border:1px solid var(--line-2);box-shadow:var(--shadow-3);animation:pop-in var(--t-med) var(--ease);grid-template-columns:210px 1fr;display:grid;position:relative;overflow:hidden}.tutorial-nav{background:var(--s1);border-right:1px solid var(--line);flex-direction:column;gap:2px;padding:18px 12px;display:flex;overflow-y:auto}.tutorial-nav-title{font-family:var(--font-display);color:var(--brass);letter-spacing:.6px;padding:0 8px 12px;font-size:15px}.tutorial-nav-item{text-align:left;border-radius:var(--r-sm);color:var(--text-2);transition:background var(--t-fast), color var(--t-fast);align-items:center;gap:10px;padding:8px 10px;font-size:12.5px;display:flex}.tutorial-nav-item:hover{background:var(--s3);color:var(--text)}.tutorial-nav-item.active{background:var(--brass-dim);color:var(--brass-2);font-weight:600}.tutorial-nav-num{border:1px solid var(--line-2);border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:10.5px;font-weight:700;display:inline-flex}.tutorial-nav-item.active .tutorial-nav-num{background:var(--brass);color:var(--on-brass);border-color:var(--brass)}.tutorial-page{min-height:0;animation:fade-in var(--t-med) ease-out;flex-direction:column;padding:26px 32px 20px;display:flex}.tutorial-page h2{font-family:var(--font-display);color:var(--text);margin:2px 0 14px;font-size:26px}.tutorial-body{min-height:0;color:var(--text-2);flex:1;padding-right:8px;font-size:14px;line-height:1.6;overflow-y:auto}.tutorial-body p{margin-bottom:10px}.tutorial-body strong{color:var(--text)}.tutorial-body ul,.tutorial-body ol{margin:0 0 10px 20px}.tutorial-body li{margin-bottom:6px}.tutorial-body .cost,.tutorial-body .gains{vertical-align:middle}.lesson-tip{border-radius:var(--r-sm);background:var(--brass-dim);border-left:3px solid var(--brass);color:var(--text);padding:9px 12px;font-size:13px}.lesson-grid{grid-template-columns:1fr 1fr;gap:8px 14px;margin:8px 0 12px;font-size:13px;display:grid}.lesson-grid>div{border-radius:var(--r-sm);background:var(--s1);border:1px solid var(--line);padding:8px 10px}.lesson-badge{color:var(--text);align-items:center;gap:5px;margin-right:6px;font-weight:600;display:inline-flex}.lesson-tips li{margin-bottom:8px}.tutorial-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:14px;display:flex}.tutorial-progress{color:var(--text-3);font-size:12px}.tutorial-top{display:none}.tutorial-close{width:30px;height:30px;color:var(--text-3);z-index:3;border-radius:50%;font-size:20px;line-height:1;position:absolute;top:10px;right:12px}.tutorial-close:hover{background:var(--s3);color:var(--text)}.ui-guide-keys{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.ui-guide-key{align-items:flex-start;gap:10px;display:flex}.ui-guide-glyph{border:1px solid var(--line-2);background:var(--s1);width:30px;height:30px;color:var(--text);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:14px;display:inline-flex}.ui-guide-glyph svg{width:15px;height:15px}@media (max-width:700px){#tutorial-overlay{justify-content:stretch;align-items:stretch}.tutorial-dialog{width:calc(100 * var(--vw));height:calc(100 * var(--dvh));border:0;border-radius:0;flex-direction:column;animation:none;display:flex;position:relative}.tutorial-top{border-bottom:1px solid var(--line);background:var(--s1);flex:none;align-items:center;padding:10px 52px 10px 10px;display:flex}.tutorial-toc{border-radius:var(--r-sm);text-align:left;width:100%;min-height:40px;color:var(--text);align-items:center;gap:10px;padding:6px 10px;font-size:13.5px;font-weight:600;display:flex}.tutorial-toc:hover,.tutorial-dialog.listing .tutorial-toc{background:var(--s3)}.tutorial-toc-num{background:var(--brass-dim);color:var(--brass-2);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:3px 8px;font-size:11px;font-weight:700}.tutorial-toc-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tutorial-toc-caret{color:var(--text-3);transition:transform var(--t-fast) var(--ease);flex:none;font-size:11px}.tutorial-dialog.listing .tutorial-toc-caret{transform:rotate(180deg)}.tutorial-nav{min-height:0;padding:8px 10px calc(10px + env(safe-area-inset-bottom,0px));background:var(--s2);animation:fade-in var(--t-fast) ease-out;border-right:0;flex-direction:column;flex:1;gap:2px;display:none;overflow-y:auto}.tutorial-dialog.listing .tutorial-nav{display:flex}.tutorial-dialog.listing .tutorial-page,.tutorial-nav-title{display:none}.tutorial-nav-item{border-radius:var(--r-sm);flex:none;min-height:44px;padding:8px 12px;font-size:13.5px}.tutorial-nav-item.active{background:var(--brass-dim)}.tutorial-page{min-height:0;padding:14px 16px calc(12px + env(safe-area-inset-bottom,0px));flex:1}.tutorial-page h2{margin:0 0 10px;font-size:21px}.tutorial-body{padding-right:2px;font-size:14px}.tutorial-body ul,.tutorial-body ol{margin-left:16px}.lesson-grid{grid-template-columns:1fr}.tutorial-footer{margin-top:8px;padding-top:10px}.tutorial-footer .tutorial-progress{display:none}.tutorial-footer .modal-btn,.tutorial-footer .btn-primary{min-height:40px}.tutorial-close{background:var(--s2);border:1px solid var(--line);width:34px;height:34px;top:8px;right:8px}}.coach{border-radius:var(--r-md);background:linear-gradient(180deg, #5ec98a14, transparent 70%), var(--s1);border:1px solid #5ec98a59;margin-bottom:12px}.coach-head{cursor:pointer;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.coach-title{font-family:var(--font-display);color:var(--ok);letter-spacing:.8px;text-transform:uppercase;font-size:12.5px;font-weight:700}.coach-toggle{color:var(--text-3);font-size:10.5px}.coach-body{padding:0 12px 10px}.coach-tip{color:var(--text-2);margin-bottom:8px;font-size:12.5px;line-height:1.5}.coach-sub{letter-spacing:1.2px;text-transform:uppercase;color:var(--text-3);margin:4px 0 6px;font-size:10.5px;font-weight:600}.coach-list{flex-direction:column;gap:5px;list-style:none;display:flex}.coach-move{text-align:left;border-radius:var(--r-sm);background:var(--s2);border:1px solid var(--line);width:100%;transition:border-color var(--t-fast), background var(--t-fast);gap:2px;padding:8px 10px;display:grid}.coach-move:hover,.coach-move:focus-visible{border-color:var(--ok);background:var(--s3)}.coach-move.best{border-color:#5ec98a80}.coach-move-label{color:var(--text);font-size:12.5px;font-weight:600}.coach-move-why{color:var(--text-2);font-size:11.5px;line-height:1.4}.coach-move-meta{color:var(--text-3);font-size:10.5px}.llm-thinking{color:var(--info);align-items:center;gap:8px;margin:6px 0;font-size:12.5px;display:flex}.spinner{border:2px solid #5aa7e04d;border-top-color:var(--info);border-radius:50%;flex:none;width:12px;height:12px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.llm-thought{border-left:3px solid var(--info);border-radius:0 var(--r-sm) var(--r-sm) 0;font-family:var(--font-serif);color:var(--text-2);background:#5aa7e014;margin:8px 0 0;padding:8px 12px;font-size:13.5px;font-style:italic;line-height:1.5}.log-thought{border-left:2px solid var(--pc,var(--info));font-family:var(--font-serif);color:var(--text-2);grid-template-columns:14px 1fr;gap:4px;margin:0 0 4px 14px;padding:4px 8px 4px 10px;font-size:12px;font-style:italic;line-height:1.45;display:grid}.log-thought-quote{font-family:var(--font-display);color:var(--pc,var(--info));opacity:.8;font-size:18px;line-height:1}.board-popover{z-index:950}.board-popover .mat-popover-row{grid-template-columns:62px 1fr}.board-popover-value{flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.board-popover-badges{align-items:center;gap:4px;display:inline-flex}.board-popover-gap{width:8px}.merchant-badge{color:#2a2620;width:28px;height:28px;font-family:var(--font-display);background:#e9e1cc;border-radius:6px;justify-content:center;font-size:15px;font-weight:700}.tag-ok{color:var(--ok);border-color:var(--ok-line)}.link-slot.hover-target{filter:none}.link-slot.hover-target>rect:first-of-type{stroke:#fff;stroke-width:1.6px}.form-group>label.check-row{text-transform:none;letter-spacing:0;margin-bottom:0;font-size:12.5px;font-weight:400}.tutorial-body ol{margin-left:26px}html[lang=th] body{line-height:1.55}html[lang=th] :is(.hand-label,.mat-label,.turn-section-label,#left-panel h3,.form-group>label,.round-kicker,.coach-title,.coach-sub,.mat-popover-label,.confirm-row-label,.scoring-table th,.btn-primary,.modal-btn-primary,.log-round,.preset-label,.panel-section-head h3,.turn-head-name,.round-content h2,.tutorial-page h2,#scoring-title,.action-name,.stepper-step,.game-subtitle,.tag,.chooser-group-name){letter-spacing:0}html[lang=th] .btn-primary,html[lang=th] .modal-btn-primary{font-size:14px}.lang-toggle{margin-left:8px}.lang-toggle .seg-btn{padding:4px 9px;font-size:11px}.lang-toggle.compact .seg-btn{padding:3px 8px}.setup-lang{position:absolute;top:14px;right:16px}.setup-container{position:relative}.lesson-tile{border-radius:var(--r-md);background:var(--s2);border:1px solid var(--line);grid-template-columns:auto 1fr;align-items:center;gap:6px 16px;margin:8px 0 12px;padding:12px 14px;display:grid}.lesson-tile-face{border-radius:var(--r-sm);background:var(--s0);border:1px solid var(--line-2);grid-row:1/3;justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:relative}.lesson-tile-level{font-family:var(--font-display);color:var(--brass);font-size:13px;font-weight:700;position:absolute;bottom:3px;right:5px}.lesson-tile-parts{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:13px;display:grid}.lesson-tile-parts dt{color:var(--text-3)}.lesson-tile-parts dd{color:var(--text);margin:0}.lesson-tile-note{color:var(--text-2);grid-column:1/-1;margin:4px 0 0;font-size:12.5px}.lesson-table-wrap{border-radius:var(--r-sm);border:1px solid var(--line);margin:8px 0 12px;overflow-x:auto}.lesson-table{border-collapse:collapse;width:100%;font-size:12.5px}.lesson-table th{text-align:left;background:var(--s1);letter-spacing:1px;text-transform:uppercase;color:var(--text-3);padding:7px 10px;font-size:10px;font-weight:700}.lesson-table td{vertical-align:top;border-top:1px solid var(--line);color:var(--text-2);padding:7px 10px}.lesson-table td:first-child{white-space:nowrap;color:var(--text)}.lesson-table svg{vertical-align:middle}@media (max-width:700px){.lesson-tile{grid-template-columns:1fr}.lesson-tile-face{grid-row:auto}.lesson-grid{grid-template-columns:1fr}}
#match-label{border-left:1px solid var(--line-2);font-family:var(--font-serif);color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;max-width:260px;margin-left:14px;padding-left:14px;font-size:13px;font-style:italic;overflow:hidden}.form-group-actions{gap:8px;display:inline-flex}.match-name-input{border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--s0);width:100%;color:var(--text);padding:9px 12px;font-size:13px}.match-name-input:focus{border-color:var(--brass);box-shadow:0 0 0 3px var(--brass-dim);outline:none}#matches-overlay{z-index:3500;background:var(--veil);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in var(--t-med) ease-out;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.matches-dialog{width:min(760px, calc(94 * var(--vw)));max-height:calc(86 * var(--vh));border-radius:var(--r-lg);background:var(--s2);border:1px solid var(--line-2);box-shadow:var(--shadow-3);animation:pop-in var(--t-med) var(--ease);flex-direction:column;padding:22px 26px 18px;display:flex;position:relative}.matches-dialog h2{font-family:var(--font-display);color:var(--brass);margin-bottom:6px;font-size:22px}.matches-note{color:var(--text-2);margin-bottom:14px;font-size:12.5px;line-height:1.5}.matches-list{flex-direction:column;gap:8px;min-height:0;padding-right:4px;list-style:none;display:flex;overflow-y:auto}.match-row{border-radius:var(--r-md);background:var(--s1);border:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 14px;padding:10px 14px;display:grid}.match-row:hover{border-color:var(--line-2)}.match-title{font-family:var(--font-display);color:var(--text);align-items:center;gap:8px;min-width:0;font-size:14px;font-weight:700;display:flex}.match-title .tag{flex:none;margin-left:0}.match-title .tag.done{color:var(--ok);border-color:var(--ok-line)}.match-title .tag.live{color:var(--warn);border-color:#f0b64a73}.match-title .tag.early{color:var(--text-2);border-color:var(--line-2);border-style:dashed}.match-meta{color:var(--text-3);flex-wrap:wrap;gap:4px 12px;margin-top:3px;font-size:11.5px;display:flex}.match-seat{align-items:center;gap:4px;display:inline-flex}.match-seat-dot{width:8px;height:8px;box-shadow:0 0 0 1.5px var(--shade-50);border-radius:50%}.match-seat-vp{background:var(--s1);border:1px solid var(--line);font-variant-numeric:tabular-nums;color:var(--text-2);border-radius:999px;margin-left:2px;padding:1px 6px;font-size:11px}.match-seat-vp.best{color:var(--brass);border-color:var(--brass-glow);font-weight:700}.match-actions{gap:6px;display:flex}.match-actions .modal-btn{padding:6px 12px;font-size:12px}.match-actions .danger{border-color:var(--danger);color:var(--danger-text)}.match-go,.match-watch{border:1px solid var(--line-2);color:var(--text-2);background:0 0;align-items:center;gap:7px;display:inline-flex}.match-go{border-color:var(--brass);background:var(--brass-dim);color:var(--brass-2);font-weight:600}.match-go:hover:not(:disabled){background:var(--brass);border-color:var(--brass);color:var(--on-brass)}.match-watch:hover:not(:disabled){border-color:var(--brass);color:var(--text);background:var(--brass-dim)}.match-go:disabled,.match-watch:disabled{opacity:.45}.match-go svg,.match-watch svg{width:14px;height:14px}.matches-empty{text-align:center;color:var(--text-3);padding:26px;font-style:italic}.matches-close{width:30px;height:30px;color:var(--text-3);border-radius:50%;font-size:20px;line-height:1;position:absolute;top:10px;right:12px}.matches-close:hover{background:var(--s3);color:var(--text)}.match-rename{gap:6px;display:flex}.match-rename input{border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--s0);color:var(--text);flex:1;padding:6px 10px;font-size:13px}#replay-bar{background:var(--s1);border-bottom:1px solid var(--line);align-items:center;gap:14px;height:40px;padding:0 14px;display:flex}.replay-kicker{font-family:var(--font-display);letter-spacing:1.5px;color:var(--brass);text-transform:uppercase;font-size:12px;font-weight:700}.replay-name{font-family:var(--font-serif);color:var(--text-2);font-size:14px;font-style:italic}.replay-era{color:var(--text-3);font-size:12px}.replay-spacer{flex:1}#replay-panel{background:var(--s1);border-left:1px solid var(--line);flex-direction:column;gap:12px;min-width:0;padding:14px;display:flex;overflow-y:auto}#replay-panel .mat-panel-stack{max-height:calc(40 * var(--vh));flex:none}#replay-panel .mat-stack{min-height:0;overflow-y:auto}#replay-panel .mat-panel-single{border-top:1px solid var(--line);background:0 0;max-height:none;padding:12px 0 0}#replay-panel .mat-panel-single .mat-stack{overflow:visible}#replay-panel .mat-panel-single .player-mat-container.stacked{padding:8px 10px 10px}#replay-panel .mat-panel-single .player-mat-container.stacked .mat-label{margin-bottom:8px;font-size:11px}#replay-panel .mat-panel-single .player-mat-container.stacked .player-mat{gap:7px}#replay-panel .mat-panel-single .player-mat-container.stacked .mat-tile{width:22px;height:22px;font-size:7.5px}.replay-controls{gap:6px;display:flex}.replay-controls button{border-radius:var(--r-sm);border:1px solid var(--line-2);color:var(--text);background:var(--s2);flex:1;padding:9px 0;font-size:15px}.replay-controls button:hover:not(:disabled){border-color:var(--brass);background:var(--s3)}.replay-controls button:disabled{opacity:.35}.replay-controls button.playing{background:var(--brass);color:var(--on-brass);border-color:var(--brass)}.replay-slider{width:100%;accent-color:var(--brass)}.replay-step{font-family:var(--font-display);color:var(--text);font-size:15px;font-weight:700}.replay-move{border-radius:var(--r-sm);background:var(--s2);border:1px solid var(--line);color:var(--text-2);padding:10px 12px;font-size:13px;line-height:1.5}.replay-move .log-player{font-family:var(--font-display);font-weight:700}.replay-outcome{border-radius:var(--r-sm);background:var(--brass-dim);border-left:3px solid var(--brass);color:var(--text);padding:8px 12px;font-size:12.5px}.replay-speed{color:var(--text-3);align-items:center;gap:8px;font-size:12px;display:flex}.replay-standings{margin-top:6px}.replay-standings h3{font-family:var(--font-display);color:var(--brass);margin-bottom:6px;font-size:14px}.replay-standings table{border-collapse:collapse;width:100%;font-size:13px}.replay-standings td{border-bottom:1px solid var(--line);padding:5px 6px}.replay-standings td:last-child{text-align:right;color:var(--brass-2);font-weight:700}.match-admin{align-items:center;gap:6px;display:inline-flex}.match-admin .admin-switch{border:1px dashed var(--line-2);color:var(--text-3);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.match-admin .admin-switch:hover{color:var(--text);border-color:var(--brass-glow)}.match-admin .admin-switch.on{border-style:solid;border-color:var(--brass);background:var(--brass-dim);color:var(--brass-2)}.match-list.ledger .match-list-head{flex-wrap:wrap;gap:10px}.match-list.ledger .seg-count{background:var(--shade-30,#0000004d);font-variant-numeric:tabular-nums;border-radius:999px;margin-left:5px;padding:0 5px;font-size:10.5px}.match-list.ledger .match-search{flex:1;min-width:180px;max-width:320px;margin-left:auto}.match-list.ledger .matches-list{border:1px solid var(--line);border-radius:var(--r-md);gap:0;overflow:visible}.match-list.ledger .match-row{background:0 0;border:0;border-radius:0;grid-template-columns:4px minmax(200px,1.1fr) minmax(280px,1.6fr) auto;align-items:center;gap:0 18px;padding:12px 14px 12px 0;position:relative}.match-list.ledger .match-row+.match-row{border-top:1px solid var(--line)}.match-list.ledger .match-row:hover{background:var(--s2)}.match-list.ledger .match-day{letter-spacing:1.4px;text-transform:uppercase;color:var(--text-3);grid-column:1/-1;padding:10px 14px 6px;font-size:10.5px;font-weight:700}.match-list.ledger .match-row:first-child .match-day{padding-top:12px}.match-list.ledger .match-stripe{background:var(--ok);border-radius:0 2px 2px 0;align-self:stretch}.match-list.ledger .match-row.live .match-stripe{background:var(--brass);box-shadow:0 0 10px var(--brass-glow)}.match-list.ledger .match-row.early .match-stripe{background:var(--text-3)}.match-list.ledger .match-who{min-width:0}.match-list.ledger .match-name{font-family:var(--font-display);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.match-list.ledger .match-meta{font-variant-numeric:tabular-nums;margin-top:3px}.match-list.ledger .match-status{font-weight:600}.match-list.ledger .match-status.done{color:var(--ok)}.match-list.ledger .match-status.live{color:var(--brass)}.match-list.ledger .match-status.early{color:var(--text-2)}.match-list.ledger .match-standings{grid-template-columns:1fr;gap:3px;font-size:12px;display:grid}.match-list.ledger .match-standing{grid-template-columns:16px minmax(90px,150px) 1fr 44px;align-items:center;gap:0 8px;display:grid}.match-list.ledger .match-standings.plain .match-standing{grid-template-columns:16px 1fr}.match-list.ledger .match-standings.plain .match-bar,.match-list.ledger .match-standings.plain .match-vp{display:none}.match-list.ledger .match-place{color:var(--text-3);text-align:right;font-variant-numeric:tabular-nums;font-size:10.5px;font-weight:700}.match-list.ledger .match-place.win{color:var(--brass)}.match-list.ledger .match-seat{min-width:0;color:var(--text-2);align-items:center;gap:6px;display:flex}.match-list.ledger .match-seat-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.match-list.ledger .match-bar{background:var(--s3);border-radius:3px;height:6px;overflow:hidden}.match-list.ledger .match-bar i{background:var(--line-2);border-radius:3px;height:100%;display:block}.match-list.ledger .match-vp{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-2)}.match-list.ledger .match-standing.mine .match-bar i{background:linear-gradient(90deg, var(--brass), var(--brass-2))}.match-list.ledger .match-standing.mine .match-vp{color:var(--brass);font-weight:700}.match-list.ledger .match-standing.mine .match-seat-name{color:var(--text);font-weight:600}.match-list.ledger .match-standings-note{color:var(--text-3);margin-bottom:2px;font-size:11px}.match-list.ledger .match-actions{align-items:center}.match-list.ledger .match-actions .match-go,.match-list.ledger .match-actions .match-watch{font-family:var(--font-display);letter-spacing:.6px;padding:8px 14px}.match-list.ledger .match-more{position:relative}.match-list.ledger .match-more>.modal-btn{padding:7px 10px;font-size:16px;line-height:1}.match-list.ledger .match-menu{z-index:30;border-radius:var(--r-md);border:1px solid var(--line-2);background:var(--s2);min-width:232px;box-shadow:var(--shadow-3);animation:pop-in var(--t-fast) var(--ease);flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.match-list.ledger .match-menu>button,.match-list.ledger .match-menu .share-btn,.match-list.ledger .match-menu .report-btn{border-radius:var(--r-sm);text-align:left;width:100%;color:var(--text-2);background:0 0;border:0;justify-content:flex-start;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}.match-list.ledger .match-menu>button:hover,.match-list.ledger .match-menu .share-btn:hover,.match-list.ledger .match-menu .report-btn:hover{background:var(--s3);color:var(--text)}.match-list.ledger .match-menu>button.danger{color:var(--danger-text,var(--danger))}.match-list.ledger .match-menu .share{width:100%}.match-list.ledger .match-menu .share-panel{left:auto;right:0}.report-state{align-items:center;gap:6px;margin:0 0 2px;font-size:12.5px;font-weight:600;display:flex}.report-state svg{flex:none;width:15px;height:15px}.report-settled{color:var(--info)}.report-done{color:var(--ok)}.report-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-3,var(--text-2));align-items:baseline;gap:8px;margin:12px 0 5px;font-size:10.5px;font-weight:700;display:flex}.report-when{letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px;font-weight:500}.report-quote{border-left:3px solid var(--line-2);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--s3,#ffffff0a);color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:8px 10px;font-size:12.5px;line-height:1.55}.report-mine{border-left-color:var(--brass);background:#c4964a14}.report-outcome{border-left-color:var(--info);background:#5aa7e014}.report-waiting{color:var(--text-3,var(--text-2));font-style:italic}.admin-row-outcome{color:var(--info);font-size:11.5px}.match-list.ledger .match-menu .report-btn .report-name{white-space:nowrap;flex:1;min-width:0}.report-tag{letter-spacing:.02em;background:0 0;border:1px solid;border-radius:999px;flex:none;padding:2px 7px;font-size:10px;font-weight:700;line-height:1.5}.match-list.ledger .match-menu .report-btn.done{color:var(--text-2)}.match-list.ledger .match-menu .report-btn.done .report-tag,.match-list.ledger .match-menu .report-btn.done svg{color:var(--ok)}.match-list.ledger .match-menu .report-btn.settled .report-tag,.match-list.ledger .match-menu .report-btn.settled svg{color:var(--info)}.match-list.ledger .match-menu .report-btn:hover .report-name{color:var(--text)}.match-list.ledger .match-menu .report-btn svg{flex:none;width:13px;height:13px}.match-list.ledger .match-rename{max-width:420px}@media (max-width:760px){.match-list.ledger .match-menu .report-panel{width:min(360px, calc(calc(100 * var(--vw)) - 56px));max-height:calc(calc(100 * var(--dvh)) - 220px);overflow-y:auto}.match-list.ledger .match-row{grid-template-columns:4px 1fr;gap:8px 12px;padding:12px 12px 12px 0}.match-list.ledger .match-standings,.match-list.ledger .match-actions{grid-column:2}.match-list.ledger .match-standing{grid-template-columns:16px 1fr 60px 40px}.match-list.ledger .match-actions .match-go,.match-list.ledger .match-actions .match-watch{flex:1;justify-content:center}.match-list.ledger .match-search{max-width:none;margin-left:0}}.match-ask .modal-btn-primary.danger{background:var(--danger);border-color:var(--danger);color:#fff}.match-ask .modal-btn-primary.danger:hover{filter:brightness(1.1)}.replays-tabs{flex:none;align-self:flex-end}.replays-swap{border:1px solid rgba(var(--brass-rgb),.5);background:var(--brass-dim);color:var(--brass-2);font:inherit;cursor:pointer;border-radius:999px;flex:none;align-self:flex-start;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:600;display:none}.replays-swap svg{width:14px;height:14px}.replays-swap:active{transform:translateY(1px)}@media (max-width:900px),(max-height:520px) and (max-width:1200px){.replays .page-head{flex-direction:row;align-items:flex-start;gap:10px}.replays .page-head-text{flex:1;min-width:0}.replays-tabs{display:none}.replays-swap{display:inline-flex}}.match-list.ledger.ranked-list .match-standing{grid-template-columns:16px minmax(90px,170px) 1fr 44px 52px}.ranked-list .match-seat-name{color:inherit}.ranked-list .match-seat-name:hover{color:var(--brass-2)}.ranked-list .result-delta{justify-self:end;min-width:0;margin-left:0}.ranked-list .match-meta .tag{margin-left:0}.sk-ranked-row{min-height:92px}.sk-ranked-row .sk{background:0 0;grid-column:1/-1;height:100%;min-height:60px}@media (max-width:700px){.match-list.ledger.ranked-list .match-standing{grid-template-columns:16px minmax(0,1fr) minmax(48px,72px) 34px 46px;gap:0 6px}.ranked-list .match-bar{height:5px}}#game-screen.replay{--era-canal:var(--info);--era-rail:#cf7a4a}#replay-deck{background:var(--s1);border-top:1px solid var(--line);box-shadow:0 -8px 24px var(--shade-35);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));flex:none}.deck{flex-direction:column;gap:9px;min-width:0;display:flex}.deck .canal{--era:var(--era-canal)}.deck .rail{--era:var(--era-rail)}.deck-tl{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;flex-direction:column;gap:3px;display:flex;position:relative}.deck-eras{letter-spacing:.05em;font-size:10.5px;font-weight:700;display:flex}.deck-eras span{white-space:nowrap;min-width:0;color:var(--era);flex:1 1 0;align-items:baseline;gap:6px;display:flex;overflow:hidden}.deck-eras span:before{content:"";background:currentColor;border-radius:50%;flex:none;align-self:center;width:7px;height:7px}.deck-eras small{letter-spacing:0;color:var(--text-3);text-overflow:ellipsis;font-weight:500;overflow:hidden}.deck-income{background:linear-gradient(90deg, color-mix(in srgb, var(--era-canal) 11%, transparent) 0 var(--split), color-mix(in srgb, var(--era-rail) 11%, transparent) var(--split) 100%);border-radius:6px 6px 0 0;height:32px;position:relative;overflow:hidden}.deck-income svg{width:100%;height:100%;display:block;position:absolute;inset:0}.deck-income-label{letter-spacing:.06em;color:var(--text-3);pointer-events:none;font-size:9.5px;position:absolute;bottom:1px;right:6px}.deck-rounds{height:26px;position:relative}.deck-round{border:1px solid var(--line-2);background:var(--s2);color:var(--text-3);font-variant-numeric:tabular-nums;transition:background var(--t-fast), border-color var(--t-fast), color var(--t-fast);border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:11px;font-weight:600;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}.deck-round:hover{border-color:var(--era);color:var(--text)}.deck-round.past{background:color-mix(in srgb, var(--era) 24%, var(--s2));border-color:color-mix(in srgb, var(--era) 40%, var(--line-2));color:var(--text-2)}.deck-round.now{background:var(--era);border-color:var(--era);color:#10131a}.deck-flag{z-index:3;background:var(--s0);border:1px solid var(--brass);width:22px;height:34px;box-shadow:0 0 0 2px var(--s1);border-radius:5px;justify-content:center;align-items:center;margin-left:-11px;padding:0;display:flex;position:absolute;top:-4px}.deck-flag.done{background:var(--brass-dim)}.deck-flag:hover{background:var(--brass)}.deck-ticks{height:12px;position:relative}.deck-tick{opacity:.35;border-radius:1px;width:2px;height:6px;margin-left:-1px;position:absolute;bottom:0}.deck-tick.sell{height:12px}.deck-tick.past{opacity:1}.deck-head{z-index:4;background:var(--text);width:2px;box-shadow:0 0 0 1px var(--s1);pointer-events:none;transition:left var(--t-fast);border-radius:2px;margin-left:-1px;position:absolute;top:-2px;bottom:-2px}.deck-head b{background:var(--text);color:var(--s0);font-variant-numeric:tabular-nums;border-radius:4px;padding:0 5px;font-size:10.5px;font-weight:700;line-height:15px;display:none;position:absolute;top:-15px;left:50%;transform:translate(-50%)}.deck-tip{z-index:6;background:var(--s3);border:1px solid var(--line-2);box-shadow:var(--shadow-3,0 6px 20px #00000080);white-space:nowrap;pointer-events:none;color:var(--text);border-radius:8px;padding:6px 10px;font-size:12px;line-height:1.45;position:absolute;bottom:calc(100% + 6px);transform:translate(-50%)}.deck-tip em{color:var(--text-3);font-style:normal}.deck-row{align-items:center;gap:12px;min-width:0;display:flex}.deck-btns{flex:none;gap:4px;display:flex}.deck-btns button{border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--s2);min-width:38px;height:36px;color:var(--text);justify-content:center;align-items:center;padding:0 8px;font-size:15px;display:inline-flex}.deck-btns button:hover:not(:disabled){border-color:var(--brass);background:var(--s3)}.deck-btns button:disabled{opacity:.32}.deck-btns .deck-round-btn{color:var(--text-2);white-space:nowrap;font-size:11.5px;font-weight:600}.deck-btns .deck-play{background:var(--brass);border-color:var(--brass);min-width:54px;color:var(--on-brass)}.deck-btns .deck-play:hover:not(:disabled){background:var(--brass-2);border-color:var(--brass-2)}.deck-now{flex-direction:column;flex:1 1 0;gap:1px;min-width:0;display:flex}.deck-where{white-space:nowrap;align-items:baseline;gap:8px;min-width:0;font-size:11.5px;font-weight:600;display:flex;overflow:hidden}.deck-where>span:not(.deck-n){color:var(--era)}.deck-n{font-family:var(--font-display);color:var(--text);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.deck-move{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.deck-move .log-player{font-family:var(--font-display);font-weight:700}.deck-jumps{flex:none;gap:6px;display:flex}.deck-chip{border:1px solid var(--line-2);background:var(--s2);height:30px;color:var(--text-2);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:12px;font-weight:600;display:inline-flex}.deck-chip:hover{border-color:var(--brass);color:var(--text)}.deck-speed{flex:none}.deck button:focus-visible{outline:2px solid var(--brass);outline-offset:1px}@media (max-width:1180px){.deck-jumps{display:none}}.deck-head.gliding{transition:left var(--glide,1.6s) linear}:is(.deck:has(.deck-head.gliding) .deck-round,.deck:has(.deck-head.gliding) .deck-tick){transition-duration:.6s}.deck-tick{transition:opacity var(--t-fast)}@media (prefers-reduced-motion:reduce){.deck-head,.deck-head.gliding,.deck-round,.deck-tick{transition:none}}.deck:not(.compact) .deck-eras{z-index:2;pointer-events:none;position:absolute;top:3px;left:0;right:0}.deck:not(.compact) .deck-eras span{text-shadow:0 0 4px var(--s0), 0 0 2px var(--s0);padding-left:7px}.deck.compact{gap:7px}.deck.compact .deck-eras small{display:none}.deck.compact .deck-rounds{height:24px}.deck.compact .deck-round{border-radius:3px;font-size:9.5px}.deck.compact .deck-flag{width:18px;height:30px;margin-left:-9px;top:-3px}.deck.compact .deck-head{top:14px}.deck.compact .deck-now{flex-basis:100%;order:-1}.deck.compact .deck-btns{flex:1}.deck.compact .deck-btns button{flex:1;min-width:0;height:38px}.deck.compact .deck-round-btn{display:none}.deck.compact .deck-speed .seg-btn{padding:8px 9px;font-size:11px}#replay-panel.replay-side{gap:10px}.replay-tabs{border-radius:var(--r-sm);flex:none;display:flex}.replay-tabs .seg-btn{text-align:center;flex:1;padding:7px 4px;font-size:11.5px;font-weight:600}#replay-panel.replay-side .mat-panel-single{border-top:0;padding-top:0}.replay-hand .hand-hint,#game-screen.replay #hand-bar .hand-hint{display:none}#game-screen.replay #game-layout{position:relative}.replay-charts.stage{z-index:40;max-height:none;padding:16px clamp(16px, calc(3 * var(--vw)), 40px) 24px;background:var(--s0);animation:fade-in var(--t-med) ease-out;border-bottom:0;position:absolute;inset:0;overflow-y:auto}.replay-charts-head{align-items:baseline;gap:14px;max-width:1560px;margin:0 auto 12px;display:flex}.replay-charts-head h2{font-family:var(--font-display);color:var(--brass);margin:0;font-size:20px}.replay-charts-hint{color:var(--text-3);flex:1;font-size:12px}.replay-charts-head .modal-btn{align-self:center;padding:6px 14px;font-size:12px}.replay-charts.stage .match-summary{max-width:1560px;margin:0 auto}.match-summary.wide{grid-template-columns:repeat(3,minmax(0,1fr))}.match-summary.wide .chart-svg{max-width:none}@media (max-width:1180px){.match-summary.wide{grid-template-columns:repeat(2,minmax(0,1fr))}.match-summary.wide>.chart-panel~.chart-panel~.chart-panel{grid-column:1/-1}}.chart-cursor line{stroke:var(--brass);stroke-width:1.5px}.chart-cursor text{fill:var(--brass-2);letter-spacing:.04em;font-size:10px;font-weight:700}.score-bars .chart-head{flex-wrap:wrap;align-items:center}.score-bars-legend{color:var(--text-2);flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;font-size:11px;list-style:none;display:flex}.score-bars-legend li{align-items:center;gap:5px;display:inline-flex}.score-bars-legend .part{border-radius:2px;width:10px;height:10px}.score-bar-row{grid-template-columns:minmax(90px,160px) minmax(0,1fr) 44px;align-items:center;gap:12px;padding:4px 0;display:grid}.score-bar-name{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:700;overflow:hidden}.score-bar-track{background:var(--s2);border-radius:4px;height:20px;display:flex;overflow:hidden}.score-bar-track .part{color:#10131a;font-variant-numeric:tabular-nums;box-shadow:inset -1px 0 0 var(--s1);justify-content:center;align-items:center;font-size:10.5px;font-style:normal;font-weight:700;display:flex}.score-bar-total{font-family:var(--font-display);color:var(--brass-2);text-align:right;font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.part.canalLinks{background:color-mix(in srgb, var(--info) 55%, #fff)}.part.canalTiles{background:var(--info)}.part.railLinks{background:#e2af92}.part.railTiles{background:#cf7a4a}.part.merchants{background:var(--brass)}.match-summary.wide>.chart{order:2}.match-summary.wide>.score-bars{order:1}.match-summary.wide>.chart-wide:not(.score-bars){order:3}.match-summary.wide>.chart:last-child{order:4}.played{border-radius:var(--r-md);background:var(--s2);border:1px solid var(--line-2);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.played-head{letter-spacing:.06em;color:var(--text-3);text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:8px;margin:0;font-size:11px;font-weight:600;display:flex}.played-who{font-family:var(--font-display);letter-spacing:0;text-transform:none;font-size:12.5px}.played-pile{--pw:124px;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;padding:10px 0 2px;display:flex;position:relative}.played.several .played-pile{--pw:86px}.played-top{z-index:2;will-change:transform;justify-content:center;gap:6px;display:flex;position:relative}.played-card{width:var(--pw);display:block}.played-card .card,.played-under .card{aspect-ratio:82/122;cursor:pointer;width:100%;min-width:0;height:auto;display:flex;transform:none}.played-card .card{box-shadow:0 8px 22px #0000008c, 0 0 0 1px var(--line-2), 0 0 18px rgba(var(--brass-rgb),.2);transition:transform var(--t-fast), box-shadow var(--t-fast)}.played:not(.several) .played-card .card-name{font-size:12.5px}.played:not(.several) .played-card .card-type{letter-spacing:2.4px;font-size:9.5px}.played:not(.several) .played-card .card-art{width:84%;height:auto}.played:not(.several) .played-card .card-slot-row{flex-wrap:wrap;gap:5px;min-height:0;margin-top:7px}.played:not(.several) .played-card .card-slot-row svg{width:22px!important;height:22px!important}.played-under{width:var(--pw);margin-left:calc(var(--pw) / -2);z-index:1;filter:brightness(.55)saturate(.8);transition:transform var(--t-med) var(--ease);pointer-events:none;position:absolute;top:10px;left:50%}.played-under.u1{transform:translate(-16px,3px)rotate(-7deg)}.played-under.u2{z-index:0;transform:translate(18px,5px)rotate(8deg)}.played.several .played-under{display:none}.played-pile:hover .played-under.u1{transform:translate(-26px,2px)rotate(-10deg)}.played-pile:hover .played-under.u2{transform:translate(28px,4px)rotate(11deg)}.played-pile:hover .played-card .card{box-shadow:0 12px 26px #0009, 0 0 0 1px var(--brass), 0 0 22px rgba(var(--brass-rgb),.3);transform:translateY(-3px)}.played-count{z-index:3;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-size:10.5px;position:relative}.played-count b{background:var(--brass);color:var(--on-brass);letter-spacing:0;border-radius:999px;margin-left:4px;padding:1px 7px;font-size:11px;font-weight:700}.played-pile:hover .played-count{color:var(--brass-2)}.played-pile:focus-visible{outline:2px solid var(--brass);outline-offset:2px;border-radius:var(--r-md)}.replay-hand.of-mover .hand-discards{display:none}@media (prefers-reduced-motion:reduce){.played-under,.played-card .card{transition:none}}.replay-hand{flex-direction:column;gap:10px;display:flex}.replay-hand .replay-hand-who{justify-content:space-between;align-items:center}.replay-hand-left{letter-spacing:.06em;color:var(--text-3);text-transform:uppercase;font-size:11px;font-weight:600}.hand-motion{min-width:0;position:relative}.hand-motion-sweep{background:linear-gradient(90deg, var(--seat), color-mix(in srgb, var(--seat) 25%, transparent));height:2px;box-shadow:0 0 12px var(--seat);transform-origin:0;opacity:0;pointer-events:none;z-index:3;border-radius:2px;position:absolute;top:-4px;left:0;right:0}.hand-motion #player-hand>.card{will-change:transform}.replay-hand-who{justify-content:flex-end;display:flex}#hand-bar>.replay-hand-who{z-index:2;margin-top:-2px;position:absolute;right:10px}#game-screen.replay #hand-bar{position:relative}.rm{min-height:0;padding-top:env(safe-area-inset-top,0px);flex-direction:column;flex:1;display:flex;position:relative}.rm-bar{background:var(--s1);border-bottom:1px solid var(--line);z-index:30;flex:none;align-items:center;gap:8px;height:44px;padding:0 10px;display:flex;position:relative}.rm-bar .topbar-btn,.rm-menu .topbar-btn{border-radius:var(--r-sm);background:var(--s2);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--text-2);flex:none;justify-content:center;align-items:center;gap:0;padding:0;font-size:14px;line-height:1;display:inline-flex}.rm-bar .topbar-btn svg,.rm-menu .topbar-btn svg{width:16px;height:16px}.rm-bar .topbar-btn.on,.rm-menu .topbar-btn.on{border-color:var(--brass);color:var(--brass-2);background:var(--brass-dim)}.rm-menu .share{position:static}.rm-menu .share-panel{z-index:95;top:calc(env(safe-area-inset-top,0px) + 100px);width:auto;max-width:380px;max-height:calc(calc(100 * var(--dvh)) - env(safe-area-inset-top,0px) - 116px);overscroll-behavior:contain;margin-inline:auto;position:fixed;left:12px;right:12px;overflow-y:auto}.rm-menu .replay-deck{gap:6px;width:auto;min-width:36px;padding:0 10px;font-size:12px;position:relative}.rm-menu .lang-toggle{margin-left:0}.rm-menu .lang-toggle.compact{border-radius:var(--r-sm);height:36px;overflow:hidden}.rm-menu .lang-toggle.compact .seg-btn{text-align:center;border-radius:0;width:40px;height:100%;min-height:0;padding:0}.rm-lead{text-decoration:none}.rm-name{min-width:0;font-family:var(--font-serif);color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-style:italic;overflow:hidden}.rm-era{white-space:nowrap;border:1px solid;border-radius:999px;flex:none;padding:2px 9px;font-size:11px;font-weight:700}.rm-era.canal{color:var(--era-canal)}.rm-era.rail{color:var(--era-rail)}.rm-bar .rm-menu-btn{font-size:0}.rm-bar .rm-menu-btn:before{content:"";background:currentColor;border-radius:50%;width:3px;height:3px;box-shadow:-6px 0,6px 0}.rm-menu{z-index:60;border-radius:var(--r-md);background:var(--s2);border:1px solid var(--line-2);box-shadow:var(--shadow-3,0 12px 32px #00000080);animation:pop-in var(--t-med) var(--ease);align-items:center;gap:6px;padding:7px;display:flex;position:absolute;top:calc(100% + 6px);right:8px}.rm-board{flex:1;min-width:0;min-height:0;display:flex;position:relative}.rm-sheet{background:var(--s1);border-top:1px solid var(--line-2);z-index:20;border-radius:18px 18px 0 0;flex-direction:column;flex:none;min-height:0;transition:height .26s cubic-bezier(.22,.8,.24,1);display:flex;position:relative;overflow:hidden;box-shadow:0 -10px 28px #00000073}.rm-sheet.dragging{transition:none}.rm-sheet-head{flex:none}.rm-grab{cursor:grab;touch-action:none;background:0 0;border:0;justify-content:center;align-items:center;width:100%;height:22px;padding:0;display:flex}.rm-grab:before{content:"";background:var(--line-2);width:40px;height:4px;transition:background var(--t-fast);border-radius:4px}.rm-grab:active:before{background:var(--brass)}.rm-transport{padding:0 12px calc(10px + env(safe-area-inset-bottom,0px))}.rm[data-sheet=half] .rm-transport,.rm[data-sheet=full] .rm-transport{padding-bottom:10px}.rm-tabs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex:none;display:flex}.rm-tabs button{min-height:40px;color:var(--text-3);background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:0 2px;font-size:12px;font-weight:600}.rm-tabs button.on{color:var(--text);border-bottom-color:var(--brass)}.rm-pane{overscroll-behavior:contain;min-height:0;padding:12px 12px calc(14px + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.rm[data-sheet=peek] .rm-tabs,.rm[data-sheet=peek] .rm-pane{visibility:hidden}.rm-pane #player-panels{flex:none}.rm-pane #game-log-panel{flex:none;min-height:0}.rm-pane #game-log{flex:none;max-height:none;overflow:visible}.rm-pane .mat-panel-stack{background:0 0;border:0;flex:none;max-height:none;padding:0}.rm-pane .mat-panel-stack .mat-stack{max-height:none;overflow:visible}.replay-hand #hand-container{display:block}.replay-hand .hand-row{flex-direction:column;gap:10px}.replay-hand .hand-row:before{display:none}.replay-hand .hand-row #player-hand{touch-action:pan-y;flex-wrap:wrap;justify-content:flex-start;min-height:0;padding:8px 0 4px;overflow:visible}.rm-pane .replay-hand #player-hand .card{touch-action:pan-y}.rm-pane .replay-hand .card{min-width:0}.rm-pane .played{padding:8px 10px}.rm-pane .played-pile{--pw:80px;gap:6px;padding-top:6px}.rm-cover{bottom:0;left:0;right:0;top:calc(44px + env(safe-area-inset-top,0px));z-index:50;display:flex;position:absolute}.rm-cover .replay-charts.stage{max-height:none;padding:12px 12px calc(16px + env(safe-area-inset-bottom,0px));flex:1;position:static}.rm-cover .replay-charts-head{justify-content:space-between}.deck.compact .deck-row{flex-wrap:nowrap;gap:8px}.deck.compact .deck-now{flex:1 1 0;order:0}.deck.compact .deck-btns{flex:none;gap:5px}.deck.compact .deck-btns button{border-radius:10px;flex:none;width:42px;min-width:0;height:42px}.deck.compact .deck-btns .deck-play{width:54px}.deck.compact .deck-btns button:first-child,.deck.compact .deck-btns button:last-child{display:none}.deck.compact .deck-n{font-size:12.5px}.deck.compact .deck-where{gap:6px;font-size:10.5px}.deck.compact .deck-move{font-size:12px}.deck-speed-one{border:1px solid var(--line-2);background:var(--s2);width:42px;height:42px;color:var(--brass-2);border-radius:10px;flex:none;font-size:12.5px;font-weight:700}.played-mini{width:31px;height:46px;box-shadow:-3px 2px 0 -1px var(--s3), -6px 4px 0 -2px var(--s2);background:0 0;border:0;border-radius:5px;flex:none;padding:0;position:relative;overflow:visible}.played-mini-face{transform-origin:0 0;pointer-events:none;width:82px;height:122px;position:absolute;top:0;left:0;transform:scale(.378)}.played-mini-face .card{width:82px;min-width:0;height:122px;box-shadow:0 0 0 3px var(--brass);display:flex;transform:none}.played-mini b{background:var(--brass);min-width:15px;height:15px;color:var(--on-brass);border-radius:999px;padding:0 3px;font-size:9.5px;line-height:15px;position:absolute;top:-6px;right:-6px}@media (orientation:landscape) and (max-height:520px){.rm{grid-template-columns:minmax(0, calc(100 * var(--dvh))) minmax(0, 1fr);padding-top:0;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);grid-template-rows:auto auto minmax(0,1fr) auto;display:grid}.rm-board{grid-area:1/1/-1}.rm-bar{border-left:1px solid var(--line);grid-area:1/2;height:40px}.rm-bar>.topbar-btn{width:30px;min-width:30px;height:30px;min-height:30px}.rm-sheet,.rm-sheet-head{display:contents}.rm-grab{display:none}.rm-tabs{border-top:0;border-left:1px solid var(--line);background:var(--s1);grid-area:2/2;visibility:visible!important}.rm-tabs button{min-height:32px;font-size:11.5px}.rm-pane{background:var(--s1);border-left:1px solid var(--line);grid-area:3/2;padding:9px 10px;visibility:visible!important}.rm-transport{background:var(--s1);border-top:1px solid var(--line-2);border-left:1px solid var(--line);grid-area:4/2;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))!important}.rm-cover{top:0}.rm-menu .share-panel{top:92px;left:auto;right:calc(env(safe-area-inset-right,0px) + 10px);width:min(360px, calc(calc(100 * var(--vw)) - calc(100 * var(--dvh)) - 24px));max-height:calc(calc(100 * var(--dvh)) - 102px);margin:0}.deck.compact .deck-btns button{width:38px;height:36px}.deck.compact .deck-btns .deck-play{width:48px}.deck-speed-one{width:38px;height:36px}.rm-pane-cards .replay-hand{flex-flow:wrap;align-items:flex-start}.rm-pane-cards .replay-hand>.played{flex-basis:128px;padding:6px 8px}.rm-pane-cards .replay-hand>.played .played-pile{--pw:62px;gap:5px;padding-top:4px}.rm-pane-cards .replay-hand>.played .played-head span:first-child,.rm .deck.compact .deck-eras{display:none}.rm-pane-cards .replay-hand>.replay-hand-who{flex:100%;order:-1}.rm-pane-cards .replay-hand>.hand-motion{flex:1 1 0}.rm-pane-cards .replay-hand>.replay-move{flex:100%}.rm-pane-cards .replay-hand #player-hand .card{--card-width:60px;--card-height:89px}}@media (prefers-reduced-motion:reduce){.rm-sheet{transition:none}}
