/* v3 keeps the jade tabletop and makes full Mahjong hands readable. */
.v3 .game-shell{grid-template-columns:205px minmax(0,1fr)}
.v3 .sidebar{gap:15px;padding:23px 17px;position:sticky;top:0;align-self:start;min-height:100svh}
.v3 .game-board{padding:22px 30px 17px}
.v3 .center-stage{min-height:240px;padding:22px 0 18px;flex:1}
.v3 .inventory{margin-bottom:16px}.v3 .relics{gap:12px}.v3 .relic-slot{height:108px}.v3 .relic-art{height:53px;width:53px}.v3 .relic-art strong{font-size:34px}.v3 .relic-name{font-size:11px;letter-spacing:1px}.v3 .relic-rarity{font-size:8px}
.v3 .resource-wallet{border-top:1px solid #8ea58955;border-bottom:1px solid #8ea58955;padding:9px 0;display:flex;flex-direction:column;gap:2px}.resource-wallet>div{display:flex;justify-content:space-between;align-items:center;padding:8px 3px}.resource-wallet span{font-size:12px;font-weight:700}.resource-wallet small{display:block;font-size:9px;opacity:.65;font-weight:400;margin-top:4px}.resource-wallet b{font:800 25px var(--mono)}.resource-money{color:#efc775}.resource-material{color:#acd3a0}.resource-insight{color:#9ad2ec}
.v3 .sidebar-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v3 .sidebar-actions .mini-button{grid-column:auto;font-size:10px;letter-spacing:0;padding:7px 3px}.v3 .run-meta{font-size:9px;line-height:2}
.wonder-bar{display:flex;align-items:center;gap:10px;min-height:45px;border-top:1px solid #b5c29a30;border-bottom:1px solid #b5c29a30;padding:8px 0}.wonder-label{font-size:10px;color:#bfcba9;letter-spacing:2px}.wonder-empty{flex:1;font-size:10px;color:#99b399}.wonder-bar>.mini-button{margin-left:auto;white-space:nowrap;font-size:10px}.wonder-chip{display:flex;gap:8px;align-items:center;background:#172f28;border:1px solid #77927b;border-radius:5px;padding:5px 8px;text-align:left;line-height:1.4}.wonder-chip>b{font:800 25px serif;color:#dbc492}.wonder-chip span{font-size:10px;font-weight:800}.wonder-chip small{display:block;font-size:8px;color:#b0c1a5;font-weight:400}.wonder-chip.complete{border-color:#ecd28d;box-shadow:0 0 12px #efcc721f}
.lesson-banner{margin-top:15px;border:1px solid #d5bd725e;border-left:3px solid #d5bd72;background:#d1b8670d;border-radius:5px;padding:12px 14px;text-align:left}.lesson-top{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#f3d895;font-size:12px;font-weight:800}.lesson-banner p{font-size:11px;line-height:1.9;color:#d6dec7;margin-top:6px}.lesson-banner small{display:block;font-size:9px;color:#a7bca6;margin-top:5px;line-height:1.7}.text-button{background:none;color:#b7c7ac;font-size:10px;text-decoration:underline;text-underline-offset:4px;padding:5px 0;white-space:nowrap}.lesson-top .text-button{font-size:9px;font-weight:400}
.v3 .hand-title{margin-bottom:13px}.v3 .hand-title h2{font-size:27px;letter-spacing:2px}.v3 .score-preview{gap:14px}.v3 .preview-chips,.v3 .preview-mult{font-size:35px}.v3 .preview-total{font-size:13px}.v3 .preview-total b{font-size:30px}.gain-preview{display:flex;justify-content:center;gap:19px;margin:12px 0 17px;font-size:10px}.gain-preview b{font:800 14px var(--mono);margin-left:3px}
.meld-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) .75fr;gap:7px;max-width:830px;margin:0 auto 12px}.meld-slot{min-width:0;border:1px dashed #aac09a4f;border-radius:6px;padding:7px 3px 8px;background:#14392e35}.meld-slot.filled{border-style:solid;border-color:#9daf8166;background:#102e2650}.meld-slot>span{display:block;font-size:9px;color:#9cb897;margin-bottom:6px}.meld-slot>div{display:flex;justify-content:center;gap:3px;min-height:25px;align-items:center;flex-wrap:wrap}.mini-tile{font-style:normal;font-weight:800;font-size:10px;background:#e9e1c7;color:var(--suit,#ad4235);border-radius:2px;padding:5px 3px;box-shadow:0 2px #a09b7f;white-space:nowrap;line-height:1.2}.slot-dash{font-style:normal;font-size:17px;letter-spacing:4px;color:#8cae844f}.loose-note{font-size:9px;color:#b9cba9;margin:8px auto;line-height:1.8;max-width:640px}.special-melds{display:flex;flex-wrap:wrap;justify-content:center}.special-melds .meld-slot{min-width:68px}.special-melds .meld-slot:has(.mini-tile:nth-child(8)){width:100%}.hint-actions{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:10px}.hint-actions .mini-button{font-size:10px;padding:6px 10px}.v3 .score-steps{font-size:10px;line-height:1.8}.chicken-strip{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:13px;font-size:9px;color:#d5c38e}.chicken-strip b{color:#ead295}.chicken-strip span{padding-left:7px;border-left:1px solid #bdb58940}
.v3 .hand-area{padding:13px 5px 5px}.v3 .tile-rack{display:grid;grid-template-columns:repeat(18,minmax(0,1fr));justify-content:center;gap:6px;overflow:visible;padding:27px 3px 21px;min-height:0}.v3 .mahjong-tile{width:100%;min-width:0;max-width:61px;height:77px;justify-self:center}.v3 .mahjong-tile .tile-face{height:49px}.v3 .mahjong-tile .pip-grid{width:29px;height:37px}.v3 .mahjong-tile .pip.dot{width:8px;height:8px}.v3 .mahjong-tile .pip.bamboo{width:5px;height:10px}.v3 .mahjong-tile .wan-number{font-size:20px}.v3 .mahjong-tile .wan-glyph{font-size:25px}.honor-glyph{font:900 36px 'Songti SC',serif}.suit-3{--suit:#425868}.honor-5{color:#af4538}.honor-6{color:#287644}.honor-7{border:2px solid #477194;font-size:25px;line-height:1.2;padding:3px;border-radius:3px}.v3 .action-bar{flex-direction:row;padding:10px 3px 6px}.v3 .selection-info{max-width:none;justify-content:flex-start;gap:8px}.v3 .action-buttons{justify-content:flex-end}.v3 .action-buttons button{min-width:125px;font-size:13px}.rack-help{font-size:9px;text-align:center;line-height:1.8;color:#9fb99e;margin-top:7px}.rack-help .mini-button{font-size:9px;margin-left:8px}.v3 .table-footer{font-size:9px;padding-top:18px}.v3 .last-hit{margin:8px 0 0}
.challenge-ticket{display:flex;align-items:center;justify-content:center;gap:24px;border:1px solid #b9b38578;border-radius:9px;background:#142f2855;padding:25px;margin:24px auto;max-width:610px;text-align:left}.challenge-ticket .blind-seal{flex-shrink:0;margin:0}.challenge-ticket strong{display:block;font:900 36px var(--mono);color:#eddbac;margin-top:6px}.challenge-ticket p{color:#b6c9ae;font-size:11px;line-height:2;max-width:260px}.challenge-ticket .eyebrow{white-space:nowrap}
.v3 .shop-heading h2{font-size:24px}.v3 .shop-grid{gap:16px}.v3 .shop-item{padding:18px 12px 14px}.v3 .shop-relic{width:112px;height:130px}.v3 .shop-relic .relic-art{height:68px;width:68px}.v3 .shop-relic .relic-art strong{font-size:43px}.v3 .shop-description{font-size:11px;min-height:42px}.v3 .shop-footer{margin:20px 0 22px}.section-divider{display:flex;align-items:center;color:#a9bda2;font-size:10px;gap:12px;margin:22px 0 16px}.section-divider:before,.section-divider:after{content:'';height:1px;background:#819f7244;flex:1}.blueprint-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:13px}.blueprint{border:1px solid #87a5976b;background:#25463d63;border-radius:6px;padding:15px;display:flex;flex-direction:column;gap:10px;text-align:left}.blueprint>div{display:flex;gap:12px;align-items:center}.blueprint-icon{font:800 30px serif;color:#d7c9a0}.blueprint h3{font-size:14px}.blueprint p{font-size:11px;line-height:1.9;flex:1;color:#c7d6c0}.blueprint>small{font-size:9px;line-height:1.8;color:#a8bea2}.blueprint .price-button{max-width:none;font-size:10px;letter-spacing:0;padding:9px 5px;line-height:1.7}.muted-note{font-size:10px;line-height:1.9;color:#9fb89b;margin-top:16px}.cashout-hand{margin:15px 0 20px!important}.group-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.group-option{display:flex;flex-direction:column;gap:5px;text-align:left;background:#375647;border:1px solid #8da67c;border-radius:5px;padding:12px}.group-option>b{font-size:12px;color:#e5d4a3}.group-option span{font-size:11px}.group-option small{font-size:10px;color:#b2c7a6}.seek-faces{display:flex;flex-wrap:wrap;gap:9px}.new-run-form select{min-width:140px;background:#172e22;border:2px solid #80966c;border-radius:6px;padding:9px;color:#f3e2b3}.v3 .pattern-description{font-size:11px}
.v3 .welcome-screen{min-height:100svh;max-width:1120px;margin:auto;padding:50px 65px;display:block}.welcome-brand{display:flex;align-items:center;gap:17px}.welcome-brand h1{font-size:29px;letter-spacing:8px}.welcome-brand>div>span{font:9px var(--mono);letter-spacing:2px;color:#a9c0aa}.welcome-brand>small{margin-left:auto;color:#9eb79f;font-size:10px}.welcome-copy{margin-top:65px}.welcome-copy h2{font-size:49px;letter-spacing:1px;line-height:1.35;font-weight:800;color:#f0e6c9;text-shadow:0 4px #0f3329}.welcome-copy p{font-size:14px;line-height:2;color:#b7cbb1;margin-top:19px}.welcome-copy .section-kicker{font-size:11px;color:#d8bd7c;margin-bottom:18px;letter-spacing:4px}.welcome-tiles{display:flex;gap:12px;margin:29px 0 42px}.welcome-tiles .hand-preview-tile{transform:rotate(-3deg);width:55px;height:78px}.welcome-tiles .hand-preview-tile:nth-child(3n){transform:translateY(-7px) rotate(5deg)}.welcome-tiles .hand-preview-tile .tile-face{height:51px}.welcome-tiles .hand-preview-tile .pip-grid{width:32px;height:41px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mode-card{padding:24px;border:1px solid #8fa68a6e;border-radius:9px;background:#193e33ad;display:flex;flex-direction:column;gap:12px}.mode-card.recommended{border-color:#d8c382;background:#364d3659}.mode-number{font:10px var(--mono);letter-spacing:2px;color:#c1ba91}.mode-card h3{font-size:22px}.mode-card p{font-size:12px;color:#b7cbb1;line-height:1.9;flex:1}.mode-card button{font-size:12px;width:100%;margin-top:7px}.mode-card.advanced{grid-column:1/-1;display:grid;grid-template-columns:1fr 2fr auto;gap:10px 18px;align-items:center;padding:18px 24px}.mode-card.advanced .mode-number{grid-column:1}.mode-card.advanced h3{grid-column:1;font-size:16px}.mode-card.advanced p{grid-row:1/3;grid-column:2;font-size:11px}.mode-card.advanced button{grid-row:1/3;grid-column:3;margin:0;font-size:10px}.welcome-footer{margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;color:#97b094}.welcome-footer button{font-size:10px}
@media(min-width:1450px){.v3 .game-shell{grid-template-columns:240px minmax(0,1fr)}.v3 .game-board{padding:25px 45px}.v3 .relic-slot{height:126px}.v3 .relic-art{height:66px;width:66px}.v3 .relic-art strong{font-size:42px}.v3 .mahjong-tile{height:86px}.v3 .mahjong-tile .tile-face{height:57px}}
@media(max-width:1250px){.v3 .tile-rack{grid-template-columns:repeat(9,minmax(0,1fr));gap:30px 9px;max-width:600px;margin:auto}.v3 .mahjong-tile{max-width:53px}.v3 .game-shell{grid-template-columns:185px minmax(0,1fr)}.v3 .game-board{padding:19px 24px}.v3 .sidebar{padding:20px 14px}.v3 .meld-slot>div{gap:2px}.v3 .mini-tile{font-size:9px;padding:5px 2px}}
@media(max-width:850px){.v3 .game-shell{grid-template-columns:155px minmax(0,1fr)}.v3 .game-board{padding:18px 17px}.v3 .sidebar{padding:18px 11px;gap:14px}.v3 .brand-mark{width:33px;height:42px;font-size:26px}.v3 .brand{gap:9px}.v3 .brand h1{font-size:23px;letter-spacing:3px}.v3 .brand small{font-size:7px}.v3 .sidebar-actions{grid-template-columns:1fr}.v3 .relic-slot{height:90px}.v3 .relics{gap:8px}.v3 .relic-art{height:43px;width:43px}.v3 .relic-art strong{font-size:29px}.v3 .relic-name{font-size:10px;letter-spacing:0}.v3 .relic-rarity{font-size:7px;letter-spacing:0}.v3 .center-stage{padding:19px 0 15px}.v3 .hand-title h2{font-size:23px}.v3 .tile-rack{gap:27px 7px}.v3 .mahjong-tile{height:74px}.v3 .mahjong-tile .tile-face{height:46px}.v3 .mahjong-tile .pip-grid{width:27px;height:35px}.v3 .mahjong-tile .pip.dot{width:7px;height:7px}.v3 .mahjong-tile .pip.bamboo{width:4px;height:9px}.v3 .mahjong-tile .wan-number{font-size:18px}.v3 .mahjong-tile .wan-glyph{font-size:23px}.v3 .mahjong-tile .one-bamboo{font-size:31px}.v3 .hand-header small{font-size:9px}.v3 .sort-control{gap:4px}.v3 .sort-control .mini-button{font-size:9px;padding:5px 7px}.v3 .action-buttons button{min-width:0;font-size:12px}.v3 .action-bar{gap:12px}.v3 .hand-title{gap:8px}.v3 .level-pill{font-size:9px;padding:4px 7px}.v3 .meld-board{gap:4px}.v3 .meld-slot{padding:7px 2px}.v3 .mini-tile{font-size:8px;padding:5px 2px}.v3 .gain-preview{gap:12px;font-size:9px}.v3 .score-preview{gap:12px}.v3 .preview-chips,.v3 .preview-mult{font-size:31px}.v3 .preview-total b{font-size:27px}.lesson-banner{padding:10px 11px}.lesson-top{font-size:11px}.lesson-banner p{font-size:10px}.v3 .challenge-ticket{gap:17px;padding:19px 12px;flex-wrap:wrap}.challenge-ticket p{max-width:none;width:100%;text-align:center}.v3 .shop-grid{gap:9px}.v3 .shop-item{padding:12px 7px}.v3 .shop-relic{width:82px;height:110px}.v3 .shop-relic .relic-art{height:51px;width:51px}.v3 .shop-relic .relic-art strong{font-size:33px}.v3 .shop-description{font-size:10px}.v3 .shop-heading h2{font-size:20px}.v3 .shop-heading>span{font-size:10px}.v3 .shop-footer button{font-size:11px;padding:11px 14px}.v3 .welcome-screen{padding:35px}.welcome-copy{margin-top:46px}.welcome-copy h2{font-size:43px}.mode-card{padding:21px}.wonder-empty{font-size:9px}.wonder-bar{gap:7px}.wonder-chip{padding:4px 6px}.wonder-label{font-size:9px}}
@media(max-width:600px){.v3 .game-shell{display:flex;flex-direction:column}.v3 .sidebar{position:relative;min-height:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px}.v3 .brand{grid-row:1;grid-column:1/3}.v3 .blind-badge{grid-row:1;grid-column:3/5;font-size:11px}.v3 .score-target{grid-row:2;grid-column:1/3}.v3 .round-score{grid-row:2;grid-column:3/5}.v3 .counter-grid{grid-row:3;grid-column:1/3;gap:7px}.v3 .counter{padding:5px 1px}.v3 .counter b{font-size:21px}.v3 .resource-wallet{grid-row:3;grid-column:3/5;flex-direction:row;justify-content:space-around;border:0;padding:0;gap:7px}.resource-wallet>div{flex-direction:column;padding:0;gap:5px}.resource-wallet span{font-size:8px;white-space:nowrap}.resource-wallet small{display:none}.resource-wallet b{font-size:21px}.v3 .sidebar-actions{grid-row:4;grid-column:1/-1;display:flex;justify-content:center;margin:0;gap:8px}.v3 .sidebar-actions .mini-button{font-size:9px;padding:5px 7px}.v3 .sidebar-actions .mini-button:after{display:none}.v3 .run-meta{display:none}.v3 .game-board{padding:16px 13px;overflow:hidden}.v3 .board-top{margin-bottom:13px}.v3 .relic-slot{height:85px}.v3 .relics{gap:7px}.v3 .relic-name{font-size:9px}.v3 .relic-rarity{font-size:6px}.v3 .relic-art{height:41px;width:39px}.v3 .relic-art strong{font-size:27px}.v3 .inventory{margin-bottom:12px}.v3 .hand-title h2{font-size:23px}.v3 .tile-rack{gap:27px 6px;padding:26px 2px 22px}.v3 .mahjong-tile{height:64px;padding:3px 1px 4px;border-width:1px}.v3 .mahjong-tile .tile-face{height:42px}.v3 .mahjong-tile .pip-grid{width:25px;height:31px;gap:1px}.v3 .mahjong-tile .pip.dot{width:7px;height:7px}.v3 .mahjong-tile .wan-number{font-size:17px}.v3 .mahjong-tile .wan-glyph{font-size:21px}.v3 .mahjong-tile .tile-top{font-size:8px;padding:0 2px;height:10px}.v3 .mahjong-tile .tile-top>span{font-size:7px}.v3 .mahjong-tile .one-bamboo{font-size:30px}.v3 .action-bar{gap:9px}.v3 .action-buttons{gap:8px}.v3 .action-buttons button{font-size:11px;letter-spacing:0;padding:11px 8px}.v3 .selection-info{gap:4px;font-size:10px}.v3 .hand-header small{display:none}.v3 .gain-preview{gap:13px}.v3 .meld-board{grid-template-columns:repeat(4,minmax(0,1fr)) .75fr;gap:4px}.v3 .mini-tile{font-size:8px;padding:4px 2px}.v3 .meld-slot>div{gap:3px}.v3 .hint-actions{gap:8px}.v3 .hint-actions .mini-button{font-size:9px;padding:6px 8px}.v3 .score-steps{font-size:9px}.lesson-top{font-size:10px}.v3 .shop-grid{gap:7px}.v3 .shop-item{padding:10px 5px}.v3 .shop-relic{width:76px;height:104px}.v3 .shop-description{min-height:62px;font-size:10px}.blueprint-grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.blueprint{padding:12px}.blueprint p{font-size:10px}.blueprint h3{font-size:12px}.v3 .welcome-screen{padding:28px 21px}.welcome-brand h1{font-size:25px}.welcome-brand>small{font-size:8px}.welcome-brand>div>span{font-size:8px}.welcome-copy{margin-top:43px}.welcome-copy h2{font-size:36px}.welcome-copy p{font-size:12px}.welcome-tiles{gap:8px;margin:27px 0 32px}.welcome-tiles .hand-preview-tile{width:38px;height:62px;border-width:1px;padding:3px 2px}.welcome-tiles .hand-preview-tile .tile-face{height:39px}.welcome-tiles .hand-preview-tile .pip-grid{width:25px;height:32px}.welcome-tiles .hand-preview-tile .pip.dot{width:7px;height:7px}.welcome-tiles .hand-preview-tile .wan-number{font-size:16px}.welcome-tiles .hand-preview-tile .wan-glyph{font-size:21px}.mode-grid{grid-template-columns:1fr;gap:13px}.mode-card{padding:21px;gap:10px}.mode-card h3{font-size:20px}.mode-card p{font-size:11px}.mode-card.advanced{display:flex;gap:10px;padding:21px}.mode-card.advanced button{margin-top:7px}.welcome-footer{font-size:9px;line-height:1.7}.group-options{grid-template-columns:1fr}.wonder-chip small{font-size:7px}.wonder-chip span{font-size:9px}.wonder-chip>b{font-size:20px}.wonder-empty{font-size:9px}.wonder-bar>.mini-button{font-size:9px}.v3 .honor-glyph{font-size:28px}.v3 .honor-7{font-size:20px}}
@media(prefers-reduced-motion:reduce){.v3 *{animation:none!important;transition:none!important}}
.v3 .counter small{white-space:nowrap;font-size:10px}
@media(max-width:850px){.v3 .counter small{font-size:9px}}
@media(max-width:600px){.v3 .tile-rack{grid-template-columns:repeat(6,minmax(0,1fr));gap:26px 8px;max-width:380px}.v3 .mahjong-tile{max-width:51px;height:70px}.v3 .mahjong-tile .tile-face{height:45px}}
@media(max-width:600px){.v3 .sidebar{align-self:stretch;width:100%}}
