:root{color-scheme:dark;--bg:#0b0c10;--gold:#e6c583;--muted:#9e927e;--line:rgba(213,173,96,.27);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#efe5d2;background:var(--bg)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#25201b 0,transparent 70%),#090a0d}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #ffe8ac;outline-offset:4px}button{touch-action:manipulation}[hidden]{display:none!important}h1,h2,p{margin:0}.game-shell{max-width:480px;min-height:100dvh;margin:auto;background:linear-gradient(180deg,#10100f,#101114 73%,#0c0c0e);border-left:1px solid #29231b;border-right:1px solid #29231b;padding-bottom:env(safe-area-inset-bottom)}
.game-header{height:75px;padding:10px 15px 5px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1;background:linear-gradient(#121110,#0b0c0f);border-bottom:1px solid var(--line)}.game-header>div:nth-child(2){text-align:center;margin-left:35px}.game-header h1{font:700 27px/1.2 "Songti SC","Noto Serif CJK SC",serif;letter-spacing:5px;color:#f4dfb0;text-shadow:0 2px 12px #b6762244}.game-header p{font-size:10px;letter-spacing:1.5px;color:var(--muted);margin-top:5px}.header-buttons{display:flex;gap:5px}.circle-button{width:44px;min-height:44px;display:inline-grid;place-items:center;background:none;border:0;color:var(--gold);font-size:22px}.back-game{font-size:38px;width:35px}.connection-banner{padding:9px 12px;text-align:center;background:#472d15;font-size:12px;position:sticky;top:0;z-index:5}
.table-stage{height:275px;position:relative;isolation:isolate;overflow:hidden}.table-art{width:100%;height:100%;object-fit:cover;object-position:center;position:absolute;inset:0;z-index:-1;mask-image:linear-gradient(#000 90%,transparent)}.round-clock{position:absolute;left:50%;top:15px;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:6px}.countdown{width:64px;height:64px;display:grid;place-items:center;border:1px solid #f1c976;border-radius:50%;font:36px/1 Georgia,serif;background:radial-gradient(#23231edd,#080a0ce8);color:#ffe2a3;box-shadow:0 0 16px #ffd78b50,inset 0 0 10px #b1772833}.round-clock>.phase-label{min-width:90px;border:1px solid #a37d3b99;border-radius:20px;padding:4px 9px;background:#0c0d10d9;text-align:center;font-size:11px;color:#f3dca9}.countdown.urgent{color:#ff9e7e;border-color:#f77856}.dealt-cards{position:absolute;left:50%;transform:translateX(-50%);top:127px;display:flex;align-items:center;gap:17px}.playing-card{width:65px;height:91px;border-radius:6px;border:2px solid #e8c68c;box-shadow:0 4px 12px #000a,inset 0 0 0 3px #38200d,inset 0 0 0 4px #bd9149;background:repeating-conic-gradient(#612c20 0 25%,#482519 0 50%) 0/12px 12px;display:grid;place-items:center;position:relative;transition:transform .3s}.playing-card>span{width:42px;height:65px;display:grid;place-items:center;border:1px solid #d2ab64;font:27px "Songti SC",serif;color:#e1b46a;background:#42201599}.playing-card.revealed{background:linear-gradient(145deg,#fff9e9,#ddd4c0);color:#17191d;box-shadow:0 4px 12px #000a;border-color:#f7e8c9;animation:flip-in .35s ease-out}.playing-card.revealed.red-card{color:#a33033}.card-rank{position:absolute;top:5px;left:7px;font:700 21px Georgia,serif}.card-suit{font-size:30px;align-self:center}.card-corner{position:absolute;bottom:4px;right:5px;font:14px Georgia,serif;transform:rotate(180deg)}.versus{font:italic 700 24px Georgia,serif;color:#f8d688;text-shadow:0 0 9px #ff991e}.round-pill{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);border:1px solid #b78d49;border-radius:30px;background:linear-gradient(#25201b,#0c0c10);font-size:10px;letter-spacing:1px;padding:0 15px;min-height:34px;white-space:nowrap;color:#eed3a3}.round-pill small{margin-left:5px}.result-ribbon{position:absolute;inset:100px 0 auto;background:linear-gradient(90deg,transparent,#15100dea 15% 85%,transparent);text-align:center;font:700 23px "Songti SC",serif;padding:8px 0;color:#ffe7af;text-shadow:0 0 12px #f4a439;pointer-events:none}
.selection-grid{display:grid;grid-template-columns:1fr .72fr 1fr;gap:9px;margin:0 13px 13px}.selection{height:120px;border:1px solid #cba45d;border-radius:9px;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:6px 0;position:relative;box-shadow:inset 0 0 0 3px #0a0a0c,inset 0 0 0 4px #b18a3a66;background:radial-gradient(at 50% 0,#822d2e99,#3a141e);transition:filter .18s,transform .18s;overflow:hidden}.selection::before{content:"";position:absolute;inset:9px;border-top:1px solid #f0cc9033;border-bottom:1px solid #f0cc9033;pointer-events:none}.selection.tiger{background:radial-gradient(at 50% 0,#235b8799,#10243e);border-color:#72b0d8}.selection.tie{background:radial-gradient(at 50% 0,#26725e77,#10342d);border-color:#7b9d6a}.selection:disabled{filter:saturate(.7)}.selection:not(:disabled):active{transform:scale(.97)}.selection.winner{box-shadow:inset 0 0 0 3px #0a0a0c,inset 0 0 0 4px #f9da91,0 0 15px #f6d28b77;filter:brightness(1.25)}.side-name{font:700 47px/1 "Songti SC","Noto Serif CJK SC",serif;color:#f4d69a;text-shadow:1px 2px 1px #6e421c}.side-english{font:9px Georgia,serif;letter-spacing:1.8px;color:#efdbb2;margin:3px 0 6px}.confirmed{font-size:10px;border:1px solid #b18a3a80;border-radius:15px;padding:3px 8px;background:#0003}.confirmed b{font-weight:500}.draft{font-size:10px;min-height:14px;color:#ffdc85;margin-top:2px}.selection.pulse{animation:chip-pop .2s}
.road-panel{border:1px solid var(--line);border-radius:9px;margin:0 13px 7px;padding:9px 10px 6px;background:linear-gradient(140deg,#28201744,#101114)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.section-heading h2{font:600 14px "Songti SC",serif;letter-spacing:1px;color:#e5ce9e}.section-heading button{font-size:10px;border:0;background:none;min-height:27px;color:#9c917e}.road-grid{height:79px;display:grid;grid-auto-flow:column;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(12,1fr);gap:2px;background:repeating-linear-gradient(90deg,transparent 0 calc(100%/12 - 1px),#b8904c11 calc(100%/12 - 1px) calc(100%/12));overflow:hidden}.road-grid button{align-self:center;justify-self:center;width:22px;height:22px;padding:0;border-radius:50%;border:1px solid #c15252;color:#f8b5aa;background:#7e252477;font:12px "Songti SC",serif}.road-grid button.tiger{border-color:#548abb;color:#abd5fb;background:#204a7e77}.road-grid button.tie{border-color:#6a9d6a;color:#bce2aa;background:#245c3577}.empty-road{grid-column:1/-1;grid-row:1/-1;align-self:center;text-align:center;color:#857d70;font-size:11px;padding:10px}.road-stats{border-top:1px solid #b8904c22;display:flex;gap:18px;align-items:center;font-size:11px;padding-top:7px;margin-top:5px}.road-stats b{font-family:Georgia,serif;font-size:14px;font-weight:400;margin-left:2px}.road-stats small{margin-left:auto;font-size:8px;color:#8b8275}.red-text{color:#dc8b7c}.blue-text{color:#8fbce6}.green-text{color:#a9ca90}
.control-dock{padding:4px 16px 0;background:radial-gradient(at 50% 100%,#66502230,transparent 70%)}.wallet-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.wallet{display:flex;align-items:center;gap:8px;border:0;background:none;padding:0;text-align:left;min-height:48px}.coin-mark{width:35px;height:35px;display:grid;place-items:center;border:1px solid #be9852;border-radius:50%;color:#e9c47c;background:linear-gradient(145deg,#50402a,#1e1915);font-size:21px}.wallet small{display:block;font-size:10px;color:#9c927f;margin-bottom:2px}.wallet strong{font:24px Georgia,serif;letter-spacing:1px;color:#f0d9a8;font-variant-numeric:tabular-nums}.wallet-arrow{font-size:23px;color:#9e8a65;margin-left:7px}.text-button{border:1px solid #a98d5544;border-radius:20px;min-height:35px;min-width:65px;background:#27201966;color:#dec79a;font-size:11px}.text-button:disabled{opacity:.4}.chip-row{display:flex;align-items:center;justify-content:space-between;gap:7px}.chip{--chip:#abb3bb;flex:0 1 53px;width:53px;aspect-ratio:1;border:0;border-radius:50%;padding:5px;box-shadow:0 3px 3px #0008,inset 0 0 0 1px #fff5;background:repeating-conic-gradient(var(--chip) 0deg 24deg,#f2ebdd 24deg 34deg,var(--chip) 34deg 60deg);transition:transform .15s,box-shadow .15s;position:relative}.chip::after{content:"";position:absolute;inset:4px;border:1px solid #fff5;border-radius:50%;pointer-events:none}.chip>span{display:grid;place-items:center;height:100%;border:1px solid #fff7;border-radius:50%;background:radial-gradient(at 30% 20%,var(--chip),#111c);font:700 18px Georgia,serif;text-shadow:0 1px 2px #000;color:#fff7e6}.chip-50{--chip:#8750b3}.chip-100{--chip:#c49326}.chip-500{--chip:#a1393d}.chip-1000{--chip:#3875b3}.chip[aria-pressed="true"]{transform:translateY(-3px);box-shadow:0 0 15px #f3c4558a,0 0 0 2px #ffe0a3}.clear-button{min-width:36px;min-height:44px;font:32px Georgia,serif;border:0;background:none;color:#d0b270}.clear-button:disabled{opacity:.35}.selection-summary{display:flex;justify-content:space-between;margin:12px 0 9px;font-size:10px;color:#9c917e}.selection-summary strong{font-size:12px;font-weight:500;color:#ddc599;margin-left:5px}.confirm-button{width:100%;min-height:48px;border:1px solid #f0d79d;border-radius:7px;background:linear-gradient(115deg,#e0b663,#ffe5a0 50%,#ca9948);color:#3a240b;font-weight:700;font-size:16px;letter-spacing:1px;box-shadow:inset 0 0 0 3px #9e6b2633,0 3px 14px #0004}.confirm-button:disabled{background:linear-gradient(110deg,#514735,#776447,#514735);color:#b8a37d;border-color:#967b4c55;box-shadow:none}.game-disclaimer{text-align:center;font-size:9px;letter-spacing:1.5px;color:#8c7d61;padding:11px 0 12px}.toast{position:fixed;left:50%;bottom:calc(100px + env(safe-area-inset-bottom));transform:translateX(-50%);padding:12px 18px;max-width:calc(100vw - 30px);width:max-content;border:1px solid #b08b4c66;background:#21201bf5;color:#f5deb4;border-radius:8px;box-shadow:0 5px 25px #0008;font-size:12px;z-index:20}
.game-dialog{width:min(420px,calc(100vw - 28px));max-height:85dvh;background:linear-gradient(145deg,#242018,#111317 60%);color:#dfd3bd;border:1px solid #8e7041;border-radius:14px;padding:22px;box-shadow:0 20px 90px #000a}.game-dialog::backdrop{background:#040609c9;backdrop-filter:blur(7px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:9px;margin-bottom:15px}.dialog-heading h2{font:600 22px "Songti SC",serif;color:#ebd3a3}.dialog-content{font-size:12px;line-height:1.9}.dialog-content h3{font-size:13px;color:#e8c88a;margin:17px 0 5px}.dialog-content p{margin-bottom:8px}.dialog-content ul{padding-left:18px}.dialog-content table{width:100%;border-collapse:collapse}.dialog-content td,.dialog-content th{text-align:left;border-bottom:1px solid #b8904c22;padding:9px 3px;font-size:11px}.dialog-content button{width:100%;padding:12px 0;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);font-size:12px}.dialog-content .ledger-item{display:flex;justify-content:space-between;border-bottom:1px solid #b8904c22;padding:10px 0;gap:10px}.ledger-item small{display:block;font-size:10px;color:#9e927e}.positive{color:#cfe2a5}.negative{color:#edaa98}#entryDialog{text-align:center;padding:30px 24px}#entryDialog h2{font:700 29px "Songti SC",serif;letter-spacing:2px;margin:15px 0;color:#f6dfb4}#entryDialog>p:not(.overline){font-size:13px;line-height:1.9;color:#b7aa93}#entryDialog .dialog-fine{font-size:10px!important;color:#94856c!important;margin:18px 0 22px}.dialog-ornament{font:45px "Songti SC",serif;color:#e4c07e;margin-bottom:20px}.dialog-ornament span{font:20px Georgia,serif;color:#827156;margin:0 18px}.overline{font-size:9px;letter-spacing:2.3px;color:#b8a687}.dialog-back{display:inline-block;min-height:44px;padding:15px 0 0;font-size:11px;color:#ad9c7e}.entry-error{margin-top:10px!important;color:#ffb4a3!important;min-height:1em}.dialog-content .round-detail{font-size:16px;color:#ead4ad;margin-bottom:10px}
.hall-body{background:radial-gradient(ellipse at 75% 0,#31281c55,transparent 60%),#0b0c10}.hall-shell{--hall-gutter:26px;max-width:850px;margin:auto;padding:0 var(--hall-gutter)}.hall-header{height:86px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d7bc8c20}.back-link{font-size:34px;display:flex;gap:12px;align-items:center;min-height:44px;color:#d5ba89}.back-link span{font-size:15px;letter-spacing:2px;font-weight:700}.hall-intro{padding:44px 0 31px}.hall-intro h1{font:500 49px/1.25 "Songti SC",serif;color:#efe5d4;letter-spacing:2px;margin:15px 0}.hall-intro h1 em{color:#dec18d;font-style:normal}.hall-intro>p:last-child{font-size:12px;color:#9c9588;letter-spacing:1px}.game-feature{display:block;position:relative;overflow:hidden;min-height:360px;border:1px solid #98774688;border-radius:15px;background:#111216}.game-feature>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .5s}.game-feature:hover>img{transform:scale(1.03)}.game-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 15%,#0a0b0f55 37%,#0b0d11 92%)}.feature-tag{position:absolute;z-index:1;top:15px;left:17px;font-size:10px;padding:5px 10px;border:1px solid #dec18d66;border-radius:20px;background:#171412c9;color:#e5c890}.feature-copy{position:absolute;left:24px;right:24px;bottom:23px;z-index:1}.feature-copy h2{font:600 36px "Songti SC",serif;letter-spacing:5px;margin:7px 0;color:#f5ddad}.feature-copy p{font-size:11px;color:#b8aa91;letter-spacing:1px}.feature-cta{display:flex;align-items:center;justify-content:space-between;width:132px;padding:12px 15px;background:linear-gradient(110deg,#ddbd7c,#f0dba6);border-radius:5px;margin-top:20px;color:#392a16;font-size:12px;font-weight:600}.feature-cta>span{font-size:18px}.hall-details{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid #d7bc8c20;font:18px Georgia,serif;color:#d5c19e}.hall-details small{font:10px sans-serif;color:#969082;margin-left:5px}.hall-note{display:flex;gap:14px;padding:27px 0;color:#bfa77a}.hall-note>span{font-size:23px}.hall-note p{font-size:12px;line-height:1.8}.hall-note small{font-size:10px;color:#928774}.hall-footer{display:flex;justify-content:space-between;padding:20px 0 30px;border-top:1px solid #d7bc8c20;font-size:9px;letter-spacing:1.3px;color:#8b8476}.hall-footer a{min-height:44px;display:flex;align-items:center;margin-top:-15px}
@keyframes flip-in{from{transform:rotateY(90deg)}to{transform:rotateY(0)}}@keyframes chip-pop{50%{transform:scale(.96);filter:brightness(1.35)}}
@media(min-width:700px){.game-shell{margin:20px auto;border:1px solid #71604055;border-radius:15px;overflow:hidden;min-height:0;box-shadow:0 25px 100px #0008}.hall-intro{padding-top:60px}.hall-intro h1{font-size:65px}.game-feature{min-height:460px}.feature-copy{left:35px;bottom:30px}.feature-copy h2{font-size:42px}}
@media(max-width:360px){.game-header{padding:9px 9px 4px}.game-header h1{font-size:24px}.table-stage{height:250px}.dealt-cards{top:112px}.selection-grid{margin:0 9px 10px;gap:7px}.selection{height:112px}.side-name{font-size:42px}.confirmed{font-size:9px;padding:3px 5px}.road-panel{margin-left:9px;margin-right:9px}.road-stats{gap:13px}.road-stats small{font-size:7px}.road-grid button{width:19px;height:19px;font-size:11px}.chip-row{gap:5px}.chip{flex-basis:45px}.chip>span{font-size:16px}.control-dock{padding-left:12px;padding-right:12px}.hall-shell{--hall-gutter:20px}.hall-intro h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Daily closure preserves the fixed stage while preventing fictional deal cards. */
.game-shell[data-phase="closed"] .dealt-cards{visibility:hidden}.game-disclaimer a{color:inherit;text-decoration:none;display:inline-block}.game-disclaimer a:focus-visible{outline:1px solid #f7cf79;outline-offset:3px}.round-pill #roundId{font-variant-numeric:tabular-nums}
.reference-theme .game-disclaimer #verificationLink{position:relative;z-index:2;font:500 clamp(9px,2.6vw,11px)/1.5 system-ui,sans-serif;letter-spacing:.5px;padding:3px 14px;color:#f1d18b;background:linear-gradient(90deg,transparent,#10100ff5 12%,#10100ff5 88%,transparent)}

.reference-theme #fairnessStrapline{position:absolute;left:16%;bottom:1px;width:68%;padding:1px 0;font:500 clamp(8px,2.25vw,10px)/1.25 system-ui,sans-serif;color:#dfc17f;letter-spacing:0;text-align:center;white-space:nowrap;background:linear-gradient(90deg,transparent,#101112 10%,#101112 90%,transparent)}
.reference-theme .game-disclaimer #verificationLink{max-width:94%;font-size:clamp(9px,2.5vw,11px);line-height:1.25;padding:0 14px;letter-spacing:0;text-align:center;background:transparent}

/* Market closures use a wide label; live round timers retain their circle. */
.reference-theme .game-shell[data-timer-phase="closed"] .round-clock::before{display:none}
.reference-theme .game-shell[data-timer-phase="closed"] #countdown,.reference-theme .game-shell[data-timer-phase="closed"] #phaseLabel{display:none}
.reference-theme #closedClock{position:absolute;left:50%;top:clamp(26px,var(--timer-y),40px);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:calc(7ch + 42px);min-width:0;max-width:calc(100% - 24px);min-height:34px;padding:6px 10px;box-sizing:border-box;border:1px solid #d6ae67b3;border-radius:12px;background:linear-gradient(110deg,#17170ff2,#292316f2,#17170ff2);box-shadow:0 0 12px #d5a45130;color:#ebd3a3;font:700 clamp(14px,4.2cqw,20px)/1 system-ui,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:0}
.reference-theme #closedSeconds{font:700 clamp(14px,4.2cqw,20px)/1 system-ui,sans-serif;font-variant-numeric:tabular-nums;color:#ffe39a}

.reference-theme #closedClockValue{display:flex;align-items:baseline;justify-content:center;gap:4px;white-space:nowrap}

.reference-theme #closedSeconds{flex:0 0 7ch;width:7ch;text-align:center}
.reference-theme #closedClockLabel,.reference-theme #closedClockUnit{font:500 clamp(10px,2.8cqw,13px)/1.3 system-ui,sans-serif}

/* Hall poster keeps its complete composition and embedded calligraphic title. */
.hall-body .game-feature{min-height:0}.hall-body .game-feature>img{position:static;display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;transform:none}.hall-body .game-feature::after{content:none}.hall-body .feature-copy{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 14px;background:linear-gradient(transparent,#080a0c99);z-index:1}.hall-body .feature-caption{font-size:12px;letter-spacing:1px;color:#c3ad82}.hall-body .feature-cta{margin:0;padding:0;width:auto;gap:8px;flex-shrink:0;background:transparent;border-radius:0;color:#ead09a;font-size:12px;font-weight:500}

/* Promotional artwork preserves its lettering at every hall viewport. */
.hall-body .hall-slogan{margin:0 calc(-1 * var(--hall-gutter));width:calc(100% + var(--hall-gutter) + var(--hall-gutter));padding:20px 0 18px}.hall-slogan>img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:contain}.hall-verification{margin:24px 0;color:#e4c88a}.hall-verification h2{margin:0 0 10px;font:600 15px/1.6 system-ui,sans-serif}.hall-verification p{margin:0;color:#cdbb99;font:14px/1.95 system-ui,sans-serif;overflow-wrap:anywhere}
