.game-tools{padding:10px 28px;border-bottom:1px solid var(--line);background:var(--surface);flex:none}
.game-tools .field-note{margin-top:5px}
.scene-controls{display:flex;align-items:end;gap:10px;margin-top:8px}.scene-controls label{flex:1;max-width:400px}.scene-controls select{padding:5px 9px}
.scene-list{margin:18px 0}.scene-list .card{padding:16px}.scene-list .card .row:last-child{margin-top:10px}
.ability-fields{border:0;padding:0;margin:0;min-width:0}.ability-fields legend{font-weight:600;margin-bottom:5px}
.ability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:15px 0}
.ability-stepper{display:flex;align-items:center;gap:6px}.ability-stepper input{width:55px;text-align:center;appearance:textfield;padding:8px 3px}.ability-stepper input::-webkit-inner-spin-button{appearance:none}
.ability-grid output{font-size:11px;color:var(--muted)}.ability-summary>div{border:1px solid var(--line);border-radius:7px;padding:9px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ability-summary small{flex:1}.ability-summary strong{font-size:20px}.ability-summary span{color:var(--green)}
.roll-card{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:9px}.roll-card p{margin:8px 0;overflow-wrap:anywhere}.roll-equation{display:flex;gap:12px;align-items:center;font-size:20px;margin:10px 0}.die-icon{display:inline-grid;place-items:center;width:44px;height:44px;background:var(--soft);border:2px solid var(--green);border-radius:10px;color:var(--green);font-weight:700}
.critical-success .die-icon{animation:critical-shine 1.2s ease-out}.critical-failure .die-icon{animation:critical-shake .5s ease-in-out}
.composer-actions{flex-wrap:wrap}.note-body+.row{flex-wrap:wrap}
.critical-success{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.critical-success .critical-label{color:var(--highlight-ink)}.critical-failure{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.critical-failure .critical-label{color:var(--danger)}
.dice-reveal{text-align:center;padding:24px;border-radius:10px}.animated-die{display:grid;place-items:center;width:86px;height:86px;margin:12px auto 24px;border:3px solid var(--green);background:var(--soft);color:var(--green);border-radius:16px;font-size:38px;font-weight:700}.rolling .animated-die{animation:dice-spin .3s linear infinite}.dice-reveal.critical-success .animated-die{border-color:var(--gold);animation:critical-shine 1.2s ease-out}.dice-reveal.critical-failure .animated-die{border-color:var(--danger);animation:critical-shake .5s ease-in-out}.dice-reveal p{margin-top:10px}
@keyframes dice-spin{to{transform:rotate(360deg)}}@keyframes critical-shine{50%{transform:scale(1.15);box-shadow:0 0 32px var(--gold)}}@keyframes critical-shake{25%,75%{transform:translateX(-8px)}50%{transform:translateX(8px)}}
@media(max-width:640px){.game-tools{padding:8px 14px}.game-tools .field-note{font-size:10px}.game-tools>.row strong{font-size:12px}.scene-controls{gap:7px}.scene-controls label{font-size:10px}.scene-controls .btn{font-size:10px;padding:6px}.scene-controls select{font-size:12px}.ability-grid{gap:10px}.ability-stepper{gap:3px}}
@media(prefers-reduced-motion:reduce){.animated-die{animation:none!important}}
