/* Core styles — abbreviated for brevity from previous version */
:root{--bg:#100c08;--panel:#1a1410;--panel-2:#221a14;--ink:#f3e7d3;--ink-muted:#d1c4aa;--accent:#c69a3b;--accent-2:#8d5a13;--success:#2aa96b;--danger:#b53a3a;--shadow:0 10px 30px rgba(0,0,0,.5)}
[data-theme=light]{--bg:#f8f1e5;--panel:#fff;--panel-2:#f3e7d3;--ink:#1f1308;--ink-muted:#5b4632;--accent:#7a4b00;--accent-2:#b47b2c;--shadow:0 10px 20px rgba(0,0,0,.15)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(1200px 600px at 20% 0%, rgba(198,154,59,.08), transparent 50%),var(--bg);color:var(--ink);font-family:"Crimson Pro",ui-serif,Georgia,serif;line-height:1.5}
.site-header,.site-footer{max-width:1100px;margin:0 auto;padding:18px 16px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px}.logo{width:44px;height:44px}.wordmark{font-family:"UnifrakturMaguntia",cursive;font-size:32px;letter-spacing:1px;margin:0}
.top-actions .btn{margin-left:8px}.container{max-width:1100px;margin:0 auto;padding:8px 16px 48px}
.card{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid rgba(0,0,0,.2);border-radius:16px;padding:20px;margin:16px 0;box-shadow:var(--shadow)}
.card-sub{background:linear-gradient(180deg,var(--panel-2),var(--panel));border-radius:12px;padding:14px;margin-top:14px}
h1,h2,h3{margin:0 0 8px}h2{font-size:28px}.muted{color:var(--ink-muted)}.small{font-size:.9rem}
.btn{appearance:none;border:none;cursor:pointer;padding:10px 14px;border-radius:12px;background:linear-gradient(180deg,var(--accent),var(--accent-2));color:#fff;font-weight:700;box-shadow:var(--shadow)}
.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.98)}.btn.ghost{background:transparent;color:var(--ink);border:1px solid rgba(0,0,0,.25)}
.dice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:stretch}
.die-btn{font-family:"UnifrakturMaguntia",cursive;font-size:22px;padding:18px 10px;border-radius:14px;background:linear-gradient(180deg,#3a2a1e,#2a1e15);color:#f7e9cf;border:1px solid rgba(0,0,0,.4);text-shadow:0 2px 0 rgba(0,0,0,.5);box-shadow:var(--shadow);cursor:pointer}
.custom-die{grid-column:span 2;background:rgba(0,0,0,.1);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:6px;justify-content:center}
.custom-wrap{display:flex;gap:8px;align-items:center}.custom-wrap input{width:80px;padding:10px;border-radius:10px;border:1px solid rgba(0,0,0,.25);background:rgba(255,255,255,.05);color:var(--ink)}
.tray-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.qty-mods{display:flex;gap:14px;align-items:center}
.qty-mods label{display:flex;gap:6px;align-items:center;font-weight:600}.qty-mods input[type=number]{width:90px;padding:8px;border-radius:10px;border:1px solid rgba(0,0,0,.25);background:rgba(0,0,0,.05);color:var(--ink)}
.selected-dice{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.badge{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid rgba(0,0,0,.3);background:rgba(0,0,0,.1)}
.badge strong{font-family:"UnifrakturMaguntia",cursive}.badge .count{background:rgba(0,0,0,.25);padding:4px 8px;border-radius:999px;font-weight:700}.badge .rm{background:0 0;border:none;cursor:pointer;font-size:18px}
.results-header{display:flex;align-items:center;justify-content:space-between}.history{list-style:decimal inside;padding-left:0;margin:10px 0 0;max-height:60vh;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--accent-2) transparent}
.history::-webkit-scrollbar{width:8px}.history::-webkit-scrollbar-track{background:transparent}.history::-webkit-scrollbar-thumb{background:var(--accent-2);border-radius:4px}.history::-webkit-scrollbar-thumb:hover{background:var(--accent)}
.history li{margin:12px 0;padding:12px;border-radius:12px;background:rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.2)}.roll-line{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.roll-line .total{font-weight:800}.roll-breakdown{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;margin-top:4px;opacity:.9}
.top-actions.prominent{gap:8px;padding:6px;border-radius:999px;background:rgba(0,0,0,.15);border:1px solid rgba(0,0,0,.25)}.top-actions.prominent .btn{border-radius:999px}.top-actions.prominent .btn.ghost{border-color:transparent}
.preset-actions{display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap}#presetName{flex:1 1 260px;padding:10px;border-radius:10px;border:1px solid rgba(0,0,0,.25);background:rgba(0,0,0,.05);color:var(--ink)}
.preset-list{display:flex;flex-wrap:wrap;gap:8px}.preset-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(0,0,0,.12);border:1px solid rgba(0,0,0,.25);cursor:pointer}
.preset-pill .del{border:none;background:transparent;cursor:pointer;font-size:16px;opacity:.8}
.gm-only{display:none}.gm-active .gm-only{display:block}.macro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.macro-card{padding:12px;border-radius:12px;border:1px solid rgba(0,0,0,.25);background:rgba(0,0,0,.08);cursor:pointer}.macro-card h3{margin:0 0 6px;font-size:18px}.macro-card p{margin:0;font-size:14px;opacity:.9}
.roll-breakdown .crit{font-weight:800;color:var(--success)}.roll-breakdown .fumble{font-weight:800;color:var(--danger)}
@media (min-width:1200px){.container{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;align-items:start}.roller,#presets,#gmMacros,#gmHelp,#howto,#stats,#initiative,#encounter,#gmNotes{grid-column:1}#results{grid-column:2;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:hidden}#results .card{max-height:calc(100vh - 64px);overflow:hidden;display:flex;flex-direction:column}#results .history{flex:1;min-height:0}}
/* Transition-based reveal */
.roll-breakdown .die{display:inline-block;transform:scale(.85);opacity:0}
.roll-breakdown .die.appear{transform:scale(1);opacity:1;transition:transform .25s ease-out,opacity .25s ease-out;transition-delay:calc(var(--i,0)*70ms)}
.anim-off .roll-breakdown .die{transition:none}
@media (max-width:760px){.dice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-die{grid-column:span 2}.qty-mods{gap:8px;flex-wrap:wrap}.qty-mods input[type=number]{width:80px}}

/* v8: Make individual die results more prominent */
.roll-breakdown .die{
  font-size: 1.18em;
  font-weight: 800;
  padding: 2px 6px;
  margin: 0 2px;
  border-radius: 8px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(0,0,0,0.25);
}
/* Crit/Fumble keep prominence on top of new framing */
.roll-breakdown .crit{
  color: var(--success);
  text-shadow: 0 0 8px rgba(42,169,107,.45);
}
.roll-breakdown .fumble{
  color: var(--danger);
  box-shadow: 0 0 0 2px rgba(181,58,58,.25) inset;
}


/* Compact Mode */
.compact .card{padding:14px; margin:10px 0}
.compact .die-btn{padding:12px 8px; font-size:20px}
.compact h2{font-size:24px}
.compact .results-actions .btn{padding:8px 10px}
.compact .badge{padding:6px 8px}
.compact .qty-mods input[type="number"]{width:70px}

/* Initiative / Encounter */
.init-ctrls{display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:10px}
.init-ctrls input{padding:8px; border-radius:10px; border:1px solid rgba(0,0,0,.25); background:rgba(0,0,0,.05); color:var(--ink)}
.init-list{padding-left:18px}
.init-item{display:flex; align-items:center; gap:8px; margin:6px 0}
.init-item .name{font-weight:700}
.init-item .val{background:rgba(0,0,0,.18); padding:2px 8px; border-radius:999px;}

#encounterGrid .macro-card{display:flex; align-items:center; justify-content:space-between}
#encounterGrid .macro-card .note{opacity:.9; font-size:14px}


/* Hide unused UI elements */
#gmNotes { display: none !important; }
