/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--jade-950:#082f2a;--jade-900:#0b3b34;--jade-800:#105047;--jade-700:#17665a;--jade-100:#dcece6;--ivory:#f7f2e7;--paper:#fffdf7;--charcoal:#202823;--muted:#657169;--cinnabar:#ae3e32;--brand-jade:#2b6955;--brand-red:#ce3028;--gold:#c8a96b;--line:#20282324;--shadow:0 24px 70px #082f2a24}*{box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%}body{background:var(--ivory);min-height:100dvh;color:var(--charcoal);font-family:var(--font-sans), sans-serif;margin:0}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:3px;outline:3px solid #d9a72e}.page-shell{min-height:100vh;overflow:hidden}.site-header{min-height:calc(76px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(clamp(20px, 5vw, 72px), env(safe-area-inset-right)) 0 max(clamp(20px, 5vw, 72px), env(safe-area-inset-left));border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:30;background:#f7f2e7f0;justify-content:space-between;align-items:center;display:flex;position:relative}.brand{color:var(--brand-jade);letter-spacing:-.025em;align-items:center;gap:10px;font-size:22px;font-weight:650;display:inline-flex}.brand-seal{width:34px;height:38px;color:var(--ivory);background:var(--cinnabar);border-radius:9px 9px 11px 11px;place-items:center;font-family:serif;display:inline-grid;box-shadow:inset 0 -3px #00000021}.brand-seal.large{width:54px;height:60px;font-size:28px}.brand-mark{--mark-color:var(--brand-jade);flex:none;place-items:center;width:36px;height:36px;display:inline-grid;position:relative}.brand-mark--medium{width:48px;height:48px}.brand-mark--large{width:68px;height:68px}.brand-mark--display{width:154px;height:154px}.brand-mark--inverse{--mark-color:var(--ivory)}.brand-mark-shape{background:var(--mark-color);position:absolute;inset:0;-webkit-mask:url(/brand-mark.png) 50%/contain no-repeat;mask:url(/brand-mark.png) 50%/contain no-repeat}.brand-mark-center{z-index:1;aspect-ratio:1;background:var(--brand-red);width:14.7%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}@supports not ((-webkit-mask-image:url("/brand-mark.png")) or (mask-image:url("/brand-mark.png"))){.brand-mark-shape{background:url(/brand-mark.png) 50%/contain no-repeat}.brand-mark-center{display:none}}.desktop-nav{color:#415048;align-items:center;gap:clamp(14px,2vw,36px);font-size:14px;font-weight:650;display:flex}.desktop-nav a{border-bottom:3px solid #0000;padding:27px 0 24px}.desktop-nav a:hover,.desktop-nav a.active{color:var(--jade-800);border-bottom-color:var(--cinnabar)}.header-actions{align-items:center;gap:8px;display:flex}.language-select{width:100%;min-height:52px;color:var(--charcoal);align-items:center;gap:13px;display:flex}.language-select>svg{width:21px;color:var(--jade-700);flex:none}.language-select>span{gap:2px;min-width:0;display:grid}.language-select>span small{color:var(--muted);font-size:12px;line-height:1.35}.language-select select{background:var(--paper);min-width:132px;min-height:44px;color:var(--jade-900);cursor:pointer;border:1px solid #1050473d;border-radius:9px;margin-left:auto;padding:0 34px 0 12px;font-weight:750}.language-select.is-compact{background:#ffffff6b;border:1px solid #1050472e;border-radius:22px;gap:4px;width:auto;min-height:44px;padding:0 5px 0 8px}.language-select.is-compact>svg{width:18px}.language-select.is-compact select{background:0 0;border:0;width:43px;min-width:43px;min-height:40px;margin:0;padding:0 2px;font-size:12px}.icon-button{color:currentColor;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:inline-grid}.icon-button:hover{background:#10504714}.icon-button svg{width:20px}.mobile-menu,.mobile-nav,html[data-native-app=ios] .site-header,html[data-native-app=ios] footer{display:none}html[data-native-app=ios] .page-shell{min-height:100dvh}.section-pad{padding-left:clamp(22px,7vw,110px);padding-right:clamp(22px,7vw,110px)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--cinnabar);align-items:center;gap:8px;font-size:11px;font-weight:800;display:inline-flex}h1,h2{font-family:var(--font-display), Georgia, serif;letter-spacing:-.045em;margin:0;font-weight:400}html[data-language=zh-CN] h1,html[data-language=zh-CN] h2,html[data-language=zh-TW] h1,html[data-language=zh-TW] h2{letter-spacing:-.025em;font-family:Songti SC,Noto Serif CJK SC,STSong,serif}html[data-language=ja] h1,html[data-language=ja] h2{letter-spacing:-.025em;font-family:Hiragino Mincho ProN,Yu Mincho,Noto Serif CJK JP,serif}h2{font-size:clamp(38px,5vw,66px);line-height:1.04}h3{margin:0}p{line-height:1.7}.button{cursor:pointer;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:0 22px;font-size:14px;font-weight:750;display:inline-flex}.button svg{width:18px}.button.primary{background:var(--jade-800);color:#fff;box-shadow:0 10px 26px #10504733}.button.primary:hover{background:var(--jade-700);transform:translateY(-1px)}.button.secondary{color:var(--jade-900);background:#ffffff73;border-color:#10504740}.button.ivory{background:var(--ivory);color:var(--jade-950)}.button.ghost-light{color:#fff;border-color:#ffffff59}.text-link{color:var(--jade-800);border-bottom:1px solid;align-items:center;gap:8px;padding-bottom:3px;font-weight:800;display:inline-flex}.text-link svg{width:17px}.hero{background:radial-gradient(circle at 84% 9%, #c8a96b3d, transparent 24%), linear-gradient(180deg, #faf6ec, var(--ivory));grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);align-items:center;gap:7vw;min-height:700px;padding-top:60px;padding-bottom:90px;display:grid}.hero h1{color:var(--jade-950);margin:24px 0 28px;font-size:clamp(60px,7vw,104px);line-height:.93}.hero h1 em{color:var(--cinnabar);font-weight:inherit}.hero-copy>p{color:#57645d;max-width:610px;font-size:18px}.hero-actions{gap:12px;margin:30px 0 25px;display:flex}.trust-row{color:var(--muted);flex-wrap:wrap;gap:22px;font-size:12px;display:flex}.trust-row span{align-items:center;gap:6px;display:inline-flex}.trust-row svg{width:14px;color:var(--jade-700)}.hero-table{max-width:690px;position:relative}.hero-table-inner{aspect-ratio:1.25;box-shadow:var(--shadow), inset 0 0 80px #00000024;background:linear-gradient(135deg,#126055,#0a4139);border:18px solid #422f26;border-radius:40px;position:relative;overflow:hidden}.hero-table-inner:after{content:"";border:1px solid #ffffff21;border-radius:23px;position:absolute;inset:18px}.hero-center{color:#ffffffe6;text-align:center;z-index:2;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.hero-center span{font:56px Georgia,serif}.hero-center small{letter-spacing:.2em;font-size:9px}.hero-seat{background:var(--ivory);z-index:2;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid;position:absolute}.hero-seat.top{top:22px;left:calc(50% - 21px)}.hero-seat.left{top:calc(50% - 21px);left:22px}.hero-seat.right{top:calc(50% - 21px);right:22px}.hero-hand{z-index:3;gap:4px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.floating-card{background:var(--paper);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:14px;align-items:center;gap:13px;max-width:300px;padding:16px 20px;display:flex;position:absolute;bottom:-38px;right:-18px}.floating-card span:last-child{gap:3px;display:grid}.floating-card small{color:var(--muted);font-size:11px}.floating-icon{background:var(--jade-100);width:42px;height:42px;color:var(--jade-800);border-radius:50%;place-items:center;display:grid}.mahjong-tile{--tile-w:48px;width:var(--tile-w);height:calc(var(--tile-w) * 1.34);border-radius:calc(var(--tile-w) * .13) calc(var(--tile-w) * .13) calc(var(--tile-w) * .17) calc(var(--tile-w) * .17);box-shadow:inset 0 calc(var(--tile-w) * -.08) 0 #c9bea6, inset 0 1px 0 #fff, 0 3px 7px #10262038;color:var(--charcoal);padding:calc(var(--tile-w) * .08);cursor:pointer;background:linear-gradient(145deg,#fffefa 0%,#f7f0df 72%,#e5dcc7 100%);border:1px solid #22332d1a;flex:none;place-items:center;transition:transform .16s,filter .16s,box-shadow .16s;display:grid;position:relative}.mahjong-tile:not(:disabled):hover{transform:translateY(-8px)}.mahjong-tile.is-selected{transform:translateY(-12px);box-shadow:inset 0 -5px #c8c0ae,0 0 0 3px #d9a72e,0 8px 16px #00000038}.mahjong-tile:disabled{cursor:default;opacity:1}.mahjong-tile.is-compact{--tile-w:31px;box-shadow:inset 0 calc(var(--tile-w) * -.08) 0 #c9bea6, 0 2px 4px #0000002b}.character-face{grid-template-rows:1fr 1.05fr;place-items:center;width:100%;height:88%;font-family:Songti SC,STSong,Noto Serif CJK SC,serif;line-height:.8;display:grid}.character-face span{color:#192f58;font-size:calc(var(--tile-w) * .39);font-weight:750}.character-face b{color:#b33e35;font-size:calc(var(--tile-w) * .42);font-weight:800}.honor-face{font-family:Songti SC,STSong,Noto Serif CJK SC,serif;font-size:calc(var(--tile-w) * .62);font-weight:800;line-height:1}.wind-face{color:#182f58}.wind-east{-webkit-text-stroke:calc(var(--tile-w) * .01) currentColor;font-weight:900}.dragon-1{color:#b53c33}.dragon-2{color:#198154}.white-dragon-face{border:calc(var(--tile-w) * .055) double #24577a;border-radius:calc(var(--tile-w) * .05);place-items:center;width:68%;height:72%;display:grid;box-shadow:inset 0 0 0 1px #24577a38}.white-dragon-face i{border:1px solid #24577a73;width:76%;height:78%}.tile-pattern{grid-template:repeat(3,1fr)/repeat(3,1fr);place-items:center;gap:4%;width:78%;height:78%;display:grid}.dot-mark{aspect-ratio:1;background:radial-gradient(circle,#f7f0df 0 20%,var(--dot-inner,#1e735a) 21% 38%,#f7f0df 39% 49%,var(--dot-color,#246486) 50% 72%,#143f5c 73% 78%,transparent 79%);border-radius:50%;width:78%}.dot-mark.color-0{--dot-inner:#b3433b;--dot-color:#236a8b}.dot-mark.color-1{--dot-inner:#277858;--dot-color:#2d8a63}.dot-mark.color-2{--dot-inner:#236a8b;--dot-color:#b3433b}.dot-pattern.rank-1{grid-template:1fr/1fr;place-items:center;gap:0;display:grid}.dot-pattern.rank-1 .dot-mark{background:radial-gradient(circle,#b43f37 0 11%,#f5e9cf 12% 18%,#287557 19% 26%,#f5e9cf 27% 36%,transparent 37%),repeating-conic-gradient(from -4deg,#1f704e 0 7deg,#f5e9cf 7deg 11deg,#2d8b61 11deg 17deg,#f5e9cf 17deg 22.5deg);border:calc(var(--tile-w) * .035) solid #1b6547;width:72%;box-shadow:inset 0 0 0 calc(var(--tile-w) * .022) #ffffff94,0 0 0 calc(var(--tile-w) * .018) #285e452e;grid-area:1/1/-1/-1;position:relative}.bamboo-mark{--bamboo-color:#25825e;background:linear-gradient(90deg,var(--bamboo-color) 0 32%,#f7f0df 33% 42%,var(--bamboo-color) 43% 58%,#f7f0df 59% 68%,var(--bamboo-color) 69%);width:38%;height:88%;box-shadow:inset 0 calc(var(--tile-w) * .04) 0 #ffffff73,inset 0 calc(var(--tile-w) * -.04) 0 #04452e59;border-radius:45%}.bamboo-mark.color-1{--bamboo-color:#b34037}.bamboo-mark.color-2{--bamboo-color:#266385}.traditional-pattern{display:block;position:relative}.traditional-pattern .dot-mark,.traditional-pattern .bamboo-mark{left:var(--mark-x);top:var(--mark-y);transform:translate(-50%,-50%) rotate(var(--mark-rotation));position:absolute}.traditional-pattern .dot-mark{--dot-tone:#25825e;background:radial-gradient(circle,#f7f0df 0 18%,var(--dot-tone) 19% 38%,#f7f0df 39% 47%,var(--dot-tone) 48% 76%,transparent 77%);width:22%}.traditional-pattern .dot-mark.tone-green{--dot-tone:#25825e}.traditional-pattern .dot-mark.tone-red{--dot-tone:#b34037}.traditional-pattern .dot-mark.tone-ink{--dot-tone:#1d2926}.traditional-pattern .bamboo-mark{width:12%;height:25%}.traditional-pattern .bamboo-mark.tone-green{--bamboo-color:#25825e}.traditional-pattern .bamboo-mark.tone-red{--bamboo-color:#b34037}.traditional-pattern .bamboo-mark.tone-ink{--bamboo-color:#1d2926}.bamboo-pattern.traditional-pattern.rank-8 .bamboo-mark{height:30%}.bamboo-one{width:62%;height:78%;display:block;position:relative}.bamboo-one i{display:block;position:absolute}.bamboo-stem{background:linear-gradient(90deg,#1d714f,#47a06f,#1d714f);border-radius:40%;width:16%;height:76%;top:14%;left:43%;transform:rotate(9deg)}.bamboo-leaf{background:#26855e;border-radius:100% 0;width:42%;height:16%}.leaf-a{top:14%;left:5%;transform:rotate(24deg)}.leaf-b{top:29%;right:2%;transform:rotate(150deg);background:#2b6685!important}.leaf-c{top:48%;left:5%;transform:rotate(34deg);background:#b3433b!important}.leaf-d{top:62%;right:4%;transform:rotate(150deg)}.tile-back{isolation:isolate;box-shadow:inset 0 calc(var(--tile-w) * -.08) 0 #0a4139,0 2px 4px #0003;background:linear-gradient(145deg,#ffffff1f,#0000 42%),repeating-linear-gradient(45deg,#ffffff09 0 1px,#0000 1px 6px),linear-gradient(145deg,#2f8a75,#155b50);border-color:#ffffff29;overflow:hidden}.tile-back:after{content:"";border:1px solid #ebf5ef38;border-radius:12%;position:absolute;inset:14%;box-shadow:inset 0 0 0 1px #073f362e}.tile-back-emblem{aspect-ratio:1;z-index:1;width:34%;box-shadow:0 0 0 calc(var(--tile-w) * .045) #08463c38,0 0 0 calc(var(--tile-w) * .075) #eff7f129;border:1px solid #eff7f17a;border-radius:14%;position:relative;transform:rotate(45deg)}.tile-back-emblem:before{content:"";border:1px solid #eff7f16b;border-radius:18%;position:absolute;inset:22%}.tile-back-emblem:after{content:"";background:#eff7f18c;border-radius:50%;width:18%;height:18%;position:absolute;top:41%;left:41%;box-shadow:0 0 0 1px #073f363d}.tile-corner-label{display:none}html[data-tile-style=american] .mahjong-tile:not(.tile-back){border-radius:calc(var(--tile-w) * .1) calc(var(--tile-w) * .1) calc(var(--tile-w) * .15) calc(var(--tile-w) * .15);box-shadow:inset 0 calc(var(--tile-w) * -.075) 0 #b6c2b4,inset 0 1px 0 #fff,0 3px 7px #031f1240;background:linear-gradient(135deg,#f8faf4 0%,#edf0e8 66%,#d7ddd1 100%);border-color:#0e301e38}html[data-tile-style=american] .mahjong-tile.is-selected{box-shadow:inset 0 calc(var(--tile-w) * -.075) 0 #b6c2b4,0 0 0 3px #d9a72e,0 8px 16px #0000003d}html[data-tile-style=american] .mahjong-tile:not(.tile-back):before{content:"";z-index:2;height:max(3px,calc(var(--tile-w) * .065));border-radius:inherit;pointer-events:none;background:linear-gradient(#15902d,#08731f 68%,#075d1a);border-bottom-right-radius:20%;border-bottom-left-radius:20%;position:absolute;top:-1px;left:1px;right:1px;box-shadow:0 1px #ffffff80,inset 0 1px #8fed8857}html[data-tile-style=american] .tile-corner-label{z-index:4;top:max(4px,calc(var(--tile-w) * .08));color:#c9363e;font:900 clamp(5px,calc(var(--tile-w) * .17),10px)/1 var(--font-sans),sans-serif;letter-spacing:-.04em;text-shadow:0 1px #ffffffbf;pointer-events:none;display:block;position:absolute;right:7%}html[data-tile-style=american] .tile-corner-label.corner-dragon.corner-rank-2{color:#155c36}html[data-tile-style=american] .tile-corner-label.corner-dragon.corner-rank-3{color:#171b18}html[data-tile-style=american] .mahjong-tile>.character-face,html[data-tile-style=american] .mahjong-tile>.tile-pattern,html[data-tile-style=american] .mahjong-tile>.bamboo-one,html[data-tile-style=american] .mahjong-tile>.white-dragon-face{width:82%;height:78%;transform:translate(-3%,5%)}html[data-tile-style=american] .mahjong-tile>.honor-face{color:#171b18;place-items:center;width:82%;height:78%;display:grid;transform:translate(-3%,5%)}html[data-tile-style=american] .character-face span{color:#171b18}html[data-tile-style=american] .character-face b,html[data-tile-style=american] .dragon-face.dragon-1{color:#c9363e}html[data-tile-style=american] .dragon-face.dragon-2{color:#155c36}html[data-tile-style=american] .white-dragon-face{border-color:#171b18;box-shadow:inset 0 0 0 1px #171b1833}html[data-tile-style=american] .white-dragon-face i{border-color:#171b1873}html[data-tile-style=american] .dot-mark.color-0{--dot-inner:#c9363e;--dot-color:#155c36}html[data-tile-style=american] .dot-mark.color-1{--dot-inner:#155c36;--dot-color:#171b18}html[data-tile-style=american] .dot-mark.color-2{--dot-inner:#171b18;--dot-color:#c9363e}html[data-tile-style=american] .dot-pattern.rank-1 .dot-mark{box-shadow:inset 0 0 0 calc(var(--tile-w) * .07) #f1f3ed,inset 0 0 0 calc(var(--tile-w) * .1) #c9363e;border-color:#155c36}html[data-tile-style=american] .traditional-pattern .dot-mark.tone-green{--dot-tone:#155c36}html[data-tile-style=american] .traditional-pattern .dot-mark.tone-red{--dot-tone:#c9363e}html[data-tile-style=american] .traditional-pattern .dot-mark.tone-ink{--dot-tone:#171b18}html[data-tile-style=american] .traditional-pattern .bamboo-mark.tone-green{--bamboo-color:#155c36}html[data-tile-style=american] .traditional-pattern .bamboo-mark.tone-red{--bamboo-color:#c9363e}html[data-tile-style=american] .traditional-pattern .bamboo-mark.tone-ink{--bamboo-color:#171b18}html[data-tile-style=american] .bamboo-one .leaf-a,html[data-tile-style=american] .bamboo-one .leaf-c{background:#c9363e!important}html[data-tile-style=american] .bamboo-one .leaf-b,html[data-tile-style=american] .bamboo-one .leaf-d{background:#155c36!important}html[data-tile-style=american] .tile-back{box-shadow:inset 0 calc(var(--tile-w) * -.08) 0 #07590c,inset 0 1px 0 #ffffff8f,0 2px 5px #00000047;background:linear-gradient(155deg,#ffffff52,#0000 30%),linear-gradient(#25b426 0%,#109316 55%,#08720f 100%);border-color:#043d0d61}html[data-tile-style=american] .tile-back:before{content:"";background:#cdffc347;border-radius:999px;height:5%;position:absolute;top:8%;left:8%;right:8%;box-shadow:0 1px #02460938}html[data-tile-style=american] .tile-back:after,html[data-tile-style=american] .tile-back-emblem,.official-sprite-window{display:none}html[data-tile-style=official] .mahjong-tile{height:calc(var(--tile-w) * 1.48279)}html[data-tile-style=official]:not([data-high-contrast=true]) .mahjong-tile{background:#edf0eb;border:0;padding:0}html[data-tile-style=official]:not([data-high-contrast=true]) .official-sprite-window{z-index:2;border-radius:inherit;background-image:url(/tiles/chinese-official-sprite.png);background-repeat:no-repeat;background-size:2469.9% 200%;background-position:var(--official-sprite-x) var(--official-sprite-y);image-rendering:auto;pointer-events:none;display:block;position:absolute;inset:0}html[data-tile-style=official]:not([data-high-contrast=true]) .mahjong-tile>.character-face,html[data-tile-style=official]:not([data-high-contrast=true]) .mahjong-tile>.tile-pattern,html[data-tile-style=official]:not([data-high-contrast=true]) .mahjong-tile>.bamboo-one,html[data-tile-style=official]:not([data-high-contrast=true]) .mahjong-tile>.honor-face,html[data-tile-style=official]:not([data-high-contrast=true]) .mahjong-tile>.white-dragon-face,html[data-tile-style=official]:not([data-high-contrast=true]) .mahjong-tile>.tile-corner-label{opacity:0}html[data-tile-style=official]:not([data-high-contrast=true]) .mahjong-tile.is-selected{box-shadow:0 0 0 3px #d9a72e,0 8px 16px #0000003d}html[data-tile-style=official]:not([data-high-contrast=true]) .tile-back:after,html[data-tile-style=official]:not([data-high-contrast=true]) .tile-back-emblem{display:none}.tile-label{color:#53655c;text-align:center;width:96px;font-size:9px;font-weight:750;line-height:1.2;position:absolute;top:calc(100% + 9px)}.tile-english-label{z-index:3;width:max-content;max-width:calc(var(--tile-w) * 1.2);color:#fff4d9;font-size:clamp(7px,calc(var(--tile-w) * .14),9px);text-align:center;white-space:nowrap;pointer-events:none;background:#04231fe0;border-radius:3px;padding:1px 3px;font-weight:850;line-height:1.25;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #ffffff24}html[data-tile-labels=true] .your-hand{padding-bottom:18px}html[data-reduced-motion=true] *,html[data-reduced-motion=true] :before,html[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}html[data-high-contrast=true] .mahjong-tile:not(.tile-back){background:#fff;border:2px solid #101b17;box-shadow:inset 0 -4px #aba58f,0 2px 3px #00000073}html[data-high-contrast=true] .tile-back{background:#075c50;border:2px solid #fff}html[data-high-contrast=true] .mahjong-tile.is-selected{outline-offset:2px;outline:4px solid #ffbf00}.section-heading{text-align:center;max-width:760px;margin:0 auto 60px}.section-heading .eyebrow{margin-bottom:16px}.section-heading p{color:var(--muted)}.how-section{background:var(--paper);padding-top:130px;padding-bottom:130px}.steps-grid{grid-template-columns:repeat(3,1fr);max-width:1160px;margin:auto;display:grid}.step-card{border-left:1px solid var(--line);padding:34px 48px}.step-card:first-child{border-left:0}.step-card>span{color:var(--cinnabar);font:23px var(--font-display),serif}.step-card h3{font:30px var(--font-display),serif;margin:22px 0 11px}.step-card p{color:var(--muted);font-size:14px}.feature-section{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(60px,9vw,150px);max-width:1500px;margin:auto;padding-top:120px;padding-bottom:120px;display:grid}.feature-section.reverse .feature-visual{order:2}.feature-copy{max-width:540px}.feature-copy h2{margin:18px 0 22px}.feature-copy>p{color:var(--muted)}.check-list{gap:13px;margin:28px 0;padding:0;list-style:none;display:grid}.check-list li{align-items:center;gap:12px;font-weight:650;display:flex}.check-list svg{width:18px;color:var(--jade-700)}.feature-visual{border-radius:26px;place-items:center;min-height:460px;display:grid;position:relative;overflow:hidden}.lesson-visual{text-align:center;background:#e1ebe5;padding:60px}.lesson-visual h3{font:42px var(--font-display),serif;color:var(--jade-950);margin:22px 0 60px}.lesson-count{color:var(--cinnabar);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.lesson-tiles{justify-content:center;gap:6px;margin-bottom:48px;display:flex}.progress-line{background:#10504724;border-radius:3px;width:75%;height:4px}.progress-line span{background:var(--cinnabar);width:60%;height:100%;display:block}.friends-visual{background:linear-gradient(145deg,#0e554b,#082f2a)}.friends-visual:after{content:"";background:radial-gradient(circle at 80% 20%,#c8a96b52,#0000 30%);position:absolute;inset:0}.room-card{background:var(--paper);text-align:center;z-index:2;width:min(350px,80%);box-shadow:var(--shadow);border-radius:18px;gap:9px;padding:35px;display:grid}.room-card small{letter-spacing:.17em;color:var(--muted)}.room-card strong{font:44px var(--font-display),serif;letter-spacing:.12em;color:var(--jade-900)}.room-card button{background:var(--jade-800);color:#fff;border:0;border-radius:8px;min-height:44px;margin-top:12px}.room-lock{color:var(--cinnabar)}.avatar-stack{z-index:3;display:flex;position:absolute;bottom:30px}.avatar-stack span{background:var(--ivory);border:3px solid var(--jade-900);border-radius:50%;place-items:center;width:38px;height:38px;margin-left:-7px;font-size:12px;font-weight:800;display:grid}.bots-banner{color:#fff;background:linear-gradient(110deg,#0a4139,#126055);border-radius:26px;grid-template-columns:1fr 1fr;align-items:center;max-width:1280px;min-height:450px;margin:60px auto 130px;display:grid;overflow:hidden}.bots-banner>div:first-child{padding:70px}.eyebrow.light{color:#e2c98e}.bots-banner h2{margin:17px 0}.bots-banner p{color:#ffffffb8;max-width:560px}.bots-banner .button{margin-top:18px}.bot-orbit{background:radial-gradient(circle,#ffffff1f,#0000 47%);place-items:center;height:100%;display:grid;position:relative}.bot-orbit>svg{color:#e8d7aa;width:92px;height:92px}.bot-orbit span{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:30px;padding:9px 14px;font-size:12px;position:absolute}.bot-orbit span:first-of-type{top:22%;left:15%}.bot-orbit span:nth-of-type(2){top:38%;right:10%}.bot-orbit span:nth-of-type(3){bottom:19%;left:22%}.tile-showcase{background:var(--paper);text-align:center;padding-top:120px;padding-bottom:150px}.showcase-tiles{justify-content:center;gap:10px;margin:0 0 70px;display:flex}.showcase-tiles .mahjong-tile{--tile-w:70px}.faq-section{padding-top:130px;padding-bottom:130px}.faq-grid{border-top:1px solid var(--line);max-width:900px;margin:auto}.faq-grid details{border-bottom:1px solid var(--line);padding:0 8px}.faq-grid summary{cursor:pointer;justify-content:space-between;padding:24px 0;font-weight:700;list-style:none;display:flex}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary span{font-size:23px;font-weight:400}.faq-grid p{color:var(--muted);margin:0;padding:0 45px 22px 0}.final-cta{text-align:center;color:#fff;background:var(--jade-950);padding-top:100px;padding-bottom:100px}.final-cta>.brand-mark{margin:0 auto}.final-cta h2{margin:22px 0 8px}.final-cta p{color:#ffffffa8}.final-cta>div{justify-content:center;gap:12px;margin-top:30px;display:flex}.landing-page footer{color:#ffffffbf;background:#061f1c;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:55px clamp(22px,7vw,110px);display:grid}.landing-page footer .brand{color:#fff}.landing-page footer p{grid-row:2;margin:0;font-size:13px}.landing-page footer nav{grid-area:1/2/3;gap:25px;display:flex}.landing-page footer small{border-top:1px solid #ffffff1a;grid-column:1/-1;padding-top:20px}.interior{max-width:1180px;margin:auto;padding:75px clamp(22px,5vw,60px) 100px}.interior-header{max-width:760px;margin-bottom:50px}.interior-header h1{font:clamp(48px,7vw,76px)/1 var(--font-display),serif;color:var(--jade-950);margin:18px 0}.interior-header p{color:var(--muted);font-size:17px}.card-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.content-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 10px 30px #082f2a0a}.content-card .card-icon{background:var(--jade-100);width:48px;height:48px;color:var(--jade-800);border-radius:12px;place-items:center;display:grid}.content-card h2,.content-card h3{font:28px var(--font-display),serif;margin:22px 0 10px}.content-card p{color:var(--muted);font-size:14px}.content-card .button{margin-top:12px}.lesson-card-grid{align-items:stretch}.lesson-entry-card{flex-direction:column;min-height:260px;transition:transform .18s,border-color .18s,background-color .18s,box-shadow .18s;display:flex;position:relative}.lesson-entry-card>.eyebrow{margin-top:20px}.lesson-entry-card>p{margin:0 0 24px}.lesson-card-action{border-top:1px solid var(--line);min-height:44px;color:var(--jade-800);justify-content:space-between;align-items:center;margin-top:auto;padding-top:14px;font-size:12px;font-weight:850;display:flex}.lesson-card-action svg{width:17px;transition:transform .18s}.lesson-entry-card:hover,.lesson-entry-card:focus-visible{background:#fffefb;border-color:#10504761;transform:translateY(-4px);box-shadow:0 18px 42px #082f2a1c}.lesson-entry-card:hover .card-icon,.lesson-entry-card:focus-visible .card-icon{background:var(--jade-800);color:#fff}.lesson-entry-card:hover .lesson-card-action svg,.lesson-entry-card:focus-visible .lesson-card-action svg{transform:translate(4px)}.form-panel{background:var(--paper);border:1px solid var(--line);max-width:620px;box-shadow:var(--shadow);border-radius:18px;padding:34px}.field{gap:8px;margin-bottom:20px;display:grid}.field label{font-size:13px;font-weight:750}.field input,.field select{min-height:48px;color:var(--charcoal);background:#fff;border:1px solid #b8c0ba;border-radius:8px;padding:0 14px}.segmented{background:#e8e8df;border-radius:11px;grid-template-columns:repeat(3,1fr);gap:6px;margin:20px 0 10px;padding:5px;display:grid}.segmented button{cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:44px}.segmented button.active{color:var(--jade-800);background:#fff;font-weight:800;box-shadow:0 2px 9px #00000014}.difficulty-explanation{background:#dcece68c;border:1px solid #10504726;border-radius:11px;min-height:124px;margin-bottom:8px;padding:16px 18px;animation:.18s ease-out difficulty-in}.difficulty-explanation>div{color:var(--jade-800);align-items:center;gap:9px;display:flex}.difficulty-explanation p{color:#53645c;margin:8px 0 6px;font-size:13px;line-height:1.55}.difficulty-explanation small{color:var(--cinnabar);letter-spacing:.02em;font-size:11px;font-weight:800}.split-layout{grid-template-columns:1fr 1fr;gap:28px;display:grid}.muted{color:var(--muted)}.stat-row{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.stat{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px}.stat strong{font:36px var(--font-display),serif;color:var(--jade-800);display:block}.stat span{color:var(--muted);font-size:12px}.setting-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:72px;display:flex}.switch{cursor:pointer;background:#b9c0bc;border:0;border-radius:20px;width:50px;height:28px;padding:3px}.switch span{background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;display:block}.switch.on{background:var(--jade-700)}.switch.on span{transform:translate(22px)}.language-setting-row{min-height:86px}.language-setting-row .language-select{flex:1}.settings-panel{max-width:760px}.settings-group{background:#f8f4eb;border:1px solid #10504724;border-radius:14px;margin:0 -12px 8px;padding:0 12px}.settings-group-heading{border-bottom:1px solid var(--line);min-height:76px;color:var(--jade-900);align-items:center;gap:13px;display:flex}.settings-group-heading>svg{width:24px;color:var(--cinnabar)}.settings-group-heading>span,.setting-copy>span{gap:3px;min-width:0;display:grid}.settings-group-heading strong{font:21px var(--font-display),serif}.settings-group-heading small,.setting-copy small{color:var(--muted);font-size:11px;line-height:1.35}.settings-tool-link{min-height:84px;color:var(--jade-900);border-bottom:0}.settings-tool-link>svg{width:20px;color:var(--jade-700);flex:none;transition:transform .18s}.settings-tool-link:hover{color:var(--cinnabar)}.settings-tool-link:hover>svg{transform:translate(4px)}.game-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 0;display:grid}.game-mode-card{background:#fffdf8;border:1px solid #1050472e;border-radius:14px;grid-template-rows:auto 1fr auto;gap:14px;min-width:0;min-height:286px;padding:15px;display:grid;box-shadow:0 8px 22px #082f2a0d}.game-mode-card.is-playable{background:linear-gradient(155deg,#f5fbf7,#e5f1eb);border-color:#0b6558;box-shadow:0 0 0 2px #10695b24,0 12px 28px #082f2a17}.game-mode-card.is-tool{background:linear-gradient(155deg,#fffdf7,#f7edcf);border-color:#ae7e1c61}.game-mode-card.is-planned{color:#59665f;background:#f3f1eb;border-style:dashed}.game-mode-card-topline{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.game-mode-icon{background:var(--jade-100);width:35px;height:35px;color:var(--jade-800);border-radius:10px;flex:none;place-items:center;display:grid}.game-mode-icon svg{width:18px}.is-tool .game-mode-icon{color:#795a16;background:#f3e6ba}.is-planned .game-mode-icon{color:#68736d;background:#e4e5df}.game-mode-status{color:var(--jade-700);letter-spacing:.035em;text-align:center;border:1px solid;border-radius:999px;padding:5px 7px;font-size:8px;font-weight:900;line-height:1.2}.is-tool .game-mode-status{color:#795a16}.is-planned .game-mode-status{color:#68736d}.game-mode-copy{align-content:start;gap:7px;min-width:0;display:grid}.game-mode-eyebrow{color:var(--cinnabar);letter-spacing:.09em;text-transform:uppercase;font-size:8px;font-weight:900}.game-mode-copy strong{color:var(--jade-950);font:20px/1.08 var(--font-display),serif}.game-mode-copy p{color:#42564d;margin:0;font-size:10px;line-height:1.5}.game-mode-copy small{color:var(--muted);font-size:9px;line-height:1.45}.game-mode-action{min-height:44px;color:var(--jade-800);text-align:center;background:#ffffffb8;border:1px solid #10504733;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:9px;font-weight:900;display:flex}.game-mode-action svg{width:15px}a.game-mode-action:hover{border-color:var(--jade-700);background:#fff}.is-playable .game-mode-action{background:#dfeee7;border-color:#10695b47}.is-planned .game-mode-action{color:#68736d;background:0 0;border-style:dashed}.game-mode-note{color:#42564d;background:#edf4ef;border-radius:0 0 13px 13px;margin:0 -12px;padding:11px 14px;font-size:10px;line-height:1.5}.tile-style-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 0;display:grid}.tile-style-option{min-height:184px;color:var(--charcoal);text-align:left;cursor:pointer;background:#fffdf7;border:1px solid #10504729;border-radius:14px;grid-template-rows:104px minmax(0,1fr);padding:0;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;overflow:hidden}.tile-style-option:hover{transform:translateY(-3px);box-shadow:0 13px 28px #082f2a1f}.tile-style-option.is-selected{box-shadow:0 0 0 3px #10695b2e,0 13px 28px #082f2a1f}.tile-style-preview{place-items:center;min-width:0;display:grid;position:relative;overflow:hidden}.tile-style-preview:before,.tile-style-preview:after{content:"";pointer-events:none;position:absolute}.tile-style-choice-mark{z-index:2;width:24px;height:24px;color:var(--jade-800);opacity:0;background:#fff;border-radius:50%;place-items:center;transition:opacity .18s,transform .18s;display:grid;position:absolute;top:9px;right:9px;transform:scale(.72);box-shadow:0 4px 12px #0000002e}.tile-style-choice-mark svg{stroke-width:3px;width:14px}.tile-style-option.is-selected .tile-style-choice-mark{opacity:1;transform:scale(1)}.tile-style-option-copy{align-content:start;gap:5px;min-width:0;padding:13px 14px 15px;display:grid}.tile-style-option strong{color:var(--jade-900);font-size:12px;line-height:1.25}.tile-style-option small{color:var(--muted);font-size:9px;line-height:1.45}.tile-style-option[data-style=official]{background:#f2f7f3;border-color:#0b493e4d}.tile-style-option[data-style=official] .tile-style-preview{background:radial-gradient(circle at 28% 22%,#e0c27861,#0000 29%),linear-gradient(145deg,#0b453d,#137063)}.tile-style-option[data-style=official] .tile-style-preview:after{border:1px solid #eed38e61;border-radius:7px;inset:9px}.tile-style-option[data-style=official].is-selected{border-color:#0b6558}.tile-style-option[data-style=traditional]{background:#fbf3e4;border-color:#8b3d2c40}.tile-style-option[data-style=traditional] .tile-style-preview{background:radial-gradient(circle at 50% 130%,#97392640,#0000 52%),repeating-linear-gradient(90deg,#6c39220d 0 1px,#0000 1px 9px),linear-gradient(#f6e7c9,#e8d3aa)}.tile-style-option[data-style=traditional] .tile-style-preview:before{border:1px solid #98352733;border-radius:50%;width:76px;height:76px}.tile-style-option[data-style=traditional] strong{color:#763b2d;font-family:Songti SC,STSong,Noto Serif CJK SC,serif;font-size:14px}.tile-style-option[data-style=traditional].is-selected{border-color:#a54935;box-shadow:0 0 0 3px #a5493529,0 13px 28px #50291e1f}.tile-style-option[data-style=american]{background:#f2f7fb;border-color:#204c7847}.tile-style-option[data-style=american] .tile-style-preview{background:linear-gradient(#26678f14 1px,#0000 1px) 0 0/18px 18px,linear-gradient(90deg,#26678f14 1px,#0000 1px) 0 0/18px 18px,linear-gradient(145deg,#f9fcff,#dbeaf3)}.tile-style-option[data-style=american] .tile-style-preview:after{background:#158247;border-radius:0 0 7px 7px;width:66px;height:6px;top:0}.tile-style-option[data-style=american] strong{color:#173f64;font-family:var(--font-sans),sans-serif;font-weight:900}.tile-style-option[data-style=american].is-selected{border-color:#226792;box-shadow:0 0 0 3px #22679229,0 13px 28px #19446221}.tile-style-sample{background:linear-gradient(140deg,#fffefa,#e6decf);border:1px solid #1434232e;border-radius:5px 5px 7px 7px;grid-template-rows:1fr 1fr;place-items:center;width:42px;height:58px;font-family:Songti SC,STSong,Noto Serif CJK SC,serif;line-height:.8;display:grid;position:relative;box-shadow:inset 0 -4px #c8bea8,0 2px 4px #0000002e}.tile-style-sample>span{color:#182f58;font-size:16px;font-weight:800}.tile-style-sample>b{color:#b33e35;font-size:18px}.tile-style-sample>i{display:none}.tile-style-sample.sample-american{background:linear-gradient(135deg,#f8faf4,#d7ddd1);border-color:#0e301e40;box-shadow:inset 0 -4px #b6c2b4,0 2px 4px #0003}.tile-style-sample.sample-american:before{content:"";background:linear-gradient(#15902d,#075d1a);border-radius:5px 5px 2px 2px;height:4px;position:absolute;top:-1px;left:1px;right:1px}.tile-style-sample.sample-american>i{z-index:2;color:#c9363e;font:900 8px/1 var(--font-sans),sans-serif;display:block;position:absolute;top:6px;right:5px}.tile-style-sample.sample-american>span{color:#171b18}.tile-style-sample.sample-american>b{color:#c9363e}.tile-style-sample.sample-official{background-color:#edf0eb;background-image:url(/tiles/chinese-official-sprite.png);background-position:16.8783% 0;background-repeat:no-repeat;background-size:2469.9% 200%;border:0;width:47px;height:68px;padding:0;box-shadow:0 2px 4px #0003}.tile-style-sample.sample-official>*{visibility:hidden}.tile-style-note{color:#42564d;background:#edf4ef;border-radius:0 0 13px 13px;margin:0 -12px;padding:11px 14px;font-size:10px;line-height:1.45}.setting-copy{align-items:center;gap:13px;min-width:0;display:flex}.setting-copy>svg{width:21px;color:var(--jade-700);flex:none}.audio-setting-row{grid-template-columns:minmax(0,1fr) auto;gap:13px 18px;padding:16px 0;display:grid}.audio-master-row{padding:8px 0}.music-track-picker{border:0;grid-column:1/-1;min-width:0;margin:2px 0 0;padding:0}.music-track-picker legend{color:var(--jade-900);margin-bottom:10px;font-size:10px;font-weight:850}.music-track-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.music-track-option{min-width:0;display:flex}.music-track-option label{cursor:pointer;background:#fffdf7;border:1px solid #1050472b;border-radius:11px;grid-template-columns:34px minmax(0,1fr);align-content:start;gap:9px;width:100%;min-height:132px;padding:12px;transition:border-color .18s,background-color .18s,box-shadow .18s,transform .18s;display:grid;position:relative}.music-track-option label:hover{border-color:#10695b6b;transform:translateY(-2px);box-shadow:0 9px 22px #082f2a17}.music-track-option input:focus-visible+label{outline-offset:3px;outline:3px solid #227dff}.music-track-option input:checked+label{border-color:var(--jade-700);background:#edf6f1;box-shadow:0 0 0 2px #10695b1f}.music-track-icon{width:34px;height:34px;color:var(--jade-800);background:#dcece6;border-radius:9px;place-items:center;display:grid}.music-track-icon svg{width:17px}.music-track-option[data-music-track=moonlit-pool] .music-track-icon{color:#315d78;background:#e5ebf3}.music-track-option[data-music-track=bamboo-window] .music-track-icon{color:#785e31;background:#efe8d9}.music-track-copy{align-content:start;gap:4px;min-width:0;display:grid}.music-track-character{color:var(--cinnabar);letter-spacing:.07em;text-transform:uppercase;font-size:7px;font-weight:900}.music-track-copy strong{color:var(--jade-950);font-size:11px;line-height:1.25}.music-track-copy small{color:var(--muted);font-size:8px;line-height:1.4}.music-track-selected{min-height:20px;color:var(--jade-800);opacity:0;grid-column:1/-1;align-items:center;gap:4px;margin-top:auto;font-size:8px;font-weight:900;display:flex}.music-track-selected svg{stroke-width:3px;width:13px}.music-track-option input:checked+label .music-track-selected{opacity:1}.music-track-preview-row{flex-wrap:wrap;align-items:center;gap:9px 12px;margin-top:10px;display:flex}.music-preview-button{flex:none;font-size:10px}.music-preview-button>span{color:var(--cinnabar);padding-left:2px}.music-preview-button.is-previewing{border-color:var(--jade-700);background:var(--jade-700);color:#fff}.music-preview-button.is-previewing>span{color:#f5d892}.music-preview-status{min-width:180px;color:var(--muted);flex:1;font-size:8px;line-height:1.4}.audio-setting-row .volume-control{color:var(--muted);grid-column:1/-1;grid-template-columns:auto minmax(130px,1fr) 42px;align-items:center;gap:12px;font-size:10px;font-weight:750;display:grid}.volume-control input{width:100%;min-height:44px;accent-color:var(--jade-700);cursor:pointer}.volume-control output{color:var(--jade-900);font-variant-numeric:tabular-nums;text-align:right}.audio-preview-button{min-height:44px;color:var(--jade-800);cursor:pointer;background:#fff;border:1px solid #1050472e;border-radius:8px;grid-column:1/-1;justify-self:start;align-items:center;gap:7px;padding:0 13px;font-weight:800;display:inline-flex}.audio-preview-button svg{width:16px}.audio-preview-button:disabled{opacity:.45;cursor:not-allowed}.audio-policy-note{color:#50635a;background:#edf4ef;border-radius:0 0 13px 13px;margin:0 -12px;padding:12px 14px;font-size:11px;line-height:1.5}.settings-select{min-height:44px;color:var(--charcoal);background:#fff;border:1px solid #b8c0ba;border-radius:8px;padding:0 12px}.audio-control{z-index:45;display:inline-flex;position:relative}.audio-control-trigger{width:44px;height:44px}.audio-control-popover{width:min(330px,100vw - 20px);max-height:min(520px,100dvh - 88px);color:var(--charcoal);background:#fffdf7;border:1px solid #1050472e;border-radius:15px;position:absolute;top:calc(100% + 9px);right:0;overflow:auto;box-shadow:0 22px 65px #00000047}.audio-control-popover>header{z-index:2;border-bottom:1px solid var(--line);background:#fffdf7f7;justify-content:space-between;align-items:center;min-height:56px;padding:7px 9px 7px 15px;display:flex;position:sticky;top:0}.audio-control-popover>header>span{color:var(--jade-900);align-items:center;gap:8px;display:flex}.audio-control-popover>header svg{width:18px}.audio-control-popover>header strong{font:18px var(--font-display),serif}.audio-control-popover>header .icon-button{color:var(--jade-900)}.audio-master-option,.audio-option{border:0;border-bottom:1px solid var(--line);width:100%;min-height:62px;color:var(--charcoal);text-align:left;cursor:pointer;background:0 0;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 13px;display:grid}.audio-master-option{background:#edf4ef}.audio-master-option:hover,.audio-option:hover{background:#f1eee5}.audio-master-option>svg,.audio-option>svg{width:19px;color:var(--jade-700)}.audio-master-option>span,.audio-option>span{gap:2px;min-width:0;display:grid}.audio-master-option strong,.audio-option strong{color:var(--jade-900);font-size:11px}.audio-master-option small,.audio-option small{color:var(--muted);font-size:8px;line-height:1.35}.audio-option em{color:#69746f;text-align:center;text-transform:uppercase;border:1px solid #c8d0cb;border-radius:999px;min-width:39px;padding:4px 7px;font-size:8px;font-style:normal;font-weight:900}.audio-option.is-on em{border-color:var(--jade-700);background:var(--jade-700);color:#fff}.audio-control-popover>p{color:var(--muted);margin:0;padding:10px 13px;font-size:9px;line-height:1.45}.audio-settings-link{border-top:1px solid var(--line);min-height:44px;color:var(--jade-800);align-items:center;gap:7px;padding:0 13px;font-size:10px;font-weight:850;display:flex}.audio-settings-link svg{width:15px}.game-topbar{z-index:40;position:relative}html[data-language=zh-CN] .interior-header h1,html[data-language=zh-TW] .interior-header h1,html[data-language=zh-CN] .content-card h2,html[data-language=zh-TW] .content-card h2,html[data-language=zh-CN] .content-card h3,html[data-language=zh-TW] .content-card h3{font-family:Songti SC,Noto Serif CJK SC,STSong,serif}html[data-language=ja] .interior-header h1,html[data-language=ja] .content-card h2,html[data-language=ja] .content-card h3{font-family:Hiragino Mincho ProN,Yu Mincho,Noto Serif CJK JP,serif}@keyframes difficulty-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.game-screen{color:#fff;background:#071f1c;grid-template-rows:64px 1fr auto;min-height:100vh;display:grid;position:relative;overflow:hidden}.game-topbar{background:#061916;border-bottom:1px solid #ffffff17;justify-content:space-between;align-items:center;padding:0 24px;font-size:12px;display:flex}.game-topbar>div{align-items:center;gap:18px;display:flex}.game-topbar strong{font-size:14px}.round-chip{color:#e7cd93;text-transform:uppercase;letter-spacing:.12em}.game-status{color:#ffffffad}.game-status span{align-items:center;gap:6px;display:inline-flex}.table-wrap{min-height:0;padding:14px}.felt-table{background:radial-gradient(circle,#17695d 0,#0d4d44 63%,#08362f 100%);border:12px solid #4a3326;border-radius:30px;height:100%;min-height:650px;max-height:calc(100vh - 150px);position:relative;overflow:hidden;box-shadow:inset 0 0 90px #00000038}.felt-table:after{content:"";pointer-events:none;border:1px solid #ffffff1a;border-radius:16px;position:absolute;inset:15px}.player-panel{z-index:3;position:absolute}.player-top{justify-items:center;display:grid;top:18px;left:50%;transform:translate(-50%)}.player-left{top:37%;left:18px;transform:translateY(-50%)}.player-right{justify-items:end;display:grid;top:37%;right:18px;transform:translateY(-50%)}.player-bottom{width:min(920px,100% - 120px);bottom:12px;left:50%;transform:translate(-50%)}.player-meta{background:#031815a8;border-radius:30px;align-items:center;gap:9px;margin-bottom:7px;padding:6px 10px 6px 6px;display:flex}.player-meta>span:not(.avatar){min-width:0}.player-meta strong,.player-meta small{display:block}.player-meta strong{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.player-meta small{color:#ffffff94;text-transform:capitalize;font-size:9px}.avatar{color:#173d35;background:#e9d5a2;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-weight:900;display:grid;overflow:hidden}.player-avatar svg{width:100%;height:100%;display:block}.opponent-hand{gap:2px;display:flex}.player-left .opponent-hand,.player-right .opponent-hand{flex-wrap:wrap;max-width:110px}.player-panel.is-current .avatar{box-shadow:0 0 0 3px #e0ad37}.mini-melds,.your-melds{gap:2px;margin-top:5px;display:flex}.table-center{z-index:2;grid-template-columns:92px 1fr;align-items:center;gap:20px;display:grid;position:absolute;inset:22% 18% 30%}.timer-ring{text-align:center;background:conic-gradient(#e4b84d var(--timer-progress),#ffffff1f 0);color:#fff;border-radius:50%;place-content:center;width:76px;height:76px;display:grid;position:relative}.timer-ring:before{content:"";background:#0d493f;border-radius:50%;position:absolute;inset:5px}.timer-ring span,.timer-ring small{position:relative}.timer-ring span{font:26px var(--font-display),serif}.timer-ring small{letter-spacing:.15em;font-size:7px}.discard-river{background:#00000017;border:1px solid #ffffff14;border-radius:16px;flex-wrap:wrap;place-content:center;gap:4px;min-height:180px;padding:15px;display:flex}.discard-river p{color:#ffffff80;font-size:12px}.self-meta{justify-content:space-between;align-items:center;margin:0 8px;display:flex}.score-pill{background:#00000040;border-radius:20px;padding:5px 10px;font-size:11px}.your-hand{justify-content:center;gap:3px;min-height:70px;display:flex}.your-hand .mahjong-tile{--tile-w:52px}.action-dock{min-height:84px;padding:10px 22px calc(10px + env(safe-area-inset-bottom));background:#061916;border-top:1px solid #ffffff17;grid-template-columns:minmax(220px,1fr) auto minmax(44px,1fr);align-items:center;gap:16px;display:grid;position:relative}.tip{color:#ffffff9e;align-items:center;gap:10px;font-size:11px;display:flex}.tip>svg{color:#e0ad37;width:20px}.tip span{display:grid}.tip strong{color:#fff}.game-actions{justify-content:center;align-items:center;gap:8px;display:flex}.action{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-weight:800;display:inline-flex}.action.primary{color:#153c34;background:#f4ead5;border-color:#f4ead5}.action.secondary{background:#17665a}.action.win{background:#b4493c;border-color:#d46a5c}.action:disabled{opacity:.4;cursor:not-allowed}.waiting-text{color:#ffffff85;font-size:12px}.game-toast{z-index:10;background:#041714eb;border:1px solid #ffffff24;border-radius:8px;padding:10px 16px;font-size:12px;position:fixed;top:76px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0003}.result-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#010f0db8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.result-card{text-align:center;background:var(--paper);width:100%;max-width:520px;color:var(--charcoal);box-shadow:var(--shadow);border-radius:20px;padding:50px}.result-card h2{margin:14px 0}.result-card p{color:var(--muted)}.result-actions{justify-content:center;gap:9px;margin-top:28px;display:flex}.table-info-menu{z-index:14;justify-self:end;position:relative}.table-info-trigger{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #e7cf9a47;border-radius:10px;align-items:center;gap:9px;min-height:48px;padding:5px 12px;display:flex}.table-info-trigger:hover,.table-info-trigger[aria-expanded=true]{background:#e7cf9a24;border-color:#e7cf9a7a}.table-info-trigger>svg{color:#e7cf9a;flex:none;width:19px}.table-info-trigger>span{text-align:left;gap:2px;min-width:0;line-height:1.05;display:grid}.table-info-trigger strong{white-space:nowrap;font-size:11px}.table-info-trigger small{color:#ffffff94;white-space:nowrap;font-size:8px}.table-info-popover{width:min(390px,100vw - 28px);max-height:min(520px,100dvh - 130px);color:var(--charcoal);background:#fffdf7;border:1px solid #1050472e;border-radius:17px;position:absolute;bottom:calc(100% + 12px);right:0;overflow:auto;box-shadow:0 24px 70px #00000057}.table-info-popover>header{z-index:2;border-bottom:1px solid var(--line);background:#fffdf7f7;justify-content:space-between;align-items:center;min-height:58px;padding:8px 10px 8px 17px;display:flex;position:sticky;top:0}.table-info-popover>header>span{color:var(--jade-900);align-items:center;gap:9px;display:flex}.table-info-popover>header>span svg{width:18px;color:var(--cinnabar)}.table-info-popover>header strong{font:19px var(--font-display),serif}.table-info-popover>header .icon-button{color:var(--jade-900)}.table-info-section{border-bottom:1px solid var(--line);padding:15px 17px}.table-info-section:last-child{border-bottom:0}.table-info-section h3{color:#53645c;font:800 9px/1.2 var(--font-body),sans-serif;letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:7px;margin:0 0 10px;display:flex}.table-info-section h3 svg{width:14px;color:var(--cinnabar)}.table-info-history{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.table-info-history-item{background:#f7f1e5;border:1px solid #1050471f;border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;min-height:49px;padding:5px 7px;display:grid}.table-info-history-item .mahjong-tile{--tile-w:27px}.table-info-history-item>span{min-width:0;line-height:1.2;display:grid}.table-info-history-item strong{color:var(--jade-900);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.table-info-history-item small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.table-info-history-item em{color:#684c0d;letter-spacing:.05em;text-transform:uppercase;background:#e9d49d;border-radius:4px;align-self:start;padding:2px 4px;font-size:6px;font-style:normal;font-weight:900}.table-info-empty{color:var(--muted);background:#f7f1e5;border-radius:9px;margin:0;padding:12px;font-size:11px}.table-info-tip{background:#edf4ef}.table-info-tip p{color:#42564d;margin:0;font-size:11px;line-height:1.55}.table-info-reactions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.table-info-reactions button{min-height:44px;color:var(--jade-900);cursor:pointer;background:#fff;border:1px solid #10504729;border-radius:8px;padding:6px;font-size:9px;font-weight:800}.table-info-reactions button:hover{border-color:var(--jade-700);background:var(--jade-100)}.table-info-reactions button:disabled{opacity:.45;cursor:not-allowed}.lesson-shell{background:#f5f0e5;grid-template-columns:260px 1fr;min-height:calc(100vh - 76px);display:grid}.lesson-sidebar{background:var(--jade-950);color:#fff;padding:40px 22px;position:relative}.lesson-sidebar:after{content:"";pointer-events:none;border:1px solid #e8d3a121;position:absolute;inset:18px}.lesson-sidebar h2{font:27px var(--font-display),serif;z-index:1;margin:0 10px 30px;position:relative}.lesson-list{z-index:1;gap:8px;display:grid;position:relative}.lesson-list button{color:#ffffff9e;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;min-height:58px;padding:0 12px;font-size:12px;display:flex}.lesson-list button>span{border:1px solid #fff3;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.lesson-list button.active{color:#fff;background:#ffffff1a;border-color:#e8d3a13d;font-weight:800}.lesson-list button.active>span{color:#113c34;background:#e7cf9a;border-color:#e7cf9a}.lesson-stage{text-align:center;background:radial-gradient(circle at 80% 0,#c8a96b29,#0000 24%);align-content:start;justify-items:center;padding:58px clamp(28px,5vw,78px) 90px;display:grid}.lesson-stage h1{font:clamp(44px,5vw,68px)/1 var(--font-display),serif;color:var(--jade-950);margin:15px 0}.lesson-stage>p{color:var(--muted);max-width:720px;font-size:16px}.lesson-stage-atlas{max-width:none}.tile-atlas{color:#fff;text-align:left;background:#0b3b34;border:1px solid #c8a96b6b;border-radius:20px;width:min(980px,100%);margin:36px 0 12px;padding:34px;box-shadow:0 24px 60px #082f2a2e}.tile-atlas header{border-bottom:1px solid #ffffff1f;grid-template-columns:1fr auto;align-items:end;column-gap:30px;padding-bottom:24px;display:grid}.tile-atlas header h2{letter-spacing:-.03em;margin:4px 0 0;font-size:36px}.tile-atlas header p{color:#ffffffad;grid-area:1/2/3;margin:0;font-size:12px}.atlas-kicker{color:#e7cf9a;letter-spacing:.18em;font-size:10px;font-weight:800}.atlas-groups{gap:0;display:grid}.atlas-group{border-bottom:1px solid #ffffff1a;grid-template-columns:190px 1fr;align-items:center;gap:20px;padding:19px 0;display:grid}.atlas-group:last-child{border-bottom:0;padding-bottom:0}.atlas-group-label{gap:6px;display:grid}.atlas-group-label>span{align-items:baseline;gap:8px;display:flex}.atlas-group-label strong{font-size:14px}.atlas-group-label em{color:#e7cf9a;font:17px Songti SC,STSong,serif}.atlas-group-label small{color:#ffffffa3;font-size:12px}.atlas-row{scrollbar-width:thin;scrollbar-color:#e7cf9a73 transparent;gap:6px;padding:5px 2px 9px;display:flex;overflow-x:auto}.atlas-row .mahjong-tile{--tile-w:52px}.interactive-tray{background:#fffdf7;border:1px solid #1050472e;border-radius:18px;place-items:center;width:min(760px,100%);min-height:330px;margin:36px 0;padding:32px 34px 30px;display:grid;box-shadow:0 18px 45px #082f2a14}.tray-heading{gap:7px;margin-bottom:35px;display:grid}.tray-heading span{color:var(--cinnabar);letter-spacing:.2em;font-size:9px;font-weight:850}.tray-heading strong{font:26px var(--font-display),serif;color:var(--jade-950)}.tray-tiles{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.tray-tiles .mahjong-tile{--tile-w:68px}.lesson-feedback{color:#53655c;justify-content:center;align-items:center;gap:7px;min-height:44px;margin-top:45px;font-size:14px;font-weight:750;display:flex}.lesson-feedback.is-success{color:var(--jade-700)}.lesson-feedback.is-success svg{background:var(--jade-700);color:#fff;border-radius:50%;width:20px;height:20px;padding:3px}.lesson-controls{gap:10px;display:flex}.replay-button{border:1px solid var(--line)}.skip-lesson{cursor:pointer;background:0 0;border:0;margin-top:30px}.room-code{font:48px var(--font-display),serif;letter-spacing:.14em;color:var(--jade-900)}.seat-list{gap:10px;margin:24px 0;display:grid}.seat{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;min-height:60px;padding:10px 14px;display:flex}.seat>span{align-items:center;gap:10px;display:flex}.seat .avatar{background:var(--jade-100)}.connection-dot{background:#28836e;border-radius:50%;width:9px;height:9px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}.lesson-entry-card:hover,.lesson-entry-card:focus-visible{transform:none}}@media (width<=900px){.lesson-shell{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;overflow:hidden}.desktop-nav,.desktop-only{display:none}.mobile-menu{display:grid}.mobile-nav{top:calc(76px + env(safe-area-inset-top));background:var(--paper);padding:18px max(22px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left));border-bottom:1px solid var(--line);box-shadow:var(--shadow);gap:4px;display:grid;position:absolute;left:0;right:0}.mobile-nav a{border-radius:7px;align-items:center;gap:10px;min-height:48px;padding:0 10px;display:flex}.mobile-nav a:hover{background:var(--jade-100)}.game-mode-grid{grid-template-columns:1fr}.game-mode-card{min-height:220px}.hero{grid-template-columns:1fr;padding-top:55px}.hero-table{width:90%;margin:auto}.steps-grid,.card-grid{grid-template-columns:1fr}.step-card{border-left:0;border-top:1px solid var(--line)}.step-card:first-child{border-top:0}.feature-section{grid-template-columns:1fr}.feature-section.reverse .feature-visual{order:0}.bots-banner{grid-template-columns:1fr;margin-left:20px;margin-right:20px}.bot-orbit{min-height:270px}.split-layout,.lesson-shell{grid-template-columns:1fr}.lesson-sidebar{padding:15px 18px}.lesson-sidebar:after,.lesson-sidebar h2{display:none}.lesson-list{grid-template-columns:repeat(5,1fr);gap:6px}.lesson-list button{justify-content:center;min-height:50px;padding:0;font-size:0}.lesson-list button>span{font-size:12px}.lesson-stage{padding:35px 20px 70px}.tile-atlas header{grid-template-columns:1fr}.tile-atlas header p{grid-area:auto/1;margin-top:8px}.atlas-group{grid-template-columns:150px 1fr}.atlas-row .mahjong-tile{--tile-w:48px}.felt-table{min-height:620px}.table-center{grid-template-columns:64px 1fr;gap:7px;inset:22% 7% 31%}.timer-ring{width:58px;height:58px}.player-left,.player-right{top:32%}.player-bottom{width:calc(100% - 24px)}.your-hand{justify-content:flex-start;padding:11px 4px 16px;overflow-x:auto}.your-hand .mahjong-tile{--tile-w:46px}.opponent-hand .mahjong-tile:nth-child(n+9){display:none}.action-dock{padding:8px 12px calc(8px + env(safe-area-inset-bottom));grid-template-columns:1fr auto}.tip,.reaction-menu{display:none}.game-actions{flex-wrap:wrap}.game-topbar{padding:0 12px}.game-status span:first-child{display:none}}.game-screen{min-height:100dvh}.felt-table{max-height:calc(100dvh - 150px)}.turn-badge{color:#153b34;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#e5b545;border-radius:20px;margin-left:4px;padding:3px 7px;font-size:8px}.opponent-hand{position:relative}.concealed-count{color:#133c35;background:#f1db9e;border:2px solid #0b4b42;border-radius:12px;place-items:center;min-width:22px;height:22px;padding:0 5px;font-size:10px;font-weight:900;display:none;position:absolute;bottom:-7px;right:-7px;box-shadow:0 2px 5px #00000038}.discard-slot{display:inline-flex;position:relative}.discard-slot>small{color:#f0d99c;background:#072d28;border-radius:50%;place-items:center;width:13px;height:13px;font-size:7px;font-weight:900;display:grid;position:absolute;bottom:-2px;right:-2px;box-shadow:0 0 0 1px #ffffff2e}.hand-scroll-hint{display:none}.tip-off{visibility:hidden}.game-toast{pointer-events:none;max-width:340px;left:auto;right:24px;transform:none}.result-page{max-width:1260px}.result-heading{max-width:920px}.result-heading>p{max-width:760px}.result-meta{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.result-meta span{border:1px solid var(--line);color:#506057;background:#ffffff73;border-radius:20px;padding:7px 11px;font-size:11px;font-weight:700}.result-layout{grid-template-columns:minmax(260px,.36fr) minmax(0,1fr);align-items:start;gap:22px;display:grid}.score-card,.hand-explanation,.result-next,.result-empty{border:1px solid var(--line);background:var(--paper);border-radius:20px;box-shadow:0 16px 48px #082f2a17}.score-card{text-align:center;justify-items:center;padding:38px 30px;display:grid}.score-trophy{background:var(--jade-100);width:58px;height:58px;color:var(--jade-800);border-radius:50%;place-items:center;margin-bottom:18px;display:grid}.score-card>small{color:var(--muted);letter-spacing:.18em;font-size:9px;font-weight:850}.score-card>strong{font:76px/.95 var(--font-display),serif;color:var(--jade-800);margin-top:8px}.score-card>span:not(.score-trophy){color:var(--muted);font-size:12px}.score-breakdown{border-top:1px solid var(--line);width:100%;margin-top:28px}.score-breakdown>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:52px;font-size:13px;display:flex}.score-breakdown span{align-items:center;gap:8px;display:flex}.score-breakdown svg{width:16px;color:var(--jade-700)}.hand-explanation{padding:38px}.hand-explanation h2{margin:10px 0 8px;font-size:40px}.hand-explanation>div:first-child p{color:var(--muted);margin:0;font-size:14px}.result-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:26px;display:grid}.result-groups article{border:1px solid var(--line);background:#faf6eb;border-radius:12px;min-width:0;padding:15px}.result-groups article.contains-winning-tile{border-color:#b9861f;box-shadow:inset 0 0 0 1px #b9861f33}.result-groups article>header{justify-content:space-between;align-items:start;gap:8px;min-height:34px;display:flex}.result-groups article>header span{display:grid}.result-groups article>header strong{color:var(--jade-900);font-size:12px}.result-groups article>header small{color:var(--muted);font-size:9px}.result-groups article>header b{color:#5d4510;text-transform:uppercase;letter-spacing:.06em;background:#ead7a5;border-radius:4px;padding:3px 6px;font-size:8px}.result-groups article>div{align-items:end;gap:3px;min-height:48px;display:flex}.result-groups article>div>span{display:inline-flex;position:relative}.result-groups .winning-tile .mahjong-tile{box-shadow:inset 0 -3px #c9bea6,0 0 0 3px #d7a328,0 3px 8px #0003}.result-groups .winning-tile em{color:#8a6110;text-align:center;width:54px;font-size:7px;font-style:normal;font-weight:900;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.winning-method{background:var(--jade-100);border-radius:10px;margin:28px 0 0;padding:14px 16px;color:#41534a!important;font-size:12px!important}.result-next{justify-content:space-between;align-items:center;gap:24px;margin-top:22px;padding:24px 28px;display:flex}.result-next>div:first-child{align-items:center;gap:13px;display:flex}.result-next>div:first-child>svg{color:var(--jade-700)}.result-next>div:first-child span{display:grid}.result-next small{color:var(--muted)}.result-next .result-actions{flex:none;margin-top:0}.result-empty{text-align:center;justify-items:center;max-width:720px;margin:60px auto;padding:60px;display:grid}.result-empty .card-icon{background:var(--jade-100);width:58px;height:58px;color:var(--jade-800);border-radius:50%;place-items:center;margin-bottom:20px;display:grid}.result-empty h1{color:var(--jade-950);font:52px/1 var(--font-display),serif;margin:14px 0}.result-empty p{max-width:540px;color:var(--muted)}.loading-mark{border:3px solid var(--jade-100);border-top-color:var(--jade-700);border-radius:50%;width:22px;height:22px;margin-bottom:12px;animation:.8s linear infinite result-spin}@keyframes result-spin{to{transform:rotate(360deg)}}.profile-stats{grid-template-columns:repeat(4,1fr)}.profile-stats .stat>svg{color:var(--jade-700)}.profile-grid{grid-template-columns:1fr 1fr;gap:22px;margin-top:26px;display:grid}.profile-number{color:var(--jade-800);font:38px var(--font-display),serif;margin-right:5px}.match-history{border:1px solid var(--line);background:var(--paper);border-radius:18px;margin-top:26px;padding:32px;box-shadow:0 12px 36px #082f2a12}.match-history>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:20px;padding-bottom:20px;display:flex}.match-history h2{margin-top:8px;font-size:38px}.match-history>header small{color:var(--muted)}.match-history>div{display:grid}.match-history>div>a{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 24px;align-items:center;gap:16px;min-height:68px;display:grid}.match-history>div>a span{display:grid}.match-history>div>a small{color:var(--muted);font-size:10px}.match-history>div>a b{color:var(--jade-800)}.match-history>div>a svg{width:17px}@media (width<=900px){.result-layout{grid-template-columns:1fr}.score-card{grid-template-columns:auto auto;justify-content:center;column-gap:10px}.score-card .score-trophy,.score-card>small,.score-breakdown,.score-card>p{grid-column:1/-1}.score-card>strong{font-size:58px}.score-card>span:not(.score-trophy){align-self:end;padding-bottom:8px}.result-next{flex-direction:column;align-items:flex-start}.result-next .result-actions{width:100%}.profile-stats{grid-template-columns:repeat(2,1fr)}.game-screen{grid-template-rows:56px minmax(0,1fr) auto;height:100dvh;min-height:100dvh}.table-wrap{min-height:0}.felt-table{height:100%;min-height:0;max-height:none}.player-bottom{width:calc(100% - 24px)}.your-hand{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;justify-content:flex-start;padding:11px 4px 14px;overflow-x:auto}.your-hand>div{scroll-snap-align:center}.your-hand .mahjong-tile{--tile-w:46px}.opponent-hand .mahjong-tile:nth-child(n+9){display:none}.concealed-count{display:grid}.action-dock{padding:7px 10px calc(7px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"tip reaction""actions actions";gap:5px 8px}.tip{grid-area:tip;min-width:0;display:flex}.tip span{min-width:0;overflow:hidden}.tip span:not(strong){text-overflow:ellipsis}.table-info-menu{grid-area:reaction;display:block}.table-info-popover{width:min(390px,100vw - 20px);right:10px;bottom:calc(104px + env(safe-area-inset-bottom));max-height:calc(100dvh - 165px);position:fixed}.game-actions{scrollbar-width:none;grid-area:actions;justify-content:flex-start;width:100%;padding:2px 1px;overflow-x:auto}.game-actions .action{flex:none}.game-topbar{padding:0 10px}.game-status span:first-child{display:none}}@media (width<=600px){.result-page{padding-top:42px}.result-heading h1{font-size:44px}.result-groups{grid-template-columns:1fr}.hand-explanation{padding:26px 18px}.hand-explanation h2{font-size:33px}.result-next{padding:22px 18px}.result-empty{margin:25px auto;padding:38px 20px}.result-empty h1{font-size:42px}.profile-grid{grid-template-columns:1fr}.profile-stats{grid-template-columns:1fr 1fr}.match-history{padding:24px 18px}.match-history>header{flex-direction:column;align-items:start}.game-screen{grid-template-rows:52px minmax(0,1fr) auto}.game-topbar{min-width:0}.game-topbar>div{gap:7px;min-width:0}.round-chip{display:none}.game-topbar strong{white-space:nowrap;font-size:11px}.game-status span:nth-child(2){white-space:nowrap;font-size:9px}.game-status .icon-button{width:44px;height:44px}.table-wrap{padding:3px}.felt-table{border-width:5px;border-radius:15px;min-height:0}.felt-table:after{border-radius:10px;inset:7px}.player-top{top:5px}.player-left,.player-right{top:30%}.player-left{left:5px}.player-right{right:5px}.player-meta{margin-bottom:3px}.turn-badge{padding:2px 5px;font-size:7px}.table-center{display:block;inset:20% 3% 31%}.timer-ring{z-index:35;width:40px;height:40px;position:fixed;top:6px;left:50%;transform:translate(-50%)}.timer-ring:before{background:#0b3f37;inset:4px}.timer-ring span{font-size:16px}.timer-ring small{display:none}.discard-river{align-content:center;width:100%;height:100%;min-height:0;padding:8px}.discard-river .mahjong-tile{--tile-w:27px}.discard-slot>small{width:11px;height:11px;font-size:6px}.player-bottom{width:calc(100% - 8px);bottom:2px}.self-meta{margin:0 3px}.your-hand{min-height:63px;padding:8px 3px 10px}.your-hand .mahjong-tile{--tile-w:44px}.hand-scroll-hint{color:#ffffff8c;text-align:right;margin:-7px 5px 0;font-size:8px;display:block}.action-dock{min-height:98px}.tip{font-size:9px;line-height:1.25}.tip>svg{flex:none;width:17px}.tip span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.tip strong{margin-right:5px}.action{min-height:44px;padding:0 12px;font-size:11px}.table-info-trigger{min-height:44px;padding:4px 9px}.table-info-trigger>svg{width:17px}.table-info-trigger strong{font-size:9px}.table-info-trigger small{font-size:7px}.table-info-popover{width:calc(100vw - 12px);right:6px;bottom:calc(104px + env(safe-area-inset-bottom));max-height:calc(100dvh - 158px)}.table-info-section{padding:13px}.table-info-history{gap:5px}.game-toast{text-align:left;max-width:210px;padding:8px 10px;font-size:10px;top:58px;left:auto;right:7px}}@media (height<=650px) and (width<=600px){.game-screen{grid-template-rows:48px minmax(0,1fr) auto}.player-top .opponent-hand,.player-left .opponent-hand,.player-right .opponent-hand{transform-origin:top;transform:scale(.86)}.player-left .opponent-hand{transform-origin:0 0}.player-right .opponent-hand{transform-origin:100% 0}.player-meta{transform-origin:0;transform:scale(.9)}.player-right .player-meta{transform-origin:100%}.table-center{inset:19% 3% 30%}.action-dock{min-height:90px}}@media (width<=600px){.site-header{min-height:calc(66px + env(safe-area-inset-top));padding:env(safe-area-inset-top) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}.mobile-nav{top:calc(66px + env(safe-area-inset-top))}.hero{padding-bottom:70px}.hero h1{font-size:54px}.hero-table{width:110%;margin-left:-5%}.hero-table-inner{border-width:10px;border-radius:26px}.floating-card{bottom:-50px;right:10px}.hero-hand .mahjong-tile{--tile-w:38px}.trust-row{gap:10px}.hero-actions{flex-direction:column;align-items:stretch}.showcase-tiles{justify-content:flex-start;padding:10px 5px 42px;overflow-x:auto}.showcase-tiles .mahjong-tile{--tile-w:58px}.bots-banner>div:first-child{padding:45px 28px}.lesson-visual{padding:35px 15px}.lesson-tiles{justify-content:flex-start;width:100%;padding-bottom:35px;overflow-x:auto}.lesson-stage h1{font-size:44px}.tile-atlas{width:calc(100% + 8px);margin-top:28px;padding:22px 16px}.tile-atlas header h2{font-size:30px}.atlas-group{grid-template-columns:1fr;gap:10px;padding:17px 0}.atlas-group-label{text-align:left}.atlas-row{margin:0 -4px}.atlas-row .mahjong-tile{--tile-w:46px}.interactive-tray{min-height:320px;padding:28px 15px 24px}.tray-heading{margin-bottom:30px}.tray-tiles{gap:10px}.tray-tiles .mahjong-tile{--tile-w:58px}.tile-label{width:76px;font-size:8px}.landing-page footer{grid-template-columns:1fr}.landing-page footer nav{flex-wrap:wrap;grid-area:auto/1}.stat-row{grid-template-columns:1fr}.result-actions,.final-cta>div{flex-direction:column}.game-screen{grid-template-rows:56px 1fr auto}.table-wrap{padding:4px}.felt-table{border-width:6px;border-radius:16px;min-height:610px}.player-meta{padding:4px}.player-meta strong{font-size:11px}.player-meta small{display:none}.avatar{width:28px;height:28px}.player-top{top:8px}.player-left{left:6px}.player-right{right:6px}.table-center{grid-template-columns:48px 1fr;inset:21% 2% 34%}.timer-ring{width:46px;height:46px}.timer-ring span{font-size:18px}.discard-river{gap:2px;padding:6px}.discard-river .mahjong-tile{--tile-w:26px}.player-bottom{width:calc(100% - 10px);bottom:5px}.self-meta{margin-bottom:0}.your-hand .mahjong-tile{--tile-w:41px}.your-melds .mahjong-tile{--tile-w:26px}.action{min-height:44px;padding:0 13px}.game-toast{text-align:center;max-width:90%;top:62px}.game-status span:nth-child(2){font-size:10px}}.about-page{background:var(--paper)}.about-hero{background:radial-gradient(circle at 82% 23%,#c8a96b40,#0000 25%),linear-gradient(#faf6ec,#f6efe1);grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);align-items:center;gap:7vw;min-height:720px;padding-top:76px;padding-bottom:96px;display:grid;overflow:hidden}.about-hero-copy{z-index:2;position:relative}.about-hero h1{color:var(--jade-950);margin:24px 0 28px;font-size:clamp(58px,7vw,100px);line-height:.94}.about-hero h1 em{color:var(--cinnabar);font-weight:inherit}.about-hero-copy>p{color:#56645c;max-width:620px;font-size:18px}.about-hero-actions{gap:12px;margin-top:32px;display:flex}.about-mark{aspect-ratio:1;place-items:center;width:min(580px,100%);margin:auto;display:grid;position:relative}.about-mark:before{content:"";aspect-ratio:1;background:radial-gradient(circle at 36% 28%,#23796a,#0a3f38 70%);border-radius:50%;width:68%;position:absolute;box-shadow:0 32px 80px #082f2a38,inset 0 0 0 1px #ffffff24}.about-mark-ring{border:1px solid #10504730;border-radius:50%;position:absolute}.about-mark-ring.ring-one{inset:3%}.about-mark-ring.ring-two{border-style:dashed;inset:13%}.about-mark-center{z-index:2;color:#fff;place-items:center;display:grid;position:relative}.about-mark-center>.brand-mark{filter:drop-shadow(0 18px 28px #0003)}.about-mark-center small{letter-spacing:.3em;margin-top:17px;font-size:9px;font-weight:850}.about-mark-tiles{z-index:3;align-items:end;gap:7px;display:flex;position:absolute;bottom:10%;left:50%;transform:translate(-50%)rotate(-3deg)}.about-hand-group{gap:2px;display:flex}.about-mark-tiles .mahjong-tile{--tile-w:30px}.about-mark-note{z-index:3;border:1px solid var(--line);min-width:245px;box-shadow:var(--shadow);background:#fffdf7f2;border-radius:14px;gap:3px;padding:17px 20px;display:grid;position:absolute;top:17%;right:-1%}.about-mark-note strong{color:var(--jade-900);font:18px var(--font-display),serif}.about-mark-note span{color:var(--muted);font-size:10px}.about-manifesto{background:var(--paper);padding-top:140px;padding-bottom:140px}.about-manifesto-label{color:var(--cinnabar);letter-spacing:.18em;grid-template-columns:auto 1fr;align-items:center;gap:22px;font-size:10px;font-weight:850;display:grid}.about-manifesto-label i{background:var(--line);height:1px}.about-manifesto-copy{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);align-items:end;gap:clamp(50px,8vw,130px);margin-top:56px;display:grid}.about-manifesto-copy h2{color:var(--jade-950)}.about-manifesto-copy p{color:var(--muted);margin:0 0 18px}.about-principles{background:#f2eadb;padding-top:125px;padding-bottom:135px}.principle-grid{background:#2028231f;border:1px solid #2028231f;grid-template-columns:repeat(3,1fr);gap:1px;max-width:1200px;margin:auto;display:grid}.principle-grid article{background:#faf6ec;flex-direction:column;min-height:340px;padding:36px;display:flex}.principle-grid article>div{color:var(--cinnabar);justify-content:space-between;align-items:center;display:flex}.principle-grid article>div>span{font:22px var(--font-display),serif}.principle-grid article svg{width:25px}.principle-grid h3{max-width:270px;color:var(--jade-950);font:34px/1.04 var(--font-display),serif;margin-top:auto}.principle-grid p{color:var(--muted);margin:18px 0 0;font-size:13px}.about-experience{color:#fff;background:radial-gradient(circle at 75% 30%,#17665a,#082f2a 58%);grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);align-items:center;gap:clamp(60px,9vw,150px);padding-top:130px;padding-bottom:130px;display:grid}.about-experience-copy h2{margin:18px 0 25px}.about-experience-copy>p{color:#ffffffad;max-width:630px}.about-experience-copy ul{gap:14px;margin:30px 0 0;padding:0;list-style:none;display:grid}.about-experience-copy li{color:#ffffffdb;align-items:center;gap:10px;font-size:13px;display:flex}.about-experience-copy li svg{color:#e7cf9a;width:16px}.experience-path{gap:16px;display:grid;position:relative}.experience-path:before{content:"";background:#e7cf9a52;width:1px;position:absolute;top:45px;bottom:45px;left:31px}.experience-path article{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff12;border:1px solid #ffffff24;border-radius:15px;grid-template-columns:64px 1fr;align-items:center;gap:20px;min-height:122px;padding:20px 25px 20px 0;display:grid;position:relative}.experience-path article>span{z-index:2;text-align:center;color:#e7cf9a;width:64px;font:22px var(--font-display),serif;position:relative}.experience-path article>div{gap:4px;display:grid}.experience-path small{color:#e7cf9a;letter-spacing:.18em;font-size:8px;font-weight:850}.experience-path strong{font:26px var(--font-display),serif}.experience-path p{color:#ffffff91;margin:0;font-size:11px}.about-identity{background:var(--paper);grid-template-columns:.8fr 1.2fr;align-items:center;gap:9vw;min-height:650px;padding-top:120px;padding-bottom:120px;display:grid}.identity-mark{background:radial-gradient(circle,#efe3cd 0 42%,#0000 43%),repeating-radial-gradient(circle,#0000 0 55px,#1050471a 56px 57px);border-radius:50%;place-items:center;min-height:360px;display:grid;position:relative}.identity-seal{filter:drop-shadow(0 14px 22px #082f2a26)}.identity-mark i{color:var(--jade-800);letter-spacing:.25em;font-size:9px;font-style:normal;font-weight:850;position:absolute;bottom:12%}.identity-copy h2{color:var(--jade-950);margin:18px 0 27px}.identity-copy p{max-width:650px;color:var(--muted)}.about-promise{text-align:center;color:#fff;background:#061f1c;padding-top:115px;padding-bottom:120px}.about-promise blockquote{max-width:1000px;font:clamp(40px,6vw,76px)/1.08 var(--font-display),serif;letter-spacing:-.035em;margin:28px auto 40px}.about-promise-actions{justify-content:center;gap:12px;display:flex}.about-footer{color:#ffffffb3;background:#041613;grid-template-columns:1fr auto;align-items:center;gap:20px;padding:55px clamp(22px,7vw,110px);display:grid}.about-footer .brand{color:#fff}.about-footer p{grid-row:2;margin:0;font-size:13px}.about-footer nav{grid-area:1/2/3;gap:25px;display:flex}.about-footer small{border-top:1px solid #ffffff1a;grid-column:1/-1;padding-top:20px}@media (width<=900px){.about-hero{grid-template-columns:1fr;min-height:0;padding-top:70px}.about-mark{width:min(570px,90vw)}.about-manifesto-copy,.about-experience,.about-identity{grid-template-columns:1fr}.about-manifesto-copy{align-items:start}.principle-grid{grid-template-columns:1fr}.principle-grid article{min-height:260px}.about-experience{gap:60px}.about-identity{gap:45px}}@media (width<=600px){.about-hero{padding-top:56px;padding-bottom:72px}.about-hero h1{font-size:52px}.about-hero-copy>p{font-size:16px}.about-hero-actions,.about-promise-actions{flex-direction:column}.about-mark{width:114%;margin-left:-7%}.about-mark-note{min-width:205px;padding:13px 15px;top:11%;right:4%}.about-mark-tiles{gap:4px;bottom:8%;left:50%;transform:translate(-50%)rotate(-2deg)}.about-hand-group{gap:1px}.about-mark-tiles .mahjong-tile{--tile-w:25px}.about-mark-center>.brand-mark{width:116px;height:116px}.about-manifesto,.about-principles,.about-experience,.about-identity{padding-top:85px;padding-bottom:85px}.about-manifesto-copy{grid-template-columns:1fr;gap:36px;margin-top:38px}.principle-grid article{min-height:275px;padding:30px}.experience-path article{grid-template-columns:54px 1fr;padding-right:14px}.experience-path article>span{width:54px}.experience-path:before{left:26px}.identity-mark{min-height:300px}.about-promise blockquote{font-size:43px}.about-footer{grid-template-columns:1fr}.about-footer nav{flex-wrap:wrap;grid-area:auto/1}}.mahjong-tile[role=img]{cursor:default}.mahjong-tile[role=img]:not(.is-selected):hover{transform:none}.mahjong-tile:is(button):not(:disabled):hover{transform:translateY(-8px)}.lesson-sidebar>*{z-index:1;position:relative}.lesson-sidebar-head{margin:0 10px 24px}.lesson-sidebar-head h2{margin:0 0 5px}.lesson-sidebar-head>span{color:#ffffffad;font-size:11px;font-weight:750}.mastery-bar,.lesson-progress-line{background:#ffffff21;border-radius:999px;height:5px;overflow:hidden}.mastery-bar{margin-top:12px}.mastery-bar i,.lesson-progress-line i{border-radius:inherit;background:#e7cf9a;height:100%;transition:width .28s;display:block}.lesson-habit-hud{border-top:1px solid #ffffff1f;border-bottom:1px solid #ffffff1f;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin:-8px 10px 5px;padding:10px 3px;display:grid}.lesson-habit-hud>span,.lesson-habit-hud>button{color:#e7cf9a;min-width:0;min-height:43px;font:inherit;background:0 0;border:0;border-radius:7px;grid-template-rows:auto auto;grid-template-columns:auto auto;place-content:center;gap:0 3px;margin:0;padding:2px;display:grid}.lesson-habit-hud>button{cursor:pointer;transition:background .18s}.lesson-habit-hud>button:hover:not(:disabled),.lesson-habit-hud>button:focus-visible{background:#ffffff1a;outline:none}.lesson-habit-hud>button:disabled{opacity:.48;cursor:default}.lesson-habit-hud svg{width:14px}.lesson-habit-hud b{color:#fff;font-size:10px}.lesson-habit-hud small{color:#ffffff8c;text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;margin-top:1px;font-size:7px;font-weight:750;line-height:1;overflow:hidden}.habit-nudge{color:#ffffff9e;text-align:center;min-height:30px;margin:0 10px 17px;font-size:10px;line-height:1.35}.habit-nudge.is-secured{color:#e7cf9a}.lesson-xp-award{color:#8b6210;background:#eee2ca;border-radius:999px;align-items:center;gap:5px;margin:9px auto 0;padding:7px 11px;font-size:11px;display:inline-flex}.lesson-xp-award svg{width:14px}.lesson-list button{grid-template-columns:30px minmax(0,1fr) auto;display:grid}.lesson-list button b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.lesson-list button small{color:#ffffff94;font-size:11px}.lesson-list button.is-complete>span{color:#f3dca7;background:#e7cf9a2e;border-color:#e7cf9a8c}.lesson-list button.is-complete>span svg{width:15px}.sidebar-promise{border-top:1px solid #ffffff1f;align-items:center;gap:9px;margin:26px 10px 0;padding-top:19px;display:flex}.sidebar-promise>svg{color:#e7cf9a;width:18px}.sidebar-promise span{display:grid}.sidebar-promise strong{font-size:11px}.sidebar-promise small{color:#ffffff94;margin-top:2px;font-size:11px}.reset-progress{color:#ffffff9e;cursor:pointer;background:0 0;border:0;margin:16px 10px 0;padding:0;font-size:12px;text-decoration:underline}.reset-progress:hover{color:#fff}.reset-confirm{background:#0000001f;border:1px solid #fff3;border-radius:10px;grid-template-columns:1fr 1fr;gap:8px;margin:14px 10px 0;padding:12px;display:grid}.reset-confirm>span{color:#ffffffd6;grid-column:1/-1;font-size:12px}.reset-confirm button{color:#fff;min-height:44px;font:inherit;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff3d;border-radius:8px;font-size:12px}.reset-confirm button:first-of-type{color:#f6e2b5;border-color:#e7cf9a}.lesson-stage{min-width:0}.lesson-progress-line{background:#1050471f;width:min(1000px,100%)}.lesson-progress-line i{background:var(--jade-700)}.lesson-stage-heading{max-width:760px;margin-top:34px}.lesson-stage-heading h1{outline:none}.lesson-stage-heading p{max-width:700px;color:var(--muted);margin:0 auto;font-size:16px}.interactive-tray{align-content:start;width:min(1000px,100%);min-height:350px;overflow:hidden}.tray-heading{text-align:center;max-width:720px;margin:28px auto 26px}.interactive-tray .tray-heading>span{font-size:11px}.tray-heading p{color:var(--muted);margin:0;font-size:13px;font-weight:500;line-height:1.55}.tutorial-choice-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;width:min(720px,100%);display:grid}.tutorial-choice-grid button{min-height:62px;color:var(--charcoal);cursor:pointer;background:#fff;border:1px solid #10504733;border-radius:10px;place-content:center;gap:3px;padding:11px 14px;display:grid}.tutorial-choice-grid button:hover:not(:disabled){border-color:var(--jade-700);background:#eef6f2}.tutorial-choice-grid button.is-chosen{border:2px solid var(--jade-700);box-shadow:0 0 0 3px #17665a1f}.tutorial-choice-grid button:disabled{opacity:1;cursor:default}.tutorial-choice-grid strong{font-size:13px}.tutorial-choice-grid small{color:var(--muted);font-size:12px;line-height:1.4}.learning-path-picker{background:#f5f1e6;border:1px solid #10504729;border-radius:12px;grid-template-columns:minmax(150px,1fr) repeat(3,auto);align-items:center;gap:8px;width:min(820px,100%);margin-bottom:18px;padding:12px;display:grid}.learning-path-picker>span{text-align:left;gap:2px;padding:0 7px;display:grid}.learning-path-picker strong{color:var(--jade-900);font-size:13px}.learning-path-picker small{color:var(--muted);font-size:12px}.learning-path-picker button{min-height:44px;color:var(--jade-900);font:inherit;cursor:pointer;background:#fff;border:1px solid #10504733;border-radius:9px;padding:8px 12px;font-size:12px;font-weight:750}.learning-path-picker button.active{border-color:var(--jade-700);background:var(--jade-900);color:#fff}.suit-primer{text-align:left;background:#edf5f1;border:1px solid #10504729;border-radius:14px;grid-template-columns:minmax(210px,.8fr) minmax(0,1.6fr);align-items:center;gap:22px;width:100%;padding:20px;display:grid}.suit-primer h2{color:var(--jade-900);margin:5px 0 7px;font-size:28px}.suit-primer p{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.suit-primer>div:last-child{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.suit-primer article{text-align:center;background:#ffffffb3;border:1px solid #10504721;border-radius:10px;place-items:center;gap:9px;min-width:0;padding:12px 8px;display:grid}.suit-primer article>span{gap:3px;display:grid}.suit-primer article strong{color:var(--jade-900);font-size:12px}.suit-primer article em{color:var(--jade-700);font-size:10px;font-style:normal;font-weight:750;line-height:1.3}.suit-primer article small{color:var(--muted);font-size:11px;line-height:1.35}.tile-reference{border-top:1px solid var(--line);text-align:left;width:100%;margin-top:26px}.tile-reference summary{min-height:48px;color:var(--jade-800);cursor:pointer;align-items:center;gap:8px;padding:0 4px;font-size:12px;font-weight:800;display:flex}.tile-reference summary svg{width:17px}.tile-reference summary small{color:var(--muted);margin-left:auto;font-size:11px;font-weight:600}.tile-reference>.tile-atlas{margin:12px 0 0}.honor-primer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:min(760px,100%);display:grid}.tutorial-tile-option{place-items:center;display:inline-grid;position:relative}.tutorial-tile-option.is-drawn{border-left:2px dashed #ae3e326b;margin-left:18px;padding-left:18px}.drawn-label{color:var(--cinnabar);letter-spacing:.1em;font-size:11px;font-weight:900;position:absolute;top:-22px}.tutorial-tile-option.is-hint:after{content:"TRY THIS";background:var(--cinnabar);color:#fff;letter-spacing:.08em;border-radius:4px;padding:3px 6px;font-size:10px;font-weight:900;animation:1.2s ease-in-out infinite tutorial-hint;position:absolute;bottom:-24px}@keyframes tutorial-hint{50%{transform:translateY(3px)}}.tutorial-hand{scrollbar-width:thin;justify-content:center;align-items:end;gap:3px;width:100%;min-height:92px;padding:26px 4px 18px;display:flex;overflow:auto hidden}.tutorial-hand .mahjong-tile{--tile-w:48px}.teaching-hand-layout{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;width:100%;min-width:0;display:grid}.teaching-hand-layout .tutorial-hand{justify-content:flex-start}.drawn-tile-slot{border-left:2px dashed #ae3e326b;place-items:end center;min-width:70px;min-height:104px;padding:27px 7px 12px 13px;display:grid;position:relative}.drawn-tile-slot.is-hint:after{content:"TRY THIS";background:var(--cinnabar);color:#fff;letter-spacing:.08em;border-radius:4px;padding:3px 6px;font-size:10px;font-weight:900;animation:1.2s ease-in-out infinite tutorial-hint;position:absolute;bottom:-16px}.lesson-feedback{text-align:left;background:#f5f7f3;border:1px solid #10504726;border-radius:12px;justify-content:flex-start;width:min(720px,100%);min-height:72px;margin:34px 0 0;padding:13px 16px;font-weight:500}.feedback-icon{width:34px;height:34px;color:var(--jade-800);background:#dbe8e2;border-radius:50%;flex:none;place-items:center;display:grid}.feedback-icon svg{width:17px}.lesson-feedback>span:last-child{gap:2px;display:grid}.lesson-feedback>span:last-child>strong{color:var(--charcoal);font-size:13px}.lesson-feedback>span:last-child>span{color:#53655c;font-size:12px;line-height:1.45}.lesson-feedback em{color:var(--jade-800);margin-top:4px;font-size:11px;font-style:normal;font-weight:800}.lesson-feedback small{color:var(--muted);margin-top:3px;font-size:11px}.lesson-feedback.feedback-success{background:#e9f4ee;border-color:#17665a59}.lesson-feedback.feedback-success .feedback-icon{background:var(--jade-700);color:#fff}.lesson-feedback.feedback-info{background:#edf5fb;border-color:#275b8b4d}.lesson-feedback.feedback-info .feedback-icon{color:#fff;background:#315f82}.lesson-feedback.feedback-error{background:#fff2ed;border-color:#ae3e325c}.lesson-feedback.feedback-error .feedback-icon{background:var(--cinnabar);color:#fff}.lesson-feedback .feedback-review-note{color:var(--jade-800);font-weight:800}.lesson-coach-rail{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(720px,100%);margin-top:28px;display:grid}.lesson-coach-rail article{background:#faf8f1;border:1px solid #10504724;border-radius:10px;align-content:start;gap:7px;min-width:0;min-height:88px;padding:11px 12px;transition:border-color .18s,background .18s,transform .18s;display:grid}.lesson-coach-rail article.is-current{background:#eaf3ef;border-color:#17665a61;transform:translateY(-2px)}.lesson-coach-rail article>span{color:var(--jade-800);align-items:center;gap:6px;display:flex}.lesson-coach-rail article svg{width:15px;height:15px}.lesson-coach-rail article b{letter-spacing:.04em;font-size:10px}.lesson-coach-rail article p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.lesson-coach-rail+#tutorial-feedback .lesson-feedback{margin-top:12px}.focus-recovery,.lesson-review-banner{text-align:left;background:#fff4e8;border:1px solid #ae3e323d;border-radius:11px;align-items:center;gap:11px;width:100%;margin-bottom:15px;padding:12px 14px;display:flex}.focus-recovery>svg,.lesson-review-banner>svg{width:20px;color:var(--cinnabar);flex:none}.focus-recovery>span,.lesson-review-banner>span{gap:2px;min-width:0;display:grid}.focus-recovery strong,.lesson-review-banner strong{color:var(--jade-950);font-size:12px}.focus-recovery small,.lesson-review-banner small{color:var(--muted);font-size:11px;line-height:1.4}.focus-recovery button{border:1px solid var(--jade-700);background:var(--jade-900);color:#fff;min-height:38px;font:inherit;cursor:pointer;border-radius:8px;flex:none;padding:0 13px;font-size:11px;font-weight:800}.lesson-review-banner{background:#eaf3ef;border-color:#17665a3d}.lesson-review-banner>svg{color:var(--jade-700)}.culture-note,.lesson-rule-card,.guided-banner{text-align:left;background:#fff8e7;border:1px solid #c8a96b73;border-radius:12px;align-items:center;gap:13px;width:min(720px,100%);padding:14px 17px;display:flex}.culture-note>svg,.lesson-rule-card>svg,.guided-banner>svg{color:var(--cinnabar);flex:none}.culture-note span,.lesson-rule-card span,.guided-banner span{gap:3px;display:grid}.culture-note strong,.lesson-rule-card strong,.guided-banner strong{font-size:12px}.culture-note p,.lesson-rule-card p{color:var(--muted);margin:0;font-size:11px}.guided-banner{background:#eaf3ef;border-color:#17665a40}.guided-banner>svg{color:var(--jade-700)}.guided-banner small{color:var(--muted);font-size:12px}.guided-practice-heading{background:var(--jade-900);color:#fff;text-align:left;border-radius:11px;align-items:center;gap:11px;width:100%;margin-bottom:10px;padding:15px 17px;display:flex}.guided-practice-heading>svg{color:#e7cf9a;width:20px}.guided-practice-heading>span{gap:2px;display:grid}.guided-practice-heading small{color:#e7cf9a;letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:850}.guided-practice-heading strong{font:24px var(--font-display),serif}.guided-round-intro{text-align:left;background:#f6f1e5;border:1px solid #10504729;border-radius:11px;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:13px 16px;display:flex}.guided-round-intro>span{gap:2px;display:grid}.guided-round-intro strong{color:var(--jade-900);font-size:13px}.guided-round-intro small{color:var(--muted);font-size:12px;line-height:1.4}.guided-round-intro>b{color:var(--cinnabar);letter-spacing:.05em;text-transform:uppercase;flex:none;font-size:11px}.guided-decision-progress{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;width:100%;display:grid}.guided-decision-progress>span{min-width:0;color:var(--muted);background:#ffffff9e;border:1px solid #10504726;border-radius:8px;place-items:center;gap:4px;padding:8px 4px;display:grid}.guided-decision-progress b{color:#52615a;background:#e3e4dc;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;display:grid}.guided-decision-progress b svg{width:13px}.guided-decision-progress small{text-overflow:ellipsis;max-width:100%;color:inherit;white-space:nowrap;font-size:11px;font-weight:750;overflow:hidden}.guided-decision-progress .is-current{border-color:var(--jade-700);color:var(--jade-900);box-shadow:inset 0 -3px 0 var(--jade-700);background:#e8f2ed}.guided-decision-progress .is-current b{background:var(--jade-700);color:#fff}.guided-decision-progress .is-complete{color:var(--jade-800)}.guided-decision-progress .is-complete b{color:var(--jade-800);background:#d5e8df}.guided-round-board{color:#fff;text-align:left;background:radial-gradient(circle at 50% 40%,#26786a,#0d5047 72%);border:8px solid #5a3d2d;border-radius:22px;gap:12px;width:100%;padding:16px;display:grid;box-shadow:inset 0 0 38px #0000002b}.guided-round-board .mahjong-tile{--tile-w:39px}.guided-opponents{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.guided-opponents article{background:#0426216b;border:1px solid #ffffff24;border-radius:9px;justify-content:space-between;align-items:center;gap:8px;min-width:0;padding:9px 10px;display:flex}.guided-opponents article>span{min-width:0;display:grid}.guided-opponents strong{font-size:12px}.guided-opponents small{color:#ffffffa6;text-overflow:ellipsis;text-transform:capitalize;white-space:nowrap;font-size:11px;overflow:hidden}.guided-opponents b{color:#f1d9a0;flex:none;font-size:10px}.guided-table-center{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.guided-table-center>span{text-align:center;background:#0000001f;border:1px solid #ffffff1f;border-radius:8px;place-items:center;padding:8px;display:grid}.guided-table-center small{color:#efd9a5;letter-spacing:.06em;font-size:10px;font-weight:800}.guided-table-center strong{margin-top:2px;font-size:12px}.guided-rivers{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.guided-rivers article{border:1px dashed #ffffff2e;border-radius:8px;min-width:0;min-height:72px;padding:7px}.guided-rivers article>small{color:#ffffffa8;margin-bottom:5px;font-size:11px;display:block}.guided-rivers article>div{gap:2px;min-width:0;padding:2px;display:flex;overflow-x:auto}.guided-rivers article>div>span:not(.mahjong-tile){color:#ffffff73}.guided-active-discard{background:#0000002e;border:1px solid #efd9a566;border-radius:10px;justify-self:center;align-items:center;gap:14px;padding:10px 14px;display:flex}.guided-active-discard>span{display:grid}.guided-active-discard small{color:#efd9a5;letter-spacing:.06em;font-size:10px;font-weight:800}.guided-active-discard strong{font-size:12px}.guided-active-discard .mahjong-tile{--tile-w:52px}.guided-learner-state{background:#0426218f;border:1px solid #efd9a570;border-radius:12px;min-width:0;padding:13px}.guided-learner-state>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.guided-learner-state>header>span{display:grid}.guided-learner-state>header strong{font-size:13px}.guided-learner-state>header small{color:#ffffffad;font-size:11px}.guided-learner-state>header>b{color:#efd9a5;letter-spacing:.08em;font-size:10px}.guided-melds{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.guided-melds article{background:#ffffff0f;border:1px solid #ffffff21;border-radius:8px;padding:7px}.guided-melds article>small{color:#efd9a5;text-transform:capitalize;margin-bottom:5px;font-size:11px;display:block}.guided-learner-state .teaching-hand-layout{margin-top:2px}.guided-learner-state .tutorial-hand{min-height:80px;padding-top:20px;padding-bottom:13px}.guided-learner-state .tutorial-hand .mahjong-tile{--tile-w:45px}.guided-learner-state .drawn-tile-slot{min-height:91px}.guided-event-log{background:#00000024;border-radius:9px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0;padding:10px;list-style:none;display:grid}.guided-event-log li{color:#ffffffc2;align-items:center;gap:6px;min-width:0;font-size:11px;display:flex}.guided-event-log li b{color:#efd9a5;background:#efd9a52e;border-radius:50%;flex:none;place-items:center;width:21px;height:21px;display:grid}.guided-event-log li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.guided-discard-note{width:min(720px,100%);color:var(--muted);text-align:center;margin:0;font-size:12px;line-height:1.5}.guided-next-ready{width:min(720px,100%);min-height:58px;color:var(--jade-900);text-align:left;background:#eef6f1;border:1px solid #10504738;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:12px 16px;display:flex}.guided-next-ready>svg{width:20px;height:20px;color:var(--jade-700);flex:none}.guided-next-ready>span{gap:2px;display:grid}.guided-next-ready strong{font-size:13px}.guided-next-ready small{color:var(--muted);font-size:12px;line-height:1.45}.guided-win-confirmation{width:min(720px,100%);color:var(--jade-900);text-align:left;background:#e8f4ed;border:1px solid #10504747;border-radius:12px;justify-content:center;align-items:center;gap:12px;padding:16px 18px;display:flex}.guided-win-confirmation>svg{color:#a77516;flex:none}.guided-win-confirmation>span{gap:2px;display:grid}.guided-win-confirmation strong{font-size:14px}.guided-win-confirmation small{color:var(--muted);font-size:12px}.seat-map{color:#fff;background:radial-gradient(circle,#287e6e,#105047 72%);border:9px solid #5c4030;border-radius:34px;width:min(470px,100%);height:310px;margin:3px auto 0;position:relative;box-shadow:inset 0 0 42px #0000002e}.seat-map .seat{color:#fff;text-align:center;background:#052520c7;border-color:#ffffff29;place-items:center;gap:1px;width:138px;min-height:52px;padding:8px 11px;display:grid;position:absolute}.seat-map .seat strong{font-size:11px}.seat-map .seat small{color:#ffffffb3;font-size:11px}.seat-map .seat-top{top:10px;left:50%;transform:translate(-50%)}.seat-map .seat-bottom{border-color:#e7cf9a;bottom:10px;left:50%;transform:translate(-50%)}.seat-map .seat-left{top:50%;left:10px;transform:translateY(-50%)}.seat-map .seat-right{top:50%;right:10px;transform:translateY(-50%)}.seat-map-center{text-align:center;background:#00000024;border:1px solid #ffffff40;border-radius:12px;place-content:center;gap:5px;width:154px;min-height:82px;padding:10px;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.seat-map-center b{color:#f0dba9;letter-spacing:.1em;font-size:10px}.seat-map-center small{color:#ffffffc2;font-size:11px;line-height:1.35}.turn-arrow{display:none}.arrow-one{bottom:27%;left:28%;transform:rotate(40deg)}.arrow-two{bottom:27%;right:28%;transform:rotate(-40deg)}.arrow-three{top:27%;right:28%;transform:rotate(-140deg)}.arrow-four{top:27%;left:28%;transform:rotate(140deg)}.turn-rhythm{background:#edf5f1;border:1px solid #1050472e;border-radius:13px;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:12px;width:min(570px,100%);margin:5px auto;padding:16px;display:grid}.turn-rhythm>span{display:grid}.turn-rhythm strong{font:30px var(--font-display),serif;color:var(--jade-800)}.turn-rhythm small{color:var(--muted);font-size:12px}.turn-rhythm>svg{width:18px;color:var(--cinnabar)}.static-tile-set{justify-content:center;align-items:center;gap:3px;display:flex}.meld-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.meld-gallery article{border:1px solid var(--line);background:#f9f6ed;border-radius:11px;gap:10px;min-width:0;padding:14px;display:grid}.meld-gallery article>span{justify-content:space-between;align-items:baseline;display:flex}.meld-gallery b{color:var(--jade-900);font-size:12px}.meld-gallery small{color:var(--cinnabar);text-transform:uppercase;font-size:11px;font-weight:850}.meld-gallery p{color:var(--muted);margin:0;font-size:12px;line-height:1.4}.single-meld-demo{background:#edf5f1;border-radius:12px;gap:12px;padding:18px 26px;display:grid}.single-meld-demo>span{color:var(--muted);font-size:11px}.claim-scene{background:#eff5f0;border:1px solid #1050472e;border-radius:14px;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;width:min(720px,100%);padding:20px;display:grid}.claim-context{grid-column:1/-1;justify-content:center;align-items:center;gap:13px;display:flex}.claim-context>span{background:var(--jade-900);color:#fff;border-radius:8px;min-width:120px;padding:8px 11px;display:grid}.claim-context small,.claim-discard>small,.claim-hand>small{color:var(--muted);letter-spacing:.06em;font-size:11px;font-weight:850}.claim-context small{color:#ffffff94}.claim-context strong{font-size:11px}.claim-discard,.claim-hand{place-content:center;gap:10px;min-height:100px;display:grid}.claim-discard{border-right:1px dashed #10504740;padding-right:15px}.claim-scene>p{color:var(--muted);grid-column:1/-1;margin:0;font-size:11px}.priority-ladder{grid-template-columns:auto repeat(3,1fr);align-items:center;gap:7px;width:min(570px,100%);margin-top:12px;display:grid}.priority-ladder>strong{color:var(--jade-900);font-size:11px}.priority-ladder span{background:#fff;border:1px solid #10504729;border-radius:8px;justify-content:center;align-items:center;gap:5px;min-height:44px;padding:6px;font-size:12px;display:flex}.priority-ladder b{background:var(--jade-700);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.winning-structure{grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;width:100%;padding:3px 0 12px;display:grid;overflow-x:auto}.winning-structure article{border:1px solid var(--line);background:#faf6ea;border-radius:10px;align-content:start;gap:9px;min-width:120px;padding:11px 8px;display:grid}.winning-structure article>strong{color:var(--jade-900);font-size:11px}.winning-structure article>small{color:var(--muted);font-size:11px;line-height:1.4}.win-methods{grid-template-columns:1fr 1fr;gap:12px;width:min(620px,100%);display:grid}.win-methods article{border:1px solid var(--line);background:#f9f6ed;border-radius:12px;gap:5px;padding:20px;display:grid}.win-methods strong{color:var(--jade-900)}.win-methods span{color:var(--muted);font-size:11px}.win-methods b{color:var(--cinnabar);margin-top:8px;font-size:11px}.scoring-context{text-align:left;background:#fff4eb;border:1px solid #ae3e3233;border-radius:10px;width:min(620px,100%);padding:12px 15px}.scoring-context span{color:var(--cinnabar);letter-spacing:.08em;font-size:11px;font-weight:850}.scoring-context p{color:var(--muted);margin:4px 0 0;font-size:12px}.guided-win-tile{place-items:center;gap:8px;margin:15px 0 5px;display:grid}.guided-win-tile>span{color:var(--cinnabar);letter-spacing:.12em;text-transform:uppercase;font-size:9px;font-weight:850}.mastery-summary{background:#fffdf7;border:1px solid #17665a3b;border-radius:18px;width:min(720px,100%);margin:36px 0;padding:36px;box-shadow:0 18px 45px #082f2a14}.mastery-summary .mastery-icon{background:var(--jade-100);width:58px;height:58px;color:var(--jade-800);border-radius:50%;place-items:center;margin:0 auto 17px;display:grid}.mastery-summary h2{margin:9px 0;font-size:34px}.mastery-summary p{color:var(--muted);font-size:13px}.mastery-summary ul{text-align:left;grid-template-columns:1fr 1fr;gap:8px;width:min(480px,100%);margin:22px auto;padding:0;list-style:none;display:grid}.mastery-summary li{color:#46564e;align-items:center;gap:7px;font-size:11px;display:flex}.mastery-summary li svg{width:15px;color:var(--jade-700)}.mistake-review-complete{width:min(520px,100%);color:var(--jade-900);text-align:left;background:#eaf3ef;border-radius:10px;align-items:center;gap:10px;margin:17px auto 0;padding:12px 14px;display:flex}.mistake-review-complete>svg{width:19px;color:var(--jade-700);flex:none}.mistake-review-complete>span{gap:2px;display:grid}.mistake-review-complete strong{font-size:12px}.mistake-review-complete small{color:var(--muted);font-size:11px}.confidence-card{background:var(--jade-900);color:#fff;text-align:left;border-radius:11px;align-items:center;gap:12px;margin-top:24px;padding:14px 17px;display:flex}.confidence-card>svg{color:#e7cf9a}.confidence-card span{gap:3px;display:grid}.confidence-card small{color:#ffffffb3;font-size:12px}.tutorial-glossary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;width:min(1000px,100%);margin-top:38px}.tutorial-glossary summary{min-height:52px;color:var(--jade-800);cursor:pointer;align-items:center;gap:8px;padding:0 4px;font-size:11px;font-weight:800;display:flex}.tutorial-glossary summary svg{width:16px}.tutorial-glossary>div{grid-template-columns:repeat(4,1fr);gap:10px;padding:0 0 18px;display:grid}.tutorial-glossary article{background:#fff9;border-radius:9px;padding:13px}.tutorial-glossary article strong,.tutorial-glossary article small{display:block}.tutorial-glossary article strong{color:var(--jade-900);font-size:11px}.tutorial-glossary article small{color:var(--cinnabar);font-size:11px}.tutorial-glossary article p{color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.45}.skip-lesson{min-height:44px;padding:8px 2px}.lesson-shell .tile-label{width:90px;font-size:11px;line-height:1.15}.tray-tiles .tutorial-tile-option{min-width:112px;padding-bottom:22px}.tray-tiles .tile-label{white-space:nowrap;width:max-content;font-size:10px;left:50%;transform:translate(-50%)}.tile-atlas .atlas-row{padding-bottom:32px}.tile-atlas .atlas-scroll-note{color:#ffffff9e;margin:12px 0 0;font-size:11px;display:none}@media (width<=900px){.lesson-shell{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%;overflow:hidden}.lesson-sidebar{padding:14px 18px 12px}.lesson-sidebar:after{display:none}.lesson-sidebar .lesson-sidebar-head{grid-template-columns:1fr auto;align-items:center;gap:5px 14px;margin:0 0 11px;display:grid}.lesson-sidebar .lesson-sidebar-head h2{margin:0;font-size:20px;display:block}.lesson-sidebar-head .mastery-bar{grid-column:1/-1;margin:2px 0 0}.lesson-habit-hud{margin:0 0 7px}.habit-nudge{margin:0 0 10px}.lesson-list{scroll-snap-type:x proximity;gap:7px;padding-bottom:5px;display:flex;overflow-x:auto}.lesson-list button{column-gap:8px;justify-content:initial;min-width:142px;min-height:50px;font-size:initial;scroll-snap-align:start;grid-template-rows:1fr 1fr;grid-template-columns:28px minmax(0,1fr);padding:0 10px}.lesson-list button>span{grid-row:1/3;font-size:11px}.lesson-list button b{align-self:end;font-size:11px}.lesson-list button small{align-self:start;font-size:10px}.sidebar-promise{display:none}.reset-progress{color:#ffffffbf;min-height:44px;margin:8px 0 0}.reset-confirm{grid-template-columns:repeat(2,minmax(120px,1fr));margin:8px 0 0}.lesson-stage{width:100%;min-width:0;max-width:100%;padding-top:28px}.lesson-stage-heading{width:100%;min-width:0;max-width:100%;margin-top:27px}.lesson-stage h1{margin-top:11px}.interactive-tray{width:100%;min-width:0;max-width:100%;padding:28px 24px}.tile-atlas,.atlas-groups,.atlas-group,.atlas-row{min-width:0;max-width:100%}.tile-atlas,.atlas-group,.atlas-row{width:100%}.tutorial-glossary>div{grid-template-columns:repeat(2,1fr)}.winning-structure{grid-template-columns:repeat(5,150px)}.tile-atlas .atlas-scroll-note{display:block}.guided-event-log{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.lesson-stage{padding:24px 14px 65px}.lesson-stage-heading{margin-top:23px}.lesson-stage h1{font-size:39px}.lesson-stage-heading p{font-size:14px}.interactive-tray{border-radius:14px;width:100%;min-height:340px;margin-top:27px;padding:24px 13px}.tray-heading{margin:25px auto 22px}.tray-heading strong{font-size:23px}.tutorial-choice-grid{grid-template-columns:1fr}.tutorial-choice-grid button{min-height:56px}.lesson-coach-rail{grid-template-columns:1fr;gap:6px}.lesson-coach-rail article{min-height:0}.learning-path-picker{grid-template-columns:1fr;padding:10px}.learning-path-picker>span{padding:3px 4px 7px}.learning-path-picker button{width:100%}.suit-primer{grid-template-columns:1fr;gap:16px;padding:16px}.suit-primer>div:last-child{gap:6px}.suit-primer article{padding:9px 4px}.suit-primer article .mahjong-tile{--tile-w:46px}.suit-primer article small{font-size:11px}.honor-primer{grid-template-columns:1fr}.honor-primer .static-tile-set{order:-1}.guided-round-intro{flex-direction:column;align-items:flex-start;gap:7px}.focus-recovery{flex-wrap:wrap;align-items:flex-start}.focus-recovery button{width:100%}.guided-decision-progress{grid-template-columns:repeat(3,minmax(0,1fr))}.guided-round-board{border-width:6px;border-radius:17px;gap:9px;padding:10px}.guided-opponents{gap:4px}.guided-opponents article{flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;min-height:52px;padding:6px}.guided-opponents b{display:none}.guided-opponents small{max-width:100%;font-size:10px}.guided-table-center{gap:4px}.guided-table-center>span{padding:6px 3px}.guided-table-center small{letter-spacing:.03em;font-size:9px}.guided-table-center strong{font-size:11px}.guided-rivers{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.guided-rivers article{min-height:56px;padding:5px}.guided-rivers article>small{font-size:10px}.guided-active-discard{padding:8px 10px}.guided-learner-state{padding:9px}.guided-learner-state .tutorial-hand .mahjong-tile{--tile-w:43px}.guided-melds{flex-wrap:nowrap;overflow-x:auto}.guided-melds article{flex:none}.guided-event-log{grid-template-columns:1fr;padding:8px}.tutorial-hand{justify-content:flex-start;padding-left:4px}.tutorial-hand .mahjong-tile{--tile-w:52px}.teaching-hand-layout{gap:7px}.teaching-hand-layout .tutorial-hand .mahjong-tile{--tile-w:47px}.drawn-tile-slot{min-width:61px;padding-left:9px;padding-right:2px}.drawn-tile-slot .mahjong-tile{--tile-w:52px}.tutorial-tile-option.is-drawn{margin-left:12px;padding-left:13px}.lesson-feedback{margin-top:30px;padding:12px}.lesson-shell .tile-label{width:76px;font-size:11px}.tray-tiles{scroll-snap-type:x proximity;flex-wrap:nowrap;justify-content:flex-start;width:100%;padding:4px 8px 30px;overflow-x:auto}.tray-tiles .tutorial-tile-option{scroll-snap-align:center;min-width:104px}.tray-tiles .tile-label{width:max-content;font-size:10px}.seat-map{border-width:7px;border-radius:25px;height:300px}.seat-map .seat{width:106px;padding:7px}.seat-map .seat-top{top:8px}.seat-map .seat-bottom{bottom:8px}.seat-map .seat-left{left:6px}.seat-map .seat-right{right:6px}.seat-map-center{width:132px;min-height:76px}.arrow-one,.arrow-four{left:26%}.arrow-two,.arrow-three{right:26%}.turn-rhythm{gap:6px;padding:12px 8px}.turn-rhythm strong{font-size:26px}.turn-rhythm>svg{width:15px}.meld-gallery{grid-template-columns:1fr}.claim-scene{grid-template-columns:1fr 1fr;gap:10px;padding:15px 10px}.claim-context{gap:8px}.claim-context>span{min-width:0}.claim-discard{padding-right:8px}.priority-ladder{grid-template-columns:1fr}.priority-ladder>strong{margin-bottom:2px}.priority-ladder span{justify-content:flex-start;padding-left:12px}.winning-structure{gap:8px;padding-bottom:15px;display:flex}.winning-structure article{flex:0 0 154px}.win-methods{grid-template-columns:1fr}.mastery-summary{margin-top:28px;padding:27px 18px}.mastery-summary h2{font-size:29px}.mastery-summary ul{grid-template-columns:1fr}.lesson-controls{flex-wrap:wrap;justify-content:center}.lesson-controls .button{min-height:46px}.tutorial-glossary>div{grid-template-columns:1fr}.tile-atlas{width:100%}.tile-atlas .atlas-row{gap:5px;width:100%;max-width:100%;padding-bottom:34px}.tile-atlas .atlas-row .mahjong-tile{margin-right:24px}.tile-atlas .atlas-row .mahjong-tile:last-child{margin-right:13px}}@media (width<=900px){.game-screen{grid-template-rows:56px minmax(0,1fr) auto;height:100dvh;min-height:100dvh}.table-wrap{min-height:0}.felt-table{height:100%;min-height:0;max-height:none}.player-bottom{width:calc(100% - 24px)}.your-hand{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;justify-content:flex-start;padding:11px 4px 14px;overflow-x:auto}.your-hand>div{scroll-snap-align:center}.your-hand .mahjong-tile{--tile-w:46px}.opponent-hand .mahjong-tile:nth-child(n+9){display:none}.concealed-count{display:grid}.action-dock{padding:7px 10px calc(7px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"tip reaction""actions actions";gap:5px 8px}.tip{grid-area:tip;min-width:0;display:flex}.tip-off{visibility:hidden}.table-info-menu{grid-area:reaction;display:block}.table-info-popover{width:min(390px,100vw - 20px);right:10px;bottom:calc(104px + env(safe-area-inset-bottom));max-height:calc(100dvh - 165px);position:fixed}.game-actions{scrollbar-width:none;grid-area:actions;justify-content:flex-start;width:100%;padding:2px 1px;overflow-x:auto}.game-actions .action{flex:none}.game-topbar{padding:0 10px}.game-status span:first-child{display:none}}@media (width<=600px){.game-screen{grid-template-rows:52px minmax(0,1fr) auto}.game-topbar{min-width:0;padding:0 10px}.game-topbar>div{gap:7px;min-width:0}.round-chip{display:none}.game-topbar strong{white-space:nowrap;font-size:11px}.game-status span:nth-child(2){white-space:nowrap;font-size:9px;display:inline-flex}.game-status .icon-button{width:44px;height:44px}.table-wrap{min-height:0;padding:3px}.felt-table{border-width:5px;border-radius:15px;height:100%;min-height:0;max-height:none}.felt-table:after{border-radius:10px;inset:7px}.player-top{top:5px}.player-left,.player-right{top:30%}.player-left{left:5px}.player-right{right:5px}.player-meta{margin-bottom:3px}.turn-badge{padding:2px 5px;font-size:7px}.table-center{display:block;inset:20% 3% 31%}.timer-ring{z-index:35;width:40px;height:40px;position:fixed;top:6px;left:50%;transform:translate(-50%)}.timer-ring:before{background:#0b3f37;inset:4px}.timer-ring span{font-size:16px}.timer-ring small{display:none}.discard-river{align-content:center;width:100%;height:100%;min-height:0;padding:8px}.discard-river .mahjong-tile{--tile-w:27px}.discard-slot>small{width:11px;height:11px;font-size:6px}.player-bottom{width:calc(100% - 8px);bottom:2px}.self-meta{margin:0 3px}.your-hand{min-height:63px;padding:8px 3px 10px}.your-hand .mahjong-tile{--tile-w:44px}.hand-scroll-hint{color:#ffffff8c;text-align:right;margin:-7px 5px 0;font-size:8px;display:block}.action-dock{min-height:98px}.tip{font-size:9px;line-height:1.25}.tip>svg{flex:none;width:17px}.tip span{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.tip strong{margin-right:5px}.action{min-height:44px;padding:0 12px;font-size:11px}.table-info-trigger{min-height:44px;padding:4px 9px}.table-info-trigger>svg{width:17px}.table-info-trigger strong{font-size:9px}.table-info-trigger small{font-size:7px}.table-info-popover{width:calc(100vw - 12px);right:6px;bottom:calc(104px + env(safe-area-inset-bottom));max-height:calc(100dvh - 158px)}.table-info-section{padding:13px}.table-info-history{gap:5px}.game-toast{text-align:left;max-width:210px;padding:8px 10px;font-size:10px;top:58px;left:auto;right:7px}}@media (height<=650px) and (width<=600px){.game-screen{grid-template-rows:48px minmax(0,1fr) auto}.player-top .opponent-hand,.player-left .opponent-hand,.player-right .opponent-hand{transform-origin:top;transform:scale(.72)}.player-left .opponent-hand{transform-origin:0 0}.player-right .opponent-hand{transform-origin:100% 0}.player-meta{transform-origin:0;transform:scale(.84)}.player-right .player-meta{transform-origin:100%}.table-center{inset:20% 3% 31%}.player-bottom{bottom:0}.self-meta{height:30px}.your-hand{min-height:59px;padding-top:4px;padding-bottom:4px}.your-hand .mahjong-tile{--tile-w:44px}.hand-scroll-hint{display:none}.action-dock{min-height:96px}}@media (width<=600px){.audio-control-popover{width:calc(100vw - 12px);max-height:calc(100dvh - 66px);position:fixed;right:6px}.site-header .audio-control-popover{top:68px}.game-topbar .audio-control-popover{top:54px}.settings-panel{padding:22px 17px}.settings-group{margin-left:-5px;margin-right:-5px;padding-left:10px;padding-right:10px}.tile-style-options{grid-template-columns:1fr}.tile-style-option,.practice-tile-style-control .tile-style-option{grid-template-rows:1fr;grid-template-columns:132px minmax(0,1fr);min-height:126px}.tile-style-preview{min-height:126px}.tile-style-option-copy{align-content:center;padding:16px}.tile-style-note{margin-left:-10px;margin-right:-10px}.music-track-options{grid-template-columns:1fr}.music-track-option label{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;min-height:104px}.music-track-selected{opacity:0;grid-area:1/3;align-self:start;font-size:0}.music-track-option input:checked+label .music-track-selected{opacity:1}.music-track-copy small{font-size:9px}.music-track-preview-row{flex-direction:column;align-items:flex-start}.music-preview-button{justify-content:center;width:100%}.music-preview-button>span{display:none}.music-preview-status{min-width:0}.audio-setting-row .volume-control{grid-template-columns:1fr 42px;gap:5px 10px}.audio-setting-row .volume-control>span{grid-column:1/-1}.audio-setting-row .volume-control input{grid-column:1}.audio-setting-row .volume-control output{grid-column:2}.audio-master-option,.audio-option{min-height:66px}}.game-screen{--table-hand-tile:clamp(54px,3.45vw,60px);--table-river-tile:clamp(35px,2.3vw,40px);--table-opponent-tile:clamp(33px,2.05vw,36px);--table-meld-tile:clamp(34px,2.15vw,38px);--table-history-tile:32px}.game-screen .mahjong-tile{height:calc(var(--tile-w) * 1.42)}.game-screen .your-hand{gap:4px}.game-screen .your-hand .mahjong-tile{--tile-w:var(--table-hand-tile)}.game-screen .discard-river{gap:5px}.game-screen .discard-river .mahjong-tile{--tile-w:var(--table-river-tile)}.game-screen .opponent-hand{gap:3px}.game-screen .opponent-hand .mahjong-tile{--tile-w:var(--table-opponent-tile)}.game-screen .mini-melds,.game-screen .your-melds{gap:3px}.game-screen .mini-melds .mahjong-tile,.game-screen .your-melds .mahjong-tile{--tile-w:var(--table-meld-tile)}.game-screen .table-info-history-item{min-height:56px}.game-screen .table-info-history-item .mahjong-tile{--tile-w:var(--table-history-tile)}.game-screen .player-bottom{flex-direction:column;width:min(980px,100% - 24px);display:flex}.game-screen .player-bottom .self-meta{order:1}.game-screen .player-bottom .your-melds{order:2}.game-screen .player-bottom .table-discard-control{order:3}.game-screen .player-bottom .your-hand{order:4}.game-screen .player-bottom .hand-scroll-hint{order:5}.game-screen .player-left .opponent-hand,.game-screen .player-right .opponent-hand{max-width:118px}.game-screen .player-left .mini-melds,.game-screen .player-right .mini-melds{flex-wrap:wrap;max-width:164px}.game-screen .player-right .mini-melds{justify-content:flex-end}.game-screen .your-melds{overscroll-behavior-x:contain;scrollbar-width:thin;max-width:100%;overflow-x:auto}.table-discard-control{z-index:7;background:linear-gradient(145deg,#042520f7,#07342df5);border:2px solid #f4ead561;border-radius:17px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;width:min(370px,100% - 16px);min-height:64px;margin:8px auto 10px;padding:7px 8px 7px 17px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:grid;position:relative;box-shadow:0 14px 34px #00000052,inset 0 1px #ffffff14}.table-discard-copy{gap:2px;min-width:0;line-height:1.15;display:grid}.table-discard-copy strong{color:#f8ecd4;letter-spacing:.02em;font-size:13px}.table-discard-copy small{color:#ffffffad;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.table-discard-button{color:#294a43;min-width:138px;min-height:50px;font:900 14px/1 var(--font-body),sans-serif;letter-spacing:.02em;cursor:pointer;background:#ded8c9;border:1px solid #f8ecd4bf;border-radius:12px;justify-content:center;align-items:center;gap:9px;padding:0 18px;transition:transform .15s,background-color .15s,box-shadow .15s;display:inline-flex;box-shadow:inset 0 1px #fff9}.table-discard-button:disabled{opacity:1;cursor:not-allowed}.table-discard-control.is-ready{background:linear-gradient(145deg,#052d26fc,#094339fa);border-color:#f0c85f;box-shadow:0 0 0 4px #f0c85f2e,0 16px 38px #0000005c,inset 0 1px #ffffff1a}.table-discard-control.is-ready .table-discard-copy small{color:#f5d77f}.table-discard-control.is-ready .table-discard-button{color:#113a32;background:#f4cf70;border-color:#f8dda0;box-shadow:0 7px 18px #00000047,inset 0 1px #fff9}.table-discard-control.is-ready .table-discard-button:hover{transform:translateY(-1px)}.table-discard-control.is-busy .table-discard-button{background:#eadcae}.table-discard-button:focus-visible{outline-offset:3px;outline:3px solid #fff}.game-screen .felt-table.has-discard-control .table-center{bottom:36%}@media (width<=900px){.game-screen{--table-hand-tile:50px;--table-river-tile:34px;--table-opponent-tile:32px;--table-meld-tile:30px;--table-history-tile:30px}.game-screen .player-bottom{width:calc(100% - 24px)}.game-screen .player-left .opponent-hand,.game-screen .player-right .opponent-hand{max-width:102px}.game-screen .player-left .mini-melds,.game-screen .player-right .mini-melds{max-width:129px}.game-screen .table-info-history-item{min-height:54px}.game-screen .felt-table.has-discard-control .table-center{bottom:38%}}@media (width<=600px){.game-screen{--table-hand-tile:48px;--table-river-tile:30px;--table-opponent-tile:30px;--table-meld-tile:28px;--table-history-tile:29px}.game-screen .discard-river{gap:3px}.game-screen .felt-table.has-discard-control .table-center{inset:18% 3% 38%}.game-screen .opponent-hand{gap:3px}.game-screen .player-bottom{width:calc(100% - 8px)}.game-screen .player-left .opponent-hand,.game-screen .player-right .opponent-hand{max-width:96px}.game-screen .player-left .mini-melds,.game-screen .player-right .mini-melds{max-width:121px}.game-screen .table-info-history-item{min-height:52px}.table-discard-control{border-radius:13px;grid-template-columns:minmax(0,1fr) 116px;gap:7px;width:min(310px,100% - 6px);min-height:58px;margin:4px auto 7px;padding:5px 6px 5px 12px}.table-discard-copy strong{font-size:11px}.table-discard-copy small{font-size:8px}.table-discard-button{border-radius:9px;min-width:0;min-height:48px;padding:0 11px;font-size:12px}}@media (height<=650px) and (width<=600px){.game-screen{--table-hand-tile:44px;--table-river-tile:26px;--table-opponent-tile:27px;--table-meld-tile:26px;--table-history-tile:27px}.game-screen .discard-river{gap:2px;padding:3px}.game-screen .felt-table.has-discard-control .table-center{inset:17% 3% 40%}.game-screen .player-top .opponent-hand,.game-screen .player-left .opponent-hand,.game-screen .player-right .opponent-hand{transform:none}.game-screen .player-left .opponent-hand,.game-screen .player-right .opponent-hand{max-width:87px}.game-screen .player-left .mini-melds,.game-screen .player-right .mini-melds{max-width:113px}.game-screen .table-info-history-item{min-height:49px}}.membership-page{background:radial-gradient(circle at 83% 9%,#c8a96b47,#0000 25%),linear-gradient(#fbf7ed 0,#f3ebdc 52%,#f8f3e9 100%)}.membership-interior{max-width:1400px;padding-top:92px}.membership-hero{max-width:930px;margin-bottom:42px}.membership-hero h1{color:var(--jade-950);margin:20px 0 25px;font-size:clamp(58px,7.4vw,104px);line-height:.92}.membership-hero h1 em{color:#a53b31;font-weight:inherit}.membership-hero p{color:#56645c;max-width:780px;margin:0;font-size:18px}.membership-experience{gap:28px;display:grid}.membership-status-band{background:#fffdf7e6;border:1px solid #1050472e;border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;min-height:96px;padding:20px 24px;display:grid;box-shadow:0 12px 36px #082f2a0f}.membership-status-icon,.membership-plan-icon{background:var(--jade-100);width:48px;height:48px;color:var(--jade-800);border-radius:14px;flex:none;place-items:center;display:grid}.membership-status-band strong{color:var(--jade-950);font-size:15px}.membership-status-band p{color:var(--muted);margin:2px 0 0;font-size:12px;line-height:1.5}.membership-state{min-height:38px;color:var(--jade-800);white-space:nowrap;background:#eef5f1;border:1px solid #1050472e;border-radius:20px;align-items:center;gap:7px;padding:0 13px;font-size:11px;font-weight:850;display:inline-flex}.membership-state svg{width:15px}.membership-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.membership-plan-card{background:#fffdf7f0;border:1px solid #20282324;border-radius:20px;flex-direction:column;min-width:0;min-height:610px;padding:30px;display:flex;position:relative;box-shadow:0 15px 45px #082f2a0f}.membership-plan-card.is-gold{border-color:#1050474d}.membership-plan-card.is-featured{border:2px solid #a98438;box-shadow:0 24px 65px #5b451621}.membership-plan-card>header{align-items:center;gap:14px;display:flex}.membership-plan-card>header small{color:var(--cinnabar);letter-spacing:.15em;font-size:9px;font-weight:900}.membership-plan-card h2{color:var(--jade-950);letter-spacing:-.03em;margin:3px 0 0;font-size:32px}.membership-plan-card>p{min-height:52px;color:var(--muted);margin:24px 0 8px;font-size:13px}.membership-price{white-space:nowrap;align-items:end;gap:8px;min-height:94px;display:flex}.membership-price strong{color:#171d19;font:58px/1 var(--font-display),serif;letter-spacing:-.05em}.membership-price span{color:var(--muted);padding-bottom:7px;font-size:14px}.membership-plan-action{width:100%;margin:23px 0 26px}.membership-plan-card ul{border-top:1px solid var(--line);gap:15px;margin:auto 0 0;padding:22px 0 0;list-style:none;display:grid}.membership-plan-card li{color:#47564e;align-items:flex-start;gap:9px;font-size:12px;line-height:1.45;display:flex}.membership-plan-card li svg{width:17px;color:var(--jade-700);flex:none}.membership-value-badge{color:#775b1f;letter-spacing:.05em;background:#fff9e9;border:1px solid #a9843859;border-radius:20px;padding:6px 10px;font-size:9px;font-weight:900;position:absolute;top:23px;right:24px}.membership-checkout-confirmation{background:var(--paper);box-shadow:var(--shadow);border:1px solid #10504733;border-radius:20px;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);align-items:center;gap:42px;padding:36px;display:grid}.membership-checkout-copy{align-items:flex-start;gap:18px;display:flex}.membership-checkout-copy h2{color:var(--jade-950);margin:10px 0 13px;font-size:42px}.membership-checkout-copy p{color:var(--muted);margin:0;font-size:13px}.membership-checkout-copy small{color:var(--jade-700);margin-top:13px;font-weight:750;display:block}.membership-checkout-confirmation form{background:#f2f5ee;border-radius:15px;padding:24px}.membership-terms{color:#4b5a52;cursor:pointer;grid-template-columns:20px 1fr;align-items:start;gap:10px;min-height:52px;margin-bottom:16px;font-size:11px;line-height:1.5;display:grid}.membership-terms input{width:18px;height:18px;accent-color:var(--jade-700);margin:2px 0 0}.membership-checkout-confirmation form .button{width:100%}.membership-billing-note{color:#8b5c26;margin-top:12px;font-size:10px;line-height:1.5;display:block}.membership-message{color:var(--jade-900);background:#eef5f1;border:1px solid #10504738;border-radius:12px;margin:0;padding:16px 18px;font-size:13px}.membership-message.is-error{color:#7d3028;background:#fff0ed;border-color:#ae3e3252}.membership-boundary-grid{border:1px solid var(--line);background:var(--line);border-radius:18px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:4px;display:grid;overflow:hidden}.membership-boundary-grid article{background:#fffdf7f2;min-height:160px;padding:28px}.membership-boundary-grid strong{color:var(--jade-900)}.membership-boundary-grid p{color:var(--muted);margin:10px 0 0;font-size:12px}@media (width<=1100px){.membership-plan-grid{grid-template-columns:1fr 1fr}.membership-plan-card:first-child{grid-column:1/-1;min-height:0}.membership-plan-card:first-child ul{grid-template-columns:1fr 1fr}}@media (width<=900px){.membership-interior{padding-top:58px}.membership-status-band{grid-template-columns:auto minmax(0,1fr)}.membership-state{grid-column:1/-1;justify-self:start}.membership-plan-grid{grid-template-columns:1fr}.membership-plan-card:first-child{grid-column:auto}.membership-plan-card{min-height:0}.membership-checkout-confirmation{grid-template-columns:1fr;gap:24px}.membership-boundary-grid{grid-template-columns:1fr}.membership-boundary-grid article{min-height:0}}@media (width<=600px){.membership-interior{padding:42px 15px 70px}.membership-hero h1{font-size:50px}.membership-hero p{font-size:15px}.membership-status-band{grid-template-columns:1fr;padding:20px}.membership-status-icon{width:44px;height:44px}.membership-plan-card{padding:24px 19px}.membership-plan-card:first-child ul{grid-template-columns:1fr}.membership-plan-card h2{font-size:29px}.membership-price strong{font-size:50px}.membership-value-badge{align-self:flex-start;margin-bottom:16px;position:static}.membership-checkout-confirmation{padding:24px 18px}.membership-checkout-copy{display:grid}.membership-checkout-copy h2{font-size:34px}.membership-checkout-confirmation form{padding:19px 15px}}.rooms-form-panel h2{margin:15px 0 24px;font-size:38px}.rooms-form-panel>.button{width:100%}.room-mode-selector{border:0;margin:0 0 16px;padding:0}.room-mode-selector legend{grid-column:1/-1;margin-bottom:1px;font-size:12px;font-weight:800}.room-mode-selector{grid-template-columns:1fr 1fr;gap:8px;display:grid}.room-mode-selector label{cursor:pointer;background:#fff;border:1px solid #1050472e;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:78px;padding:12px;display:grid;position:relative}.room-mode-selector label.is-selected{border-color:var(--jade-700);box-shadow:inset 0 0 0 1px var(--jade-700);background:#f3f8f5}.room-mode-selector input{z-index:2;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.room-mode-selector input:disabled{cursor:wait}.room-mode-selector input:focus-visible+.room-mode-icon{outline-offset:3px;outline:3px solid #d9a72e}.room-mode-icon{background:var(--jade-100);width:38px;height:38px;color:var(--jade-800);border-radius:10px;place-items:center;display:grid}.room-mode-icon svg{width:18px}.room-mode-selector label>span:last-child{gap:2px;min-width:0;display:grid}.room-mode-selector strong{color:var(--jade-900);font-size:12px}.room-mode-selector small{color:var(--muted);font-size:9px}.room-mode-explanation{border-left:3px solid var(--gold);background:#f7f2e6;border-radius:4px 10px 10px 4px;align-content:center;gap:2px;min-height:70px;margin-bottom:18px;padding:12px 14px;display:grid}.room-mode-explanation strong{color:var(--jade-900);font-size:11px}.room-mode-explanation span{color:var(--muted);font-size:10px;line-height:1.45}.room-mode-explanation a{color:var(--jade-700);text-underline-offset:2px;font-weight:850;text-decoration:underline}.form-divider{color:var(--muted);letter-spacing:.09em;align-items:center;gap:12px;margin:22px 0;font-size:10px;font-weight:800;display:flex}.form-divider span{background:var(--line);flex:1;height:1px}.room-code-input{text-transform:uppercase;letter-spacing:.13em;font-weight:800}.room-error-row{gap:8px;margin:-5px 0 15px;display:grid}.room-error-row p{color:var(--cinnabar);margin:0;font-size:12px}.room-error-row .text-link{justify-self:start;font-size:11px}.rooms-benefits{align-content:start;gap:15px;display:grid}@media (width<=600px){.room-mode-selector{grid-template-columns:1fr}.room-mode-selector label{min-height:70px}}.practice-game-mode-control{background:#f8f4eb;border:1px solid #10504729;border-radius:13px;min-width:0;margin:22px 0 4px;padding:16px}.practice-game-mode-control>header{min-height:48px;color:var(--jade-900);align-items:center;gap:9px;display:flex}.practice-game-mode-control>header>svg{width:18px;color:var(--cinnabar)}.practice-game-mode-control>header>span{gap:2px;min-width:0;display:grid}.practice-game-mode-control>header strong{font-size:12px}.practice-game-mode-control>header small{color:var(--muted);font-size:9px;line-height:1.35}.practice-game-mode-control .game-mode-grid{grid-template-columns:1fr;gap:9px}.practice-game-mode-control .game-mode-card{min-height:204px}.practice-game-mode-control .game-mode-note{margin:0 -16px -16px}.practice-tile-style-control{background:#f8f4eb;border:1px solid #10504729;border-radius:13px;min-width:0;margin:22px 0 4px;padding:16px}.practice-tile-style-control legend{color:var(--jade-900);align-items:center;gap:7px;padding:0 7px;font-size:12px;font-weight:850;display:flex}.practice-tile-style-control legend svg{width:17px;color:var(--cinnabar)}.practice-tile-style-control>p{color:var(--muted);margin:0 0 12px;font-size:10px;line-height:1.45}.practice-tile-style-control .tile-style-options{gap:8px}.practice-tile-style-control .tile-style-option{grid-template-rows:92px minmax(0,1fr);min-height:168px}.practice-tile-style-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.practice-tile-style-options label{cursor:pointer;min-width:0;position:relative}.practice-tile-style-options input{z-index:2;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.practice-tile-style-choice{text-align:center;background:#fffdf7;border:1px solid #10504729;border-radius:10px;align-content:start;justify-items:center;gap:8px;min-height:118px;padding:10px 8px;transition:border-color .16s,background .16s,box-shadow .16s;display:grid}.practice-tile-style-choice>span:last-child{gap:3px;min-width:0;display:grid}.practice-tile-style-choice strong{color:var(--jade-900);font-size:10px;line-height:1.2}.practice-tile-style-choice small{color:var(--muted);font-size:8px;line-height:1.3}.practice-tile-style-options input:checked+.practice-tile-style-choice{border-color:var(--jade-700);background:#edf4ef;box-shadow:0 0 0 2px #10695b24}.practice-tile-style-options input:focus-visible+.practice-tile-style-choice{outline-offset:3px;outline:3px solid #d9a72e}.practice-tile-style-note{border-left:3px solid var(--gold);color:#53645c;margin-top:11px;padding-left:10px;font-size:9px;line-height:1.45;display:block}.practice-speed-card{align-content:start}.practice-speed-card>h3{margin-bottom:7px}.practice-speed-card>p{margin:0}.practice-speed-control{border:0;min-width:0;margin:18px 0 0;padding:0}.practice-speed-control legend{color:var(--jade-900);letter-spacing:.02em;margin-bottom:7px;font-size:11px;font-weight:850}.practice-speed-options{background:#e8e8df;border-radius:11px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:5px;display:grid}.practice-speed-options label{cursor:pointer;border-radius:8px;min-width:0;position:relative}.practice-speed-options input{z-index:2;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.practice-speed-options label>span{color:#43544c;text-align:center;border:1px solid #0000;border-radius:8px;place-items:center;min-height:44px;padding:0 8px;font-size:11px;font-weight:760;transition:background .16s,border-color .16s,color .16s,box-shadow .16s;display:grid}.practice-speed-options label.is-selected>span{color:var(--jade-800);background:#fff;border-color:#1050471f;box-shadow:0 2px 9px #00000014}.practice-speed-options input:focus-visible+span{outline-offset:3px;outline:3px solid #d9a72e}.practice-speed-description{border-left:3px solid var(--gold);background:#f7f2e6;border-radius:4px 9px 9px 4px;align-content:center;gap:2px;min-height:58px;padding:10px 12px;display:grid;margin:10px 0 0!important}.practice-speed-description strong{color:var(--jade-900);font-size:11px}.practice-speed-description span{color:var(--muted);font-size:10px;line-height:1.45}.practice-speed-note{color:#637169;margin-top:9px;font-size:9px;line-height:1.45;display:block}@media (width<=600px){.practice-tile-style-options{grid-template-columns:1fr}.practice-tile-style-choice{text-align:left;grid-template-columns:42px minmax(0,1fr);place-items:center start;min-height:78px}.practice-speed-card{padding:24px 20px}}.visually-hidden{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.game-screen .felt-table .table-center.directional-discard-board{z-index:2;pointer-events:none;grid-template:"top top top""left hub right""bottom bottom bottom"/minmax(90px,1fr) clamp(142px,13vw,176px) minmax(90px,1fr);align-items:center;gap:8px 14px;width:min(780px,100% - 300px);height:auto;min-height:0;display:grid;inset:46% auto auto 50%;transform:translate(-50%,-50%)}.game-screen .seat-discard-river{place-content:center;gap:4px;min-width:0;min-height:0;margin:0;padding:0;list-style:none;display:grid;position:relative}.game-screen .seat-discard-river.position-top{grid-area:top;grid-template-columns:repeat(8,var(--table-river-tile))}.game-screen .seat-discard-river.position-bottom{grid-area:bottom;grid-template-columns:repeat(8,var(--table-river-tile))}.game-screen .seat-discard-river.position-left{grid-area:left;grid-template-columns:repeat(2,var(--table-river-tile));justify-self:end}.game-screen .seat-discard-river.position-right{grid-area:right;grid-template-columns:repeat(2,var(--table-river-tile));justify-self:start}.game-screen .seat-discard-river .discard-slot{place-items:center;min-width:0;display:grid;position:relative}.game-screen .seat-discard-river .mahjong-tile{--tile-w:var(--table-river-tile)}.game-screen .seat-discard-river .discard-slot.is-latest .mahjong-tile{filter:drop-shadow(0 7px 7px #0000004d);transform:translateY(-2px)}.game-screen .last-discard-marker{z-index:3;background:#e2b63f;border:2px solid #fff0bd;border-radius:50%;width:10px;height:10px;position:absolute;top:-4px;right:-4px;box-shadow:0 0 0 2px #08302ab8,0 0 10px #f4c74fc7}.game-screen .discard-overflow{z-index:2;color:#ecd59c;background:#04221ed6;border:1px solid #f0d08652;border-radius:10px;place-items:center;min-width:22px;min-height:18px;padding:0 5px;font-size:8px;font-weight:850;display:grid;position:absolute;top:-17px;left:0}.game-screen .table-hub{aspect-ratio:1;isolation:isolate;clip-path:polygon(17% 0,83% 0,100% 17%,100% 83%,83% 100%,17% 100%,0 83%,0 17%);filter:drop-shadow(0 14px 18px #00000057);background:linear-gradient(145deg,#101b1d,#060d0e 60%,#162326);grid-area:hub;width:100%;position:relative}.game-screen .table-hub:before,.game-screen .table-hub:after{content:"";clip-path:inherit;position:absolute}.game-screen .table-hub:before{z-index:-2;background:conic-gradient(from -90deg,#e6bd51 var(--hub-timer-progress),#ebdbaf33 0);inset:5px}.game-screen .table-hub:after{z-index:-1;background:linear-gradient(135deg,#ffffff14,#0000 34%),radial-gradient(circle at 50% 45%,#14594f,#0a3732 72%);inset:9px}.game-screen .table-hub-core{z-index:2;clip-path:polygon(14% 0,86% 0,100% 14%,100% 86%,86% 100%,14% 100%,0 86%,0 14%);color:#fff;text-align:center;background:linear-gradient(155deg,#071e1b,#041310);grid-template-rows:auto 1fr auto;place-items:center;padding:10% 6% 8%;display:grid;position:absolute;inset:24%;box-shadow:inset 0 0 0 1px #f4e2b424,inset 0 10px 24px #00000038}.game-screen .table-hub-label{color:#9fd6cd;letter-spacing:.08em;text-transform:uppercase;font-size:7px;font-weight:800;line-height:1}.game-screen .table-hub-count{color:#f5ead2;font:700 clamp(28px,3.2vw,42px)/.9 var(--font-display),serif}.game-screen .table-hub-timer{color:#f0ce72;background:#0000003b;border:1px solid #e8c7703b;border-radius:9px;align-items:center;gap:3px;min-height:17px;padding:2px 6px;font-size:7px;line-height:1;display:inline-flex}.game-screen .table-hub-timer b{font-variant-numeric:tabular-nums;font-size:10px}.game-screen .table-hub-timer small{color:#ffffffa8;letter-spacing:.08em;font-size:6px;font-weight:800}.game-screen .table-hub-seat{z-index:3;color:#e4d3a6;background:#03161485;border:1px solid #f1dda624;border-radius:8px;justify-content:center;align-items:center;gap:3px;min-width:30px;min-height:25px;padding:3px 5px;line-height:1;display:inline-flex;position:absolute}.game-screen .table-hub-seat b{font:800 13px/1 var(--font-display),serif}.game-screen .table-hub-seat small{color:#ffffff8c;font-size:6px;font-weight:850}.game-screen .table-hub-seat.position-top{top:7%;left:50%;transform:translate(-50%)}.game-screen .table-hub-seat.position-bottom{bottom:7%;left:50%;transform:translate(-50%)}.game-screen .table-hub-seat.position-left{top:50%;left:5%;transform:translateY(-50%)}.game-screen .table-hub-seat.position-right{top:50%;right:5%;transform:translateY(-50%)}.game-screen .table-hub-seat.is-active{color:#0a332d;background:#e6bd51;border-color:#f2cf72;box-shadow:0 0 0 3px #e6bd5126}.game-screen .table-hub-seat.is-active small{color:#0a332d}.game-screen .dealer-marker{color:#fff;width:12px;height:12px;font:900 6px/1 var(--font-body),sans-serif;background:#b54b3d;border-radius:50%;place-items:center;font-style:normal;display:grid}.game-screen .table-center-empty{color:#ffffff9e;text-align:center;background:#021c1866;border:1px solid #ffffff17;border-radius:12px;grid-area:bottom;place-self:center;max-width:240px;margin:0;padding:5px 10px;font-size:9px;line-height:1.25}@media (width<=900px){.game-screen .felt-table .table-center.directional-discard-board{grid-template-columns:minmax(86px,1fr) clamp(118px,15vw,142px) minmax(86px,1fr);gap:6px 9px;width:calc(100% - 180px);top:44%}.game-screen .table-hub-count{font-size:30px}}@media (width<=600px){.game-screen .felt-table .table-center.directional-discard-board{grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);gap:4px;width:calc(100% - 18px);top:39%}.game-screen .seat-discard-river{gap:2px}.game-screen .seat-discard-river.position-left,.game-screen .seat-discard-river.position-right{grid-template-columns:repeat(3,var(--table-river-tile))}.game-screen .table-hub-core{padding:9% 4% 7%;inset:25%}.game-screen .table-hub-label{letter-spacing:.04em;font-size:5px}.game-screen .table-hub-count{font-size:24px}.game-screen .table-hub-timer{min-height:13px;padding:1px 4px;font-size:6px}.game-screen .table-hub-timer b{font-size:8px}.game-screen .table-hub-timer small{text-overflow:ellipsis;white-space:nowrap;max-width:26px;font-size:5px;overflow:hidden}.game-screen .table-hub-seat{border-radius:6px;gap:2px;min-width:24px;min-height:20px;padding:2px 3px}.game-screen .table-hub-seat b{font-size:10px}.game-screen .table-hub-seat small{font-size:5px}.game-screen .dealer-marker{width:9px;height:9px;font-size:5px}.game-screen .last-discard-marker{width:8px;height:8px;top:-3px;right:-3px}.game-screen .table-center-empty{max-width:170px;padding:4px 7px;font-size:7px}}@media (height<=650px) and (width<=600px){.game-screen .felt-table .table-center.directional-discard-board{grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr);gap:2px;top:37%}.game-screen .table-hub:before{inset:4px}.game-screen .table-hub:after{inset:7px}.game-screen .table-center-empty{display:none}}@media (width<=600px){.game-screen{--table-hand-tile:min(42px,calc((100vw - 40px) / 14))}.game-screen .your-hand{width:100%;min-height:calc(var(--table-hand-tile) * 1.42 + 18px);overscroll-behavior-x:auto;scroll-snap-type:none;scrollbar-width:none;justify-content:center;gap:1px;padding:8px 0 10px;overflow:visible}.game-screen .your-hand>div{scroll-snap-align:none;flex:none;min-width:0}.game-screen .hand-scroll-hint{display:none}}.game-screen{--side-opponent-tile:var(--table-opponent-tile)}.game-screen .player-left,.game-screen .player-right{top:50%}.game-screen .player-left .opponent-hand,.game-screen .player-right .opponent-hand{grid-template-columns:calc(var(--side-opponent-tile) * 1.42);grid-auto-rows:var(--side-opponent-tile);flex-wrap:nowrap;place-items:center;gap:3px;max-width:none;display:grid}.game-screen .player-left .opponent-hand .mahjong-tile,.game-screen .player-right .opponent-hand .mahjong-tile{--tile-w:var(--side-opponent-tile);transform-origin:50%;transform:rotate(90deg)}.game-screen .player-left .concealed-count{left:-7px;right:auto}@media (width<=600px){.game-screen .felt-table .table-center.directional-discard-board{width:calc(100% - (var(--side-opponent-tile) * 2.84) - 20px)}.game-screen .seat-discard-river.position-left,.game-screen .seat-discard-river.position-right{grid-template-columns:repeat(2,var(--table-river-tile))}}@media (width>=601px) and (height<=800px){.game-screen .player-bottom .self-meta{margin-inline:calc(var(--side-opponent-tile) * 1.42 + 18px)}}@media (height<=650px) and (width<=600px){.game-screen{--side-opponent-tile:21px}.game-screen .player-left,.game-screen .player-right{top:43%}.game-screen .player-left .opponent-hand .mahjong-tile:nth-child(n+7),.game-screen .player-right .opponent-hand .mahjong-tile:nth-child(n+7){display:none}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.lesson-list-cue{display:none}.lesson-pending-review{z-index:1;color:#f3dca7;background:#ffffff0f;border:1px solid #e8d3a138;border-radius:9px;align-items:center;gap:7px;margin:10px 2px 0;padding:8px 10px;font-size:11px;font-weight:750;position:relative}.lesson-pending-review,.lesson-pending-review svg{display:flex}.lesson-pending-review svg{flex:none;width:15px;height:15px}#tutorial-feedback{width:min(720px,100%)}.lesson-feedback{width:100%;margin-top:14px}.lesson-coach-card{text-align:left;background:#faf8f1;border:1px solid #1050472e;border-radius:11px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 13px;width:min(720px,100%);min-height:62px;margin-top:8px;padding:11px 13px;display:grid}.lesson-coach-card>span{color:var(--jade-800);align-items:center;gap:6px;display:inline-flex}.lesson-coach-card svg{width:15px;height:15px}.lesson-coach-card b{letter-spacing:.04em;white-space:nowrap;font-size:10px}.lesson-coach-card p{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.lesson-coach-card.coach-phase-1{background:#fff8f3;border-color:#ae3e323d}.lesson-coach-card.coach-phase-2{background:#eaf3ef;border-color:#17665a52}.tip-explain{display:none}.tip-explanation{margin:0}.first-game-options{border:1px solid var(--line);background:#ffffff8c;border-radius:12px;margin-top:18px;padding:0 16px 16px}.first-game-options summary{color:var(--jade-900);cursor:pointer;padding:14px 0;font-weight:800}.first-game-options .segmented{margin-top:0}.first-game-tip-note{color:var(--jade-800);align-items:center;gap:7px;margin:13px 0 0;font-size:12px;font-weight:750;display:flex}.first-game-tip-note svg{width:16px}.profile-learning-habit{margin-top:26px}.profile-learning-habit>header{align-items:center;gap:14px;display:flex}.profile-learning-habit>header h2,.profile-learning-habit>header p{margin:0}.profile-learning-habit>header p{color:var(--muted);margin-top:4px}.learning-habit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0 17px;display:grid}.learning-habit-grid>span{border:1px solid var(--line);background:#faf8f1;border-radius:11px;grid-template-columns:auto 1fr;align-content:center;align-items:center;gap:2px 8px;min-height:88px;padding:12px;display:grid}.learning-habit-grid svg{width:18px;color:var(--cinnabar);grid-row:1/3}.learning-habit-grid strong{color:var(--jade-950);font:26px/1 var(--font-display), serif}.learning-habit-grid small{color:var(--muted);font-size:11px}@media (width<=900px){.lesson-list{padding-right:28px;-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 30px),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 30px),#0000 100%)}.lesson-list-cue{z-index:1;color:#ffffffa8;justify-content:flex-end;align-items:center;gap:5px;margin:4px 2px 0;font-size:10px;display:flex;position:relative}.lesson-list-cue svg{width:13px}.game-screen .action-dock{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"tip reaction""actions actions"}.game-screen .action-dock .tip{background:#ffffff0d;border:1px solid #ffffff1c;border-radius:9px;grid-area:tip;grid-template-columns:auto minmax(0,1fr);align-items:center;min-width:0;padding:7px 9px;display:grid}.game-screen .action-dock .tip>span{min-width:0;display:grid}.game-screen .action-dock .tip>span:not(strong){text-overflow:ellipsis;overflow:hidden}.game-screen .action-dock .game-actions{grid-area:actions}}@media (width<=600px){.lesson-stage{padding-bottom:118px}.lesson-feedback{margin-top:10px}.lesson-coach-card{grid-template-columns:1fr;gap:5px;min-height:0;padding:9px 11px}.lesson-controls.is-mobile-sticky{z-index:85;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf7f5;border:1px solid #10504733;border-radius:14px;padding:9px;position:fixed;left:12px;box-shadow:0 14px 40px #082f2a38}.lesson-controls.is-mobile-sticky>:not(.primary){display:none}.lesson-controls.is-mobile-sticky .primary{justify-content:center;width:100%}.game-screen .action-dock .tip{display:none}.game-screen .action-dock{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"actions reaction";align-items:center;min-height:64px}.game-screen .action-dock .desktop-explain-action{display:inline-flex}.learning-habit-grid{grid-template-columns:1fr 1fr}}@media (height<=650px) and (width<=600px){.game-screen .action-dock{min-height:60px}}._betaPage_159vj_1{color:#202823;background:#f7f2e7;min-height:100dvh}._hero_159vj_7{min-height:min(780px,100dvh - 76px);padding:70px max(24px, env(safe-area-inset-right)) 84px max(24px, env(safe-area-inset-left));background:radial-gradient(circle at 84% 12%,#c8a96b57,#0000 26%),linear-gradient(145deg,#fbf7ed,#f0e8d8);grid-template-columns:minmax(0,.9fr) minmax(390px,.7fr);align-items:center;gap:clamp(50px,8vw,130px);display:grid;overflow:hidden}._heroCopy_159vj_20{justify-self:end;max-width:720px}._betaBadge_159vj_25{color:#ae3e32;letter-spacing:.14em;text-transform:uppercase;background:#fffdf7c7;border:1px solid #ae3e3238;border-radius:999px;align-items:center;gap:7px;width:fit-content;min-height:32px;padding:0 12px;font-size:10px;font-weight:850;display:inline-flex}._betaBadge_159vj_25 svg{width:15px}._hero_159vj_7 h1{color:#082f2a;font:clamp(58px, 7vw, 96px) / .96 var(--font-display), "Songti SC", serif;letter-spacing:-.055em;margin:24px 0}._hero_159vj_7 h1 em{color:#ae3e32;font-style:normal;display:block}._heroCopy_159vj_20>p{color:#59675f;max-width:620px;margin:0;font-size:17px;line-height:1.8}._heroActions_159vj_67{gap:11px;margin-top:32px;display:flex}._primaryAction_159vj_73,._secondaryAction_159vj_74{border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:52px;padding:0 21px;font-size:14px;font-weight:820;display:inline-flex}._primaryAction_159vj_73{color:#fff;background:#105047;border:1px solid #105047;box-shadow:0 13px 30px #10504738}._primaryAction_159vj_73 svg,._secondaryAction_159vj_74 svg{width:18px}._secondaryAction_159vj_74{color:#0b3b34;background:#ffffff80;border:1px solid #1050473d}._capabilityRow_159vj_104{color:#657169;flex-wrap:wrap;gap:10px 19px;margin-top:25px;font-size:11px;font-weight:720;display:flex}._capabilityRow_159vj_104 span{align-items:center;gap:6px;display:inline-flex}._capabilityRow_159vj_104 svg{color:#17665a;width:15px}._phoneStage_159vj_125{place-items:center;min-height:590px;display:grid;position:relative}._phoneStage_159vj_125:before,._phoneStage_159vj_125:after{content:"";border-radius:50%;position:absolute}._phoneStage_159vj_125:before{border:1px solid #10504729;width:520px;height:520px}._phoneStage_159vj_125:after{border:1px dashed #10504733;width:410px;height:410px}._phone_159vj_125{z-index:2;background:linear-gradient(145deg,#222b2a,#060b0b);border:1px solid #3d4947;border-radius:49px;width:296px;height:604px;padding:9px;position:relative;transform:rotate(3deg);box-shadow:0 38px 85px #082f2a45,inset 0 0 0 2px #ffffff14}._dynamicIsland_159vj_166{z-index:5;background:#050808;border-radius:20px;width:86px;height:24px;position:absolute;top:17px;left:50%;transform:translate(-50%)}._phoneScreen_159vj_178{background:#071f1c;border-radius:41px;grid-template-rows:63px 1fr 73px;width:100%;height:100%;display:grid;overflow:hidden}._phoneScreen_159vj_178>header{color:#fff;background:#061916;border-bottom:1px solid #ffffff1a;grid-template-columns:26px 1fr 31px;align-items:center;gap:8px;padding:20px 13px 7px;display:grid}._phoneScreen_159vj_178>header>:first-child{width:25px;height:25px}._phoneScreen_159vj_178>header span{display:grid}._phoneScreen_159vj_178>header small{color:#e6ca89;letter-spacing:.11em;font-size:7px}._phoneScreen_159vj_178>header strong{font-size:10px}._phoneScreen_159vj_178>header b{background:conic-gradient(#e4b84d 74%, #ffffff29 0);border-radius:50%;place-items:center;width:28px;height:28px;font-size:10px;display:grid}._tablePreview_159vj_228{background:radial-gradient(circle,#17695d,#0b433b 72%);border:6px solid #4a3326;min-height:0;position:relative;overflow:hidden}._tablePreview_159vj_228:after{content:"";border:1px solid #ffffff1a;border-radius:13px;position:absolute;inset:7px}._player_159vj_244{z-index:2;color:#173d35;background:#f2dda9;border:2px solid #0d4d44;border-radius:50%;place-items:center;width:25px;height:25px;font-size:8px;font-weight:900;display:grid;position:absolute}._playerTop_159vj_259{top:12px;left:calc(50% - 12px)}._playerLeft_159vj_264{top:34%;left:10px}._playerRight_159vj_269{top:34%;right:10px}._tableCenter_159vj_274{z-index:2;clip-path:polygon(15% 0,85% 0,100% 15%,100% 85%,85% 100%,15% 100%,0 85%,0 15%);color:#f4ead5;text-align:center;background:linear-gradient(145deg,#101b1d,#050d0e);place-content:center;width:79px;height:79px;display:grid;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}._tableCenter_159vj_274 small,._tableCenter_159vj_274 span{color:#a9d8cf;font-size:6px}._tableCenter_159vj_274 strong{font:28px / .95 var(--font-display), serif}._discards_159vj_300{z-index:2;grid-template-columns:repeat(4,1fr);gap:3px;width:150px;display:grid;position:absolute;top:52%;left:50%;transform:translate(-50%)}._discards_159vj_300 i,._handPreview_159vj_313 i{color:#1e302a;background:linear-gradient(145deg,#fffef8,#e5dcc7);border-radius:3px;place-items:center;font-family:Songti SC,serif;font-style:normal;font-weight:800;display:grid;box-shadow:inset 0 -3px #c7bda8}._discards_159vj_300 i{height:28px;font-size:9px}._handPreview_159vj_313{z-index:2;justify-content:center;gap:2px;display:flex;position:absolute;bottom:7px;left:7px;right:7px}._handPreview_159vj_313 i{width:29px;height:42px;font-size:12px}._phoneScreen_159vj_178>footer{color:#ffffffa8;background:#061916;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:8px 11px 15px;font-size:8px;display:flex}._phoneScreen_159vj_178>footer button{color:#153c34;background:#f4ead5;border:0;border-radius:8px;min-width:72px;min-height:38px;font-size:10px;font-weight:850}._statusSection_159vj_369{padding:0 max(24px, env(safe-area-inset-right)) 90px max(24px, env(safe-area-inset-left));background:linear-gradient(#f0e8d8 50%,#fffdf7 50%)}._statusCard_159vj_374{background:#fffdf7;border:1px solid #10504729;border-radius:20px;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;align-items:center;gap:22px;max-width:1000px;min-height:140px;margin:auto;padding:24px 28px;display:grid;box-shadow:0 22px 60px #082f2a21}._statusHeading_159vj_389{align-items:center;gap:13px;display:flex}._statusIcon_159vj_395{color:#105047;background:#dcece6;border-radius:14px;flex:none;place-items:center;width:46px;height:46px;display:grid}._statusIcon_159vj_395 svg{width:22px}._statusHeading_159vj_389>span:last-child{gap:3px;display:grid}._statusHeading_159vj_389 small{color:#ae3e32;letter-spacing:.13em;text-transform:uppercase;font-size:8px;font-weight:850}._statusHeading_159vj_389 strong{color:#0b3b34;font-size:13px}._statusRows_159vj_428{color:#59675f;gap:8px;font-size:10px;font-weight:720;display:grid}._statusRows_159vj_428 span{align-items:center;gap:7px;display:flex}._statusRows_159vj_428 svg{color:#17665a;width:15px}._statusRows_159vj_428 ._pending_159vj_447 svg{color:#9d7831}._flowSection_159vj_451{padding:118px max(24px, env(safe-area-inset-right)) 130px max(24px, env(safe-area-inset-left));background:#fffdf7}._flowSection_159vj_451>header{text-align:center;max-width:760px;margin:0 auto 52px}._flowSection_159vj_451>header>span,._installCopy_159vj_463>span{color:#ae3e32;letter-spacing:.17em;text-transform:uppercase;font-size:9px;font-weight:850}._flowSection_159vj_451 h2,._installSection_159vj_472 h2{color:#082f2a;font:clamp(40px, 5vw, 62px) / 1.04 var(--font-display), "Songti SC", serif;margin:15px 0}._flowSection_159vj_451>header p,._installCopy_159vj_463 p{color:#657169}._flowGrid_159vj_483{grid-template-columns:repeat(3,1fr);gap:16px;max-width:1120px;margin:auto;display:grid}._flowGrid_159vj_483 article{background:#f8f4ea;border:1px solid #10504724;border-radius:18px;flex-direction:column;min-height:330px;padding:28px;display:flex;position:relative}._flowNumber_159vj_502{color:#10504738;font:34px var(--font-display), serif;position:absolute;top:25px;right:27px}._flowIcon_159vj_510{color:#105047;background:#dcece6;border-radius:14px;place-items:center;width:50px;height:50px;display:grid}._flowIcon_159vj_510 svg{width:23px}._flowGrid_159vj_483 h3{color:#0b3b34;font:30px var(--font-display), "Songti SC", serif;margin:30px 0 10px}._flowGrid_159vj_483 p{color:#657169;margin:0;font-size:13px}._flowGrid_159vj_483 a{color:#105047;border-top:1px solid #20282321;justify-content:space-between;align-items:end;min-height:44px;margin-top:auto;font-size:12px;font-weight:850;display:flex}._flowGrid_159vj_483 a svg{width:17px}._installSection_159vj_472{margin:0 max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));color:#fff;background:radial-gradient(circle at 95% 0,#c8a96b47,#0000 32%),linear-gradient(135deg,#082f2a,#105047);border-radius:28px;grid-template-columns:minmax(0,.8fr) minmax(390px,1fr);align-items:center;gap:clamp(50px,8vw,120px);padding:90px clamp(28px,7vw,100px);display:grid}._installCopy_159vj_463{max-width:580px}._installCopy_159vj_463>span{color:#e5c97f}._installSection_159vj_472 h2{color:#fff}._installCopy_159vj_463 p{color:#ffffffad}._installSection_159vj_472 ol{gap:9px;margin:0;padding:0;list-style:none;display:grid}._installSection_159vj_472 li{background:#ffffff12;border:1px solid #ffffff24;border-radius:14px;grid-template-columns:26px 30px 1fr;align-items:center;gap:11px;min-height:74px;padding:13px 17px;display:grid}._installSection_159vj_472 li>span{color:#082f2a;background:#e8cf93;border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;font-weight:900;display:grid}._installSection_159vj_472 li svg{color:#e8cf93;width:20px}._installSection_159vj_472 li strong{font-size:12px}@media (width<=900px){._hero_159vj_7{text-align:center;grid-template-columns:1fr;min-height:0}._heroCopy_159vj_20{justify-self:center}._betaBadge_159vj_25{margin:auto}._hero_159vj_7 h1 em{display:inline}._heroCopy_159vj_20>p{margin:auto}._heroActions_159vj_67,._capabilityRow_159vj_104{justify-content:center}._phoneStage_159vj_125{min-height:570px}._phone_159vj_125{transform:none}._statusCard_159vj_374{grid-template-columns:1fr 1fr}._statusCard_159vj_374>._primaryAction_159vj_73{grid-column:1/-1}._flowGrid_159vj_483{grid-template-columns:1fr}._flowGrid_159vj_483 article{min-height:260px}._installSection_159vj_472{grid-template-columns:1fr}}@media (width<=600px){._hero_159vj_7{gap:30px;padding-top:46px;padding-bottom:58px}._hero_159vj_7 h1{margin:20px 0;font-size:51px;line-height:.98}._heroCopy_159vj_20>p{font-size:14px}._heroActions_159vj_67{flex-direction:column}._heroActions_159vj_67>*{width:100%}._capabilityRow_159vj_104{gap:8px 12px}._phoneStage_159vj_125{min-height:530px;margin-top:12px}._phoneStage_159vj_125:before{width:390px;height:390px}._phoneStage_159vj_125:after{width:330px;height:330px}._phone_159vj_125{border-radius:44px;width:260px;height:530px}._phoneScreen_159vj_178{border-radius:36px;grid-template-rows:59px 1fr 69px}._dynamicIsland_159vj_166{top:16px}._handPreview_159vj_313 i{width:25px;height:37px}._statusSection_159vj_369{padding-bottom:65px}._statusCard_159vj_374{grid-template-columns:1fr;padding:23px 19px}._statusCard_159vj_374>._primaryAction_159vj_73{grid-column:auto}._flowSection_159vj_451{padding-top:82px;padding-bottom:88px}._flowSection_159vj_451>header{text-align:left;margin-bottom:34px}._flowSection_159vj_451 h2,._installSection_159vj_472 h2{font-size:40px}._flowGrid_159vj_483 article{min-height:285px;padding:25px 22px}._installSection_159vj_472{border-radius:22px;gap:35px;margin-left:10px;margin-right:10px;padding:62px 21px}._installSection_159vj_472 li{grid-template-columns:24px 26px 1fr;padding-left:12px;padding-right:12px}}._page_1s4k5_1{background:radial-gradient(circle at 88% 1%, #c8a96b2e, transparent 20%), linear-gradient(180deg, #f9f5eb, var(--ivory));min-height:calc(100vh - 76px);padding:clamp(38px,5vw,72px) clamp(16px,3.2vw,54px) 90px}._hero_1s4k5_9{grid-template-columns:minmax(420px,1.1fr) minmax(360px,.9fr);align-items:end;gap:clamp(38px,8vw,130px);max-width:1540px;margin:0 auto clamp(30px,4vw,54px);display:grid}._eyebrow_1s4k5_18{color:var(--cinnabar);letter-spacing:.17em;text-transform:uppercase;font-size:11px;font-weight:850}._hero_1s4k5_9 h1{color:var(--jade-950);margin-top:15px;font-size:clamp(53px,6vw,88px);line-height:.94}._hero_1s4k5_9 h1 em{color:var(--cinnabar);font-weight:inherit}._intro_1s4k5_38{padding-bottom:4px}._intro_1s4k5_38>p{color:#5d6962;max-width:630px;margin:0 0 24px;font-size:clamp(14px,1.4vw,18px)}._intro_1s4k5_38>div{flex-wrap:wrap;gap:8px;display:flex}._intro_1s4k5_38 span{color:#657169;background:#fffdf799;border:1px solid #10504724;border-radius:999px;align-items:center;gap:6px;min-height:40px;padding:0 12px;font-size:10px;font-weight:700;display:inline-flex}._intro_1s4k5_38 strong{color:var(--jade-800);font-size:14px}@media (width<=900px){._page_1s4k5_1{min-height:calc(100vh - 66px);padding-top:36px}._hero_1s4k5_9{grid-template-columns:1fr;gap:22px}._hero_1s4k5_9 h1{font-size:clamp(49px,12vw,72px)}}@media (width<=600px){._page_1s4k5_1{padding:30px 12px 70px}._hero_1s4k5_9{margin-bottom:28px}._hero_1s4k5_9 h1{margin-top:10px;font-size:46px}._intro_1s4k5_38>p{font-size:13px}}
