/* Original approved artwork is used as a clipped visual atlas. All personal
   values, card faces and history are live DOM; atlas placeholder data is covered. */
.reference-theme{background:#101112}
.reference-theme .game-shell{container-type:inline-size;--u:calc(min(100vw,480px) / 852);position:relative;isolation:isolate;width:100%;max-width:480px;aspect-ratio:852 / 1847;min-height:0;margin:0 auto;padding:0;overflow:hidden;border:0;border-radius:0;background:#101112;box-shadow:0 0 65px #0008}
.reference-theme .game-shell *{box-sizing:border-box}
.reference-theme .game-header,.reference-theme .table-stage,.reference-theme .selection,.reference-theme .road-panel,.reference-theme .wallet,.reference-theme .chip,.reference-theme .clear-button,.reference-theme .game-shell>.control-dock>.confirm-button,.reference-theme .game-disclaimer{position:absolute;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;transform:none}
.reference-theme .game-header{display:block;z-index:2}
.reference-theme .game-header>div:nth-child(2){margin:0}
.reference-theme .game-header h1,.reference-theme .game-header p{font-size:0;margin:0;line-height:0;text-shadow:none}
.reference-theme .game-header .circle-button{position:absolute;top:0;height:100%;min-height:0;padding:0;border:0;font-size:0;background:none;color:transparent}
.reference-theme .back-game{left:1%;width:10%}
.reference-theme .header-buttons{display:contents}
.reference-theme #soundButton{left:81%;width:10%}
.reference-theme #rulesButton{left:91%;width:9%}
.reference-theme #soundButton[aria-pressed="false"]::after{content:"";position:absolute;left:31%;top:26%;width:45%;height:2px;background:#d8b570;transform:rotate(48deg);box-shadow:0 0 2px #15120e}
.reference-theme .table-stage{overflow:visible;z-index:1}
.reference-theme .table-art{display:none}
.reference-theme .round-clock{position:absolute;inset:0;transform:none;display:block;pointer-events:none}
.reference-theme .countdown{position:absolute;left:44.6%;top:9.7%;width:12%;height:15.4%;display:grid;place-items:center;border:0;border-radius:5px;background:radial-gradient(ellipse,#1a1a16 30%,#121511 90%);box-shadow:none;color:#f8dda1;font:700 calc(70 * var(--u))/1 Georgia,serif;text-shadow:0 calc(2 * var(--u)) calc(3 * var(--u)) #94601c;font-variant-numeric:tabular-nums}
.reference-theme .countdown.urgent{color:#f4af84}
.reference-theme .round-clock>.phase-label{position:absolute;left:41.5%;top:27%;width:17%;height:6.1%;min-width:0;border:0;border-radius:0;background:#101211;display:flex;align-items:center;justify-content:center;font:calc(25 * var(--u))/1.1 "Noto Serif CJK SC",serif;white-space:nowrap;padding:0;color:#f2dba6}
.reference-theme .dealt-cards{position:absolute;inset:0;transform:none;display:block;pointer-events:none}
.reference-theme .playing-card{position:absolute;border:0;border-radius:calc(7 * var(--u));box-shadow:none;display:grid;place-items:center;transition:transform .35s;overflow:hidden}
.reference-theme .playing-card>span,.reference-theme .versus{font-size:0;border:0;background:none}
.reference-theme .playing-card.revealed{background:linear-gradient(135deg,#fff7df,#ded2b2)!important;border:calc(3 * var(--u)) solid #e6c58b;box-shadow:0 calc(8 * var(--u)) calc(15 * var(--u)) #0009}
.reference-theme .card-rank{font-size:calc(42 * var(--u));left:calc(13 * var(--u));top:calc(10 * var(--u))}
.reference-theme .card-suit{font-size:calc(64 * var(--u))}
.reference-theme .card-corner{font-size:calc(27 * var(--u));bottom:calc(10 * var(--u));right:calc(10 * var(--u))}
.reference-theme .round-pill{position:absolute;left:34.39%;top:88.4%;width:32.28%;height:9.64%;min-height:0;border:0;border-radius:0;transform:none;display:flex;align-items:center;justify-content:center;gap:calc(7 * var(--u));font:600 calc(28 * var(--u))/1 "Noto Serif CJK SC",serif;letter-spacing:0;color:#f7e2b3;isolation:isolate;padding:0;white-space:nowrap}
.reference-theme .round-pill::before{content:"";position:absolute;z-index:-1;inset:19% 10%;background:linear-gradient(90deg,#131412,#1d1c17,#101311)}
.reference-theme .round-pill small{display:none}
.reference-theme .result-ribbon{top:36%;padding:calc(12 * var(--u)) 0;font-size:calc(34 * var(--u));z-index:4}
.reference-theme .selection-grid{position:static;display:contents}
.reference-theme .selection{display:block;padding:0;overflow:visible;pointer-events:auto;filter:none!important;transition:transform .15s}
.reference-theme .selection::before{display:none}
.reference-theme .selection .side-name,.reference-theme .selection .side-english{font-size:0;line-height:0;margin:0;display:block;text-shadow:none}
.reference-theme .confirmed{position:absolute;left:16%;top:78%;width:67%;height:11%;display:flex;align-items:center;justify-content:center;gap:calc(10 * var(--u));border:0;border-radius:0;background:linear-gradient(90deg,#2c1218,#210d14,#2c1218);font:calc(25 * var(--u))/1 "Noto Serif CJK SC",serif;color:#f4d994;padding:0}
.reference-theme .confirmed b{font:inherit}
.reference-theme .tie .confirmed{left:15%;width:70%;top:77%;height:12%;gap:calc(7 * var(--u));background:linear-gradient(90deg,#14291e,#14271f,#172d20)}
.reference-theme .tiger .confirmed{background:linear-gradient(90deg,#13253d,#0c1c30,#13263d)}
.reference-theme .draft:empty{display:none}
.reference-theme .draft{position:absolute;top:65%;left:12%;right:12%;margin:0;padding:calc(3 * var(--u));border-radius:30px;font:600 calc(17 * var(--u))/1.4 "Noto Serif CJK SC",serif;background:#120f0bec;border:1px solid #d6b36577;color:#ffe2a0;min-height:0}
.reference-theme .selection.winner{filter:brightness(1.2)!important;box-shadow:0 0 calc(30 * var(--u)) #e6c17c88;border-radius:calc(12 * var(--u))}
.reference-theme .selection:not(:disabled):active{transform:scale(.98)}
.reference-theme .road-panel{overflow:hidden}
.reference-theme .section-heading{position:absolute;inset:0 0 auto;height:13.5%;margin:0}
.reference-theme .section-heading h2{font-size:0}
.reference-theme #historyButton{position:absolute;inset:0;width:100%;height:100%;font-size:0;color:transparent;background:none;min-height:0;padding:0}
.reference-theme .road-grid{position:absolute;left:5.2%;top:13.6%;width:89.5%;height:65.4%;margin:0;padding:0;border:1px solid #8c693b88;border-radius:calc(11 * var(--u));display:grid;grid-auto-flow:column;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(6,minmax(0,1fr));gap:0;overflow:hidden;background-color:#111416;background-image:linear-gradient(90deg,transparent calc(100% - 1px),#6a523333 0),linear-gradient(transparent calc(100% - 1px),#6a523333 0);background-size:10% 100%,100% calc(100% / 6)}
.reference-theme .road-grid button{width:calc(39 * var(--u));height:calc(39 * var(--u));padding:0;border:0;border-radius:50%;font-size:0;box-shadow:0 0 calc(5 * var(--u)) #0008}
.reference-theme .empty-road{color:#9b8c72;background:#111416eb;font-size:calc(23 * var(--u));line-height:1.7;padding:calc(25 * var(--u));margin:0}
.reference-theme .road-stats{position:static;display:contents;border:0;padding:0;margin:0}
.reference-theme .road-stats>span{font-size:0}
.reference-theme .road-stats b{position:absolute;top:84%;height:9.5%;display:flex;align-items:center;justify-content:center;background:#161815;font:calc(35 * var(--u))/1 Georgia,serif;margin:0}
.reference-theme #dragonCount{left:26%;width:8%}
.reference-theme #tieCount{left:52.6%;width:6%}
.reference-theme #tigerCount{left:77.4%;width:8%}
.reference-theme .road-stats small{display:none}
.reference-theme .control-dock,.reference-theme .wallet-row,.reference-theme .chip-row{position:static;display:contents}
.reference-theme .wallet{text-align:left;display:block;min-height:0}
.reference-theme .wallet .coin-mark,.reference-theme .wallet small,.reference-theme .wallet-arrow{display:none}
.reference-theme .wallet>span:nth-child(2){display:contents}
.reference-theme .wallet strong{position:absolute;left:55.3%;top:31%;width:25%;height:38%;display:flex;align-items:center;justify-content:flex-start;background:linear-gradient(90deg,#171611,#171712,#121410);color:#f9e5b1;font:600 calc(46 * var(--u))/1 Georgia,serif;letter-spacing:calc(1 * var(--u));font-variant-numeric:tabular-nums;white-space:nowrap}
.reference-theme .chip{aspect-ratio:auto;padding:0;min-width:44px;min-height:44px;border-radius:50%;transition:filter .15s,transform .15s;overflow:visible;isolation:isolate;background:none}
.reference-theme .chip::before{content:"";position:absolute;inset:0;border-radius:50%;z-index:-1}
.reference-theme .chip::after{display:none}
.reference-theme .chip>span{font-size:0;background:none;border:0;border-radius:0;text-shadow:none}
.reference-theme .chip[aria-pressed="false"]{filter:brightness(.9);transform:none;box-shadow:none}
.reference-theme .chip[aria-pressed="true"]{filter:brightness(1.13);transform:none;box-shadow:none}
.reference-theme .chip[aria-pressed="true"]::before{filter:drop-shadow(0 0 calc(13 * var(--u)) #ffc647)}
.reference-theme .clear-button{font-size:0;color:transparent;background:none;min-width:44px;min-height:44px;opacity:1}
.reference-theme .clear-button:disabled{opacity:.8}
.reference-theme .game-shell>.control-dock>.confirm-button{min-height:0;font-size:0;color:transparent;letter-spacing:0;background-color:transparent;isolation:isolate;overflow:hidden}
.reference-theme .game-shell>.control-dock>.confirm-button:disabled{opacity:.94}
.reference-theme .game-shell>.control-dock>.confirm-button:not(:disabled):active{filter:brightness(1.15)}
.reference-theme .game-disclaimer{font-size:0;letter-spacing:0;line-height:0}
.reference-theme .connection-banner{position:absolute;top:6%;left:5%;right:5%;width:auto;z-index:10;border:1px solid #bc944c;background:#2e2313ed;font-size:12px;border-radius:8px;padding:10px}
.reference-theme .game-shell :focus-visible{outline:2px solid #ffe6a3;outline-offset:2px}
.reference-theme #roundTools{padding-top:12px;border-top:1px solid #b08b4c55;margin-top:12px}
.reference-theme #roundTools .selection-summary{display:flex}
.reference-theme #roundTools .text-button{width:100%;min-height:44px}
.reference-theme .toast{bottom:calc(95px + env(safe-area-inset-bottom))}
@media(min-width:700px){.reference-theme .game-shell{margin:15px auto;max-width:480px}
}
@media(prefers-reduced-motion:reduce){.reference-theme *{animation:none!important;transition:none!important}
}
.reference-theme .game-header{background-image:url("./reference-atlas-v2.webp");background-size:100.000000% 1679.090909%;background-position:0.000000% 0.000000%;background-repeat:no-repeat}
.reference-theme .game-header{left:0.000000%;top:0.000000%;width:100.000000%;height:5.955604%}
.reference-theme .table-stage{background-image:url("./reference-atlas-v2.webp");background-size:100.000000% 329.821429%;background-position:0.000000% 8.547009%;background-repeat:no-repeat}
.reference-theme .table-stage{left:0.000000%;top:5.955604%;width:100.000000%;height:30.319437%}
.reference-theme .selection.dragon{background-image:url("./reference-atlas-v2.webp");background-size:277.524430% 681.549815%;background-position:3.302752% 42.956853%;background-repeat:no-repeat}
.reference-theme .selection.dragon{left:2.112676%;top:36.654034%;width:36.032864%;height:14.672442%}
.reference-theme .selection.tie{background-image:url("./reference-atlas-v2.webp");background-size:465.573770% 776.050420%;background-position:51.420030% 43.443132%;background-repeat:no-repeat}
.reference-theme .selection.tie{left:40.375587%;top:37.845154%;width:21.478873%;height:12.885761%}
.reference-theme .selection.tiger{background-image:url("./reference-atlas-v2.webp");background-size:298.947368% 681.549815%;background-position:96.649030% 42.956853%;background-repeat:no-repeat}
.reference-theme .selection.tiger{left:64.319249%;top:36.654034%;width:33.450704%;height:14.672442%}
.reference-theme .road-panel{background-image:url("./reference-atlas-v2.webp");background-size:102.898551% 435.613208%;background-position:50.000000% 68.165847%;background-repeat:no-repeat}
.reference-theme .road-panel{left:1.408451%;top:52.517596%;width:97.183099%;height:22.956145%}
.reference-theme .wallet{background-image:url("./reference-atlas-v2.webp");background-size:100.000000% 1223.178808%;background-position:0.000000% 82.193396%;background-repeat:no-repeat}
.reference-theme .wallet{left:0.000000%;top:75.473741%;width:100.000000%;height:8.175420%}
.reference-theme .clear-button{background-image:url("./reference-atlas-v2.webp");background-size:1014.285714% 1775.961538%;background-position:96.614583% 88.869765%;background-repeat:no-repeat}
.reference-theme .clear-button{left:87.089202%;top:83.865728%;width:9.859155%;height:5.630753%}
.reference-theme .game-shell>.control-dock>.confirm-button{background-image:url("./reference-atlas-v2.webp");background-size:128.313253% 1865.656566%;background-position:50.531915% 95.766590%;background-repeat:no-repeat}
.reference-theme .game-shell>.control-dock>.confirm-button{left:11.150235%;top:90.633460%;width:77.934272%;height:5.360043%}
.reference-theme .game-disclaimer{background-image:url("./reference-atlas-v2.webp");background-size:100.000000% 2495.945946%;background-position:0.000000% 100.000000%;background-repeat:no-repeat}
.reference-theme .game-disclaimer{left:0.000000%;top:95.993503%;width:100.000000%;height:4.006497%}
.reference-theme #dragonCard{background-image:url("./reference-atlas-v2.webp");background-size:587.586207% 918.905473%;background-position:31.258840% 21.020656%;background-repeat:no-repeat}
.reference-theme #dragonCard{left:25.938967%;top:42.142857%;width:17.018779%;height:35.892857%}
.reference-theme #tigerCard{background-image:url("./reference-atlas-v2.webp");background-size:587.586207% 918.905473%;background-position:68.882603% 21.020656%;background-repeat:no-repeat}
.reference-theme #tigerCard{left:57.159624%;top:42.142857%;width:17.018779%;height:35.892857%}
.reference-theme .round-pill{background-image:url("./reference-atlas-v2.webp");background-size:309.818182% 3420.370370%;background-position:50.779896% 33.742331%;background-repeat:no-repeat}
.reference-theme .chip-10{left:7.629108%;top:83.974012%;width:12.206573%;height:5.901462%}
.reference-theme .chip-50{left:23.591549%;top:83.974012%;width:12.206573%;height:5.901462%}
.reference-theme .chip-100{left:39.084507%;top:83.486735%;width:14.319249%;height:6.605306%}
.reference-theme .chip-500{left:55.046948%;top:83.974012%;width:12.206573%;height:5.901462%}
.reference-theme .chip-1000{left:70.892019%;top:83.974012%;width:12.676056%;height:5.901462%}
.reference-theme .road-grid button.dragon{background-image:url("./reference-atlas-v2.webp");background-size:2184.615385% 4735.897436%;background-position:10.332103% 57.079646%;background-repeat:no-repeat}
.reference-theme .road-grid button.tiger{background-image:url("./reference-atlas-v2.webp");background-size:2184.615385% 4735.897436%;background-position:19.065191% 57.079646%;background-repeat:no-repeat}
.reference-theme .road-grid button.tie{background-image:url("./reference-atlas-v2.webp");background-size:2184.615385% 4735.897436%;background-position:54.489545% 57.079646%;background-repeat:no-repeat}
/* Match the exact original value wells while keeping all numbers live. */
.reference-theme .countdown{left:44.6%;top:10.2%;width:11.6%;height:12%;border-radius:45%;background:radial-gradient(ellipse,#12150f 35%,#10140f 95%)}
.reference-theme .countdown[data-value="18"]{color:transparent;background:none;text-shadow:none}
.reference-theme .confirmed{border-radius:calc(35 * var(--u))}
.reference-theme #tieCount{left:51.45%;width:8%}
.reference-theme #tigerCount{left:75.25%;width:10%}
.reference-theme #dragonCount{background:linear-gradient(90deg,#261916,#211916,#181916)}
.reference-theme #tieCount{background:linear-gradient(90deg,#152017,#181d14,#171b13)}
.reference-theme #tigerCount{background:linear-gradient(90deg,#11202d,#10202b,#121b20)}
.reference-theme .selection-grid::before{content:"";position:absolute;left:0;top:51.272334%;width:100%;height:1.245262%;background-image:url("./reference-atlas-v2.webp");background-size:100% 8030.434783%;background-position:0 51.918860%;pointer-events:none}
.reference-theme .countdown{left:44%;top:6.2%;width:12.5%;height:19%;border-radius:50%;background:radial-gradient(circle at 50% 45%,#15150e,#10140f 75%)}
.reference-theme .countdown[data-value="18"]{color:transparent;background:none;text-shadow:none}
.reference-theme .draft{font-size:calc(22 * var(--u))}
.reference-theme .wallet strong{font-size:calc(var(--balance-size,46) * var(--u))}
.reference-theme .tie .confirmed[data-wide="true"]{font-size:calc(21 * var(--u))}
.reference-theme .tie .draft{font-size:calc(18 * var(--u))}
.reference-theme .game-header .circle-button{min-height:44px;min-width:44px}
.reference-theme .game-header .back-game{left:0;width:44px}
.reference-theme #rulesButton{left:auto;right:0;width:44px}
/* Enlarge hit targets independently from the original painted frame. */
.reference-theme .round-pill{top:calc(93.22% - 22px);height:44px;background-image:none;background-color:transparent}
.reference-theme .round-pill::after{content:"";position:absolute;z-index:-2;left:0;top:50%;transform:translateY(-50%);width:100%;height:calc(54 * var(--u));background-image:url("./reference-atlas-v2.webp");background-size:309.818182% 3420.370370%;background-position:50.779896% 33.742332%;background-repeat:no-repeat;pointer-events:none}
.reference-theme .round-pill::before{inset:auto 10%;top:50%;height:calc(33.5 * var(--u));transform:translateY(-50%)}
.reference-theme .road-panel{overflow:visible}
.reference-theme #historyButton{top:calc(50% - 22px);height:44px;bottom:auto;min-height:44px}
.reference-theme .game-shell>.control-dock>.confirm-button{min-height:44px}
/* Keep the original icons, with non-overlapping physical touch targets. */
.reference-theme .header-buttons{position:absolute;inset:0 0 0 auto;width:88px;height:100%;display:block;background:linear-gradient(#11110f,#101110);border-bottom:1px solid #a38a542b}
.reference-theme #soundButton{left:0;right:auto;width:44px}
.reference-theme #rulesButton{left:auto;right:0;width:44px}
.reference-theme #soundButton::before,.reference-theme #rulesButton::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background-repeat:no-repeat;pointer-events:none}
.reference-theme #soundButton::before{width:calc(70 * var(--u));height:calc(66 * var(--u))}
.reference-theme #rulesButton::before{width:calc(68 * var(--u));height:calc(66 * var(--u))}
.reference-theme #soundButton::before{background-image:url("./reference-atlas-v2.webp");background-size:1217.142857% 2798.484848%;background-position:89.897698% 0.449186%}
.reference-theme #rulesButton::before{background-image:url("./reference-atlas-v2.webp");background-size:1252.941176% 2798.484848%;background-position:98.979592% 0.449186%}
.reference-theme .header-buttons{height:44px;background:none;border:0}
.reference-theme .header-buttons::before{content:"";position:absolute;left:0;right:0;top:0;height:calc(76 * var(--u));background:#101010;pointer-events:none}
.reference-theme #soundButton::before,.reference-theme #rulesButton::before{top:calc(41 * var(--u))}

/* Clean artwork has no baked dynamic values; every live text layer is transparent. */
.reference-theme .table-stage{background-image:url("./reference-clean-v2.webp");background-size:100.00000000% 350.83333333%;background-position:0.00000000% 7.97342193%;background-repeat:no-repeat}
.reference-theme .selection.dragon{background-image:url("./reference-clean-v2.webp");background-size:289.16408669% 707.56302521%;background-position:3.76432079% 39.97233748%;background-repeat:no-repeat}
.reference-theme .selection.tie{background-image:url("./reference-clean-v2.webp");background-size:436.44859813% 790.61032864%;background-position:50.13888889% 40.51665534%;background-repeat:no-repeat}
.reference-theme .selection.tiger{background-image:url("./reference-clean-v2.webp");background-size:290.06211180% 704.60251046%;background-position:96.40522876% 40.00000000%;background-repeat:no-repeat}
.reference-theme .road-panel{background-image:url("./reference-clean-v2.webp");background-size:102.63736264% 418.90547264%;background-position:50.00000000% 64.74258970%;background-repeat:no-repeat}
.reference-theme .wallet{background-image:url("./reference-clean-v2.webp");background-size:100.00000000% 1247.40740741%;background-position:0.00000000% 79.40606843%;background-repeat:no-repeat}
.reference-theme .round-pill::after{background-image:url("./reference-clean-v2.webp");background-size:352.45283019% 3508.33333333%;background-position:50.07473842% 31.35696822%;background-repeat:no-repeat}
.reference-theme .game-shell>.control-dock>.confirm-button{background-image:url("./reference-clean-v2.webp");background-size:121.29870130% 1736.08247423%;background-position:50.00000000% 93.57277883%;background-repeat:no-repeat}
.reference-theme .countdown,.reference-theme .countdown[data-value="18"]{color:#f8dda1;background:transparent;text-shadow:0 1px 4px #000}
.reference-theme .round-clock>.phase-label,.reference-theme .confirmed,.reference-theme .tie .confirmed,.reference-theme .tiger .confirmed,.reference-theme .road-stats b,.reference-theme #dragonCount,.reference-theme #tieCount,.reference-theme #tigerCount,.reference-theme .wallet strong,.reference-theme .result-ribbon,.reference-theme .draft,.reference-theme .empty-road,.reference-theme .connection-banner,.reference-theme .toast{background:transparent;border-color:transparent}
.reference-theme .round-pill::before{display:none}
.reference-theme .result-ribbon{top:34%;padding:0;font-size:calc(32 * var(--u));line-height:1.3;text-shadow:0 2px 5px #000,0 0 14px #c98521}
.reference-theme #dragonCard,.reference-theme #tigerCard{top:46%;padding:0;pointer-events:auto;touch-action:none;user-select:none;cursor:pointer;opacity:1;color:#17191d}
.reference-theme .playing-card:disabled{cursor:default}
.reference-theme .playing-card .card-face{position:absolute;inset:0;width:auto;height:auto;border:0;background:transparent;color:inherit;display:grid;place-items:center;font-size:inherit}
.reference-theme .playing-card .squeeze-back{position:absolute;inset:-3px;width:auto;height:auto;border:0;display:block;background-image:url('./reference-atlas-v2.webp');background-size:587.586207% 918.905473%;background-position:31.258840% 21.020656%;transform:translateY(calc(var(--peel,0) * -100%));box-shadow:0 5px 10px #0008;transition:none}
.reference-theme #tigerCard .squeeze-back{background-position:68.882603% 21.020656%}
.reference-theme .playing-card.squeezing{animation:none!important}
.reference-theme .card-hint{position:absolute;top:82%;left:0;right:0;margin:0;text-align:center;color:#ffe2a3;font-size:calc(20 * var(--u));background:transparent;pointer-events:none;text-shadow:0 1px 4px #000}
.reference-theme .selection.dragon .confirmed{left:25%;width:54%;top:78%}
.reference-theme .selection.tiger .confirmed{left:23%;width:54%;top:78%}
.reference-theme .selection.tie .confirmed{left:14%;width:73%;top:78%}
.reference-theme .wallet strong{left:53%;top:30%;width:29%;height:40%}
.reference-theme .road-stats b{top:83%;height:10%}
.reference-theme #dragonCount{left:27%;width:8%}
.reference-theme #tieCount{left:53%;width:8%}
.reference-theme #tigerCount{left:79%;width:8%}
/* Actual numeric pips and suit corners, shared by table and enlarged card. */
.reference-theme .playing-card .card-rank{font-size:calc(28 * var(--u));left:6%;top:4%;line-height:1}
.reference-theme .playing-card .card-corner{font-size:calc(28 * var(--u));right:6%;bottom:4%;line-height:1}
.reference-theme .card-rank small,.reference-theme .card-corner small{display:block;font-size:.65em;text-align:center;font-weight:normal;line-height:1.1}
.reference-theme .card-pips{position:absolute;inset:12% 13%;display:block;color:inherit;pointer-events:none}
.reference-theme .card-pip{position:absolute;left:var(--x);top:var(--y);font:normal calc(29 * var(--u))/1 Georgia,serif;transform:translate(-50%,-50%) rotate(var(--turn));color:inherit}
.reference-theme .court-portrait{position:absolute;inset:18% 23%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:3px;background:transparent;opacity:.85;color:inherit}
.reference-theme .court-portrait i{font:normal calc(65 * var(--u))/1 Georgia,serif}.reference-theme .court-portrait strong{font:700 calc(25 * var(--u))/1 Georgia,serif}.reference-theme .court-portrait small{font-size:calc(20 * var(--u))}
body.squeeze-open{overflow:hidden;overscroll-behavior:none}
.reference-theme .squeeze-overlay{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:20px max(20px,var(--room-safe-right,env(safe-area-inset-right))) max(20px,env(safe-area-inset-bottom));background:rgba(0,0,0,.90);backdrop-filter:blur(8px);color:#f6dea7;touch-action:none;overscroll-behavior:contain}
.reference-theme .squeeze-overlay[hidden]{display:none}
.reference-theme .squeeze-heading{text-align:center}.reference-theme .squeeze-heading h2{font:600 27px 'Noto Serif CJK SC',serif;margin:0 0 5px}.reference-theme .squeeze-heading p{font-size:14px;margin:0;color:#d1bc94}
.reference-theme #squeezeCard{--u:calc(min(55vw,235px,31vh) / 145);position:relative;inset:auto;flex-shrink:0;width:calc(145 * var(--u));height:calc(201 * var(--u));padding:0;border:0;border-radius:9px;overflow:hidden;touch-action:none;user-select:none;cursor:grab;color:#17191d;background-image:url('./reference-atlas-v2.webp');background-size:587.586207% 918.905473%;background-position:31.258840% 21.020656%;box-shadow:0 0 45px #d9ac5438;opacity:1;pointer-events:auto}
.reference-theme #squeezeCard.red-card{color:#a33033}
.reference-theme #squeezeCard:active{cursor:grabbing}
.reference-theme #squeezeInstruction{font-size:14px;text-align:center;margin:0;background:transparent}
.reference-theme .squeeze-actions{display:flex;gap:14px}
.reference-theme .squeeze-actions button{min-height:44px;padding:10px 20px;border:1px solid #b2945d;border-radius:24px;background:transparent;color:#f7dfa6;font-size:15px}
@media(max-height:500px){.reference-theme .squeeze-overlay{gap:7px;padding:10px}.reference-theme .squeeze-heading h2{font-size:18px}.reference-theme #squeezeCard{--u:calc(min(42vw,25vh) / 145)}.reference-theme #squeezeInstruction{font-size:12px}}
/* Qilehui-style four-way masks: keep the actual face stationary under a moving back. */
.reference-theme .playing-card .squeeze-back{transform:translate(var(--drag-x,0%),var(--drag-y,0%));box-shadow:0 0 calc(10 * var(--u)) calc(2 * var(--u)) #0009}
.reference-theme .squeeze-back::after{content:"";position:absolute;inset:0;border:1px solid #fae2aa55;background:linear-gradient(var(--fold-angle,0deg),#15090088,transparent 16% 84%,#f4da9c88);pointer-events:none}
.reference-theme [data-direction="up"]{--fold-angle:0deg}.reference-theme [data-direction="down"]{--fold-angle:180deg}.reference-theme [data-direction="left"]{--fold-angle:270deg}.reference-theme [data-direction="right"]{--fold-angle:90deg}
.reference-theme #squeezeCard.flip-horizontal{animation:squeeze-flip-x .2s ease-in-out}.reference-theme #squeezeCard.flip-vertical{animation:squeeze-flip-y .2s ease-in-out}
@keyframes squeeze-flip-x{0%{transform:scaleX(1)}50%{transform:scaleX(.03)}100%{transform:scaleX(1)}}
@keyframes squeeze-flip-y{0%{transform:scaleY(1)}50%{transform:scaleY(.03)}100%{transform:scaleY(1)}}
/* Approved original chip faces: preserve their metallic rim, type and texture. */
.reference-theme .chip{background:none;isolation:isolate;box-shadow:none;transition:transform .18s,filter .18s}
.reference-theme .chip-row .chip::before{inset:0;background:var(--chip-art) center / contain no-repeat;border:0;border-radius:0;box-shadow:none;filter:none}
.reference-theme .chip-10{--chip-art:url('./chip-original-10-v6.svg')}
.reference-theme .chip-50{--chip-art:url('./chip-original-50-v6.svg')}
.reference-theme .chip-100{--chip-art:url('./chip-original-100-v6.svg')}
.reference-theme .chip-500{--chip-art:url('./chip-original-500-v6.svg')}
.reference-theme .chip-1000{--chip-art:url('./chip-original-1000-v6.svg')}
.reference-theme .chip-row .chip>span{position:absolute;inset:0;width:auto;height:auto;display:grid;place-items:center;border:0;background:transparent;box-shadow:none;opacity:0}
.reference-theme .chip>span::before,.reference-theme .chip>span::after,.reference-theme .chip::after{display:none!important}
.reference-theme .chip[aria-pressed="false"]{transform:scale(1);filter:brightness(.98);box-shadow:none}
.reference-theme .chip[aria-pressed="true"]{transform:translateY(-2px) scale(1.18);filter:brightness(1.08) drop-shadow(0 0 4px #ffe479) drop-shadow(0 0 8px #ffc128);box-shadow:none;z-index:3}

.reference-theme .playing-card.squeezing .card-rank{visibility:hidden}
/* Match Qilehui's actual sangong_hand prefab: 323.38x300 hand beside 352x486.4 card,
   hand x=-244,y=104 relative to centered card. Thumb overlays, wrist stays outside. */
.reference-theme .squeeze-card-wrap{--u:calc(min(55vw,235px,31vh) / 145);position:relative;isolation:isolate;flex-shrink:0;width:calc(145 * var(--u));height:calc(201 * var(--u));overflow:visible}
.reference-theme .squeeze-card-wrap #squeezeCard{--u:inherit;width:100%;height:100%;position:relative}
.reference-theme .squeeze-card-wrap .grip-hand{position:absolute;z-index:5;left:-65.3%;top:-2.2%;width:91.9%;height:auto;pointer-events:none;user-select:none;filter:drop-shadow(1px 3px 3px #0006)}
.reference-theme .squeeze-card-wrap[data-gripping="false"] .grip-hand{visibility:hidden}
@media(max-height:500px){.reference-theme .squeeze-card-wrap{--u:calc(min(42vw,25vh) / 145)}}
/* Larger squeeze face; the upper-left corner lies inside the opaque thumb grip. */
.reference-theme .squeeze-card-wrap{--u:calc(min(65vw,280px,38vh) / 145)}
.reference-theme .squeeze-card-wrap .grip-hand{left:-57%;top:-7%}
@media(max-height:500px){.reference-theme .squeeze-card-wrap{--u:calc(min(45vw,35vh) / 145)}}
/* The moving upper back remains whole outside the stationary face bounds. */
.reference-theme .playing-card.squeezing,.reference-theme .squeeze-card-wrap #squeezeCard.squeezing{overflow:visible}
/* One viewport, including a reserved notch area; only dialog content may scroll. */
:root{--chip-button-gap:8px;--game-safe-top:var(--room-safe-top,env(safe-area-inset-top,0px));--game-safe-bottom:env(safe-area-inset-bottom,0px);background:#101112}
html{height:100%;overflow:hidden;overscroll-behavior:none}
body.reference-theme{position:fixed;inset:0;height:100dvh;min-height:0;overflow:hidden;overscroll-behavior:none;display:flex;justify-content:center;align-items:stretch;padding:var(--game-safe-top) max(0px,var(--room-safe-right,env(safe-area-inset-right,0px))) 0 max(0px,var(--room-safe-left,env(safe-area-inset-left,0px)))}
/* Spend spare portrait height on a little breathing room before keeping it below chips.
   Short screens still shrink the artwork together; actions stay above the safe area. */
.reference-theme .game-shell{--room-chip-row:max(64px,calc(124 * var(--u)));--room-base-unit:calc((100vw - var(--room-safe-left,env(safe-area-inset-left,0px)) - var(--room-safe-right,env(safe-area-inset-right,0px))) / 934);--room-available:calc(100dvh - var(--game-safe-top));--room-spare:max(0px,calc(var(--room-available) - 212px - var(--room-chip-row) - 1132 * var(--room-base-unit)));--room-block-gap:clamp(3px,calc(var(--room-spare) / 6),6px);--room-breath:clamp(0px,calc(var(--room-spare) / 14),4px);--room-art-unit:min(calc(var(--room-base-unit) * 1.12),calc((var(--room-available) - 212px - var(--room-chip-row) - 4 * var(--room-block-gap) - 3 * var(--room-breath)) / 1132));height:100%;width:100%;max-width:none;aspect-ratio:auto;margin:0;min-height:0;display:grid;container-type:size;grid-template-columns:minmax(0,1fr);grid-template-rows:44px calc(480 * var(--room-art-unit)) calc(402 * var(--room-art-unit) + var(--room-block-gap)) calc(250 * var(--room-art-unit) + var(--room-block-gap)) calc(56px + var(--room-breath) + var(--room-block-gap)) calc(var(--room-chip-row) + var(--room-breath) + var(--room-block-gap)) minmax(var(--chip-button-gap),1fr) calc(24px + var(--room-breath)) 44px 36px;gap:0}
.reference-theme .game-shell>.game-header,.reference-theme .game-shell>.table-stage,.reference-theme .game-shell>.selection-grid,.reference-theme .game-shell>.road-panel{position:relative;inset:auto;width:100%;height:100%;min-height:0;margin:0}
.reference-theme .game-shell>.road-panel,.reference-theme .game-shell>.selection-grid,.reference-theme .game-shell .wallet-row,.reference-theme .game-shell .chip-row{align-self:end;height:calc(100% - var(--room-block-gap))}
.reference-theme .game-header{grid-row:1}.reference-theme .table-stage{grid-row:2}.reference-theme .selection-grid{grid-row:4}.reference-theme .road-panel{grid-row:3}
.reference-theme .game-shell>.selection-grid{display:grid;grid-template-columns:1fr .68fr 1fr;gap:calc(18 * var(--u));padding:0 calc(18 * var(--u))}
.reference-theme .selection-grid::before{display:none}
.reference-theme .selection-grid .selection{position:relative;inset:auto;width:100%;height:100%;min-height:0}
.reference-theme .selection-grid .tie{height:88%;align-self:center}
.reference-theme #dragonCard,.reference-theme #tigerCard{width:min(15.5cqw,27.4cqh);height:auto;aspect-ratio:145/201;top:45%}
.reference-theme .round-pill{top:auto;bottom:0;height:44px;align-items:flex-end;padding-bottom:calc(12 * var(--u))}
.reference-theme .round-pill::after{top:auto;bottom:0;transform:none}
.reference-theme .result-ribbon{top:12%;font-size:calc(32 * var(--u))}
.reference-theme .game-shell[data-phase="settled"] .round-clock{visibility:hidden}
.reference-theme .round-clock>.phase-label{left:42.5%;width:15%}
.reference-theme .road-grid button{width:min(calc(39 * var(--u)),13cqh);height:min(calc(39 * var(--u)),13cqh)}
.reference-theme .control-dock{display:contents}
.reference-theme .control-dock .wallet-account-detail{grid-row:8;position:relative;align-self:center;margin:0 8px;line-height:1.3;min-width:0}
.reference-theme .wallet-row{grid-row:5;display:block;min-height:0;position:relative}
.reference-theme .wallet-row .wallet{position:relative;inset:auto;width:100%;height:100%}
.reference-theme .chip-row{grid-row:6;position:relative;display:flex;justify-content:space-evenly;align-items:center;gap:0;min-height:0;padding:0}
.reference-theme .chip-row .chip{position:relative;inset:auto;flex:0 0 auto;width:calc(104 * var(--u));height:calc(104 * var(--u));min-width:44px;min-height:44px}
.reference-theme .chip-row .clear-button{position:relative;inset:auto;flex:0 0 44px;width:44px;height:44px}
.reference-theme .game-shell>.control-dock>.confirm-button{grid-row:9;position:relative;inset:auto;width:82%;height:44px;min-height:44px;justify-self:center}
.reference-theme .game-shell>.control-dock>.confirm-button:not(:disabled){opacity:1;cursor:pointer}
.reference-theme .game-disclaimer{grid-row:10;padding-top:8px;position:relative;inset:auto;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:none;font:9px/1.2 sans-serif;letter-spacing:1px;color:#bda578}
.reference-theme .connection-banner{top:6%;left:4%;right:4%}
.reference-theme .toast{bottom:calc(var(--game-safe-bottom) + 65px)}
.reference-theme .squeeze-overlay{background:linear-gradient(180deg,transparent 0 50%,rgba(0,0,0,.3) 62%,rgba(0,0,0,.7) 100%);backdrop-filter:none;-webkit-backdrop-filter:none;padding-top:calc(var(--game-safe-top) + 140px);padding-bottom:var(--game-safe-bottom)}
@media(max-height:500px){.reference-theme .squeeze-overlay{padding-top:calc(var(--game-safe-top) + 120px)}}
@media(orientation:landscape){.reference-theme .squeeze-overlay{padding-left:calc(50vw + max(20px,var(--room-safe-left,env(safe-area-inset-left))));padding-right:max(20px,var(--room-safe-right,env(safe-area-inset-right)))}}
.reference-theme .squeeze-heading{position:absolute;z-index:10;top:calc(100% + 8px);left:-20%;right:-20%;display:flex;align-items:center;justify-content:center;gap:10px;pointer-events:none;text-shadow:0 2px 5px #000}
.reference-theme .squeeze-heading h2{font-size:18px;line-height:1.2;margin:0}.reference-theme .squeeze-heading p{font-size:12px}
.reference-theme #squeezeInstruction{min-height:20px;margin-top:32px;text-shadow:0 1px 4px #000}
@media(max-height:500px) and (min-aspect-ratio:1.2){
 .reference-theme .game-shell{height:100%;max-width:100%;aspect-ratio:auto;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:40px minmax(0,1fr) 44px 78px 32px 44px 32px;gap:3px 10px}
 .reference-theme .game-shell>.road-panel,.reference-theme .game-shell>.selection-grid,.reference-theme .game-shell .wallet-row,.reference-theme .game-shell .chip-row{align-self:stretch;height:100%}
 .reference-theme .game-header{grid-column:1;grid-row:1}
 .reference-theme .table-stage{grid-column:1;grid-row:2/5}
 .reference-theme .selection-grid{grid-column:1;grid-row:5/7}
 .reference-theme .road-panel{grid-column:2;grid-row:1/3}
 .reference-theme .wallet-row{grid-column:2;grid-row:3}
 .reference-theme .control-dock .wallet-account-detail{grid-column:2;grid-row:5}
 .reference-theme .chip-row{grid-column:2;grid-row:4}
 .reference-theme .game-shell .chip-row{align-self:end;height:70px}
 .reference-theme .chip-row .chip{width:clamp(44px,calc((100% - 44px) / 5),calc(104 * var(--u)));height:auto;aspect-ratio:1}
 .reference-theme .game-shell>.control-dock>.confirm-button{grid-column:2;grid-row:6;align-self:center}
 .reference-theme .game-disclaimer{grid-column:1/3;grid-row:7;padding-top:4px;padding-bottom:0}
 .reference-theme .road-grid button{width:min(calc(39 * var(--u)),13cqh);height:min(calc(39 * var(--u)),13cqh)}
}
.reference-theme .wallet-row,.reference-theme .chip-row{margin:0;padding:0}
/* Larger pips use more of the face, with the outer columns nearer the sides. */
.reference-theme .card-pips{inset:10% -3%}
.reference-theme .card-pip{width:28cqw;height:28cqw;font-size:0}
.reference-theme .card-pip svg{display:block;width:100%;height:100%;fill:currentColor}
.reference-theme .court-portrait{inset:15% 18%}
/* A transparent label is centered over the shared chip artwork. */

/* Keep the portrait independent from the compressed wallet row. */
.reference-theme .wallet-row .wallet{--avatar-size:clamp(32px,5dvh,42px);display:flex;align-items:center;gap:clamp(8px,3vw,18px);padding:0 5%;background-image:none;background-color:transparent}
.reference-theme .wallet-row .wallet::before{content:none}
.reference-theme .wallet>span:nth-child(2){display:flex;align-items:center;justify-content:space-between;flex:1;min-width:0;gap:8px}
.reference-theme .wallet small{display:block;color:#f5d99a;font:600 calc(25 * var(--u))/1.2 'Noto Serif CJK SC',serif;white-space:nowrap}
.reference-theme .wallet strong{position:static;width:48%;height:auto;display:flex;align-items:center;justify-content:space-between;gap:6px;background:transparent;padding:5px 10px;border:1px solid #a18144;border-radius:30px;line-height:1.1;font-size:calc(40 * var(--u))}
.reference-theme .wallet strong::before{content:"";width:24px;height:22px;flex:0 0 24px;background:transparent url('./coin-stack-v1.svg') center / contain no-repeat}

/* A compact circle and its label share one measured center. */
.reference-theme .round-clock{--timer-size:clamp(44px,14cqw,62px);--timer-y:18%}
.reference-theme .round-clock::before{content:"";position:absolute;left:50%;top:var(--timer-y);transform:translate(-50%,-50%);width:var(--timer-size);height:var(--timer-size);border-radius:50%;background:radial-gradient(circle,#10140e 58%,#3e2c10 63%,#ffe4a0 66%,#a96923 70%,#19170e 74%);box-shadow:0 0 8px #e5a63b88}
.reference-theme .countdown,.reference-theme .countdown[data-value="18"]{left:50%;top:var(--timer-y);transform:translate(-50%,-50%);width:var(--timer-size);height:var(--timer-size);aspect-ratio:1;border-radius:50%;background:transparent;display:grid;place-items:center;font-size:clamp(22px,calc(54 * var(--u)),32px)}
.reference-theme .round-clock>.phase-label{left:39%;top:calc(var(--timer-y) + var(--timer-size)/2 + 5px);width:22%;height:auto;min-height:16px;padding:2px 0;font-size:calc(23 * var(--u));line-height:1;border:1px solid #a27d3c;border-radius:20px;background:transparent}
.reference-theme .table-stage{background-image:url('./artwork-v2.webp');background-size:100% 351.041667%;background-position:0 7.966805%}
.reference-theme .card-pips{inset:9% 2%}
.reference-theme .playing-card .card-rank{font-size:12cqw;left:3%;top:3%}
.reference-theme .playing-card .card-corner{font-size:12cqw;right:3%;bottom:3%}
.reference-theme .card-rank small,.reference-theme .card-corner small{font-size:.6em}

/* Header/table now sample adjacent rows from the same artwork, with no empty gutter. */
.reference-theme .game-header{background:#101112;border-bottom:0;isolation:isolate}
.reference-theme .game-header::before{content:'';position:absolute;z-index:-1;inset:0;background:url('./artwork-v2.webp') 0 0 / 100% 1755.208333% no-repeat;clip-path:polygon(0 0,84% 0,84% 66%,100% 66%,100% 100%,0 100%);pointer-events:none}
.reference-theme .header-buttons{z-index:3;background:none}
.reference-theme .header-buttons::before{display:none}
.reference-theme #soundButton::before,.reference-theme #rulesButton::before{display:block;top:50%;width:26px;height:26px}

/* Keep the single painted round frame, with its text centered at source y538. */
.reference-theme .round-pill{top:auto;bottom:0;height:44px;align-items:flex-end;padding:0 0 max(0px,calc(7.9cqh - 12 * var(--u)))}
.reference-theme .round-pill::after{display:none}
/* Size all 60 markers from their grid, not from the entire viewport height. */
.reference-theme .road-grid{container-type:size}
.reference-theme .road-grid button{width:min(8.3cqw,15cqh);height:min(8.3cqw,15cqh);min-width:0;min-height:0;line-height:1}


.reference-theme #soundButton[aria-pressed="false"]::after{display:block;left:50%;top:50%;width:22.4px;height:1.5px;border-radius:1px;background:#ffe1a0;transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 0 .5px #17130e;z-index:3;pointer-events:none}

/* The canvas keeps its natural portrait ratio; the decorative cloud corners are part of it. */
.reference-theme .table-stage,.reference-theme .playing-card{container-type:size}
.reference-theme .game-shell::after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:calc(min(100vw,480px) * 186 / 934);background:url('./artwork-v2.webp') 0 100% / 100% 905.913978% no-repeat;clip-path:polygon(0 0,9% 0,9% 50%,27% 50%,27% 78%,73% 78%,73% 50%,91% 50%,91% 0,100% 0,100% 100%,0 100%);pointer-events:none}
.reference-theme .game-disclaimer{font-size:0;line-height:0}
.reference-theme .toast{pointer-events:none}
@media(max-height:500px) and (min-aspect-ratio:1.2){.reference-theme .table-stage{margin-top:-3px!important;height:calc(100% + 3px)!important}.reference-theme .game-shell::after{display:none}.reference-theme .game-disclaimer{font-size:9px}}

.reference-theme .card-face-image{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}
.reference-theme .playing-card.revealed{border:0;background:#f8f9f8!important}

/* Paint out the old baked value wells; the new amount has no pill or border. */
.reference-theme .bet-chips{--label-floor:calc(3cqh + var(--bet-label-size) * 1.2 + 2px);--placed-size:min(calc(40 * var(--u)),max(4px,calc((35cqh - var(--label-floor)) / 1.4)),22px);--chip-safe:calc(var(--placed-size) * .67);position:absolute;z-index:2;left:61%;right:7%;top:65%;bottom:var(--label-floor);pointer-events:none}
.reference-theme .placed-chip{position:absolute;left:clamp(var(--chip-safe),var(--chip-x),calc(100% - var(--chip-safe)));top:clamp(var(--chip-safe),var(--chip-y),calc(100% - var(--chip-safe)));width:var(--placed-size);height:var(--placed-size);transform:translate(-50%,-50%) rotate(var(--rotation));border-radius:50%;pointer-events:none;animation:bet-chip-place .26s ease-out both;-webkit-mask-image:radial-gradient(circle closest-side,#000 95%,transparent 100%);mask-image:radial-gradient(circle closest-side,#000 95%,transparent 100%)}
.reference-theme .bet-total{position:absolute;z-index:3;left:5%;right:5%;bottom:3%;font:600 var(--bet-label-size)/1.2 'Noto Serif CJK SC',serif;color:#ffe4a0;text-shadow:0 1px 3px #000;background:none;border:0;pointer-events:none;white-space:nowrap}
@keyframes bet-chip-place{from{opacity:0;transform:translate(-50%,-150%) rotate(var(--rotation)) scale(.6)}to{opacity:1;transform:translate(-50%,-50%) rotate(var(--rotation)) scale(1)}}

.reference-theme .selection{container-type:size;--bet-label-size:clamp(9px,calc(22 * var(--u)),12px)}
@media(max-height:500px) and (min-aspect-ratio:1.2){.reference-theme .selection{--bet-label-size:9px}}

/* One live caption; no overlay rectangle or second status below the action. */
.reference-theme .game-shell>.control-dock>#confirmButton{display:grid;place-items:center;font:700 clamp(12px,calc(32 * var(--u)),18px)/1.2 'Noto Serif CJK SC',serif;color:#3e270b;text-shadow:0 1px 1px #fff5;letter-spacing:0;padding:0 9%;text-align:center}
.reference-theme #confirmButton::before,.reference-theme #confirmButton::after{content:none;display:none}

/* Card centers remain mirrored as the responsive card width changes. */
.reference-theme .table-stage{--table-card-width:min(15.5cqw,27.4cqh)}
.reference-theme #dragonCard,.reference-theme #tigerCard{width:var(--table-card-width)}
.reference-theme #dragonCard{left:calc(34% - var(--table-card-width) / 2)}
.reference-theme #tigerCard{left:calc(66% - var(--table-card-width) / 2)}
.reference-theme .selection::after{content:none;display:none}
.reference-theme .winner-stamp{position:absolute;z-index:4;top:7%;right:5%;width:min(24cqw,32cqh,42px);aspect-ratio:1;display:grid;place-items:center;border:0;border-radius:0;box-shadow:none;color:#e6c27a;background:transparent url('./stamp-ring-v2.svg') center / contain no-repeat;font:800 min(16cqw,21cqh,28px)/1 Arial,'Noto Sans CJK SC',sans-serif;opacity:0;visibility:hidden;transform:rotate(-14deg);pointer-events:none}
.reference-theme .selection.winner .winner-stamp{visibility:visible;opacity:.8;animation:winner-stamp .48s cubic-bezier(.2,.7,.2,1) both}
@keyframes winner-stamp{0%{opacity:0;transform:rotate(-24deg) scale(2.4)}55%{opacity:.95;transform:rotate(-14deg) scale(.88)}78%{opacity:.8;transform:rotate(-14deg) scale(1.08)}100%{opacity:.8;transform:rotate(-14deg) scale(1)}}
@media(prefers-reduced-motion:reduce){.reference-theme .selection.winner .winner-stamp{animation:none}}

/* Each card clips its own rounded corners; the moving back stays outside the face. */
.reference-theme #squeezeCard{border-radius:10px;background:none}
.reference-theme .playing-card .card-face{border-radius:inherit;overflow:hidden}
.reference-theme .card-face-image{border-radius:inherit}
.reference-theme #squeezeCard .squeeze-back{border-radius:inherit;overflow:hidden;background:url('./card-back-v2.webp') center / 100% 100% no-repeat;box-shadow:0 5px 10px #0006}
.reference-theme .squeeze-back::after{content:none;display:none}
.reference-theme #dragonCard:not(.revealed),.reference-theme #tigerCard:not(.revealed){background:url('./card-back-v2.webp') center / 100% 100% no-repeat}
.reference-theme .selection.dragon>.selection-art{-webkit-mask-image:url('./panel-mask-dragon-v1.svg');mask-image:url('./panel-mask-dragon-v1.svg');background-image:url('./bet-panels-v1.webp');background-size:289.16408669% 105.04201681%;background-position:3.76432079% 25%}
.reference-theme .selection.tie>.selection-art{-webkit-mask-image:url('./panel-mask-tie-v1.svg');mask-image:url('./panel-mask-tie-v1.svg');background-image:url('./bet-panels-v1.webp');background-size:436.44859813% 117.37089202%;background-position:50.13888889% 54.05405405%}
.reference-theme .selection.tiger>.selection-art{-webkit-mask-image:url('./panel-mask-tiger-v1.svg');mask-image:url('./panel-mask-tiger-v1.svg');background-image:url('./bet-panels-v1.webp');background-size:290.06211180% 105.04201681%;background-position:96.40522876% 25%}

.reference-theme .selection.winner{box-shadow:0 0 10px 3px #ffe99a88,0 0 24px 8px #e9b64666}
.reference-theme .countdown.last-three{animation:countdown-pop .7s ease-out both}
.reference-theme .countdown.last-three::after{content:'';position:absolute;inset:-4px;border:2px solid #ffe7a0;border-radius:50%;pointer-events:none;animation:countdown-ring .8s ease-out both}
@keyframes countdown-pop{0%{transform:translate(-50%,-50%) scale(1)}25%{transform:translate(-50%,-50%) scale(1.25)}100%{transform:translate(-50%,-50%) scale(1)}}
@keyframes countdown-ring{0%{transform:scale(.95);opacity:.85}100%{transform:scale(2);opacity:0}}
@media(prefers-reduced-motion:reduce){.reference-theme .countdown.last-three,.reference-theme .countdown.last-three::after{animation:none}.reference-theme .countdown.last-three::after{display:none}}

/* Squeeze reveal swaps layers directly; table flip remains independent. */
.reference-theme #squeezeCard.revealed{animation:none;transition:none;transform:none}
.reference-theme .chip-row #clearButton{width:44px;height:44px;min-width:44px;min-height:44px;aspect-ratio:1;flex:0 0 44px;border-radius:50%;background:url('./chip-settings-v1.svg') center/contain no-repeat;font-size:0;overflow:hidden}
.reference-theme .chip-row #clearButton::before,.reference-theme .chip-row #clearButton::after{content:none;display:none}
.chip-settings-dialog{max-width:360px;width:calc(100% - 32px);max-height:85dvh;overflow:auto}
.chip-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px 6px;margin:18px 0}
.chip-options button{padding:3px;border:1px solid transparent;border-radius:50%;background:transparent;aspect-ratio:1;min-height:44px;cursor:pointer}
.chip-options button img{display:block;width:100%;height:auto;pointer-events:none}
.chip-options button[aria-pressed="true"]{transform:scale(1.1);border-color:#ffe2a0;filter:drop-shadow(0 0 5px #d9a331)}
#saveChipSettings{width:100%;min-height:44px}#chipSettingsCount{color:#f1d093}

/* Only image layers paint the cards; the movable back stays uncropped. */
.reference-theme #squeezeCard,.reference-theme #squeezeCard.revealed{background:transparent!important;border:0;border-radius:18px;box-shadow:none}
.reference-theme #squeezeCard .card-face{background:transparent;border-radius:18px;overflow:hidden}
.reference-theme #squeezeCard .card-face-image{inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px);border-radius:0}
.reference-theme #squeezeCard .squeeze-back{inset:0;border-radius:18px}
.reference-theme .round-clock>.phase-label{border:0;background:transparent;font-size:clamp(10px,calc(25 * var(--u)),15px);text-shadow:0 1px 4px #000}

.reference-theme .playing-card.revealed{background:transparent!important}
.reference-theme .playing-card .card-face-image{inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px)}
.reference-theme #squeezeCard .card-face-image{inset:-4px;width:calc(100% + 8px);height:calc(100% + 8px)}


/* Raise the complete betting stack, then paint the winning ring over its art. */
.reference-theme .game-shell>.selection-grid{z-index:100;overflow:visible}
.reference-theme .selection-grid .selection.winner{z-index:100;overflow:visible;box-shadow:none;animation:winner-breathe 1.6s ease-in-out infinite;transform-origin:center}
.reference-theme .selection-grid .selection.winner::before{content:"";display:block;position:absolute;inset:-4px;z-index:-2;pointer-events:none;border:0;border-radius:calc(18 * var(--u));background:#ffda7b;animation:winner-glow-breathe 1.6s ease-in-out infinite}
.reference-theme .result-announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes winner-breathe{0%,100%{transform:scale(.985)}50%{transform:scale(1.025)}}
@keyframes winner-glow-breathe{0%,100%{opacity:.4;box-shadow:0 0 5px 2px #ffd56b66,0 0 12px 4px #e9b64633}50%{opacity:1;box-shadow:0 0 10px 4px #fff0bacc,0 0 24px 9px #ffc84a99}}
@media(prefers-reduced-motion:reduce){.reference-theme .selection-grid .selection.winner{animation:none;transform:none}.reference-theme .selection-grid .selection.winner::before{animation:none;opacity:1;box-shadow:0 0 10px 3px #ffe99a88,0 0 24px 8px #e9b64666}}

/* The opaque overhanging back covers both the face edge and transparent asset corners. */
.reference-theme #squeezeCard .squeeze-back{inset:-4px;border-radius:18px;background-color:#41150f}
.reference-theme .round-start{position:absolute;z-index:8;left:50%;top:max(calc(64% + 12px),calc(18% + clamp(44px,14cqw,62px)/2 + 29px + 12.6cqw));width:95.333%;aspect-ratio:715/189;transform:translate(-50%,-50%);pointer-events:none;color:#ffe7a2}
.reference-theme .start-backdrop{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.reference-theme .start-title-art{position:absolute;left:33.147%;top:22.222%;width:33.706%;height:55.556%;pointer-events:none}
.reference-theme #roundStartText{position:absolute;inset:0;margin:0;display:grid;place-items:center;font:800 clamp(22px,7cqw,34px)/1.2 'Noto Serif CJK SC',serif;letter-spacing:.16em;text-shadow:0 2px 3px #662600;opacity:0}
.reference-theme .round-start[data-mode="join"] .start-title-art{display:none}
.reference-theme .round-start[data-mode="join"] #roundStartText{opacity:1}
.reference-theme .round-start.enter .start-backdrop{animation:none}
.reference-theme .round-start.enter .start-title-art{animation:none}
.reference-theme .round-start.enter #roundStartText{animation:none}
.reference-theme .game-shell[data-phase="prepare"] .dealt-cards .playing-card{opacity:0}
.reference-theme #dragonCard.deal-in,.reference-theme #tigerCard.deal-in{animation:deal-card var(--deal-duration,.8s) cubic-bezier(.18,.7,.3,1) var(--deal-delay,0ms) both}
@keyframes qilehui-start-bg{from{transform:translateX(-105%)}to{transform:none}}
@keyframes qilehui-start-text{from{transform:translateX(312%)}to{transform:none}}
@keyframes qilehui-start-copy{from{transform:translateX(105%)}to{transform:none}}
@keyframes deal-card{0%{opacity:0;transform:translate(var(--deal-x),var(--deal-y)) rotate(-8deg) scale(.55)}75%{opacity:1;transform:translate(0,3%) rotate(0) scale(1.02)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.reference-theme .round-start.enter .start-backdrop,.reference-theme .round-start.enter .start-title-art,.reference-theme .round-start.enter #roundStartText,.reference-theme #dragonCard.deal-in,.reference-theme #tigerCard.deal-in{animation:none}}

.reference-theme .round-clock.dealing .countdown,.reference-theme .round-clock.dealing .phase-label,.reference-theme .round-clock.dealing::before{visibility:hidden}
.reference-theme .deal-deck{position:absolute;left:50%;top:var(--timer-y);transform:translate(-50%,-50%);width:calc(var(--timer-size) * .75);aspect-ratio:145/201;z-index:6;pointer-events:none}
.reference-theme .deal-deck::before{content:"";position:absolute;left:0;right:0;top:calc(100% - 3px);height:12px;border:1px solid #c69956;border-radius:0 0 4px 4px;background:repeating-linear-gradient(to bottom,#f2dfb6 0 .65px,#76502f .65px 1.25px);box-shadow:0 3px 5px #0009;transform:skewX(-8deg);transform-origin:top;z-index:1}
.reference-theme .deal-deck i{position:absolute;inset:0;display:block;border:1px solid #c69956;border-radius:3px;background:#41150f url('./card-back-v2.webp') center/100% 100%;box-shadow:0 1px 2px #0008;z-index:2}
.reference-theme .deal-deck i:first-child{transform:translate(-2px,1px) rotate(-3deg)}
.reference-theme .deal-deck i:nth-child(2){transform:translate(1px,-1px) rotate(2deg)}
.reference-theme .deal-deck i:last-child{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.reference-theme .dealt-cards.dealing .playing-card{opacity:1}}

.reference-theme .selection-grid .selection{background-color:transparent!important;border-radius:calc(12 * var(--u));background-clip:border-box}

/* Eight optically simplified chips map into unique, safely spaced slots. */
.reference-theme .bet-chips{--placed-size:calc(2 * min(18px,calc(32cqw / 3.14),calc((35cqh - var(--label-floor)) / 1.94)));--chip-safe:calc(var(--placed-size) * .5);left:auto;right:7%;top:auto;bottom:calc(var(--label-floor) + 2px);width:calc(var(--placed-size) * 2.95);height:calc(var(--placed-size) * 1.65)}
.reference-theme .placed-chip{left:calc(var(--chip-safe) + (100% - var(--chip-safe) * 2) * var(--chip-x));top:calc(var(--chip-safe) + (100% - var(--chip-safe) * 2) * var(--chip-y));-webkit-mask-image:none;mask-image:none}

.reference-theme .round-clock>.phase-label{left:50%;top:calc(var(--timer-y) + var(--timer-size)/2 + 1px);width:auto;max-width:70%;min-width:max-content;min-height:18px;transform:translateX(-50%);padding:2px 9px;border:1px solid #caa65d99;border-radius:999px;background:rgba(12,15,14,.82);font-size:clamp(10px,calc(23 * var(--u)),13px);line-height:1.15;box-shadow:0 1px 4px #0005}

/* Clip only the baked board image, preserving the outer winner light and controls. */
.reference-theme .selection-grid .selection{isolation:isolate;background-image:none!important}
.reference-theme .selection-art{position:absolute;inset:0;z-index:-1;pointer-events:none;background-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}

/* The picker glow is painted as a real circle; no alpha-filter render surfaces. */
.reference-theme .chip-row .chip{filter:none!important;transition:transform .18s}
.reference-theme .chip-row .chip::before{filter:none!important;border-radius:50%}
.reference-theme .chip-row .chip::after{content:"";display:block!important;position:absolute;inset:-8px;z-index:-2;border:0;border-radius:50%;pointer-events:none;opacity:0;background:radial-gradient(circle closest-side,#ffe39b 0% 56%,#ffd35eaa 68%,#ffbe3333 86%,transparent 100%);box-shadow:none}
.reference-theme .chip-row .chip[aria-pressed="true"]::after{opacity:1}
.chip-options button[aria-pressed="true"]{filter:none;box-shadow:0 0 5px #d9a33188}

.reference-theme .round-start.enter img{will-change:transform;backface-visibility:hidden}

/* Transparent square vector art avoids the dark rectangle baked into the atlas. */
.reference-theme #soundButton{aspect-ratio:1;background:transparent}
.reference-theme #soundButton::before{width:26px;height:26px;aspect-ratio:1;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2226%22%20viewBox%3D%220%200%2026%2026%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22g%22%20x2%3D%22.5%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23ffe4a3%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23b9822d%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%2213%22%20r%3D%2211.2%22%20fill%3D%22none%22%20stroke%3D%22url%28%23g%29%22%20stroke-width%3D%221.2%22%2F%3E%3Cpath%20d%3D%22M6.7%2010.8h2.5l3.3-2.7v9.8l-3.3-2.7H6.7z%22%20fill%3D%22%23eac476%22%2F%3E%3Cpath%20d%3D%22M15%2010.2q2.5%202.8%200%205.6m2-7.5q4.3%204.7%200%209.4%22%20fill%3D%22none%22%20stroke%3D%22%23eac476%22%20stroke-width%3D%221.25%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}

.reference-theme #rulesButton{aspect-ratio:1;background:transparent}
.reference-theme #rulesButton::before{width:26px;height:26px;aspect-ratio:1;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2226%22%20viewBox%3D%220%200%2026%2026%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22g%22%20x2%3D%22.5%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23ffe4a3%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23b9822d%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%2213%22%20r%3D%2211.2%22%20fill%3D%22none%22%20stroke%3D%22url%28%23g%29%22%20stroke-width%3D%221.2%22%2F%3E%3Cpath%20d%3D%22M10.1%209.4c.1-3.5%206.2-3.5%206.1.2%200%202.1-3.2%202.3-3.2%205%22%20fill%3D%22none%22%20stroke%3D%22%23eac476%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%2F%3E%3Ccircle%20cx%3D%2213%22%20cy%3D%2218%22%20r%3D%221%22%20fill%3D%22%23eac476%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat}

/* Long presses belong to the game gesture, including the full-screen squeeze. */
.reference-theme,.reference-theme *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.reference-theme img{-webkit-user-drag:none}
.reference-theme input,.reference-theme textarea,.reference-theme [contenteditable="true"]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}

/* Stable six-row columns move as a unit; the newest column stays at right. */
.reference-theme .road-column{position:absolute;left:0;top:0;width:10%;height:100%;display:grid;grid-template-rows:repeat(6,minmax(0,1fr));transform:translateX(calc(var(--column)*100%));transition:transform 280ms ease}
.settlement-notice{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff3d5;display:grid;place-items:center;z-index:2147483647;pointer-events:none;font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif;box-sizing:border-box}
.settlement-notice[hidden]{display:none!important}
.settlement-notice::backdrop{background:transparent;pointer-events:none}
.settlement-notice .notice-panel{display:flex;align-items:stretch;justify-content:center;gap:0;width:100%;max-width:none;padding:0;box-sizing:border-box;border:0;background:none;box-shadow:none}
.settlement-notice .notice-panel::before,.settlement-notice .notice-panel::after{content:"";flex:1;min-width:0;background:linear-gradient(90deg,rgba(20,14,6,0),rgb(20,14,6))}
.settlement-notice .notice-panel::after{background:linear-gradient(90deg,rgb(20,14,6),rgba(20,14,6,0))}
.settlement-notice .notice-copy{display:flex;align-items:center;gap:6px;flex:0 0 auto;width:max-content;max-width:calc(100vw - 24px);box-sizing:border-box;padding:12px 10px;white-space:nowrap;background:rgb(20,14,6)}
.settlement-notice .notice-title{margin:0;font-size:clamp(15px,4.3vw,18px);font-weight:700;letter-spacing:1px;color:#ffe4a5}
.settlement-notice .notice-message{margin:0;font-size:clamp(12px,3.8vw,16px);line-height:1.4;font-weight:600;color:#fff0d7}
.settlement-notice .notice-amount{display:inline;margin:0;color:#ffd56a;font-size:clamp(17px,4.8vw,21px);line-height:1.2;font-variant-numeric:tabular-nums;background:transparent}
.settlement-notice[data-tone="loss"] .notice-amount{color:#ff5656}
.settlement-notice .notice-amount:empty{display:none}
@media(prefers-reduced-motion:reduce){.reference-theme .road-column{transition:none}}

/* Server-clock phases color only the timer ring, keeping it circular. */
.reference-theme .game-shell[data-timer-phase="betting"] .round-clock::before{background:radial-gradient(circle,#10140e 58%,#123e21 63%,rgb(160,255,192) 66%,#218742 70%,#0f1913 74%);box-shadow:0 0 10px #45dc7b88}
.reference-theme .game-shell[data-timer-phase="reveal"] .round-clock::before{background:radial-gradient(circle,#10140e 58%,#531414 63%,rgb(255,178,168) 66%,#ca3636 70%,#220c0c 74%);box-shadow:0 0 10px #ff454588}
.reference-theme .game-shell[data-timer-phase="betting"] .countdown.last-three::after{border-color:#78f5a6}
.reference-theme .selection[aria-disabled="true"]:active{transform:none}
.denied-feedback{position:fixed;inset:0;display:grid;place-items:center;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;z-index:2147483647;pointer-events:none;opacity:1;transition:opacity 300ms ease-out}
.denied-feedback[hidden]{display:none!important}
.denied-feedback::backdrop{background:transparent;pointer-events:none}
.denied-feedback.fading{opacity:0}
.denied-feedback svg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:clamp(150px,45vw,190px);height:clamp(150px,45vw,190px);border-radius:50%;background:none;box-shadow:none;overflow:visible}
.denied-feedback circle,.denied-feedback path{fill:none;stroke:#ff3535;stroke-width:7;stroke-linecap:round}

.denied-feedback .denied-caption{position:absolute;left:50%;top:calc(50% + clamp(75px,22.5vw,95px) - 4px);transform:translateX(-50%);margin:0;max-width:calc(100vw - 24px);padding:6px 12px;box-sizing:border-box;white-space:nowrap;border:1px solid #ff66664d;border-radius:8px;background:rgba(18,4,4,.94);font:700 clamp(18px,5vw,24px)/1.35 Arial,"PingFang SC","Microsoft YaHei",sans-serif;letter-spacing:1.5px;color:#ffb0a8;text-shadow:0 1px 2px #000;box-shadow:0 2px 10px #0008}

/* Keep room controls inside the existing fixed header. */
.reference-theme .room-navigation{position:absolute;left:47px;top:0;height:100%;display:flex;align-items:center;gap:9px;font:12px/1 system-ui,sans-serif;color:#f7e2b3;z-index:3}
.reference-theme .room-navigation a{color:#f7e2b3;text-decoration:none;min-height:44px;display:flex;align-items:center}
.reference-theme .round-pill{font-size:calc(24 * var(--u));gap:calc(3 * var(--u));font-variant-numeric:tabular-nums}

/* Keep the account amount readable in the narrow half of a small landscape phone. */
@media(max-width:700px) and (max-height:500px) and (min-aspect-ratio:1.2){
 .reference-theme .wallet>span:nth-child(2){flex-direction:column;align-items:stretch;gap:2px}
 .reference-theme .wallet-row #ledgerButton small{font-size:9px}
 .reference-theme .wallet-row #ledgerButton strong{font-size:12px;padding:2px 5px}
 .reference-theme .wallet-row #ledgerButton strong::before{display:none}
}

/* The reservation marker stays below the placed chips and is removed on ACK. */
.reference-theme .draft:not(:empty){z-index:4;top:calc(5 * var(--u));bottom:auto;left:5%;right:auto;max-width:90%;padding:2px 4px;font-size:clamp(9px,calc(15 * var(--u)),12px);line-height:1.25;white-space:nowrap;background:#080d16c9;border:1px solid #9bc4e455;color:#d4efff;text-shadow:0 1px 3px #000;pointer-events:none}
.reference-theme .bet-total[data-pending="true"]{color:#e7f5ff}
/* Definite rollback feedback must remain readable over the room artwork. */
.reference-theme .toast.bet-failure{background:rgba(35,10,10,.96);border:1px solid #d17b68;color:#ffe0d8;font-size:14px;font-weight:600;line-height:1.5;z-index:100}

/* Switch left of the portrait; reserve the right edge for viewing-account recharge. */
.reference-theme .control-dock .wallet-row{display:flex;align-items:center;gap:8px;padding:0 clamp(6px,2vw,16px)}
.reference-theme .control-dock .wallet-row #walletModeButton{position:static;transform:none;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px}
.reference-theme .control-dock .wallet-row #ledgerButton{flex:1;min-width:0;width:auto;min-height:44px;height:100%;padding:0;gap:8px}
.reference-theme .control-dock .wallet-row #ledgerButton .wallet-summary{display:flex;flex:1;min-width:0;flex-direction:column;align-items:stretch;gap:3px}
.reference-theme .control-dock .wallet-row #ledgerButton small{font-size:clamp(10px,calc(23 * var(--u)),13px);line-height:1.1;text-align:center}
.reference-theme .control-dock .wallet-row #ledgerButton strong{flex:none;justify-content:center;width:100%;min-width:84px;height:27px;padding:3px 7px;gap:6px;font-size:clamp(12px,calc(var(--balance-size,36) * var(--u)),20px);line-height:1;font-variant-numeric:tabular-nums}
.reference-theme .control-dock .wallet-row #ledgerButton strong::before{display:block;width:18px;height:18px;flex:0 0 18px}
.reference-theme .wallet-avatar{display:block;position:relative;flex:0 0 var(--avatar-size);width:var(--avatar-size);height:var(--avatar-size);border-radius:50%;perspective:180px}
.reference-theme .wallet-avatar-rotor{display:block;position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(0deg)}
.reference-theme .wallet-avatar[data-wallet-mode="benefit"] .wallet-avatar-rotor{transform:rotateY(180deg)}
.reference-theme .wallet-avatar-face{display:block;position:absolute;inset:0;border-radius:50%;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.reference-theme .wallet-avatar-cash{background:transparent url('./reference-atlas-v2.webp') 7.262570% 82.291058% / 626.470588% 1358.088235% no-repeat;box-shadow:0 0 0 1px #c6a261}
.reference-theme .wallet-avatar[data-wallet-mode="benefit"] .wallet-avatar-cash{box-shadow:none}
.reference-theme .wallet-avatar-game{transform:rotateY(180deg);background:transparent url('./game-avatar-v2.webp') center / cover no-repeat}
.reference-theme .control-dock .wallet-row .room-topup-button{position:static;transform:none;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;touch-action:manipulation}
.room-topup-button img{display:block;width:44px;height:44px;pointer-events:none}
.room-topup-button[hidden]{display:none!important}
.reference-theme .game-shell[data-wallet-mode="benefit"] .wallet-row::after{content:"";display:block;flex:0 0 44px;width:44px;height:44px;pointer-events:none}
.room-topup-button:active{filter:brightness(1.3)}.room-topup-button:focus-visible{outline:2px solid #ffe1a0;outline-offset:1px;border-radius:50%}
@media(max-width:700px) and (max-height:500px) and (min-aspect-ratio:1.2){
 .reference-theme .control-dock .wallet-row{gap:6px;padding:0 6px}
 .reference-theme .control-dock .wallet-row #ledgerButton{gap:6px}
 .reference-theme .control-dock .wallet-row #ledgerButton small{font-size:9px}
 .reference-theme .control-dock .wallet-row #ledgerButton strong{font-size:12px;height:25px;padding:2px 5px}
 .reference-theme .control-dock .wallet-row #ledgerButton strong::before{display:none}
}
