:root[data-theme="light"]{--bg:#eef3f9;--panel:#fff;--line:#cbd5e1;--muted:#64748b;color-scheme:light}
html[data-theme="light"],html[data-theme="light"] body{background:linear-gradient(145deg,#f8fafc,#e7eef7);color:#172033}
html[data-theme="light"] .top,html[data-theme="light"] .bet-panel,html[data-theme="light"] .controls{background:#fff;border-color:#cbd5e1;box-shadow:0 5px 20px #64748b18}
html[data-theme="light"] .rules-btn{background:#edf2f8;border-color:#c4cfdd;color:#243247}
html[data-theme="light"] .road,html[data-theme="light"] .history{background:#fff;border-color:#cbd5e1}
html[data-theme="light"] .box-title,html[data-theme="light"] .section-title,html[data-theme="light"] .bet-panel-title{color:#172033}
html[data-theme="light"] .hist{border-color:#e2e8f0}
html[data-theme="light"] .amount input{background:#f8fafc;border-color:#cbd5e1;color:#172033}
html[data-theme="light"] .dialog{background:#fff;color:#172033}
html[data-theme="light"] .rule{color:#475569;border-color:#e2e8f0}
html[data-theme="light"] .rule b,html[data-theme="light"] .close{color:#172033}
html[data-theme="light"] .odds-grid div{background:#f1f5f9}
.stage{grid-template-columns:minmax(0,1.55fr) minmax(330px,.85fr)!important;align-items:stretch}
.table{isolation:isolate;border-color:#6b8f74!important;background:radial-gradient(ellipse at 50% 44%,#237a55 0,#115139 48%,#092f24 78%,#061d17 100%)!important;box-shadow:inset 0 0 0 1px #b9d4b533,inset 0 10px 35px #ffffff12,inset 0 -24px 55px #00140db8,0 12px 28px #0007!important}
.table:before{z-index:0;inset:27px 5.5%!important;border:2px solid #d8bd7299!important;border-radius:49%/45%!important;background:transparent!important;box-shadow:0 2px 5px #001a1188,inset 0 1px 1px #fff5!important}
.table:after{content:"";position:absolute;z-index:0;left:50%;bottom:25px;width:38%;height:39%;transform:translateX(-50%);background:url('/assets/logo-3d.webp') center bottom/contain no-repeat;opacity:.42;filter:drop-shadow(0 5px 7px #001a1299);pointer-events:none}
.table .status,.table .hands,.table .bet-total,.table .result-action{z-index:2}
.table .bet-total{left:18px;top:18px;bottom:auto;transform:none;min-width:112px;padding:9px 13px;border:1px solid #e6cf8d80;border-radius:10px;background:linear-gradient(145deg,#071a16d9,#123b2fd9);box-shadow:inset 0 1px #fff2,0 5px 13px #00140d88;color:#dcebe5;font-size:12px;font-weight:800;letter-spacing:.02em;text-align:center;backdrop-filter:blur(4px)}
.table .bet-total b{margin:0 3px;color:#ffe28a;font-size:18px;font-weight:1000;text-shadow:0 1px 2px #000}
.bet-panel{background:#0d192a;border:1px solid var(--line);border-radius:16px;padding:13px;display:flex;flex-direction:column}
.bet-panel-title,.section-title{font-size:15px;font-weight:900;margin-bottom:11px}
.bet-panel .board{margin-top:0}
.bet-panel .pair-row{order:1;margin-top:0}.bet-panel .board{order:2;margin-top:7px}.bet-panel .controls{order:3}.bet-panel .notice{order:4}
.bet-panel .bet{min-height:101px}
.bet-panel .pair-row .bet{min-height:68px}
.bet-panel .controls{grid-template-columns:1fr;margin-top:auto;padding:10px;background:#091426}
.bet-panel .chips{justify-content:center;padding:9px 5px 5px;overflow-y:visible}
.bet-panel .amount input,.bet-panel .submit{height:43px}
.results-area{margin-top:12px}
.road-grid,.history-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.road-grid .road{min-height:158px}
.road-grid .dots{grid-template-columns:repeat(15,1fr);min-height:auto}
.bead-grid{padding:12px;display:grid;grid-template-columns:repeat(15,1fr);grid-auto-rows:28px;gap:5px}
.bead{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px;font-weight:900}
.bead.player{background:#2878df}.bead.banker{background:#df3342}.bead.tie{background:#23944a}
.history-grid{margin-top:12px}.history-grid .history-list{height:210px}
@media(max-width:800px){.stage{grid-template-columns:1fr!important}.table:before{inset:24px 3%!important}.table:after{width:48%;height:35%;bottom:22px;opacity:.38}.table .bet-total{left:10px;top:11px;min-width:91px;padding:7px 9px;font-size:10px}.table .bet-total b{font-size:15px}.bet-panel{padding:10px}.bet-panel .controls{margin-top:10px}.road-grid,.history-grid{grid-template-columns:1fr}.road-grid .dots,.bead-grid{grid-template-columns:repeat(10,1fr)}.history-grid .history-list{height:190px}}

.road-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.road-switch{display:none;gap:5px}.road-switch button{border:1px solid var(--line);background:var(--panel);color:var(--muted);padding:7px 18px;border-radius:8px;cursor:pointer;font-weight:900}.road-switch button.on{background:#334e75;color:#fff;border-color:#5273a0}.roadmap{height:245px;position:relative;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.gallery-track{width:100%;height:100%;display:flex;transform:none!important}.road-slide{position:relative;width:50%;height:100%;flex:0 0 50%;padding:7px;background:#fff}.road-slide:before{position:absolute;z-index:4;top:10px;left:12px;padding:3px 8px;border-radius:6px;background:#111b;color:#fff;font-size:11px;font-weight:900;pointer-events:none}.bead-slide:before{content:'육매'}.main-slide:before{content:'본매'}.road-board{position:relative;width:100%;height:100%;overflow:hidden;border:1px solid #a0a8b2;border-radius:9px;background-color:#fff;background-image:linear-gradient(to right,#cbd0d6 1px,transparent 1px),linear-gradient(to bottom,#cbd0d6 1px,transparent 1px);background-size:calc(100% / 18) calc(66.666% / 6)}.big-road{position:absolute;inset:0 0 33.334%;display:grid;grid-template-columns:repeat(18,1fr);grid-template-rows:repeat(6,1fr)}.road-cell{position:relative;display:grid;place-items:center}.big-ring{position:relative;width:22px;height:22px;border:3px solid currentColor;border-radius:50%;background:#fff}.big-ring.player{color:#0875db}.big-ring.banker{color:#e51d18}.pair-mark,.bead-pair{position:absolute;width:6px;height:6px;border-radius:50%;box-shadow:0 0 0 1px #fff}.pair-mark.player{left:-3px;top:-3px;background:#0875db}.pair-mark.banker{right:-3px;bottom:-3px;background:#e51d18}.tie-slash{position:absolute;left:7px;top:-4px;width:4px;height:26px;border-radius:3px;background:#0ca84e;transform:rotate(42deg);color:#111;font-size:11px;font-style:normal;display:grid;place-items:center}.mini-road{position:absolute;top:66.666%;height:33.334%;width:33.333%;display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(6,1fr);border-top:2px solid #777;background-image:linear-gradient(to right,#d1d5db 1px,transparent 1px),linear-gradient(to bottom,#d1d5db 1px,transparent 1px);background-size:calc(100% / 12) calc(100% / 6)}.mini-road.left{left:0}.mini-road.middle{left:33.333%;border-left:2px solid #777}.mini-road.right{left:66.666%;border-left:2px solid #777}.mini-mark{display:block;color:currentColor}.mini-mark.ring{width:10px;height:10px;border:2px solid;border-radius:50%}.mini-mark.dot{width:9px;height:9px;border-radius:50%;background:currentColor}.mini-mark.slash{width:11px;height:2px;background:currentColor;transform:rotate(-48deg)}.mini-mark.red{color:#e51d18}.mini-mark.blue{color:#0875db}.bead-board{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(6,1fr);background-size:calc(100% / 12) calc(100% / 6)}.bead-chip{position:relative;width:33px;height:33px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:22px;font-weight:500;font-style:normal}.bead-chip.player{background:#266eff}.bead-chip.banker{background:#df001a}.bead-chip.tie{background:#23823e}.bead-pair.player{left:-1px;top:2px;background:#266eff}.bead-pair.banker{right:2px;bottom:-1px;background:#df001a}
.chip{border:0!important;background-color:transparent!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;width:50px!important;height:50px!important;filter:drop-shadow(0 3px 3px #0008);text-shadow:0 1px 2px #000,0 0 3px #000;color:#fff!important}.chip.on{outline:0!important;filter:drop-shadow(0 0 6px #f5cb61) drop-shadow(0 3px 3px #0008);transform:translateY(-4px) scale(1.06)}
:root[data-theme="light"] .timer b{color:#fff}:root[data-theme="light"] .timer:after{background:#13233a}
.third-table-wrap{overflow-x:auto;margin-top:9px}.third-table{width:100%;border-collapse:collapse;min-width:570px;font-size:12px}.third-table th,.third-table td{padding:8px 7px;border:1px solid var(--line);text-align:center}.third-table th{background:#091526;color:#fff}.third-rule p{margin:7px 0}
html:not([data-theme="light"]) .roadmap,html:not([data-theme="light"]) .road-slide,html:not([data-theme="light"]) .road-board{background-color:#101923}html:not([data-theme="light"]) .road-board{border-color:#485667;background-image:linear-gradient(to right,#41505f 1px,transparent 1px),linear-gradient(to bottom,#41505f 1px,transparent 1px)}html:not([data-theme="light"]) .mini-road{background-image:linear-gradient(to right,#41505f 1px,transparent 1px),linear-gradient(to bottom,#41505f 1px,transparent 1px);border-color:#647181}html:not([data-theme="light"]) .big-ring{background:#101923}
@media(max-width:800px){.road-switch{display:flex}.roadmap{height:218px;touch-action:pan-y;cursor:grab}.gallery-track{width:200%;transform:translate3d(-50%,0,0)!important;will-change:transform}.gallery-track.animating{transition:transform .34s cubic-bezier(.22,.78,.24,1)}.road-slide{width:50%;flex-basis:50%}.road-slide:before{display:none}.big-ring{width:18px;height:18px;border-width:2px}.bead-chip{width:28px;height:28px;font-size:18px}.road-switch button{padding:7px 14px}}
@media(max-width:800px){.gallery-track{transform:translate3d(var(--road-x,-50%),0,0)!important}}
.score.score-reveal{animation-delay:1.75s!important}
.result-action{position:absolute;z-index:8;left:50%;top:54%;min-width:220px;padding:12px 24px;border:1px solid #fff7;border-radius:999px;opacity:0;transform:translate(-50%,-50%) scale(.35);text-align:center;color:#fff;font-size:30px;font-weight:1000;letter-spacing:.04em;text-shadow:0 2px 5px #000;pointer-events:none}.result-action.show{animation:resultWinIn .75s cubic-bezier(.16,1.35,.35,1) forwards}.result-action.player{background:linear-gradient(135deg,#125ed8e8,#36a1ffe8);box-shadow:0 0 32px #2587ff}.result-action.banker{background:linear-gradient(135deg,#b51f32e8,#ff5363e8);box-shadow:0 0 32px #ed3048}.result-action.tie{background:linear-gradient(135deg,#087c39e8,#29c469e8);box-shadow:0 0 32px #22b95f}@keyframes resultWinIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.35) rotate(-4deg);filter:blur(8px)}55%{opacity:1;transform:translate(-50%,-50%) scale(1.13) rotate(1deg);filter:blur(0)}75%{transform:translate(-50%,-50%) scale(.97)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
:root[data-theme="light"] .wallet b,:root[data-theme="light"] .hist strong,:root[data-theme="light"] .notice,:root[data-theme="light"] .status-label{color:#dc2626!important}
@media(max-width:800px){.result-action{top:57%;min-width:178px;padding:10px 17px;font-size:23px}}
.toast,.toast.show{color:#fff!important}
.bet.locked,.bet:disabled{cursor:not-allowed;filter:grayscale(.75) brightness(.62);opacity:.62;transform:none!important;outline:0!important}.bet.locked:after{content:'선택 불가';position:absolute;inset:auto 8px 7px;padding:3px 5px;border-radius:5px;background:#0009;color:#fff;font-size:9px;font-weight:900}
.hall{margin-top:12px;padding:15px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.hall-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.hall-head h2{margin:0;font-size:17px}.hall-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.hall-head>span{padding:6px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px}.hall-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.hall-rank{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:54px;padding:8px 11px;border:1px solid #ffffff12;border-radius:10px;background:#091426}.hall-no{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#24344c;color:#cbd5e1;font-size:12px;font-weight:1000}.hall-rank:nth-child(1) .hall-no{background:linear-gradient(135deg,#fcd34d,#d97706);color:#451a03}.hall-rank:nth-child(2) .hall-no{background:linear-gradient(135deg,#e2e8f0,#94a3b8);color:#1e293b}.hall-rank:nth-child(3) .hall-no{background:linear-gradient(135deg,#fdba74,#b45309);color:#431407}.hall-user{min-width:0}.hall-user b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.hall-user small{color:var(--muted);font-size:10px}.hall-profit{text-align:right;color:#f8d979;font-size:13px;font-weight:1000}.hall-profit small{display:block;margin-top:2px;color:var(--muted);font-size:9px;font-weight:700}:root[data-theme="light"] .hall{background:#fff}:root[data-theme="light"] .hall-rank{background:#f8fafc;border-color:#e2e8f0}:root[data-theme="light"] .hall-profit{color:#dc2626}
@media(max-width:800px){.hall{padding:11px}.hall-list{grid-template-columns:1fr}.hall-head h2{font-size:15px}.hall-rank{min-height:50px}}
.hist-right{display:flex;align-items:center;justify-content:flex-end;gap:7px}.hist-result{display:grid;place-items:center;min-width:30px;height:25px;padding:0 7px;border-radius:8px;color:#fff;font-size:11px;font-weight:1000;box-shadow:inset 0 1px #fff3}.hist-result.win{background:linear-gradient(135deg,#16a34a,#059669)}.hist-result.lose{background:linear-gradient(135deg,#ef4444,#b91c1c)}.hist-result.refund{background:linear-gradient(135deg,#0d9488,#0284c7)}.hist-result.pending{background:linear-gradient(135deg,#64748b,#475569)}
@media(max-width:520px){.hist-right{gap:5px}.hist-right strong{font-size:10px}.hist-result{min-width:27px;height:23px;padding:0 6px}}
.placed-bet-chip{position:absolute;z-index:5;left:50%;top:62%;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background-size:contain;background-position:center;background-repeat:no-repeat;color:#fff;font-size:9px;font-weight:1000;text-shadow:0 1px 3px #000,0 0 3px #000;filter:drop-shadow(0 5px 4px #0008);pointer-events:none;animation:betChipLand .48s cubic-bezier(.17,1.45,.36,1) both}.pair-row .placed-bet-chip{top:58%;width:32px;height:32px;font-size:8px}@keyframes betChipLand{0%{opacity:0;transform:translate(-50%,75px) scale(.18) rotate(-24deg)}65%{opacity:1;transform:translate(-50%,-8px) scale(1.12) rotate(5deg)}82%{transform:translate(-50%,3px) scale(.96) rotate(-2deg)}100%{opacity:1;transform:translate(-50%,0) scale(1) rotate(0)}}
.chip-reset{flex:0 0 48px;width:48px;height:48px;border:1px solid #ffffff38;border-radius:50%;display:grid;place-items:center;padding:4px;background:linear-gradient(145deg,#334155,#111827);color:#fff;font-size:21px;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 3px 7px #0005}.chip-reset small{display:block;margin-top:-5px;font-size:7px;font-weight:800}.chip-reset:hover{border-color:#f8d979;transform:rotate(-8deg)}:root[data-theme="light"] .chip-reset{border-color:#cbd5e1;background:linear-gradient(145deg,#64748b,#334155)}
.bet .placed-bet-chip{display:grid;font-size:9px}.pair-row .bet .placed-bet-chip{font-size:8px}
.chip{flex:0 0 40px!important}
