:root{color-scheme:dark;--bg: #0a0908;--panel: #0f1118;--panel-2: #12141c;--line: #1a1d27;--line-2: #20242f;--ink: #e7e9ee;--ink-dim: #9aa0b0;--ink-faint: #6b7180;--gold: #e2b755;--gold-light: #f7df9a;--gold-deep: #a5813d;--divw: max(1px, round(.16cqw, 1px));--divc: rgba(216, 240, 228, .5);--felt-a: #124534;--felt-b: #081f17;--felt-line: #2a6b4f;--felt-ink: #7fbfa2;--win: #34d399;--lose: #f43f5e}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--ink)}body{min-height:100vh;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.mono{font-family:ui-monospace,SF Mono,JetBrains Mono,Menlo,monospace;font-variant-numeric:tabular-nums}.app{max-width:1120px;margin:0 auto;padding:16px}.topbar{position:sticky;top:0;z-index:30;background:linear-gradient(180deg,var(--bg) 82%,rgba(10,9,8,0));border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 150px 12px 0;flex-wrap:wrap}.brand h1{font-size:19px;letter-spacing:.14em;text-transform:uppercase;margin:0;font-weight:800;display:flex;align-items:center}.brand-die{height:1.42em;width:1.32em;margin-right:.1em;flex-shrink:0}.brand .sub{color:var(--ink-faint);font-size:11px;margin-top:3px;letter-spacing:.02em}.hud{display:flex;align-items:center;gap:14px}.puck{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;font-weight:800;font-size:12px;letter-spacing:.04em;border:3px solid;flex-shrink:0;box-shadow:0 4px 10px #00000080,inset 0 2px 3px #ffffff24,inset 0 -3px 5px #0000004d;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}.puck.off{background:radial-gradient(circle at 50% 35%,#23262f,#14161d 75%);color:#5b6070;border-color:#2a2e3c}.puck.on{background:radial-gradient(circle at 50% 35%,#f8fafc,#d8dde5 75%);color:#0a0b0f;border-color:#fff;box-shadow:0 4px 14px #ffffff40,inset 0 -3px 5px #00000026;font-size:16px}.puck.mini{width:42px;height:42px;font-size:11px}.puck.mini.on{font-size:15px}.bankroll{text-align:right;position:relative}.payfloat{position:absolute;right:0;top:100%;margin-top:2px;font-size:15px;font-weight:800;pointer-events:none;white-space:nowrap;animation:floatup 1.5s ease-out forwards}.payfloat.up{color:var(--win)}.payfloat.down{color:var(--lose)}@keyframes floatup{0%{opacity:0;transform:translateY(3px)}15%{opacity:1}to{opacity:0;transform:translateY(-18px)}}.dice{display:flex;gap:9px;align-items:center}.die{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);background:radial-gradient(120% 120% at 30% 22%,#33343c,#17181e 46%,#0a0a0e);border-radius:22%;padding:5px;box-shadow:0 6px 15px #0009,inset 0 -4px 7px #0000008c,inset 0 2px 4px #ffffff24,inset 0 0 0 1px #e2b75580}.die.rolling{animation:diceroll .34s cubic-bezier(.5,.05,.5,.95) infinite;will-change:transform}.dice .die:nth-child(2).rolling{animation-delay:-.17s;animation-duration:.38s}@keyframes diceroll{0%{transform:translateY(0) rotate(0) scale(1)}20%{transform:translateY(-14px) rotate(-24deg) scale(1.1)}45%{transform:translateY(3px) rotate(16deg) scale(.96)}70%{transform:translateY(-9px) rotate(28deg) scale(1.06)}to{transform:translateY(0) rotate(0) scale(1)}}.die.landed{animation:dieland .4s cubic-bezier(.22,1.4,.36,1)}@keyframes dieland{0%{transform:translateY(-11px) scale(1.14)}55%{transform:translateY(0) scale(.9)}78%{transform:translateY(0) scale(1.05)}to{transform:translateY(0) scale(1)}}.die .cell{display:flex;align-items:center;justify-content:center}.die .cell:after{content:"";width:66%;height:66%;border-radius:50%;background:radial-gradient(circle at 38% 30%,#ffe694,#f5c518 62%,#c99a06);box-shadow:inset 0 1px 1px #fff6,inset 0 -1px 2px #78500080,0 .5px 1px #00000080;opacity:0;transform:scale(.5);transition:opacity .08s,transform .08s}.die .cell.on:after{opacity:1;transform:scale(1)}.feltstage{position:relative;min-width:0}.felt-throw{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .42s ease,visibility 0s linear .42s}.felt-throw.show{opacity:1;visibility:visible;transition:opacity .18s ease}.felt-throw:before{content:"";position:absolute;top:50%;left:50%;width:62%;padding-bottom:62%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(4,10,7,.62) 0%,rgba(4,10,7,.32) 46%,transparent 70%)}.felt-throw-dice{display:flex;gap:clamp(16px,2.2vw,30px);position:relative}.felt-throw .die{width:clamp(88px,9vw,132px);height:clamp(88px,9vw,132px);padding:8px;box-shadow:0 14px 30px #000000a6,inset 0 -6px 10px #0000008c,inset 0 3px 5px #ffffff24,inset 0 0 0 1.5px #e2b7558c}.hothand{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:5px 10px 5px 8px;border-radius:12px;border:1px solid var(--line-2);background:var(--panel-2);transition:border-color .3s,background .3s,box-shadow .3s}.hothand .hh-flame{font-size:15px;filter:grayscale(1) opacity(.5);transition:filter .3s,transform .3s}.hothand .hh-n{font-size:20px;font-weight:800;line-height:1;color:var(--ink-dim);transition:color .3s}.hothand .hh-lbl{font-size:8px;line-height:1.05;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}.hothand.warm{border-color:#e2b75566}.hothand.warm .hh-flame{filter:none}.hothand.warm .hh-n{color:var(--gold-light)}.hothand.hot{border-color:#fb923c99;background:#fb923c1a;box-shadow:0 0 12px #fb923c38}.hothand.hot .hh-flame{filter:none}.hothand.hot .hh-n{color:#fdba74}.hothand.blaze{border-color:#f43f5eb3;background:#fb713c24;box-shadow:0 0 16px #fb923c66;animation:hhblaze 1.1s ease-in-out infinite}.hothand.blaze .hh-flame{filter:none;animation:hhflicker .55s ease-in-out infinite alternate}.hothand.blaze .hh-n{color:#ffd9a0}.hothand--compact{padding:4px 8px;gap:3px;border-radius:10px;flex-shrink:0}.hothand--compact .hh-flame{font-size:12px}.hothand--compact .hh-n{font-size:16px}.hothand--compact .hh-lbl{display:none}@keyframes hhblaze{0%,to{box-shadow:0 0 12px #fb923c4d}50%{box-shadow:0 0 20px #fb923c8c}}@keyframes hhflicker{0%{transform:scale(1) rotate(-4deg)}to{transform:scale(1.14) rotate(4deg)}}.placenote{margin:-2px 0 8px;padding:7px 11px;border-radius:9px;border:1px solid rgba(226,183,85,.32);background:#e2b75514;color:var(--gold-light);animation:evin .2s ease-out}.tabs{display:flex;gap:6px;margin:14px 0;flex-wrap:wrap;align-items:center}.tab{padding:8px 15px;border-radius:999px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--ink-dim);cursor:pointer;font-size:12px;letter-spacing:.07em;text-transform:uppercase;font-weight:700;transition:color .12s,background .12s,border-color .12s}.tab:hover{color:var(--ink);border-color:#2c313f}.tab.on{background:var(--gold);color:var(--bg);border-color:var(--gold);box-shadow:0 2px 10px #e2b75540}.tab.rules-toggle{background:transparent;border-color:transparent;text-transform:none;letter-spacing:0;font-weight:600}.tabs .grow{flex:1}.layout{display:grid;grid-template-columns:1fr 320px;gap:14px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}.feltwrap{position:relative;background:repeating-linear-gradient(45deg,rgba(255,255,255,.014) 0 2px,transparent 2px 4px),repeating-linear-gradient(-45deg,rgba(0,0,0,.05) 0 2px,transparent 2px 4px),radial-gradient(120% 80% at 30% 8%,rgba(134,239,172,.1),transparent 55%),radial-gradient(135% 100% at 50% 0%,var(--felt-a) 0%,#0c3226 44%,var(--felt-b) 100%);border:1px solid var(--felt-line);border-radius:18px;padding:16px 14px 18px;box-shadow:0 0 0 5px #241608,0 0 0 7px #59371f,0 0 0 12px #3a2412,0 0 0 13px #000000b3,0 18px 40px #00000080,inset 0 0 60px #0000008c,inset 0 1px #86efac1f}.feltwrap:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border-radius:12px;border:1px solid rgba(226,183,85,.14);pointer-events:none}.rail{display:flex;flex-direction:column;gap:12px}.sevenout-sweep{position:absolute;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none;border-radius:18px;overflow:hidden;animation:sevenoutdim .78s ease-out forwards}.sevenout-sweep:before{content:"";position:absolute;top:-6%;bottom:-6%;width:46%;left:0;background:linear-gradient(100deg,transparent,rgba(244,63,94,.32) 42%,rgba(255,120,140,.5) 55%,rgba(244,63,94,.28) 68%,transparent);filter:blur(2px);animation:sevenoutsweep .62s ease-in forwards}@keyframes sevenoutdim{0%{background:#02060400}22%{background:#02060470}to{background:#02060400}}@keyframes sevenoutsweep{0%{transform:translate(-130%) skew(-8deg);opacity:0}22%{opacity:1}to{transform:translate(300%) skew(-8deg);opacity:0}}.layout.groaning{animation:tablegroan .78s ease-out}@keyframes tablegroan{0%,to{filter:none}30%{filter:brightness(.68) saturate(.82)}}.rollstrip{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}.rollstrip::-webkit-scrollbar{display:none}.rollpip{display:flex;flex-direction:column;align-items:center;flex-shrink:0;min-width:42px;padding:5px 8px 4px;border-radius:9px;border:1px solid var(--line-2);background:var(--panel-2);animation:pipin .22s ease-out}@keyframes pipin{0%{transform:translate(-8px) scale(.85);opacity:0}to{transform:none;opacity:1}}.rollpip .rt{font-size:15px;font-weight:800;line-height:1.1}.rollpip .rd{font-size:9px;color:var(--ink-faint)}.rollpip.up{border-color:#34d39980}.rollpip.up .rt{color:var(--win)}.rollpip.down{border-color:#f43f5e66}.rollpip.down .rt{color:var(--lose)}.rollpip.out{background:#f43f5e21;border-color:var(--lose)}.rollpip.out .rt{color:#fecaca}.chipbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:10px;padding-top:4px}.chipbar .ga-chip{width:44px;height:44px;font-size:12px;flex-shrink:0}.genie-chip{--chip-c: #6a49b8;--chip-ink: #fff;--chip-cut: #e2b755;--chip-rim: #2a1a52;flex-direction:column;gap:1px;line-height:1;cursor:pointer}.genie-chip .genie-ico{font-size:20px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.genie-chip .genie-cap{font-size:6.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-light, #f7df9a)}.genie-chip:not(:disabled):hover{box-shadow:0 0 0 3px #e2b755d9,0 8px 18px #0000008c}.genie-chip:disabled{opacity:.5;cursor:not-allowed}.btn{padding:11px 16px;border-radius:10px;border:1px solid var(--line-2);background:var(--panel-2);color:var(--ink);cursor:pointer;font-weight:700;font-size:13px;letter-spacing:.02em;transition:transform .06s,border-color .12s,background .12s}.btn:hover{border-color:#2e3342}.btn:active{transform:scale(.98)}.btn.primary{background:linear-gradient(180deg,var(--gold-light),var(--gold) 55%,var(--gold-deep));color:#191302;border-color:var(--gold-deep);box-shadow:0 3px 12px #e2b75547,inset 0 1px #ffffff8c;font-size:15px;padding:13px;text-transform:uppercase;letter-spacing:.06em}.btn.primary:hover{filter:brightness(1.04)}.btn.primary:disabled{opacity:.45;cursor:not-allowed;filter:none}.btn.ghost{background:transparent}.btn.on{background:#0e3b2e;border-color:var(--win);color:var(--win)}.btn.full{width:100%}.row{display:flex;gap:8px}.row>*{flex:1}.modebar{display:flex;gap:8px;align-items:center;margin-bottom:10px;font-size:11px}.seg{display:flex;border:1px solid var(--line-2);border-radius:9px;overflow:hidden}.seg button{background:var(--panel-2);color:var(--ink-dim);border:none;padding:9px 13px;cursor:pointer;font-size:11px;font-weight:700}.seg button.on{background:var(--gold);color:var(--bg)}.log{max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;font-size:12px}.ev{padding:5px 8px;border-radius:6px;border-left:3px solid;animation:evin .2s ease-out}@keyframes evin{0%{transform:translateY(-4px);opacity:0}to{transform:none;opacity:1}}.ev.win{border-color:var(--win);background:#34d39914;color:#a7f3d0}.ev.lose{border-color:var(--lose);background:#f43f5e14;color:#fecdd3}.ev.push{border-color:#94a3b8;background:#94a3b814;color:#cbd5e1}.ev.roll{border-color:var(--gold);background:#e2b7551a;color:#fde68a;font-weight:700}.ev.sevenout{border-color:var(--lose);background:#f43f5e26;color:#fecaca;font-weight:700}.ev.info{border-color:#3b4252;background:#3b425226;color:var(--ink-dim)}.nextroll{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.oc{border:1px solid var(--line-2);border-radius:7px;background:var(--panel-2);text-align:center;padding:5px 2px 4px;min-width:0}.oc .t{font-size:11px;font-weight:800;color:var(--ink-dim);line-height:1.1}.oc .v{font-size:10px;font-weight:800;color:var(--ink-faint);white-space:nowrap}.oc.up{border-color:#34d39973}.oc.up .v{color:var(--win)}.oc.down{border-color:#f43f5e66}.oc.down .v{color:var(--lose)}.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat{background:var(--panel-2);border:1px solid var(--line);border-radius:9px;padding:8px 10px}.stat .k{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}.stat .v{font-size:16px;font-weight:800;margin-top:2px}.kv{display:flex;justify-content:space-between;font-size:12px;padding:3px 0;color:var(--ink-dim)}.small{font-size:10px;color:var(--ink-faint)}table{width:100%;border-collapse:collapse;font-size:12.5px}th,td{padding:8px 10px;text-align:left;border-bottom:1px solid #171a23}th{color:var(--ink-faint);font-size:10px;text-transform:uppercase;letter-spacing:.07em;position:sticky;top:0;background:var(--panel);cursor:pointer}td.r,th.r{text-align:right}.pill{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;font-weight:800}.scroll{overflow-x:auto}.barrow{display:flex;align-items:center;gap:10px;margin:5px 0;font-size:12px}.barrow .lb{width:160px;color:#cdd2df;flex-shrink:0}.bar{height:15px;border-radius:4px;min-width:2px}.prose{font-size:14px;line-height:1.65;color:#c7ccd8;max-width:780px}.prose h3{color:var(--gold);font-size:13px;text-transform:uppercase;letter-spacing:.07em;margin:22px 0 8px}.prose b{color:var(--ink)}.callout{border-left:3px solid var(--lose);background:#f43f5e12;padding:10px 14px;border-radius:0 8px 8px 0;margin:10px 0;font-size:13px}.callout.good{border-left-color:var(--win);background:#34d39912}a{color:#22d3ee}.controlbar{position:sticky;top:62px;z-index:20;background:var(--bg);border-bottom:1px solid var(--line);padding:10px 0 12px;margin-bottom:12px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.controlbar .grow{flex:1 1 180px}.roll-slide-track{--p: 0;--rs-handle: 44px;--rs-pad: 4px;position:relative;overflow:hidden;height:52px;width:260px;min-width:200px;flex:0 1 260px;border-radius:999px;background:radial-gradient(130% 160% at 50% 0%,var(--felt-a),var(--felt-b) 82%);box-shadow:0 0 0 2px var(--gold),0 3px 12px #e2b75540,inset 0 2px 8px #0000008c,inset 0 0 0 1px #00000073;user-select:none;-webkit-user-select:none}.rs-fill{position:absolute;top:0;bottom:0;left:0;width:calc(var(--rs-pad) + var(--rs-handle) + (100% - var(--rs-handle) - 2 * var(--rs-pad)) * var(--p));border-radius:999px;pointer-events:none;background:linear-gradient(90deg,#e2b7551f,#e2b75580 65%,#f7df9acc);transition:width .4s cubic-bezier(.3,1.35,.45,1)}.rs-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding-left:calc(var(--rs-handle) / 2);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--felt-ink);text-shadow:0 1px 2px rgba(0,0,0,.65);pointer-events:none;white-space:nowrap}.roll-slide-track:not(.is-drag):not(.is-spring):not(.is-fired):not(.is-disabled) .roll-slide{animation:rs-hint 2.6s ease-in-out infinite}@keyframes rs-hint{0%,72%,to{transform:translateY(-50%) translate(0)}82%{transform:translateY(-50%) translate(5px)}90%{transform:translateY(-50%) translate(2px)}}@media (prefers-reduced-motion: reduce){.roll-slide-track .roll-slide{animation:none!important}}.roll-slide-track.is-armed{box-shadow:0 0 0 2px var(--gold-light),0 0 18px #f7df9a8c,inset 0 2px 8px #0006}.roll-slide-track.is-armed .rs-label{color:#191302;text-shadow:none}.roll-slide{position:absolute;top:50%;left:calc(var(--rs-pad) + (100% - var(--rs-handle) - 2 * var(--rs-pad)) * var(--p));transform:translateY(-50%);width:var(--rs-handle);height:var(--rs-handle);border-radius:50%;border:2px solid var(--gold-deep);display:flex;align-items:center;justify-content:center;padding:0;background:linear-gradient(180deg,var(--gold-light),var(--gold) 55%,var(--gold-deep));box-shadow:0 3px 10px #0000008c,inset 0 1px #ffffff8c,inset 0 -3px 5px #00000038;cursor:grab;touch-action:none;transition:left .4s cubic-bezier(.3,1.35,.45,1)}.roll-slide:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;border:1.5px dashed rgba(0,0,0,.35);pointer-events:none}.roll-slide:active{cursor:grabbing}.rs-dice{font-size:15px;line-height:1;letter-spacing:-2px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.4))}.roll-slide-track.is-drag .roll-slide,.roll-slide-track.is-drag .rs-fill{transition:none}.roll-slide-track.is-spring .roll-slide{transition:left .55s cubic-bezier(.2,1.65,.4,.95)}.roll-slide-track.is-spring .rs-fill{transition:width .55s cubic-bezier(.2,1.65,.4,.95)}.roll-slide-track.is-fired .roll-slide{transition:left .18s ease-out}.roll-slide-track.is-fired .rs-fill{transition:width .18s ease-out}.roll-slide-track.is-fired .rs-dice{animation:rs-shake .5s ease}@keyframes rs-shake{0%{transform:rotate(0)}18%{transform:rotate(-22deg) translateY(-2px)}38%{transform:rotate(16deg) translateY(1px)}58%{transform:rotate(-11deg)}78%{transform:rotate(6deg) translateY(-1px)}to{transform:rotate(0)}}.roll-slide-track.is-disabled{opacity:.45}.roll-slide-track.is-disabled .roll-slide{cursor:not-allowed}.genie-root{position:fixed;right:18px;bottom:20px;z-index:60}.genie-fab{width:58px;height:58px;border-radius:50%;border:1px solid rgba(226,183,85,.5);background:radial-gradient(circle at 50% 32%,#1a2030,#0c0f17 76%);box-shadow:0 8px 22px #0000008c,inset 0 1px #ffffff14;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:transform .12s,box-shadow .12s;-webkit-tap-highlight-color:transparent}.genie-fab:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0009}.genie-fab:active{transform:scale(.94)}.genie-fab.open{border-color:var(--line-2)}.genie-fab-icon{font-size:26px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.genie-fab.do{border-color:#e2b755e6;box-shadow:0 8px 22px #0000008c,0 0 #e2b75580;animation:geniepulse 2.4s ease-out infinite}.genie-fab.warn{border-color:#f43f5ee6}@keyframes geniepulse{0%{box-shadow:0 8px 22px #0000008c,0 0 #e2b75573}70%{box-shadow:0 8px 22px #0000008c,0 0 0 12px #e2b75500}to{box-shadow:0 8px 22px #0000008c,0 0 #e2b75500}}.genie-dot{position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;border:2px solid #0c0f17}.genie-dot.do{background:var(--gold)}.genie-dot.warn{background:var(--lose)}.genie-panel{position:absolute;right:0;bottom:70px;width:min(360px,calc(100vw - 30px));max-height:min(62vh,540px);display:flex;flex-direction:column;background:#0e1016f7;border:1px solid var(--line-2);border-radius:16px;box-shadow:0 18px 44px #0009;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden;animation:geniein .18s ease-out;transform-origin:bottom right}@keyframes geniein{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}.genie-head{display:flex;align-items:center;justify-content:space-between;padding:11px 14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,rgba(226,183,85,.08),transparent)}.genie-title{font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--ink);display:flex;align-items:center;gap:7px}.genie-emoji{font-size:17px}.genie-mute{margin-left:auto;margin-right:8px;padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:#ffffff0d;color:var(--ink-dim);cursor:pointer;font-size:10.5px;font-weight:700;white-space:nowrap;letter-spacing:.02em;transition:color .15s,border-color .15s,background .15s}.genie-mute:hover{color:var(--ink);border-color:#ffffff4d}.genie-mute.is-muted{color:#ff5d73;border-color:#ff5d7380;background:#ff5d731a}.genie-close{border:none;background:transparent;color:var(--ink-dim);font-size:15px;cursor:pointer;padding:2px 6px;border-radius:6px}.genie-close:hover{color:var(--ink);background:var(--panel-2)}.genie-scroll{overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:9px}.bubble{font-size:12.5px;line-height:1.5;color:#dbe0ea;padding:10px 12px;border-radius:12px;border-left:3px solid;background:var(--panel-2);animation:evin .2s ease-out}.bubble b{color:#fff;font-weight:700}.bubble.do{border-color:var(--gold);background:linear-gradient(100deg,rgba(226,183,85,.1),var(--panel-2) 60%)}.bubble.ok{border-color:var(--win);background:linear-gradient(100deg,rgba(52,211,153,.08),var(--panel-2) 60%)}.bubble.warn{border-color:var(--lose);background:linear-gradient(100deg,rgba(244,63,94,.1),var(--panel-2) 60%)}.genie-foot{padding:9px 14px;border-top:1px solid var(--line);font-size:11px;color:var(--ink-faint);background:#0003}.genie-foot b{color:var(--ink)}.genie-divider{text-align:center;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin:2px 0 -2px}.recap{border:1px solid var(--line-2);border-radius:12px;padding:11px 12px;background:var(--panel-2);animation:evin .2s ease-out}.recap.win{border-color:#34d39980;background:linear-gradient(180deg,rgba(52,211,153,.1),var(--panel-2) 70%)}.recap.lose{border-color:#f43f5e80;background:linear-gradient(180deg,rgba(244,63,94,.1),var(--panel-2) 70%)}.recap.push{border-color:var(--line-2)}.recap-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.recap-title{font-size:13px;font-weight:800;color:var(--ink)}.recap-delta{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}.recap-delta.up{color:var(--win)}.recap-delta.down{color:var(--lose)}.recap-outcomes{display:flex;flex-direction:column;gap:2px;margin-bottom:7px}.oc-line{font-size:11px}.oc-line.win{color:#a7f3d0}.oc-line.lose{color:#fecdd3}.oc-line.push{color:#cbd5e1}.recap-teach{font-size:12.5px;line-height:1.5;color:#dbe0ea}.recap-teach b{color:#fff}.recap-pays{margin-top:7px;font-size:10.5px;color:var(--ink-faint)}.recap-pays b{color:var(--ink-dim)}.genie-speech{position:absolute;right:0;bottom:70px;width:min(300px,calc(100vw - 30px));text-align:left;display:flex;flex-direction:column;gap:4px;padding:11px 13px;border-radius:14px;cursor:pointer;background:#0e1016f7;border:1px solid var(--line-2);box-shadow:0 14px 34px #0000008c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:geniein .22s ease-out;transform-origin:bottom right;-webkit-tap-highlight-color:transparent}.genie-speech.win{border-color:#34d3998c}.genie-speech.lose{border-color:#f43f5e8c}.genie-speech:after{content:"";position:absolute;right:22px;bottom:-7px;width:14px;height:14px;background:#0e1016f7;border-right:1px solid var(--line-2);border-bottom:1px solid var(--line-2);transform:rotate(45deg)}.sp-title{font-size:12px;font-weight:800;color:var(--ink)}.sp-title .up{color:var(--win)}.sp-title .down{color:var(--lose)}.sp-teach{font-size:11.5px;line-height:1.45;color:#cfd5e0}.sp-teach b{color:#fff}.sp-more{font-size:9.5px;color:var(--ink-faint);letter-spacing:.03em;margin-top:1px}.expander{border:none;background:transparent;color:var(--felt-ink);cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:6px 0}.mobilebar{display:none}@media (max-width: 820px){.layout{grid-template-columns:1fr}.rail{order:2}.brand .sub{display:none}.felt-throw .die{width:min(30vw,21vh);height:min(30vw,21vh);padding:10px}.felt-throw-dice{gap:5vw}.topbar{position:static;padding:7px 0 5px;border-bottom:none}.brand h1{font-size:15px;letter-spacing:.1em}.hud{display:none}.tabs{margin:8px 0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;flex-shrink:0;padding:7px 13px}.controlbar{top:0;padding:6px 0 8px;margin-bottom:10px;gap:7px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.controlbar::-webkit-scrollbar{display:none}.controlbar>*{flex-shrink:0}.controlbar .grow,.chipbar--top{display:none}.chipbar{gap:6px;margin:0;flex-wrap:nowrap}.chipbar .ga-chip{width:38px;height:38px;font-size:11px}.seg button{padding:8px 11px}.controlbar .btn{padding:8px 12px;font-size:12px;white-space:nowrap;flex-shrink:0}.roll-desktop{display:none}.ladder-grid{grid-template-columns:1fr!important}.mobilebar{display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:0;z-index:50;gap:8px;align-items:stretch;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:#0a0908f0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line-2)}.mobilebar .mb-action{display:flex;align-items:center;gap:9px}.mobilebar .grow{flex:1}.chipbar--mobile{gap:8px;margin:0;flex-wrap:nowrap;justify-content:center;padding:0;width:100%}.chipbar--mobile .ga-chip{width:44px;height:44px;font-size:11.5px;flex:0 0 auto}.mobilebar .roll-slide-track{width:auto;min-width:0;height:48px;--rs-handle: 40px}.mobilebar .mb-info{text-align:right;min-width:84px}.mobilebar .mb-info .k{font-size:9px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.07em}.mobilebar .mb-info .v{font-size:17px;font-weight:800}.app{padding-bottom:calc(148px + env(safe-area-inset-bottom,0px))}:root .ga-hud{bottom:calc(140px + env(safe-area-inset-bottom,0px))}.genie-root{right:12px;bottom:calc(148px + env(safe-area-inset-bottom,0px))}.genie-fab{width:52px;height:52px}.genie-fab-icon{font-size:23px}}@media (max-width: 480px){.app{padding:10px;padding-bottom:calc(148px + env(safe-area-inset-bottom,0px))}.puck{width:42px;height:42px}.die{padding:4px}.chipbar--mobile{gap:7px}.chipbar--mobile .ga-chip{width:44px;height:44px}.barrow .lb{width:120px}.feltwrap{padding:13px 11px 15px;border-radius:16px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.mat{container-type:size;aspect-ratio:8 / 5.15;width:min(100%,114.922vh);max-width:100%;margin:0 auto;display:grid;gap:0;border-top:var(--divw) solid var(--divc);border-left:var(--divw) solid var(--divc);grid-template-columns:1fr 1.5fr 1.5fr 1.5fr 1.5fr 1.5fr 1.5fr 3.7fr;grid-template-rows:1.5fr 1.2fr 1fr .92fr 1.12fr;grid-template-areas:"dc   n4    n5    n6    n8    n9    n10   props" "dc   come  come  come  come  come  come  props" "dc   field field field field field field props" "dc   dp    dp    dp    dp    dpo   dpo   props" "pass pass  pass  pass  pass  po    po    props"}.zone{position:relative;border:var(--divw) solid var(--divc);border-radius:1.1cqw;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3cqw;padding:.4cqw .6cqw;min-width:0;overflow:visible;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .12s,border-color .12s,box-shadow .12s}.zone:hover{background:#86efac17;border-color:#d8f0e4e6}.zone:active{background:#86efac29;box-shadow:inset 0 0 3cqw #34d39926}.zone.dis{opacity:.32;cursor:not-allowed}.zone.lock{cursor:default}.zone.lock:hover{background:transparent;border-color:#d8f0e480}.mat>.zone{border:0;border-right:var(--divw) solid var(--divc);border-bottom:var(--divw) solid var(--divc);border-radius:0;overflow:hidden}.mat>.zone:hover{background:#86efac1a;border-color:#d8f0e4f2}.mat>.zone.lock:hover{border-color:var(--divc)}.mchip{position:absolute;right:.5cqw;bottom:.5cqw;z-index:4;min-width:5.6cqw;height:5cqw;padding:0 1.2cqw;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:max(9px,2.3cqw);font-weight:800;box-shadow:0 .5cqw 1.4cqw #0009,inset 0 .4cqw .6cqw #ffffff40,inset 0 -.4cqw .7cqw #0000004d;animation:chipdrop .16s ease-out;pointer-events:none;border:.4cqw dashed rgba(255,255,255,.6)}.mchip.t-white{background:radial-gradient(circle at 36% 30%,#fffdf4,#e9e6da 55%,#b9b4a0);color:#2a2a24;border-color:#00000052}.mchip.t-red{background:radial-gradient(circle at 36% 30%,#f0637a,#cf1d45 55%,#8c0f2a);color:#fff;border-color:#ffffffbf}.mchip.t-green{background:radial-gradient(circle at 36% 30%,#5cc888,#1f9b52 55%,#0e5f31);color:#fff;border-color:#ffffffb8}.mchip.t-black{background:radial-gradient(circle at 36% 30%,#565e69,#2b3139 55%,#14171d);color:#fff;border-color:#ffffff8c}.numbox{background:#061c1459}.numbox .numeral{font-size:5cqw;font-weight:800;letter-spacing:.02em;color:#f1fbf6;text-shadow:0 .3cqw .6cqw rgba(0,0,0,.5);font-family:Georgia,Times New Roman,serif;line-height:1;max-width:100%;white-space:nowrap;text-align:center}.numbox .numeral.word{font-size:3.1cqw;letter-spacing:.04em}.numbox.pt-on{box-shadow:inset 0 0 0 max(1.5px,.34cqw) #fff,0 0 2.4cqw #ffffff4d,inset 0 0 2cqw #ffffff1f}.puckdot{position:absolute;top:max(2px,.5cqw);left:max(2px,.5cqw);z-index:6;width:max(15px,4.4cqw);height:max(15px,4.4cqw);border-radius:50%;background:radial-gradient(circle at 50% 35%,#f8fafc,#cbd5e1 75%);color:#0a0908;font-size:max(7px,1.8cqw);font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 .4cqw 1.2cqw #00000080}.chipshelf{position:absolute;left:max(2px,.4cqw);right:max(2px,.4cqw);bottom:max(2px,.4cqw);z-index:5;display:flex;flex-wrap:wrap-reverse;gap:max(2px,.4cqw);align-items:flex-end;justify-content:center;pointer-events:none}.chipshelf .ridechip{pointer-events:auto}.ridechip{position:static;z-index:5;display:inline-flex;align-items:center;justify-content:center;min-height:max(24px,3.6cqw);min-width:max(28px,6.5cqw);border-radius:999px;padding:max(2px,.3cqw) max(6px,1cqw);font-size:max(9px,1.9cqw);font-weight:800;cursor:pointer;white-space:nowrap;box-shadow:0 .4cqw 1.2cqw #00000080;-webkit-tap-highlight-color:transparent;touch-action:manipulation;animation:chipdrop .16s ease-out}.ridechip.come{background:#06272e;border:max(1px,.28cqw) solid #22d3ee;color:#67e8f9}.ridechip.dc{background:#251233;border:max(1px,.28cqw) solid #c084fc;color:#d8b4fe}.chipshelf .mchip.place{position:static;right:auto;bottom:auto;transform:none;min-width:max(28px,5.6cqw);height:max(20px,4.4cqw)}.comeband{background:#0822184d}.bigband{font-size:4.5cqw;font-weight:800;letter-spacing:.26em;text-indent:.26em;color:#eefcf4;text-shadow:0 .3cqw .7cqw rgba(0,0,0,.5);font-family:Georgia,Times New Roman,serif;line-height:1;max-width:96%;white-space:nowrap}.passband{grid-area:pass;background:#071e154d}.passband:after{content:"";position:absolute;inset:max(3px,.8cqw);border:max(1px,.22cqw) solid rgba(206,42,58,.75);border-radius:.7cqw;pointer-events:none}.passband .bigband{letter-spacing:.32em;text-indent:.32em;color:#f5f8fa}.bandsub{font-size:max(8px,1.7cqw);letter-spacing:.06em;color:#cae8d9ad;text-transform:uppercase;margin-top:.4cqw}.fieldband{background:#08221838;flex-direction:row;gap:2cqw}.fieldband .fl,.dpband .fl{font-size:3cqw;font-weight:800;letter-spacing:.18em;text-indent:.18em;color:#eefcf4;font-family:Georgia,serif}.fieldband .fnums{font-size:3cqw;font-weight:700;letter-spacing:.32em;color:#dff5ea}.fieldband .circ{border:.3cqw solid #fde68a;color:#fde68a;border-radius:50%;padding:0 .9cqw;letter-spacing:0}.dpband{flex-direction:row;gap:1.4cqw;background:#071e1538;border-color:#d2dce073}.dpband .fl{font-size:2.5cqw;color:#e7eef1}.dpband .bar12{font-size:max(8px,2cqw);font-weight:800;color:#dfe7ea;border:max(1px,.3cqw) solid rgba(210,220,224,.55);border-radius:999px;padding:.3cqw 1.1cqw}.oddszone{background:#08283c47}.oddszone:after{content:"";position:absolute;inset:max(2px,.5cqw);border:max(1.5px,.34cqw) dashed rgba(125,211,252,.8);border-radius:.7cqw;pointer-events:none}.oddszone .pl{font-size:max(9px,1.9cqw);letter-spacing:.08em;color:#bae6fd;font-weight:800;text-transform:uppercase;text-align:center;line-height:1.1}.dcbox{background:linear-gradient(90deg,#462d194d,#28190e59);border-color:#eeddc973}.dcbox .vlabel{writing-mode:vertical-rl;transform:rotate(180deg);font-size:2.2cqw;font-weight:800;letter-spacing:.2em;color:#eeddc9}.propscol{display:flex;flex-direction:column;gap:.6cqw;min-width:0;border:var(--divw) solid rgba(238,221,201,.34);border-radius:1.4cqw;padding:.7cqw;background:#1e140a38}.proprow{display:flex;gap:.6cqw;flex:1}.proprow .zone{flex:1}.propblock{display:flex;flex-direction:column;gap:.3cqw;flex:1.15}.blocklbl{text-align:center;font-size:max(9px,1.5cqw);letter-spacing:.18em;font-weight:800;color:#ffe9c7a6;line-height:1}.propblock .proprow{flex:1}.hardcell .pl{font-size:max(11px,3cqw);font-weight:800;color:#ffe9c7;font-family:Georgia,serif;line-height:1}.hardcell .pp{font-size:max(9px,1.5cqw)}.prop{border-color:#eeddc961;background:#281a0e40}.prop .pl{font-size:max(9px,1.9cqw);font-weight:800;letter-spacing:.01em;color:#ffe9c7;text-align:center;line-height:1.1}.prop .pp{font-size:max(9px,1.6cqw);font-weight:800;margin-top:.2cqw}.prop.wide{flex:none;min-height:5.5cqw}.prop.worst{border-color:#f43f5e99;background:linear-gradient(180deg,#b428372e,#78192633)}.prop.worst .pl{color:#fecaca;font-size:2.4cqw;letter-spacing:.12em}.mat-hints{margin-top:10px;line-height:1.5;color:#cae8d999;text-align:center}.buylay{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:8px}.buylay .zone{min-height:46px;border-width:1.5px;border-radius:8px;padding:4px 6px;gap:2px}.buylay .zone:active{box-shadow:none}.buylay .prop .pl{font-size:11px}.buylay .prop .pp{font-size:10px;margin-top:1px}.feltwrap .expander{margin-top:4px}.learn-h2{color:var(--ink);font-size:15px;font-weight:800;letter-spacing:.01em;margin:30px 0 6px;padding-top:20px;border-top:1px solid var(--line)}.dicemath{margin-bottom:8px}.dicemath h3{color:var(--gold);font-size:13px;text-transform:uppercase;letter-spacing:.07em;margin:6px 0 8px}.dm-lead{font-size:13.5px;line-height:1.6;color:#c7ccd8;margin:0 0 12px}.dm-lead b{color:var(--ink)}.dm-chart{display:flex;flex-direction:column;gap:5px;margin:12px 0 6px}.dm-row{display:grid;grid-template-columns:26px 1fr 58px 96px;align-items:center;gap:10px;padding:4px 8px;border-radius:8px;background:var(--panel-2);border:1px solid var(--line)}.dm-total{font-size:16px;font-weight:800;color:var(--ink);text-align:center}.dm-barwrap{min-width:0;display:flex;flex-direction:column;gap:3px}.dm-bar{height:20px;border-radius:5px;min-width:30px;background:linear-gradient(90deg,#e2b755d9,#e2b75580);display:flex;align-items:center;padding:0 8px;box-shadow:inset 0 1px #ffffff2e;transition:width .5s cubic-bezier(.2,.8,.2,1)}.dm-ways{font-size:11px;font-weight:800;color:#1a1305;white-space:nowrap}.dm-of{opacity:.6;font-weight:600}.dm-combos{display:flex;flex-wrap:wrap;gap:1px 7px;font-size:14px;color:var(--ink-faint);line-height:1}.dm-combo{letter-spacing:-1px}.dm-prob{font-size:12px;font-weight:800;color:var(--ink);text-align:right}.dm-odds{color:var(--ink-dim);text-align:right;white-space:nowrap}.dm-againstlbl{color:var(--ink-faint)}.dm-row.seven{border-color:#f43f5e80;background:linear-gradient(90deg,rgba(244,63,94,.1),var(--panel-2) 60%)}.dm-row.seven .dm-bar{background:linear-gradient(90deg,#ff5a6e,#f43f5e8c)}.dm-row.seven .dm-ways{color:#2a0810}.dm-row.seven .dm-total{color:#fecaca}.dm-row.point .dm-bar{background:linear-gradient(90deg,#34d399d9,#34d39973)}.dm-row.point .dm-ways{color:#052318}.dm-points{display:flex;flex-direction:column;gap:4px;margin:12px 0 6px}.dm-phead,.dm-prow{display:grid;grid-template-columns:46px 44px 1fr 120px;align-items:center;gap:10px}.dm-phead{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.05em;padding:0 8px 2px}.dm-prow{padding:5px 8px;border-radius:8px;background:var(--panel-2);border:1px solid var(--line)}.dm-pt{font-size:15px;font-weight:800;color:var(--ink);text-align:center}.dm-makewrap{position:relative;display:flex;align-items:center;gap:8px;min-width:0}.dm-makebar{height:14px;border-radius:4px;background:linear-gradient(90deg,#34d399cc,#34d39959);min-width:4px}.dm-makewrap b{font-size:12px;color:var(--ink)}.dm-note,.dm-src{color:var(--ink-dim);line-height:1.55}.dm-src a{color:var(--felt-ink)}.genie-mem{margin-top:4px;padding:11px 12px;border-radius:10px;border:1px solid var(--line-2);background:linear-gradient(180deg,rgba(226,183,85,.06),var(--panel-2) 70%)}.mem-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.mem-title{font-size:12px;font-weight:800;color:var(--ink)}.mem-forget{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);background:transparent;border:1px solid var(--line-2);border-radius:999px;padding:3px 9px;cursor:pointer}.mem-forget:hover{color:var(--lose);border-color:#f43f5e80}.mem-stat{color:var(--ink-dim);margin-bottom:5px}.mem-stat b{color:var(--ink)}.mem-stat .up{color:var(--win)}.mem-stat .down{color:var(--lose)}.mem-fav{color:var(--ink-dim);margin-bottom:8px}.mem-fav b{color:var(--gold)}.mem-bars{display:flex;flex-direction:column;gap:5px}.mem-row{display:grid;grid-template-columns:96px 1fr 52px;align-items:center;gap:8px}.mem-lbl{color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mem-track{height:8px;border-radius:4px;background:var(--line);overflow:hidden}.mem-fill{display:block;height:100%;border-radius:4px;transition:width .4s ease}.mem-fill.tier-core,.mem-fill.tier-free,.mem-fill.tier-good{background:linear-gradient(90deg,var(--win),rgba(52,211,153,.5))}.mem-fill.tier-meh{background:linear-gradient(90deg,var(--gold),rgba(226,183,85,.5))}.mem-fill.tier-leak{background:linear-gradient(90deg,var(--lose),rgba(244,63,94,.5))}.mem-drag{color:var(--ink-faint);text-align:right}.mem-foot{color:var(--ink-faint);margin-top:8px;line-height:1.45}.mem-foot b{color:var(--ink-dim)}.genie-hist{margin-top:4px;padding:11px 12px;border-radius:10px;border:1px solid var(--line-2);background:linear-gradient(180deg,rgba(244,63,94,.06),var(--panel-2) 70%)}.gh-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:7px}.gh-title{font-size:12px;font-weight:800;color:var(--ink)}.gh-sub{color:var(--ink-faint)}.gh-row{padding:6px 0;border-top:1px solid var(--line)}.gh-row:first-of-type{border-top:0}.gh-line{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.gh-bet{font-weight:700;color:var(--ink)}.gh-edge{font-weight:800}.gh-take{color:var(--ink-dim);margin-top:2px;line-height:1.4}.rrc-wrap{position:fixed;top:82px;left:50%;transform:translate(-50%);z-index:60;width:min(420px,92vw);pointer-events:none}.rrc{position:relative;overflow:hidden;pointer-events:auto;cursor:pointer;border-radius:14px;padding:13px 15px 15px;background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--line-2);box-shadow:0 18px 44px #0009,0 2px #ffffff08 inset;animation:rrcIn .28s cubic-bezier(.2,.9,.2,1)}.rrc.win{border-color:#34d3998c;box-shadow:0 18px 44px #0009,0 0 0 1px #34d39933 inset}.rrc.lose{border-color:#f43f5e8c;box-shadow:0 18px 44px #0009,0 0 0 1px #f43f5e33 inset}.rrc.push{border-color:var(--line-2)}.rrc-accent{position:absolute;left:0;top:0;bottom:0;width:4px}.rrc.win .rrc-accent{background:var(--win)}.rrc.lose .rrc-accent{background:var(--lose)}.rrc.push .rrc-accent{background:var(--ink-faint)}.rrc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.rrc-dice{display:flex;align-items:center;gap:6px}.rrc-die{font-size:26px;line-height:1;color:var(--ink);filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.rrc-die.hard{color:var(--gold)}.rrc-eq{font-size:14px;font-weight:800;color:var(--ink-dim)}.rrc-badge{font-size:11px;font-weight:900;letter-spacing:.14em;padding:4px 11px;border-radius:999px}.rrc-badge.win{color:#052318;background:var(--win)}.rrc-badge.lose{color:#2a0810;background:var(--lose)}.rrc-badge.push{color:var(--ink);background:var(--line-2)}.rrc-mid{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:9px}.rrc-event{font-size:17px;font-weight:800;color:var(--ink)}.rrc-amt{font-size:22px;font-weight:900;font-variant-numeric:tabular-nums}.rrc-amt.up{color:var(--win)}.rrc-amt.down{color:var(--lose)}.rrc-amt.flat{color:var(--ink-faint);font-size:15px;font-weight:700}.rrc-lines{display:flex;flex-wrap:wrap;gap:4px 6px;margin-bottom:9px}.rrc-line{font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px}.rrc-line.win{color:#a7f3d0;background:#34d39921}.rrc-line.lose{color:#fecaca;background:#f43f5e21}.rrc-line.push{color:var(--ink-dim);background:var(--line)}.rrc-teach{font-size:12px;line-height:1.5;color:#cfd4e0}.rrc-teach b{color:#fff}.rrc-timer{position:absolute;left:0;right:0;bottom:0;height:3px;background:transparent}.rrc-timer span{display:block;height:100%;width:100%;transform-origin:left;background:currentColor;opacity:.5;animation:rrcTimer 4.2s linear forwards}.rrc.win .rrc-timer span{color:var(--win)}.rrc.lose .rrc-timer span{color:var(--lose)}.rrc.push .rrc-timer span{color:var(--ink-faint)}@keyframes rrcIn{0%{opacity:0;transform:translateY(-14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes rrcTimer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width: 820px){.dm-row{grid-template-columns:22px 1fr 50px;gap:7px}.dm-odds{display:none}.dm-phead,.dm-prow{grid-template-columns:38px 34px 1fr 92px;gap:7px}.rrc-wrap{top:auto;bottom:calc(150px + env(safe-area-inset-bottom,0px));width:min(440px,94vw)}.genie-panel{width:calc(100vw - 24px);max-height:66vh}}.guided-dim{opacity:.45;filter:saturate(.55);transition:opacity .35s ease,filter .35s ease}.guided-tip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px;padding:9px 13px;border-radius:10px;border:1px solid rgba(226,183,85,.45);background:linear-gradient(100deg,rgba(226,183,85,.12),var(--panel-2) 70%);font-size:12.5px;line-height:1.45;color:#fde68a}.guided-tip .gt-step{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--gold);flex-shrink:0}.guided-tip .gt-msg{flex:1;min-width:200px}.guided-tip .gt-done{flex-shrink:0;font-size:11px;padding:6px 11px;border-color:#e2b75580;color:var(--gold)}.guided-tip .gt-skip{flex-shrink:0;font-size:11px;padding:5px 10px;border-color:#e2b7554d;color:var(--gold);opacity:.8}.guided-tip .gt-skip:hover{opacity:1;border-color:#e2b75599}.guided-btn.on{border-color:#e2b75599;color:var(--gold);background:#e2b75514}.zone.guided-focus{z-index:6;border-color:var(--gold)!important;animation:guidedfocus 1.5s ease-in-out infinite}@keyframes guidedfocus{0%,to{box-shadow:inset 0 0 0 .4cqw #e2b755a6,inset 0 0 2.2cqw #e2b75538}50%{box-shadow:inset 0 0 0 .75cqw var(--gold),inset 0 0 4cqw #e2b75580}}.guided-here{position:absolute;top:.5cqw;left:50%;transform:translate(-50%);z-index:7;pointer-events:none;font-size:max(9px,1.9cqw);font-weight:800;letter-spacing:.02em;white-space:nowrap;color:#191302;background:linear-gradient(180deg,var(--gold-light),var(--gold));padding:.25cqw 1.1cqw;border-radius:999px;box-shadow:0 .3cqw .9cqw #00000080;animation:guidedhere 1.5s ease-in-out infinite}@keyframes guidedhere{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-.5cqw)}}.roll-slide-track.roll-highlight{animation:rollhighlight 1.5s ease-in-out infinite}@keyframes rollhighlight{0%,to{box-shadow:0 0 0 2px var(--gold),0 0 #e2b75580,inset 0 2px 8px #00000080}50%{box-shadow:0 0 0 3px var(--gold-light),0 0 22px 4px #f7df9a99,inset 0 2px 8px #00000080}}.tut-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:#06070ab8;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:tutfade .2s ease-out}@keyframes tutfade{0%{opacity:0}to{opacity:1}}.tut-card{width:min(420px,100%);box-sizing:border-box;padding:22px 22px 18px;border-radius:18px;border:1px solid rgba(226,183,85,.4);background:radial-gradient(120% 140% at 50% 0%,#16181f,var(--panel) 78%);box-shadow:0 24px 60px #0009,inset 0 1px #ffffff0d;animation:tutpop .22s cubic-bezier(.2,1.2,.4,1)}@keyframes tutpop{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}.tut-badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);padding:4px 10px;border-radius:999px;border:1px solid rgba(226,183,85,.4);background:#e2b75514}.tut-title{margin:12px 0 8px;font-size:19px;font-weight:800;color:var(--ink);line-height:1.2}.tut-body{margin:0 0 16px;font-size:13px;line-height:1.55;color:var(--ink-dim)}.tut-actions{display:flex;flex-direction:column;gap:9px}.tut-go{width:100%;padding:12px 16px;font-size:14px;font-weight:800;color:#191302;border:1px solid var(--gold-deep);background:linear-gradient(180deg,var(--gold-light),var(--gold) 55%,var(--gold-deep))}.tut-go:hover{filter:brightness(1.05)}.tut-skip{width:100%;padding:11px 16px;font-size:13px;color:var(--ink-dim)}.tut-skip:hover{color:var(--ink);border-color:var(--line-2)}.tut-foot{margin-top:12px;text-align:center;color:var(--ink-faint)}@media (prefers-reduced-motion: reduce){.zone.guided-focus,.guided-here,.roll-slide-track.roll-highlight,.tut-overlay,.tut-card{animation:none}.zone.guided-focus{box-shadow:inset 0 0 0 .6cqw var(--gold)}.roll-slide-track.roll-highlight{box-shadow:0 0 0 3px var(--gold-light),0 0 18px #f7df9a80,inset 0 2px 8px #00000080}}.odds-nudge{border-color:#7dd3fce6;animation:oddsglow 1.9s ease-in-out infinite}@keyframes oddsglow{0%,to{box-shadow:0 0 #7dd3fc00}50%{box-shadow:0 0 2.4cqw .5cqw #7dd3fc66,inset 0 0 1.6cqw #7dd3fc2e}}.odds-cap{font-size:1.3cqw;line-height:1.2;text-align:center;color:#bae6fd;opacity:.85;letter-spacing:.02em}@media (prefers-reduced-motion: reduce){.odds-nudge{box-shadow:0 0 2cqw #7dd3fc59}}.sh-replay{width:100%;margin-top:10px;border-color:#e2b75573;color:var(--gold);font-size:12px}.sh-replay:hover{border-color:var(--gold);background:#e2b75512}.sim-seed{margin-bottom:10px;padding:7px 11px;border-radius:8px;border:1px solid rgba(226,183,85,.4);background:#e2b75514;color:var(--gold);font-size:11px;letter-spacing:.02em}.session-history .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 700px){.session-history .grid2{grid-template-columns:1fr}}.sh-list{display:flex;flex-direction:column;gap:8px;max-height:62vh;overflow-y:auto}.sh-roll{border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:7px 10px;background:#0003}.sh-roll-head{display:flex;align-items:center;gap:10px}.sh-dice{font-size:13px}.sh-no{flex:1;opacity:.7}.sh-log{margin-top:4px;max-height:none}:root{--bg: #0a0908;--bg-0: #0a0908;--gold: #e2b755;--gold-dim: #a5813d}::selection{background:#e2b75552;color:#fff6dd}*{scrollbar-width:thin;scrollbar-color:rgba(226,183,85,.35) rgba(255,255,255,.04)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#ffffff08}::-webkit-scrollbar-thumb{background:#e2b7554d;border-radius:999px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:#e2b75580}:focus-visible{outline:2px solid rgba(226,183,85,.75);outline-offset:2px}.ga-wallet{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 10px;border:1px solid rgba(226,183,85,.45);border-radius:999px;background:linear-gradient(160deg,#221c10eb,#100d09eb);box-shadow:0 2px 10px #00000059,inset 0 1px #f7df9a1f;white-space:nowrap;line-height:1}.ga-wallet-ico{width:20px;height:20px;flex:0 0 20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e2b755' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 7H5a2 2 0 0 1 0-4h13v4'/%3E%3Cpath d='M3 5v13a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1V8a1 1 0 0 0-1-1'/%3E%3Ccircle cx='16.5' cy='13.5' r='1.4' fill='%23e2b755' stroke='none'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.ga-wallet-lbl{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#f7df9abf}.ga-wallet-amt{font-size:15px;font-variant-numeric:tabular-nums;color:#f7df9a;text-shadow:0 0 12px rgba(226,183,85,.35)}.ga-wallet--hot .ga-wallet-amt{color:#3ddc84;transition:color .2s}.ga-wallet--cold .ga-wallet-amt{color:#ff5d6c;transition:color .2s}.ga-chip{--chip-c: #cc2f3b;--chip-ink: #fff;--chip-hi: color-mix(in srgb, var(--chip-c), #fff 38%);--chip-lo: color-mix(in srgb, var(--chip-c), #000 32%);--chip-edge: color-mix(in srgb, var(--chip-c), #000 12%);--chip-rim: color-mix(in srgb, var(--chip-c), #000 42%);--chip-cut: #f4efe2;position:relative;width:52px;height:52px;border-radius:50%;border:0;cursor:pointer;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;letter-spacing:.02em;color:var(--chip-ink);background-color:var(--chip-c);background-image:radial-gradient(circle,transparent 0 55%,rgba(0,0,0,.28) 55.5% 57%,rgba(255,255,255,.28) 57% 58.5%,transparent 59%),radial-gradient(circle at 42% 34%,var(--chip-hi) 0%,var(--chip-c) 40%,var(--chip-lo) 57%,transparent 58%),repeating-conic-gradient(from -12deg,var(--chip-cut) 0deg 9deg,transparent 9deg 45deg),radial-gradient(circle,var(--chip-edge) 54%,var(--chip-rim) 100%);box-shadow:0 5px 13px #0000008c,inset 0 0 0 1.5px #0000004d,inset 0 -3px 7px #0006,inset 0 3px 6px #ffffff2e;transition:transform .14s cubic-bezier(.2,.9,.25,1.35),box-shadow .14s ease}.ga-chip:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none;background:linear-gradient(155deg,rgba(255,255,255,.28) 0%,rgba(255,255,255,.03) 30%,transparent 44%)}.ga-chip>*{position:relative;z-index:1;text-shadow:0 1px 2px rgba(0,0,0,.35)}.ga-chip:hover{transform:translateY(-3px)}.ga-chip:active{transform:translateY(-1px) scale(.97)}.ga-chip.is-active{transform:translateY(-4px);box-shadow:0 0 0 3px #e2b755f2,0 0 16px #e2b75566,0 8px 18px #0009,inset 0 -3px 7px #0006,inset 0 3px 6px #ffffff2e}.ga-chip--1{--chip-c: #c9c3b0;--chip-ink: #2a2a24;--chip-cut: #8a8676}.ga-chip--5{--chip-c: #cc2f3b;--chip-ink: #fff}.ga-chip--25{--chip-c: #1f9152;--chip-ink: #fff}.ga-chip--100{--chip-c: #31353d;--chip-ink: #fff;--chip-cut: #e7e2d4}.ga-chip--500{--chip-c: #7a41ad;--chip-ink: #fff}.ga-chip--1000{--chip-c: #e0821e;--chip-ink: #2a1600}.ga-chip--5000{--chip-c: #8a8f98;--chip-ink: #101216;--chip-cut: #eceff3}@media (prefers-reduced-motion: reduce){.ga-chip,.ga-chip:hover,.ga-chip:active{transition:none;transform:none}}.ga-genie-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:999px;background:#e5484d;color:#fff;font:700 11px/18px IBM Plex Mono,ui-monospace,monospace;text-align:center;box-shadow:0 0 0 2px #0a0908eb,0 0 10px #e5484d99;animation:ga-genie-pulse 1.4s ease-in-out infinite;pointer-events:none;z-index:2}@keyframes ga-genie-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.82}}@media (prefers-reduced-motion: reduce){.ga-genie-badge{animation:none}}
