@font-face{font-family:Sora;src:url(/games-assets/f74f4b0d9751e1205fd3f21f8da0554634e09b0c48c18f3dd66b4f18cb2fc003/public/trade/fonts/sora-latin-v17.woff2) format('woff2');font-weight:100 800;font-display:swap}
:root{color-scheme:dark;--bg:#0b0c11;--surface:#14161f;--card:#1b1d27;--edge:#282b39;--edge2:#343849;--text:#eef0f7;--muted:#9096ab;--green:#35d59b;--blue:#55c8f2;--red:#ff5d73;--accent:#8b8fff;--chance:48.5%;--over:51.49%}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Sora,-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;font-size:14px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--edge2);background:var(--card);font-weight:700;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}button:hover{border-color:#666c82}button:disabled{opacity:.4;cursor:default}input{min-width:0;outline:none;color:var(--text)}input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}.site-header{height:60px;display:flex;align-items:center;gap:20px;padding:0 22px;border-bottom:1px solid var(--edge);background:var(--bg)}.brand{display:flex;align-items:center;gap:7px;font-size:17px;font-weight:800;letter-spacing:.02em}.site-header nav{display:flex;gap:4px;margin-left:8px}.site-header nav a{padding:8px 14px;border-radius:99px;font-size:14px;font-weight:600;color:var(--muted)}.site-header nav a.on{background:var(--surface);color:var(--text)}.wallet{margin-left:auto;padding:7px 13px;border-radius:99px;background:var(--surface);border:1px solid var(--edge);line-height:1.3}.wallet small{display:block;font-size:9px;color:var(--muted);letter-spacing:.1em}.wallet b{font-size:15px;font-weight:800}.demo-account{font-size:12px;color:var(--muted);font-weight:700}.page{max-width:1120px;margin:auto;padding:12px 22px 24px}.game-header{height:62px;display:flex;align-items:center;justify-content:space-between;gap:8px}.game-title{display:flex;align-items:center;gap:9px}.game-title h1{font-size:21px;font-weight:800;white-space:nowrap}.game-title h1 span{font-size:12px;color:var(--muted);margin-left:5px;letter-spacing:.08em}.dice-icon{width:30px;height:30px;color:var(--green);fill:currentColor}.dice-icon rect{fill:none}.mode-badge{padding:4px 7px;background:#ffc94d14;border:1px solid #ffc94d38;border-radius:6px;font-size:10px;color:#ffc94d;font-weight:700;white-space:nowrap}.header-tools{display:flex;align-items:center;gap:7px}.icon-button,.square-button{width:44px;height:44px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center}.text-tool{background:none;border:0;color:var(--muted);padding:10px 9px;font-size:12px;min-height:44px;display:flex;gap:5px;align-items:center}.text-tool svg{width:17px;height:17px}.game-frame{height:clamp(500px,calc(100dvh - 200px),680px);border:1px solid var(--edge);border-radius:16px;overflow:hidden;background:var(--surface);display:grid;grid-template-rows:48px minmax(300px,1fr) 108px}.history-bar{display:flex;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid var(--edge);min-width:0}.history-label{color:var(--muted);font-size:11px;white-space:nowrap}.recent-results{display:flex;align-items:center;gap:6px;min-width:0;flex:1;overflow:hidden;mask-image:linear-gradient(to right,black 93%,transparent)}.empty-history{font-size:11px;color:#666c82}.history-button{display:flex;gap:5px;align-items:center;background:none;border:0;font-size:12px;padding:10px 0;color:var(--muted)}.history-button svg{width:18px;height:18px}.history-chip{border:0;border-radius:7px;flex-shrink:0;min-width:52px;height:27px;padding:0 9px;font-size:11px;background:#35d59b18;color:var(--green)}.history-chip.over{background:#55c8f218;color:var(--blue)}.history-chip.loss{background:var(--card);color:var(--muted)}.history-chip:hover{background:var(--edge2)}.play-space{padding:22px 38px 26px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background-image:linear-gradient(#ffffff02 1px,transparent 1px),linear-gradient(90deg,#ffffff02 1px,transparent 1px);background-size:32px 32px}.result-block{text-align:center;position:relative;min-height:136px}.result-caption{font-size:11px;color:var(--muted);letter-spacing:.03em;margin-bottom:3px}.roll-number{font-size:82px;font-weight:800;letter-spacing:-.065em;line-height:1.1;color:var(--text)}.roll-number>.number-fraction{font-size:.6em;color:#bec3d4;margin-left:2px}.roll-number.rolling{filter:blur(.4px);color:var(--muted)}.round-message{font-size:12px;font-weight:600;color:var(--muted);height:22px;margin-top:7px;transition:color .2s}.round-message.win{color:var(--green)}.round-message.win.over{color:var(--blue)}.round-message.loss{color:var(--muted)}.range-board{width:100%;position:relative;padding:14px 0 30px;max-width:920px}.lane{height:27px;border-radius:4px;position:relative;overflow:hidden;background:#ff5d7340;box-shadow:inset 0 0 0 1px #ffffff08}.lane::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(1% - 1px),#0b0c1180 calc(1% - 1px) 1%)}.lane+.lane{margin-top:7px}.win-zone{position:absolute;top:0;bottom:0}.over-lane .win-zone{right:0;width:var(--chance);background:var(--blue)}.under-lane .win-zone{left:0;width:var(--chance);background:var(--green)}.top-ticks{position:absolute;top:3px;width:100%;display:flex;justify-content:space-between}.top-ticks i{height:5px;width:1px;background:#62687c}.result-marker{position:absolute;top:34px;transform:translateX(-50%);height:23px;width:23px;border-radius:50%;background:#ffc94d;box-shadow:0 0 0 5px #ffc94d18,0 3px 8px #0006;z-index:2;display:grid;place-items:center;transition:none}.result-marker span{width:6px;height:6px;border-radius:50%;background:#30260e}.result-marker.win{background:var(--green);box-shadow:0 0 0 5px #35d59b20,0 0 25px #35d59b66}.result-marker.win.over{background:var(--blue);box-shadow:0 0 0 5px #55c8f220,0 0 25px #55c8f266}.scale{display:flex;justify-content:space-between;position:absolute;bottom:2px;left:0;right:0;font-size:10px;color:var(--muted)}.odds-panel{width:500px;max-width:100%;border:1px solid var(--edge2);border-radius:14px;overflow:hidden;background:#1b1d27e6;flex-shrink:0}.odds-main{display:flex;align-items:center;gap:10px;padding:14px 16px 11px}.odds-main>label{font-size:11px;color:var(--muted);white-space:nowrap}.payout-field{display:flex;align-items:center;background:var(--bg);border:1px solid var(--edge2);border-radius:8px;padding:7px 10px;gap:3px;flex-shrink:0}.payout-field input{width:72px;background:none;border:0;font-size:17px;font-weight:800;text-align:right}.payout-field b{font-size:13px;color:var(--muted)}.slider-wrap{margin-left:12px;flex:1;min-width:60px}.slider-wrap input{width:100%;height:8px;accent-color:#eef0f7;direction:rtl;cursor:ew-resize}.slider-ends{display:flex;justify-content:space-between;font-size:9px;color:#747b91;margin-top:4px}.odds-summary{display:flex;justify-content:space-between;gap:10px;padding:11px 16px;background:#11131ba6;border-top:1px solid var(--edge);font-size:11px;color:var(--muted)}.odds-summary strong{color:var(--text);margin-left:5px;font-size:12px}.controls-bar{border-top:1px solid var(--edge);background:var(--surface);padding:19px 26px;display:flex;align-items:flex-end;gap:12px;justify-content:center}.stake-section{position:relative;width:300px;flex-shrink:0}.field-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:10px;font-weight:700;margin-bottom:7px}.field-label span{font-size:9px;color:#646b80}.stake-row{display:flex;gap:6px}.money-input{height:46px;display:flex;align-items:center;gap:7px;border:1px solid var(--edge2);border-radius:12px;background:var(--card);padding:0 12px;flex:1;min-width:0}.money-input>span{font-weight:700;color:var(--muted)}.money-input input{background:none;border:0;width:100%;font-weight:800;font-size:17px}.square-button{width:46px;height:46px;font-size:23px;flex-shrink:0}.square-button svg{width:21px;height:21px}.preset-list{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;position:absolute;bottom:80px;left:0;width:100%;padding:8px;background:var(--surface);border:1px solid var(--edge2);border-radius:12px;box-shadow:0 14px 40px #0007;z-index:6}.preset-list button{height:42px;border-radius:8px;font-size:11px}.preset-list button.on{background:#eef0f7;color:#11131b;border-color:#eef0f7}.auto-button{min-width:68px;height:64px;border-radius:13px;background:var(--card);display:flex;align-items:center;justify-content:center;gap:5px;flex-direction:column;padding:8px}.auto-button svg{width:25px;height:25px}.auto-button span{font-size:10px;color:var(--muted);white-space:nowrap}.auto-button.active{border-color:#ffc94d;color:#ffc94d;background:#ffc94d0d}.auto-button.active span{color:#ffc94d}.direction-buttons{display:flex;gap:9px;width:340px;flex-shrink:0}.direction-button{position:relative;flex:1;height:64px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:13px;border:1px solid #ffffff2e;color:#06251b;background:linear-gradient(125deg,#58e8b4,#30c692);box-shadow:inset 0 1px 0 #ffffff2e,0 3px 0 #0c7958}.direction-button.over{color:#07222c;background:linear-gradient(125deg,#8cdcf8,#44bde7);box-shadow:inset 0 1px 0 #ffffff38,0 3px 0 #1b718e}.direction-button:hover{filter:brightness(1.07);border-color:#ffffff60}.direction-button:active{transform:translateY(2px);box-shadow:inset 0 1px 0 #ffffff38}.direction-button svg{width:29px;height:29px;stroke-width:3}.direction-button>span{display:flex;flex-direction:column;align-items:flex-start;font-size:11px;font-weight:700;line-height:1.5}.direction-button b{font-size:20px;font-weight:800}.direction-button:disabled{opacity:.55}.game-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 2px;font-size:10px;color:#71788d}.game-footer button{padding:0;border:0;background:none;color:var(--muted);font-size:10px;min-height:20px}.game-frame.celebrate .roll-number{color:var(--green);text-shadow:0 0 60px #35d59b25;animation:result-in .42s ease-out}.game-frame.celebrate.over .roll-number{color:var(--blue);text-shadow:0 0 60px #55c8f225}.game-frame.celebrate .roll-number span{color:inherit}.game-frame.celebrate .range-board{filter:drop-shadow(0 0 18px #35d59b0a)}@keyframes result-in{0%{transform:scale(.88);filter:blur(4px)}65%{transform:scale(1.04)}100%{transform:scale(1);filter:none}}dialog{padding:0;border:1px solid var(--edge2);border-radius:20px;background:var(--surface);color:var(--text);width:520px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 40px);box-shadow:0 30px 100px #0008;overflow:hidden}dialog::backdrop{background:#05060bbd;backdrop-filter:blur(7px)}.modal-header{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--edge)}.modal-header h2{font-size:20px;font-weight:800}.modal-header .icon-button{background:none;border-color:var(--edge2)}.modal-body{padding:22px;overflow:auto;max-height:calc(100dvh - 130px);overscroll-behavior:contain}.modal-body p{color:var(--muted);line-height:1.8;font-size:13px}.modal-body h3{margin:0 0 12px;font-size:13px;font-weight:700}.section-card{padding:17px;border:1px solid var(--edge);border-radius:14px;background:var(--card);margin-bottom:14px}.section-card:last-child{margin-bottom:0}.radio-row{display:flex;gap:8px;margin-bottom:20px}.radio-card{flex:1;display:flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--edge2);border-radius:11px;min-height:52px;padding:12px;font-size:13px;font-weight:700}.radio-card:has(input:checked){border-color:var(--green);background:#35d59b0a}.radio-card.blue:has(input:checked){border-color:var(--blue);background:#55c8f20a}input[type=radio],input[type=checkbox]{accent-color:var(--green);width:17px;height:17px;flex-shrink:0}.round-options{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:20px}.round-option{border:1px solid var(--edge2);border-radius:9px;min-height:44px;display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:12px;background:var(--card)}.round-option input{position:absolute;opacity:0;pointer-events:none}.round-option:has(input:checked){background:#eef0f7;border-color:#eef0f7;color:#11131b;font-weight:800}.stop-rule{display:flex;align-items:center;gap:7px;font-size:12px;padding:10px 0;min-height:52px}.stop-rule .small-money{margin-left:auto;width:92px;flex-shrink:0}.small-money{display:flex;align-items:center;border:1px solid var(--edge2);border-radius:9px;background:var(--bg);padding:9px;gap:5px;color:var(--muted)}.small-money input{background:none;border:0;width:100%;font-weight:700;font-size:12px}.more-options{border-top:1px solid var(--edge);margin-top:9px;padding-top:13px}.more-options summary{cursor:pointer;list-style:none;font-size:12px;color:var(--muted);padding:5px 0 13px;display:flex;justify-content:space-between}.more-options summary::after{content:'＋'}.more-options[open] summary::after{content:'−'}.strategy{margin:16px 0 4px;border:0;padding:0}.strategy legend{margin-bottom:8px;font-size:12px;font-weight:700}.strategy-row{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;min-height:34px;flex-wrap:wrap}.strategy-row label{display:flex;align-items:center;gap:4px}.strategy-row input[type=number]{width:62px;margin-left:auto;padding:9px;border:1px solid var(--edge2);border-radius:7px;background:var(--bg)}.primary{min-height:48px;border-radius:12px;width:100%;background:#eef0f7;color:#11131b;border-color:#d5daed;font-size:14px;margin-top:18px}.secondary{min-height:44px;padding:0 14px;border-radius:10px;font-size:12px}.dim{font-size:11px!important;color:#71788d!important}.facts{display:grid;grid-template-columns:1fr 1fr;gap:19px}.facts small{display:block;color:var(--muted);font-size:11px;margin-bottom:7px}.facts strong{font-size:20px;font-weight:800}.detail-roll{display:flex;align-items:center;justify-content:space-between}.detail-roll b{font-size:48px;letter-spacing:-.04em}.direction-tag{display:inline-flex;gap:5px;align-items:center;font-size:12px;color:var(--green);background:#35d59b18;padding:7px 11px;border-radius:8px}.direction-tag.over{color:var(--blue);background:#55c8f218}.detail-status{font-size:13px;color:var(--green);font-weight:700}.detail-status.loss{color:var(--muted)}.detail-meta{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:18px}.record-list{display:flex;flex-direction:column;gap:7px}.record-row{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:65px;border-radius:12px;padding:12px 14px;text-align:left}.record-row .record-left{display:flex;align-items:center;gap:12px}.record-row small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:4px}.record-number{font-size:20px;color:var(--green);min-width:65px}.record-row.over .record-number{color:var(--blue)}.record-right{font-size:13px;text-align:right}.record-right b{display:block;color:var(--green)}.record-right b.loss{color:var(--muted)}.record-right em{font-style:normal;color:var(--muted);margin-left:8px}.fair-heading{display:flex;align-items:center;gap:12px;margin-bottom:13px}.fair-heading svg{width:36px;height:36px;color:var(--green)}.fair-heading b{font-size:17px}.fair-checks{display:flex;flex-direction:column;gap:12px;font-size:12px;color:var(--muted);margin-top:15px}.fair-checks div{display:flex;justify-content:space-between}.fair-checks span{color:var(--green)}.seed-input{margin-top:12px;width:100%;background:var(--bg);border:1px solid var(--edge2);border-radius:9px;padding:12px;font-size:13px}.commit-preview{margin:11px 0 3px;font-size:11px;word-break:break-all;line-height:1.8;color:#747b91}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:12px 18px;background:#eef0f7;color:#14161f;font-size:12px;font-weight:600;border-radius:12px;box-shadow:0 6px 30px #0006;z-index:50;max-width:90vw}.help-visual{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 0 24px}.help-visual b{font-size:52px;letter-spacing:-.05em}.help-lanes{width:100%;height:22px;background:linear-gradient(90deg,var(--green) 0 48.5%,#ff5d7340 48.5% 51.5%,var(--blue) 51.5%);border-radius:5px}.help-directions{display:flex;width:100%;justify-content:space-between;font-size:12px;font-weight:700}.help-directions span:first-child{color:var(--green)}.help-directions span:last-child{color:var(--blue)}.lobby{padding-top:44px}.eyebrow{font-size:11px;letter-spacing:.15em;color:var(--muted)}.lobby-heading h1{font-size:30px;font-weight:800;margin:10px 0}.lobby-heading p{font-size:13px;color:var(--muted)}.lobby-card{display:grid;grid-template-columns:230px 1fr;gap:26px;padding:18px;background:var(--surface);border:1px solid var(--edge);border-radius:20px;max-width:660px;margin-top:28px}.lobby-art{background-image:linear-gradient(#ffffff04 1px,transparent 1px),linear-gradient(90deg,#ffffff04 1px,transparent 1px);background-size:24px 24px;border:1px solid var(--edge);border-radius:14px;height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--green)}.lobby-art svg{width:72px;height:72px;fill:currentColor;transform:rotate(-12deg)}.lobby-art svg rect{fill:none}.lobby-art span{font-size:10px;color:var(--muted);letter-spacing:.15em}.lobby-card>div:last-child{display:flex;flex-direction:column;justify-content:center}.lobby-card h2{font-size:23px;margin-bottom:10px}.lobby-card h2 span{font-size:12px;color:var(--muted)}.lobby-card p{font-size:12px;color:var(--muted)}.card-cta{font-size:13px;color:var(--green);margin-top:25px}.card-cta b{margin-left:35px}.lobby-note{color:var(--muted);font-size:11px;margin-top:18px}
@media(min-width:761px) and (max-height:760px){.play-space{gap:12px;padding-top:12px;padding-bottom:14px}.result-block{min-height:119px}.roll-number{font-size:72px}.game-frame{grid-template-rows:46px minmax(300px,1fr) 100px}.controls-bar{padding-top:12px;padding-bottom:16px}}
@media(max-width:900px) and (min-width:761px){.controls-bar{gap:8px;padding-left:15px;padding-right:15px}.stake-section{width:270px}.direction-buttons{width:290px}.direction-button{gap:5px}.play-space{padding-left:24px;padding-right:24px}.direction-button b{font-size:18px}}
@media(max-width:760px){.site-header{display:none}.page{padding:0}.game-header{height:58px;padding:0 12px}.game-title{gap:6px}.game-title h1{font-size:17px}.game-title h1 span{display:none}.dice-icon{width:25px;height:25px}.mode-badge{font-size:9px;padding:3px 5px}.header-tools{gap:4px}.text-tool{font-size:11px;padding:8px 5px}.text-tool svg{display:none}.icon-button{width:36px;height:36px;border-radius:10px}.icon-button svg{width:19px;height:19px}.game-frame{border-radius:0;border-left:0;border-right:0;height:calc(100dvh - 89px);min-height:510px;grid-template-rows:42px minmax(280px,1fr) 158px}.history-bar{padding:0 12px;gap:8px}.history-label{display:none}.history-chip{height:25px;min-width:48px;font-size:10px}.history-button{font-size:11px}.play-space{padding:18px 18px 24px;gap:24px;background-size:24px 24px}.result-block{min-height:128px}.roll-number{font-size:82px}.result-caption{font-size:10px}.round-message{font-size:11px}.range-board{padding-top:14px;padding-bottom:27px}.lane{height:25px}.lane+.lane{margin-top:6px}.result-marker{top:33px;width:21px;height:21px}.odds-panel{width:100%;border-radius:12px}.odds-main{padding:12px 12px 9px;gap:7px}.odds-main>label{font-size:10px}.payout-field{padding:6px 7px}.payout-field input{width:72px;font-size:16px}.slider-wrap{margin-left:5px}.slider-ends{font-size:8px}.odds-summary{padding:11px 12px;font-size:10px}.odds-summary strong{font-size:11px}.controls-bar{padding:12px 14px 15px;display:grid;grid-template-columns:58px 1fr;grid-template-rows:51px 63px;gap:10px}.stake-section{width:auto;grid-column:1/-1;display:flex;align-items:center;gap:9px}.field-label{display:block;min-width:48px;font-size:10px;margin:0}.field-label span{display:block;margin-top:4px}.stake-row{flex:1;min-width:0}.money-input{height:44px}.money-input input{font-size:17px}.square-button{height:44px;width:43px;font-size:22px}.auto-button{height:60px;min-width:0;width:58px;border-radius:12px}.auto-button svg{width:23px;height:23px}.auto-button span{font-size:8px}.direction-buttons{width:100%;gap:8px}.direction-button{height:60px;gap:8px;border-radius:12px}.direction-button svg{width:26px;height:26px}.direction-button b{font-size:20px}.direction-button>span{font-size:10px}.preset-list{bottom:61px;left:0;max-width:100%;padding:8px}.preset-list button{font-size:11px;height:40px}.game-footer{padding:6px 12px;height:31px;font-size:8px;white-space:nowrap}.game-footer button{font-size:9px}.modal-header{height:66px;padding:0 18px}.modal-header h2{font-size:20px}.modal-body{padding:18px}.round-options{gap:5px}.round-option{font-size:11px}.stop-rule{font-size:11px}.strategy-row{font-size:11px;gap:4px}.strategy-row label{gap:1px}.facts strong{font-size:18px}.toast{bottom:18px}.lobby{padding:26px 16px}.lobby-heading h1{font-size:27px}.lobby-card{grid-template-columns:110px 1fr;gap:16px;padding:12px;border-radius:16px}.lobby-art{height:140px}.lobby-art svg{width:56px;height:56px}.lobby-card h2{font-size:19px}.lobby-card h2 span{display:block;font-size:10px;margin-top:4px}.lobby-card p{font-size:11px}.card-cta{font-size:12px;margin-top:20px}.card-cta b{margin-left:12px}}
@media(max-width:760px) and (max-height:740px){.play-space{gap:12px;padding-top:12px;padding-bottom:16px}.roll-number{font-size:67px}.result-block{min-height:112px}.game-frame{grid-template-rows:38px minmax(280px,1fr) 150px;min-height:490px}.controls-bar{padding-top:8px;padding-bottom:11px}.range-board{padding-bottom:23px}.lane{height:21px}.result-marker{top:29px;height:20px;width:20px}.odds-main{padding-top:9px;padding-bottom:8px}.odds-summary{padding-top:9px;padding-bottom:9px}.result-caption{font-size:9px}.round-message{margin-top:5px;font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.title-help{padding:0;border:0;background:none;font:inherit;color:inherit}.mobile-balance,.mobile-fair{display:none}
@media(max-width:760px){.mobile-balance{display:block;text-align:right;margin-left:auto;line-height:1.3}.mobile-balance small{display:block;font-size:8px;color:var(--muted)}.mobile-balance b{font-size:12px;font-weight:800;white-space:nowrap}.header-tools .text-tool{display:none}.mobile-fair{display:block;background:none;border:0;color:var(--muted);font-size:10px;padding:8px 0;white-space:nowrap}.game-header{gap:8px}.game-title h1{font-size:16px}.game-title .dice-icon{width:23px;height:23px}}

/* Motion revision 2: compositor-driven reels and a single sweep timeline. */
.game-frame{--motion-color:#35d59b;--motion-rgb:53,213,155}
.game-frame[data-direction="over"]{--motion-color:#55c8f2;--motion-rgb:85,200,242}
.roll-number{display:inline-flex;align-items:flex-end;justify-content:center;letter-spacing:0;line-height:1.1}
.number-whole,.number-fraction{display:inline-flex;align-items:flex-end}.number-fraction{margin-bottom:.13em}
.digit-cell{display:inline-block;position:relative;width:.65em;height:1.1em;overflow:hidden;vertical-align:baseline;contain:layout paint}
.digit-strip{display:flex;flex-direction:column;will-change:transform;transform:translateZ(0)}
.digit-face{display:block;flex:none;height:1.1em;line-height:1.1;font-size:1em;text-align:center;font-weight:800}
.decimal-point{display:inline-block;line-height:1.1;margin-left:1px;margin-right:1px}
.roll-number.rolling{filter:none;color:var(--text)}
.rolling .number-fraction{color:#b7c6d7}
.rolling .digit-cell{mask-image:linear-gradient(transparent,black 12%,black 88%,transparent)}
.play-space{position:relative;isolation:isolate}
.play-space::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 35%,rgba(var(--motion-rgb),.17),transparent 64%);opacity:0;z-index:0}
.play-space>*{position:relative;z-index:1}
.is-rolling .play-space::before{animation:energy-rise var(--roll-energy-duration,6s) ease-in-out}
.result-marker,.motion-trail,.scan-beam{will-change:transform}
.is-rolling .result-marker{background:#ffdc7e;box-shadow:0 0 0 4px #ffc94d16,0 0 26px #ffc94d65}
.is-rolling .result-marker span{background:#694509}
.scan-beam{position:absolute;top:9px;bottom:25px;width:50px;left:50%;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(var(--motion-rgb),.3),transparent);border-inline:1px solid #ffffff07;pointer-events:none;opacity:0;z-index:1}
.motion-trail{position:absolute;left:50%;top:41px;width:9px;height:9px;border-radius:50%;background:#ffcf60;transform:translateX(-50%);opacity:0;pointer-events:none;z-index:2}
.is-rolling .scan-beam{opacity:1}
.is-rolling .trail-one{opacity:.42}
.is-rolling .trail-two{opacity:.24;width:7px;height:7px;top:42px}
.is-rolling .trail-three{opacity:.12;width:5px;height:5px;top:43px}
.result-block::after{content:'';position:absolute;left:50%;top:47%;width:180px;height:180px;pointer-events:none;border:1px solid rgba(var(--motion-rgb),.6);border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.6);z-index:-1}
.game-frame.celebrate .result-block::after{animation:impact-ring 1.8s cubic-bezier(.12,.65,.2,1)}
.game-frame.celebrate .play-space::before{animation:win-radiance 2.8s ease-out}
.game-frame.celebrate .roll-number{color:var(--motion-color);text-shadow:none;filter:drop-shadow(0 0 14px rgba(var(--motion-rgb),.25));animation:win-number 1.1s cubic-bezier(.17,.8,.25,1)}
.game-frame.celebrate.over .roll-number{color:var(--motion-color);text-shadow:none;filter:drop-shadow(0 0 14px rgba(var(--motion-rgb),.25))}
.game-frame.celebrate .range-board{filter:none}
.result-marker.win::after{content:'';position:absolute;inset:-7px;border:2px solid var(--motion-color);border-radius:50%;animation:marker-impact 1.4s ease-out forwards;pointer-events:none}
.game-frame.celebrate .round-message{animation:payout-arrive .9s ease-out}
@keyframes energy-rise{0%{opacity:0;transform:scale(.88)}30%{opacity:1}80%{opacity:.7}100%{opacity:0;transform:scale(1.05)}}
@keyframes win-radiance{0%{opacity:1;transform:scale(.8)}40%{opacity:1}100%{opacity:0;transform:scale(1.25)}}
@keyframes impact-ring{0%{opacity:.8;transform:translate(-50%,-50%) scale(.5)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}
@keyframes marker-impact{0%{opacity:.9;transform:scale(.8)}100%{opacity:0;transform:scale(2.6)}}
@keyframes win-number{0%{transform:scale(.94)}40%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes payout-arrive{0%{opacity:0;transform:translateY(7px)}100%{opacity:1;transform:translateY(0)}}
@media(max-width:760px){.motion-trail{top:39px}.is-rolling .trail-two{top:40px}.is-rolling .trail-three{top:41px}.result-block::after{width:160px;height:160px}.scan-beam{width:34px}}
@media(max-width:760px) and (max-height:740px){.motion-trail{top:35px}.is-rolling .trail-two{top:36px}.is-rolling .trail-three{top:37px}}
@media(prefers-reduced-motion:reduce){.is-rolling .scan-beam,.is-rolling .motion-trail{display:none}.play-space::before,.result-block::after,.result-marker::after{animation:none!important}}

.single-whole .number-whole .digit-cell:first-child{width:0}

/* Account host and recovery follow the existing Plinko surface. */
/* Host chrome mirrors trade v2; every rule stays outside the mobile game. */
#diceSiteHeader{display:none}
@media(max-width:760px){#diceSitePage .note{display:none}}
@media(min-width:761px){
#diceSiteHeader,#diceSiteHeader *,#diceSitePage .note,#diceSitePage .note *{margin:0;padding:0;-webkit-font-smoothing:antialiased}
#diceSiteHeader{position:sticky;top:0;z-index:60;display:flex;align-items:center;gap:20px;height:60px;padding:0 22px;
  background:rgba(11,12,17,.9);backdrop-filter:blur(16px);border-bottom:1px solid #282b39}
#diceSiteHeader .brand{display:inline-flex;align-items:center;gap:7px;font-weight:800;letter-spacing:.02em;font-size:17px}
#diceSiteHeader .brand svg{width:78px;height:13px;stroke:none}
#diceSiteHeader .nav{display:flex;gap:4px;margin-left:8px}
#diceSiteHeader .nav a{padding:7px 14px;border-radius:999px;font-size:14px;font-weight:600;color:#9096ab;text-decoration:none;transition:.16s}
#diceSiteHeader .nav a:hover{color:#eef0f7}
#diceSiteHeader .nav a.on{background:#14161f;color:#eef0f7}
#diceSiteHeader .acct{margin-left:auto;flex:none;display:flex;align-items:center;gap:9px}
#diceSiteHeader .acct button{min-height:44px;padding:7px 13px;border-radius:999px;border:1px solid #343849;font-size:14px;font-weight:600;color:#eef0f7;text-decoration:none;white-space:nowrap;transition:.16s}
#diceSiteHeader .acct button:hover{border-color:#8b8fff;color:#8b8fff}
#diceSiteHeader .acct button:disabled{opacity:.5;cursor:default}
#diceSiteHeader .acct .addr{font-size:13px;font-weight:700;color:#9096ab;text-decoration:none;font-variant-numeric:tabular-nums}
#diceSiteHeader .wallet + .acct{margin-left:0}
#diceSiteHeader .wallet{margin-left:auto;display:flex;align-items:center;gap:9px;padding:7px 13px;border-radius:999px;
  background:#14161f;border:1px solid #282b39}
#diceSiteHeader .wallet small{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#666c82;font-weight:700}
#diceSiteHeader .wallet b{font-size:15px;font-weight:800;font-variant-numeric:tabular-nums}
#diceSitePage .note{display:flex;gap:9px;padding:11px 13px;border-radius:12px;margin-bottom:12px;font-size:12px;line-height:1.6}
#diceSitePage .note .mk{flex:none;width:20px;height:20px;border-radius:6px;display:grid;place-items:center;font-size:11px;font-weight:800}
#diceSitePage .note.amber{background:rgba(255,201,77,.09);border:1px solid rgba(255,201,77,.26);color:#ffc94d}
#diceSitePage .note.amber .mk{background:#ffc94d;color:#22180a}
#diceSitePage .note.grey{background:#191b24;border:1px solid #282b39;color:#9096ab}
#diceSitePage .note.grey .mk{background:#2a2d3a;color:#9096ab}
#diceSitePage .note[hidden]{display:none}
#diceSitePage .wpath{display:block;margin-top:6px}
#diceSitePage .wbtns{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
#diceSitePage .wbtn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;
  border-radius:12px;background:#14161f;border:1px solid #343849;color:#eef0f7;
  text-decoration:none;font-size:13px;font-weight:700}
#diceSitePage .wbtn:hover{border-color:#8b8fff;color:#8b8fff}
#diceSiteHeader{font-size:16px;line-height:normal}
#diceSiteHeader .brand{min-height:auto;padding:0;white-space:nowrap}
#diceSiteHeader button{background:none;line-height:normal}
#diceSiteHeader [hidden]{display:none}
#diceSitePage{max-width:1120px;margin:0 auto;padding:12px 22px 24px}
#diceSitePage>.v2-game{min-height:calc(100dvh - 96px)}
#diceSitePage .v2-header{top:60px;grid-template-columns:minmax(100px,1fr) 44px 44px}
#diceSitePage .v2-header .balance-wrap{display:none}
#diceSitePage .v2-header .brand{display:flex;gap:9px}
#diceSitePage .v2-layout{min-height:calc(100dvh - 218px)}
}
@media(min-width:761px) and (max-width:860px){
#diceSitePage{padding:12px 13px 24px}
}
/* The trade-width host leaves 761px desktop just short of the 555 label. */
@media(min-width:761px) and (max-width:900px){
#diceSitePage #board,#diceSitePage .multipliers{width:calc(100% - 12px)}
}

.v2-header .vault-icon{display:none;flex:none;width:30px;height:30px;background:url(/games-assets/f74f4b0d9751e1205fd3f21f8da0554634e09b0c48c18f3dd66b4f18cb2fc003/assets/games/vault-plinko.svg) center/contain no-repeat}
@media(min-width:761px){.v2-header .vault-icon{display:inline-block}}

#diceStatus{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 12px;color:var(--muted);font-size:12px}#diceStatus button{min-height:44px;border-radius:9px;padding:0 10px}#diceSitePage{max-width:1120px;margin:auto}#diceSitePage>.page{padding:0}.seed-input{min-height:44px}#diceMobileLogin{min-height:44px}.preset-list button,.history-chip,.history-button,.mobile-fair,.game-footer button,.title-help{min-height:44px}.history-chip{height:27px}.over-lane .win-zone{width:var(--over-chance)}
@media(max-width:760px){#diceSitePage{padding:0}.icon-button{width:44px;height:44px}.game-header{padding:0 8px;gap:5px}.game-title{gap:4px}.game-title h1{font-size:15px}.game-title .dice-icon{display:none}.mobile-balance b{font-size:11px}.mode-badge{font-size:8px}.header-tools{gap:2px}.history-bar{min-height:44px}.game-frame{grid-template-rows:44px minmax(280px,1fr) 158px}.preset-list button{height:44px}}
@media(min-width:761px){#diceSitePage .game-header{height:62px}.mobile-balance{display:none}}

.direction-button{overflow:hidden;touch-action:none}.direction-button::before{content:'';position:absolute;inset:0;background:var(--green);transform:scaleX(var(--charge,0));transform-origin:left;opacity:0;pointer-events:none}.direction-button.over::before{background:var(--blue)}.direction-button.charging::before{opacity:.8}.direction-button>svg,.direction-button>span{position:relative;pointer-events:none}.direction-button.charging{filter:brightness(1.1)}

/* Family auxiliary surfaces keep the title and close outside the scroll area. */
#modal{width:min(520px,calc(100vw - 24px));max-width:520px;max-height:calc(100dvh - 24px);padding:0;border-color:#282b39;overflow:hidden}
#modal[open]{display:flex;flex-direction:column}.modal-header{min-height:74px;flex-shrink:0}.modal-body{min-height:0;max-height:none}.modal-header h2{outline:none}.modal-header .icon-button{width:44px;height:44px}
.seed-field{margin-top:16px}.seed-field label{display:block;font-size:10px;font-weight:700;color:var(--muted);margin-bottom:8px}.seed-field .seed-input{margin-top:0}.seed-field small{display:block;color:var(--muted);font-size:11px;line-height:1.7;margin-top:8px}
.action-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.action-row .primary{width:auto;margin:0;min-height:44px;padding:9px 14px;font-size:12px;border-radius:10px}.action-row .secondary{padding:9px 14px}#diceFairStatus:empty{display:none}#diceFairStatus{margin-top:12px}.fair-rtp{border-top:1px solid var(--edge);padding-top:14px;margin-top:16px}.fair-rtp summary{min-height:44px;color:var(--muted);font-size:12px;cursor:pointer}
.verification-status[data-result=pass],.net-profit{color:var(--green)!important}.verification-status[data-result=fail],.net-loss{color:var(--red)!important}.net-even{color:var(--muted)!important}.record-row .record-right b{color:var(--text)}.record-row .record-right b.loss{color:var(--muted)}
.record-time span{display:block}.record-row .record-left{min-width:0}.record-row .record-left>span{min-width:0}.record-right{flex-shrink:0}.record-row{gap:8px}.record-row .net-profit{color:var(--green)}
@media(max-width:760px){.modal-header{min-height:66px}.modal-body{padding-bottom:calc(18px + var(--game-safe-bottom,env(safe-area-inset-bottom)))}.record-row{display:grid;grid-template-columns:minmax(0,1fr) max-content;padding:10px;gap:8px}.record-row .record-left{display:grid;grid-template-columns:55px minmax(0,1fr);gap:8px}.record-number{min-width:0}.record-row small{line-height:1.5}.record-right b{white-space:nowrap}#diceStatus{font-size:11px;padding:4px 8px;gap:6px;flex-wrap:nowrap}#diceStateText{flex:1}#gamePage .game-frame{height:calc(100dvh - 102px - var(--status-height,0px) - var(--game-safe-bottom,env(safe-area-inset-bottom)));min-height:calc(490px - var(--status-height,0px))} }

@media(max-width:760px){.game-footer{height:44px;padding:0 12px var(--game-safe-bottom,env(safe-area-inset-bottom));box-sizing:content-box}}
@media(min-width:761px){.game-frame{height:clamp(calc(500px - var(--status-height,0px)),calc(100dvh - 200px - var(--status-height,0px)),680px)}}

/* Same sweep and lifetime as the Plinko wager feedback. */
.direction-button.wager-profit-active::after{position:absolute;inset:1px;border-radius:inherit;background:linear-gradient(110deg,transparent 35%,#fff9 50%,transparent 65%);content:"";animation:wager-sweep 1s linear infinite;pointer-events:none}
@keyframes wager-sweep{from{background-position:-230px}to{background-position:300px}}
.direction-button .wager-profit{font-size:9px;font-weight:800;line-height:1.1;white-space:normal;text-align:center}
.direction-button .wager-profit[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.direction-button.wager-profit-active::after{display:none}.direction-button.wager-profit-active{outline:2px solid currentColor;outline-offset:2px}}
.direction-button.wager-profit-active{gap:4px}.direction-button.wager-profit-active>span{align-items:center;line-height:1}.direction-button.wager-profit-active b{font-size:15px}.direction-button.wager-profit-active svg{width:22px;height:22px}

.game-frame.has-choice[data-direction=under] .direction-button.under,.game-frame.has-choice[data-direction=over] .direction-button.over{opacity:1;outline:2px solid #ffffff90;outline-offset:2px}
.round-message.win strong{font-size:17px;font-weight:800;display:inline-block;margin-right:9px}
.round-message.win>span{font-size:10px;color:var(--muted);white-space:nowrap}
@media(max-width:760px){.round-message.win strong{font-size:15px;margin-right:7px}.round-message.win>span{font-size:10px}}

/* Mobile wager entry above the full-width game actions. */
@media(max-width:760px){.controls-bar{grid-template-columns:minmax(0,1fr) 52px;grid-template-rows:58px 63px;gap:8px;padding-top:22px;padding-bottom:1px}.controls-bar .stake-section{grid-column:1;grid-row:1;display:block;min-width:0}.controls-bar .field-label{display:flex;line-height:10px;margin-bottom:4px}.controls-bar .field-label span{display:inline;margin-top:0}.controls-bar .stake-row{gap:4px}.controls-bar .money-input{max-width:104px;padding:0 4px;gap:3px}.controls-bar .square-button{width:44px}.controls-bar .auto-button{grid-column:2;grid-row:1;width:52px;height:58px}.controls-bar .direction-buttons{grid-column:1/-1;grid-row:2}.controls-bar .money-input input{height:44px;padding:0}}

@media(max-width:760px){.controls-bar .stake-row .money-input{flex:0 1 104px}.controls-bar .stake-row .square-button{flex:1;min-width:44px}}

/* Fairness-only field/action rhythm and explicit receipt tools. */
#modal[data-fairness="settings"] .section-card,#modal[data-fairness="settings"] .card,#modal[data-fairness="settings"] .info-card{margin-bottom:14px}#modal[data-fairness="settings"] .form-field,#modal[data-fairness="settings"] .seed-field,#modal[data-fairness="settings"] .fair-field{display:block;margin:0}
#modal[data-fairness="settings"] label{display:block;font-size:10px;font-weight:700;color:#9096ab;line-height:1.5;margin:0 0 8px}#modal[data-fairness="settings"] input[maxlength]{display:block;width:100%;min-width:0;height:44px;min-height:44px;padding:0 12px;font-size:13px}
#modal[data-fairness="settings"] .action-row,#modal[data-fairness="settings"] .fair-buttons,#modal[data-fairness="detail"] .action-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}#modal[data-fairness="settings"] .primary,#modal[data-fairness="detail"] .primary{background:#eef0f7;color:#14161f}
#modal[data-fairness="settings"] .form-field>small,#modal[data-fairness="settings"] .seed-field>small,#modal[data-fairness="settings"] .fair-field>small{display:block;margin-top:8px;font-size:11px;line-height:1.7;color:#9096ab}#modal[data-fairness="settings"] button,#modal[data-fairness="detail"] button{min-height:44px;font-size:12px}#modal[data-fairness="settings"] p:empty{display:none}
#modal .receipt-export{margin-top:12px;overflow-wrap:anywhere}#modal .receipt-export p{font-size:12px;line-height:1.8;color:#9096ab;margin:0}#modal .receipt-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}#modal .receipt-download,#modal .receipt-copy{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:1px solid #343849;border-radius:10px;background:#1b1d27;color:#eef0f7;font:700 12px Sora,sans-serif;text-decoration:none}#modal .receipt-export textarea{display:block;width:100%;max-width:100%;min-height:140px;margin-top:12px;padding:12px;border:1px solid #343849;border-radius:9px;background:#0b0c11;color:#eef0f7;font:12px monospace;user-select:text}
#modal[data-fairness="settings"] button,#modal[data-fairness="detail"] button{border-radius:10px;font-weight:700;padding:9px 14px}#modal[data-fairness="settings"] .section-card,#modal[data-fairness="settings"] .card,#modal[data-fairness="settings"] .info-card{padding:17px}#modal[data-fairness="settings"] p{font-size:13px;line-height:1.8}@media(max-width:760px){#modal[data-fairness="settings"] .section-card,#modal[data-fairness="settings"] .card,#modal[data-fairness="settings"] .info-card{padding:15px}}

.history-chip.profit{background:#35d59b18;color:var(--green)}.record-row.profit .record-number{color:var(--green)}.record-row.loss .record-number{color:var(--muted)}

.recent-results{overflow-x:auto;scrollbar-width:none}.recent-results::-webkit-scrollbar{display:none}

/* HEADER-BALANCE-INT-01：窄屏顶栏余额只显示整数，截断不进位（setHeaderBalance，见 public/trade/wallet-connect.js）。 */
.hb-narrow{display:none}
@media(max-width:760px){.mobile-balance .hb-wide{display:none}.mobile-balance .hb-narrow{display:inline}}
