:root{--felt-green: #0e6830;--felt-dark: #0a5025;--felt-light: #16853e;--felt-border: #b8941f;--rail-dark: #1a0f06;--rail-mid: #2a1808;--rail-light: #3a2510;--gold: #c9a033;--gold-light: #e8cc6a;--gold-dim: rgba(201, 160, 51, .12);--red: #c0392b;--red-dark: #962d22;--blue: #2980b9;--blue-dim: rgba(41, 128, 185, .15);--bg-dark: #0b1018;--bg-panel: #111a28;--bg-card: #182234;--border-subtle: rgba(148, 163, 184, .1);--border-medium: rgba(148, 163, 184, .18);--text: #d8dee8;--text-muted: #8899ad;--text-bright: #f0f4f8;--win-green: #22c55e;--lose-red: #ef4444;--push-yellow: #f59e0b;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .6)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,Segoe UI,system-ui,-apple-system,sans-serif;background:var(--bg-dark);background-image:radial-gradient(ellipse at 50% 0%,rgba(18,30,52,.6) 0%,transparent 55%);color:var(--text);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-header{display:flex;align-items:center;gap:24px;padding:10px 24px;background:linear-gradient(180deg,#151e2e,#111a28);border-bottom:1px solid rgba(184,149,31,.4);box-shadow:0 2px 20px #0006;position:relative;z-index:10}.app-header h1{font-family:Cinzel,serif;font-size:1.3rem;color:var(--gold);font-weight:700;letter-spacing:3px;text-transform:uppercase;text-shadow:0 1px 4px rgba(0,0,0,.5)}.header-controls{display:flex;align-items:center;gap:4px}.header-nav-link{background:none;border:none;color:var(--text-muted);font-family:DM Sans,system-ui,sans-serif;font-size:.82rem;font-weight:500;padding:6px 12px;cursor:pointer;text-decoration:none;transition:color .15s ease;letter-spacing:.3px;white-space:nowrap}.header-nav-link:hover{color:var(--gold-light)}a.header-nav-link:visited{color:var(--text-muted)}a.header-nav-link:visited:hover{color:var(--gold-light)}.header-divider{width:1px;height:16px;background:#b8951f59;margin:0 4px}.header-external-link{opacity:.7}.header-external-link:hover{opacity:1}.btn{padding:7px 16px;border:1px solid transparent;border-radius:var(--radius-sm);font-family:DM Sans,system-ui,sans-serif;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s ease;letter-spacing:.3px}.btn:hover{filter:brightness(1.15);transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;filter:none}.btn-primary{background:linear-gradient(180deg,#3498db,#2176ad);color:#fff;border-color:#ffffff1a}.btn-secondary{background:linear-gradient(180deg,#4a5a6e,#384858);color:#fff;border-color:#ffffff0f}.btn-danger{background:linear-gradient(180deg,#c94434,#a02c1e);color:#fff;border-color:#ffffff1a}.btn-warning{background:linear-gradient(180deg,#f5a623,#d48a10);color:#1a1a2e;border-color:#ffffff1a}.btn-info{background:linear-gradient(180deg,#d4aa3c,#b8901e);color:#1a1a2e;border-color:#ffffff1a}.btn-full{width:100%;margin-top:8px}.btn-sm{padding:4px 10px;font-size:.75rem}.button-row{display:flex;gap:6px;flex-wrap:nowrap;margin-top:8px}.button-row .btn{flex:1 1 0;min-width:0;padding:8px 4px;white-space:nowrap}.help-tip{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:4px;border-radius:50%;background:#ffffff14;color:var(--text-muted);font-size:.65rem;font-weight:700;cursor:help;vertical-align:middle;transition:all .15s}.help-tip:hover{background:#fff3;color:var(--text-bright)}.main-layout{display:grid;grid-template-columns:300px 1fr 300px;gap:0;height:calc(100vh - 52px)}.left-panel,.right-panel{background:var(--bg-panel);padding:12px;overflow-y:auto;border-right:1px solid var(--border-subtle)}.right-panel{border-right:none;border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow:hidden}.right-panel>.panel:not(.panel-log){display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.right-panel-header{display:flex;align-items:center;gap:12px;flex-shrink:0;border-bottom:1px solid var(--border-subtle);margin-bottom:8px}.right-panel-header h2{margin-bottom:0;white-space:nowrap}.right-panel-tabs{display:flex;gap:0;flex-shrink:0;margin-left:auto}.right-panel-tab{background:none;border:none;border-bottom:2px solid transparent;padding:6px 12px;font-family:Cinzel,serif;font-size:.7rem;color:var(--text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;transition:color .15s,border-color .15s}.right-panel-tab:hover{color:var(--text)}.right-panel-tab.active{color:var(--gold);border-bottom-color:var(--gold)}.right-panel-tab-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.right-panel-tab-content:not(.active){display:none!important}.right-panel-tab-content canvas{width:100%;height:100%}.center-panel{display:flex;flex-direction:column;padding:12px;overflow-y:scroll}.center-panel>:last-child{flex:1}.panel{background:var(--bg-card);border-radius:var(--radius-md);padding:12px;margin-bottom:12px;border:1px solid var(--border-subtle)}.strategy-hash-row{display:flex;align-items:center;gap:6px;margin-bottom:8px}.strategy-hash{font-family:monospace;font-size:.7rem;color:var(--text-muted);letter-spacing:1px}.btn-icon-sm{background:transparent;border:none;cursor:pointer;font-size:.75rem;color:var(--text-muted);padding:2px 4px;border-radius:3px;line-height:1}.btn-icon-sm:hover{background:#ffffff1a;color:var(--text)}.panel h2{font-family:Cinzel,serif;font-size:.8rem;color:var(--gold);margin-bottom:10px;text-transform:uppercase;letter-spacing:1.5px;font-weight:700}.control-row{display:flex;gap:10px;margin-bottom:10px}.control-row .control-group{flex:1;margin-bottom:0}.control-group{margin-bottom:10px}.control-group .hint{display:block;font-size:.65rem;color:var(--text-muted);margin-top:2px}.control-group label{display:block;font-size:.8rem;color:var(--text-muted);margin-bottom:3px}.control-group input[type=number],.control-group input[type=text],.control-group select,.control-group textarea{width:100%;padding:6px 10px;border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-dark);color:var(--text);font-size:.85rem;transition:border-color .15s,box-shadow .15s}.control-group input[type=number]:focus,.control-group input[type=text]:focus,.control-group select:focus,.control-group textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px #d4a84326}.control-group input[type=range]{width:calc(100% - 50px);vertical-align:middle}.control-group input[type=checkbox]{margin-right:6px}.control-group.checkbox-row label{display:inline-flex;align-items:center;font-size:.75rem;cursor:pointer}.stats-bar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.stat{background:linear-gradient(180deg,#182234e6,#111a28f2);border-radius:var(--radius-md);padding:10px 14px;flex:1;min-width:90px;text-align:center;border:1px solid rgba(184,149,31,.12);box-shadow:0 2px 8px #0003,inset 0 1px #ffffff08;transition:border-color .2s}.stat:hover{border-color:#b8951f40}.stat-label{display:block;font-family:Cinzel,serif;font-size:.58rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:3px}.stat-value{display:block;font-size:1.1rem;font-weight:700;color:var(--text-bright);font-variant-numeric:tabular-nums}.stat-value.positive{color:var(--win-green)}.stat-value.negative{color:var(--lose-red)}.craps-table-container{flex-shrink:0;background:linear-gradient(135deg,#3a2510,#2a1808 20%,#1c1005,#120a03 80%,#1a0f06);border-radius:20px;padding:12px;box-shadow:inset 0 2px #ffffff14,inset 0 -3px 6px #00000080,0 16px 60px #0000008c,0 4px 12px #00000059;position:relative}.craps-table-container:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:repeating-linear-gradient(92deg,transparent,transparent 8px,rgba(255,200,100,.015) 8px,rgba(255,200,100,.015) 10px),repeating-linear-gradient(88deg,transparent,transparent 12px,rgba(0,0,0,.03) 12px,rgba(0,0,0,.03) 14px);pointer-events:none;z-index:0}.craps-table{background:radial-gradient(ellipse at 30% 30%,rgba(22,140,65,.3) 0%,transparent 50%),radial-gradient(ellipse at 70% 60%,rgba(8,70,32,.25) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(18,115,50,.12) 0%,transparent 65%),linear-gradient(175deg,#13803c,#0f6e32,#0b5a28 60%,#084a20);border:3px solid #b8941f;border-radius:12px;padding:0;position:relative;box-shadow:inset 0 0 100px #0000002e,inset 0 2px #ffffff0a,inset 0 -2px #0000001f,0 2px 8px #0006;min-height:420px;overflow:hidden;z-index:1}.craps-table:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:repeating-linear-gradient(0deg,transparent,transparent 1px,rgba(0,0,0,.012) 1px,rgba(0,0,0,.012) 2px),repeating-linear-gradient(90deg,transparent,transparent 1px,rgba(255,255,255,.006) 1px,rgba(255,255,255,.006) 2px);pointer-events:none;z-index:0}.felt-layout{position:relative;display:flex;flex-direction:column;gap:0;padding:0;min-height:420px;z-index:2}.felt-dont-pass{display:flex;align-items:center;justify-content:center;gap:12px;height:32px;background:#8c231933;border-bottom:1.5px solid rgba(184,149,31,.45);position:relative;z-index:3}.felt-area-label{font-family:Cinzel,serif;font-size:.7rem;font-weight:700;color:#ffffffd9;text-transform:uppercase;letter-spacing:2.5px;text-shadow:0 1px 4px rgba(0,0,0,.6)}.felt-area-label-lg{font-size:1.2rem;color:var(--gold-light);letter-spacing:5px;text-shadow:0 2px 8px rgba(0,0,0,.5),0 0 20px rgba(232,204,106,.1)}.felt-bar-sub{font-family:Cinzel,serif;font-size:.6rem;font-weight:400;color:#ffffff80;letter-spacing:1px}.felt-point-boxes{display:grid;grid-template-columns:repeat(6,1fr);gap:0;z-index:3}.table-cell{border:1.5px solid rgba(184,149,31,.45);padding:8px;text-align:center;position:relative;transition:all .25s;z-index:2}.point-cell{min-height:150px;padding:0;display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;cursor:default;background:#0000000f;border-radius:0;border-top:none}.point-cell.active-point{background:#b8951f38;border-color:#d4ad3a;box-shadow:0 0 20px #b8951f59,inset 0 0 24px #b8951f1a}.cell-number{font-family:Cinzel,serif;font-size:2rem;font-weight:900;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.5),0 0 16px rgba(255,255,255,.06);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:2;opacity:.2}.cell-number-angled{transform:translate(-50%,-50%) rotate(-45deg);font-size:1.3rem;letter-spacing:2px}.felt-dont-come{display:flex;align-items:center;justify-content:center;gap:12px;height:30px;background:#8c231926;border-bottom:1.5px solid rgba(184,149,31,.35);position:relative;z-index:3}.felt-come{flex:1;min-height:74px;display:flex;align-items:center;justify-content:center;gap:16px;position:relative;z-index:3;border-bottom:1.5px solid rgba(184,149,31,.35)}.felt-field{display:flex;align-items:center;justify-content:center;gap:14px;height:42px;background:#ffffff0a;border-bottom:1.5px solid rgba(184,149,31,.35);position:relative;z-index:3}.felt-field-label{font-size:.75rem;letter-spacing:3px}.felt-field-numbers{display:flex;align-items:center;gap:6px;font-family:Cinzel,serif;font-size:.95rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}.field-num{transition:color .2s}.field-pay-double{color:var(--gold);font-weight:900;font-size:1.05rem;text-shadow:0 0 8px rgba(201,160,51,.3)}.field-pay-triple{color:#ef4444;font-weight:900;font-size:1.05rem;text-shadow:0 0 8px rgba(239,68,68,.3)}.field-dot{color:#ffffff4d;font-size:.6rem}.felt-props{display:flex;flex-direction:column;gap:0;z-index:3}.felt-props-row{display:grid;gap:0}.felt-props-oneroll{grid-template-columns:repeat(3,1fr)}.felt-props-hardways{grid-template-columns:repeat(4,1fr)}.felt-prop-cell{text-align:center;padding:6px 4px;border:1px solid rgba(184,149,31,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;position:relative}.felt-prop-cell.oneroll{background:#a0281e33}.felt-prop-cell.hardway{background:#642d8c33}.prop-label{font-family:Cinzel,serif;font-size:.6rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.8px;text-shadow:0 1px 2px rgba(0,0,0,.5)}.prop-pays{font-family:DM Sans,system-ui,sans-serif;font-size:.55rem;font-weight:600;color:var(--gold-light);opacity:.7}.prop-dice{font-size:.75rem;color:#ffffffb3;line-height:1}.felt-pass-line{position:absolute;bottom:0;left:0;right:0;height:52px;display:flex;align-items:center;justify-content:center;gap:16px;z-index:4;background:#ffffff06;border-top:2px solid rgba(184,149,31,.5)}.felt-pass-line:before{content:"";position:absolute;left:0;bottom:0;top:-500px;width:40px;background:#ffffff06;border-right:2px solid rgba(184,149,31,.5);border-top-right-radius:16px}.felt-pass-line:after{content:"";position:absolute;right:0;bottom:0;top:-500px;width:40px;background:#ffffff06;border-left:2px solid rgba(184,149,31,.5);border-top-left-radius:16px}.felt-pass-label{font-family:Cinzel,serif;font-size:1.05rem;font-weight:900;color:var(--gold-light);letter-spacing:7px;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,.5),0 0 16px rgba(232,204,106,.08);z-index:5}.felt-dont-pass .bet-indicator,.felt-dont-come .bet-indicator,.felt-pass-line .bet-indicator{position:absolute;left:50%;right:auto;bottom:auto;top:50%;transform:translate(-50%,-50%);z-index:5}.felt-come .bet-indicator{position:absolute;left:50%;bottom:8px;top:auto;transform:translate(-50%);z-index:5}.puck-slot{position:absolute;top:2px;right:2px;z-index:10}.puck{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.6rem;letter-spacing:1px;box-shadow:0 3px 8px #00000080,inset 0 1px #ffffff1a}.puck.off{background:linear-gradient(180deg,#2a2a2a,#111);color:#aaa;border:3px solid #444}.puck.on{background:linear-gradient(180deg,#fff,#e0e0e0);color:#111;border:3px solid #ccc;box-shadow:0 3px 8px #00000080,0 0 20px #fff6;animation:puckGlow 2s ease-in-out infinite}@keyframes puckGlow{0%,to{box-shadow:0 3px 8px #00000080,0 0 12px #ffffff4d}50%{box-shadow:0 3px 8px #00000080,0 0 24px #fff9}}.table-on-table{position:absolute;bottom:12px;left:52px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;z-index:10}.on-table-label{font-family:Cinzel,serif;font-size:.65rem;text-transform:uppercase;letter-spacing:1.5px;color:#fff9;text-shadow:0 1px 4px rgba(0,0,0,.6)}.on-table-value{font-size:1.2rem;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 2px 6px rgba(0,0,0,.7),0 0 12px rgba(0,0,0,.3)}.puck-off{position:absolute;bottom:12px;left:130px;z-index:10}.bet-indicator{position:absolute;bottom:4px;left:50%;transform:translate(-50%);display:flex;gap:2px;justify-content:center;pointer-events:none;z-index:5}.bet-chip{display:inline-block;width:28px;height:28px;border-radius:50%;background:linear-gradient(145deg,#d43a2a,#a82818);color:#fff;font-size:.55rem;font-weight:700;line-height:28px;text-align:center;border:2.5px dashed rgba(255,255,255,.7);box-shadow:0 2px 6px #0006,inset 0 1px #ffffff26;margin:1px}.bet-chip.odds{background:linear-gradient(145deg,#34495e,#1a2a3a);border-color:var(--gold);border-style:dashed}.bet-chip.come{background:linear-gradient(145deg,#9b59b6,#6c3483)}.bet-chip.dont{background:linear-gradient(145deg,#34495e,#1a2a3a);border-color:#c0392b;border-style:dashed}.bet-chip.chip-off{opacity:.45}.dice-area{position:absolute;bottom:8px;right:52px;display:flex;align-items:center;gap:10px;z-index:10}.die{width:50px;height:50px;background:linear-gradient(145deg,#fff,#f5f5f5 40%,#e8e8e8);border-radius:9px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #00000073,0 1px 3px #0000004d,inset 0 1px #ffffffe6,inset 0 -1px 2px #0000000f;transition:transform .15s}.die.rolling{animation:dieRoll .3s ease-in-out}@keyframes dieRoll{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}.die-face{font-size:1.6rem;color:#222;font-weight:900}.dice-total{background:#000000a6;color:var(--gold-light);font-family:Cinzel,serif;font-size:1.2rem;font-weight:900;padding:4px 12px;border-radius:8px;box-shadow:0 2px 6px #0000004d;border:1px solid rgba(184,149,31,.2)}.die-pips{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:36px;height:36px;gap:2px;padding:2px}.pip{width:8px;height:8px;border-radius:50%;background:transparent}.pip.filled{background:#c0392b}.bets-row{display:flex;gap:8px;margin-top:10px}.active-bets-bar{flex:1;min-width:0;background:var(--bg-card);border-radius:var(--radius-md);padding:6px 10px;border:1px solid var(--border-subtle);display:flex;align-items:flex-start;gap:10px}.active-bets-bar h3{font-family:Cinzel,serif;font-size:.68rem;color:var(--gold);margin:0;text-transform:uppercase;letter-spacing:1px;white-space:nowrap;line-height:26px;flex-shrink:0}.active-bets-list{display:flex;flex-wrap:wrap;gap:6px;min-height:26px;align-items:center;flex:1}.active-bets-list .empty-state{padding:0;margin:0;font-size:.75rem;text-align:left}.active-bet-tag{display:inline-flex;align-items:center;gap:4px;background:var(--bg-dark);padding:4px 10px;border-radius:12px;font-size:.75rem;border:1px solid var(--border-medium);cursor:default;transition:border-color .15s,background .15s}.active-bet-tag:hover{border-color:var(--gold);background:#d4a8430d}.active-bet-tag .bet-name{color:var(--text)}.active-bet-tag .bet-amount{color:var(--gold);font-weight:700}.press-badge{font-size:.65rem;color:#27ae60;font-weight:600;margin-left:2px}.off-badge{font-size:.6rem;color:#e74c3c;font-weight:700;margin-left:3px;text-transform:uppercase}.active-bet-tag.active-bet-new{border-color:var(--blue);background:#2980b926;cursor:pointer;animation:bet-new-pulse .6s ease-out}.active-bet-tag.active-bet-new:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);flex-shrink:0}.active-bet-tag.active-bet-new:hover{border-color:#5dade2;background:#2980b940}.active-bet-tag.active-bet-win{border-color:#27ae60;background:#27ae602e;animation:bet-win-pulse .6s ease-out}.active-bet-tag.active-bet-lose{border-color:#e74c3c;background:#e74c3c2e;animation:bet-lose-pulse .6s ease-out}.active-bet-tag.active-bet-push{border-color:#f39c12;background:#f39c121f}@keyframes bet-new-pulse{0%{box-shadow:0 0 #2980b980}to{box-shadow:0 0 0 0 transparent}}@keyframes bet-win-pulse{0%{box-shadow:0 0 8px #27ae6099}to{box-shadow:0 0 0 transparent}}@keyframes bet-lose-pulse{0%{box-shadow:0 0 8px #e74c3c99}to{box-shadow:0 0 0 transparent}}.bet-result-amount{font-size:.65rem;font-weight:700;margin-left:4px}.bet-result-amount.win{color:#27ae60}.bet-result-amount.lose{color:#e74c3c}.bet-result-amount.push{color:#f39c12}.bet-rule-overlay{background:var(--bg-card);border:1px solid var(--blue);border-radius:var(--radius-md);padding:0;min-width:200px;max-width:320px;box-shadow:0 8px 24px #00000080;font-size:.78rem}.bet-rule-overlay-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border-subtle);background:#2980b91a;border-radius:var(--radius-md) var(--radius-md) 0 0}.bet-rule-overlay-title{font-weight:700;color:var(--blue);font-size:.8rem}.bet-rule-overlay-close{background:none;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:0 2px;line-height:1}.bet-rule-overlay-close:hover{color:var(--text-bright)}.bet-rule-overlay-body{padding:8px 12px 10px}.bet-rule-overlay-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px}.bet-rule-overlay-conditions{margin:0;padding:0 0 0 14px;list-style:none}.bet-rule-overlay-conditions li{font-size:.72rem;color:var(--text);padding:2px 0;position:relative}.bet-rule-overlay-conditions li:before{content:"✓";color:#27ae60;font-weight:700;position:absolute;left:-14px}.step-bets-bar{flex:1;min-width:0;background:var(--bg-card);border-radius:var(--radius-md);padding:10px;overflow:hidden;border:1px solid rgba(41,128,185,.2)}.step-bets-bar h3{font-family:Cinzel,serif;font-size:.68rem;color:var(--blue);margin-bottom:6px;text-transform:uppercase;letter-spacing:1px}.step-bets-list{display:flex;flex-direction:column;gap:4px;min-height:26px;justify-content:center}.step-bets-list .empty-state{padding:0;margin:0;font-size:.75rem;text-align:left}.step-bet-item{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:5px 10px;background:var(--bg-dark);border-radius:var(--radius-sm);font-size:.78rem;cursor:default;border:1px solid var(--border-subtle);transition:border-color .15s}.step-bet-item:hover{border-color:var(--gold)}.step-bet-item .step-bet-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);flex-shrink:0}.step-bet-item .step-bet-type{color:var(--text-bright);font-weight:600}.step-bet-item .step-bet-amount{color:var(--gold);font-weight:700}.step-bet-item .step-bet-rule{color:var(--text-muted);font-size:.7rem;margin-left:auto}.step-bet-drawdown .step-bet-dot{background:#e74c3c}.step-bet-drawdown .step-bet-amount{color:#e74c3c}.roll-outcome-bar{flex:1;min-width:0;background:var(--bg-card);border-radius:var(--radius-md);padding:10px;border:1px solid rgba(212,168,67,.2)}.roll-outcome-bar h3{font-family:Cinzel,serif;font-size:.68rem;color:var(--gold);margin-bottom:6px;text-transform:uppercase;letter-spacing:1px}.roll-outcome-list{display:flex;flex-direction:column;gap:4px;min-height:26px;justify-content:center}.roll-outcome-list .empty-state{padding:0;margin:0;font-size:.75rem;text-align:left}.roll-outcome-item{display:flex;align-items:center;gap:8px;padding:5px 10px;border-radius:4px;border:1px solid rgba(255,255,255,.05);background:#00000026;font-size:.8rem}.roll-outcome-item.outcome-win{border-color:#27ae604d}.roll-outcome-item.outcome-lose{border-color:#e74c3c4d}.roll-outcome-item .outcome-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.outcome-win .outcome-dot{background:#27ae60}.outcome-lose .outcome-dot{background:#e74c3c}.outcome-push .outcome-dot{background:#f39c12}.outcome-move .outcome-dot{background:var(--blue)}.roll-outcome-item .outcome-bet{color:var(--text-bright);font-weight:600}.roll-outcome-item .outcome-amount{font-weight:700}.outcome-win .outcome-amount{color:#27ae60}.outcome-lose .outcome-amount{color:#e74c3c}.outcome-push .outcome-amount{color:#f39c12}.outcome-move .outcome-amount{color:var(--blue)}.roll-outcome-item .outcome-detail{color:var(--text-muted);font-size:.7rem;margin-left:auto}.roll-outcome-summary{display:flex;justify-content:space-between;padding:6px 10px 2px;font-size:.75rem;font-weight:700;border-top:1px solid rgba(255,255,255,.05);margin-top:4px}.step-bet-landed{color:var(--gold);font-weight:700}.step-bet-info-btn{width:18px;height:18px;border-radius:50%;border:1px solid var(--text-muted);background:transparent;color:var(--text-muted);font-size:.65rem;font-weight:700;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:all .15s}.step-bet-info-btn:hover,.step-bet-info-btn.active{border-color:var(--blue);color:var(--blue);background:#2980b926}.step-bet-detail{width:100%;margin-top:4px;padding:6px 8px;background:#00000040;border-radius:var(--radius-sm);border-left:2px solid var(--blue)}.step-bet-detail ul{margin:0;padding:0 0 0 14px;list-style:none}.step-bet-detail li{font-size:.7rem;color:var(--text);padding:1px 0;position:relative}.step-bet-detail li:before{content:"✓";color:#27ae60;font-weight:700;position:absolute;left:-14px}.table-cell.step-highlight{box-shadow:inset 0 0 16px #2980b999,0 0 8px #2980b966;border-color:var(--blue)}.bottom-charts-row{display:flex;gap:12px;margin-top:10px;flex:1;min-height:300px;align-items:stretch}.bottom-chart-bankroll,.bottom-chart-distribution{display:flex;flex-direction:column}.bottom-chart-bankroll canvas,.bottom-chart-distribution canvas{flex:1;min-height:250px}.bottom-chart-bankroll{flex:1;min-width:0}.bottom-chart-distribution,.bottom-chart-performance{width:250px;flex-shrink:0}.chart-header-row{display:flex;align-items:center;margin-bottom:10px}.chart-header-row h2{margin-bottom:0;flex-shrink:0}.chart-header-stats{display:flex;gap:14px;margin-left:auto}.chart-stat{font-size:.8rem;color:var(--text-bright);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:5.5em;text-align:right}.chart-stat-label{font-size:.8rem;color:var(--text-muted);font-weight:400;margin-right:3px}.chart-stat .positive{color:var(--win-green)}.chart-stat .negative{color:var(--lose-red)}.panel-log{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.panel-log .results-feed{flex:1;min-height:0}.results-feed{background:var(--bg-dark);border-radius:var(--radius-sm);padding:10px;overflow-y:scroll;font-size:.8rem;border:1px solid var(--border-subtle)}.result-entry{padding:3px 0;border-bottom:1px solid rgba(255,255,255,.05);display:flex;gap:8px;align-items:center}.result-entry:last-child{border-bottom:none}.result-roll-num{color:var(--text-muted);font-size:.7rem;min-width:30px}.result-roll-link{cursor:pointer;text-decoration:underline;text-decoration-style:dotted}.result-roll-link:hover{color:var(--gold)}.result-win{color:var(--win-green)}.result-lose{color:var(--lose-red)}.result-push{color:var(--push-yellow)}.result-info{color:var(--text-muted)}.roll-history{flex:1;min-height:0;overflow-y:scroll;font-size:.8rem}.history-entry{display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;border-radius:4px;transition:background .15s}.history-entry:hover{background:#ffffff0f}.history-entry.history-selected{background:#2980b940;outline:1px solid var(--blue)}.history-num{color:var(--text-muted);font-size:.7rem;min-width:24px}.history-dice{display:flex;gap:2px}.history-die{width:20px;height:20px;background:#fff;border-radius:3px;color:#222;font-size:.7rem;font-weight:800;display:flex;align-items:center;justify-content:center}.history-total{font-weight:700;min-width:20px;text-align:center}.history-total.seven{color:var(--lose-red)}.history-total.point-hit{color:var(--win-green)}.history-total.natural{color:var(--gold)}.history-phase{font-size:.65rem;color:var(--text-muted);padding:1px 6px;border-radius:8px;background:#ffffff0d}.history-bankroll{font-size:.7rem;color:var(--text-muted);margin-left:auto}.history-fork-btn{flex-shrink:0;width:22px;height:22px;border-radius:4px;border:1px solid transparent;background:transparent;color:var(--text-muted);font-size:.7rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;opacity:0;transition:all .15s}.history-entry:hover .history-fork-btn{opacity:1}.history-fork-btn:hover{border-color:var(--gold);color:var(--gold);background:#f1c40f26}#replay-banner{display:none;background:linear-gradient(135deg,#2980b933,#2980b914);border:1px solid var(--blue);border-radius:var(--radius-md);padding:8px 16px;margin-bottom:12px;font-size:.85rem;font-weight:600;color:var(--text);display:flex;align-items:center;gap:12px}#replay-banner button{padding:4px 12px;font-size:.75rem;border-radius:var(--radius-sm);border:1px solid var(--blue);background:var(--blue);color:#fff;cursor:pointer;font-weight:600;transition:background .15s}#replay-banner button:hover{background:#2471a3}#no-rules-warning{display:none;background:linear-gradient(135deg,#f1c40f33,#f1c40f14);border:1px solid var(--push-yellow);border-radius:var(--radius-md);padding:10px 16px;margin-bottom:12px;font-size:.9rem;font-weight:700;color:var(--push-yellow);text-align:center;animation:flash-warning .3s ease-in-out 2}@keyframes flash-warning{0%,to{opacity:1}50%{opacity:.4}}#bust-banner{display:none;background:linear-gradient(135deg,#e74c3c33,#e74c3c14);border:1px solid var(--lose-red);border-radius:var(--radius-md);padding:10px 16px;margin-bottom:12px;font-size:.9rem;font-weight:700;color:var(--lose-red);text-align:center}.replay-win{box-shadow:0 0 0 3px #27ae60b3,inset 0 0 12px #27ae604d!important;position:relative}.replay-lose{box-shadow:0 0 0 3px #e74c3cb3,inset 0 0 12px #e74c3c4d!important;position:relative}body.replay-mode .dice-container{opacity:.9}.anim-chip{position:absolute;padding:3px 8px;border-radius:12px;font-size:.7rem;font-weight:800;pointer-events:none;z-index:100;transform:translate(-50%,-50%) scale(1);transition:left .6s cubic-bezier(.4,0,.2,1),top .6s cubic-bezier(.4,0,.2,1),opacity .6s ease,transform .6s ease;white-space:nowrap}.anim-chip-move{transition:left .5s cubic-bezier(.4,0,.2,1),top .5s cubic-bezier(.4,0,.2,1)}.anim-chip-move .bet-chip{font-size:.65rem;box-shadow:0 2px 8px #00000080}.anim-chip-win{background:var(--win-green);color:#fff;box-shadow:0 0 10px #27ae6099}.anim-chip-lose{background:var(--lose-red);color:#fff;box-shadow:0 0 10px #e74c3c99}.strategy-rules{margin-bottom:8px;max-height:250px;overflow-y:auto}.rule-item{display:flex;flex-direction:column;padding:6px 8px;background:var(--bg-dark);border-radius:var(--radius-sm);margin-bottom:4px;font-size:.78rem;transition:opacity .15s,border-color .15s;border:1px solid var(--border-subtle);cursor:default}.rule-item.disabled,.rule-item.dragging{opacity:.4}.rule-item.drag-over,.rule-item.editing{border-color:var(--gold)}.rule-item.editing .rule-inline-edit{max-height:800px;overflow:visible}.rule-item-readonly{padding:4px 8px}.add-rule-btn{margin-top:6px;width:100%}.rule-header{display:flex;align-items:center;gap:8px;width:100%}.rule-info{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.rule-tags{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.rule-toggle-btn{padding:4px 8px;font-size:.85rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;flex-shrink:0}.rule-toggle-btn:hover{background:#ffffff1a;color:var(--text)}.rule-inline-edit{padding-top:8px;max-height:0;overflow:hidden;transition:max-height .25s ease}.rule-inline-edit .control-group{margin-bottom:8px}.rule-inline-edit label{font-size:.72rem}.rule-inline-edit input[type=text],.rule-inline-edit input[type=number],.rule-inline-edit select{width:100%;box-sizing:border-box}.rule-name{color:var(--text);font-weight:600;font-size:.88rem;word-break:break-word}.rule-item-readonly .rule-name{font-size:.82rem}.rule-drag-handle{cursor:grab;color:var(--text-muted);font-size:.75rem;-webkit-user-select:none;user-select:none;padding:0 2px}.rule-drag-handle:active{cursor:grabbing}.rule-priority{color:var(--text-muted);font-size:.65rem}.rule-trigger-badge{font-size:.6rem;padding:1px 5px;border-radius:8px;background:#2980b94d;color:var(--blue)}.rule-controls{display:flex;gap:4px;margin-left:auto}.rule-controls button{padding:6px 10px;font-size:.9rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px}.rule-controls button:hover{background:#ffffff1a;color:var(--text)}.rule-builder{background:var(--bg-dark);border-radius:var(--radius-md);padding:12px;margin-top:8px;border:1px solid var(--border-medium)}.condition-row{display:flex;gap:4px;align-items:center;margin-bottom:4px}.condition-row select,.condition-row input[type=number]{padding:4px 6px;border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-dark);color:var(--text);font-size:.78rem;transition:border-color .15s}.condition-row select:focus,.condition-row input[type=number]:focus{outline:none;border-color:var(--gold)}.condition-row .cond-type{flex:1;min-width:0}.condition-row .cond-bet-value,.condition-row .cond-point-value{width:100px}.condition-row .cond-num-value{width:70px}.condition-row .cond-roll-total-group{display:inline-flex;gap:2px;flex-wrap:wrap}.condition-row .roll-total-btn{width:26px;height:24px;padding:0;font-size:.7rem;border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-muted);cursor:pointer;transition:all .15s}.condition-row .roll-total-btn.active{background:var(--gold);color:#000;border-color:var(--gold);font-weight:600}.condition-row .roll-total-btn:hover{border-color:var(--gold)}.inline-checkboxes{display:flex;align-items:center;gap:16px}.inline-bet-amount{display:flex;align-items:center;gap:8px}.inline-bet-amount label{margin:0;white-space:nowrap;font-size:.72rem}.inline-bet-amount input[type=number]{width:80px}.inline-bet-amount select{min-width:140px}.condition-row .cond-bet-count-group{display:inline-flex;align-items:center;gap:4px}.condition-row .cond-bet-count-type{width:100px}.condition-row .cond-bet-count-label{color:var(--text-muted);font-size:.8rem}.condition-row .cond-bet-count-max{width:50px}.btn-cond-remove{padding:2px 6px;font-size:.85rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:2px;line-height:1}.btn-cond-remove:hover{background:#e74c3c4d;color:var(--lose-red)}.strategy-name-wrapper{position:relative}.strategy-name-wrapper input{width:100%;padding:6px 10px;border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-dark);color:var(--text-bright);font-size:.85rem;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.strategy-name-wrapper input:focus{border-color:var(--gold);outline:none}.preset-suggestions{position:absolute;top:100%;left:0;right:0;max-height:240px;overflow-y:auto;background:var(--bg-card);border:1px solid var(--border-medium);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);z-index:100;box-shadow:var(--shadow-md)}.preset-suggestion-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid rgba(58,74,106,.3)}.preset-suggestion-item:last-child{border-bottom:none}.preset-suggestion-item:hover,.preset-suggestion-item.active{background:#d4a8431f}.preset-suggestion-name{color:var(--text-bright);font-size:.85rem;font-weight:600}.preset-suggestion-desc{color:var(--text-muted);font-size:.7rem;margin-top:2px}.preset-suggestion-item mark{background:#d4a8434d;color:var(--gold);border-radius:2px;padding:0 1px}.preset-desc{font-size:.78rem;color:var(--text-muted);padding:6px;font-style:italic;min-height:1em}.strategy-stats{font-size:.8rem}.strat-stat-row{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px solid rgba(255,255,255,.05)}.strat-stat-label{color:var(--text-muted)}.strat-stat-value{color:var(--text);font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:var(--bg-panel);border:1px solid rgba(212,168,67,.4);border-radius:var(--radius-lg);max-width:800px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg),0 0 0 1px #0003}.modal-sm{max-width:500px}.modal-summary{max-width:640px}.modal-history{max-width:700px}.modal-strategy-expanded{max-width:540px;max-height:90vh}.modal-strategy-expanded .strategy-rules{max-height:none}.modal-strategy-expanded .rule-builder{max-height:60vh;overflow-y:auto}.modal-strategy-expanded .rule-controls{margin-left:0}.h2-actions{float:right;display:inline-flex;gap:4px}.btn-icon{background:none;border:1px solid var(--border-medium);color:var(--text-muted);font-size:.75rem;padding:2px 6px;border-radius:var(--radius-sm);cursor:pointer;vertical-align:middle;line-height:1;transition:all .15s}.btn-icon:hover{color:var(--gold);border-color:var(--gold);background:var(--gold-dim)}.modal-batch{max-width:680px}.batch-hero{text-align:center;padding:8px 0 16px;border-bottom:1px solid var(--border-subtle);margin-bottom:16px}.batch-hero-label{font-family:Cinzel,serif;font-size:.72rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px}.batch-hero-sims{font-size:.8rem;color:var(--text-muted);margin-top:2px}.batch-hero-result{font-family:Cinzel,serif;font-size:1.8rem;font-weight:900;margin-top:6px}.batch-hero-result.win{color:#27ae60}.batch-hero-result.lose{color:#e74c3c}.batch-hero-detail{font-size:.75rem;color:var(--text-muted);margin-top:4px}.batch-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.batch-card{background:#0003;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:10px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px}.batch-card-ring{flex-direction:row;gap:10px;justify-content:center}.batch-card-ring .batch-card-text{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.batch-card-value{font-size:1rem;font-weight:700;color:var(--text-bright);font-variant-numeric:tabular-nums}.batch-card-value.win{color:#27ae60}.batch-card-value.lose{color:#e74c3c}.batch-card-label{font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.batch-charts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.batch-chart-container{background:#0003;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:8px}.batch-chart{display:block;border-radius:var(--radius-sm)}.batch-charts:has(>:only-child){grid-template-columns:1fr}.batch-runs-header{margin-bottom:6px}.batch-runs-header h3{font-family:Cinzel,serif;font-size:.72rem;color:var(--gold);text-transform:uppercase;letter-spacing:1px;padding-bottom:4px;border-bottom:1px solid rgba(184,149,31,.2)}.batch-runs-list{max-height:260px;overflow-y:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#00000026}.batch-run-row{display:grid;grid-template-columns:32px 1fr auto auto;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.03)}.batch-run-row:last-child{border-bottom:none}.batch-run-row:hover{background:#ffffff0d}.batch-run-num{font-size:.7rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.batch-run-bar-container{height:6px;background:#ffffff0d;border-radius:3px;overflow:hidden}.batch-run-bar{height:100%;border-radius:3px;transition:width .3s ease}.batch-run-bar.win{background:linear-gradient(90deg,#27ae6066,#27ae60cc)}.batch-run-bar.lose{background:linear-gradient(90deg,#e74c3c66,#e74c3ccc)}.batch-run-result{font-weight:700;font-size:.8rem;font-variant-numeric:tabular-nums;min-width:72px;text-align:right}.batch-run-result.win{color:#27ae60}.batch-run-result.lose{color:#e74c3c}.batch-run-detail{font-size:.65rem;color:var(--text-muted);min-width:80px;text-align:right}.history-entry-num{font-size:.7rem;color:var(--text-muted);min-width:28px}.history-group{margin-bottom:16px}.history-group-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#0000004d;border-radius:var(--radius-md) var(--radius-md) 0 0;border-bottom:1px solid var(--border-subtle)}.history-group-name{color:var(--gold);font-weight:700;font-size:.85rem}.history-group-hash{color:var(--text-muted);font-size:.7rem;font-family:monospace}.history-group-count{color:var(--text-muted);font-size:.7rem;margin-left:auto}.history-group-avg{font-weight:700;font-size:.8rem}.history-group-avg.win{color:#27ae60}.history-group-avg.lose{color:#e74c3c}.history-group-avg.neutral{color:var(--text-muted)}.history-group-entries{background:#00000026;border-radius:0 0 var(--radius-md) var(--radius-md)}.history-entry{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;cursor:pointer;transition:background .15s;border-bottom:1px solid rgba(255,255,255,.03)}.history-entry:last-child{border-bottom:none}.history-entry:hover{background:#ffffff0d}.history-entry-main{display:flex;flex-direction:column;gap:2px}.history-entry-result{font-weight:700;font-size:.9rem}.history-entry-result.win{color:#27ae60}.history-entry-result.lose{color:#e74c3c}.history-entry-result.neutral{color:var(--text-muted)}.history-entry-detail{font-size:.7rem;color:var(--text-muted)}.history-entry-date{font-size:.65rem;color:var(--text-muted);white-space:nowrap;margin-left:12px}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.summary-section{background:#0003;border-radius:var(--radius-md);padding:12px;border:1px solid var(--border-subtle)}.summary-section.full-width{grid-column:1 / -1}.summary-section h3{font-family:Cinzel,serif;font-size:.72rem;color:var(--gold);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;padding-bottom:4px;border-bottom:1px solid rgba(184,149,31,.2)}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:.8rem}.summary-label{color:var(--text-muted)}.summary-value{color:var(--text-bright);font-weight:600;font-variant-numeric:tabular-nums}.summary-value.win{color:#27ae60}.summary-value.lose{color:#e74c3c}.summary-value.neutral{color:var(--text-muted)}.summary-headline{text-align:center;padding:12px 0 16px}.summary-headline .result-label{font-family:Cinzel,serif;font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px}.summary-headline .result-amount{font-family:Cinzel,serif;font-size:2rem;font-weight:900;margin-top:4px}.summary-headline .result-detail{font-size:.8rem;color:var(--text-muted);margin-top:2px}.summary-rule-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:.75rem}.summary-rule-name{color:var(--text);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-rule-stats{color:var(--text-muted);white-space:nowrap;margin-left:8px}.summary-bust-label{display:inline-block;background:#e74c3c33;color:#e74c3c;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:700;margin-left:8px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border-subtle)}.modal-header h2{font-family:Cinzel,serif;color:var(--gold);font-size:1rem;letter-spacing:1px}.modal-close{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:0 4px}.modal-close:hover{color:#fff}.modal-body{padding:20px}.modal-body textarea{width:100%;background:var(--bg-dark);color:var(--text);border:1px solid var(--border-medium);border-radius:var(--radius-sm);padding:10px;font-family:monospace;font-size:.8rem;margin-bottom:10px;resize:vertical;transition:border-color .15s}.modal-body textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px #d4a84326}.payout-table{width:100%;border-collapse:collapse;font-size:.82rem}.payout-table th{text-align:left;padding:8px;border-bottom:2px solid var(--gold);color:var(--gold);font-size:.75rem;text-transform:uppercase}.payout-table td{padding:7px 8px;border-bottom:1px solid rgba(255,255,255,.05)}.payout-table tr:hover td{background:#ffffff08}.payout-bet-name{color:var(--text-bright);font-weight:600}.payout-pays{color:var(--gold);font-weight:600}.payout-edge{color:var(--lose-red)}.payout-edge.low{color:var(--win-green)}.payout-desc{color:var(--text-muted);font-size:.75rem}.help-content h3{color:var(--gold);margin:16px 0 8px;font-size:1rem}.help-content h3:first-child{margin-top:0}.help-content h4{color:var(--text-bright);margin:10px 0 4px;font-size:.9rem}.help-content p,.help-content li{color:var(--text);font-size:.85rem;line-height:1.5}.help-content ul,.help-content ol{padding-left:20px;margin:6px 0}.empty-state{color:var(--text-muted);font-size:.8rem;text-align:center;padding:16px 12px;font-style:italic;opacity:.7}canvas{width:100%!important;background:var(--bg-dark);border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:var(--bg-dark);color:var(--text-bright);padding:4px 10px;border-radius:var(--radius-sm);font-size:.7rem;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:100;border:1px solid var(--border-medium);box-shadow:var(--shadow-sm)}.tooltip:hover:after{opacity:1}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#94a3b833;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b859}@media(max-width:1200px){.main-layout{grid-template-columns:260px 1fr 260px}.bottom-chart-distribution,.bottom-chart-performance{width:220px}}@media(max-width:900px){.main-layout{grid-template-columns:1fr;height:auto}.left-panel,.right-panel{border:none;border-bottom:1px solid var(--border-subtle)}.right-panel{border-left:none}.craps-table{min-height:280px}.felt-layout{padding:0;min-height:320px}.felt-pass-line{height:44px}.felt-pass-line:before,.felt-pass-line:after{width:28px}.felt-pass-label{font-size:.85rem;letter-spacing:4px}.cell-number{font-size:1.3rem}.point-cell{min-height:120px}.felt-field-numbers{font-size:.8rem;gap:4px}.bets-row,.bottom-charts-row{flex-direction:column}.bottom-chart-distribution,.bottom-chart-performance{width:100%}.stats-bar{gap:4px}.stat{min-width:70px;padding:6px 8px}}.table-cell.highlight-roll{animation:cellFlash .6s ease-out}.point-cell.highlight-roll{animation:cellFlashPoint .6s ease-out}@keyframes cellFlash{0%{background:#ffffff4d;box-shadow:inset 0 0 25px #ffffff80,0 0 15px #d4a84399}to{background:transparent;box-shadow:none}}@keyframes cellFlashPoint{0%{background:#ffffff59;box-shadow:inset 0 0 25px #ffffff80,0 0 15px #d4a843cc;border-color:#fff}to{background:#ffffff0d;box-shadow:none}}.table-cell.has-bet{border-color:var(--gold)}.seo-footer{background:var(--bg-dark);border-top:1px solid var(--border-subtle);padding:24px 32px}.seo-footer-content{max-width:800px;margin:0 auto}.seo-footer-content h2{font-family:Cinzel,serif;font-size:.85rem;color:var(--gold);text-transform:uppercase;letter-spacing:2px;margin-bottom:12px}.seo-footer-content p{font-size:.75rem;color:var(--text-muted);line-height:1.6;margin-bottom:8px}.explain-page{min-height:100vh;background:var(--bg-dark);color:var(--text)}.explain-header{display:flex;align-items:center;gap:8px;padding:10px 24px;background:linear-gradient(180deg,#151f30 0%,var(--bg-panel) 100%);border-bottom:1px solid var(--gold-dim);box-shadow:var(--shadow-sm);flex-wrap:wrap}.explain-home-link{font-family:Cinzel,serif;font-size:1rem;font-weight:700;color:var(--gold);text-decoration:none;letter-spacing:2px;text-transform:uppercase;white-space:nowrap}.explain-home-link:hover{color:var(--gold-light)}.explain-header-sep{color:var(--text-muted);font-size:.9rem}.explain-header-name{font-family:Cinzel,serif;font-size:.85rem;color:var(--text-bright);letter-spacing:1px;text-transform:uppercase;white-space:nowrap}.explain-header-nav{margin-left:auto}.explain-container{max-width:800px;margin:0 auto;padding:32px 24px 64px}.explain-overview{margin-bottom:40px}.explain-overview h1{font-family:Cinzel,serif;font-size:1.8rem;font-weight:700;color:var(--gold);letter-spacing:3px;text-transform:uppercase;margin-bottom:12px}.explain-overview-text{font-size:1rem;color:var(--text);line-height:1.7;margin-bottom:16px}.explain-stats{display:flex;gap:16px}.explain-stat{font-size:.8rem;color:var(--gold);background:var(--gold-dim);padding:4px 12px;border-radius:var(--radius-sm);font-weight:600}.explain-stat-muted{color:var(--text-muted);background:#94a3b814}.explain-phase{margin-bottom:32px}.explain-phase-title{font-family:Cinzel,serif;font-size:.85rem;color:var(--gold);text-transform:uppercase;letter-spacing:2px;font-weight:700;padding-bottom:8px;border-bottom:1px solid var(--border-subtle);margin-bottom:16px}.explain-rule{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:16px;margin-bottom:12px;transition:border-color .15s}.explain-rule:hover{border-color:var(--border-medium)}.explain-rule-disabled{opacity:.5}.explain-rule-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.explain-rule-name{font-weight:700;font-size:.95rem;color:var(--text-bright)}.explain-rule-badge-disabled{font-size:.65rem;padding:2px 8px;border-radius:var(--radius-sm);background:#94a3b81a;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.explain-rule-body{display:flex;flex-direction:column;gap:6px}.explain-rule-row{display:flex;gap:12px;align-items:baseline;font-size:.85rem;line-height:1.5}.explain-label{flex-shrink:0;width:42px;font-weight:700;color:var(--text-muted);text-transform:uppercase;font-size:.7rem;letter-spacing:.5px;padding-top:1px}.explain-value{color:var(--text)}.explain-action{color:var(--gold-light);font-weight:600}.explain-and{color:var(--text-muted);font-size:.75rem;font-weight:700;margin:0 4px}.explain-rule-modifiers{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;padding-left:54px}.explain-modifier{font-size:.7rem;padding:2px 10px;border-radius:var(--radius-sm);background:#3498db1f;color:#3498db;font-weight:600}.explain-cta{text-align:center;margin-top:48px;padding-top:32px;border-top:1px solid var(--border-subtle)}.explain-cta .btn-lg{padding:12px 32px;font-size:1rem}.explain-error{text-align:center;padding:64px 24px}.explain-error h2{font-family:Cinzel,serif;font-size:1.2rem;color:var(--gold);text-transform:uppercase;letter-spacing:2px;margin-bottom:12px}.explain-error p{color:var(--text-muted);margin-bottom:24px;font-size:.9rem}@media(max-width:600px){.explain-container{padding:20px 16px 48px}.explain-overview h1{font-size:1.3rem}.explain-header{padding:10px 16px}.explain-rule-row{flex-direction:column;gap:2px}.explain-label{width:auto}.explain-rule-modifiers{padding-left:0}}.strategies-section{margin-top:32px}.strategies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.strategy-card{display:block;background:var(--panel-bg);border:1px solid var(--border);border-radius:var(--radius-md, 8px);padding:16px;text-decoration:none;color:inherit;transition:border-color .2s ease,transform .15s ease,box-shadow .2s ease;cursor:pointer}.strategy-card:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.strategy-card:visited{color:inherit}.strategy-card-name{font-family:Cinzel,serif;font-size:.95rem;font-weight:700;color:var(--text-bright);margin-bottom:6px}.strategy-card-desc{font-size:.8rem;color:var(--text-muted);line-height:1.4;margin-bottom:8px}.strategy-card-meta{font-size:.72rem;color:var(--text-muted);opacity:.7}.explain-overview-desc{color:var(--text-muted);font-size:.9rem;font-style:italic;margin-bottom:8px}.payout-table-wrapper{margin-top:24px;overflow-x:auto}.help-page-content{margin-top:8px}.help-section{margin-bottom:32px}.help-section h2{font-family:Cinzel,serif;font-size:1.1rem;color:var(--gold);margin-bottom:12px}.help-section h3{color:var(--text-bright);margin:14px 0 6px;font-size:.95rem}.help-section p,.help-section li{color:var(--text);font-size:.88rem;line-height:1.6}.help-section ul,.help-section ol{padding-left:22px;margin:8px 0}.help-section li{margin-bottom:4px}@media(max-width:600px){.strategies-grid{grid-template-columns:1fr}.header-nav-link{padding:6px 8px;font-size:.75rem}}.calculator-page{min-height:100vh;background:var(--bg-primary);color:var(--text-primary)}.calculator-content{max-width:900px;margin:0 auto;padding:20px 16px}.calculator-content h2{margin:0 0 4px;font-size:1.4rem;color:var(--gold)}.calc-instructions{color:var(--text-muted);font-size:.85rem;margin:0 0 16px}.calc-controls{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;align-items:flex-start}.calc-chip-selector{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.calc-chips{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.calc-label{font-size:.8rem;color:var(--text-muted);margin-right:4px;white-space:nowrap}.calc-chip-btn{width:40px;height:40px;border-radius:50%;border:3px solid var(--chip-color);background:var(--chip-color);color:var(--chip-text);font-size:.65rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s;box-shadow:0 1px 3px #0000004d}.calc-chip-btn:hover{transform:scale(1.1)}.calc-chip-btn.active{transform:scale(1.15);box-shadow:0 0 0 3px var(--gold),0 2px 8px #0006}.calc-point-selector{display:flex;gap:4px;align-items:center;flex-wrap:wrap}.calc-point-btn{width:36px;height:28px;border:1px solid var(--border-medium);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:all .15s}.calc-point-btn.active{background:var(--gold);color:#000;border-color:var(--gold);font-weight:700}.calc-point-btn:hover{border-color:var(--gold)}.calc-bottom-controls{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;align-items:flex-start}.calc-dice-selector{display:flex;flex-direction:column;gap:6px}.calc-dice-row{display:flex;gap:4px;align-items:center}.calc-die-btn{padding:2px;border:2px solid transparent;border-radius:var(--radius-sm);background:none;cursor:pointer;transition:border-color .15s}.calc-die-btn:hover{border-color:var(--gold)}.calc-mini-die{width:36px;height:36px;background:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;border:1px solid #ccc;transition:box-shadow .15s}.calc-mini-die.selected{box-shadow:0 0 0 3px var(--gold);border-color:var(--gold)}.calc-mini-die-pips{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;width:24px;height:24px}.calc-mini-die-pips .pip{width:6px;height:6px;border-radius:50%}.calc-mini-die-pips .pip.filled{background:#222}.calc-dice-total{font-size:.9rem;color:var(--text-primary);font-weight:600;padding-left:4px}.calc-actions{display:flex;gap:10px;align-items:center;margin-top:12px}.calc-btn-calculate{padding:10px 24px;font-size:1rem;font-weight:700}.calc-btn-clear{padding:6px 16px;font-size:.85rem;background:var(--bg-secondary);color:var(--text-muted);border:1px solid var(--border-medium);border-radius:var(--radius-sm)}.calc-btn-clear:hover{border-color:var(--gold);color:var(--text-primary)}.calc-btn-calculate:disabled,.calc-btn-clear:disabled{opacity:.4;cursor:not-allowed}.calc-clickable{cursor:pointer;transition:outline .15s}.calc-clickable:hover{outline:2px solid var(--gold);outline-offset:-2px}.felt-pass-line:before,.felt-pass-line:after{display:none}.point-dc-strip,.point-come-strip{display:flex;flex-shrink:0}.point-dc-strip{border-bottom:1px solid rgba(184,149,31,.3)}.point-come-strip{border-top:1px solid rgba(184,149,31,.3)}.point-sub-zone{position:relative;display:flex;align-items:center;justify-content:center;z-index:3}.point-sub-zone .bet-indicator{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5}.sub-zone-label{font-family:Cinzel,serif;font-size:.5rem;font-weight:700;color:#ffffffa6;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;pointer-events:none;z-index:1}.point-dc,.point-come{flex:1;min-height:26px;background:#8c23191a}.point-dc,.point-come{border-right:1px solid rgba(184,149,31,.25)}.point-dc-odds,.point-come-odds{flex:1;min-height:26px;background:#6464641a}.point-place{flex:1;min-height:40px;position:relative}.felt-dont-pass-row{display:flex;z-index:3}.felt-dont-pass-row .felt-dont-pass{flex:2;height:52px}.felt-dont-pass-row .felt-dp-odds{flex:1;display:flex;align-items:center;justify-content:center;background:#64646426;border-left:1.5px solid rgba(184,149,31,.45);border-bottom:1.5px solid rgba(184,149,31,.45);position:relative}.felt-pass-line-row{display:flex;z-index:4}.felt-pass-line-row .felt-pass-line{position:relative;flex:2;bottom:auto;left:auto;right:auto}.felt-pass-line-row .felt-pass-odds{flex:1;display:flex;align-items:center;justify-content:center;background:#64646426;border-left:1.5px solid rgba(184,149,31,.45);border-top:2px solid rgba(184,149,31,.5);position:relative;z-index:5}.felt-odds-label{font-family:Cinzel,serif;font-size:.55rem;font-weight:700;color:#ffffffb3;text-transform:uppercase;letter-spacing:1px;text-shadow:0 1px 4px rgba(0,0,0,.6);text-align:center;line-height:1.2}.felt-pass-odds .bet-indicator,.felt-dp-odds .bet-indicator{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:5}.calc-win{box-shadow:inset 0 0 0 3px #2ecc71b3;background-color:#2ecc711f!important}.calc-lose{box-shadow:inset 0 0 0 3px #e74c3cb3;background-color:#e74c3c1f!important}.calc-push{box-shadow:inset 0 0 0 3px #95a5a6b3;background-color:#95a5a61f!important}.calc-results{margin-top:20px}.calc-results h3{color:var(--gold);margin:0 0 8px;font-size:1.1rem}.calc-results-table{width:100%;border-collapse:collapse;font-size:.85rem}.calc-results-table th{text-align:left;padding:6px 10px;border-bottom:2px solid var(--border-medium);color:var(--text-muted);font-size:.75rem;text-transform:uppercase}.calc-results-table td{padding:6px 10px;border-bottom:1px solid var(--border-light)}.calc-results-table tfoot td{border-top:2px solid var(--border-medium);border-bottom:none;font-weight:700}.calc-result-win td{background:#2ecc7114}.calc-result-lose td{background:#e74c3c14}.calc-result-push td{background:#95a5a614}.result-badge{padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:600;text-transform:uppercase}.result-win{background:#2ecc7133;color:#2ecc71}.result-lose{background:#e74c3c33;color:#e74c3c}.result-push{background:#95a5a633;color:#95a5a6}.result-no_action{background:#64646426;color:var(--text-muted)}.payout-positive{color:#2ecc71;font-weight:600}.payout-negative{color:#e74c3c;font-weight:600}.calc-result-detail{color:var(--text-muted);font-size:.8rem}.felt-props-craps-individual{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}@media(max-width:600px){.calc-controls{flex-direction:column;gap:10px}.calc-bottom-controls{flex-direction:column}.calc-chip-btn{width:34px;height:34px;font-size:.55rem}.calc-results-table{font-size:.75rem}.calc-results-table th,.calc-results-table td{padding:4px 6px}.point-cell{min-height:120px}.sub-zone-label{font-size:.4rem}.point-dc,.point-come,.point-dc-odds,.point-come-odds{min-height:22px}.felt-odds-label{font-size:.45rem}}
