:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:16px/1.5 -apple-system,BlinkMacSystemFont,system-ui,Segoe UI,Roboto,sans-serif}body{background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}:root{--text:#1c1c1e;--text-strong:#2c2c2e;--text-secondary:#3a3a3c;--text-tertiary:#636366;--text-muted:#8e8e93;--text-subtle:#9b9ba1;--text-faint:#7c7c80;--faint:#c7c7cc;--bg:#f2f2f7;--bg-inset:#f6f6f9;--surface:#fff;--surface-sunken:#f2f2f7;--hover-bg:#e5e5ea;--hover-bg-2:#f2f2f7;--fill:#7676801f;--fill-strong:#7676803d;--separator:#3c3c4321;--tile-bg:#fff;--tile-ink:#1a1a1a;--tile-edge:#d9d9de;--border:#d1d1d6;--border-2:#e0e0e5;--border-3:#ececf0;--accent:#1d7f45;--accent-hover-bg:#d5ecdd;--accent-active:#156337;--accent-bg:#e6f4eb;--accent-tint:#d3ebdb;--accent-bg-2:#f0f8f3;--accent-border-light:#c2e2cd;--accent-border-dashed:#b2d8bf;--on-accent:#fff;--shadow-segment:0 1px 3px #0000001f, 0 1px 1px #0000000a;--shadow-float:0 8px 28px #0000002e;--text-xs:.6875rem;--text-sm:.8125rem;--text-md:.9375rem;--text-lg:1.0625rem;--text-xl:1.375rem;--text-title:1.875rem;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-pill:999px;--success-bg-1:#e8f7ee;--success-border-1:#34a862;--success-text-1:#1e7a41;--success-bg-2:#eef7f1;--danger-bg-1:#fdecea;--danger-bg-2:#fdeceb;--danger-border-1:#e0473c;--danger-text-1:#c42b1c;--warning-bg-1:#fdf3e7;--warning-bg-2:#fff3cd;--warning-bg-3:#fff8e1;--warning-accent-1:#e8a400;--warning-border:#d69e2e;--warning-text:#9a6700;--purple:#8b5cf6;--purple-bg:#f2eefc;--purple-bg-2:#f3e8ff;--red:#b3261e;--green:#1a7a3c;--suit-blue:#1a5fb4;--cyan:#0891b2;--label-gray-text:#6b7280;--label-gray-bg:#eef0f4;--orange:#e8871e;--detect-green:#2fbf5f;--wall-seg:#2b6b3f;--wall-seg-outline:#1c4c2b;--wall-seg-counted:#57a97b;--tile-input:2.4rem;--tile-hand:2.3rem;--tile-row:1.75rem;--tile-hero:2.6rem;--tab-bar-h:56px;--toolbar-h:52px}.page{max-width:760px;padding:calc(1.75rem + env(safe-area-inset-top)) 1.25rem 4rem;color:var(--text);margin:0 auto}.build-version{text-align:center;font-size:var(--text-sm);color:var(--faint);margin-top:2rem}.build-version a{color:inherit;text-decoration:none}button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;font-family:inherit}.app-header{align-items:center;gap:.75rem;margin:0 0 1.25rem;display:flex}.app-logo{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border-radius:22%;flex-shrink:0;width:2.75rem;height:2.75rem;box-shadow:0 1px 3px #00000026}.app-title{flex-direction:column;min-width:0;display:flex}.app-title h1{font-size:var(--text-title);letter-spacing:-.02em;margin:0;font-weight:700;line-height:1.1}.app-tagline{font-size:var(--text-md);color:var(--text-muted)}.panel-header button,.scoring-context>button,.toolbar-button,.scan-input button,.crop-actions button,.scan-review-actions button,.correction-panel-actions button,.scan-auto-banner-actions button,.projected-sort-toggle,.endless-analysis-toggle,.endless-reset-stats{background:var(--fill);color:var(--text);border-radius:var(--radius-md);font-size:var(--text-md);cursor:pointer;border:none;padding:.5rem .85rem;font-weight:500;line-height:1.2;transition:background-color .15s,transform .1s}.panel-header button.toggle-on,.scoring-context>button.toggle-on,.crop-actions button.toggle-on{background:var(--accent-tint);color:var(--accent);font-weight:600}.panel-header button:disabled,.scoring-context>button:disabled,.toolbar-button:disabled,.scan-input button:disabled,.crop-actions button:disabled{opacity:.35;cursor:default}.btn-primary,.trainer-submit,.dice-roll,.panel-header button.btn-primary,.crop-actions-right button:last-child,.scan-review-actions button:last-child{background:var(--accent);color:var(--on-accent);border-radius:var(--radius-md);font-size:var(--text-lg);cursor:pointer;border:none;padding:.7rem 1.25rem;font-weight:600;box-shadow:0 1px 2px #1d7f4540}.trainer-submit:disabled,.dice-roll:disabled,.btn-primary:disabled,.scan-review-actions button:last-child:disabled{opacity:.5;cursor:default}.segmented{background:var(--fill);border-radius:var(--radius-md);align-items:stretch;gap:2px;min-width:0;padding:2px;display:flex}.segmented>button,.panel-header .segmented>button{min-width:0;color:var(--text);border-radius:calc(var(--radius-md) - 2px);font-size:var(--text-md);white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:1 1 0;padding:.45rem .6rem;font-weight:500;line-height:1.25;transition:background-color .15s,box-shadow .15s}.segmented>button.toggle-on,.panel-header .segmented>button.toggle-on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-segment);font-weight:600}.segmented>button:disabled{opacity:.35;cursor:default}.tab-bar{background:var(--fill);border-radius:var(--radius-md);gap:2px;margin-bottom:1.25rem;padding:2px;display:flex}.tab-bar button{min-width:0;color:var(--text-tertiary);border-radius:calc(var(--radius-md) - 2px);font-size:var(--text-md);cursor:pointer;background:0 0;border:none;flex:1 1 0;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .75rem;font-weight:600;transition:background-color .15s,color .15s;display:flex}.tab-bar button.toggle-on{background:var(--surface);color:var(--accent);box-shadow:var(--shadow-segment)}.tab-bar-icon{display:inline-flex}.tab-bar-icon svg{width:20px;height:20px}.panel{display:block}.card{background:var(--surface);border-radius:var(--radius-lg);margin-bottom:.75rem;padding:1rem}.section-head{justify-content:space-between;align-items:center;gap:.5rem;min-height:2rem;margin:1.25rem .25rem .4rem 1rem;display:flex}.section-title{font-size:var(--text-md);color:var(--text-secondary);font-weight:600}.section-title-en{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-left:.3rem;font-weight:500}.section-head-actions{align-items:center;gap:.5rem;display:flex}.situation-summary{width:100%;font:inherit;text-align:left;color:var(--text);cursor:pointer;border:none;flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.situation-summary-winds{color:var(--accent);margin-right:.25rem;font-weight:600}.situation-summary-chip{border-radius:var(--radius-pill);background:var(--accent-tint);color:var(--accent);font-size:var(--text-sm);padding:.15rem .6rem;font-weight:600}.section-meta{font-size:var(--text-sm);color:var(--text-muted);margin-left:.5rem;font-weight:400}.region-toggle{border-radius:var(--radius-pill);background:var(--fill);color:var(--text-secondary);font-family:inherit;font-size:var(--text-sm);cursor:pointer;border:none;padding:.25rem .75rem;font-weight:500;position:relative}.region-toggle.toggle-on{background:var(--accent-tint);color:var(--accent);font-weight:600}.region-toggle:before{content:"";position:absolute;inset:-.5rem -.15rem}.card.wait-tiles{flex-wrap:wrap;align-items:center;gap:.3rem .5rem;display:flex}.card.breakdown-list,.card.discard-analysis{flex-direction:column;align-items:stretch;gap:.5rem;display:flex}.section-action{font-size:var(--text-md);color:var(--accent);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-weight:600;position:relative}.section-action:before{content:"";position:absolute;inset:-.5rem -.25rem}.section-action:not(:disabled):active{opacity:.5}@media (hover:hover) and (pointer:fine){.panel-header button:not(:disabled):not(.toggle-on):not(.btn-primary):hover,.scoring-context>button:not(:disabled):not(.toggle-on):hover,.toolbar-button:not(:disabled):hover,.projected-sort-toggle:hover{background:var(--fill-strong)}.segmented>button:not(:disabled):not(.toggle-on):hover,.tab-bar button:not(.toggle-on):hover{background:#ffffff80}.hand-tile-button:hover{background:var(--danger-bg-1)}.tile-button:hover:not(:disabled){border-color:var(--faint)}.btn-primary:not(:disabled):hover,.trainer-submit:not(:disabled):hover,.dice-roll:not(:disabled):hover{background:var(--accent-active)}}.panel-header button:not(:disabled):active,.scoring-context>button:not(:disabled):active,.toolbar-button:not(:disabled):active{transform:scale(.96)}.panel-header button:not(:disabled):not(.toggle-on):not(.btn-primary):active,.scoring-context>button:not(:disabled):not(.toggle-on):active,.toolbar-button:not(:disabled):active{background:var(--fill-strong)}.segmented>button:not(:disabled):not(.toggle-on):active{background:#ffffff80}.hand-tile-button:active{background:var(--danger-bg-1)}.tile-button:active:not(:disabled){box-shadow:0 0 0 var(--tile-edge);background:var(--hover-bg-2);transform:translateY(1px)}.btn-primary:not(:disabled):active,.trainer-submit:not(:disabled):active,.dice-roll:not(:disabled):active{background:var(--accent-active);transform:scale(.98)}.trainer-levels{flex:1 1 0}.trainer-submit{margin-top:.75rem;display:block}.trainer-discard-tile{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:2px solid #0000;align-items:center;padding:.15rem .25rem;line-height:1;display:inline-flex}.trainer-discard-tile:disabled{cursor:default}@media (hover:hover) and (pointer:fine){.trainer-discard-tile:not(:disabled):hover{background:var(--accent-bg);border-color:var(--border-2)}}.trainer-discard-tile:not(:disabled):active{transform:translateY(1px)}.trainer-discard-tile.selected{background:var(--accent-bg);border-color:var(--accent)}.trainer-discard-tile.trainer-hit{background:var(--success-bg-1);border-color:var(--success-border-1)}.trainer-discard-tile.trainer-false-positive{background:var(--danger-bg-2);border-color:var(--danger-border-1)}.trainer-discard-tile.trainer-missed{background:var(--warning-bg-3);border-color:var(--warning-border);border-style:dashed}.trainer-result-correct{background:var(--success-bg-1)}.trainer-result-correct .waits-label{color:var(--success-text-1)}.trainer-result-incorrect{background:var(--danger-bg-2)}.trainer-result-incorrect .waits-label{color:var(--danger-text-1)}.trainer-stats{margin-top:1rem}.endless-hud{font-size:var(--text-sm);margin:.5rem 0 .75rem;line-height:1.5}.endless-hud-session{flex-wrap:wrap;gap:.15rem 1.1rem;margin:.4rem 0 0;display:flex}.endless-hud-session>div{flex-direction:column;display:flex}.endless-hud-session dt{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.endless-hud-session dd{font-size:var(--text-sm);margin:0;font-weight:600}.endless-stat-note{font-weight:400;font-size:var(--text-xs);color:var(--text-muted)}.endless-reset-stats{font-size:var(--text-sm);color:var(--text-tertiary);margin-top:.5rem;padding:.35rem .7rem}.endless-table{background:0 0;border:none;padding:0;display:block}.endless-table .hand-display{margin-bottom:.5rem}.endless-confirm{background:var(--danger-bg-1)!important;color:var(--danger-text-1)!important}.endless-discard-pile{flex-wrap:wrap;gap:.2rem;display:flex}.endless-discard-good,.endless-discard-bad{border-radius:var(--radius-xs);border-bottom:2px solid #0000;align-items:center;gap:.05rem;padding:0 .15rem;display:inline-flex}.endless-discard-mark{font-size:var(--text-xs);font-weight:700}.endless-discard-good{border-bottom-color:var(--success-border-1);background:var(--success-bg-1)}.endless-discard-good .endless-discard-mark{color:var(--success-text-1)}.endless-discard-bad{border-bottom-color:var(--danger-border-1);background:var(--danger-bg-2);border-bottom-style:dashed}.endless-discard-bad .endless-discard-mark{color:var(--danger-text-1)}.endless-verdict{flex-wrap:wrap;align-items:center;gap:.3rem 1.1rem;margin-bottom:.4rem;display:flex}.endless-verdict-cell{align-items:center;gap:.3rem;display:flex}.endless-verdict-key{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.endless-analysis-wrap{gap:.35rem}.endless-verdict-good{color:var(--success-text-1);font-weight:600}.endless-verdict-bad{color:var(--danger-text-1);font-weight:600}.endless-analysis{overscroll-behavior:contain;flex-direction:column;align-items:stretch;width:100%;min-width:0;max-height:22rem;display:flex;overflow:hidden auto}.endless-analysis .discard-row{min-width:0}.endless-analysis-toggle{font-size:var(--text-sm);color:var(--text-tertiary);align-self:flex-start;margin-top:.35rem;padding:.35rem .7rem}.discard-row-picked{border-left:3px dashed var(--danger-border-1);padding-left:.4rem}.discard-row-best{border-left:3px solid var(--success-border-1);padding-left:.4rem}.discard-tone-mark{font-weight:700;font-size:var(--text-sm);line-height:1}.discard-tone-best{color:var(--success-text-1)}.discard-tone-picked{color:var(--danger-text-1)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.trainer-stats-scroll{overflow-x:auto}.trainer-stats-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.trainer-stats-table th,.trainer-stats-table td{text-align:right;white-space:nowrap;border-bottom:.5px solid var(--separator);padding:.4rem .6rem}.trainer-stats-table th:first-child,.trainer-stats-table td:first-child{text-align:left}.trainer-stats-table thead th{color:var(--text-muted);border-bottom:2px solid var(--border-2);font-weight:600}.trainer-stats-total td{border-top:2px solid var(--border-2);border-bottom:none;font-weight:600}.tile-button.selected{background:var(--accent-bg);border-color:var(--accent)}.tile-button.trainer-hit{background:var(--success-bg-1);border-color:var(--success-border-1)}.tile-button.trainer-false-positive{background:var(--danger-bg-2);border-color:var(--danger-border-1)}.tile-button.trainer-missed{background:var(--warning-bg-3);border-color:var(--warning-border);border-style:dashed}.panel-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.panel-title{color:var(--text);font-weight:600;font-size:var(--text-lg);margin-right:.5rem}button.icon-toggle,.panel-header button.icon-toggle{background:var(--fill);width:1.9rem;height:1.9rem;color:var(--text-tertiary);font-size:var(--text-lg);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;line-height:1;transition:transform .2s;display:inline-flex;position:relative}button.icon-toggle:before{content:"";position:absolute;inset:-.4rem}button.icon-toggle.open{transform:rotate(90deg)}.panel-header button.icon-toggle[aria-pressed=true]{background:var(--accent-tint);color:var(--accent)}.collapsible-panel{grid-template-rows:0fr;transition:grid-template-rows .18s cubic-bezier(.2,0,0,1);display:grid}.collapsible-panel.open{grid-template-rows:1fr}.collapsible-panel-inner{visibility:hidden;opacity:0;min-height:0;transition:opacity .18s,visibility 0s linear .18s;overflow:hidden}.collapsible-panel.open>.collapsible-panel-inner{visibility:visible;opacity:1;transition:opacity .18s,visibility}@media (prefers-reduced-motion:reduce){.collapsible-panel,.collapsible-panel-inner,button.icon-toggle,.projected-wait-caret{transition:none}}.tile-count{color:var(--text-muted);font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin-left:auto}.shanten-badge{font-size:var(--text-sm);color:var(--accent);background:var(--accent-bg);border-radius:var(--radius-pill);padding:.2rem .6rem;font-weight:600}.hand-display{background:var(--bg-inset);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:.15rem;min-height:3.5rem;margin-bottom:0;padding:.6rem;display:flex}.hint{color:var(--text-subtle);font-size:var(--text-md)}.hand-tile-button{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;padding:.1rem;display:inline-flex}.waits{background:var(--bg-inset);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:.3rem;margin-bottom:.75rem;padding:.85rem;display:flex}.panel>.waits{background:var(--surface);border-radius:var(--radius-lg);padding:1rem}.waits-label{color:var(--text-secondary);margin-right:.4rem;font-weight:600}.universal-wait{color:var(--purple);flex-basis:100%;margin-bottom:.3rem}.trainer-result-label{flex-basis:100%;margin-bottom:.3rem}.discard-analysis{flex-direction:column;align-items:stretch;gap:.5rem}.discard-row{border-top:.5px solid var(--separator);flex-wrap:wrap;align-items:center;gap:.2rem;padding:.35rem 0;display:flex}.discard-row:first-of-type{border-top:none}.discard-arrow{color:var(--text-subtle);margin:0 .35rem}.discard-efficiency-row{flex-direction:column;align-items:stretch;gap:.35rem}.discard-efficiency-header{flex-wrap:wrap;align-items:center;gap:.2rem;min-width:0;display:flex}.efficiency-score{font-size:var(--text-sm);color:var(--text);background:var(--fill);border-radius:var(--radius-pill);white-space:nowrap;align-items:baseline;gap:.4rem;padding:.15rem .6rem;font-weight:600;display:inline-flex}.efficiency-score-sub{font-weight:500;font-size:var(--text-xs);opacity:.75}.discard-total{font-size:var(--text-sm);color:var(--text-tertiary);background:var(--fill);border-radius:var(--radius-pill);white-space:nowrap;padding:.15rem .6rem}.discard-total strong{font-size:var(--text-sm);color:var(--text)}.discard-efficiency-draws{flex-direction:column;gap:.2rem;padding-left:1.2rem;display:flex}.draw-detail-row{font-size:var(--text-md);flex-wrap:wrap;align-items:center;gap:.2rem;display:flex}.breakdown-list{flex-direction:column;align-items:stretch;gap:.5rem}.breakdown-row{border-top:.5px solid var(--separator);flex-wrap:wrap;align-items:center;gap:.4rem;padding:.35rem 0;display:flex}.breakdown-row:first-of-type{border-top:none}.breakdown-readings{flex-direction:column;gap:.4rem;display:flex}.breakdown-reading{flex-wrap:nowrap;align-items:flex-start;gap:.5rem;display:flex}.breakdown-row>.breakdown-readings{flex-basis:100%}.breakdown-reading>.discard-arrow,.breakdown-reading>.reading-label{flex-shrink:0;align-self:center}.breakdown-reading>.breakdown-groups{flex:auto;min-width:0}.reading-label{font-size:var(--text-sm);color:var(--label-gray-text);background:var(--label-gray-bg);border-radius:var(--radius-pill);white-space:nowrap;padding:.1rem .5rem;font-weight:600}.breakdown-groups{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.breakdown-group{border-radius:var(--radius-xs);touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;gap:.1rem;max-width:100%;padding:.15rem .25rem;display:flex}.breakdown-group.meld-remove{cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none}.breakdown-group.bonus-tile-group{gap:0}.bonus-tile-remove{cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:0;display:flex}.breakdown-group.concealed-kong-meld{background:var(--warning-bg-1);outline:1px solid var(--warning-accent-1)}.breakdown-group.pattern-highlighted,.hand-strip-group.pattern-highlighted{z-index:1;background:var(--accent-bg);box-shadow:0 0 0 3px var(--accent-bg), 0 0 0 5px var(--accent);position:relative}.hand-sections{flex-direction:column;gap:.6rem;display:flex}.hand-section{border-radius:var(--radius-md);padding:.55rem .7rem}.hand-section .hand-display{background:0 0;border:none;min-height:0;margin:.35rem 0 0;padding:0}.hand-section-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.hand-section.declared-section{background:var(--success-bg-2)}.hand-section.concealed-section{background:var(--bg-inset)}.scoring-context{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.wind-picker{flex-direction:column;gap:.3rem;min-width:0;display:flex}.wind-picker-label{align-items:baseline;gap:.4rem;display:flex}.wind-picker-zh{font-size:var(--text-sm);color:var(--text);font-weight:600}.wind-picker-en{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:500}.wind-segmented{box-sizing:border-box;height:42px}.wind-segmented>button{font-size:var(--text-lg)}.wind-segmented>button.toggle-on{color:var(--accent)}.wind-pickers{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-bottom:.75rem;display:grid}.stepper{background:var(--fill);border-radius:var(--radius-md);flex-shrink:0;align-items:stretch;display:flex;overflow:hidden}.stepper>button{color:var(--text);cursor:pointer;background:0 0;border:none;font-family:inherit;transition:background-color .15s}.stepper>button+button{box-shadow:inset .5px 0 0 var(--separator)}.stepper-step{width:44px;min-height:40px;font-size:var(--text-xl);font-weight:500;line-height:1}.stepper>.stepper-step:disabled{color:var(--faint);cursor:default}.stepper>.stepper-value{min-width:4rem;font-size:var(--text-md);color:var(--text);font-variant-numeric:tabular-nums;flex:auto;padding:0 .75rem;font-weight:500}.stepper>.stepper-value.toggle-on{background:var(--accent-tint);color:var(--accent)}.stepper>button:not(:disabled):active{background:var(--fill-strong)}.stepper>.stepper-value.toggle-on:active{background:var(--accent-hover-bg)}.chip-grid{grid-template-columns:repeat(auto-fill,minmax(5.25rem,1fr));gap:.45rem;display:grid}.chip-grid>button{font-size:var(--text-md);white-space:nowrap;padding:.55rem .3rem}.chip-grid>.chip-stepper{grid-column:span 2;align-self:stretch}.chip-stepper>.stepper-step{width:2.5rem;min-height:0}.scoring-total-value{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.reading-and{font-size:var(--text-sm);color:var(--text-muted);align-items:center;gap:.6rem;margin:.6rem 0;font-weight:600;display:flex}.reading-and:before,.reading-and:after{content:"";border-top:.5px solid var(--separator);flex:1}.pattern-row{border-top:.5px solid var(--separator)}.pattern-row:first-of-type{border-top:none}.scoring-pattern-row{justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;display:flex}.scoring-pattern-name{flex:auto;min-width:0}.scoring-pattern-name-en{font-size:var(--text-sm);color:var(--text-muted);margin-top:.05rem;display:block}.scoring-pattern-meta{flex-shrink:0;align-items:center;gap:1rem;display:flex}button.scoring-pattern-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none}.scoring-pattern-tai{color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.scoring-pattern-tiles{flex-direction:column;gap:.4rem;padding:.4rem 0 .6rem;display:flex}.projected-waits{flex-direction:column;align-items:stretch;gap:.4rem}.projected-sort-toggle{font-size:var(--text-sm);color:var(--text-secondary);border-radius:var(--radius-pill);white-space:nowrap;padding:.3rem .7rem;position:relative}.projected-sort-toggle:before{content:"";position:absolute;inset:-.6rem -.4rem}.trainer-hint{font-size:var(--text-sm);color:var(--text-muted);margin:-.25rem 0 .75rem}.trainer-actions .btn-primary{flex:1}.show-more-row{border-radius:var(--radius-md);min-height:44px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;font-weight:600}.show-more-row:active{background:var(--fill)}.projected-wait{background:var(--bg-inset);border-radius:var(--radius-md);padding:.4rem .7rem}.projected-wait-head{cursor:pointer;width:100%;font:inherit;color:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.15rem 0;display:flex}.projected-wait-tai{color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.projected-wait-live,.discard-option-live{color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap;margin-left:auto}.projected-wait-live+.projected-wait-tai,.discard-option-live+.projected-wait-tai{margin-left:0}.dead-wait{opacity:.45}.projected-wait.dead-wait{outline:1px dashed var(--border);outline-offset:-1px}.dead-wait .dead-wait{opacity:1}.discard-option-head{flex-wrap:wrap;row-gap:.15rem}.discard-option-score{align-items:center;gap:.5rem;margin-left:auto;display:flex}.discard-option-waits{white-space:nowrap;color:var(--text-secondary);font-size:var(--text-sm);align-items:center;gap:.1rem;display:inline-flex}.discard-option-detail{flex-direction:column;gap:.35rem;padding:.35rem 0 .15rem;display:flex}.projected-wait .hand-section.concealed-section{background:var(--surface)}.discard-option-detail .projected-wait{background:var(--surface);box-shadow:0 .5px 1.5px #0000001f}.discard-option-detail .projected-wait .hand-section.concealed-section{background:var(--bg-inset)}.projected-wait .breakdown-list{border-radius:var(--radius-md);background:var(--surface);margin:.6rem 0 .15rem;padding:.55rem .7rem}.discard-option-detail .projected-wait .breakdown-list{background:var(--bg-inset)}.projected-wait-caret{color:var(--text-subtle);font-size:var(--text-sm);text-align:center;flex-shrink:0;width:.9rem;transition:transform .2s;display:inline-block}.projected-wait-caret.open{transform:rotate(90deg)}.tile-glyph.wait-highlight,.tile-glyph.joker-assumed{z-index:0;position:relative}.tile-glyph.wait-highlight:before{content:"";background:var(--warning-bg-2);outline:2px solid var(--warning-accent-1);border-radius:var(--radius-xs);z-index:-1;height:.97em;position:absolute;top:.15em;left:-.08em;right:-.08em}.tile-glyph.joker-assumed:before{content:"";background:var(--purple-bg-2);outline:2px solid var(--purple);border-radius:var(--radius-xs);z-index:-1;height:.97em;position:absolute;top:.15em;left:-.08em;right:-.08em}.tile-glyph[data-suit=z].wait-highlight:before,.tile-glyph[data-suit=j].wait-highlight:before,.tile-glyph[data-suit=z].joker-assumed:before,.tile-glyph[data-suit=j].joker-assumed:before{top:.02em}.tile-glyph{font-size:var(--tile-row);font-variant-emoji:text;line-height:1;position:relative;top:-.145em}.tile-glyph.large{font-size:var(--tile-hand)}.trainer-hand .tile-glyph.large{font-size:var(--tile-hero)}.tile-glyph[data-suit=m]{color:var(--red)}.tile-glyph[data-suit=t]{color:var(--suit-blue)}.tile-glyph[data-suit=b]{color:var(--green)}.tile-glyph[data-suit=z]{color:var(--text-strong);font-family:Apple Symbols,Segoe UI Symbol,"Noto Sans Symbols 2",sans-serif;top:0}.tile-glyph.tile-art{vertical-align:middle;width:.78em;height:1em;display:inline-block;top:0}img.tile-face{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;background:#fff;border-radius:.08em;width:.72em;height:.913em;margin:.043em auto 0;display:block;box-shadow:0 0 0 .5px #0000004d,0 .035em 0 .5px #00000024}.tile-glyph.tile-art.wait-highlight:before,.tile-glyph.tile-art.joker-assumed:before{height:1.013em;top:-.007em;left:-.02em;right:-.02em}.tile-glyph[data-suit=z][data-rank="1"],.tile-glyph[data-suit=z][data-rank="2"],.tile-glyph[data-suit=z][data-rank="3"],.tile-glyph[data-suit=z][data-rank="4"]{color:var(--suit-blue)}.tile-glyph[data-suit=z][data-rank="5"]{color:var(--red)}.tile-glyph[data-suit=z][data-rank="6"]{color:var(--green)}.tile-glyph[data-suit=j]{color:var(--purple);font-family:Apple Symbols,Segoe UI Symbol,"Noto Sans Symbols 2",sans-serif;top:0}.tile-glyph[data-suit=bonus]{color:var(--cyan);font-family:Apple Symbols,Segoe UI Symbol,"Noto Sans Symbols 2",sans-serif;top:0}.wait-result{align-items:center;gap:.15rem;display:inline-flex}.redraw-mark{font-size:var(--text-sm);color:var(--purple)}.joker-hint{font-size:var(--text-sm);color:var(--purple);background:var(--purple-bg);border-radius:var(--radius-pill);align-items:center;gap:.1rem;margin-left:.15rem;padding:.1rem .45rem;display:inline-flex}.remaining-count{font-size:var(--text-sm);color:var(--text-secondary);background:var(--fill);border-radius:var(--radius-pill);margin-left:.15rem;padding:.05rem .45rem;font-weight:600}.tenpai-tag{font-size:var(--text-sm);color:var(--success-text-1);background:var(--success-bg-1);border-radius:var(--radius-pill);padding:.15rem .6rem;font-weight:600}.tile-picker{flex-direction:column;gap:.35rem;display:flex}.suit-row{grid-template-columns:repeat(9,minmax(0,2.9rem));gap:.3rem;display:grid}.suit-row .tile-button{aspect-ratio:3/4;justify-content:center;align-items:center;width:100%;padding:0;display:flex}.suit-row .tile-glyph{font-size:var(--tile-input)}.suit-row .joker-slot{grid-column:9}.tile-picker+.waits{margin-top:1rem}.tile-button{border:1px solid var(--tile-edge);border-radius:var(--radius-sm);background:var(--tile-bg);box-shadow:0 2px 0 var(--tile-edge);cursor:pointer;padding:.15rem .35rem;transition:transform 80ms,box-shadow 80ms}.tile-button:disabled{opacity:.3;box-shadow:none;cursor:default}.algebraic-input{border-top:.5px solid var(--separator);flex-direction:column;gap:.35rem;margin-top:1rem;padding-top:1rem;display:flex}.algebraic-input label{font-size:var(--text-sm);color:var(--text-muted);font-weight:500}.algebraic-input input{border-radius:var(--radius-md);background:var(--fill);color:var(--text);border:none;padding:.65rem .8rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem}.algebraic-input input:focus{outline:2px solid var(--accent);outline-offset:-1px}.error{color:var(--red);font-size:var(--text-sm)}.warning{color:var(--warning-text);font-size:var(--text-sm)}.scan-input{border-top:.5px solid var(--separator);align-items:center;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.scan-input.empty{border-top:none;margin-top:0;padding-top:0}.scan-trigger-group{flex-wrap:wrap;align-items:center;gap:.6rem;display:inline-flex}.scan-progress{flex-direction:column;gap:.3rem;display:flex}.scan-progress-track{background:var(--border-3);border-radius:var(--radius-pill);width:140px;height:4px;position:relative;overflow:hidden}.scan-progress-detail{font-size:var(--text-sm);color:var(--text-subtle);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.scan-progress-fill{background:var(--accent);border-radius:var(--radius-pill);height:100%;transition:width .15s;position:absolute;top:0;left:0}.scan-progress-fill.indeterminate{width:35%;animation:1.1s ease-in-out infinite scan-progress-slide}@keyframes scan-progress-slide{0%{left:-35%}to{left:100%}}.crop-overlay{border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:.6rem;margin-bottom:.75rem;padding:.85rem;display:flex}.crop-stage{border-radius:var(--radius-sm);touch-action:none;align-self:center;width:100%;max-width:420px;line-height:0;position:relative;overflow:hidden}.crop-image{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;width:100%;height:auto;display:block}.crop-dim{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.crop-rect{border:2px solid var(--accent);box-sizing:border-box;cursor:move;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;position:absolute}.crop-rect-1{border-color:var(--orange)}.crop-rect-1 .crop-handle{background:var(--orange)}.crop-rect-label{border-radius:var(--radius-xs);min-width:1.1rem;color:var(--on-accent);font-size:var(--text-xs);text-align:center;pointer-events:none;background:#0009;padding:0 .25rem;line-height:1.3rem;position:absolute;top:4px;left:4px}.crop-rect-remove{border:2px solid var(--on-accent);background:var(--red);width:22px;height:22px;color:var(--on-accent);font-size:var(--text-md);cursor:pointer;touch-action:none;border-radius:50%;line-height:1;position:absolute;top:-11px;right:-11px}.crop-handle{background:var(--accent);border:2px solid var(--on-accent);touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:50%;width:22px;height:22px;position:absolute;transform:translate(-50%,-50%)}.crop-handle-nw{cursor:nwse-resize;top:0;left:0}.crop-handle-ne{cursor:nesw-resize;top:0;left:100%}.crop-handle-sw{cursor:nesw-resize;top:100%;left:0}.crop-handle-se{cursor:nwse-resize;top:100%;left:100%}.crop-actions{justify-content:space-between;gap:.5rem;display:flex}.crop-actions button:disabled{opacity:.5;cursor:default}.crop-actions-left,.crop-actions-top-right,.crop-actions-right{gap:.5rem;display:flex}.crop-actions-right{margin-left:auto}.scan-auto-banner{border-radius:var(--radius-lg);background:var(--success-bg-1);color:var(--success-text-1);font-size:var(--text-md);justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.75rem;padding:.6rem .85rem;font-weight:600;display:flex}.scan-auto-banner-actions{gap:.5rem;display:flex}.scan-review{border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:.6rem;margin-bottom:.75rem;padding:.85rem;display:flex}.scan-review-images{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.scan-review-region{width:100%;max-width:420px}.scan-review-region-title{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:.2rem;font-weight:600}.scan-review-region-image{line-height:0;position:relative}.scan-review-region img{border-radius:var(--radius-sm);width:100%;display:block}.scan-review-images:has(.scan-review-region:nth-child(2)) .scan-review-region{flex:200px;max-width:300px}.scan-review-boxes{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.detection-box{pointer-events:auto;cursor:pointer}.detection-hit{fill:#0000}.detection-outline{fill:none;stroke:var(--detect-green);stroke-width:2px;vector-effect:non-scaling-stroke}.detection-box.bonus .detection-outline{stroke:var(--faint);stroke-dasharray:4 3}.detection-box.recovered .detection-outline{stroke:var(--warning-accent-1);stroke-width:3px;stroke-dasharray:6 4}.detection-box.editing .detection-outline{stroke:var(--accent);stroke-width:3px}.detection-label-bg{fill:var(--detect-green)}.detection-box.bonus .detection-label-bg{fill:var(--text-subtle)}.detection-box.recovered .detection-label-bg{fill:var(--warning-accent-1)}.detection-box.editing .detection-label-bg{fill:var(--accent)}.detection-label{fill:var(--on-accent);font:13px ui-monospace,SFMono-Regular,Menlo,monospace}.correction-panel{border-radius:var(--radius-md);background:var(--accent-bg-2);box-shadow:inset 0 0 0 1px var(--accent-border-light);flex-direction:column;gap:.5rem;padding:.65rem;display:flex}.correction-panel-header{font-size:var(--text-sm);color:var(--text-strong);justify-content:space-between;align-items:center;gap:.5rem;display:flex}.correction-panel-close{font-size:var(--text-lg);cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;padding:.15rem .4rem;line-height:1}.correction-row-primary{border-bottom:1px dashed var(--accent-border-dashed);padding-bottom:.3rem}.correction-other-label{font-size:var(--text-sm);color:var(--text-faint);margin:.3rem 0 .1rem}.correction-panel-actions{gap:.5rem;display:flex}.correction-panel-remove{color:var(--red)}.scan-review-summary{font-size:var(--text-md);color:var(--text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.scan-review-info{flex-direction:column;gap:.1rem;display:flex}.scan-review-hint{font-size:var(--text-sm);color:var(--text-faint)}.scan-review-hint.recovered{color:var(--warning-text)}.scan-review-actions{gap:.5rem;display:flex}.sub-tabs{margin-bottom:.75rem}.exchange-tray{gap:1.25rem}.exchange-die{border-radius:var(--radius-md);background:var(--bg-inset);flex-direction:column;align-items:center;gap:.5rem;padding:.75rem;display:flex}.exchange-die-label{font-size:var(--text-sm);color:var(--text-tertiary);font-weight:600}.dice-result-boxes{gap:1rem;margin-bottom:1rem;display:flex}.dice-result-boxes .dice-total{flex:1;margin-bottom:0}.dice-tray{justify-content:center;gap:1rem;margin-bottom:1.25rem;display:flex}.die{background:var(--tile-bg);border:1px solid var(--tile-edge);border-radius:var(--radius-lg);width:64px;height:64px;box-shadow:0 2px 0 var(--tile-edge), 0 3px 8px #00000014;cursor:pointer;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:.15rem;padding:.5rem;display:grid}.die:disabled{cursor:default}@media (hover:hover) and (pointer:fine){.die:not(:disabled):hover{border-color:var(--accent)}}.die:not(:disabled):active{border-color:var(--accent)}.die-cell{display:block}.die-pip{background:var(--tile-ink);border-radius:50%;place-self:center;width:12px;height:12px;display:block}.dice-roll{min-width:12rem;margin:0 auto 1rem;display:block}.dice-total{font-size:var(--text-lg);justify-content:center}.dice-total-trips{background:var(--success-bg-1)}.dice-total-run{background:var(--danger-bg-1)}.wall{--seg:14px;--tile:19px;--bar:calc(2 * var(--tile));--len:calc(var(--seg) * 18);--jut:calc(3 * var(--seg));--gap:9px;width:calc(var(--len) + var(--bar) + var(--jut) + 2 * var(--gap));height:calc(var(--len) + var(--bar) + var(--jut) + 2 * var(--gap));max-width:100%;margin:1.4rem auto 0;position:relative}.wall-bar-slot{position:absolute}.wall-top{left:calc(var(--bar) + var(--jut) + var(--gap));top:calc(var(--jut) + var(--gap))}.wall-right{left:calc(var(--len) + var(--gap));top:calc(var(--bar) + var(--jut) + var(--gap))}.wall-bottom{right:calc(var(--bar) + var(--jut) + var(--gap));top:calc(var(--len) + var(--gap))}.wall-left{left:calc(var(--jut) + var(--gap));bottom:calc(var(--bar) + var(--jut) + var(--gap))}.wall-bar{box-sizing:border-box;display:flex}.wall-bar-h{height:var(--bar);flex-direction:column}.wall-bar-v{width:var(--bar);flex-direction:row}.wall-bar-line{flex:1;display:flex}.wall-bar-h .wall-bar-line{flex-direction:row}.wall-bar-v .wall-bar-line{flex-direction:column}.wall-bottom .wall-bar-line{flex-direction:row-reverse}.wall-left .wall-bar-line{flex-direction:column-reverse}.wall-seg{flex:0 0 var(--seg);box-sizing:border-box;background:var(--wall-seg);box-shadow:inset 0 0 0 1px var(--wall-seg-outline)}.wall-seg-counted{background:var(--wall-seg-counted)}.wall-gap{flex:0 0 var(--gap);align-self:stretch;position:relative}.wall-break-marker{pointer-events:none;line-height:1;display:flex;position:absolute}.wall-break-marker svg{fill:var(--red);display:block}.wall-top .wall-break-marker{bottom:calc(100% + 3px);left:50%;transform:translate(-50%)rotate(90deg)}.wall-bottom .wall-break-marker{top:calc(100% + 3px);left:50%;transform:translate(-50%)rotate(-90deg)}.wall-left .wall-break-marker{top:50%;right:calc(100% + 3px);transform:translateY(-50%)}.wall-right .wall-break-marker{top:50%;left:calc(100% + 3px);transform:translateY(-50%)rotate(180deg)}.wall-break-caption{text-align:center;font-size:var(--text-md);color:var(--text);flex-direction:column;gap:.15rem;margin-top:1rem;display:flex}.wall-break-detail{font-size:var(--text-sm);color:var(--text-muted)}.seat-sim{--seat-tile-w:32px;--seat-tile-gap:6px;--seat-table:132px;--seat-stage-gap:22px;text-align:center}.seat-caption{color:var(--text-strong);justify-content:center;align-items:baseline;gap:.5rem;font-weight:600;display:flex}.seat-step-n{font-size:var(--text-xs);color:var(--text-tertiary);background:var(--fill);border-radius:var(--radius-pill);flex:none;padding:.05rem .5rem;font-weight:700}.seat-help{font-size:var(--text-sm);color:var(--text-muted);margin:.25rem 0 0}.seat-stage{width:calc(var(--seat-tile-w) * 6 + var(--seat-tile-gap) * 5);height:calc(var(--seat-table) + var(--seat-stage-gap) + var(--seat-tile-w) * 1.35);margin:2.25rem auto 1.25rem;position:relative}.seat-table{width:var(--seat-table);height:var(--seat-table);background:var(--wall-seg);border:2px solid var(--wall-seg-outline);border-radius:var(--radius-sm);box-sizing:border-box;position:absolute;top:0;left:50%;transform:translate(-50%)}.seat-token{border:2px solid var(--wall-seg-outline);background:var(--surface);width:34px;height:34px;font-weight:700;font-size:var(--text-lg);color:var(--text-strong);opacity:1;cursor:default;border-radius:50%;justify-content:center;align-items:center;transition:left .45s,top .45s,box-shadow .2s,transform .15s;display:flex;position:absolute;transform:translate(-50%,-50%)}.seat-token.is-pickable{cursor:pointer}.seat-token.is-long{font-size:var(--text-sm);letter-spacing:-.02em}.seat-token.seat-token-a{background:var(--accent-bg)}.seat-token.seat-token-b{background:var(--success-bg-1)}.seat-token.seat-token-c{background:var(--danger-bg-1)}.seat-token.seat-token-d{background:var(--purple-bg)}.seat-token.is-active{box-shadow:0 0 0 4px var(--accent)}.seat-token.is-swap-selected{outline:2px dashed var(--accent);outline-offset:3px;z-index:2;transform:translate(-50%,-50%)scale(1.15)}@media (hover:hover) and (pointer:fine){.seat-token.is-pickable:hover{box-shadow:0 0 0 3px var(--accent-border-light)}}.seat-token-east{width:1.15rem;height:1.15rem;font-size:var(--text-xs);color:var(--on-accent);background:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;top:-.55rem;right:-.55rem}.seat-token-east.is-provisional{background:var(--text-muted)}.seat-rename-backdrop{z-index:100;background:#00000059;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.seat-rename{border-radius:var(--radius-xl);background:var(--surface);width:min(340px,100%);box-shadow:var(--shadow-float);text-align:center;padding:1rem}.seat-rename:focus{outline:none}.seat-rename-header{color:var(--text-strong);justify-content:space-between;align-items:center;gap:.5rem;font-weight:700;display:flex}.seat-rename-close{font-size:var(--text-lg);cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;padding:.15rem .4rem;line-height:1}.seat-rename-preview{justify-content:center;gap:.4rem;margin:.6rem 0 .3rem;display:flex}.seat-rename-slot{border:2px solid var(--border);border-radius:var(--radius-sm);width:2.2rem;height:2.6rem;font-size:var(--text-xl);color:var(--text-strong);justify-content:center;align-items:center;font-weight:700;display:flex}.seat-rename-slot.is-current{border-color:var(--accent);background:var(--accent-bg)}.seat-rename-prompt{font-size:var(--text-sm);color:var(--text-muted);margin:0 0 .55rem}.seat-rename-grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.seat-rename-letter{aspect-ratio:1;border-radius:calc(var(--radius-md) - 2px);background:var(--fill);min-height:36px;font-size:var(--text-lg);color:var(--text-strong);cursor:pointer;border:none;padding:0;font-weight:700}.seat-rename-letter:disabled{opacity:.3;cursor:default;text-decoration:line-through}.seat-rename-letter:not(:disabled):active{background:var(--accent-bg);border-color:var(--accent)}@media (hover:hover) and (pointer:fine){.seat-rename-letter:not(:disabled):hover{background:var(--accent-bg);border-color:var(--accent)}}.seat-rename-actions{justify-content:center;gap:1rem;min-height:1.7rem;margin-top:.55rem;display:flex}.seat-rename-actions button{font-size:var(--text-sm);color:var(--accent);cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;text-decoration:underline}.seat-rename-actions .seat-rename-single{font-weight:700}.seat-rename-actions button:disabled{color:var(--text-muted);opacity:.5;cursor:default;text-decoration:none}.seat-tile-row{left:50%;top:calc(var(--seat-table) + var(--seat-stage-gap));height:calc(var(--seat-tile-w) * 1.35);width:calc(var(--seat-tile-w) * 6 + var(--seat-tile-gap) * 5);position:absolute;transform:translate(-50%)}.seat-tile{width:var(--seat-tile-w);height:calc(var(--seat-tile-w) * 1.35);transition:left .4s,transform .55s cubic-bezier(.2,.7,.3,1);position:absolute;top:0;left:0}.seat-tile>span{border-radius:var(--radius-sm);justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:absolute;inset:0}.seat-tile-back{background:var(--surface-sunken);border:1px solid var(--border);opacity:1}.seat-tile-face{background:var(--tile-bg);border:1px solid var(--border);opacity:0}.seat-tile.is-face-up .seat-tile-back{opacity:0}.seat-tile.is-face-up .seat-tile-face{opacity:1}.seat-dice{margin-bottom:.4rem}.seat-throw-sum{color:var(--text-strong);margin-bottom:1rem;font-weight:700}.seat-controls{flex-direction:column;align-items:center;gap:.4rem;display:flex}.seat-next{min-width:150px}.seat-reset{background:var(--fill);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;border:none;padding:.45rem .85rem;font-weight:500}.seat-reset.is-confirming{background:var(--danger-bg-1);color:var(--danger-text-1);font-weight:600}@media (hover:hover) and (pointer:fine){.seat-reset:not(.is-confirming):hover{background:var(--fill-strong)}}.seat-secondary{flex-wrap:wrap;justify-content:center;gap:.25rem 1rem;display:flex}.scoring-toolbar{z-index:20;box-sizing:border-box;height:calc(var(--toolbar-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 1.25rem 0;-webkit-backdrop-filter:saturate(180%)blur(18px);backdrop-filter:saturate(180%)blur(18px);background:#f2f2f7d1;align-items:center;gap:.4rem;margin:0 -1.25rem .25rem;display:flex;position:sticky;top:0}.toolbar-button{background:var(--surface);border-radius:var(--radius-pill);align-items:center;gap:.35rem;padding:.5rem .75rem;display:inline-flex;box-shadow:0 .5px 1px #00000014}.icon-label-button{align-items:center;gap:.4rem;display:inline-flex}.toolbar-icon{color:var(--accent);flex-shrink:0}.toolbar-button:disabled .toolbar-icon{color:inherit}.toolbar-status{align-items:center;gap:.4rem;margin-left:auto;display:flex}.tile-count-pill{font-size:var(--text-sm);font-variant-numeric:tabular-nums;color:var(--text-tertiary);background:var(--fill);border-radius:var(--radius-pill);padding:.35rem .65rem;font-weight:600}.tile-count-pill.is-full{color:var(--accent);background:var(--accent-bg)}.toolbar-total{border-radius:var(--radius-pill);background:var(--accent);color:var(--on-accent);font-size:var(--text-md);font-variant-numeric:tabular-nums;cursor:pointer;border:none;padding:.35rem .8rem;font-weight:700}.hand-strip-wrap{background:#f2f2f7f5;padding:0 1.25rem;position:absolute;top:100%;left:0;right:0}.hand-strip-wrap .collapsible-panel-inner>.hand-strip{margin-bottom:.5rem}.hand-strip{border-radius:var(--radius-md);background:var(--surface);text-align:left;cursor:pointer;border:none;flex-direction:column;align-items:stretch;gap:.3rem;width:100%;padding:.4rem;display:flex;box-shadow:0 .5px 1px #00000014}.hand-strip-row{flex-wrap:wrap;align-items:center;gap:.15rem .1rem;display:flex}.hand-strip-tint{border-radius:var(--radius-sm);padding:.3rem .4rem;display:block}.hand-strip-row.hand-strip-tint{display:flex}.hand-strip-row.hand-strip-concealed.hand-strip-tint{display:grid}.hand-strip-tint.is-declared{background:var(--success-bg-2)}.hand-strip-tint.is-concealed{background:var(--bg-inset)}.hand-strip-melds{gap:.2rem .55rem}.hand-strip-group{border-radius:var(--radius-xs);align-items:center;gap:.1rem;display:flex}.hand-strip .tile-glyph{font-size:var(--tile-input)}.hand-strip-row.hand-strip-concealed{grid-template-columns:repeat(8,max-content);display:grid}.hand-strip-row.hand-strip-alt{border-top:.5px solid var(--separator);margin-top:.5rem;padding-top:.6rem;position:relative}.hand-strip-tag{background:var(--bg-inset);color:var(--text-muted);font-size:var(--text-sm);padding:0 .5rem;font-weight:600;line-height:1.2;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.hand-strip-group.concealed-kong-meld{background:var(--warning-bg-1);outline:1px solid var(--warning-accent-1);border-radius:var(--radius-xs);padding:0 .15rem}.add-to-row{align-items:flex-end;gap:.75rem;margin-bottom:.85rem;display:flex}.add-to-group{flex-direction:column;gap:.3rem;min-width:0;display:flex}.add-to-concealed{flex:none}.add-to-concealed .segmented>button{padding-left:1rem;padding-right:1rem}.add-to-declared{flex:1 1 0}.add-to-caption{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);white-space:nowrap;padding-left:.2rem;font-weight:600}.add-to-row .segmented>button{font-size:var(--text-lg);padding-top:.55rem;padding-bottom:.55rem}.add-to-row .segmented>button.toggle-on{color:var(--accent)}.tile-picker .bonus-row{margin-top:.35rem}.hand-card{flex-direction:column;gap:.75rem;scroll-margin-top:4.5rem;display:flex}.input-zone .hand-card{top:calc(var(--toolbar-h) + env(safe-area-inset-top));z-index:15;box-shadow:0 -.5rem 0 var(--bg), 0 6px 12px -8px #0000002e;position:sticky}.panel .hand-card{gap:.3rem;margin-top:.5rem;padding-top:.5rem;padding-bottom:.6rem}.panel .hand-card .hand-region{gap:.2rem;min-width:0}.hand-region-hint{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap;margin-left:auto}.panel .hand-card .hand-display{min-height:0;padding:.2rem .35rem}.panel .hand-card .hand-display .hint{font-size:var(--text-sm)}.panel .hand-card .hand-display.breakdown-groups{flex-wrap:wrap;align-content:center;gap:.15rem .6rem;min-height:2.9rem}.panel .hand-card .breakdown-group{flex-wrap:nowrap;flex-shrink:0}.panel .hand-card .hand-display:not(.breakdown-groups){grid-template-columns:repeat(9,minmax(0,1fr));grid-auto-rows:2.75rem;align-items:center;gap:.2rem .25rem;display:grid}.panel .hand-card .hand-display:not(.breakdown-groups) .hint{grid-area:1/1/-1/-1;align-self:center}.panel .hand-card .hand-tile-button{justify-content:center;width:100%;height:100%;padding:0}.panel .hand-card .tile-glyph.large{font-size:var(--tile-input)}@media (width>=701px){.panel .hand-card .hand-display:not(.breakdown-groups){scrollbar-width:none;flex-wrap:nowrap;gap:.4rem;height:3.1rem;display:flex;overflow-x:auto}.panel .hand-card .hand-display:not(.breakdown-groups) .hand-tile-button{width:auto;padding:0 .1rem}}.hand-region{flex-direction:column;gap:.35rem;display:flex}.hand-region-head .shanten-badge{color:var(--text-tertiary);font-size:var(--text-sm);background:0 0;margin-left:auto;padding:0 .25rem}.hand-region-head .shanten-badge+.region-toggle{margin-left:0}.hand-region-head{justify-content:space-between;align-items:center;gap:.5rem;min-height:1.6rem;display:flex}.section-action.region-action{font-size:var(--text-sm);padding:.15rem .25rem}.section-action.region-action:before{inset:-.7rem -.4rem}.hand-region-label{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600;transition:color .2s}.hand-region.is-target .hand-region-label{color:var(--accent)}.hand-region.is-target .hand-display{box-shadow:inset 0 0 0 1.5px var(--accent-border-light)}.patterns-header{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.patterns-header .waits-label{margin-right:0}.patterns-subtotal-meta{margin-left:auto}.patterns-subtotal{border-radius:var(--radius-pill);background:var(--accent);font-size:var(--text-xl);color:var(--on-accent);font-variant-numeric:tabular-nums;margin-right:-.6rem;padding:.15rem .6rem;font-weight:700;line-height:1.2}.result-total{border-radius:var(--radius-lg);background:var(--accent);color:var(--on-accent);justify-content:space-between;align-items:center;gap:1rem;margin:1.25rem 0 .75rem;padding:.85rem 1.1rem;scroll-margin-top:7rem;display:flex}.result-total-label{font-size:var(--text-md);letter-spacing:.06em;text-transform:uppercase;font-weight:600}.result-total-value{font-size:var(--text-title);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.scoring-panel>.error{margin:1rem .25rem 0;display:block}@media (width<=700px){.page{padding-bottom:calc(var(--tab-bar-h) + env(safe-area-inset-bottom) + 2rem)}.tab-bar{z-index:50;padding:0 max(.5rem, env(safe-area-inset-left)) env(safe-area-inset-bottom) max(.5rem, env(safe-area-inset-right));-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background:#f9f9fbdb;border-radius:0;gap:0;margin:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -.5px #0000002e}.tab-bar button{height:var(--tab-bar-h);font-size:var(--text-xs);color:var(--text-muted);border-radius:0;flex-direction:column;gap:.15rem;padding:.35rem 0 .3rem;font-weight:500}.tab-bar button.toggle-on{box-shadow:none;color:var(--accent);background:0 0}.tab-bar-icon svg{width:26px;height:26px}}@media (width<=600px){.segmented>button,.panel-header .segmented>button{min-height:38px}.chip-grid>button,.chip-grid>.chip-stepper,.projected-wait-head{min-height:40px}.trainer-levels+button{align-self:stretch}.page{padding-left:.75rem;padding-right:.75rem}.scoring-toolbar{margin-left:-.75rem;margin-right:-.75rem;padding-left:.75rem;padding-right:.75rem}.hand-strip-wrap{padding-left:.75rem;padding-right:.75rem}.card{padding:.75rem}.panel>.waits{padding:.85rem .75rem}.page{padding-top:calc(.75rem + env(safe-area-inset-top))}.app-header{gap:.5rem;margin-bottom:.4rem}.app-logo{width:1.9rem;height:1.9rem}.app-title h1{font-size:var(--text-xl)}.app-tagline{display:none}.section-head{min-height:1.75rem;margin-top:.85rem}.add-to-row{margin-bottom:.6rem}.suit-row .tile-button{aspect-ratio:4/5}.toolbar-button{font-size:var(--text-sm);padding:.5rem .65rem}.tile-picker{gap:.3rem}.suit-row{grid-template-columns:repeat(9,minmax(0,1fr));gap:.2rem}:root{--tile-hand:1.95rem;--tile-row:1.875rem;--tile-hero:3rem}.hand-display{gap:.5rem}.hand-tile-button{padding:.35rem}.trainer-hand,.trainer-discard-hand{grid-template-columns:repeat(6,1fr);justify-items:center;gap:.3rem;display:grid}.trainer-discard-tile{justify-content:center;width:100%;padding:.15rem 0}.trainer-stats-table thead{display:none}.trainer-stats-table,.trainer-stats-table tbody,.trainer-stats-table tr{display:block}.trainer-stats-table tr{margin-bottom:.4rem;padding:.35rem .6rem}.trainer-stats-table td{text-align:right;border:none;justify-content:space-between;gap:1rem;padding:.15rem 0;display:flex}.trainer-stats-table td:before{content:attr(data-label);color:var(--text-muted);font-size:var(--text-sm);text-align:left}.chip-grid{grid-template-columns:repeat(4,1fr)}.trainer-stats-table tr{background:var(--bg-inset);border-radius:var(--radius-md);border:none}.dice-roll,.trainer-submit{width:100%}}@media (width<=440px){.scoring-toolbar{gap:.5rem}:root{--toolbar-h:60px}.toolbar-button{min-height:44px;font-size:var(--text-md);flex-shrink:0;gap:.4rem;padding:0 1rem 0 .85rem;font-weight:600}.toolbar-icon{width:20px;height:20px}.toolbar-reset{justify-content:center;width:44px;padding:0}.toolbar-reset .toolbar-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.tile-count-pill,.toolbar-total{align-items:center;min-height:44px;padding:0 .85rem;display:inline-flex}.toolbar-total{font-size:var(--text-lg)}}@media (width<=360px){.panel .hand-card .hand-display:not(.breakdown-groups){grid-template-columns:repeat(8,minmax(0,1fr))}.toolbar-photos{justify-content:center;width:44px;padding:0}.toolbar-photos .toolbar-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}}.sheet-backdrop{z-index:100;background:#00000059;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.sheet{border-radius:var(--radius-xl);background:var(--surface);width:min(560px,100%);max-height:min(80vh,760px);box-shadow:var(--shadow-float);flex-direction:column;gap:.6rem;padding:1rem;display:flex}.sheet-header{align-items:baseline;gap:.5rem;display:flex}.sheet-title{font-size:var(--text-lg);font-weight:700}.sheet-subtitle{font-size:var(--text-sm);color:var(--text-muted)}.sheet-close{background:var(--fill);width:2rem;height:2rem;color:var(--text-tertiary);font-size:var(--text-md);cursor:pointer;border:none;border-radius:50%;margin-left:auto}.sheet-random{width:100%}.sheet-setting{align-items:center;gap:.75rem;display:flex}.sheet-setting-label{font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap}.sheet-setting .segmented{flex:1}.sheet>:not(.sheet-list){flex-shrink:0}.sheet-search{font:inherit;border-radius:var(--radius-md);background:var(--fill);color:var(--text);border:none;padding:.6rem .8rem;font-size:1rem}.sheet-search:focus{outline:2px solid var(--accent);outline-offset:-1px}.sheet-list{overscroll-behavior:contain;flex:auto;min-height:0;margin:0 -.25rem;padding:0 .25rem;overflow-y:auto}.test-hand-group+.test-hand-group{margin-top:.75rem}.test-hand-group-title{background:var(--surface);font-size:var(--text-sm);color:var(--text-secondary);padding:.3rem 0;font-weight:600;position:sticky;top:0}.test-hand-row{border-radius:var(--radius-md);width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.45rem .6rem;display:flex}.test-hand-row+.test-hand-row{box-shadow:inset 0 .5px 0 var(--separator)}.test-hand-row:active{background:var(--fill)}@media (hover:hover) and (pointer:fine){.test-hand-row:hover{background:var(--bg-inset)}}.test-hand-name{font-size:var(--text-md)}.test-hand-notation{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-sm);color:var(--text-muted)}.test-hand-banner{border-radius:var(--radius-md);background:var(--purple-bg);font-size:var(--text-sm);color:var(--text-secondary);align-items:center;gap:.5rem;margin:.5rem 0 0;padding:.5rem .5rem .5rem .85rem;display:flex}.test-hand-banner-text{flex-direction:column;min-width:0;display:flex}.test-hand-banner-kicker{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;color:var(--purple);font-weight:600}.test-hand-banner-total{font-size:var(--text-sm);color:var(--text-muted);margin-top:.15rem}.test-hand-banner button{width:1.9rem;height:1.9rem;color:var(--text-tertiary);cursor:pointer;background:#ffffffb3;border:none;border-radius:50%;flex-shrink:0;margin-left:auto}@media (width<=700px){.sheet-backdrop{align-items:flex-end;padding:0}.sheet{width:100%;max-height:85dvh;padding-bottom:calc(1rem + env(safe-area-inset-bottom));border-radius:var(--radius-xl) var(--radius-xl) 0 0}}
