:root{--bg:#0a0e17;--panel:#121927;--panel2:#171f30;--line:#283247;--text:#f4f6fb;--muted:#929db2;--gold:#f4c76a;--gold2:#b9852f;--green:#6de0ad;--red:#ff8585}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 60% -10%,#182238 0,transparent 40%),var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}button{font:inherit;cursor:pointer;transition:.18s ease}button:hover{filter:brightness(1.12);transform:translateY(-1px)}.topbar{height:76px;border-bottom:1px solid #202a3c;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#0c111cdd;position:sticky;top:0;z-index:5;backdrop-filter:blur(16px)}.brand{display:flex;gap:12px;align-items:center}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#f9dc8b,#b77c24);color:#201506;font-size:24px;box-shadow:0 6px 22px #d69a3430}.brand b{display:block;font-size:17px;letter-spacing:1px}.brand small{font-size:9px;color:#a7afc0;letter-spacing:1.7px;display:block;margin-top:4px}.top-actions{display:flex;align-items:center;gap:14px}.demo-tag{font-size:11px;color:#eacb83;border:1px solid #6b552e;background:#2a2316;border-radius:20px;padding:7px 11px}.ghost,.user-pill{border:1px solid var(--line);background:#151d2b;color:#dfe4ef;padding:10px 13px;border-radius:9px}.user-pill{color:var(--gold)}.shell{display:grid;grid-template-columns:220px minmax(0,1fr);max-width:1600px;margin:auto}.sidebar{padding:28px 16px;border-right:1px solid #202a3b;min-height:calc(100vh - 76px);position:sticky;top:76px;height:calc(100vh - 76px)}.side-label{color:#707d93;font-size:10px;letter-spacing:1.8px;padding:0 13px 12px}.nav{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid transparent;background:transparent;color:#9ba6ba;padding:13px 14px;border-radius:10px;margin:3px 0;font-size:13px}.nav span{flex:1}.nav.active{background:linear-gradient(90deg,#302719,#1c2029);border-color:#5c4928;color:#f5d48b}.nav.active:first-letter{color:var(--gold)}.space{margin-top:32px}.sidebar-note{position:absolute;bottom:24px;left:22px;right:18px;border-top:1px solid #253044;padding:18px 0;color:#aeb8c9;font-size:12px;line-height:1.9}.sidebar-note small{font-size:10px;color:#69768c}.dot{display:inline-block;width:7px;height:7px;background:#54d89a;border-radius:50%;margin-right:7px;box-shadow:0 0 10px #54d89a80}.main{padding:30px 34px 18px;min-width:0}.welcome{min-height:245px;position:relative;overflow:hidden;border:1px solid #5d4a2a;border-radius:18px;background:linear-gradient(112deg,#292318 0%,#191b25 55%,#1b2231 100%);padding:34px 38px;display:flex;align-items:center;justify-content:space-between}.welcome:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:8%;top:-260px;background:#f3c66c0b;box-shadow:0 0 100px #dba94b12}.eyebrow{color:#d4ad5e;font-size:10px;letter-spacing:2.1px;font-weight:700}.welcome h1{font-size:32px;margin:13px 0 10px;letter-spacing:1px}.welcome p{color:#aeb4c3;margin:0;font-size:13px}.welcome-actions{display:flex;align-items:center;gap:15px;margin-top:24px}.primary{background:linear-gradient(110deg,#f4d587,#c8953c);border:0;border-radius:9px;padding:12px 17px;color:#22190b;font-weight:700;font-size:12px;box-shadow:0 7px 20px #c08c3230}.primary span{margin-left:12px}.welcome-sub{color:#8f98aa;font-size:10px}.hero-orb{position:relative;width:190px;height:190px;margin-right:45px;display:grid;place-items:center;flex-shrink:0}.orb-ring{position:absolute;inset:4px;border:1px solid #c79b4b55;border-radius:50%;box-shadow:0 0 45px #d5a64818,inset 0 0 35px #d5a64810}.orb-ring:before,.orb-ring:after{content:"";position:absolute;inset:16px;border:1px dashed #b28a4650;border-radius:50%}.orb-ring:after{inset:34px;border-style:solid}.orb-inner{width:104px;height:104px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 20%,#f6dc95,#a97026 70%,#513b1c);box-shadow:0 0 38px #d4a44b42;color:#2c1e0b;font-size:37px}.orb-inner small{font-size:8px;text-align:center;line-height:1.4;letter-spacing:2px}.spark{position:absolute;color:#f5d88b}.s1{right:2px;top:32px;font-size:25px}.s2{left:10px;bottom:28px;font-size:17px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:20px 0 30px}.stat-card{background:linear-gradient(130deg,#141c2a,#111724);border:1px solid #252f43;border-radius:13px;padding:17px;display:flex;align-items:center;gap:14px;min-width:0}.stat-icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;font-size:21px;flex-shrink:0}.gold{color:#f4cb71;background:#3a2d19}.blue{color:#7fb6ff;background:#1b2a43}.purple{color:#c2a1ff;background:#2b2343}.stat-card small{display:block;color:#929db2;font-size:11px}.stat-card strong{font-size:24px;display:block;margin:3px 0;letter-spacing:.4px}.stat-card em{font-size:9px;font-style:normal;color:#68758b}.section-head{display:flex;align-items:end;justify-content:space-between;margin:0 0 15px}.section-head h2{font-size:21px;margin:7px 0 0}.section-hint{font-size:10px;color:#7e8ba0}.games-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.game-card{border:1px solid #273147;border-radius:14px;overflow:hidden;background:#121927;min-width:0}.game-art{height:140px;position:relative;display:grid;place-items:center;overflow:hidden}.game-roulette .game-art{background:radial-gradient(ellipse at 50% 110%,#755026 0,#34291d 35%,#1d2029 78%)}.game-dice .game-art{background:radial-gradient(ellipse at 50% 110%,#2b5273 0,#1d2e43 38%,#1b202d 78%)}.game-cards .game-art{background:radial-gradient(ellipse at 50% 110%,#553c78 0,#30233e 38%,#1b202d 78%)}.game-art:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 18px,#ffffff03 18px 19px)}.wheel{width:94px;height:94px;border-radius:50%;display:grid;place-items:center;color:#f5d37e;font-size:38px;border:8px double #e3b857;background:repeating-conic-gradient(#7b292c 0 30deg,#252d42 30deg 60deg);box-shadow:0 0 30px #d9a34233,0 8px 20px #0008;z-index:1}.dice{font-size:78px;color:#b7d9ff;filter:drop-shadow(0 10px 10px #0008);z-index:1}.cards-art{display:flex;align-items:center;transform:rotate(-9deg);z-index:1}.cards-art span{width:52px;height:74px;border-radius:7px;background:#f0eee8;display:grid;place-items:center;font-size:34px;box-shadow:0 7px 18px #0007;margin-left:-12px}.cards-art span:nth-child(1){color:#252a34;transform:rotate(-15deg)}.cards-art span:nth-child(2){color:#c33c4d;transform:translateY(-8px)}.cards-art span:nth-child(3){color:#252a34;transform:rotate(13deg)}.game-badge{position:absolute;top:13px;left:13px;background:#49351d;border:1px solid #80612d;color:#f0ca7a;font-size:9px;padding:5px 8px;border-radius:5px;z-index:1}.blue-badge{background:#1c3348;border-color:#345b7a;color:#9bcaff}.purple-badge{background:#332342;border-color:#64417c;color:#d3b0ff}.game-info{padding:16px;display:flex;align-items:center;justify-content:space-between;gap:8px}.game-info h3{font-size:14px;margin:0 0 6px}.game-info p{font-size:10px;color:#8995a9;margin:0;line-height:1.5}.play-btn{white-space:nowrap;background:#282318;border:1px solid #5e4a29;color:#eac879;border-radius:7px;padding:9px 10px;font-size:10px}.play-btn span{margin-left:5px}.lower-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:15px;margin-top:22px}.panel{border:1px solid #252f43;background:#111825;border-radius:13px;padding:18px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.panel-head h3{font-size:13px;margin:0 0 5px}.panel-head p{font-size:10px;color:#7f8ca1;margin:0}.text-btn{border:0;background:transparent;color:#d9b86e;font-size:10px}.record-list,.ranking-list{display:flex;flex-direction:column}.record-row,.rank-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #222c3d;font-size:11px}.record-symbol{width:31px;height:31px;border-radius:8px;background:#282318;color:#e8c16b;display:grid;place-items:center;font-size:15px}.record-main{flex:1;min-width:0}.record-main b{display:block;font-size:11px;font-weight:600}.record-main small{display:block;color:#78859b;font-size:9px;margin-top:4px}.delta{font-weight:700;font-size:11px}.positive{color:var(--green)}.negative{color:var(--red)}.rank-num{width:22px;color:#8b97ac;text-align:center}.rank-num.top{color:#f2c86d;font-weight:800}.rank-name{flex:1}.rank-score{color:#e9c777;font-weight:700}.empty{padding:22px 8px;text-align:center;color:#77849a;font-size:11px}footer{text-align:center;color:#59667b;font-size:9px;padding:27px 0 5px}.modal-backdrop{position:fixed;inset:0;background:#050811c9;z-index:20;display:grid;place-items:center;padding:20px;backdrop-filter:blur(7px)}.hidden{display:none!important}.modal{position:relative;width:min(510px,100%);max-height:90vh;overflow:auto;border:1px solid #3b465b;background:linear-gradient(145deg,#171f2e,#0f1521);border-radius:17px;padding:27px;box-shadow:0 30px 90px #0008}.close{position:absolute;right:15px;top:13px;border:0;background:transparent;color:#99a5b9;font-size:25px}.modal h2{margin:0 0 7px;font-size:22px}.modal .muted{color:#8c99ad;font-size:12px;line-height:1.7;margin:0 0 20px}.field{display:flex;flex-direction:column;gap:7px;margin:14px 0}.field label{font-size:11px;color:#aab4c5}.field input,.field select{background:#0b111b;color:#eef2fa;border:1px solid #313d52;border-radius:8px;padding:12px;outline:none;width:100%}.field input:focus,.field select:focus{border-color:#c59a4a}.wide{width:100%;padding:12px;margin-top:8px}.switch-line{font-size:11px;color:#aab4c5;text-align:center;margin-top:15px}.link-btn{background:transparent;border:0;color:#e6c16c}.game-box{background:#0b111b;border:1px solid #28354a;border-radius:13px;padding:18px;margin:18px 0}.game-display{text-align:center;padding:20px 0}.game-big{font-size:55px;color:#f0cc78;text-shadow:0 0 30px #e7b74d20}.game-caption{color:#8c99ad;font-size:11px;margin-top:8px}.bet-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.bet-line label{color:#9da9bd;font-size:11px}.bet-line input{width:100px;background:#121a28;color:white;border:1px solid #303b50;border-radius:7px;padding:9px}.choice-row{display:flex;gap:8px;margin-top:12px}.choice{flex:1;background:#192233;color:#aeb9ca;border:1px solid #303b50;border-radius:8px;padding:10px;font-size:12px}.choice.selected{border-color:#d4aa58;color:#f3d083;background:#33291a}.result-box{border:1px solid #4a3e2a;background:#292317;border-radius:9px;padding:13px;color:#f1d28b;font-size:12px;text-align:center;margin-top:13px;line-height:1.7}.table{width:100%;border-collapse:collapse;font-size:11px}.table th,.table td{text-align:left;border-bottom:1px solid #283246;padding:11px 6px}.table th{color:#8290a6;font-weight:500}.table td{color:#d9e0ed}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:17px 0}.admin-tile{background:#0d1420;border:1px solid #2c374b;border-radius:10px;padding:14px}.admin-tile small{color:#8d99ac;font-size:10px}.admin-tile strong{display:block;font-size:22px;margin-top:7px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#202b3c;border:1px solid #3c4b63;border-radius:9px;padding:11px 16px;color:#f1d28b;font-size:12px;z-index:50;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:1050px){.shell{grid-template-columns:180px minmax(0,1fr)}.main{padding:22px}.hero-orb{margin-right:0;width:150px;height:150px}.games-grid{gap:10px}.game-info{align-items:flex-start;flex-direction:column}.play-btn{width:100%}.stat-card{padding:13px;gap:9px}.stat-card strong{font-size:20px}}@media(max-width:760px){.topbar{padding:0 14px;height:66px}.brand small{display:none}.demo-tag,.ghost{display:none}.shell{display:block}.sidebar{position:sticky;z-index:4;top:66px;height:auto;min-height:0;padding:8px 10px;display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid #202a3b;background:#0b101b}.side-label,.sidebar-note{display:none}.nav{white-space:nowrap;width:auto;flex-shrink:0;padding:10px 12px;margin:0 3px}.nav span{display:inline}.main{padding:15px}.welcome{padding:25px 22px;min-height:230px}.welcome h1{font-size:26px}.hero-orb{width:95px;height:95px;margin-left:5px}.orb-inner{width:58px;height:58px;font-size:23px}.orb-inner small{font-size:5px}.orb-ring:before{inset:8px}.orb-ring:after{inset:16px}.welcome-sub{display:none}.stats{gap:8px}.stat-card{display:block;padding:11px}.stat-icon{width:32px;height:32px;font-size:16px;margin-bottom:8px}.stat-card small{font-size:9px}.stat-card strong{font-size:18px}.stat-card em{font-size:8px}.games-grid{grid-template-columns:1fr}.game-art{height:125px}.game-info{flex-direction:row;align-items:center}.play-btn{width:auto}.lower-grid{grid-template-columns:1fr}.section-hint{display:none}.main .section-head{margin-top:24px}.modal{padding:23px 18px}}@media(max-width:390px){.welcome{padding:20px 15px}.welcome h1{font-size:23px}.hero-orb{display:none}.stats{grid-template-columns:1fr}.stat-card{display:flex}.stat-icon{margin:0}.top-actions{gap:5px}.user-pill{padding:8px}}

/* Mobile/PWA finishing */
html{min-height:100%;-webkit-text-size-adjust:100%;}body{padding-bottom:env(safe-area-inset-bottom);overscroll-behavior-y:contain}button,input{touch-action:manipulation}button{min-height:40px}.topbar{padding-top:env(safe-area-inset-top)}.modal-backdrop{padding: max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom))}.modal{max-height:calc(100dvh - 32px)}.field input,.field select,.bet-line input{font-size:16px}.install-help{margin-bottom:10px}
@media(max-width:760px){.topbar{padding-left:12px;padding-right:12px}.brand-mark{width:37px;height:37px}.brand b{font-size:15px}.user-pill{max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar{padding-bottom:calc(8px + env(safe-area-inset-top))}.nav{min-height:42px}.main{padding-left:12px;padding-right:12px}.welcome{border-radius:14px}.stats{margin:13px 0 22px}.game-card,.panel{border-radius:12px}.game-info{padding:13px}.play-btn{min-height:42px}.lower-grid{gap:12px}.modal-backdrop{align-items:end}.modal{border-radius:18px 18px 12px 12px;width:100%;padding-bottom:calc(22px + env(safe-area-inset-bottom))}.choice{min-height:44px}.wide{min-height:46px}.table{font-size:10px}.table th,.table td{padding:10px 4px}}
@media(display-mode:standalone){.topbar{padding-top:env(safe-area-inset-top)}}

/* Mahjong-style virtual slot demo */
.mahjong-art{background:radial-gradient(circle at 50% 45%,#ffe79a,#a93b26 48%,#43151c 100%)!important}
.mahjong-preview{font-size:32px;letter-spacing:-5px;filter:drop-shadow(0 5px 3px #411)}
.phoenix-art{background:radial-gradient(circle at 50% 40%,#ffb13d,#a22d20 55%,#381622)!important}
.treasure-art{background:radial-gradient(circle at 50% 40%,#ffe184,#7a351e 55%,#25172b)!important}
.slot-shell{margin:-27px;min-height:70vh;padding:0 12px 16px;background:radial-gradient(ellipse at 50% 20%,#d85b37,#8c2d25 48%,#44201f);color:#fff7e8}
.slot-shell.phoenix{background:radial-gradient(ellipse at 50% 20%,#f3a64b,#a23a28 48%,#3e1c22)}
.slot-shell.treasure{background:radial-gradient(ellipse at 50% 20%,#e7b34f,#87341f 48%,#321b2a)}
.slot-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:18px 4px 12px}
.slot-top>div{text-align:center;flex:1}.slot-top b{display:block;font-size:17px}.slot-top small{display:block;color:#f4cbb0;font-size:10px;margin-top:4px}
.slot-back,.slot-rules{background:#632c2b80;border:1px solid #f0b78b55;color:#fff0d2;border-radius:20px;padding:8px 10px;font-size:11px}
.slot-banner{border:2px solid #e3c16b;border-radius:12px;background:linear-gradient(90deg,#0f766e,#23a69a,#0f766e);padding:7px 9px;margin:7px 0 12px;text-align:center;color:#fff0b4;font-size:11px;font-weight:700}
.multiplier-track{display:flex;justify-content:space-around;margin-top:4px;color:#103c3a;font-size:23px;font-weight:900;text-shadow:0 1px #7be0c8}
.multiplier-track b.active{color:#ffdf6a;text-shadow:0 0 10px #fff4b4}
.slot-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:7px;background:linear-gradient(135deg,#f8d5a1,#9c442d,#f1b46a);border:3px solid #f4d38a;border-radius:13px;box-shadow:inset 0 0 0 2px #8e3729,0 8px 18px #38110f80}
.slot-reel{display:grid;gap:4px;min-width:0}
.slot-tile{display:grid;place-items:center;aspect-ratio:1/1.08;min-width:0;border-radius:8px;background:linear-gradient(145deg,#fffef2,#e8dfc9);box-shadow:0 3px 3px #51251d70,inset 0 1px #fff;font-size:clamp(20px,6vw,34px);color:#a12b26;overflow:hidden}
.slot-tile.hit{background:linear-gradient(145deg,#fff8a1,#ffca34);box-shadow:0 0 14px #ffed63, inset 0 0 0 2px #fff0a0;animation:tilePulse .65s infinite alternate}
@keyframes tilePulse{from{transform:scale(.98)}to{transform:scale(1.02)}}
.slot-board.spinning .slot-tile{filter:blur(1px);transform:translateY(2px)}
.slot-win{margin:12px 0;padding:11px 8px;text-align:center;border:1px solid #f3c16a;border-radius:20px;background:linear-gradient(90deg,#9d202e,#d43b42,#9d202e);font-size:12px;color:#ffe7a8;box-shadow:0 3px 9px #43110e66}
.slot-win strong{display:block;margin-top:4px;font-size:14px}
.slot-wallet{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.slot-wallet>div{background:#54251fd9;border:1px solid #e7b26c55;border-radius:22px;padding:8px 12px;color:#f0bd72;font-size:10px;display:flex;justify-content:space-between;align-items:center;gap:4px}
.slot-wallet strong{font-size:13px;color:#ffe7b4}
.slot-controls{display:flex;justify-content:space-around;align-items:center;gap:12px;padding:14px 4px 7px}
.slot-controls button{width:52px;height:52px;border:1px solid #f4ca7a55;border-radius:50%;background:#54241f;color:#fff0c0;font-size:25px;box-shadow:0 4px 0 #311716}
.slot-controls .spin-btn{width:88px;height:88px;background:radial-gradient(circle at 35% 25%,#ffed9d,#d4a63d 50%,#2d9a7f 52%,#16735e);border:5px solid #e4c76e;color:#fff8b6;font-size:49px;line-height:42px;box-shadow:0 0 0 3px #4a3320,0 5px 0 #54251d}
.spin-btn small{display:block;font-size:11px;line-height:14px}
.slot-controls button:disabled{opacity:.6}
.slot-foot{display:flex;justify-content:space-between;align-items:center;color:#f4c9a9;font-size:9px;padding:6px 3px}
.slot-foot button{background:transparent;border:0;color:#ffe1a3;font-size:11px;text-decoration:underline}
.slot-rule-list{padding-left:20px;color:#aeb6c6;font-size:13px;line-height:1.9}
.slot-rule-list li{margin:10px 0}
@media(max-width:760px){.slot-shell{margin:-27px -18px;padding:0 10px 14px}.slot-top b{font-size:15px}.slot-tile{border-radius:6px}.slot-controls .spin-btn{width:80px;height:80px}}

.account-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.account-actions button{width:100%}
@media(max-width:420px){.account-actions{grid-template-columns:1fr 1fr}}


/* 金色主题移动大厅 */
:root{--bg:#171717;--panel:#303033;--panel2:#242426;--line:#4a4140;--text:#fff8e9;--muted:#c2b8ad;--gold:#f5ce79;--gold2:#9e6b29}
body{background:radial-gradient(ellipse at 50% -10%,#4c3825 0,transparent 42%),#171717;color:#fff7e9}
.topbar{background:linear-gradient(110deg,#17130f,#2a2118);border-bottom:1px solid #55412a;padding:0 22px;height:72px}
.brand-mark{border-radius:50%;background:radial-gradient(circle,#e7c777,#6e4518);color:#211509;border:1px solid #e6c578}
.brand b{font-size:18px;color:#f9e2a9}.brand small{letter-spacing:1px}
.demo-tag{border-color:#8d6a30;background:#302315;color:#ffe0a0}
.lobby-banner{margin:18px auto 12px;width:min(1180px,calc(100% - 36px));min-height:205px;border:1px solid #896a39;border-radius:16px;overflow:hidden;position:relative;padding:25px 28px;background:radial-gradient(ellipse at 75% 50%,#9d6b26 0,transparent 35%),linear-gradient(120deg,#17120d,#5b3a1b 48%,#17110d);box-shadow:inset 0 0 36px #d9a74b20}
.lobby-banner:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(125deg,transparent 0 17px,#f0d08a0b 18px 20px);pointer-events:none}
.banner-brand{font-size:12px;color:#e9cb83;letter-spacing:4px;position:relative}
.banner-copy{position:relative;z-index:1;margin-top:22px;max-width:68%}.banner-copy strong{display:block;font-size:clamp(22px,4vw,35px);font-weight:900;color:#ffedc3;text-shadow:0 2px 3px #000,0 0 16px #d19a40}.banner-copy span{display:block;color:#e6d4b5;margin:8px 0 15px;font-size:13px}
.banner-button{border:1px solid #f9dd9a;border-radius:24px;padding:9px 20px;color:#35220e;background:linear-gradient(#ffedb1,#dba43d);font-weight:800;box-shadow:0 4px 15px #0005}
.banner-dragon{position:absolute;right:6%;top:25%;font-size:clamp(80px,18vw,150px);filter:drop-shadow(0 6px 10px #0009);opacity:.92}
.notice-strip{width:min(1180px,calc(100% - 36px));margin:0 auto 14px;display:flex;align-items:center;gap:10px;background:#292522;border:1px solid #6c5434;border-radius:24px;padding:10px 14px;color:#ead8b7;font-size:12px}.notice-strip div{flex:1}
.wallet-strip{width:min(1180px,calc(100% - 36px));margin:0 auto 18px;border:1px solid #75604c;border-radius:16px;background:linear-gradient(125deg,#2b2927,#373435);padding:16px 20px;display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:12px;box-shadow:0 8px 24px #0003}
.wallet-user{display:flex;align-items:center;gap:10px;font-weight:700}.level-badge{background:linear-gradient(110deg,#a87927,#ffe3a0);color:#241708;border-radius:6px;padding:4px 10px;font-weight:900;font-style:italic}
.wallet-balance{font-size:21px;color:#ffdda0}.wallet-balance strong{font-weight:800}.wallet-balance small{display:block;font-size:11px;color:#b9b0a5;margin-top:4px}
.wallet-actions{display:flex;gap:8px}.wallet-actions button{min-width:65px;border:0;background:transparent;color:#ffe0a0;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:23px}.wallet-actions button span{font-size:11px;color:#f5eee2}
.content-layout{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:92px minmax(0,1fr);gap:16px;padding:0 18px 100px}.category-rail{display:flex;flex-direction:column;gap:12px;padding-top:18px}.category{border:1px solid #6d593b;border-radius:17px;background:linear-gradient(150deg,#34302a,#171614);color:#cfc1a8;padding:13px 5px;display:flex;align-items:center;flex-direction:column;gap:7px;box-shadow:0 5px 12px #0005;font-size:12px}.category span{font-size:25px}.category.active{color:#ffe7a7;border-color:#f1cb73;box-shadow:0 0 14px #d9a34b40}
.main{min-width:0;padding:0}.section-head{margin:8px 0 15px}.eyebrow{color:#d9b56a}.section-head h2{color:#fff0ce}
.games-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.game-card{overflow:hidden;border:1px solid #65534a;border-radius:12px;background:#373638;box-shadow:0 7px 18px #0003}.game-art{height:170px;position:relative;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid #78614b}.mahjong-art{background:radial-gradient(circle at 50% 45%,#f8d984,#a24720 52%,#32120f);}.mahjong-art:before,.phoenix-art:before,.treasure-art:before,.queen-art:before,.captain-art:before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(ellipse at center,transparent 0 15px,#fff3cf10 16px 18px)}.tile-art{display:flex;gap:5px;transform:rotate(-7deg);filter:drop-shadow(0 8px 5px #210b0b99)}.tile-art i{font-style:normal;display:grid;place-items:center;width:clamp(46px,7vw,74px);height:clamp(64px,9vw,98px);border-radius:10px;background:linear-gradient(110deg,#fffef0,#d7d1c3);border:2px solid #eee2bd;color:#b51e19;font-size:clamp(28px,5vw,46px);box-shadow:inset 0 -5px 6px #8a8067}.tile-art i:nth-child(2){transform:translateY(-10px);color:#168444}.tile-art i:nth-child(3){color:#4837aa}
.phoenix-art{background:radial-gradient(circle,#f9bd58,#a92923 58%,#260e13)}.treasure-art{background:radial-gradient(circle,#fbd779,#a86b17 48%,#27170d)}.queen-art{background:radial-gradient(circle,#ffd873,#9b2446 58%,#210e20)}.captain-art{background:radial-gradient(circle,#f3b04b,#6c281b 55%,#130e0b)}
.dice{font-size:78px;filter:drop-shadow(0 8px 8px #0009);z-index:1}.game-badge{position:absolute;top:9px;left:9px;border-radius:5px;background:linear-gradient(#ffedb3,#d99c36);color:#4b270d;font-size:10px;padding:5px 8px;font-weight:900}.blue-badge{background:linear-gradient(#d3e8ff,#5099d9);color:#11263b}.purple-badge{background:linear-gradient(#ead4ff,#8e5fbd);color:#28113c}
.game-info{padding:12px;display:flex;flex-direction:column;gap:12px}.game-info h3{font-size:15px;color:#fff0d1}.game-info p{color:#c6b9aa;font-size:11px;margin:5px 0 0}.play-btn{border:1px solid #d6af60;border-radius:8px;background:linear-gradient(110deg,#4c301a,#21160f);color:#ffe5a7;padding:9px;font-weight:700;font-size:12px}
.feature-banner{margin-top:16px;border:1px solid #9c7b43;border-radius:14px;padding:20px;background:linear-gradient(100deg,#f1dfba,#c7a16a 62%,#4e351e);color:#352211;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.feature-banner small{font-weight:800}.feature-banner h2{margin:7px 0;font-size:23px}.feature-banner p{font-size:12px}.feature-banner>span{font-size:clamp(38px,8vw,70px)}
.lower-grid{margin-top:16px}.panel{background:#2e2d2e;border-color:#4a4541}
.mobile-nav{display:none}
.auth-gate{position:fixed;inset:0;z-index:100;background:radial-gradient(ellipse at 50% 20%,#66451e,#191512 60%);display:grid;place-items:center;padding:22px}.auth-gate.hidden{display:none}.auth-card{width:min(430px,100%);border:1px solid #9a753e;border-radius:22px;background:linear-gradient(145deg,#31271d,#1e1c1a);box-shadow:0 20px 80px #000b;padding:28px;color:#fff3d8}.auth-emblem{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;font-size:42px;margin:0 auto 16px;background:linear-gradient(145deg,#ffe6a1,#8b551b);border:2px solid #f4d58b}.auth-eyebrow{text-align:center;color:#d9b56a;font-size:10px;letter-spacing:3px}.auth-card h1{text-align:center;font-size:25px;margin:12px 0}.auth-card p{text-align:center;color:#c9bdad;font-size:13px;line-height:1.7}.auth-card label{display:block;font-size:12px;color:#e6d5b6;margin:14px 0 6px}.auth-card input{width:100%;border:1px solid #6d583a;border-radius:10px;background:#171513;color:#fff;padding:13px;font-size:16px}.auth-card .primary{margin-top:18px;background:linear-gradient(#ffe6a0,#c78b2b);color:#30200c;border:0}.auth-card small{display:block;color:#a89b89;font-size:10px;line-height:1.7;margin-top:14px;text-align:center}#gateError{color:#ff9c8d;text-align:center;font-size:12px;margin-top:8px}
@media(max-width:700px){.topbar{height:64px;padding:0 14px}.brand b{font-size:15px}.brand small{font-size:8px}.top-actions{gap:6px}.top-actions .demo-tag,.top-actions #historyTop{display:none}.user-pill{padding:8px 9px;font-size:12px}.lobby-banner{width:calc(100% - 22px);margin:12px auto 9px;min-height:174px;padding:18px 16px;border-radius:13px}.banner-brand{font-size:9px;letter-spacing:2px}.banner-copy{margin-top:22px;max-width:75%}.banner-copy strong{font-size:22px}.banner-copy span{font-size:11px;max-width:210px}.banner-button{font-size:11px;padding:8px 14px}.banner-dragon{right:1%;top:30%;font-size:78px;opacity:.8}.notice-strip{width:calc(100% - 22px);font-size:10px;padding:9px 10px;margin-bottom:10px}.wallet-strip{width:calc(100% - 22px);padding:12px;grid-template-columns:1fr 1fr;gap:10px;border-radius:13px}.wallet-user{font-size:12px}.wallet-balance{text-align:right;font-size:19px}.wallet-actions{grid-column:1/-1;justify-content:space-around;border-top:1px solid #524840;padding-top:10px}.wallet-actions button{min-width:52px;font-size:22px}.wallet-actions button span{font-size:10px}.content-layout{display:block;padding:0 11px 95px}.category-rail{display:none}.section-head{margin:6px 3px 12px}.section-head h2{font-size:19px}.section-hint{font-size:9px}.games-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-art{height:132px}.game-info{padding:9px;gap:9px}.game-info h3{font-size:13px}.game-info p{font-size:10px;min-height:26px}.play-btn{padding:8px 4px;font-size:11px}.tile-art i{width:40px;height:58px;font-size:28px}.dice{font-size:62px}.feature-banner{padding:14px;margin-top:12px}.feature-banner h2{font-size:18px}.feature-banner p{font-size:10px}.lower-grid{display:block}.lower-grid>.panel{margin-bottom:12px}.mobile-nav{position:fixed;z-index:20;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;height:68px;padding:5px 5px calc(5px + env(safe-area-inset-bottom));background:#303032;border-top:1px solid #51463a;box-shadow:0 -8px 22px #0004}.mobile-nav button{flex:1;border:0;background:transparent;color:#d8d0c4;font-size:10px;display:flex;flex-direction:column;align-items:center;gap:3px}.mobile-nav button span{font-size:22px;color:#e9c87b}.mobile-nav .nav-emblem{flex:0 0 58px;height:58px;border:2px solid #b08a49;border-radius:50%;background:radial-gradient(circle,#5a4020,#15110d);font-size:30px;box-shadow:0 0 15px #d5a64d45}.modal{max-width:calc(100vw - 24px)}}
/* Mobile lobby polish v2 */
.game-card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.game-card:active{transform:scale(.985)}
.game-card[hidden]{display:none!important}
.play-btn{min-height:40px;box-shadow:inset 0 1px #ffe6a044,0 3px 8px #0003}
.banner-button,.wallet-actions button,.mobile-nav button,.category{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.wallet-strip{position:relative;overflow:hidden}
.wallet-strip:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 20%,#fff1 48%,transparent 70%);opacity:.35}
.wallet-user,.wallet-balance,.wallet-actions{position:relative;z-index:1}
.mobile-nav button.active{color:#ffe2a0}
.mobile-nav button.active span{filter:drop-shadow(0 0 6px #e8bd61)}
.notice-strip{white-space:nowrap;overflow:hidden}
.notice-strip div{overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.mobile-nav{height:calc(68px + env(safe-area-inset-bottom));padding-bottom:calc(5px + env(safe-area-inset-bottom))}.lobby-banner{box-shadow:inset 0 0 40px #d9a74b24,0 8px 22px #0004}.wallet-strip{box-shadow:0 8px 20px #0005}.games-grid{align-items:stretch}.game-card{display:flex;flex-direction:column}.game-info{flex:1}.game-info .play-btn{margin-top:auto}.section-head{display:flex;align-items:end;justify-content:space-between}}

/* Demo-only payout QR binding */
.payout-select,.payout-file{width:100%;box-sizing:border-box;border:1px solid #65513a;border-radius:10px;background:#201a14;color:#fff0d0;padding:12px;font:inherit}
.payout-file{font-size:13px}.qr-preview-wrap{display:flex;align-items:center;gap:12px;margin-top:10px;padding:10px;border:1px solid #6b5738;border-radius:12px;background:#211b15;color:#e6c77e;font-size:12px}.qr-preview-wrap.hidden{display:none}.qr-preview-wrap img{width:100px;height:100px;object-fit:contain;border-radius:8px;background:#fff}.admin-qr-thumb{display:block;width:64px;height:64px;object-fit:contain;background:#fff;border-radius:7px;margin-top:8px;padding:3px}
