:root{--bg:#0b0f0d;--felt:#0f3d2e;--felt2:#0a2a20;--gold:#e8c46a;--gold2:#b8902f;--red:#d94b4b;--blue:#3d8bfd;--txt:#efe9da;--muted:#93a39b;--card:#121a17cc}*{box-sizing:border-box}body{background:radial-gradient(1200px 600px at 50% -10%,#1d4a39 0%,var(--bg) 60%);color:var(--txt);min-height:100vh;margin:0;font:15px/1.5 -apple-system,PingFang SC,Noto Sans SC,system-ui,sans-serif}.top{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;background:#0b0f0dd9;border-bottom:1px solid #e8c46a33;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;display:flex}.brand b{letter-spacing:2px;color:var(--gold);font-size:18px}.brand small{color:var(--muted);font-size:11px;display:block}.logo{font-size:28px}.actions{gap:8px;display:flex}select,input{color:var(--txt);background:#0a1411;border:1px solid #e8c46a55;border-radius:10px;padding:9px 12px;font-size:15px}main{gap:14px;max-width:760px;margin:0 auto;padding:16px;display:grid}.card{background:var(--card);border:1px solid #e8c46a2a;border-radius:18px;padding:16px;box-shadow:0 10px 30px #0006}.card h3{color:var(--gold);letter-spacing:1px;margin:0 0 10px;font-weight:600}.table{background:radial-gradient(ellipse at center,var(--felt) 0%,var(--felt2) 75%);border:2px solid var(--gold2);box-shadow:inset 0 0 60px #0008,0 12px 40px #000a}.tokens{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.tokens button{color:var(--txt);cursor:pointer;background:#0006;border:1px solid #e8c46a55;border-radius:999px;padding:6px 16px}.tokens button.on{background:linear-gradient(var(--gold),var(--gold2));color:#1a1408;font-weight:700}.tokens button:disabled{opacity:.35}.dice-wrap{perspective:600px;justify-content:center;gap:18px;margin:26px 0 14px;display:flex}.result{text-align:center;min-height:28px;margin-bottom:12px;font-size:17px}.result .win{color:var(--gold);font-size:22px;font-weight:700}.result .lose{color:#c9b8b8}.bet-row{flex-wrap:wrap;gap:8px;display:flex}.bet-row input{flex:1;min-width:150px}.quick{gap:6px;display:flex}.quick button{color:var(--gold);cursor:pointer;background:#0007;border:1px solid #e8c46a55;border-radius:10px;min-height:42px;padding:0 12px}.choices{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.btn{cursor:pointer;color:#fff;border:0;border-radius:12px;padding:10px 16px;font-size:15px;font-weight:700}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.gold{background:linear-gradient(var(--gold),var(--gold2));color:#1a1408}.choice{letter-spacing:4px;flex-direction:column;align-items:center;padding:16px;font-size:22px;display:flex;box-shadow:0 6px #0007}.choice small{letter-spacing:1px;opacity:.85;font-size:12px;font-weight:400}.choice.small{background:linear-gradient(#4f9cff,#2457b8)}.choice.big{background:linear-gradient(#ef6161,#a52828)}.choice:active{transform:translateY(3px);box-shadow:0 3px #0007}.hint{color:var(--muted);text-align:center;min-height:20px;margin-top:10px;font-size:13px}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.stat small{color:var(--muted);font-size:12px;display:block}.stat b{color:var(--gold);font-size:17px}.judge{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.badge{color:var(--gold);background:#e8c46a22;border:1px solid #e8c46a66;border-radius:999px;padding:3px 10px;font-size:12px}a{color:var(--gold)}.muted{color:var(--muted);font-size:13px}.history{gap:8px;display:grid}.row{background:#0005;border:1px solid #ffffff10;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px;display:grid}.row .mini{gap:3px;display:flex}.row .mini span{color:#222;background:#f4efe2;border-radius:5px;place-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:grid}.tag{border-radius:999px;padding:2px 8px;font-size:12px}.tag.win{color:var(--gold);background:#e8c46a33}.tag.lose{color:#bbb;background:#ffffff14}.tag.pend{color:#9cc3ff;background:#3d8bfd33}.tag.to{color:#ff9b9b;background:#d94b4b33}.row button{background:linear-gradient(var(--gold),var(--gold2));cursor:pointer;border:0;border-radius:8px;padding:6px 10px;font-weight:700}#toast{border:1px solid var(--gold2);opacity:0;z-index:9;background:#1d2622;border-radius:12px;max-width:90vw;padding:10px 16px;transition:all .3s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}#toast.show{opacity:1}footer{text-align:center;padding:8px 0 30px}:root{--s:70px}.dice-wrap{perspective:900px;gap:26px;margin:34px 0 18px}.slot{width:var(--s);height:var(--s);perspective:700px;position:relative}.cube{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;position:relative;transform:rotateX(-20deg)rotateY(25deg)}.face{background:radial-gradient(circle at 30% 25%,#fff 0%,#f3eddf 55%,#d9d0bc 100%);border-radius:16%;grid-template:repeat(3,1fr)/repeat(3,1fr);padding:14%;display:grid;position:absolute;inset:0;box-shadow:inset 0 0 10px #0003}.face i{aspect-ratio:1;background:radial-gradient(circle at 35% 30%,#555,#111);border-radius:50%;width:72%;margin:auto}.face.f1 i,.face.f4 i{background:radial-gradient(circle at 35% 30%,#ff7b7b,#b31515)}.f1{transform:translateZ(calc(var(--s)/2))}.f6{transform:rotateY(180deg) translateZ(calc(var(--s)/2))}.f2{transform:rotateY(90deg) translateZ(calc(var(--s)/2))}.f5{transform:rotateY(-90deg) translateZ(calc(var(--s)/2))}.f3{transform:rotateX(90deg) translateZ(calc(var(--s)/2))}.f4{transform:rotateX(-90deg) translateZ(calc(var(--s)/2))}.shadow{background:radial-gradient(#000a,#0000 70%);border-radius:50%;height:12px;transition:transform .3s,opacity .3s;position:absolute;bottom:-16px;left:8%;right:8%}.slot.rolling .cube{animation:.9s linear infinite tumble}.slot.rolling{animation:.45s ease-in-out infinite alternate hop}.slot.rolling .shadow{opacity:.5;transform:scale(.7)}.slot:nth-child(2).rolling .cube{animation-duration:.8s;animation-direction:reverse}.slot:nth-child(3).rolling .cube{animation-duration:1.05s}@keyframes tumble{0%{transform:rotateX(0)rotateY(0)rotate(0)}to{transform:rotateX(360deg)rotateY(720deg)rotate(360deg)}}@keyframes hop{0%{transform:translateY(0)}to{transform:translateY(-18px)}}.slot.landed{animation:.7s cubic-bezier(.28,.84,.42,1) bounce}@keyframes bounce{0%{transform:translateY(-30px)}40%{transform:translateY(0)}60%{transform:translateY(-10px)}80%{transform:translateY(0)}90%{transform:translateY(-3px)}to{transform:translateY(0)}}.slot.hl .face.up{box-shadow:0 0 0 3px var(--gold),0 0 24px var(--gold)}.result.flash{animation:1.2s flash}@keyframes flash{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.progress{max-width:440px;color:var(--muted);align-items:center;gap:10px;margin:0 auto 12px;font-size:13px;display:flex}.progress .bar{background:#0007;border-radius:9px;flex:1;height:6px;overflow:hidden}.progress .bar i{background:linear-gradient(90deg,var(--gold2),var(--gold));width:0;height:100%;transition:width .5s;display:block}@media (width<=480px){:root{--s:58px}.choice{font-size:19px}}.progress[hidden]{display:none}.banner{color:#ffb3b3;text-align:center;background:#d94b4b26;border:1px solid #d94b4b88;border-radius:12px;margin-bottom:10px;padding:8px 12px;font-weight:600}.banner[hidden]{display:none}.tabs{gap:6px;max-width:760px;margin:12px auto 0;padding:0 16px;display:flex}.tabs button{color:var(--muted);cursor:pointer;background:#0008;border:1px solid #e8c46a33;border-radius:12px;flex:1;padding:10px 6px;font-size:14px}.tabs button.on{color:#1a1408;background:linear-gradient(var(--gold),var(--gold2));font-weight:700}.tab[hidden]{display:none}.tab{gap:14px;display:grid}.quickbtn{color:var(--gold);cursor:pointer;background:#0007;border:1px solid #e8c46a55;border-radius:10px;padding:0 12px}.pos{color:#7ee2a8!important}.neg{color:#ff8f8f!important}.steps{gap:10px;display:grid}.step{background:#0006;border:1px solid #ffffff12;border-radius:12px;padding:10px 12px}.step h4{color:var(--gold);justify-content:space-between;gap:8px;margin:0 0 6px;font-size:14px;display:flex}.kv{grid-template-columns:110px 1fr;gap:4px 10px;font-size:13px;display:grid}.kv span:nth-child(odd){color:var(--muted)}.mono{word-break:break-all;font-family:ui-monospace,Menlo,monospace;font-size:12px}.ok{color:#7ee2a8}.bad{color:#ff8f8f}#modal{z-index:20;background:#000b;justify-content:center;align-items:flex-start;padding:20px 10px;display:flex;position:fixed;inset:0;overflow:auto}#modal[hidden]{display:none}.modal-card{border:1px solid var(--gold2);background:#111915;border-radius:18px;width:100%;max-width:720px;padding:16px;position:relative}#mClose{color:var(--gold);cursor:pointer;background:0 0;border:0;font-size:20px;position:absolute;top:10px;right:12px}.row{cursor:pointer}.tabs{flex-wrap:wrap}.tabs button{min-width:84px}.pager{justify-content:center;align-items:center;gap:12px;margin-top:10px;display:flex}.pager button{min-height:34px}.row.all{grid-template-columns:auto 1fr auto auto}.row small{display:block}.road{background:#f4efe2;border-radius:10px;grid-template-rows:repeat(6,26px);grid-auto-columns:26px;grid-auto-flow:column;gap:3px;padding:4px;display:grid;overflow-x:auto}.road i{color:#fff;cursor:pointer;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;font-style:normal;font-weight:700;display:grid}.road i.B{background:#c62f2f}.road i.S{background:#2457b8}.road i.e{background:0 0}.distrow{align-items:center;gap:8px;margin:6px 0;font-size:13px;display:flex}.distrow .bar{background:#0007;border-radius:8px;flex:1;height:14px;display:flex;overflow:hidden}.distrow .bar b{height:100%;display:block}.bB{background:#c62f2f}.bS{background:#2457b8}.hist{align-items:flex-end;gap:3px;height:110px;margin-top:12px;display:flex}.hist div{color:var(--muted);flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;font-size:10px;display:flex}.hist div i{background:linear-gradient(var(--gold),var(--gold2));border-radius:4px 4px 0 0;width:100%;display:block}.hist div.s i{background:linear-gradient(#4f9cff,#2457b8)}.hist div.b i{background:linear-gradient(#ef6161,#a52828)}.legacy{background:linear-gradient(135deg,#3a2a0b,#1a1408);border:2px solid #e8c46a;animation:2s infinite pulse}.legacy[hidden]{display:none}@keyframes pulse{50%{box-shadow:0 0 22px #e8c46a66}}.legacy .lrow{border-top:1px solid #e8c46a33;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.tpls{gap:8px;margin:8px 0;display:flex}.sform{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 12px;margin:8px 0;display:grid}.sform label{color:#aaa;flex-direction:column;gap:4px;font-size:12px;display:flex}.sform input,.sform select{color:#eee;background:#111;border:1px solid #333;border-radius:8px;padding:6px 8px}.warn{color:#f0b35a;margin-top:10px;font-size:12px}.strat{border:1px solid #333;border-radius:10px;margin:8px 0;padding:10px}.shead{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.tag{background:#2a2a2a;border-radius:6px;padding:1px 6px}.stable{border-collapse:collapse;width:100%;margin-top:6px;font-size:12px}.stable td,.stable th{text-align:left;border-bottom:1px solid #222;padding:3px 4px}#sPreview{margin:6px 0;font-size:12px}.stabs{border-bottom:1px solid #333;gap:6px;margin:8px 0;display:flex}.stabs button{color:#aaa;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:14px}.stabs button.on{color:#f3c55b;border-bottom-color:#f3c55b}.sdesc{margin:4px 0 8px;font-size:12px}[hidden]{display:none!important}.seqbox{border:1px dashed #444;border-radius:10px;margin:8px 0;padding:10px}.seqhead{margin-bottom:6px;font-size:13px}.seqgrid{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.seqcell{cursor:pointer;border:1px solid #555;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:40px;height:44px;font-size:14px;font-weight:700;display:flex}.seqcell small{opacity:.7;font-size:9px;font-weight:400}.seqcell.big{color:#fff;background:#7a1f1f;border-color:#c33}.seqcell.small{color:#fff;background:#1f3f7a;border-color:#36c}.seqctl{flex-wrap:wrap;align-items:end;gap:6px;display:flex}.seqtxt{color:#aaa;flex-direction:column;gap:4px;margin-left:auto;font-size:12px;display:flex}.seqtxt input{color:#eee;background:#111;border:1px solid #333;border-radius:8px;min-width:200px;padding:6px 8px;font-family:monospace}#seqInfo{margin-top:6px;font-size:12px}.tokbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;max-width:760px;margin:6px auto 10px;display:flex}.tokbar .tokens{margin:0}.tokens button[disabled]{opacity:.4;cursor:not-allowed;filter:grayscale()}.tokens button small{font-size:10px}.toknote{font-size:12px}#sCreate{color:#1a1200;cursor:pointer;background:linear-gradient(#f3c55b,#c9962e);border:none;border-radius:10px;margin:6px 0;padding:10px 22px;font-weight:700}.ios-switch{cursor:pointer;-webkit-user-select:none;user-select:none;color:#ddd;vertical-align:middle;align-items:center;gap:8px;font-size:13px;display:inline-flex}.ios-switch input{opacity:0;width:0;height:0;position:absolute}.ios-switch .track{background:#3a3a3c;border-radius:14px;flex:none;width:46px;height:28px;transition:background .25s;position:relative;box-shadow:inset 0 0 0 1px #ffffff14}.ios-switch .knob{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .25s cubic-bezier(.4,0,.2,1);position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #00000059}.ios-switch input:checked+.track{background:#34c759}.ios-switch input:checked+.track .knob{transform:translate(18px)}.ios-switch input:focus-visible+.track{outline-offset:2px;outline:2px solid #f3c55b}.ios-switch.gold input:checked+.track{background:#e0a92e}.ios-switch:active .knob{width:28px}.ios-switch input:checked+.track:active .knob{transform:translate(14px)}.ios-switch .sw-text{color:#aaa;font-size:12px}.swfield{flex-direction:column;justify-content:flex-start;gap:6px;display:flex}.swfield input{color:#eee;background:#111;border:1px solid #333;border-radius:8px;padding:6px 8px}.tokbar.topmost{z-index:50;background:#0d0d0d;border-bottom:1px solid #2a2a2a;max-width:none;margin:0;padding:6px 12px;position:sticky;top:0}.sform label.ios-switch,.swfield label.ios-switch{flex-direction:row;align-items:center;gap:8px;margin-top:2px}.swfield{align-items:stretch}.swrows{flex-direction:column;gap:8px;margin:4px 0 8px;display:flex}.swrow{flex-flow:row;align-items:center;gap:12px;display:flex}.swrow label.ios-switch{flex-direction:row;min-width:92px;margin:0}.swrow input:not([type=checkbox]){color:#eee;background:#111;border:1px solid #333;border-radius:8px;flex:1;max-width:280px;padding:6px 8px;transition:opacity .2s}.swrow input.sw-off{opacity:.35;cursor:not-allowed}.circwrap{margin:10px 0 6px}.circ{width:100%;height:auto;display:block}.circ .wire{fill:none;stroke:#3b4146;stroke-width:1.1px;transition:stroke .15s}.circ .wire.v1{stroke:#ffd25a;stroke-width:1.8px;filter:drop-shadow(0 0 2px #ffd25a)}.circ .wire.v0{stroke:#3d7bd9;stroke-width:1.4px}.circ .gate{fill:#1b2024;stroke:#555;stroke-width:1px;transition:fill .15s}.circ .gate.v1{fill:#ffd25a;stroke:#fff3}.circ .gate.v0{fill:#24467e;stroke:#4f86e0}.circ .node{fill:#222;stroke:#777}.circ .node.v1{fill:#ffd25a}.circ .node.v0{fill:#24467e}.circ .clbl{fill:#9aa0a6;font-size:12px}.circ .cbit{fill:#aab;font-family:monospace;font-size:10px}.circ .outbox{fill:#15191c;stroke:#666;stroke-width:1.5px}.circ .outbox.big{fill:#7a1f1f;stroke:#ff6b6b}.circ .outbox.small{fill:#1f3f7a;stroke:#6aa0ff}.circ .outtxt{fill:#fff;font-size:24px;font-weight:700}.circ.warm .wire{stroke:#5a5030;stroke-dasharray:4 7;animation:.7s linear infinite circflow}@keyframes circflow{to{stroke-dashoffset:-11px}}.dicenums{justify-content:center;gap:10px;margin:4px 0 10px;display:flex}.dicenums span{color:#222;background:#f6f1e3;border-radius:9px;justify-content:center;align-items:center;width:42px;height:42px;font-size:22px;font-weight:800;display:flex;box-shadow:0 3px #0006}.dicenums span.q{color:#777;background:#2a2f33}.legend{color:#8a8f94;text-align:center;font-size:11px}.legend i{vertical-align:middle;width:18px;height:3px;margin:0 4px;display:inline-block}.circ .wire{stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.2px}.circ .wire.v1{stroke-width:1.6px;filter:none}.circ .wire.v0{stroke-width:1.3px}.circ .jdot{fill:#3b4146}.circ .jdot.v1{fill:#ffd25a}.circ .jdot.v0{fill:#3d7bd9}.circ .gate path,.circ .gate circle{fill:#1b2024;stroke:#666;stroke-width:1px;transition:fill .15s}.circ .gate.v1 path,.circ .gate.v1 circle{fill:#ffd25a;stroke:#fff6}.circ .gate.v0 path,.circ .gate.v0 circle{fill:#24467e;stroke:#4f86e0}.circwrap{overflow-x:auto}#circ{background:#0a120e;border:1px solid #e8c46a33;border-radius:12px;width:min(1180px,96vw);margin-left:calc(50% - min(590px,48vw));padding:6px}.vcirc{width:100%}.modview .mod{cursor:pointer}.modview .mod rect{fill:#141a1e;stroke:#56606a;stroke-width:1.5px;transition:all .2s}.modview .mod:hover rect{stroke:#f3c55b}.modview .mod.lit rect{fill:#1d2a22;stroke:#f3c55b}.modview .mtitle{fill:#e8e8e8;font-size:13px;font-weight:700}.modview .msub{fill:#7d858c;font-size:10px}.modview .mval{fill:#ffd25a;font-family:monospace;font-size:12px;font-weight:700}.modview .stage{fill:#c9a24a;font-size:13px;font-weight:700}.circ .wire.bus{stroke-width:2.2px}.circ .wire.bus.v1{stroke-width:2.6px}.circ .wlbl{fill:#9aa;font-family:monospace;font-size:10px}.moddetail{background:#0b0f12;border:1px solid #e8c46a55;border-radius:10px;margin-top:8px;padding:8px}.modhead{align-items:center;gap:10px;margin-bottom:4px;font-size:13px;display:flex}.modhead .modclose{margin-left:auto}.modsvg{max-height:420px}.modsvg .cbit{font-size:9px}
