@font-face{font-family:Mahhua Display;src:url(/assets/display-latin-DZA5_Lbv.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Mahhua Display;src:url(/assets/display-ja-sheets-D6REc4Au.woff2)format("woff2");font-weight:700;font-display:swap;unicode-range:U+3005,U+3048,U+30C0,U+30C8,U+30C9,U+30D6,U+30D7,U+30E9,U+30EB,U+4E00,U+4E03,U+4E09,U+4E0A,U+4E2D,U+4E5D,U+4E8C,U+4E94,U+4EBA,U+500D,U+5143,U+5168,U+516D,U+523B,U+524D,U+53CC,U+53E3,U+540C,U+548C,U+559C,U+56DB,U+56FD,U+5730,U+58EB,U+5927,U+5929,U+5B50,U+5B57,U+5B9D,U+5BFE,U+5C0F,U+5DBA,U+5E2F,U+5E73,U+5E7A,U+5E95,U+6478,U+6488,U+6570,U+65AD,U+6697,U+6708,U+69CD,U+69D3,U+6C17,U+6CB3,U+6D77,U+6DF7,U+6E05,U+6E80,U+7121,U+71C8,U+767A,U+767C,U+767D,U+76C3,U+76F4,U+7ACB,U+7D14,U+7DD1,U+8001,U+81EA,U+8272,U+82B1,U+84EE,U+88CF,U+8CAB,U+8D64,U+8DF3,U+901A,U+9580,U+958B,U+9806,U+982D,U+98A8,U+9B5A}@font-face{font-family:Mahhua Display;src:url(/assets/display-ja-DWZ-vNmv.woff2)format("woff2");font-weight:700;font-display:swap;unicode-range:U+30??,U+3400-9FFF,U+F900-FAFF,U+FF00-FFEF}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-text:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Mahhua Display", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", Georgia, serif;font-family:var(--font-text);--mix-wash:15%;--mix-tint:25%;--mix-line:45%;--mix-glow:50%;--mix-veil:60%;--mix-dense:88%;--room-hi:#2b3531;--room:#1a211e;--room-lo:#111715;--shade:#0d1210;--felt:#1d4d38;--felt-dark:#133828;--felt-lit-hi:#2f7354;--felt-lit:#255f45;--felt-lit-lo:#1c4b35;--rim:#25170c;--rim-lit:#402f20;--panel:#242d29;--sunken:#181f1d;--ink:#f4f1e8;--muted:#b8c4bf;--bright:#fff;--accent:#e6b55d;--on-accent:#1d2321;--accent-wash:color-mix(in srgb, var(--accent) var(--mix-wash), transparent);--accent-line:color-mix(in srgb, var(--accent) var(--mix-line), transparent);--accent-glow:color-mix(in srgb, var(--accent) var(--mix-glow), transparent);--ivory:#dad6cc;--on-ivory:#1d2321;--tile-face:#f4f1e8;--tile-edge:#cfc6ad;--line-faint:#ffffff12;--line:#ffffff1f;--line-strong:#ffffff2e;--lift-1:#ffffff0f;--lift-2:#ffffff1a;--lift-3:#ffffff26;--umbra:#000;--scrim-weak:#00000038;--scrim:#00000059;--scrim-strong:#0000008c;--scrim-solid:#000c;--umbra-45:#00000073;--umbra-50:#00000080;--umbra-60:#0009;--plus:#8bd48b;--minus:#ff958b;--warn:#ff9878;--win:#ba3728;--on-win:#f4f1e8;--win-ink:#f75f4c;--red-five:#c62828;--here:#58c26b;--gone:#6d7a86;--trace:#255f45;--cls-best:#5590e4;--cls-good:#9dd6ec;--cls-inaccuracy:#ffc299;--cls-mistake:#ea6a64;--cls-blunder:#ed4f8d;--medal-gold-hi:#ffe08a;--medal-gold:#e0a521;--on-medal-gold:#2a1e00;--medal-silver:#d5dbe3;--on-medal-silver:#1c2530;--medal-bronze:#c98a4f;--on-medal-bronze:#24140a;--fs-caption:.75rem;--fs-small:.875rem;--fs-body:1rem;--fs-lead:1.25rem;--fs-title:1.75rem;--fs-display:2.5rem;--fw-regular:400;--fw-bold:700;--lh-control:1;--lh-tight:1.2;--lh-body:1.5;--sp-2:.125rem;--sp-4:.25rem;--sp-6:.375rem;--sp-8:.5rem;--sp-12:.75rem;--sp-16:1rem;--sp-20:1.25rem;--sp-24:1.5rem;--sp-32:2rem;--sp-48:3rem;--r-xs:4px;--r-s:6px;--r-m:8px;--r-l:12px;--r-board:22px;--r-pill:999px;--shadow-1:1px 1px 2px var(--umbra-50);--shadow-2:2px 4px 16px var(--umbra-45);--shadow-3:4px 8px 30px var(--umbra-60);--shadow-press:0 4px 0 var(--scrim);--shadow-pressed:0 2px 0 var(--scrim);--shadow-glow:0 0 44px var(--accent-glow);--glow-text:0 0 18px var(--accent-glow);--frame-sidebar:13rem;--frame-rail:4.5rem;--frame-content:64rem;--target:44px;--z-tiles:2;--z-hud:3;--z-controls:4;--z-banner:5;--z-aids:9;--z-dialog:10;--z-under-tiles:900;--z-marks:99000;--z-hint:100000;--z-over-tiles:200000;--z-flight:1000000;--z-over-flight:1000000;--z-topbar:15;--z-drawer:20;--z-panel:30;--z-bar:60;--z-toast:70;--dur-instant:1ms;--dur-quick:.2s;--steps-quick:6;--dur-base:.3s;--steps-base:9;--dur-settle:.35s;--steps-settle:10;--dur-hold:.3s;--steps-hold:9;--dur-stagger:.16s;--dur-callout:.9s;--steps-snap:4;--steps-callout-fade:7;--dur-callout-hold:1.2s;--dur-dice:3s;--steps-dice:30}:root[data-fps=full]{--steps-quick:24;--steps-base:36;--steps-settle:40;--steps-hold:36;--steps-dice:120;--steps-snap:16;--steps-callout-fade:28}:lang(ja){--font-text:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Noto Sans JP", system-ui, sans-serif}:lang(zh-Hans),:lang(zh-CN){--font-text:"PingFang SC", "Microsoft YaHei", "Noto Sans SC", system-ui, sans-serif}:lang(zh-Hant),:lang(zh-TW),:lang(zh-HK){--font-text:"PingFang TC", "Microsoft JhengHei", "Noto Sans TC", system-ui, sans-serif}:lang(ko){--font-text:"Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", system-ui, sans-serif}:lang(ja),:lang(zh),:lang(ko){--fs-caption:.8125rem;--lh-body:1.7;font-family:var(--font-text);font-synthesis:none}:root{--tile-h:calc(28 / 20.5);--tile-d:calc(16 / 20.5);--rise:calc(var(--tile-d) * tan(var(--lean)));--lean:0deg;--fit:calc(cos(var(--lean)) + .07 * sin(var(--lean)))}*{box-sizing:border-box}html,body{background:var(--felt-dark);color:var(--ink);font-variant-numeric:tabular-nums;-webkit-tap-highlight-color:transparent;margin:0}html{touch-action:manipulation}html:has(.tile-layer){overscroll-behavior-y:none}body{background:radial-gradient(ellipse at 50% 30%, var(--room-hi) 0%, var(--room) 60%, var(--room-lo) 100%) no-repeat var(--room-lo);min-height:100dvh}.brand{font-family:var(--font-display);font-weight:var(--fw-bold);letter-spacing:.01em;align-items:center;gap:.55em;display:inline-flex}.page-title,.lesson-title,.limit-name,.end-place{font-family:var(--font-display)}.brand img{box-shadow:var(--shadow-2);border-radius:18%}button,.button{font:inherit;font-size:var(--fs-body);min-height:var(--target);padding:var(--sp-8) var(--sp-16);border-radius:var(--r-m);background:var(--accent);color:var(--on-accent);font-weight:var(--fw-bold);cursor:pointer;align-items:center;gap:var(--sp-6);border:0;text-decoration:none;display:inline-flex}button:not(:disabled):active,.button:active{filter:brightness(.88);translate:0 1px}button:disabled{cursor:default}:is(button:not(.link,.tile-hit,.nav-item,.menu-button,.moment,.start-answer,.action),.button):disabled{background:var(--lift-1);color:var(--muted);box-shadow:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.link{color:var(--accent);min-height:auto;font-size:inherit;font-weight:var(--fw-regular);background:0 0;padding:0;text-decoration:underline}input[type=text],input[type=email],input:not([type]){font:inherit;font-size:var(--fs-body);min-height:var(--target);padding:0 var(--sp-12);border-radius:var(--r-m);border:1px solid var(--line-strong);background:var(--sunken);width:100%;max-width:20rem;color:var(--ink)}input::placeholder{color:var(--muted)}input[type=text]:focus,input[type=email]:focus,input:not([type]):focus{border-color:var(--accent-line)}.page{max-width:32rem;padding:var(--sp-24) var(--sp-16);margin:0 auto}.page fieldset{border:1px solid var(--line);border-radius:var(--r-m);margin:0 0 var(--sp-16);gap:var(--sp-8);display:grid}.page select{font:inherit;min-height:var(--target);padding:var(--sp-4) var(--sp-8);border-radius:var(--r-m);border:1px solid var(--line-strong);background:var(--sunken);color:var(--ink)}.profile-box{gap:var(--sp-8);display:grid}.profile-box>button[type=submit]{justify-self:start}.page label{min-height:var(--target);align-items:center;gap:var(--sp-8);display:flex}.bar{align-items:center;gap:var(--sp-6) var(--sp-16);flex-wrap:wrap;display:flex}.bar h1{flex:1;margin:0}.small{font-size:var(--fs-small);color:var(--muted)}.notice{color:var(--warn)}footer{margin-top:var(--sp-32)}.tile{box-shadow:0 max(1px, calc(var(--tw) * .06)) 0 var(--tile-edge), 0 max(1px, calc(var(--tw) * .08)) max(2px, calc(var(--tw) * .14)) var(--scrim-strong);background-repeat:no-repeat;border-radius:12%;flex:none;display:inline-block}.tile-s{--tw:var(--t,20px);width:var(--tw);height:calc(var(--tw) * var(--tile-h))}.tile-m{--tw:28px;width:var(--tw);height:calc(var(--tw) * var(--tile-h))}.tile-l{--tw:var(--T,40px);width:var(--tw);height:calc(var(--tw) * var(--tile-h))}.tile.sideways{margin:0 calc(var(--t,20px) / 6);transform:rotate(-90deg);translate:0 calc(var(--t,20px) / 6)}.tile.dim{filter:brightness(.55)}.tile.tsumogiri{filter:brightness(.82)saturate(.85)}.tile.highlight{outline:2px solid var(--accent);outline-offset:1px}.play{background:radial-gradient(circle at 50% 40%, var(--felt), var(--felt-dark));isolation:isolate;flex-direction:column;min-height:100dvh;display:flex;overflow:clip}.banner,.queue-bar,.rematch-bubble,.queue-notice-card{background:var(--panel);border:1px solid var(--line-strong);box-shadow:var(--shadow-2);color:var(--ink)}.rematch-bubble,.queue-notice-card{border-color:var(--accent-line)}:is(.banner.warn,.banner.for-you:has(.warn)){border-color:var(--warn);border-left-width:3px}.banner{z-index:var(--z-banner);text-align:center;border-radius:1.2em;width:max-content;max-width:calc(100vw - 1rem);padding:.45em 1.1em;font-size:1em;position:fixed;top:.5rem;left:50%;translate:-50%}@media (width<=639.98px){.banner{top:4rem}}@media (orientation:landscape) and (width>=1100px){.banner{font-size:1.25em;top:1rem}}.banner.warn,.banner .warn{color:var(--warn)}.for-you{--t:20px;border-radius:.9em;justify-items:center;gap:.25em;display:grid}.for-you-tiles{flex-wrap:wrap;justify-content:center;align-items:center;gap:.2em;display:inline-flex}.table{--board:min(100vw, calc((100dvh - 176px) / var(--fit)), 760px);--t:calc(var(--board) / (23.6 + 2 * var(--rise)));--T:min(calc((100vw - 24px) / 14.8), 52px, calc(var(--board) / 8));flex-direction:column;flex:1;align-items:center;display:flex}.board{width:var(--board);height:calc(var(--board) * var(--fit));flex:none;margin-block:auto;position:relative}@media not ((orientation:landscape) and (width>=640px)){.board{margin-block:auto var(--sp-4)}.play:not(:has(.replay-bar)) .table{--board:min(100vw, calc((100dvh - 96px - 148px - min((100vw - 24px) / 14.8, 52px) * var(--tile-h)) / var(--fit)), 760px)}.play:not(:has(.replay-bar)) .controls:not(.open-controls){align-content:flex-end;min-height:calc(132px + 1rem)}}.center{--score:min(max(15px, calc(var(--t) * .75)), calc(var(--t) * .8));--band:calc(var(--score) + max(2px, calc(var(--t) * .16)) + var(--t) * .16 + 6px);width:calc(var(--t) * 6.5);height:calc(var(--t) * 6.5);border-radius:var(--r-l);background:var(--felt-dark);box-shadow:inset 0 0 0 1px var(--line-strong), var(--shadow-1);text-align:center;padding:var(--band);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;translate:-50% -50%}.compass-side{justify-content:flex-end;align-items:center;gap:calc(var(--t) * .06);padding-bottom:var(--sp-6);pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0}.stick-slot{height:max(2px, calc(var(--t) * .16));justify-content:center;display:flex}.compass-side-1{rotate:-90deg}.compass-side-2{rotate:180deg}.compass-side-3{rotate:90deg}.compass-line{font-size:var(--score);line-height:var(--lh-control);scale:1 calc(1 / sqrt(cos(var(--lean,0deg))));transform-origin:50% 100%;align-items:baseline;gap:.3em;display:flex}.compass-side-1 .compass-line,.compass-side-3 .compass-line{scale:calc(1 / sqrt(cos(var(--lean,0deg)))) 1}.compass-wind{font-family:var(--font-display);color:var(--muted)}.compass-wind.dealer{color:var(--accent);font-weight:var(--fw-bold)}.compass-points{font-variant-numeric:tabular-nums;color:var(--ink)}.compass-side-0 .compass-points{font-weight:var(--fw-bold)}.turn-light{background:var(--accent);border-radius:var(--r-xs);opacity:0;transition:opacity var(--dur-quick) steps(var(--steps-quick));will-change:opacity;pointer-events:none;position:absolute}.turn-light.on{opacity:1}.turn-light-0{height:4px;bottom:0;left:24%;right:24%}.turn-light-1{width:4px;top:24%;bottom:24%;right:0}.turn-light-2{height:4px;top:0;left:24%;right:24%}.turn-light-3{width:4px;top:24%;bottom:24%;left:0}.wall-left,.player-card .clock,.own-clock{will-change:transform}.center .round{font-family:var(--font-display);font-weight:var(--fw-bold);font-size:min(max(16px, calc(var(--t) * .95)), var(--t));line-height:var(--lh-tight)}.center .small{font-size:max(13px, calc(var(--t) * .5));line-height:var(--lh-tight)}.center .round-en{color:var(--muted)}.center{container-type:size}@container (height<=110px){.center .round-en{display:none}}@container (height<=125px){.center .dice,.center .dora-label,.corner-wall .icon{display:none}}.corner{line-height:var(--lh-control);font-variant-numeric:tabular-nums;flex-direction:column;align-items:center;gap:.2em;display:flex;position:absolute}.corner-honba{left:calc(var(--t) * .15);top:calc(var(--t) * .15)}.corner-sticks{right:calc(var(--t) * .15);top:calc(var(--t) * .15)}.corner-wall{right:calc(var(--t) * .15);bottom:calc(var(--t) * .15)}.corner .icon{width:1em;height:1em;color:var(--muted)}.stick{border-radius:var(--r-pill);background-color:var(--tile-face);width:1.5em;height:.375em;display:inline-block}.stick-1000{background-image:radial-gradient(circle, var(--red-five) 0 30%, transparent 34%);background-position:50%;background-repeat:no-repeat;background-size:auto 100%}.stick-100{background-image:linear-gradient(90deg, var(--tile-face) 0 .25em, transparent 0 .85em, var(--tile-face) 0 .9em, transparent 0 1.5em, var(--tile-face) 0), radial-gradient(circle, var(--on-ivory) 0 30%, transparent 40%);background-position:0 0,.25em 0;background-repeat:no-repeat,repeat-x;background-size:100% 100%,.15em 100%}.dora{align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;justify-content:center;display:flex}.dora:has(.dora-pair:nth-child(3)) .dora-label{display:none}.dora:has(.dora-pair:nth-child(3)) .dora-pair{zoom:.8}.dora:has(.dora-pair:nth-child(4)){gap:0 var(--sp-2);margin-top:0}.dora:has(.dora-pair:nth-child(4)) .dora-pair{zoom:.55}.dora:has(.dora-pair:nth-child(5)) .dora-pair{zoom:.45}.center-info:has(.dora-pair:nth-child(4)) .round-en{display:none}.dora-pair{align-items:center;gap:1px;display:inline-flex}.dora-indicator{opacity:.75;display:inline-flex}.dora-to{font-size:max(13px, calc(var(--t) * .6));line-height:var(--lh-control);color:var(--muted)}.dora-label{font-size:max(13px, calc(var(--t) * .45));color:var(--muted);margin-right:.3em}.zone{width:calc(var(--t) * 6);transform-origin:0 0;align-items:flex-start;gap:var(--sp-2);flex-direction:column;display:flex;position:absolute;top:50%;left:50%}.zone-0{transform:translate(-50%, calc(var(--t) * 3.1))}.zone-1{transform:rotate(-90deg) translate(-50%, calc(var(--t) * 3.1))}.zone-2{transform:rotate(180deg) translate(-50%, calc(var(--t) * 3.1))}.zone-3{transform:rotate(90deg) translate(-50%, calc(var(--t) * 3.1))}.seat-gap{height:calc(var(--t) * .3);display:block}.player-card{width:max-content;max-width:max(calc(var(--t) * 5.4), 102px);border-radius:var(--r-pill);background:color-mix(in srgb, var(--shade) var(--mix-veil), transparent);font-size:max(13px, calc(var(--t) * .5));line-height:var(--lh-tight);white-space:nowrap;align-items:center;gap:.35em;padding:.25em .55em .25em .3em;display:flex;position:absolute;overflow:hidden}.card-lines{min-width:0;display:grid}.card-name,.card-sub{align-items:center;gap:.35em;min-width:0;display:flex}.player-card .name{text-overflow:ellipsis;font-weight:var(--fw-regular);overflow:hidden}.own-card .name{font-weight:var(--fw-bold)}.player-card .clock{color:var(--accent);font-variant-numeric:tabular-nums}.tag{padding:0 var(--sp-4);border-radius:var(--r-xs);background:var(--lift-3);font-size:max(13px,.75em)}.tag.warn{background:var(--warn);color:var(--on-accent)}.riichi-stick{width:calc(var(--t) * 2.2);border-radius:var(--r-pill);background:radial-gradient(circle, var(--red-five) 0 32%, transparent 36%) center / auto 100% no-repeat, var(--tile-face);height:100%;box-shadow:var(--shadow-1);will-change:transform;animation:stick-in var(--dur-settle) steps(var(--steps-settle));--out:0, calc(var(--t) * 2);flex:none}.center-info{scale:1 calc(1 / sqrt(cos(var(--lean,0deg))));align-items:center;gap:calc(var(--t) * .1);flex-direction:column;display:flex}@keyframes stick-in{0%{opacity:0;transform:translate(var(--out))}}.river-slot{margin-top:calc(var(--t) * var(--rise));width:calc(var(--t) * 6.3);height:calc(var(--t) * var(--tile-h) * 3 + 2px);position:relative}.wall-slot{left:0;top:calc(var(--t) * (5.45 + var(--rise)));--tw:var(--t);height:calc(var(--tw) * var(--tile-h));position:absolute}.opponent-hand{left:0;top:calc(var(--t) * (5.6 + var(--rise) + var(--tile-h)));height:calc(var(--t) * var(--tile-h));width:calc(var(--t) * 14.3);position:absolute}.zone-2 .opponent-hand{top:calc(var(--t) * (5.6 + var(--rise) + var(--tile-h) + .45 * sin(var(--lean)) / sin(20deg)))}.wall-probe{width:var(--tw);height:1px}.dice{font-size:calc(var(--t) * .9);line-height:var(--lh-control);opacity:0;animation:dice-show var(--dur-dice) steps(var(--steps-dice));gap:.25em;display:flex}@keyframes dice-show{0%,93%{opacity:1}}.probe{visibility:hidden;pointer-events:none;position:absolute;top:0;left:0}.board.waiting{visibility:hidden}.surface{width:var(--board);height:var(--board);transform-origin:50% 100%;position:absolute;bottom:0;left:0}.board.view-compact{--t:calc(var(--board) / (18 + 2 * var(--rise)))}.board.view-compact .opponent-hand{top:calc(var(--t) * (4.25 + var(--rise)))}.board.view-compact .wall-slot{display:none}.tile-layer{left:0;top:calc(var(--board) * (var(--fit) - 1));width:0;height:0;z-index:var(--z-tiles);pointer-events:none;position:absolute}.tile-sprite{transform-origin:0 0;will-change:transform;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;background-repeat:no-repeat;display:block;position:absolute;top:0;left:0}.tile-hit{transform-origin:0 0;pointer-events:auto;touch-action:none;cursor:pointer;background:0 0;border:0;border-radius:12%;min-height:0;margin:0;padding:0;position:absolute;top:0;left:0}.row>a,.row>button.link,.play-head a,.replay-head .back,.rules-jump a,.page fieldset label,.setting-toggle,.review-every,.replay-bar .all-hands{min-height:var(--target);align-items:center;display:inline-flex}.page fieldset label{display:flex}.play-options>summary,.rules-tiles>summary{min-height:var(--target);padding-block:var(--sp-12)}.page select,.pills button,.topbar-action,.aids-button,.topbar-brand,input[type=text],input[type=email],input:not([type]){min-height:var(--target)}input[type=range]{height:44px}.tabs{gap:var(--sp-8)}.page fieldset{min-width:0}.play-layout,.play-main,.play-start,.settings-preview-box,.rules section{min-width:0;max-width:100%}.page fieldset,.play-start{grid-template-columns:minmax(0,1fr)}.play-start button,.page fieldset button{white-space:normal}.yaku-table td small,.yaku-table td{min-width:0}.page.site-main.rules>section{overflow-x:auto}.page input[type=range]{flex:8rem;min-width:0;max-width:100%}.page fieldset .row{flex-wrap:wrap;max-width:100%}.page fieldset .row>*{min-width:0}.yaku-table th,.yaku-table td{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.page select{max-width:100%}.row{flex-wrap:wrap}.topbar-brand{min-width:0;overflow:hidden}.yaku-table{table-layout:fixed;overflow-wrap:anywhere;width:100%}.counts dt,.counts dd{overflow-wrap:anywhere}.counts>div{min-width:0}@media (pointer:coarse),(width<=639.98px){.tile-hit:after{content:"";position:absolute;inset:-5px 0 -14px}}.tile-hit:focus-visible{outline:3px solid var(--bright);outline-offset:1px;box-shadow:0 0 0 6px var(--room);z-index:var(--z-over-tiles)!important}.tile-hit:disabled{cursor:default;opacity:1}.last-discard{animation:ring-wait var(--dur-instant) backwards;box-sizing:border-box;border:2px solid var(--accent);will-change:transform;pointer-events:none;z-index:var(--z-under-tiles);border-radius:14%;position:absolute;top:0;left:0}@keyframes ring-wait{0%,to{opacity:0}}.dialog{animation:dialog-in var(--dur-quick) steps(var(--steps-quick))}.callout-layer{left:0;top:calc(var(--board) * (var(--fit) - 1));width:0;height:0;z-index:var(--z-hud);pointer-events:none;position:absolute}.card-layer{z-index:1}.callout{--call-size:max(1.75rem, calc(var(--t) * 1.9));pointer-events:none;font-weight:var(--fw-bold);line-height:var(--lh-control);color:var(--bright);background:radial-gradient(closest-side, var(--scrim-strong), transparent);white-space:nowrap;opacity:0;animation:callout var(--dur-callout);flex-direction:column;align-items:center;padding:.6em 1.4em;display:flex;position:absolute;translate:-50% -50%}.callout.riichi{color:var(--accent)}.callout.win{color:var(--win-ink)}.callout-kana{font-family:var(--font-display);font-size:var(--call-size);letter-spacing:.04em;text-shadow:0 0 .2em var(--scrim-strong), 0 1px 2px var(--scrim-strong)}.callout-word{font-size:max(var(--fs-small), calc(var(--call-size) * .35));text-shadow:0 1px 2px var(--scrim-strong);margin-top:.3em}.callout.only-word .callout-word{font-family:var(--font-display);font-size:calc(var(--call-size) * .7);margin-top:0}@keyframes dialog-in{0%{opacity:0;translate:0 12px}50%{opacity:.69;translate:0 3.8px}}@keyframes callout{0%{opacity:0;animation-timing-function:steps(var(--steps-snap));scale:.6}15%{opacity:1;animation-timing-function:step-end;scale:1}75%{opacity:1;animation-timing-function:steps(var(--steps-callout-fade))}to{opacity:0}}@keyframes callout-hold{0%,to{opacity:1}}@media (prefers-reduced-motion:reduce){.dialog{animation:none}.callout{animation:callout-hold var(--dur-callout-hold)}}.own{align-items:center;gap:var(--sp-6);width:100%;padding:var(--sp-4) var(--sp-8) calc(var(--sp-8) + env(safe-area-inset-bottom));flex-direction:column;display:flex;position:relative}.own-hand{width:min(100%, calc(var(--T) * 15.4));height:calc(var(--T) * var(--tile-h));flex:none;position:relative}@media not ((orientation:landscape) and (width>=640px)){.own-hand.on-top{height:calc(var(--T) * (var(--tile-h) + 1.15))}}.own-side{display:contents}.own-status{justify-content:center;gap:var(--sp-12);max-width:100%;min-height:1.4rem;z-index:var(--z-hud);flex-wrap:wrap;align-items:center;display:flex;position:relative}.own-clock{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:var(--fw-bold);align-items:baseline;gap:.3em;display:inline-flex}.own-clock .clock-mark{align-self:center;width:.9em;height:.9em}.own-clock .bank{font-size:.75em;font-weight:var(--fw-bold);opacity:.85}.own-clock.on-bank{color:var(--warn)}.controls{justify-content:center;gap:var(--sp-8);min-height:var(--target);--t:18px;z-index:var(--z-controls);flex-wrap:wrap;display:flex;position:relative}.action-pass,.action-chi,.action-pon,.action-open_kan,.action-closed_kan,.action-added_kan{background:var(--ivory)}.open-controls button{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:relative;overflow:hidden}.open-controls button>span{position:relative}.hold-try{justify-items:start;gap:var(--sp-8);margin-block:var(--sp-16);display:grid}.hold-try p{margin:0}.hold-practice{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;justify-content:center;min-width:11rem;position:relative;overflow:hidden}.hold-practice>span{position:relative}.hold-practice.done{background:var(--plus)}.hold-practice.holding:before,.open-controls button.holding:before{content:"";background:var(--scrim-weak);transform-origin:0;animation:hold-fill var(--dur-hold) steps(var(--steps-hold)) forwards;position:absolute;inset:0}@keyframes hold-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.action-ron,.action-tsumo{background:var(--win);color:var(--on-win)}.action-tiles{display:inline-flex}.dialog-backdrop{background:var(--scrim-strong);padding:var(--sp-16);z-index:var(--z-dialog);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--panel);color:var(--ink);border-radius:var(--r-l);padding:var(--sp-16) var(--sp-20);--t:22px;width:min(30rem,100%);max-height:90dvh;overflow:auto}.dialog h2{margin:0 0 var(--sp-8);font-size:var(--fs-lead)}.dialog.hand-end{padding-bottom:0}.hand-end-foot{gap:var(--sp-8);margin:0 calc(-1 * var(--sp-20));padding:var(--sp-6) var(--sp-20) var(--sp-16);background:var(--panel);justify-items:start;display:grid;position:sticky;bottom:0}.hand-end-foot .deltas{width:100%}.hand-end-foot.more:before{content:"";height:var(--sp-24);background:linear-gradient(transparent, var(--panel));pointer-events:none;position:absolute;bottom:100%;left:0;right:0}.limit-name,.end-place{transform-origin:0}.dialog:has(.limit-name,.end-place){overflow-x:hidden}.dialog h2.kicker{margin-bottom:var(--sp-2);font-size:var(--fs-small);font-weight:var(--fw-regular);color:var(--muted)}.win-top{container-type:inline-size}.limit-name{margin:0 0 var(--sp-4);font-size:var(--fs-title);line-height:var(--lh-tight);font-weight:var(--fw-bold);color:var(--accent);animation:limit-in var(--dur-settle) steps(var(--steps-settle)) both}.limit-kanji{font-family:var(--font-display);display:block}.limit-romaji{font-size:var(--fs-lead);display:block}.tier-sanbaiman .limit-name,.tier-yonbaiman .limit-name,.tier-kazoe .limit-name{font-size:var(--fs-display)}.tier-yakuman .limit-name{font-size:var(--fs-display);text-shadow:var(--glow-text)}:is(.dialog.hand-end:has(.tier-yakuman),.dialog.hand-end:has(.tier-kazoe),.dialog.hand-end:has(.tier-yonbaiman)){box-shadow:0 0 0 2px var(--accent), var(--shadow-glow)}@keyframes limit-in{0%{opacity:0;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}.win .items li,.win .score-line{animation:yaku-in var(--dur-quick) steps(var(--steps-quick)) both;animation-delay:calc(var(--dur-quick) + var(--i,0) * var(--dur-stagger))}@keyframes yaku-in{0%{opacity:0;transform:translate(-.5rem)}to{opacity:1;transform:none}}.win-paid{margin:0 0 var(--sp-8);font-size:var(--fs-body)}.win-paid strong{font-size:var(--fs-display);line-height:var(--lh-tight);font-variant-numeric:tabular-nums}.end-place{margin:0 0 var(--sp-8);font-size:1.25em;line-height:var(--lh-tight);font-weight:var(--fw-bold);text-wrap:balance;animation:limit-in var(--dur-settle) steps(var(--steps-settle)) both}.end-place.place-1{color:var(--accent);text-shadow:var(--glow-text);font-size:1.75em}@media (prefers-reduced-motion:reduce){.limit-name,.end-place,.win .items li,.win .score-line{animation:none}}.liable{margin:var(--sp-4) 0 var(--sp-6);font-size:.875em}.dialog h3{margin:var(--sp-6) 0;font-size:var(--fs-body)}.win-hand{flex-wrap:wrap;align-items:flex-end;gap:0;display:flex}.win-hand .gap{width:6px}.win .win-hand{--t:clamp(18px, calc(100cqi / 15), 44px);padding-top:calc(var(--t) * .25)}.win-hand .won{margin-left:calc(var(--t) * .5);translate:0 calc(var(--t) * -.25);display:inline-flex}.win-hand .meld{margin-left:var(--sp-6);display:inline-flex}.items{margin:var(--sp-8) 0;padding:0;list-style:none}.items li{border-bottom:1px solid var(--line);padding:var(--sp-2) 0;justify-content:space-between;display:flex}.win .items{column-gap:var(--sp-12);grid-template-columns:max-content 1fr auto;max-width:28rem;display:grid}.win .items li{grid-column:1/-1;grid-template-columns:subgrid;align-items:baseline;display:grid}.yaku-kanji{font-family:var(--font-display);font-weight:var(--fw-bold);white-space:nowrap}.items .han{white-space:nowrap;text-align:right}.score-line{color:var(--muted);margin:0 0 var(--sp-8)}.items .yaku{flex-direction:column;display:flex}.items .yaku small{opacity:.7;font-size:.75em}.indicators{align-items:center;gap:var(--sp-2);margin-top:var(--sp-6);flex-wrap:wrap;display:flex}.indicators .label,.draw-waits .label{margin:0 var(--sp-4) 0 var(--sp-8);font-size:.875em}.indicators .label:first-child{margin-left:0}.counters{margin:var(--sp-4) 0;font-size:.875em}.tenpai{margin:0 0 var(--sp-8);padding:0;list-style:none}.tenpai li{column-gap:var(--sp-8);row-gap:var(--sp-4);padding:var(--sp-4) 0;border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;display:flex}.tenpai .draw-seat{font-weight:var(--fw-bold);flex-basis:100%}.tenpai .draw-seat .ready,.tenpai .draw-seat .noten{font-weight:var(--fw-regular);margin-left:var(--sp-4)}.tenpai .draw-seat .noten{opacity:.7}.draw-waits{align-items:center;gap:var(--sp-2);display:flex}.deltas{border-collapse:collapse;width:100%;margin:var(--sp-8) 0 var(--sp-16);font-variant-numeric:tabular-nums}.deltas td{padding:var(--sp-4) var(--sp-2);border-bottom:1px solid var(--line)}.deltas td:not(:first-child),.deltas th:not(:first-child){text-align:right}.deltas td.name,.deltas.final th:nth-child(2){text-align:left}.dialog .small{color:var(--muted)}.deltas th{font-size:.875em;font-weight:var(--fw-regular);opacity:.65;padding:var(--sp-2);text-align:left}.deltas tr.self{font-weight:var(--fw-bold)}.deltas .plus,.deltas .minus{color:var(--muted)}.deltas tr.self .plus,.deltas tr.self .minus{color:var(--ink)}@media (orientation:landscape) and (width>=640px){.play{column-gap:var(--sp-16);padding:var(--sp-6) var(--sp-12) 0;grid-template:"board bar""board details""board controls"1fr"board status""hand hand"/auto minmax(0,1fr);place-items:center;display:grid}.table,.own{display:contents}.table{--T:min(calc((100vw - 24px) / 15.5), 48px);--board:min(calc((100dvh - var(--T) * var(--tile-h) - 26px - env(safe-area-inset-bottom)) / var(--fit)), 62vw, 760px)}.play:has(.replay-bar) .table{--T:min(calc((100vw - 24px) / 15.5), 48px);--board:min(calc((100dvh - var(--T) * var(--tile-h) - 26px - env(safe-area-inset-bottom)) / var(--fit)), 62vw, 760px)}.play>.replay-bar,.play>.play-nav{grid-area:bar}.play>.verify-details{grid-area:details}.play>.aids{grid-area:status;align-self:end}.board{grid-area:board;margin:0}.own-status{grid-area:details}.controls{grid-area:controls}.own-hand{padding:var(--sp-4) 0 calc(var(--sp-6) + env(safe-area-inset-bottom));grid-area:hand}}a{color:var(--accent)}button.secondary,.button.secondary{background:var(--lift-2);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-strong);font-weight:var(--fw-regular)}.play button.secondary,.play .button.secondary{background:var(--ivory);color:var(--on-ivory);box-shadow:none}.icon{flex:none;width:1.25em;height:1.25em}section{margin:var(--sp-24) 0}h2{font-size:var(--fs-lead);margin:0 0 var(--sp-8)}.row{gap:var(--sp-8);flex-wrap:wrap;align-items:center;display:flex}.row input:not([type=checkbox]):not([type=radio]){flex:1;min-width:10rem}.stack{gap:var(--sp-4);display:grid!important}.bar a,.bar button.link{white-space:nowrap}.me,.who{align-items:center;gap:var(--sp-8);color:var(--ink);text-decoration:none;display:inline-flex}.current{align-items:center;gap:var(--sp-12);padding:var(--sp-8) var(--sp-12);border-radius:var(--r-m);background:color-mix(in srgb, var(--accent) var(--mix-wash), transparent);display:flex}.avatar{background:var(--panel);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.avatar .tile{box-shadow:none}.list{margin:var(--sp-8) 0;padding:0;list-style:none}.list li{justify-content:space-between;align-items:center;gap:var(--sp-8);padding:var(--sp-8) 0;border-bottom:1px solid var(--line);display:flex}.presence{font-size:var(--fs-small);color:var(--muted);margin-left:auto}.presence:before{content:"";width:8px;height:8px;margin-right:var(--sp-4);background:var(--gone);border-radius:50%;display:inline-block}.presence.online:before{box-shadow:inset 0 0 0 2px var(--here);background:0 0}.presence.playing:before{background:var(--here)}.seats{gap:var(--sp-6);padding:0;list-style:none;display:grid}.seats li{align-items:center;gap:var(--sp-8);min-height:var(--target);padding:0 var(--sp-8);border-radius:var(--r-m);background:var(--lift-1);display:flex}.counts{gap:var(--sp-8);margin:var(--sp-16) 0;grid-template-columns:repeat(3,1fr);display:grid}.counts div{background:var(--lift-1);border-radius:var(--r-m);padding:var(--sp-8);text-align:center}.counts dt{font-size:var(--fs-small);color:var(--muted)}.counts dd{margin:var(--sp-4) 0 0;font-size:var(--fs-lead);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.games{padding:0;list-style:none}.games>li{padding:var(--sp-8) 0;border-bottom:1px solid var(--line)}.placings{margin:var(--sp-4) 0 0;gap:var(--sp-2);padding:0;list-style:none;display:grid}.placings li{gap:var(--sp-8);align-items:center;display:flex}.placings li.self{font-weight:var(--fw-bold)}.placings .num{font-variant-numeric:tabular-nums;margin-left:auto}.avatars{gap:var(--sp-6);grid-template-columns:repeat(auto-fill,minmax(48px,1fr));display:grid}.avatar-pick{padding:var(--sp-2);background:0 0;border:2px solid #0000;border-radius:50%;justify-content:center;min-height:0}.avatar-pick.chosen{border-color:var(--accent)}.replay-bar{gap:var(--sp-6);padding:var(--sp-6);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.replay-bar button{min-width:44px;padding:var(--sp-6) var(--sp-8);justify-content:center}.replay-transport,.replay-extras{gap:var(--sp-6);justify-content:center;align-items:center;display:flex}.replay-transport{border-radius:var(--r-m);background:var(--lift-2);box-shadow:inset 0 0 0 1px var(--line-strong);gap:0}.replay-transport button.secondary{min-width:var(--target);color:var(--ink);background:0 0;justify-content:center}.replay-bar .all-hands{align-items:center;gap:var(--sp-4);font-size:.875em;display:inline-flex}.replay-bar input[type=range]{flex:1;min-width:8rem;max-width:24rem}.replay-bar .verify{min-width:0;font-size:.875em}.verify.pending{color:var(--muted);font-size:var(--fs-small)}.verify.verified,.verify.unverifiable,.verify.failed{box-shadow:none;padding-inline:var(--sp-4);font-weight:var(--fw-regular);background:0 0}.verify.verified{color:var(--ink)}.verify.unverifiable{color:var(--muted)}.verify.failed{color:var(--warn)}.verify-details.failed{color:var(--warn);border:1px solid var(--warn);background:0 0}.verify-details{max-width:40rem;margin:0 auto var(--sp-6);padding:var(--sp-6) var(--sp-12);font-size:var(--fs-small);border-radius:var(--r-s)}.verify-details ul{margin:var(--sp-4) 0 0;padding-left:var(--sp-20);overflow-wrap:anywhere}@media not ((orientation:landscape) and (width>=640px)){.play:has(.replay-bar) .table{--board:min(100vw, max(62vw, calc((100dvh - 480px) / var(--fit))), 760px)}.play:has(.replay-bar){height:auto;min-height:100dvh;overflow:clip visible}.review-every{max-width:5.2em;line-height:var(--lh-tight)}.review-nav button{font-size:var(--fs-small);padding:0 .6em}}.own-status .waits{align-items:center;gap:var(--sp-4);font-size:var(--fs-small);flex-wrap:wrap;display:inline-flex}.own-status .wait{align-items:flex-end;display:inline-flex}.own-status .wait small{margin-left:1px;font-size:max(13px,.875em)}.play-nav{padding:var(--sp-4) var(--sp-8) 0;place-self:stretch start}.play-nav button,.aids-button{font-size:var(--fs-small);padding:var(--sp-4) var(--sp-8)}.aids-toggles{justify-content:center;gap:var(--sp-12);font-size:var(--fs-small);padding:var(--sp-4) var(--sp-8) var(--sp-6);flex-wrap:wrap;display:flex}.aids-toggles label{align-items:center;gap:var(--sp-4);display:inline-flex}.aids-toggles small,.aids-button{display:none}.yaku-table{border-collapse:collapse;width:100%}.yaku-table th,.yaku-table td{text-align:left;padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--line);vertical-align:top}.yaku-table th:not(:first-child),.yaku-table td:not(:first-child){text-align:center;width:6rem}.yaku-table td small{color:var(--muted);display:block}.yaku-table .muted{color:var(--muted);font-size:.875em}.lesson-card{background:var(--scrim);border-radius:var(--r-l);padding:var(--sp-8) var(--sp-16);margin:var(--sp-8);align-self:center;max-width:40rem}.lesson-card h2{margin:var(--sp-4) 0;font-size:var(--fs-lead)}.lesson-card p{margin:var(--sp-4) 0}.lesson-right{color:var(--accent)}.lesson-wrong{color:var(--warn)}@media (orientation:landscape) and (width>=640px){.play>.lesson-card{grid-area:1/2/3;align-self:start}.play{--side:208px;--pad:40px;--hr:14;--B:min(calc((100dvh - var(--pad)) / (var(--fit) + .7 * cos(var(--lean)) / 20.4 + var(--tile-h) * .55 / var(--hr))), calc((100vw - 2 * var(--side) - 112px) / (1.05 * 14 / var(--hr))), 1300px);height:100dvh;font-size:clamp(1rem, calc(var(--B) / 60), 1.4rem);grid-template-columns:minmax(var(--side), 1fr) auto minmax(var(--side), 1fr);column-gap:var(--sp-20);padding:var(--sp-12) var(--sp-16) var(--sp-8);background:radial-gradient(ellipse at 50% 40%, var(--room-hi) 0%, var(--room) 60%, var(--room-lo) 100%);grid-template-rows:auto auto 1fr auto;grid-template-areas:"nav board bar""aids board."".board details"".hand controls"}.table{--board:var(--B);--t:calc(var(--board) / (23.6 + 2 * var(--rise)));--T:calc(var(--board) / var(--hr))}.play:has(.replay-bar) .table{--board:var(--B);--t:calc(var(--board) / (23.6 + 2 * var(--rise)));--T:calc(var(--board) / var(--hr))}.board{grid-row:1/4;align-self:end}.board .surface{isolation:isolate}.board .surface:before{content:"";inset:calc(var(--t) * -.7) 0 0 0;z-index:-1;pointer-events:none;border:calc(var(--t) * .45) solid transparent;border-radius:var(--r-board);background:radial-gradient(ellipse at 50% 50%, var(--felt-lit-hi) 0%, var(--felt-lit) 55%, var(--felt-lit-lo) 100%) padding-box, linear-gradient(160deg, var(--rim-lit), var(--rim) 45%) border-box;box-shadow:inset 0 0 0 1px var(--scrim), inset 0 0 calc(var(--t) * 3) var(--scrim), 0 -1px 0 var(--lift-2), 9px 18px 50px var(--scrim-strong);position:absolute}.board .surface:after{content:"";inset:calc(var(--t) * -.7 + var(--t) * .45) calc(var(--t) * .45) calc(var(--t) * .45);z-index:-1;pointer-events:none;border-radius:var(--r-board);background-size:128px 128px;position:absolute}.center{border-radius:calc(var(--t) * .4)}.center .small{font-size:max(13px, calc(var(--t) * .42))}.own-hand{z-index:1;margin-top:calc(var(--T) * var(--tile-h) * (-.45 + 1.2 * (1 - cos(var(--lean,0deg)))));flex-wrap:nowrap;grid-area:hand;align-self:end;position:relative}.play>.play-nav{grid-area:nav;place-self:start;padding:0}.play>.aids{margin-top:var(--sp-8);grid-area:aids;place-self:start}.aids-toggles input{width:1em;height:1em}.play button,.play-nav button,.replay-bar button{font-size:1em}.play-nav button,.aids-button{min-height:2.6em;font-size:.875em}.own-status{margin-left:calc(var(--T) * .9);grid-area:details;justify-content:flex-start;place-self:end start;font-size:1em}.own-clock{font-size:1.75em}.controls{justify-content:flex-start;place-self:center start;gap:var(--sp-8);margin-left:calc(var(--T) * .9);--t:24px;grid-area:controls;max-width:100%}.controls button{border-radius:var(--r-pill);min-height:3em;box-shadow:var(--shadow-press);padding:.55em 1.4em;font-size:1em}.controls button:active{box-shadow:var(--shadow-pressed);translate:0 2px}.own-side{align-items:flex-start;gap:var(--sp-8);max-width:calc(100% - var(--T) * .9);margin-left:calc(var(--T) * .9);z-index:var(--z-controls);flex-direction:column;grid-area:3/3/5;place-self:end start;display:flex;position:relative}.own-side>.own-status,.own-side>.controls{align-self:flex-start;margin-left:0}.play:has(.replay-bar) .own-side{display:contents}.play:has(.replay-bar) .own-side>.own-status{margin-left:calc(var(--T) * .9);align-self:end}.play:has(.replay-bar) .own-side>.controls{margin-left:calc(var(--T) * .9);align-self:center}.play>.replay-bar{align-self:start;align-items:stretch;gap:var(--sp-8);flex-direction:column;grid-area:bar;width:100%;max-width:24rem}.replay-bar input[type=range]{min-width:0;max-width:none}.replay-transport button{min-width:0;padding:var(--sp-6) 0;flex:1}.replay-extras{flex-wrap:wrap}.play>.verify-details{grid-area:2/3;align-self:start}.play>.lesson-card{grid-area:1/3/4;align-self:start;margin:0}.dialog{width:min(40rem,100%);font-size:var(--fs-body);--t:clamp(26px, calc(var(--B) / 30), 40px)}}@media (orientation:landscape) and (width>=640px) and (height>=600px){.play:not(:has(.replay-bar)) .own-side{display:contents}.play:not(:has(.replay-bar)) .own-side>.controls{z-index:var(--z-controls);contain:inline-size;pointer-events:none;width:100%;margin:0 calc(var(--t) * .6) calc(var(--T) * var(--tile-h) * (.45 - 1.2 * (1 - cos(var(--lean,0deg)))) + var(--sp-8));flex-wrap:wrap-reverse;grid-area:3/2;justify-content:flex-end;place-self:end;position:relative}.play:not(:has(.replay-bar)) .own-side>.controls>*{pointer-events:auto}.play:not(:has(.replay-bar)) .own-side>.own-status{z-index:var(--z-controls);margin:0 0 var(--sp-8);grid-area:3/1/5;justify-content:flex-end;place-self:end;position:relative}.play:not(:has(.replay-bar)) .own-side .waits{--t:calc(var(--T) * .6);justify-content:flex-end}}@media (width>=1100px){.page{max-width:46rem;padding:var(--sp-32) var(--sp-24) var(--sp-48)}.page section,.page>fieldset,.page>form>.profile-box{background:var(--scrim-weak);border:1px solid var(--line-faint);border-radius:var(--r-l);padding:var(--sp-16) var(--sp-24) var(--sp-20)}.page section h2{margin-top:0}.page .bar{margin-bottom:var(--sp-24)}.page .bar h1{font-size:var(--fs-title)}.page.profile{max-width:60rem}.page.profile .counts{grid-template-columns:repeat(6,1fr)}.page .games>li{background:var(--scrim-weak);border:1px solid var(--line-faint);border-radius:var(--r-l);padding:var(--sp-12) var(--sp-16);margin-bottom:var(--sp-12)}.page.rules .yaku-table th:not(:first-child),.page.rules .yaku-table td:not(:first-child){width:8rem}.page.rules{max-width:52rem}}@media (orientation:landscape) and (width>=640px) and (height<=599.98px){.center-info{gap:0}.play{--side:136px;--pad:16px;--hr:12;column-gap:var(--sp-8);padding:var(--sp-6) var(--sp-8) var(--sp-4);font-size:var(--fs-small);grid-template-rows:auto auto 1fr auto auto;grid-template-areas:"nav board bar""aids board."".board details"".board controls"".hand."}.board{grid-row:1/5}.own-side{margin-bottom:calc(var(--T) * var(--tile-h) * .5)}.play:has(.replay-bar) .own-side{margin-bottom:0}.play:has(.replay-bar) .own-side>.controls{margin-bottom:calc(var(--T) * var(--tile-h) * .5);align-self:end}.play>.aids{gap:var(--sp-4);margin-top:.5em;padding:.5em .7em}.play-nav button,.play .aids-button{font-size:max(13px, var(--fs-small));min-height:2.2em;padding:.2em .6em}.controls button{min-height:2.6em;padding:.4em .9em}.own-clock{font-size:1.25em}.play>.lesson-card{max-height:calc(100dvh - 1rem);font-size:.875em;overflow:auto}.dialog{font-size:var(--fs-small);--t:18px;padding:var(--sp-8) var(--sp-16);max-height:calc(100dvh - 2 * var(--sp-16));columns:2;column-gap:var(--sp-20);width:min(54rem,100%)}.dialog h2,.dialog h3{font-size:var(--fs-body)}.dialog .win-hand,.dialog .indicators,.dialog .items li,.dialog .deltas,.dialog .row{break-inside:avoid}.dialog.hand-end{columns:auto;padding-bottom:0}.hand-end-body:has(.tenpai){columns:2;column-gap:var(--sp-20)}.win{column-gap:var(--sp-20);grid-template-columns:1fr 1fr;align-items:start;display:grid}.win-top{column-gap:var(--sp-12);grid-template-columns:auto 1fr;align-items:baseline;display:grid}.win-top>:not(.limit-name,.win-paid){grid-column:1/-1}.win-top .limit-name,.win-top .win-paid strong{font-size:var(--fs-title)}.win-top .limit-name,.win-top .win-paid{margin:0}.limit-kanji,.limit-romaji{display:inline}.limit-romaji{margin-left:var(--sp-4);font-size:var(--fs-small)}.hand-end:not(:has(.win,.tenpai)){width:min(26rem,100%)}.hand-end-body:has(.win+.win) .win{break-inside:avoid}.hand-end-body .win .items{break-inside:avoid}.dialog h3{break-after:avoid}.hand-end-foot{margin:0 calc(-1 * var(--sp-16));padding:var(--sp-4) var(--sp-16) var(--sp-8)}.dialog .deltas{margin:var(--sp-4) 0 var(--sp-8)}.dialog .deltas td{padding:var(--sp-2)}.dialog h2{margin-bottom:var(--sp-4)}.dialog .items li{padding:0}.dialog button{min-height:40px;padding:var(--sp-4) var(--sp-16)}}@media (orientation:portrait) and (height<=699.98px){.own-status .waits{--t:13px;gap:var(--sp-2);font-size:13px}.own-status{gap:var(--sp-4) var(--sp-8)}}@media (orientation:portrait) and (width<=639.98px){.open-controls{margin-bottom:var(--sp-16)}}@media (orientation:landscape) and (width>=640px) and (width<=759.98px) and (height<=599.98px){.play{--side:112px;--hr:14}}.cls-best{--cls:var(--cls-best)}.cls-good{--cls:var(--cls-good)}.cls-inaccuracy{--cls:var(--cls-inaccuracy)}.cls-mistake{--cls:var(--cls-mistake)}.cls-blunder{--cls:var(--cls-blunder)}.dot{background:var(--cls);vertical-align:.05em;border-radius:50%;width:.6em;height:.6em;margin-right:.4em;display:inline-block}.review-button{white-space:nowrap}.review-waiting{min-height:var(--target);color:var(--accent);white-space:nowrap;align-items:center;font-size:.875em;display:inline-flex}.review-nav{align-items:center;gap:var(--sp-6) var(--sp-8);padding:var(--sp-4) var(--sp-8);flex-wrap:wrap;justify-content:center;display:flex}.decision-panel{box-sizing:border-box;margin:var(--sp-4) var(--sp-8);padding:var(--sp-8) var(--sp-12);border-radius:var(--r-l);background:var(--scrim-strong);border-left:4px solid var(--cls);align-self:center;width:min(34rem,100% - 1rem);font-size:.875em;container-type:inline-size}.decision-head{align-items:center;gap:var(--sp-8);flex-wrap:wrap;display:flex}.decision-panel .why-toggle{min-height:var(--target);margin-left:auto;padding:0 .9em;display:none}.decision-panel .choice{margin:var(--sp-6) 0 0}.review-nav button{min-height:var(--target);padding:0 .8em}.review-every{align-items:center;gap:var(--sp-4);flex:none;font-size:.875em;display:inline-flex}@container (width<=25rem){.ranked .value{display:none}}@container (width<=19rem){.ranked .odds{display:none}}@media not ((orientation:landscape) and (width>=640px) and (height>=600px)){.decision-panel .why-toggle{display:inline-flex}.decision-panel:not(.open) .decision-detail{display:none}.decision-panel.open{z-index:var(--z-panel);background:var(--shade);width:min(34rem,100vw - 1rem);max-height:min(70dvh,100dvh - 1rem);box-shadow:var(--shadow-3);margin:0;position:fixed;top:.5rem;left:.5rem;overflow:auto}}.badge{background:var(--cls);color:var(--room);font-weight:var(--fw-bold);border-radius:var(--r-pill);padding:.05em .7em}.decision-panel p{margin:var(--sp-4) 0}.ranked{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:var(--sp-4)}.ranked th{font-size:.75em;font-weight:var(--fw-regular);opacity:.7;text-align:right;padding:var(--sp-2) var(--sp-4)}.ranked th:first-child,.ranked td:first-child{text-align:left}.ranked td{text-align:right;padding:var(--sp-2) var(--sp-4);border-top:1px solid var(--line-faint);white-space:nowrap;vertical-align:middle}.ranked th{white-space:nowrap}.action-tile{vertical-align:middle;--t:18px;display:inline-flex}.ranked .cls-name{font-size:.875em;font-weight:var(--fw-bold);border-radius:var(--r-pill);border:1px solid var(--cls);background:color-mix(in srgb, var(--cls) var(--mix-tint), transparent);padding:0 .5em;display:inline-block}.ranked tr.best td{background:var(--lift-1)}.ranked tr.chosen td{font-weight:var(--fw-bold)}.ranked .you{font-size:.75em;font-weight:var(--fw-bold);color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin-left:.4em}.tap-again{z-index:var(--z-over-flight);border-radius:var(--r-pill);background:color-mix(in srgb, var(--shade) var(--mix-dense), transparent);color:var(--ink);font-size:var(--fs-small);line-height:var(--lh-tight);white-space:nowrap;pointer-events:none;padding:.2em .6em;position:absolute;translate:-50% -100%}.riichi-choice{align-items:center}.riichi-choice-text{font-weight:var(--fw-bold);color:var(--accent)}.invite h1{margin:var(--sp-4) 0;font-size:var(--fs-lead);text-align:center;text-wrap:balance}.invite .small{text-align:center}.yaku-table small.yaku-help{color:var(--muted);font-size:.875em}.rules-tiles{margin-block:var(--sp-12)}.end-quiet{margin-top:var(--sp-6);justify-content:flex-end}.action-key{border-radius:var(--r-xs);background:var(--scrim-weak);font:inherit;font-size:.75em;font-weight:var(--fw-bold);margin-left:.4em;padding:0 .3em;display:none}@media (hover:hover) and (pointer:fine){.action-key{display:inline-block}}.your-form{gap:var(--sp-8);margin-block:var(--sp-16);display:grid}.your-form h2,.your-form p{margin:0}.your-form dl{align-items:flex-end;gap:var(--sp-24);flex-wrap:wrap;margin:0;display:flex}.your-form dt{font-size:var(--fs-small);color:var(--muted)}.your-form dd{font-size:var(--fs-lead);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;margin:0}.form-places{gap:var(--sp-4);display:flex}.form-place{border-radius:var(--r-s);width:1.6rem;height:1.6rem;font-weight:var(--fw-bold);font-size:var(--fs-small);background:var(--lift-2);place-items:center;display:grid}.form-place.place-1{background:var(--medal-gold);color:var(--on-medal-gold)}@media (width>=900px){.dialog.hand-end{width:min(48rem,100%)}}.tile-guide{gap:var(--sp-16);margin-block:var(--sp-16);display:grid}.tile-guide h3{margin:0}.tile-guide .small{margin:0 0 var(--sp-6)}.tile-guide-row{gap:var(--sp-6);flex-wrap:wrap;display:flex}.tile-guide-tile{align-items:center;gap:var(--sp-2);flex-direction:column;min-width:2rem;display:inline-flex}.tile-guide-tile small{color:var(--muted);font-variant-numeric:tabular-nums}.tile-mark{background:var(--cls);border-radius:var(--r-xs) var(--r-xs) 0 0;pointer-events:none;z-index:var(--z-marks);box-shadow:var(--shadow-1);position:absolute;top:0;left:0}.tile-mark.best{outline:2px solid var(--bright);outline-offset:1px}.tile-chosen{border-left:7px solid #0000;border-right:7px solid #0000;border-top:10px solid var(--accent);width:0;height:0;filter:drop-shadow(0 1px 1px var(--scrim-strong));pointer-events:none;z-index:var(--z-marks);position:absolute;top:0;left:0}.review-summary .accuracy{font-size:var(--fs-lead);margin:var(--sp-4) 0 var(--sp-6)}.review-summary .accuracy strong{font-size:var(--fs-display);margin:0 .2em}.review-summary h3{break-after:avoid}.review-summary .moments li{break-inside:avoid}.class-counts{gap:var(--sp-6);margin:var(--sp-4) 0 var(--sp-8);flex-wrap:wrap;padding:0;list-style:none;display:flex}.class-counts li{border-radius:var(--r-pill);background:color-mix(in srgb, var(--cls) var(--mix-tint), transparent);border:1px solid var(--cls);font-size:var(--fs-body);padding:.1em .7em}.game-line{background:var(--line-faint);border-radius:var(--r-m);width:100%;height:auto}.game-line .axis{stroke:var(--scrim-weak);stroke-dasharray:3 3}.game-line .trace{fill:none;stroke:var(--trace);stroke-width:2px}.game-line .mark{fill:var(--cls);stroke:var(--bright);stroke-width:1px}.game-line .hand-start{stroke:var(--scrim-weak);stroke-width:1px}.game-line .mark-hit{cursor:pointer}.game-line .target{fill:#0000}.moments{margin:var(--sp-4) 0 var(--sp-8);padding:0;list-style:none}.moments button.moment{width:100%;min-height:var(--target);text-align:left;font-weight:var(--fw-regular);color:var(--ink);border-bottom:1px solid var(--line);background:0 0;border-radius:0;padding:.4em .3em;display:block}.moments button.moment:hover{background:var(--line-faint)}.moment-title{font-weight:var(--fw-bold)}.moment-cls{font-weight:var(--fw-regular);opacity:.75;margin-left:.5em}@media (orientation:landscape) and (width>=640px){.play>.decision-panel,.play>.review-nav{grid-area:details;align-self:start}.play>.replay-side{contain:size;grid-area:1/1/4;place-self:stretch stretch;min-height:0}.replay-side .decision-panel{flex:0 auto;width:calc(100% - 1rem);min-height:0;overflow:auto}.replay-side .review-nav{flex:none;margin-top:auto}}@media (orientation:landscape) and (width>=640px) and (height<=599.98px){.play>.replay-side{grid-row:1/5}}.reasons{margin:var(--sp-6) 0 var(--sp-6);padding-left:var(--sp-16)}.reasons li{margin:var(--sp-2) 0;line-height:var(--lh-body)}.reasons li.near,.reasons li.other,.reasons li.against{opacity:.8;font-style:italic}.stands{margin:var(--sp-6) 0 var(--sp-8);padding:var(--sp-6) var(--sp-8);border-left:2px solid var(--muted)}.stands h4{margin:0 0 var(--sp-2);font-size:.75em;font-weight:var(--fw-bold);opacity:.75}.stands ul{margin:0 0 var(--sp-4);padding-left:var(--sp-16)}.stands ul:last-child{margin-bottom:0}.stands li{margin:var(--sp-2) 0;line-height:var(--lh-body)}.moment-why{opacity:.8;margin-top:.1em;font-size:.875em;display:block}.reasons li:first-letter,.moment-why:first-letter{text-transform:uppercase}.review-action{min-height:var(--target);border-radius:var(--r-pill);background:var(--scrim-strong);min-width:5.5em;color:var(--bright);font-weight:var(--fw-bold);align-items:center;padding:0 .9em;display:inline-flex;position:relative;overflow:hidden}.review-action .bar{background:var(--cls);height:5px;position:absolute;bottom:0;left:0}.review-action .label{position:relative}.review-action.best{outline:2px solid var(--bright);outline-offset:1px}.review-action.chosen:after{content:" ◀";color:var(--accent);margin-left:.3em;position:relative}.sidebar{z-index:var(--z-drawer);width:var(--frame-sidebar);gap:var(--sp-4);padding:var(--sp-16) var(--sp-8);background:var(--shade);border-right:1px solid var(--line-faint);scrollbar-width:none;flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden auto}.sidebar-brand{padding:var(--sp-4) var(--sp-8) var(--sp-16);color:var(--ink);font-size:var(--fs-lead);text-decoration:none;display:flex}.nav-main,.nav-foot{gap:var(--sp-2);flex-direction:column;display:flex}.nav-foot{margin-top:auto}.nav-item{justify-content:flex-start;align-items:center;gap:var(--sp-12);width:100%;min-height:var(--target);padding:var(--sp-8) var(--sp-12);border-radius:var(--r-l);color:var(--ink);font:inherit;font-weight:var(--fw-regular);background:0 0;text-decoration:none;display:flex}.nav-item:hover{background:var(--lift-1)}.nav-item.here{font-weight:var(--fw-bold);background:color-mix(in srgb, var(--accent) var(--mix-wash), transparent);color:var(--accent)}.nav-icon{flex:none;width:24px;height:24px}.nav-item .avatar{flex:none}.nav-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-foot .sign-in{margin:0 var(--sp-4) var(--sp-8);justify-content:center}.topbar{display:none}.page.site-main{max-width:none;margin:0 0 0 var(--frame-sidebar);padding:var(--sp-32) max(var(--sp-24), calc((100vw - var(--frame-sidebar) - var(--frame-content)) / 2)) var(--sp-48)}.page-title{align-items:center;gap:var(--sp-8);margin:0 0 var(--sp-20);font-size:var(--fs-title);display:flex}.loading{color:var(--muted)}.site-main.prose p,.site-main.rules>p{max-width:70ch}@media (width<=1099.98px){.sidebar{width:var(--frame-rail);align-items:center}.sidebar-brand .brand{gap:0;font-size:0}.sidebar .nav-label{max-width:100%;font-size:var(--fs-caption);font-weight:var(--fw-regular)}.sidebar .nav-item{justify-content:center;gap:var(--sp-2);padding:var(--sp-6) var(--sp-2);flex-direction:column}.nav-foot .sign-in{font-size:var(--fs-small);padding:var(--sp-6) var(--sp-4);margin:0 0 var(--sp-8);white-space:nowrap}.page.site-main{margin-left:var(--frame-rail);padding:var(--sp-24) max(var(--sp-20), calc((100vw - var(--frame-rail) - var(--frame-content)) / 2)) var(--sp-48)}}@media (width<=639.98px){.topbar{z-index:var(--z-topbar);align-items:center;gap:var(--sp-6);height:3.5rem;padding:0 var(--sp-8);background:var(--shade);border-bottom:1px solid var(--line-faint);display:flex;position:sticky;top:0}.menu-button{min-width:44px;min-height:var(--target);color:var(--ink);background:0 0;justify-content:center;padding:0}.topbar-brand{color:var(--ink);font-size:var(--fs-lead);text-decoration:none}.topbar-action{margin-left:auto}.sidebar{visibility:hidden;width:min(17rem,85vw);transition:transform var(--dur-quick) steps(var(--steps-quick)), visibility 0s linear var(--dur-quick);align-items:stretch;transform:translate(-100%)}.drawer-open .sidebar{visibility:visible;transition:transform var(--dur-quick) steps(var(--steps-quick));transform:none}.sidebar .nav-label,.sidebar-brand .brand{font-size:inherit}.sidebar-brand .brand{gap:.55em}.sidebar .nav-item{padding:var(--sp-8) var(--sp-12);justify-content:flex-start}.drawer-backdrop{z-index:calc(var(--z-drawer) - 1);background:var(--scrim-strong);position:fixed;inset:0}.page.site-main{padding:var(--sp-20) var(--sp-16) var(--sp-32);margin-left:0}.page-title{font-size:var(--fs-lead)}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}}.landing-table{z-index:0;isolation:isolate;pointer-events:none;filter:blur(6px);position:fixed;inset:0;overflow:hidden}@media (width>=1100px){.landing-table{left:var(--frame-sidebar)}}@media (width>=640px) and (width<=1099.98px){.landing-table{left:var(--frame-rail)}}.landing-dim{z-index:var(--z-over-tiles);background:radial-gradient(ellipse 62% 60% at 50% 45%, color-mix(in srgb, var(--shade) var(--mix-dense), transparent) 35%, color-mix(in srgb, var(--shade) var(--mix-veil), transparent));position:absolute;inset:0}.site-main.signin{z-index:1;text-align:center;justify-items:center;padding-top:0;display:grid;position:relative;overflow-x:clip}.signin .hero,.signin .features{z-index:1;position:relative}.signin .hero{align-content:center;justify-items:center;gap:var(--sp-16);max-width:36rem;min-height:86dvh;padding:var(--sp-24) 0;background:0 0;border:0;margin:0 auto;display:grid}.signin .hero>.brand{font-size:var(--fs-display);flex-direction:column;gap:.4em}.signin .tagline{font-size:var(--fs-lead);color:var(--ink);text-shadow:0 1px 3px var(--scrim-strong);margin:0}.signin .play-now{min-width:min(20rem,100%);margin-top:var(--sp-8);justify-content:center}.signin .trust{color:var(--muted);font-size:var(--fs-small);text-shadow:0 1px 3px var(--scrim-strong);margin:0}.signin .hero{isolation:isolate;position:relative}.signin .hero:before{content:"";z-index:-1;background:radial-gradient(ellipse at center, color-mix(in srgb, var(--shade) var(--mix-dense), transparent) 0 55%, transparent 76%);position:absolute;inset:15% -2rem}.signin .stills{z-index:1;margin:0 auto var(--sp-24);gap:var(--sp-16);width:100%;max-width:56rem;padding:0;list-style:none;display:grid;position:relative}.signin .stills li{gap:var(--sp-6);color:var(--muted);font-size:var(--fs-small);justify-items:center;display:grid}.signin .stills img{border-radius:var(--r-l);border:1px solid var(--line);width:100%;height:auto;box-shadow:var(--shadow-2)}@media (width>=900px){.signin .stills{grid-template-columns:repeat(3,minmax(0,1fr))}}.signin .features{margin:0 auto var(--sp-32);gap:var(--sp-12);text-align:left;width:100%;max-width:40rem;padding:0;list-style:none;display:grid}.signin .features li{gap:var(--sp-2);padding:var(--sp-12) var(--sp-16);border-radius:var(--r-l);background:color-mix(in srgb, var(--shade) var(--mix-dense), transparent);border:1px solid var(--line-faint);display:grid}.signin .features span{color:var(--muted)}@media (width>=900px){.signin .features{grid-template-columns:repeat(2,minmax(0,1fr));max-width:56rem}}@media (orientation:landscape) and (height<=499.98px){.signin .hero{gap:var(--sp-8);min-height:100dvh;padding:var(--sp-8) 0}.signin .hero>.brand{font-size:var(--fs-title);flex-direction:row}.signin .play-now{margin-top:0}}[hidden]{display:none!important}.hint{z-index:var(--z-hint);width:max-content;max-width:min(26rem,100vw - 2rem);min-height:0;padding:var(--sp-8) var(--sp-16);border-radius:var(--r-l);background:var(--accent);color:var(--on-accent);font-weight:var(--fw-bold);line-height:var(--lh-tight);text-align:center;box-shadow:var(--shadow-2);position:fixed;bottom:10.5rem;left:50%;transform:translate(-50%)}.hint,.hint-result{top:calc(3.4rem + env(safe-area-inset-top));bottom:auto}@media (orientation:landscape) and (width>=640px){.hint,.hint-result{max-width:min(var(--side,13rem), 26rem);text-align:left;top:auto;bottom:.75rem;left:.75rem;transform:none}}.signin-ways,.name-form{gap:var(--sp-12);max-width:24rem;display:grid}.signin-way{justify-content:center}.signin-or{text-align:center;margin:0}.signin-email{gap:var(--sp-8);display:grid}.signin-email button{justify-content:center}.signin-email p,.name-form p{margin:0}.name-form input{font-size:var(--fs-lead)}.profile-places{gap:var(--sp-4);display:grid}.place-bar{align-items:center;gap:var(--sp-8);grid-template-columns:3rem minmax(0,1fr) 3rem;display:grid}.bar-track{border-radius:var(--r-pill);background:var(--lift-1);height:.7rem;overflow:hidden}.bar-fill{border-radius:var(--r-pill);background:var(--ivory);height:100%;display:block}.place-bar .num{text-align:right;font-variant-numeric:tabular-nums}.flair{border-radius:var(--r-xs);font-size:.75em;font-weight:var(--fw-bold);line-height:var(--lh-body);vertical-align:.08em;white-space:nowrap;flex:none;margin-left:.3em;padding:0 .4em;display:inline-block}.flair-1{background:linear-gradient(135deg, var(--medal-gold-hi), var(--medal-gold));color:var(--on-medal-gold)}.flair-3{background:var(--medal-silver);color:var(--on-medal-silver)}.flair-10{background:var(--medal-bronze);color:var(--on-medal-bronze)}.flair-50{box-shadow:inset 0 0 0 1px var(--medal-bronze);color:var(--medal-bronze)}.flair-100{background:var(--lift-2);color:var(--ink)}.board-list{gap:var(--sp-6);margin:0;padding:0;list-style:none;display:grid}.board-row{align-items:center;gap:var(--sp-12);padding:var(--sp-8) var(--sp-12);border-radius:var(--r-l);background:var(--scrim-weak);grid-template-columns:2.6rem minmax(0,1fr) auto auto;display:grid}.board-row.self{outline:1px solid var(--accent)}.board-place{font-weight:var(--fw-regular);font-variant-numeric:tabular-nums;text-align:right}.board-rating{font-weight:var(--fw-regular);font-variant-numeric:tabular-nums}.board-me{margin-top:var(--sp-12)}.board-pages{margin-top:var(--sp-16);justify-content:center}@media (width<=639.98px){.board-row{grid-template-columns:2rem minmax(0,1fr) auto}.board-games{display:none}}.profile-rating{gap:var(--sp-6);display:grid}.rating-figure{font-size:var(--fs-title);font-variant-numeric:tabular-nums}.rating-chart{width:100%;height:3.5rem;color:var(--accent)}.row-change.plus,.row-change.minus{color:var(--ink)}.card-rating{font-variant-numeric:tabular-nums;opacity:.85}.start-answers{gap:var(--sp-12);max-width:34rem;display:grid}.start-answer{justify-items:start;gap:var(--sp-4);padding:var(--sp-16) var(--sp-16);text-align:left;background:var(--scrim-weak);border:1px solid var(--line);color:var(--ink);display:grid}.start-answer strong{font-size:var(--fs-lead)}.start-answer span{font-weight:var(--fw-regular);color:var(--muted)}.start-answer:hover:not(:disabled){border-color:var(--accent);background:var(--scrim)}.play-guest{padding:var(--sp-16);border-radius:var(--r-l);background:var(--scrim-weak);border:1px solid var(--line-faint)}.play-guest .button{justify-content:center}.tabs{gap:var(--sp-6);margin:0 0 var(--sp-16);flex-wrap:wrap;display:flex}.pills{gap:var(--sp-6);flex-wrap:wrap;display:inline-flex}.pills button{min-height:var(--target);padding:var(--sp-4) var(--sp-16);border-radius:var(--r-pill);background:var(--lift-1);color:var(--ink);font-weight:var(--fw-regular)}.pills button[aria-selected=true],.pills button[aria-checked=true]{font-weight:var(--fw-bold);background:var(--accent-wash);box-shadow:inset 0 0 0 1px var(--accent-line);color:var(--accent)}.history-list{margin:0 0 var(--sp-16);gap:var(--sp-8);padding:0;list-style:none;display:grid}.history-row{align-items:center;gap:var(--sp-16);padding:var(--sp-8) var(--sp-16);border-radius:var(--r-l);background:var(--scrim-weak);border:1px solid var(--line-faint);color:var(--ink);grid-template-columns:3.4rem minmax(0,1fr) auto;text-decoration:none;display:grid}.history-row:hover{background:var(--scrim);border-color:var(--line)}.place{font-size:var(--fs-lead);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;justify-self:center}.place-1{color:var(--medal-gold)}.place-4{color:var(--muted)}.row-main{column-gap:var(--sp-12);row-gap:var(--sp-2);grid-template-columns:auto minmax(0,1fr);align-items:baseline;display:grid}.row-points{font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;min-width:6ch}.row-others{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-others .tag{margin-left:.3em}.row-meta{font-size:var(--fs-small);color:var(--muted);grid-column:1/-1}.row-review{text-align:right;justify-self:end}.accuracy-figure{font-size:var(--fs-lead);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;line-height:var(--lh-tight);justify-items:end;display:grid}.accuracy-figure small{font-size:var(--fs-caption);font-weight:var(--fw-bold);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.history .more{margin:0 auto;display:flex}.empty{padding:var(--sp-32) var(--sp-16);text-align:center;color:var(--muted)}.empty p{margin-inline:auto}.empty-tiles{gap:var(--sp-4);margin-bottom:var(--sp-12);display:inline-flex}.page :is(p,dd){max-width:38rem}.play-layout{gap:var(--sp-24);display:grid}.play-main,.play-side{gap:var(--sp-20);align-content:start;min-width:0;display:grid}.play-layout section{margin:0}.play-start{align-content:start;gap:var(--sp-8);padding:var(--sp-16);border-radius:var(--r-l);background:var(--scrim-weak);border:1px solid var(--line-faint);display:grid}.play-start>button{justify-content:center;width:100%}.play-start.first>button{min-height:60px;font-size:var(--fs-lead)}.play-options>summary{cursor:pointer;padding:var(--sp-4) 0;font-size:var(--fs-body);color:var(--muted)}.play-options[open]>summary{margin-bottom:var(--sp-6)}.play-options fieldset{margin-bottom:var(--sp-8)}.play-head{justify-content:space-between;align-items:baseline;gap:var(--sp-16);margin-bottom:var(--sp-8);display:flex}.play-head h2,.play-recent .history-list{margin:0}.play-side h3{margin:var(--sp-16) 0 var(--sp-6);font-size:var(--fs-body)}@media (width>=900px){.play-layout{grid-template-columns:minmax(0,1fr) minmax(16rem,20rem);align-items:start}}@media (orientation:landscape) and (height<=499.98px){.play-starts{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.play-start.first>button{min-height:48px;font-size:var(--fs-body)}.play-start{padding:var(--sp-8)}}@media (width<=639.98px){.history-row{gap:var(--sp-8);padding:var(--sp-8) var(--sp-12);grid-template-columns:2.6rem minmax(0,1fr) auto}.row-main{grid-template-columns:minmax(0,1fr)}.row-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tabs{margin-inline:calc(-1 * var(--sp-16));padding-inline:var(--sp-16);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.tabs button{flex:none}}.replay-side{gap:var(--sp-6);flex-direction:column;display:flex}.replay-head{padding:var(--sp-6) var(--sp-8) var(--sp-4);font-size:.875em}.replay-head .back{color:var(--accent);font-weight:var(--fw-bold);text-decoration:none}.replay-players{margin:var(--sp-6) 0 0;gap:var(--sp-2);padding:0;list-style:none;display:grid}.replay-players li{gap:var(--sp-6);grid-template-columns:2.2rem minmax(0,1fr) auto;align-items:baseline;display:grid}.replay-players .place{justify-self:start;font-size:1em}.replay-players .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.replay-players .num{font-variant-numeric:tabular-nums}.replay-players li.self{font-weight:var(--fw-bold)}.replay-head .small{margin:var(--sp-4) 0 0}@media not ((orientation:landscape) and (width>=640px)){.play>.replay-side{order:-1}.replay-head{align-items:baseline;gap:var(--sp-4) var(--sp-12);padding:var(--sp-4) var(--sp-12) 0;flex-wrap:wrap;display:flex}.replay-players{gap:var(--sp-2) var(--sp-12);flex-wrap:wrap;margin:0;display:flex}.replay-players li{display:inline}.replay-head .small{display:none}}.ranked-line{align-items:center;gap:var(--sp-6) var(--sp-12);flex-wrap:wrap;display:flex}.ranked-rating{font-weight:var(--fw-bold);font-variant-numeric:tabular-nums}.queue-bar{z-index:var(--z-bar);top:max(.5rem, env(safe-area-inset-top));justify-content:center;align-items:center;gap:var(--sp-2) var(--sp-12);width:max-content;max-width:calc(100vw - 2rem);padding:var(--sp-4) var(--sp-12);border-radius:var(--r-pill);font-size:var(--fs-small);flex-wrap:wrap;display:flex;position:fixed;left:50%;transform:translate(-50%)}.queue-bar button.link{min-height:var(--target);padding:0 var(--sp-2)}.queue-clock{font-variant-numeric:tabular-nums}.queue-ask{text-align:center;font-size:var(--fs-small);flex-basis:100%}.queue-notice{z-index:var(--z-toast);padding:var(--sp-16);background:var(--scrim-strong);place-items:center;display:grid;position:fixed;inset:0}.queue-notice-card{justify-items:center;gap:var(--sp-8);padding:var(--sp-20) var(--sp-24);border-radius:var(--r-l);text-align:center;font-variant-numeric:tabular-nums;display:grid}.end-rating,.end-presence{font-size:var(--fs-caption);font-weight:var(--fw-regular);opacity:.75;display:block}.end-rating{opacity:1;font-variant-numeric:tabular-nums}.end-presence:before{content:"";background:var(--gone);border-radius:50%;width:.5em;height:.5em;margin-right:.35em;display:inline-block}.end-presence.here:before{background:var(--here)}.end-presence.elsewhere:before{box-shadow:inset 0 0 0 2px var(--here);background:0 0}.end-first-rating,.end-flair,.end-rematch{margin:var(--sp-8) 0;font-weight:var(--fw-bold)}.ended-seat{align-items:center;gap:var(--sp-4) var(--sp-12);padding:var(--sp-6) 0;flex-wrap:wrap;display:flex}.rematch-bubbles{z-index:var(--z-bar);right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom));gap:var(--sp-8);pointer-events:none;justify-items:end;max-width:calc(100vw - 1.5rem);display:grid;position:fixed}.rematch-bubbles.at-table{top:max(3.5rem, env(safe-area-inset-top));bottom:auto}@media (orientation:landscape){.rematch-bubbles.at-table{top:max(.75rem, env(safe-area-inset-top));max-width:30vw}}@media (width<=759.98px){.queue-bar{top:calc(3.5rem + env(safe-area-inset-top))}.queue-bar.at-table{top:max(.4rem, env(safe-area-inset-top));max-width:calc(100vw - 6.25rem);padding:var(--sp-4) var(--sp-8);border-radius:var(--r-l);font-size:var(--fs-small);left:auto;right:.4rem;transform:none}}.rematch-bubble{pointer-events:auto;align-items:center;gap:var(--sp-6) var(--sp-12);max-width:26rem;padding:var(--sp-8) var(--sp-12);border-radius:var(--r-l);font-size:var(--fs-small);cursor:pointer;flex-wrap:wrap;display:flex}.rematch-bubble button{min-height:var(--target);padding:var(--sp-4) var(--sp-12)}.open-controls .action{background:var(--ivory)}.open-controls .action:disabled{opacity:.45}.open-controls{gap:var(--sp-4);flex-wrap:nowrap;justify-content:center}.open-controls button{min-width:0;min-height:var(--target);font-size:var(--fs-small);flex:0 auto;justify-content:center;align-items:center;padding:.35em .6em;display:inline-flex}@media (width<=419.98px){.open-controls{width:100%}.open-controls button{font-size:var(--fs-small);flex:1 1 0;padding:.35em .1em}}@media (orientation:landscape) and (width>=640px){.own-side:has(.open-controls){padding-bottom:calc(3 * clamp(var(--sp-32), 7vh, var(--sp-48)) + var(--sp-8))}.open-controls{right:max(.5rem, env(safe-area-inset-right));bottom:max(.5rem, env(safe-area-inset-bottom));gap:var(--sp-4);grid-template-columns:repeat(3,minmax(0,1fr));width:clamp(8.5rem,19vw,15rem);margin:0;display:grid;position:fixed}.open-controls button{border-radius:var(--r-l);min-height:clamp(2rem,7vh,3rem);font-size:clamp(var(--fs-caption), 1.5vw, var(--fs-body));box-shadow:none;padding:.2em .1em}}.aids-guide{min-height:var(--target)}.guide-dialog{width:min(36rem,100%)}.game-going{align-items:center;gap:var(--sp-8) var(--sp-16);margin-bottom:var(--sp-16);padding:var(--sp-8) var(--sp-16);border-radius:var(--r-l);background:color-mix(in srgb, var(--accent) var(--mix-wash), transparent);flex-wrap:wrap;display:flex}.game-going.your-turn{background:color-mix(in srgb, var(--warn) var(--mix-tint), transparent);font-weight:var(--fw-bold)}.game-going button{min-height:var(--target)}button.danger{background:var(--lift-2);color:var(--warn);box-shadow:inset 0 0 0 1px var(--warn)}.end-rematch{margin-bottom:var(--sp-8)}.play-nav{align-items:center;gap:var(--sp-6);flex-wrap:wrap;display:flex}.table-kind{padding:var(--sp-2) var(--sp-8);border-radius:var(--r-pill);background:color-mix(in srgb, var(--accent) var(--mix-wash), transparent);border:1px solid var(--accent-line);color:var(--accent);font-size:var(--fs-small);font-weight:var(--fw-bold)}.ranked-intro h2,.ranked-intro p{margin:0}.lesson-title{margin:var(--sp-4) 0;font-size:1.25em}.play-guest{gap:var(--sp-8)}.play-guest h2,.play-guest p{margin:0}.board-page .empty{text-align:left}body:has(.queue-bar:not(.at-table)) .page.site-main{padding-top:calc(var(--sp-48) + var(--sp-20))}@media (orientation:landscape) and (height<=499.98px){.sidebar .nav-item{min-height:36px;padding-block:var(--sp-2)}.sidebar .nav-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sidebar{padding-block:var(--sp-8);gap:0}.sidebar-brand{padding-bottom:var(--sp-8)}.sidebar .nav-icon{width:18px;height:18px}.sidebar-brand img{width:26px;height:26px}}.keys-list{gap:var(--sp-6);padding-left:var(--sp-16);display:grid}.skip-link{z-index:var(--z-bar);padding:var(--sp-8) var(--sp-16);border-radius:var(--r-m);background:var(--accent);color:var(--on-accent);font-weight:var(--fw-bold);position:fixed;top:.5rem;left:.5rem;transform:translateY(-200%)}.skip-link:focus{transform:none}main:focus,h1:focus{outline:none}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}input[type=radio],input[type=range]{accent-color:var(--accent)}input[type=checkbox]{appearance:none;border-radius:var(--r-pill);background:radial-gradient(circle at 10px 50%, var(--ivory) 6px, transparent 7px), var(--lift-2);width:36px;height:20px;box-shadow:inset 0 0 0 1px var(--line-strong);cursor:pointer;vertical-align:middle;flex:none;margin:0}input[type=checkbox]:checked{background:radial-gradient(circle at 26px 50%, var(--accent) 6px, transparent 7px), var(--accent-wash);box-shadow:inset 0 0 0 1px var(--accent-line)}input[type=checkbox]:disabled{cursor:default;background:radial-gradient(circle at 10px 50%, var(--muted) 6px, transparent 7px), var(--lift-1)}.setting-toggle{align-items:flex-start;gap:var(--sp-8);padding-block:var(--sp-4);display:flex}.setting-toggle small{color:var(--muted);line-height:var(--lh-tight);display:block}.settings-preview-box{justify-items:start;gap:var(--sp-8);margin-block:var(--sp-8) var(--sp-16);display:grid}.settings-preview{--s:.42;width:calc(100vw * var(--s));max-width:100%;height:calc(100dvh * var(--s));border-radius:var(--r-l);pointer-events:none;position:relative;overflow:hidden}.settings-preview .play{width:100vw;height:100dvh;transform:scale(var(--s));transform-origin:0 0;position:absolute;top:0;left:0}@media (width<=639.98px){.settings-preview{--s:.7}}.rules-jump{z-index:var(--z-hud);gap:var(--sp-6);scrollbar-width:none;margin:var(--sp-12) calc(-1 * var(--sp-4));padding:var(--sp-6) var(--sp-4);background:var(--room);display:flex;position:sticky;top:0;overflow-x:auto}.rules-jump a{padding:var(--sp-4) var(--sp-16);border-radius:var(--r-pill);background:var(--lift-1);color:var(--ink);flex:none;text-decoration:none}.rules-jump a:hover{background:var(--lift-2)}section[id],.glossary dt{scroll-margin-top:4.5rem}@media (width<=639.98px){.rules-jump{top:3.5rem}section[id],.glossary dt{scroll-margin-top:8rem}}.yaku-table .kanji{font-family:var(--font-display);font-weight:var(--fw-bold);display:block}.yaku-example{--t:20px;margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.yaku-example .gap{width:.4rem}.glossary{gap:var(--sp-4);display:grid}.glossary dt{margin-top:var(--sp-8);font-weight:var(--fw-bold)}.glossary dd{max-width:44rem;margin:0}.glossary .kanji{font-family:var(--font-display);color:var(--muted);margin-left:.5em}.word{color:inherit;text-underline-offset:.2em;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.line-chart{margin:var(--sp-12) 0}.chart-ends{justify-content:space-between;display:flex}.lesson-list{gap:var(--sp-2);margin:var(--sp-16) 0 var(--sp-32);padding-left:var(--sp-24);display:grid}.lesson-list li{padding:var(--sp-6) 0}.lesson-list li.done::marker{content:"✓  ";color:var(--plus);font-weight:var(--fw-bold)}.learn-home .tile-guide{--t:40px}@media not ((orientation:landscape) and (width>=640px)){.play.learn{height:100dvh;overflow:clip}.play.learn .lesson-card{flex:none;max-height:30dvh;overflow:auto}.play.learn .lesson-actions{z-index:var(--z-banner);left:0;right:0;bottom:calc(min((100vw - 24px) / 14.8, 52px) * var(--tile-h) + 1.3rem + env(safe-area-inset-bottom));justify-content:center;position:fixed}.play.learn .controls:not(.open-controls){min-height:var(--target)}.play.learn .table{--board:min(100vw, calc((100dvh - 30dvh - 152px - min((100vw - 24px) / 14.8, 52px) * var(--tile-h)) / var(--fit)), 760px);min-height:0}}.rank{white-space:nowrap;align-items:baseline;gap:.3em;display:inline-flex}.rank-kanji{font-family:var(--font-display);font-weight:var(--fw-bold)}.kit-ranks{gap:var(--sp-6);display:grid}.profile-rating .rank{font-size:var(--fs-title)}.profile-rating .rank-name{font-size:var(--fs-lead)}.assessment-cards{margin:var(--sp-20) 0;gap:var(--sp-12);max-width:56rem;padding:0;list-style:none;display:grid}.assessment-cards li{align-content:start;gap:var(--sp-4);padding:var(--sp-12) var(--sp-16);border-radius:var(--r-l);background:var(--panel);border:1px solid var(--line-faint);display:grid}.assessment-cards span{color:var(--muted)}@media (width>=900px){.assessment-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.assessment-more{margin-bottom:var(--sp-20)}.assessment-facts{gap:var(--sp-12) var(--sp-20);max-width:44rem;margin:var(--sp-20) 0;grid-template-columns:minmax(7rem,max-content) 1fr;display:grid}.assessment-facts dt{font-weight:var(--fw-bold)}.assessment-facts dd{margin:0}@media (width<=639.98px){.assessment-facts{gap:var(--sp-4);grid-template-columns:1fr}.assessment-facts dd{margin-bottom:var(--sp-12)}}@media (orientation:landscape) and (width>=640px) and (height<=399.98px){.own-side{gap:var(--sp-4)}.controls{gap:var(--sp-4);--t:14px}.controls button{min-height:40px;padding:.15em .6em}}.play>.aids{z-index:var(--z-aids);background:0 0;margin:0;padding:0;position:relative}.play .aids-button{font-size:var(--fs-small);display:inline-flex}.play .aids-toggles{align-items:stretch;gap:var(--sp-12);width:min(17rem,100vw - 1rem);padding:var(--sp-12);font-size:var(--fs-body);border-radius:var(--r-l);background:var(--room);box-shadow:var(--shadow-3);flex-flow:column;display:none;position:absolute;top:calc(100% + .35rem);left:0}.play .aids.open .aids-toggles{display:flex}.play .aids-toggles label{align-items:flex-start;gap:var(--sp-8)}.play .aids-toggles small{color:var(--muted);font-size:var(--fs-small);line-height:var(--lh-tight);display:block}@media (width<=899.98px),(height<=499.98px){.aids,.play>.aids{top:calc(.5rem + env(safe-area-inset-top));right:calc(.5rem + env(safe-area-inset-right));z-index:var(--z-aids);position:fixed}.play>.aids{background:0 0;margin:0;padding:0}.aids-button{display:inline-flex}.aids-toggles{align-items:stretch;gap:var(--sp-12);width:min(17rem,100vw - 1rem);padding:var(--sp-12);font-size:var(--fs-body);border-radius:var(--r-l);background:var(--room);box-shadow:var(--shadow-3);flex-flow:column;display:none;position:absolute;top:calc(100% + .35rem);left:auto;right:0}.aids.open .aids-toggles{display:flex}.aids-toggles label{align-items:flex-start;gap:var(--sp-8)}.aids-toggles small{color:var(--muted);font-size:var(--fs-small);line-height:var(--lh-tight);display:block}}.kit h2{margin-top:var(--sp-32)}.kit-swatches{gap:var(--sp-12);grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));display:grid}.kit-swatch{font-size:var(--fs-small);margin:0}.kit-swatch>span{border-radius:var(--r-m);border:1px solid var(--line);height:3rem;display:block}.kit-row{align-items:center;gap:var(--sp-12);margin:var(--sp-12) 0;flex-wrap:wrap;display:flex}.kit-space{height:var(--sp-16);background:var(--accent);display:inline-block}.kit-box{padding:var(--sp-12);background:var(--panel);min-width:6rem;font-size:var(--fs-small);place-items:center;display:inline-grid}.kit-controls{justify-content:flex-start}.kit-notices{gap:var(--sp-12);justify-items:start;display:grid}.kit-static{position:static;transform:none}.board-row.self .board-place,.board-row.self .board-rating{font-weight:var(--fw-bold)}.play-options>summary{align-items:center;gap:var(--sp-6);cursor:pointer;flex-wrap:wrap;list-style:none;display:flex}.play-options>summary::-webkit-details-marker{display:none}.play-options .chip{padding:var(--sp-2) var(--sp-8);border-radius:var(--r-pill);background:var(--lift-1);color:var(--ink);font-size:var(--fs-small)}.play-options .options-link{color:var(--accent);font-size:var(--fs-small);text-decoration:underline}@media (width>=1100px){.queue-bar:not(.at-table){left:calc(50% + var(--frame-sidebar) / 2);max-width:calc(100vw - var(--frame-sidebar) - 2rem)}}@media (width>=640px) and (width<=1099.98px){.queue-bar:not(.at-table){left:calc(50% + var(--frame-rail) / 2);max-width:calc(100vw - var(--frame-rail) - 2rem)}}.play:before{content:"";z-index:-1;pointer-events:none;background-size:128px 128px;position:fixed;inset:0}@media (orientation:landscape) and (width>=640px) and (height>=600px){.play:has(.replay-bar){--side:0px;--col:clamp(22rem, 28vw, 24rem);--B:min(calc((100dvh - var(--pad) - 112px) / (var(--fit) + .7 * cos(var(--lean)) / 20.4 + var(--tile-h) * .55 / var(--hr))), calc((100vw - var(--col) - 3 * var(--sp-20)) / (1.05 * 14 / var(--hr))), 1300px);grid-template-columns:minmax(0, 1fr) var(--col);grid-template-rows:auto 1fr auto auto;grid-template-areas:"board verify""board side""hand side""bar side"}.play:has(.replay-bar) .board{grid-area:1/1/3;justify-self:center}.play:has(.replay-bar) .own-hand{grid-area:hand;justify-self:center}.play:has(.replay-bar) .own-side>.controls{margin:var(--sp-8) 0 0;flex-wrap:wrap;grid-area:4/2;justify-content:center;justify-self:center}.play:has(.replay-bar) .own-side>.own-status{grid-area:3/1;place-self:end start;margin:0}.play>.replay-bar{width:auto;max-width:var(--B);margin-top:var(--sp-8);flex-flow:wrap;grid-area:bar;justify-self:center;align-items:center}.play:has(.replay-bar) .replay-bar input[type=range]{width:14rem}.play:has(.replay-bar) .replay-transport button{padding:var(--sp-6) var(--sp-8);flex:none}.play>.replay-side{grid-area:2/2/4}.play:has(.replay-bar)>.verify-details{grid-area:verify}.replay-side .decision-panel{width:100%}.replay-side .review-nav{grid-template-columns:1fr 1fr;justify-items:stretch;display:grid}.replay-side .review-nav button{padding-inline:var(--sp-8);font-size:var(--fs-small);justify-content:center}.replay-side .review-every{grid-column:1/-1;justify-self:center}}
