@layer reset{*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{margin:0}button{font:inherit;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}input,select,textarea{font:inherit}button,[role=button]{min-block-size:24px;min-inline-size:24px}}@layer base{:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1110;--surface:#151b19;--surface-2:#1e2624;--surface-sunk:#101614;--surface-hover:#253029;--line:#2c3733;--line-strong:#5a6b5f;--line-field:#66786b;--line-soft:#222b28;--text:#ece7dc;--text-dim:#96a09a;--surface-paper:color-mix(in oklab, var(--surface) 88%, var(--text) 12%);--paper-rule:color-mix(in oklab, var(--surface-paper) 80%, var(--text) 20%);--accent:#c9a227;--on-accent:#17130a;--felt-hi:#245839;--felt:#1b422e;--felt-lo:#112b1f;--felt-rail:#143024;--felt-edge:#0f2a1e;--surface-float:#1d2522;--focus-ring:#fffdf7;--suggest:#00e5ff;--pick:#ff40d0;--danger:#ff8a80;--good:#7ee2a8;--warn:#ffb74d;--suit-red:#ff7b72;--player-1:#4f8ef7;--player-2:#ef5350;--player-3:#66bb6a;--player-4:#ffca28;--player-5:#ab47bc;--player-6:#ff7043;--player-unknown:#888;--on-player-1:#17130a;--on-player-2:#17130a;--on-player-3:#17130a;--on-player-4:#17130a;--on-player-5:#fff;--on-player-6:#17130a;--on-player-unknown:#fff;--font-ui:"Segoe UI Variable Text", -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Meiryo", sans-serif;--font-mono:"SFMono-Regular", "Consolas", "Menlo", monospace;--font-display:"Palatino Linotype", Palatino, "Iowan Old Style", Georgia, "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", "Source Han Serif JP", "MS PMincho", serif;--radius-lg:12px;--radius:10px;--radius-sm:6px;--radius-btn:7px;--shadow-1:0 2px 8px #00000059;--shadow-2:0 8px 32px #0009;--dur-1:.12s;--dur-2:.22s;--ease:cubic-bezier(.2, .7, .3, 1)}body{font-family:var(--font-ui);background:radial-gradient(90vw 50vh at 50% 0%, #ffe2aa0d, #ffe2aa00 70%), var(--bg);color:var(--text);font-variant-numeric:tabular-nums;background-repeat:no-repeat;line-height:1.5}h1,h2,.modal-head h2,.modal-title,.info-title,.result-box h2,.tut-title{font-family:var(--font-display);letter-spacing:.04em;font-weight:600}button{font-variant-numeric:tabular-nums;border-radius:var(--radius-btn);border:1px solid var(--line);background:var(--surface-2);color:var(--text);transition:border-color var(--dur-1) var(--ease), background-color var(--dur-1) var(--ease);padding:6px 14px}@media (hover:hover) and (pointer:fine){button:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-hover)}}button:disabled{opacity:.4;cursor:not-allowed}button.primary{color:var(--on-accent);background:linear-gradient(#d8b23a,#bd9520);border-color:#8f6f14;font-weight:700;box-shadow:inset 0 1px #fff4cd59,0 2px 8px -3px #c9a227b3}@media (hover:hover) and (pointer:fine){button.primary:hover:not(:disabled){background:linear-gradient(#e3bf48,#c9a227);border-color:#a8831a}button.ghost:hover:not(:disabled){background:#ece7dc0f}}button.ghost{background:0 0}input,select,textarea{border-radius:var(--radius-btn);border:1px solid var(--line-field);background:var(--surface-sunk);color:var(--text);padding:6px 10px;font-size:max(1rem,1em)}input:focus,select:focus,textarea:focus{border-color:var(--text-dim)}input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}input[type=checkbox]{accent-color:var(--accent)}h1,h2,.modal-title,.info-title,.tut-title{text-wrap:balance}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:0 0 0 4px #000000bf}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;block-size:1px;inline-size:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@property --animation-reduced{syntax:"*";inherits:false;initial-value:none}.pcard{--w:44px;width:var(--w);height:calc(var(--w) * 1.4);border-radius:calc(var(--w) * .1);box-shadow:var(--shadow-1);-webkit-user-select:none;user-select:none;background:linear-gradient(168deg,#f3eee2 0%,#e4ddcd 100%);border:1px solid #a89e8c;flex-shrink:0;position:relative}.pc-xxs{--w:20px}.pc-xs{--w:var(--board-card)}.pc-sm{--w:44px}.pc-md{--w:60px}.pc-red{color:#b02a25}.pc-black{color:#1b2320}.pc-corner{flex-direction:column;align-items:center;line-height:1.05;display:flex;position:absolute;top:5%;left:7%}.pc-rank{font-weight:700;font-size:calc(var(--w) * .32)}.pc-suit{font-size:calc(var(--w) * .3)}.pc-center{font-size:calc(var(--w) * .52);line-height:1;position:absolute;bottom:4%;right:7%}.pc-xxs .pc-corner,.pc-xs .pc-corner{justify-content:center;width:100%;height:100%;position:static}.pc-xxs .pc-center,.pc-xs .pc-center{display:none}.pc-xxs .pc-rank{font-size:calc(var(--w) * .45)}.pc-xxs .pc-suit{font-size:calc(var(--w) * .42)}.pc-xs .pc-rank{font-size:calc(var(--w) * .38)}.pc-xs .pc-suit{font-size:calc(var(--w) * .36)}.pc-back{box-shadow:inset 0 0 0 1px #ece7dc33, var(--shadow-1);background:repeating-linear-gradient(45deg,#ece7dc24 0 2px,#0000 2px 5px),repeating-linear-gradient(-45deg,#00000052 0 2px,#0000 2px 5px),linear-gradient(160deg,#3c625a,#21403a);border-color:#0d1c19}.pc-closed{filter:brightness(.45)saturate(.6);border-style:dashed;border-color:#5a6b7d}.pc-owned{box-shadow:0 0 0 2px var(--ring,transparent)}.pc-joker{color:#d8b64a;justify-content:center;align-items:center;gap:calc(var(--w) * .05);background:linear-gradient(160deg,#3b2c54,#221a33);border-color:#58447c;flex-direction:column;display:flex}.pc-joker-star{font-size:calc(var(--w) * .38);line-height:1}.pc-joker-text{font-size:calc(var(--w) * .18);letter-spacing:.5px;font-weight:700}.setup-screen{max-width:560px;padding:0 calc(16px + env(safe-area-inset-right)) calc(48px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));margin:40px auto}.setup-hero{text-align:center;margin-bottom:26px;container-type:inline-size}.setup-screen h1{letter-spacing:.2em;text-indent:.2em;color:var(--text);margin:0;font-size:clamp(2.375rem,12cqi,3.375rem);line-height:1.1}.title-wordmark{inline-size:auto;max-inline-size:100%;margin:0 auto;display:block}.setup-screen h1:has(.title-wordmark){letter-spacing:0;text-indent:0;grid-auto-flow:column;align-items:last baseline;column-gap:.3em;display:inline-grid}.setup-subtitle{font-family:var(--font-display);letter-spacing:.04em;white-space:nowrap;color:var(--accent);font-size:.875rem;font-weight:600;line-height:1}.tagline{color:var(--text-dim);margin:14px 0 0;font-size:.875rem}.hero-slots{justify-content:center;align-items:flex-end;gap:clamp(6px,2.6cqi,14px);margin-top:22px;display:flex}.hero-slot{flex-direction:column;align-items:center;gap:8px;width:clamp(46px,15cqi,66px);display:flex}.hero-slot .pcard{--w:clamp(46px, 15cqi, 66px)}.hero-slot-label{color:var(--text-dim);text-wrap:balance;font-size:clamp(.5625rem,3.1cqi,.6875rem)}.setup-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:14px;padding:20px;display:flex}.setup-form label{color:var(--text-dim);flex-direction:column;gap:4px;font-size:.875rem;display:flex}.cpu-select-list{border:0;flex-direction:column;gap:8px;min-inline-size:0;margin:0;padding:0;display:flex}.cpu-select-title{color:var(--text-dim);padding:0;font-size:.875rem}legend.cpu-select-title{margin-block-end:8px}.setup-form .cpu-select{flex-direction:row;align-items:center;gap:10px}.cpu-select select{min-width:160px}.cpu-tagline{color:var(--text-dim);opacity:.85;font-size:.75rem}.setup-rules{background:var(--surface-paper);border-radius:var(--radius-sm);color:var(--text-dim);margin-top:24px;padding:14px 18px;font-size:.875rem}.setup-rules ul{margin:0}.setup-rules h2{color:var(--text);font-size:1rem}.setup-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:6px 28px;margin-top:20px;padding-top:14px;display:flex}.setup-footer button{color:var(--text-dim);border:none;padding:4px 0;font-size:.75rem;text-decoration:underline}@media (hover:hover) and (pointer:fine){.setup-footer button:hover:not(:disabled){color:var(--text)}}@media (width<=420px){.setup-form .cpu-select{flex-direction:column;align-items:stretch;gap:3px}.cpu-select select{min-width:0}}.game-screen{flex-direction:column;height:100dvh;display:flex}.game-header{padding:calc(9px + env(safe-area-inset-top)) 16px 9px;background:var(--surface);box-shadow:0 1px 0 #ece7dc0d inset, var(--shadow-1);anchor-name:--game-header;border-bottom:1px solid #000;flex-wrap:wrap;align-items:baseline;gap:8px 16px;display:flex}.game-header h1{letter-spacing:.14em;margin:0;font-size:1.1875rem}.game-header.my-turn{box-shadow:0 1px 0 color-mix(in oklab, var(--accent) 18%, transparent) inset, var(--shadow-1);background:linear-gradient(#2a2415,#17130c);border-bottom-color:#8a6f1c}.turn-flag{background:var(--accent);color:var(--on-accent);white-space:nowrap;border-radius:999px;padding:1px 9px;font-size:.75rem;font-weight:700;line-height:1.5}.round-info{color:var(--text-dim);border-left:1px solid var(--line);padding-left:16px;font-size:.8125rem}.suggestion-info{color:var(--suggest);white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;font-size:.875rem;overflow:hidden}.game-body{min-height:0;padding:12px calc(12px + env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left));flex:1;grid-template-columns:minmax(0,1fr);grid-template-areas:"main""players""log";gap:12px;display:grid;overflow-y:auto}.game-main{flex-direction:column;grid-area:main;gap:10px;min-width:0;display:flex}.col-side{display:contents}.col-players{grid-area:players;min-width:0}.col-log{grid-area:log;min-width:0;min-height:220px;display:flex}@media (width>=900px){.game-body{grid-template:"main players"minmax(0,1fr)"log players"minmax(160px,26%)/minmax(0,1fr) 300px;overflow:hidden}.game-main,.col-players{overflow-y:auto}.col-log{min-height:0}}@media (width>=1350px){.game-body{grid-template:"main players log"minmax(0,1fr)/minmax(0,1fr) 280px minmax(260px,320px)}}.board-outer{--board-card:clamp(30px, calc((100cqi - 128px) / 13), 40px);position:relative;container-type:inline-size}@supports (animation-timeline:scroll()) and (animation-range:0% 100%) and (timeline-scope:--x){.board-outer{timeline-scope:--board-x}.board{scroll-timeline:--board-x inline}.board-outer:after{content:"";background:linear-gradient(to right, transparent, var(--felt-lo) 85%);opacity:0;pointer-events:none;--animation-reduced:board-edge-fade auto linear both;border-start-end-radius:var(--radius-lg);border-end-end-radius:var(--radius-lg);inline-size:36px;animation:linear both board-edge-fade;animation-timeline:--board-x;animation-range:calc(100% - 48px) 100%;position:absolute;inset:1px 1px 1px auto}}@keyframes board-edge-fade{0%{opacity:1}to{opacity:0}}.board-more{border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:#0a1810d9;border-radius:999px;padding:6px 10px;font-size:.75rem;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.board{background:radial-gradient(115% 85% at 50% -12%, #ffe4a524, #ffe4a500 60%), radial-gradient(140% 120% at 50% 40%, var(--felt-hi) 0%, var(--felt) 55%, var(--felt-lo) 100%);border:1px solid var(--felt-edge);border-radius:var(--radius-lg);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;box-shadow:inset 0 1px 0 #ffffff0f, inset 0 20px 40px -22px #0000008c, var(--shadow-2);padding:12px 10px;overflow-x:auto}.board-row{align-items:center;gap:6px;margin-bottom:6px;display:flex}.suit-label{width:30px;font-size:calc(var(--board-card) * .55);background:var(--felt-rail);z-index:2;flex-direction:column;flex-shrink:0;align-items:center;gap:1px;line-height:1;display:flex;position:sticky;left:0;box-shadow:7px 0 9px -7px #000000bf}.suit-red{color:var(--suit-red)}.req-badge{border-radius:var(--radius-sm);color:var(--accent);white-space:nowrap;background:#3d3320;padding:0 4px;font-size:.5625rem;font-weight:700;line-height:1.3}.req-badge.req-ok{color:var(--good);background:#1e4632}.board-groups{align-items:stretch;gap:6px;margin-bottom:6px;display:flex}.bg-spacer{flex-shrink:0;width:30px}.bg-group{width:calc(var(--board-card) * 10 + 54px);text-align:center;color:#9fc7ae;border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;border:1px dashed #ffffff59;flex-shrink:0;padding:2px 4px;font-size:.6875rem;overflow:hidden}.bg-excluded{color:#9fc7ae;border:1px solid color-mix(in oklab, var(--accent) 60%, transparent);border-radius:var(--radius-sm);white-space:nowrap;text-overflow:ellipsis;flex:auto;min-inline-size:0;padding:2px 8px;font-size:.6875rem;display:none;overflow:hidden}.bg-excluded .excluded-n{font-size:inherit;margin-inline:.2em}.bg-faces{width:calc(var(--board-card) * 3 + 12px);color:#b8a8d8;margin-left:16px}.bg-group.bg-picked{border-style:solid;border-color:var(--good);color:var(--good)}.face-divider{flex-shrink:0;justify-content:center;align-self:stretch;width:10px;display:flex}.face-divider:before{content:"";background:#ffffff59;border-radius:1px;width:2px}.bcell{flex-shrink:0;position:relative}.bcell-unknown .pcard{opacity:.55}.bcell-open .pcard{box-shadow:0 0 0 2px var(--ring,#fff)}.bcell-excluded .pcard{filter:grayscale()brightness(.4)}.bcell-x{font-size:calc(var(--board-card) * .7);color:var(--text-dim);opacity:.9;text-shadow:0 0 3px #000,0 1px 2px #000000e6;pointer-events:none;justify-content:center;align-items:center;font-weight:400;display:flex;position:absolute;inset:0}.bcell-suggested .pcard{outline:2px solid var(--suggest);outline-offset:1px;opacity:1;animation:2.4s ease-in-out 3 suggest-pulse;transform:translateY(-2px)}@keyframes suggest-pulse{0%,to{box-shadow:0 0 5px 1px color-mix(in oklab, var(--suggest) 30%, transparent)}50%{box-shadow:0 0 11px 3px color-mix(in oklab, var(--suggest) 55%, transparent)}}.bcell-selected .pcard{outline:2px solid var(--suggest);outline-offset:1px;opacity:1;transform:translateY(-2px)}.bcell-paypick .pcard{outline:2px solid var(--pick);outline-offset:1px;opacity:1;animation:1.4s ease-in-out infinite pay-pulse}@keyframes pay-pulse{0%,to{box-shadow:0 0 6px 1px color-mix(in oklab, var(--pick) 40%, transparent)}50%{box-shadow:0 0 16px 5px color-mix(in oklab, var(--pick) 85%, transparent)}}.bcell-clickable{cursor:pointer}@media (hover:hover) and (pointer:fine){.bcell-clickable:hover .pcard{opacity:1;transform:translateY(-2px)}}.bcell-rankdup{cursor:not-allowed}.bcell-rankdup .pcard{opacity:.18;filter:grayscale(.8)}.owner-dot,.known-dot{width:clamp(10px, calc(var(--board-card) * .34), 14px);height:clamp(10px, calc(var(--board-card) * .34), 14px);z-index:1;border:2px solid #10141880;border-radius:50%;position:absolute;top:-3px;right:-3px}[data-player="0"]{--player-color:var(--player-1);--on-player-color:var(--on-player-1)}[data-player="1"]{--player-color:var(--player-2);--on-player-color:var(--on-player-2)}[data-player="2"]{--player-color:var(--player-3);--on-player-color:var(--on-player-3)}[data-player="3"]{--player-color:var(--player-4);--on-player-color:var(--on-player-4)}[data-player="4"]{--player-color:var(--player-5);--on-player-color:var(--on-player-5)}[data-player="5"]{--player-color:var(--player-6);--on-player-color:var(--on-player-6)}[data-player=unknown]{--player-color:var(--player-unknown);--on-player-color:var(--on-player-unknown)}.player-chip,.memo-dot,.owner-dot,.known-dot,.ready-dot{background:var(--player-color)}.joker-row{margin-top:6px}.excluded-pending{flex-shrink:0;align-items:center;gap:10px;margin-left:14px;display:flex}.excluded-pile{padding-inline-end:calc(var(--board-card) * .24);display:flex}.excluded-pile .pcard+.pcard{translate:0 calc(var(--board-card) * -.06);margin-inline-start:calc(var(--board-card) * -.88)}.excluded-pile .pcard:nth-child(3){translate:0 calc(var(--board-card) * -.12)}.excluded-text{max-inline-size:max(9em, calc(100cqi - 120px - var(--board-card) * 2.4));word-break:auto-phrase;flex-direction:column;gap:2px;line-height:1.3;display:flex}.excluded-count{color:var(--text);font-size:.8125rem;font-weight:600}.excluded-n{color:var(--accent);margin-inline:.15em;font-size:1.25rem;font-weight:700}.excluded-when{color:#9fc7ae;font-size:.6875rem}.board-hint{color:#9fc7ae;flex:1;min-width:120px;margin-left:12px;font-size:.6875rem}.hand-panel{border:1px solid var(--felt-edge);border-radius:var(--radius-lg);background:#121a16;flex-wrap:wrap;gap:12px 24px;padding:10px 12px;display:flex}.hand-section{min-width:0}.hand-title{color:var(--text-dim);flex-wrap:wrap;gap:12px;margin-bottom:6px;font-size:.8125rem;font-weight:600;display:flex}.hand-sub{font-weight:400}.hand-cards{flex-wrap:wrap;gap:8px;display:flex}.hand-card{flex-direction:column;align-items:center;gap:3px;display:flex}.hand-pos-1 .pcard{filter:brightness(.72)}.hand-pos-2 .pcard{opacity:.45}.hand-card-pickable{cursor:pointer}.hand-card-pickable .pcard{outline:2px solid var(--pick);outline-offset:1px;animation:1.4s ease-in-out infinite pay-pulse}@media (hover:hover) and (pointer:fine){.hand-card-pickable:hover .pcard{filter:none;opacity:1;transform:translateY(-2px)}}.hand-card-dim{cursor:not-allowed}.hand-card-dim .pcard{opacity:.3;filter:grayscale(.7)}.pos-badge{border-radius:var(--radius-sm);padding:0 6px;font-size:.6875rem;line-height:1.5}.pos-badge-0{color:var(--good);background:#1e4632}.pos-badge-1{color:#e0c069;background:#3d3320}.pos-badge-2{color:#9ac4e6;background:#1e3140}.hand-toku{flex-wrap:wrap;gap:6px;display:flex}.prompt-panel{border:1px solid var(--line);border-left:3px solid var(--accent);background:linear-gradient(#1b2320,#151b19);border-radius:4px 10px 10px 4px;min-height:84px;padding:12px 14px}.prompt-panel.waiting{color:var(--text-dim);background:var(--surface);border-left-color:var(--line);border-radius:var(--radius);flex-direction:column;gap:4px;min-height:0;padding:8px 14px;display:flex}.prompt-waiting{align-items:center;gap:8px;min-block-size:24px;display:flex}.prompt-title{margin-bottom:8px;font-size:.9375rem;font-weight:700}.prompt-sub{color:var(--text-dim);margin-bottom:8px;font-size:.8125rem}.prompt-error{color:var(--danger);margin-bottom:8px;font-size:.875rem}.prompt-pick-hand:before{content:"☝ ";color:var(--pick)}.prompt-pick-hand{color:var(--pick)}.btn-note{color:var(--text-dim);margin-top:6px;font-size:.75rem;display:block}.prompt-warn{color:var(--danger)}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-row button{white-space:nowrap}.card-btn{flex-direction:column;align-items:center;gap:4px;padding:6px 8px;display:flex}.card-btn-label{color:var(--text-dim);font-size:.6875rem}.prompt-act{display:contents}.selected-cards{vertical-align:middle;flex-wrap:wrap;gap:6px;margin:4px 0 8px;display:inline-flex}.check-list{flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:8px;font-size:.8125rem;display:flex}.check-item{color:#e0c069;white-space:nowrap;font-weight:600}.check-item.check-ok{color:var(--good)}.check-note{color:var(--text-dim);font-size:.75rem}.toku-list{grid-template-columns:max-content minmax(0,max-content) max-content max-content;justify-content:start;gap:6px 8px;margin-top:10px;display:grid}.toku-row{grid-column:1/-1;grid-template-columns:max-content minmax(0,max-content) max-content max-content;grid-template-columns:subgrid;align-items:center;font-size:.8125rem;display:grid}.toku-row>.toku-tag{justify-self:start}.toku-row>.btn-note{grid-column:2/-1;margin-top:0}.toku-desc{color:var(--text-dim)}.toku-prompt{container:toku/inline-size}@container toku (width<480px){.toku-list{grid-template-columns:max-content max-content max-content 1fr;row-gap:10px}.toku-row{grid-template-columns:max-content max-content max-content 1fr;grid-template-columns:subgrid;row-gap:4px}.toku-row>.toku-desc{grid-area:2/1/auto/-1}.toku-row>.btn-note{grid-column:1/-1}}.toku-tag{border-radius:var(--radius-sm);white-space:nowrap;background:#3d2f6b;border:1px solid #5c4a9e;padding:2px 8px;font-size:.75rem;font-weight:600}.toku-tag-tip{cursor:pointer;-webkit-user-select:none;user-select:none;line-height:inherit;min-block-size:24px;min-inline-size:24px;position:relative}.toku-tag-tip:has(+.toku-pop:popover-open){background:#5c4a9e}@media (hover:hover) and (pointer:fine){.toku-tag-tip:hover{background:#5c4a9e}}.toku-pop{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-float);max-inline-size:min(92vw,320px);color:var(--text);box-shadow:var(--shadow-2);padding:10px 14px;font-size:.8125rem;line-height:1.5}.toku-pop:popover-open{--animation-reduced:tap-tip-in-still .15s ease-out;animation:.15s ease-out tap-tip-in}.toku-pop-name{font-weight:600;display:block}.toku-pop-desc{color:var(--text-dim);margin:2px 0 0}@supports (anchor-name:--a){.toku-pop[popover]{position-area:block-start span-inline-end;position-try-fallbacks:flip-block, flip-inline, flip-block flip-inline;margin:6px 0;position:fixed;inset:auto}}.log-panel,.side-panel{background:var(--surface-paper);border-radius:var(--radius-sm);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.log-list{flex:1;padding:6px 12px;font-size:.8125rem;overflow-y:auto}.log-entry{color:var(--text-dim);border-bottom:1px solid var(--paper-rule);content-visibility:auto;contain-intrinsic-size:auto 1.6em;padding:3px 6px}.log-latest{color:var(--text);border-left:3px solid var(--accent)}.log-phase{color:var(--text);font-weight:700}.log-important{color:var(--accent)}.log-action{color:var(--text)}.log-private{color:#80cbc4}.players-panel{flex-direction:column;gap:8px;display:flex}.player-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px}.player-card.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.player-head{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.player-chip{border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.player-chip-labeled{min-block-size:22px;min-inline-size:22px;color:var(--on-player-color,#17130a);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:.6875rem;font-weight:700;line-height:1;display:inline-flex}.player-btn{align-items:center;gap:6px;display:inline-flex}.player-name{font-size:.875rem;font-weight:600}.badge{border-radius:var(--radius-sm);padding:1px 6px;font-size:.6875rem}.badge-agari{color:var(--accent);background:#3d3320}.badge-drop{color:var(--danger);background:#5b2424}.badge-flag{color:#81d4fa;background:#24455b}.player-debug{color:#f9a825;opacity:.75;gap:8px;font-family:monospace;font-size:.6875rem;display:flex}.player-stats{color:var(--text-dim);gap:12px;margin-bottom:6px;font-size:.8125rem;display:flex}.player-cards{flex-wrap:wrap;gap:3px;display:flex}@media (width<=899px){.players-panel{flex-direction:row;padding-bottom:4px;overflow-x:auto}.player-card{flex-shrink:0;min-width:230px}}.toast-layer{position-anchor:--game-header;top:56px;inset-block-start:calc(anchor(bottom) + 8px);z-index:30;inline-size:max-content;max-width:min(calc(100vw - 16px - env(safe-area-inset-left) - env(safe-area-inset-right)), 420px);max-height:calc(100dvh - 72px - env(safe-area-inset-bottom));flex-direction:column;gap:10px;display:flex;position:fixed;left:50%;overflow-y:auto;transform:translate(-50%)}.toast-layer:empty{pointer-events:none}.toast{background:var(--surface-float);border:1px solid var(--accent);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);--animation-reduced:toast-in-still .25s ease-out;flex-direction:column;align-items:center;gap:10px;padding:14px 18px;animation:.25s ease-out toast-in;display:flex}.toast-title{text-align:center;font-weight:600}.toast-note{max-inline-size:32em;color:var(--text-dim);text-align:center;text-wrap:balance;word-break:auto-phrase;font-size:.875rem}.toast-cards{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-in-still{0%{opacity:0}to{opacity:1}}.consent-banner{inset-inline:0;z-index:9999;padding:14px calc(16px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));background:var(--surface);border-top:1px solid var(--line);color:var(--text);box-shadow:var(--shadow-2);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 20px;font-size:.875rem;line-height:1.6;display:flex;position:fixed;bottom:0}.consent-text{flex:20rem;max-inline-size:46rem;margin:0}.consent-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.consent-accept,.consent-decline{border:1px solid var(--line-strong);color:var(--text);background:0 0}.consent-more{color:var(--text-dim);background:0 0;border-color:#0000;text-decoration:underline}.overlay{z-index:29;padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.info-screen{width:min(680px,100%);min-height:100dvh;padding:calc(16px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));flex-direction:column;gap:10px;margin:0 auto;display:flex;container-type:inline-size}.info-head{align-items:center;gap:8px 12px;display:flex}.info-back{flex:none;font-size:.8125rem}.info-tools{margin-left:auto}.info-title{border-bottom:1px solid var(--accent);color:var(--text);margin:6px 0 0;padding-bottom:10px;font-size:clamp(1.5rem,6cqi,2rem);line-height:1.2}.info-title:focus{box-shadow:none;outline:none}.info-sub{color:var(--text-dim);margin:0;font-size:.8125rem;line-height:1.7}.info-body{background:var(--surface-paper);border-radius:var(--radius-sm);flex-direction:column;gap:10px;padding:14px 16px;font-size:.875rem;line-height:1.7;display:flex}.info-footer{justify-content:center;margin-top:6px;display:flex}.legal-content a,.info-body a{color:#d3b954}.kbd{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-sunk);border-bottom-width:2px;padding:0 6px;font-size:.75rem;font-weight:700;display:inline-block}.key-hint{vertical-align:middle;gap:4px;margin-left:8px;display:inline-flex}button .key-hint .kbd{opacity:.7;background:0 0;border-color:currentColor;padding:0 5px;font-size:.6875rem}.rules-content p,.rules-content li,.legal-content p,.legal-content li,.tut-body li{max-inline-size:42em}:is(.rules-content,.legal-content,.tut-body) :is(p,li){text-wrap:pretty}:lang(en) :is(.rules-content,.legal-content,.tut-body) :is(p,li){max-inline-size:66ch}dialog.modal{color:inherit;block-size:100%;max-block-size:100%;inline-size:100%;max-inline-size:100%;padding:calc(16px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));background:0 0;border:0;overflow:hidden}dialog.modal[open]{justify-content:center;align-items:center;display:flex}dialog.modal::backdrop{background:#000000b3}dialog.modal,dialog.modal::backdrop{opacity:0;transition:opacity var(--dur-2) var(--ease), display var(--dur-2) allow-discrete, overlay var(--dur-2) allow-discrete}dialog.modal[open],dialog.modal[open]::backdrop{opacity:1}@starting-style{dialog.modal[open],dialog.modal[open]::backdrop{opacity:0}}.modal form[method=dialog]{display:contents}.modal-box{background:var(--surface);border-radius:var(--radius-lg);box-shadow:0 1px 0 #ece7dc12 inset, var(--shadow-2);border:1px solid #3a4742;flex-direction:column;width:100%;max-width:760px;max-height:90dvh;display:flex}.modal-box.abort-box{max-width:420px}.abort-notes{color:var(--text);flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.abort-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:18px;display:flex}button.danger-btn{border-color:color-mix(in oklab, var(--danger) 55%, var(--line));color:var(--danger)}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.modal-head h2,.modal-title{margin:0;font-size:1.125rem}.modal-close{flex:none}.modal-body{overscroll-behavior:contain;padding:14px 20px 20px;font-size:.875rem;line-height:1.7;overflow-y:auto}.rules-content h3{font-family:var(--font-display);letter-spacing:.04em;color:var(--text);border-bottom:1px solid var(--accent);margin:20px 0 6px;padding-bottom:5px;font-size:1rem;font-weight:600}.rules-content table{border-collapse:collapse;margin:6px 0}.rules-content th,.rules-content td{border:1px solid var(--paper-rule);text-align:left;padding:4px 10px;font-size:.8125rem}.rules-content ul,.rules-content ol{margin:6px 0;padding-left:22px}.rules-btn{margin-left:auto}.license-content h3{font-family:var(--font-display);letter-spacing:.04em;color:var(--text);margin:18px 0 6px;font-size:1rem;font-weight:600}.license-list{margin:6px 0;padding-left:20px}.license-list li{margin:2px 0}.license-ver{color:var(--text-dim)}.license-spdx{border:1px solid var(--paper-rule);border-radius:var(--radius-sm);color:var(--text-dim);margin-left:8px;padding:1px 6px;font-size:.6875rem}.license-list a{color:#d3b954}.license-text{border:1px solid var(--paper-rule);border-radius:var(--radius-sm);color:var(--text-dim);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:10px 12px;font-size:.6875rem;line-height:1.5}.license-note{color:var(--text-dim);font-size:.8125rem}.sound-test h3{font-family:var(--font-display);letter-spacing:.04em;color:var(--text);margin:16px 0 4px;font-size:1rem;font-weight:600}.sound-test-toggles{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sound-test-hint{color:var(--text-dim);font-size:.75rem;line-height:1.6}.sound-test-table{border-collapse:collapse;font-size:.75rem;line-height:1.4}.sound-test-table th{text-align:left;color:var(--text-dim);padding:2px 8px 2px 0;font-weight:400}.sound-test-table td{border-top:1px solid var(--line-soft);white-space:nowrap;padding:2px 8px 2px 0}.sound-test-name{font-weight:600}.sound-test-file{color:var(--text-dim)}.sound-test-play{padding:2px 10px}.sound-test-play:active{background:var(--accent);color:var(--on-accent)}.sound-test-pre{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-dim);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:8px 10px;font-size:.6875rem;line-height:1.5}.tut-step{color:var(--text-dim);border:1px solid var(--paper-rule);vertical-align:2px;border-radius:999px;margin-left:4px;padding:1px 9px;font-size:.75rem;font-weight:400}.tut-body{padding-top:0}.tut-title{z-index:1;background:var(--surface-paper);border-bottom:1px solid var(--accent);color:var(--text);align-items:center;gap:10px;margin:0 0 12px;padding:14px 0 9px;font-size:1.3125rem;line-height:1.35;display:flex;position:sticky;top:0}.tut-title-num{background:var(--accent);min-block-size:26px;min-inline-size:26px;color:var(--on-accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.875rem;font-weight:700;display:inline-flex}.tut-body ul{margin:10px 0 0;padding-left:22px}.tut-body li{margin-bottom:6px}.tut-visual{border:1px solid var(--paper-rule);border-radius:var(--radius-sm);background:#ffffff08;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding:12px;display:flex}.tut-fig{color:var(--text-dim);text-align:center;flex-direction:column;align-items:center;gap:6px;font-size:.75rem;display:flex}.tut-note{color:var(--text-dim);max-width:110px;font-size:.6875rem;line-height:1.35}.tut-pc-0{outline-offset:1px;outline:2px solid #7ee2a8a6}.tut-pc-1{outline-offset:1px;outline:2px solid #e0c069a6}.tut-pc-2{outline-offset:1px;outline:2px solid #90b8e0b3}.tut-arrow{color:var(--text-dim);font-size:1.25rem}.tut-coin{font-size:1.625rem;line-height:1.4}.tut-costs{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.tut-cost{border:1px solid var(--paper-rule);border-radius:var(--radius-sm);background:#ffffff08;flex-direction:column;flex:160px;align-items:center;gap:6px;max-width:240px;padding:12px 10px;display:flex}.tut-cost-fig{flex:1 0 auto;justify-content:center;align-items:center;gap:8px;min-height:86px;display:flex}.tut-cost-label{text-align:center;font-size:.75rem}.tut-cost-eq{color:var(--accent);border-radius:var(--radius-sm);background:#3d3320;padding:1px 10px;font-size:.75rem;font-weight:700}.tut-deliberation{border:1px solid var(--paper-rule);border-radius:var(--radius-sm);background:#ffffff08;flex-direction:column;gap:8px;padding:12px;display:flex}.tut-delib-row{align-items:center;gap:10px;display:flex}.tut-delib-who{text-align:center;border-radius:var(--radius-sm);color:#81d4fa;background:#24455b;flex:0 0 60px;padding:3px 6px;font-size:.75rem}.tut-delib-what{font-size:.8125rem}.tut-toku{border-collapse:collapse}.tut-toku td{border:1px solid var(--paper-rule);padding:3px 8px;font-size:.75rem}.tut-nav{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;inline-size:100%;padding-top:12px;display:flex}.tut-nav>button{white-space:nowrap;flex-shrink:0}.tut-progress{flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.tut-progress .tut-step{vertical-align:baseline;margin-left:0}.tut-dots{flex-wrap:wrap;justify-content:center;gap:6px;min-width:0;display:flex}@media (width<=899px){.tut-nav{gap:8px}}.tut-dot{border:1px solid var(--text-dim);background:0 0;border-radius:50%;width:10px;height:10px;padding:0;display:inline-block}.tut-dot.active{background:var(--accent);border-color:var(--accent)}.setup-help{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}@supports (justify-content:safe center){.setup-footer,.setup-help{justify-content:safe center}}.setup-topbar{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-bottom:8px;display:flex}.tools{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.tools .lang-switch{gap:4px;margin-right:6px;display:inline-flex}.tool-btn{opacity:.6;min-inline-size:32px;padding:3px 10px;font-size:.75rem}.tool-btn[aria-pressed=true]{opacity:1;border-color:var(--accent);color:var(--accent)}.header-controls{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}.game-header .rules-btn{margin-left:0}.header-menu-btn{display:none}.header-more{display:contents}@media (width>=900px){.game-header{flex-wrap:nowrap}.game-header h1,.turn-flag{flex-shrink:0}.round-info{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.suggestion-info{min-width:min(12em,30%)}}@media (width<=899px){.game-header{align-items:center;gap:4px 10px;padding:6px 12px;position:relative}.game-header h1{letter-spacing:.08em;font-size:1rem}.round-info{border-left:none;flex-basis:100%;order:1;padding-left:0;font-size:.8125rem}.suggestion-info{flex-basis:100%;order:2;font-size:.8125rem}.header-controls{flex-wrap:nowrap}.header-menu-btn{justify-content:center;align-items:center;width:40px;height:34px;padding:0;font-size:1.125rem;line-height:1;display:inline-flex}.header-more{display:none}.header-more:popover-open{inset:62px auto auto;right:calc(8px + env(safe-area-inset-right));position-anchor:--game-header;top:calc(anchor(bottom) + 4px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:220px;box-shadow:var(--shadow-2);color:var(--text);flex-direction:column;align-items:stretch;gap:10px;margin:0;padding:12px;display:flex;position:fixed}@supports not selector(:popover-open){.header-menu-btn{display:none}.header-more{display:contents}}.header-more:popover-open .tools{flex-wrap:nowrap;gap:8px;display:flex}.header-more:popover-open .tools .lang-switch{flex:1;gap:8px;margin-right:0;display:flex}.header-more:popover-open .tool-btn{white-space:nowrap;flex:1;padding:8px 10px;font-size:.875rem}.header-more:popover-open>button{white-space:nowrap;padding:10px 12px}.game-body{padding-bottom:88px}}.resume-box{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:4px 10px 10px 4px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:18px;padding:12px 16px;font-size:.8125rem;display:flex}.resume-title{font-family:inherit;font-size:inherit;letter-spacing:normal;flex:1 0 100%;margin:0;font-weight:600}.resume-info{color:var(--text-dim)}.resume-box button{margin-left:auto}.resume-box button+button{margin-left:0}.resume-progress{block-size:6px;inline-size:100%;accent-color:var(--accent);flex:1 0 100%}.stats-summary{background:var(--surface-paper);border-radius:var(--radius-sm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin-top:18px;padding:10px 14px;font-size:.8125rem;display:flex}.stats-summary button{font-size:.75rem}.stats-grid{grid-template-columns:repeat(4,auto 1fr);align-items:baseline;gap:6px 12px;font-size:.875rem;display:grid}@media (width<=460px){.stats-grid{grid-template-columns:repeat(2,auto 1fr)}}.stats-grid span{color:var(--text-dim)}.stats-grid b{font-size:1.0625rem}.stats-reset{color:var(--danger);font-size:.75rem}.bcell-mine .pcard{opacity:.9}.mine-badge{font-size:clamp(.5rem, calc(var(--board-card) * .27), .6875rem);padding:0 clamp(2px, calc(var(--board-card) * .1), 4px);border-radius:var(--radius-sm);z-index:1;pointer-events:none;font-weight:700;line-height:1.3;position:absolute;bottom:-3px;left:-3px}.mine-badge-0{color:var(--good);background:#1e4632}.mine-badge-1{color:#e0c069;background:#3d3320}.mine-badge-2{color:#9ac4e6;background:#1e3140}.side-tabs{border-bottom:1px solid var(--paper-rule);background:var(--surface-sunk);display:flex}.side-tabs button{color:var(--text-dim);background:0 0;border:none;border-radius:0;flex:1;padding:8px 4px;font-size:.75rem;font-weight:600}@media (hover:hover) and (pointer:fine){.side-tabs button:hover:not(:disabled){background:#ece7dc0a}}.side-tabs button.active{color:var(--text);background:var(--surface-paper);box-shadow:inset 0 -2px 0 var(--accent)}.side-panel .log-panel{border:none;border-radius:0}.hist-panel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.hist-empty{color:var(--text-dim);padding:10px 4px;font-size:.8125rem}.hist-item{border-bottom:1px solid var(--paper-rule);padding:7px 6px;font-size:.8125rem}.hist-round{color:var(--text-dim);letter-spacing:.1em;text-align:center;font-weight:700}.hist-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.hist-turn{color:var(--text-dim);border:1px solid var(--paper-rule);border-radius:var(--radius-sm);flex-shrink:0;padding:0 5px;font-size:.6875rem}.hist-cards{flex-wrap:wrap;align-items:center;gap:4px;margin:5px 0 2px;display:flex}.hist-note{color:var(--text-dim);font-size:.75rem}.hist-resps{flex-direction:column;gap:3px;margin-top:4px;display:flex}.hist-resp{align-items:center;gap:6px;padding-left:6px;font-size:.75rem;display:flex}.hist-resp-name{color:var(--text-dim)}.hist-pass{color:var(--good)}.hist-deny{color:#ffab91;flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.hist-nobody{color:var(--accent);border-radius:var(--radius-sm);background:#3d3320;margin-top:5px;padding:3px 8px;font-size:.75rem;font-weight:600}.hist-agari-ok{background:color-mix(in oklab, var(--surface-paper) 82%, var(--accent) 18%)}.hist-agari-ng,.hist-dropped{background:color-mix(in oklab, var(--surface-paper) 84%, var(--danger) 16%)}.result-box{background:var(--surface);border-radius:var(--radius-lg);text-align:center;max-width:min(100%,560px);box-shadow:0 1px 0 #ece7dc12 inset, var(--shadow-2);border:1px solid #3a4742;padding:28px 36px}.result-box h2{border-bottom:1px solid var(--accent);margin-top:0;padding-bottom:10px;font-size:1.375rem}.result-box table{border-collapse:collapse;margin:0 auto 12px}.result-box td{padding:6px 14px;font-size:1rem}.result-box tr.winner td{color:var(--accent);font-size:1.125rem;font-weight:700}.answer-line{color:var(--text-dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:14px;font-size:.875rem;display:flex}.result-sub{color:var(--text-dim);margin:12px 0;font-size:.8125rem}.score-calc{align-self:stretch}.score-calc table{border-collapse:collapse;width:100%;font-size:.875rem}.score-calc td{padding:3px 2px}.score-calc td:last-child{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.score-calc .score-gain td{border-top:1px solid var(--line);color:var(--accent);padding-top:6px;font-size:1rem;font-weight:700}.score-calc .score-cum td{color:var(--text-dim)}.setup-form .memo-toggle{cursor:pointer;flex-direction:row;align-items:flex-start;gap:8px}.memo-toggle input{margin-top:4px}.memo-toggle .cpu-tagline{display:block}.memo-panel{flex-direction:column;flex:1;min-height:0;font-size:.875rem;display:flex}.memo-slots{flex-wrap:wrap;gap:6px;padding:6px 8px 2px;display:flex}.memo-slot{border:1px solid var(--paper-rule);border-radius:var(--radius-sm);white-space:nowrap;padding:1px 8px}.memo-slot-sure{border-color:var(--accent);color:var(--accent);font-weight:600}.memo-legend-btn{aspect-ratio:1;min-block-size:24px;min-inline-size:24px;color:var(--text-dim);border-radius:50%;margin-left:auto;padding:0;font-size:.75rem;line-height:1}.memo-legend-btn.active{border-color:var(--accent);color:var(--text)}.memo-legend{color:var(--text-dim);padding:2px 8px 6px;font-size:.6875rem}.memo-table{overscroll-behavior:contain;flex:1;min-height:0;padding:0 4px 8px;overflow:auto}.memo-row{grid-template-columns:minmax(52px, 1.2fr) minmax(42px, 1fr) repeat(var(--opps,3), minmax(44px, 1fr)) minmax(56px, 1.2fr);border-bottom:1px solid var(--paper-rule);align-items:center;display:grid}.memo-head-block{background:var(--surface-paper);z-index:2;position:sticky;top:0}.memo-head,.memo-known{border-bottom:1px solid var(--paper-rule)}.memo-known .memo-cell,.memo-known .memo-card{min-block-size:30px;color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:.6875rem;font-weight:600;line-height:1.3}.memo-known .memo-card{word-break:auto-phrase;font-weight:400}.memo-known-cell{flex-direction:column;gap:3px}.memo-known-meter{background:linear-gradient(to right, currentColor calc(var(--known,0) * 100%), var(--paper-rule) 0);border-radius:2px;block-size:3px;inline-size:min(70%,44px);display:block}.memo-known .memo-known-full{color:var(--good)}.memo-colhead{color:var(--text-dim);font-size:.8125rem}.memo-suit-block{border-bottom:2px solid var(--paper-rule)}.memo-card{border-radius:var(--radius-sm);align-items:center;gap:3px;padding:1px 2px;font-weight:600;display:flex}.memo-suit-red{color:var(--suit-red)}.memo-row>.memo-card{color:var(--text);z-index:1;background:linear-gradient(var(--row-tint,transparent), var(--row-tint,transparent)) var(--surface-paper);position:sticky;inset-inline-start:0}.memo-excluded{color:var(--text-dim)}.memo-card .mine-badge{margin-left:auto;position:static}.memo-cell{border-left:1px solid var(--line-soft);justify-content:center;align-items:center;min-block-size:40px;line-height:1.2;display:flex}.memo-row>.memo-cell:last-child{border-left:1px solid var(--line);background:#00000047}.memo-self-cell{border-right:1px solid var(--line);font-size:.75rem;font-weight:700}.memo-mine-hand{color:var(--good)}.memo-mine-stash{color:#e0c069}.memo-mine-open{color:#78c8f0}.memo-no{color:var(--text-dim)}.memo-maybe{color:var(--accent)}.memo-glabel{letter-spacing:-.5px;vertical-align:sub;font-size:.5625rem;font-weight:700}.memo-swapno{color:#78828f;letter-spacing:-.5px;vertical-align:sub;margin-left:1px;font-size:.625rem;font-weight:700}.memo-editable{cursor:pointer}@media (hover:hover) and (pointer:fine){.memo-editable:hover{background:#ffffff0f}}.memo-manual .memo-editable{outline-offset:-3px;outline:1px dashed #ffffff52}.memo-manual .memo-editable:empty:before{content:"✎";opacity:.35;font-size:.625rem}.memo-manual-hint{color:var(--text-dim);padding:2px 4px 4px;font-size:.6875rem}.memo-palette-backdrop{z-index:40;position:fixed;inset:0}.memo-palette{z-index:41;border-radius:var(--radius);background:var(--surface-float);border:1px solid var(--line);box-shadow:var(--shadow-2);gap:4px;padding:6px;display:flex;position:fixed}.memo-palette[popover]{color:var(--text);margin:0;inset:auto;overflow:visible}.memo-palette button{border-radius:var(--radius-btn);border:1px solid var(--line);min-width:42px;min-height:42px;color:var(--text);cursor:pointer;background:#263029;font-size:1.25rem}@media (hover:hover) and (pointer:fine){.memo-palette button:hover{background:#2f3b33}}.memo-palette .memo-pal-yes{color:#8fd6ff}.memo-palette .memo-pal-ans,.memo-palette .memo-pal-maybe{color:var(--accent)}.memo-palette .memo-pal-clear{min-width:auto;color:var(--text-dim);padding:0 8px;font-size:.75rem}.memo-dot{border-radius:50%;width:18px;height:18px}.memo-ans-sure{color:var(--accent);font-weight:700}.memo-ans-strong{color:var(--accent)}.memo-row-cand{--row-tint:color-mix(in oklab, var(--accent) 5%, transparent)}.memo-row-strong{--row-tint:color-mix(in oklab, var(--accent) 14%, transparent)}.memo-row-sure{--row-tint:color-mix(in oklab, var(--accent) 24%, transparent)}.memo-row-cand,.memo-row-strong,.memo-row-sure{background:var(--row-tint)}@keyframes memo-flash{0%{background:color-mix(in oklab, var(--accent) 55%, transparent)}to{background:0 0}}.memo-new{--animation-reduced:memo-flash 2.5s ease-out;outline:1px solid color-mix(in oklab, var(--accent) 45%, transparent);outline-offset:-2px;animation:2.5s ease-out memo-flash}.tab-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;margin-left:4px;display:inline-block}.fab{right:calc(14px + env(safe-area-inset-right));bottom:calc(14px + env(safe-area-inset-bottom));width:64px;height:64px;box-shadow:var(--shadow-2);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.6875rem;display:flex;position:fixed}.memo-fab{z-index:25;border-color:var(--accent);display:none}.memo-fab-dot{background:var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:6px;right:6px}@media (width<=1349px){.memo-fab{display:flex}}.memo-overlay{z-index:26;background:var(--bg);padding:calc(8px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));flex-direction:column;display:flex;position:fixed;inset:0}.memo-open .game-body,.memo-open .game-main,.memo-open .col-players{overflow:hidden}.memo-overlay-head{justify-content:space-between;align-items:center;padding:4px 6px 8px;display:flex}.memo-overlay-title{font-weight:600}.memo-turn-call{border:1px solid #8a6f1c;border-left:3px solid var(--accent);border-radius:var(--radius);inline-size:100%;color:var(--text);text-align:start;background:linear-gradient(#2a2415,#17130c);align-items:center;gap:10px;margin-bottom:8px;padding:8px 12px;display:flex}.memo-turn-text{color:var(--accent);font-weight:700}.memo-turn-time{font-variant-numeric:tabular-nums;color:var(--text-dim)}.memo-turn-time.warn{color:var(--warn)}.memo-turn-time.urgent{color:var(--danger);font-weight:700}.memo-turn-back{color:var(--text-dim);margin-inline-start:auto;font-size:.8125rem}.memo-overlay .side-panel{flex:1;min-height:0}.memo-overlay .memo-table{inline-size:100%;max-inline-size:720px;margin-inline:auto}.memo-overlay .memo-suit-block{content-visibility:auto;contain-intrinsic-size:auto none auto 412px;min-inline-size:max-content}.memo-overlay .memo-face-block{contain-intrinsic-size:auto none auto 494px}.memo-back-fab{z-index:27;border-color:var(--line)}.tap-tip{z-index:90;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-float);max-width:min(92vw,420px);color:var(--text);text-align:center;box-shadow:var(--shadow-2);pointer-events:none;--animation-reduced:tap-tip-in-still .15s ease-out;padding:10px 14px;font-size:.8125rem;line-height:1.5;animation:.15s ease-out tap-tip-in;position:fixed}.tap-tip[popover]{margin:0;inset:auto;overflow:visible}@keyframes tap-tip-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes tap-tip-in-still{0%{opacity:0}to{opacity:1}}.net-entry{--net-gap:8px;--net-col:calc(50% - var(--net-gap) / 2);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:18px;margin-top:1.2rem;padding:16px;display:flex}.net-entry-title{letter-spacing:normal;margin:0;font-family:inherit;font-size:1.17em;font-weight:700}.net-entry>.net-entry-title+.hint{margin-top:-10px}.net-group{flex-direction:column;gap:6px;display:flex}.hint{color:var(--text-dim);margin:0;font-size:.8125rem;line-height:1.6}.net-entry button.net-action{border:1px solid var(--accent);color:var(--accent);background:0 0;padding:10px 18px;font-weight:700}@media (hover:hover) and (pointer:fine){.net-entry button.net-action:hover:not(:disabled){background:color-mix(in oklab, var(--accent) 14%, transparent);border-color:var(--accent)}}.net-entry button.net-action.net-create{background:color-mix(in oklab, var(--accent) 16%, transparent);border-color:var(--accent);min-block-size:52px;color:var(--text);font-size:1.0625rem}@media (hover:hover) and (pointer:fine){.net-entry button.net-action.net-create:hover:not(:disabled){background:color-mix(in oklab, var(--accent) 26%, transparent)}}.net-entry button.net-action:disabled{border-color:var(--line);color:var(--text-dim)}.net-field{color:var(--text-dim);justify-content:space-between;align-items:center;gap:12px;font-size:.8125rem;display:flex}.field-help{color:var(--text-dim);font-size:.6875rem;font-weight:400;line-height:1.5;display:block}.net-field .pin-input{flex:0 0 var(--net-col)}.join-row{gap:var(--net-gap);flex-wrap:wrap;display:flex}.join-row input{flex:1 1 calc(var(--net-col) - var(--net-gap));text-transform:uppercase;letter-spacing:.2em;text-align:center;min-width:0;font-size:1.0625rem}.join-row button{flex:100%}.pin-input{font-family:var(--font-mono);letter-spacing:.08em;text-align:center;min-width:0}.join-row .pin-input{text-transform:none;letter-spacing:.04em;font-size:1rem}.join-row input[aria-invalid=true]{border-color:var(--danger)}.join-help{text-align:right;margin:-2px 0 0}.net-entry .join-row{flex-wrap:nowrap}.net-entry .join-row input{flex:1 1 0}.net-entry .join-row button{flex:none}.net-or{color:var(--text-dim);align-items:center;gap:10px;margin:0;font-size:.75rem;display:flex}.net-or:before,.net-or:after{content:"";border-top:1px solid var(--line);flex:1}.info-body:has(>.room-form){background:0 0;padding:0}.room-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:16px;padding:20px;display:flex}.room-field{flex-direction:column;gap:4px;display:flex}.room-field-label{color:var(--text-dim);font-size:.875rem}.room-field .btn-note,.room-field .net-error,.room-submit .net-error{margin:0}.room-code-input{font-family:var(--font-mono);letter-spacing:.3em;text-align:center;text-transform:uppercase;font-size:1.5rem}.join-row input::placeholder,.pin-input::placeholder,.room-code-input::placeholder{font-family:var(--font-ui);letter-spacing:normal;text-transform:none}.room-form input[aria-invalid=true]{border-color:var(--danger)}.room-submit{flex-direction:column;gap:6px;margin-top:4px;display:flex}.room-submit button.primary{min-block-size:52px}.net-error{color:var(--danger)}.net-entry .net-error{margin:0}.net-lobby h2{letter-spacing:.15em}.net-seats{padding:0;list-style:none}.net-seats li{border-bottom:1px solid var(--line,#334);padding:.35rem .2rem}.net-seat-no{opacity:.7;margin-right:.4rem}.net-host-controls{flex-direction:column;align-items:stretch;gap:.7rem;margin:.8rem 0;display:flex}.net-cpu-list{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.net-start-btn{align-self:flex-start}.net-seat-off{color:#f0a05a;margin-left:.5rem;font-size:.875rem}.verified-mark{border:1px solid var(--line);min-block-size:15px;min-inline-size:15px;color:var(--text-dim);vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;margin-inline-start:4px;font-size:.625rem;line-height:1;display:inline-flex}.net-debug-note{color:#f0a05a}.room-code-box{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:.8rem;margin-top:.8rem;padding:.7rem 1.1rem;display:flex}.room-code-label{color:var(--text-dim);font-size:.8125rem}.room-code{letter-spacing:.2em;color:var(--accent);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.pin-box{padding:.5rem .9rem}.room-pin{letter-spacing:.15em;color:var(--accent);font-size:1.375rem;font-family:var(--font-mono)}.copy-btn{padding:4px 10px;font-size:.875rem}.invite-row{flex-wrap:wrap;align-items:center;gap:.5rem .8rem;max-width:30rem;margin-top:.6rem;display:flex}.invite-url{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-dim);border:1px solid var(--line);border-radius:var(--radius-sm);background:#00000040;flex:14rem;padding:.35rem .5rem;font-size:.75rem;overflow:hidden}.invite-actions{gap:.4rem;display:flex}.ready-roster{text-align:left;margin-top:.9rem}.ready-title{color:var(--text-dim);margin-bottom:.35rem;font-size:.8125rem}.ready-list{flex-wrap:wrap;gap:.35rem .6rem;display:flex}.ready-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:#00000038;align-items:center;gap:.35rem;padding:.2rem .5rem;font-size:.875rem;display:flex}.ready-dot{border-radius:50%;flex:none;width:.6rem;height:.6rem}.ready-state{color:var(--text-dim);font-size:.75rem;font-style:normal}.ready-item.on{border-color:#66bb6a80}.ready-item.on .ready-state{color:#66bb6a}.legal-content h3{margin:1.1em 0 .3em;font-size:1rem}.legal-content p,.legal-content li{line-height:1.7}.legal-note{opacity:.7;font-style:italic}.legal-consent-choices button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.net-statusbar{text-align:center;background:#508cdc2e;padding:.3rem .8rem;font-size:.875rem}.net-statusbar-warn{background:#dc783c47}.net-statusbar button{margin-left:.6rem;padding:.15rem .7rem;font-size:.875rem}.net-statusbar-urgent{background:#ff525252;font-weight:700;animation:1.2s ease-in-out infinite net-timer-soft}.net-lobby-countdown{color:var(--text-dim);font-variant-numeric:tabular-nums;margin:.2rem 0 .6rem;font-size:.875rem}.net-lobby-countdown.warn{color:var(--warn)}.net-lobby-countdown.urgent{color:var(--danger);font-weight:700}.net-timer{border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;background:#508cdc24;align-items:center;gap:10px;margin-bottom:10px;padding:6px 10px;display:flex}.net-timer-label{color:var(--text-dim);white-space:nowrap;font-size:.8125rem}.net-timer-value{min-width:3.2em;font-size:1.375rem;font-weight:700;line-height:1}.net-timer-bar{background:#ffffff1f;border-radius:4px;flex:1;height:8px;overflow:hidden}.net-timer-bar i{transform-origin:0;height:100%;scale:var(--ratio,1) 1;background:#ece7dc99;transition:scale .25s linear;display:block}.net-timer.warn{background:#ffb74d29}.net-timer.warn .net-timer-value{color:var(--warn)}.net-timer.warn .net-timer-bar i{background:var(--warn)}.net-timer.urgent{background:#ff525233}.net-timer.urgent .net-timer-value{color:var(--danger);animation:1.2s ease-in-out infinite net-timer-soft}.net-timer.urgent .net-timer-bar i{background:var(--danger)}@keyframes net-timer-soft{50%{opacity:.55}}.prompt-timedout{color:var(--warn);margin-bottom:6px;font-weight:600}.roundend-auto{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-top:.7rem;font-size:.875rem}.roundend-auto.warn{color:var(--warn)}.roundend-auto.urgent{color:var(--danger);font-weight:700}@media (width>=900px){.game-main{--below-board:calc(151px + 212px + 20px);overflow:hidden;container-type:size}.game-main>.board-outer{--board-card-max:40px;--board-card:clamp(28px, min(calc((100cqi - 144px) / 13), calc((100cqb - var(--below-board) - 85px) / 7)), var(--board-card-max));flex:0 auto;min-height:0;overflow-y:auto;container-type:inline-size}.game-main>.hand-panel{flex-shrink:0}.game-main>.prompt-panel{flex:1 0 auto}.game-main>.prompt-panel.waiting{justify-content:flex-start}.prompt-act{flex-wrap:wrap;align-items:center;gap:8px 16px;min-block-size:61.6px;display:flex}.prompt-act>.selected-cards{order:1;margin:0}}@media (width>=1350px){.game-main>.board-outer{--board-card-max:52px}}@media (width>=900px) and (width<=1349px){.col-players{padding-bottom:88px}}@media (width>=900px) and (width<=1349px) and (height<=900px),(orientation:portrait) and (width<=899px){.hand-title{margin-bottom:4px;font-size:.75rem}.hand-card{gap:0;position:relative}.hand-card .pos-badge{pointer-events:none;padding:0 3px;font-size:.5625rem;line-height:1.4;position:absolute;inset-block-end:-2px;inset-inline-start:-2px}.hand-panel>.hand-section+.hand-section{align-items:center;gap:8px;display:flex}.hand-panel>.hand-section+.hand-section .hand-title{margin-bottom:0}}@media (width>=900px) and (width<=1349px) and (height<=900px){.game-body{grid-template-rows:minmax(0,1fr) minmax(120px,22%)}.game-main{--below-board:calc(102px + 212px + 20px)}.game-main>.hand-panel{gap:6px 18px;padding:8px 12px}.hand-panel .pc-md{--w:44px}.hand-cards{gap:6px}}@media (orientation:portrait) and (width>=700px){.board-outer{--board-card:clamp(30px, calc((100cqi - 128px) / 13), 46px)}.players-panel{flex-wrap:wrap;overflow-x:visible}.player-card{flex:calc(50% - 4px);min-width:0}.hand-panel .pc-md{--w:52px}.setup-screen:not(.net-lobby){max-width:min(680px,100%)}}@media (orientation:landscape) and (height<=560px){.setup-screen:not(.net-lobby){grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr);align-items:start;gap:0 28px;max-width:960px;margin:14px auto;display:grid}.setup-screen:not(.net-lobby)>.setup-topbar{grid-column:1/-1}.setup-screen:not(.net-lobby)>.setup-hero{grid-area:2/1;margin-bottom:0}.setup-screen:not(.net-lobby)>:not(.setup-topbar):not(.setup-hero){grid-column:2}.setup-hero .tagline{margin-bottom:0}.game-header{padding:calc(4px + env(safe-area-inset-top)) 12px 4px}.round-info,.suggestion-info{flex-basis:auto;order:0}.game-main,.prompt-act{display:contents}.game-body{padding:8px calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));grid-template:"board prompt"minmax(0,1fr)"board side""hand hand"/minmax(0,1fr) minmax(264px,40%);gap:8px;overflow:hidden}.game-main>.board-outer{--board-card:clamp(22px, calc((100cqi - 96px) / 13), 34px);grid-area:board;min-height:0;overflow-y:auto;container-type:inline-size}.board-groups.bg-pending .bg-group{display:none}.board-groups.bg-pending .bg-excluded{display:block}.joker-row .excluded-pending{display:none}.game-main>.prompt-panel{overscroll-behavior:contain;grid-area:prompt;min-height:0;padding:8px 12px;overflow-y:auto}.game-main>.prompt-panel .btn-row{z-index:1;background:#161c1a;gap:6px;margin-block:4px -8px;padding-block:4px 8px;position:sticky;inset-block-end:-8px}.game-main>.prompt-panel .btn-row button{white-space:normal;word-break:keep-all;padding:8px 10px;font-size:.8125rem}.col-side{min-height:0;overscroll-behavior:contain;grid-area:side;max-block-size:26dvh;display:block;overflow-y:auto}.col-log{display:none}.players-panel{flex-flow:row;gap:6px;padding-bottom:2px;overflow-x:auto}.player-card{border-radius:var(--radius-sm);flex:none;min-width:152px;padding:4px 8px}.player-head{margin-bottom:0}.player-stats{gap:8px;margin-bottom:0;font-size:.75rem}.player-cards{display:none}.game-main>.hand-panel{flex-wrap:nowrap;grid-area:hand;align-items:center;gap:6px 14px;padding:5px 10px;overflow-x:auto}.hand-panel .pc-md{--w:42px}.hand-title{margin-bottom:2px;font-size:.75rem}.hand-cards{flex-wrap:nowrap}.toast-layer{gap:6px;max-width:min(100% - 16px,380px);max-height:calc(100dvh - 58px);top:48px}.toast{border-radius:var(--radius);gap:6px;padding:8px 14px}.memo-fab{width:48px;height:48px;right:calc(10px + env(safe-area-inset-right));bottom:calc(10px + env(safe-area-inset-bottom));font-size:1.375rem;display:flex}}@media (orientation:portrait) and (width<=699px){.hand-panel{gap:6px 16px;padding:8px 10px}.hand-panel .pc-md{--w:40px}.hand-title{gap:8px}.hand-cards{gap:5px}}@media (orientation:landscape) and (height>=561px) and (width>=900px){.game-main>.board-outer{--board-card-max:60px}.col-log{align-self:stretch;min-height:0}.col-log>.side-panel{flex:1 1 0;min-height:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation:var(--animation-reduced)!important;scroll-behavior:auto!important;transition-property:opacity,color,background-color,border-color,box-shadow,outline-color!important}dialog.modal,dialog.modal::backdrop{transition-property:opacity,display,overlay!important}.board-outer:after{animation-timeline:--board-x!important;animation-range:calc(100% - 48px) 100%!important}.bcell-suggested .pcard,.bcell-selected .pcard,.bcell-clickable:hover .pcard,.hand-card-pickable:hover .pcard{transform:none}}@media (forced-colors:active){button,[role=button]{border:1px solid buttonborder}button.primary{color:highlighttext;background:highlight;border-color:highlight}.net-entry button.net-action.net-create{border:2px solid buttontext}.join-row input[aria-invalid=true],.room-form input[aria-invalid=true],button.danger-btn{border:2px solid canvastext}.prompt-panel,.resume-box{border-left:3px solid highlight}.prompt-panel.waiting{border-left-color:canvastext}.player-card.current{outline-offset:-1px;outline:2px solid highlight}.side-tabs button.active{border-bottom:3px solid highlight}.tool-btn[aria-pressed=true],.legal-consent-choices button[aria-pressed=true]{border:2px solid highlight}.tab-dot,.memo-fab-dot{background:highlight;border:1px solid canvastext}.tut-dot.active{background:highlight;border-color:highlight}.log-latest{border-left:3px solid highlight}.hist-agari-ok{border:2px solid canvastext}.hist-agari-ng{border:2px dashed canvastext}.hist-dropped{border:2px dotted canvastext}.memo-slot-sure{border:2px solid highlight}.memo-row-cand{border-left:2px dotted canvastext}.memo-row-strong{border-left:2px dashed canvastext}.memo-row-sure{border-left:3px solid highlight}.memo-new{outline:1px solid highlight}.memo-known-meter{background:linear-gradient(to right, CanvasText calc(var(--known,0) * 100%), transparent 0);outline:1px solid canvastext}.net-timer.warn .net-timer-value:before,.memo-turn-time.warn:before,.net-lobby-countdown.warn:before,.roundend-auto.warn:before,.net-statusbar-warn:before{content:"! "}.net-timer.urgent .net-timer-value:before,.memo-turn-time.urgent:before,.net-lobby-countdown.urgent:before,.roundend-auto.urgent:before,.net-statusbar-urgent:before{content:"!! "}.net-timer,.net-statusbar{border:1px solid canvastext}.net-timer.urgent,.net-statusbar-urgent{border:2px solid canvastext}.game-header.my-turn{border-bottom:2px solid highlight}.turn-flag{color:highlighttext;background:highlight;border:1px solid highlight}.memo-turn-call{border:2px solid highlight}input:focus,select:focus,textarea:focus{outline-offset:1px;outline:2px solid highlight}.player-chip,.memo-dot,.ready-dot,.owner-dot,.known-dot{background:currentColor;border:1px solid canvastext}.player-chip-labeled{color:canvastext;background:canvas}.pcard{border:1px solid canvastext}.bcell-suggested .pcard{border:2px dashed highlight}.bcell-paypick .pcard,.bcell-selected .pcard{border:2px solid highlight}.bcell-open .pcard{outline-offset:1px;outline:2px solid highlight}.modal-box,.toku-pop{border:1px solid canvastext}.toku-tag-tip:has(+.toku-pop:popover-open){border:2px solid highlight}}
