:root{font-family:system-ui,sans-serif;color:#e8f3f0;background:#07100f;line-height:1.35}*{box-sizing:border-box}body{margin:0}main{max-width:1100px;margin:auto;padding:18px}.eyebrow{color:#7de3c7;letter-spacing:.12em;font-size:.76rem;margin:0}h1{margin:.15rem 0;font-size:2rem}h2{font-size:1.05rem;margin:0 0 .8rem;color:#7de3c7}.file,button{background:#116b5c;color:#fff;border:0;border-radius:8px;padding:.75rem 1rem;font-weight:700;display:inline-block;cursor:pointer}.file input{display:none}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}article{background:#10201d;border:1px solid #28584e;border-radius:12px;padding:15px}label{display:block;font-size:.86rem;margin:.55rem 0}select,input{width:100%;margin-top:.22rem;background:#07100f;color:#e8f3f0;border:1px solid #3a776c;border-radius:7px;padding:.65rem;font-size:1rem}.details{font-size:.9rem;color:#bdd2cc;margin:.75rem 0;white-space:pre-line}.magazine-row{display:flex;align-items:end;gap:6px;margin:.55rem 0}.magazine-row button{padding:.65rem .7rem;background:#254d46;white-space:nowrap}.magazine-number{flex:1;margin:0}.roll{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin-top:12px}.hint{font-size:.8rem;color:#9ab5ae}.toggle{display:flex;gap:.6rem;align-items:center;padding:.7rem;border:1px solid #3a776c;border-radius:7px;background:#0b1917}.toggle input{width:1.2rem;height:1.2rem;margin:0}.target-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:.8rem 0}.wound-picker{grid-template-columns:repeat(6,1fr);margin:.35rem 0 .8rem}.target-choice{margin:0;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.65rem .3rem;border:1px solid #3a776c;border-radius:7px;background:#0b1917;font-size:.82rem}.target-choice input{width:1rem;margin:0}.target-choice:has(input:checked){border-color:#7de3c7;background:#173a33}.target-choice:has(input:disabled){opacity:.82}
.header-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) minmax(290px,2.6fr);gap:7px;max-width:1280px;margin-top:8px}.header-actions button,.header-actions .file{width:100%;min-height:46px;padding:.6rem .7rem;text-align:center;white-space:nowrap}.header-actions #save-browser{background:#116b5c}.header-actions #load-browser{background:#347f54}.header-actions #open-help{background:#286783}.header-actions #toggle-fullscreen{background:#5a4b91}.header-actions .hint{grid-column:1/-1;margin-left:2px}.header-icon{width:1rem;height:1rem;margin-right:.35rem;vertical-align:-.16rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}#livecombat-login{display:flex;flex-wrap:nowrap;gap:6px;align-items:end;min-width:0}#livecombat-login label{flex:1 1 0;min-width:0;margin:0;font-size:.7rem}#livecombat-login input{width:100%;padding:.5rem;min-height:40px}#livecombat-login button{width:auto;flex:0 0 auto;min-height:40px;padding:.45rem .6rem;white-space:nowrap}

#result-panel,#history-panel{background:#0a1c32;border-color:#387ab0}#history-panel h2{color:#8ad2ff}.result{background:#07142a;border:2px solid #55b9ff;box-shadow:0 0 24px #1268a980;border-radius:10px;padding:14px;min-height:190px}.result-label{color:#8ad2ff;font-size:.78rem;letter-spacing:.12em;font-weight:800}.target-value{font-size:1.45rem;font-weight:900;color:#fff;margin:.2rem 0 .6rem}.modifier-list{display:grid;grid-template-columns:1fr auto;gap:.2rem .8rem;color:#bcd1e8;font-size:.8rem;border-top:1px solid #2d5070;padding-top:.6rem}.modifier-list strong{color:#e7f5ff}.tacnet-status{color:#a6f2d6;font-size:.8rem;margin-top:.5rem}.damage-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:1rem}.damage-grid div{background:#0c2947;border:1px solid #499cdc;border-radius:8px;padding:.7rem}.damage-grid span{display:block;color:#8ed1ff;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.damage-grid strong{display:block;color:#fff;font-size:1.15rem;margin-top:.15rem}.damage-note{margin:.7rem 0 0;color:#9cb6cc;font-size:.75rem}.roll-result{margin-top:12px;padding:12px;border-radius:8px;background:#183a33;color:#effff9;font-weight:800;white-space:pre-line;font-size:1rem}.roll-result.is-success{background:#123d2d;border:2px solid #4edc99;color:#eafff3}.roll-result.is-failure{background:#451c24;border:2px solid #f06b78;color:#fff0f2}.outcome{font-size:1.28rem;font-weight:950;letter-spacing:.06em}.is-success .outcome{color:#6ff0ae}.is-failure .outcome{color:#ff8b98}.outcome-details{margin-top:.15rem;font-size:.83rem;font-weight:650}.applied-damage{display:grid;grid-template-columns:1fr auto;gap:.15rem .75rem;align-items:end;margin-top:.7rem;padding-top:.65rem;border-top:1px solid #5abf91}.applied-damage span{grid-column:1/-1;color:#b5f2d1;font-size:.82rem}.applied-damage strong{font-size:2rem;line-height:1;color:#fff;letter-spacing:.02em}.applied-damage b{font-size:1.15rem;color:#a8e8ff;white-space:nowrap}.history{margin:0;padding-left:1.3rem;display:grid;gap:.55rem;font-size:.86rem;color:#d8eaff}.history li{padding-bottom:.45rem;border-bottom:1px solid #355878}.history-damage{font-size:1.14rem;color:#fff}.history small{display:block;color:#9ebcd6;margin-top:.18rem}
#history-panel .roll-result{margin-top:0;min-height:190px}.history-heading{margin:1rem 0 .7rem;color:#8ad2ff;font-size:1.05rem}.history-heading+ .history{border-top:1px solid #355878;padding-top:.8rem}

@media(max-width:700px){main{padding:12px}.grid{grid-template-columns:1fr}.roll{grid-template-columns:1fr}.target-picker{grid-template-columns:repeat(3,1fr)}.magazine-row button{min-width:46px}button,.file{min-height:48px}.header-actions{grid-template-columns:1fr}.header-actions .hint{grid-column:auto}#livecombat-login{width:100%}}
.wound-picker .target-choice:nth-last-child(-n+2){display:none}
.roll-result.is-critical-success{border-color:#ffd166;box-shadow:0 0 18px #e3a92788}.roll-result.is-critical-success .outcome{color:#ffe29a}.roll-result.is-critical-failure{border-color:#ff9f43;box-shadow:0 0 18px #c35f1988}.roll-result.is-critical-failure .outcome{color:#ffc36f}
.livecombat-log--critical-success,.livecombat-log--critical-failure{padding:.55rem .7rem;border-radius:7px;font-weight:800}.livecombat-log--critical-success{background:#49370e;border-left:4px solid #ffd166;color:#fff8dc}.livecombat-log--critical-failure{background:#4a2114;border-left:4px solid #ff8c42;color:#fff0e8}.livecombat-log--failure{border-left:4px solid #e66d78}
h2{display:flex;align-items:center;gap:.5rem}.card-icon{width:1.15rem;height:1.15rem;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.weapon-identity{display:flex;align-items:center;gap:.4rem;color:#e9fffa}.weapon-icon{width:1rem;height:1rem;stroke:#7de3c7;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}.details small{display:block;margin-top:.3rem;color:#8bb6aa}.chip-icon{width:.9rem;height:.9rem;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.16rem}.magazine-status{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:.35rem .5rem;padding:.5rem .65rem;border:1px solid #397b6d;border-radius:8px;background:#0a1917;color:#c7eee5}.magazine-status i{height:.34rem;border-radius:99px;background:linear-gradient(90deg,#55deb5 var(--mag-level),#173a33 var(--mag-level));grid-column:1/-1}.magazine-status em{grid-column:1/-1;font-style:normal;font-size:.75rem;color:#9fc3ba}.magazine-status.low{border-color:#d6a94b;color:#ffe0a1}.magazine-status.empty{border-color:#d5636e;color:#ffc0c7}.active-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:.1rem 0 .7rem}.modifier-chip,.sensor-chip{display:inline-flex;align-items:center;gap:.28rem;padding:.28rem .45rem;border-radius:999px;font-size:.72rem;line-height:1.15;background:#15342e;border:1px solid #347467;color:#d2f8ef}.modifier-chip.negative{background:#3d2729;border-color:#8f4b54;color:#ffd1d6}.modifier-chip.positive{background:#183f34;border-color:#438a76;color:#d7ffef}.modifier-chip.neutral{background:#172b3b;border-color:#3a718d;color:#d1eaff}.sensor-chip{margin:.16rem .22rem .16rem 0;background:#172b3b;border-color:#3a718d;color:#d1eaff}.sensor-chip b{color:#fff}.outcome-line{display:flex;align-items:center;gap:.5rem}.outcome-icon{width:1.5rem;height:1.5rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.is-success .outcome-icon{color:#6ff0ae}.is-failure .outcome-icon{color:#ff8b98}.is-critical-success .outcome-icon{color:#ffe29a}.is-critical-failure .outcome-icon{color:#ffc36f}
.result-magazine{display:flex;align-items:center;gap:.4rem;margin:.2rem 0 .65rem;padding:.42rem .55rem;border:1px solid #397b6d;border-radius:8px;background:#0a201c;color:#c7eee5;font-size:.78rem}.result-magazine strong{margin-left:auto;font-size:1rem;color:#fff}.result-magazine.low{border-color:#d6a94b;color:#ffe0a1}.result-magazine.empty{border-color:#d5636e;color:#ffc0c7}
.attack-scope{display:flex;align-items:center;gap:.35rem;margin:.1rem 0 .55rem;padding:.42rem .55rem;border:1px solid #4e84a8;border-radius:8px;background:#102b42;color:#d5ecff;font-size:.76rem}.attack-scope b{color:#fff}.attack-scope span{color:#a8c7dd}
.compact-fields{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.attack-type{display:inline-flex;align-items:center;gap:.22rem;margin-left:auto;padding:.18rem .4rem;border:1px solid currentColor;border-radius:999px;font-size:.63rem;letter-spacing:.06em;line-height:1.1;font-weight:850}.type-icon{width:.76rem;height:.76rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.attack-type.melee{color:#ffba75;background:#3d271b}.attack-type.ranged{color:#83d9ff;background:#172e42}.attack-type.beam{color:#ff9fda;background:#43243b}.attack-type.seeker,.attack-type.grenade{color:#ffd26f;background:#423716}.attack-type.spray{color:#a8f18c;background:#244128}
#target-picker{grid-template-columns:repeat(3,1fr)}
@media(max-width:420px){.compact-fields{grid-template-columns:1fr}.weapon-identity{flex-wrap:wrap}.attack-type{margin-left:0}}
.help-dialog{width:min(680px,calc(100vw - 24px));max-height:calc(100vh - 24px);border:1px solid #55b9ff;border-radius:12px;background:#08182a;color:#e7f4ff;padding:1.25rem 1.35rem;box-shadow:0 18px 70px #000b}.help-dialog::backdrop{background:#000b}.help-dialog h2{color:#8ad2ff;margin-right:2rem}.help-dialog details{border-top:1px solid #2b5473;padding:.65rem 0}.help-dialog summary{cursor:pointer;font-weight:800;color:#d8efff}.help-dialog p{margin:.45rem 0;color:#c3d9e8;font-size:.92rem}.help-close{float:right;background:#354f68;padding:.32rem .62rem;font-size:1.25rem;line-height:1}
.target-damage-list{display:grid;gap:.35rem;margin-top:.65rem;padding-top:.6rem;border-top:1px solid #5abf91}.target-damage-list div{display:grid;grid-template-columns:1fr auto auto;gap:.45rem;align-items:center;padding:.4rem .5rem;border:1px solid #397b6d;border-radius:7px;background:#0d2c23;color:#d7faec;font-size:.82rem}.target-damage-list strong{font-size:1.05rem;color:#fff}.target-damage-list b{color:#a8e8ff;white-space:nowrap}
.area-summary,.area-result{display:flex;align-items:flex-start;gap:.4rem;margin-top:.65rem;padding:.5rem .6rem;border:1px solid #9a7a44;border-radius:8px;background:#342815;color:#ffe5b2;font-size:.78rem}.area-result{border-color:#e6b85c;background:#3d2d13;color:#fff0c9;font-weight:750}.history-area{color:#f1cb80}
@media(max-width:700px){.header-actions{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}.header-actions .file{grid-column:1/-1}.help-dialog{padding:1rem}}
.attack-filter-row{display:flex;gap:.45rem;flex-wrap:wrap;margin:.55rem 0}.filter-button{padding:.43rem .6rem;background:#254d46;font-size:.76rem}.filter-button.is-active{background:#347f54;box-shadow:inset 0 0 0 1px #82e8bd}.history-state.success{color:#80efb3}.history-state.failure{color:#ff9ca6}

/* Visual Build 1.1: reine Präsentationsschicht – keine Interaktionselemente. */
article{position:relative;overflow:hidden}article::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,#58c9b0 32%,transparent 68%);opacity:.28;pointer-events:none}.is-weapon-active{border-color:#55b9ff;background:linear-gradient(135deg,#102822,#10201d 58%,#0d2938)}.is-weapon-active::before{opacity:.78}.is-weapon-active #attack-select{border-color:#74d7ff;background-color:#0b1d25}
.tactical-hud{margin:-.1rem 0 .9rem;padding:.7rem .75rem;border:1px solid #3d7d91;border-radius:9px;background:linear-gradient(110deg,#081e2a,#0d2827);box-shadow:inset 0 1px #8ad2ff18;pointer-events:none}.hud-line{display:flex;align-items:baseline;gap:.5rem;min-width:0}.hud-label{color:#80d6ff;font-size:.65rem;font-weight:900;letter-spacing:.13em}.hud-weapon{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f0fbff;font-size:.84rem;font-weight:850}.mode-rail{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;margin-top:.55rem}.mode-signal{display:flex;align-items:center;justify-content:center;gap:.35rem;min-height:32px;border:1px solid #34525a;border-radius:6px;background:#0a1618;color:#75918d;font-size:.72rem;letter-spacing:.08em}.mode-signal i{display:block;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.35}.mode-signal.is-available{border-color:#4c9588;color:#b9e8dd}.mode-signal.is-unavailable{opacity:.42}.mode-signal.is-active{border-color:#73ddff;background:#12374a;color:#f4fdff;box-shadow:inset 0 0 0 1px #73ddff33}.mode-signal.is-active i{opacity:1;background:#75e6ff;animation:mode-pulse 700ms ease-out 1}.hud-status{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.45rem}.gravity-badge,.tactical-badge{display:inline-flex;align-items:center;gap:.22rem;padding:.22rem .4rem;border:1px solid #3a718d;border-radius:999px;color:#ccecff;background:#142c3b;font-size:.65rem;font-weight:750;letter-spacing:.035em}.tactical-badge{border-color:#397b6d;color:#c8f2e4;background:#123128}.tactical-badge.assist{border-color:#4e9ecd;color:#d0efff;background:#16364a}.tactical-badge.warning{border-color:#a66554;color:#ffd5b9;background:#402a24}
.fire-mode-source{display:none!important}.fire-mode-buttons{margin:.1rem 0 .8rem;padding:.75rem;border:1px solid #356f7e;border-radius:9px;background:linear-gradient(135deg,#0a2029,#0d2420);box-shadow:inset 0 1px #7be7ff14}.fire-mode-heading{display:flex;align-items:baseline;gap:.45rem;margin-bottom:.5rem;color:#83cfe7;font-size:.68rem;font-weight:900;letter-spacing:.1em}.fire-mode-heading b{color:#f1fcff;font-size:.84rem}.mode-family-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem}.mode-family-button,.mode-variant-button{display:flex;align-items:center;justify-content:center;gap:.38rem;min-height:48px;padding:.45rem;border:1px solid #3d7474;border-radius:7px;background:#102824;color:#cdeee5;cursor:pointer;touch-action:manipulation;transition:transform 140ms ease,filter 140ms ease,border-color 140ms ease,background-color 140ms ease}.mode-family-button:active,.mode-variant-button:active{transform:scale(.97);filter:brightness(1.24)}.mode-family-button.is-active{border-color:#79dcff;background:#123a4b;color:#f3fdff;box-shadow:inset 0 0 0 1px #79dcff33}.mode-button-icon{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.mode-variant-grid{display:grid;gap:.42rem;margin-top:.52rem}.mode-variant-button{justify-content:flex-start;text-align:left;min-height:56px;padding:.55rem .6rem;border-color:#396b67;background:#0d201d}.mode-variant-button>span:not(.fire-target-icons){display:grid;gap:.08rem}.mode-variant-button b{font-size:.82rem}.mode-variant-button small{color:#a9c9c1;font-size:.68rem;line-height:1.25}.fire-target-icons{display:inline-flex;align-items:center;gap:.08rem;margin-left:auto;padding-left:.35rem;flex:0 0 auto}.fire-target-person{width:1.28rem;height:1.28rem;fill:currentColor;filter:drop-shadow(0 0 3px currentColor)}.fire-target-person.is-target{color:#ff5f69}.fire-target-person.is-muted{color:#93a0a7;filter:none}.mode-variant-button.is-active{border-color:#69dfb7;background:#143b31;color:#edfff9;box-shadow:inset 3px 0 #72e5bc}.mode-variant-button.is-active small{color:#c9eee1}.fire-mode-unavailable{padding:.6rem;border:1px dashed #7d6264;border-radius:7px;background:#271d20;color:#ffccd2;font-size:.8rem}
.tactical-source{display:none!important}.tactical-options{margin:.55rem 0}.tactical-option-label{display:flex;align-items:center;gap:.3rem;margin:0 0 .32rem;color:#8fcee1;font-size:.68rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.tactical-option-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:.35rem}.tactical-option-button{min-height:46px;padding:.4rem .48rem;border:1px solid #3e6f68;border-radius:7px;background:#0d2420;color:#c9eee3;font-size:.73rem;font-weight:720;line-height:1.15;text-align:center;cursor:pointer;touch-action:manipulation;transition:transform 140ms ease,filter 140ms ease,border-color 140ms ease,background-color 140ms ease}.tactical-option-button:active{transform:scale(.97);filter:brightness(1.2)}.tactical-option-button.is-active{border-color:#72d9bd;background:#143c32;color:#f2fffb;box-shadow:inset 0 0 0 1px #72d9bd44}.tactical-options-gravity-type .tactical-option-row{grid-template-columns:repeat(2,minmax(0,1fr))}.gravity-impact{margin:.72rem 0;padding:.65rem .7rem;border:1px solid #76c8ff;border-left:4px solid #83e0ff;border-radius:8px;background:linear-gradient(100deg,#0d3042,#102622);color:#e4f8ff;font-weight:700;line-height:1.45;box-shadow:inset 0 1px #9fe8ff1c}.gravity-impact::first-line{color:#fff}.gravity-impact+.tactical-options{margin-top:.7rem}#gravity-movement-panel{border-color:#3f8391;background:linear-gradient(145deg,#102827,#10201d 60%,#102b36)}#gravity-movement-panel h2{color:#8cdcff}#ranged-situation-panel{border-color:#3a7584;background:linear-gradient(145deg,#102827,#10201d 65%,#102a33)}
.gravity-custom-inline{display:flex;align-items:center;justify-content:center;gap:.32rem;min-height:46px;margin:0!important;padding:.34rem .45rem;border:1px solid #508798;border-radius:7px;background:#102d36;color:#cceeff;font-size:.76rem;font-weight:800}.gravity-custom-inline input{width:4.4rem;margin:0;padding:.38rem .3rem;text-align:center;font-weight:800}.gravity-acclimation-note{margin:.55rem 0;padding:.48rem .6rem;border:1px solid #a76a57;border-radius:7px;background:#36251f;color:#ffd3bd;font-size:.8rem}.gravity-acclimation-note b{color:#fff0e7}
.custom-modifier-options{margin:.8rem 0 0}.custom-modifier-grid{display:grid;gap:.35rem}.custom-modifier-grid>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem}.custom-modifier-grid>div:last-child{grid-template-columns:repeat(4,minmax(0,1fr))}.custom-modifier-grid .tactical-option-button{min-height:42px;padding:.35rem .18rem;font-size:.78rem}
.panel-heading{margin:0}.panel-toggle{display:flex;align-items:center;gap:.5rem;width:100%;min-height:34px;margin:0;padding:0;background:transparent;color:inherit;border:0;border-radius:6px;text-align:left}.panel-toggle:focus-visible{outline:2px solid #83e0ff;outline-offset:3px}.panel-toggle-indicator{width:.6rem;height:.6rem;margin-left:auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform 140ms ease;flex:0 0 auto}.panel-content{margin-top:.8rem}.is-collapsed .panel-content{display:none}.is-collapsed .panel-toggle-indicator{transform:rotate(-45deg) translate(-2px,2px)}.is-collapsed{padding-bottom:15px}
[hidden]{display:none!important}#fire-mode-label{display:none!important}
#gravity-panel{border-color:#3f8391;background:linear-gradient(145deg,#102827,#10201d 60%,#102b36)}#movement-panel{border-color:#3a7584;background:linear-gradient(145deg,#102827,#10201d 65%,#102a33)}#gravity-panel h2,#movement-panel h2{color:#8cdcff}
.applied-damage .armor-value{display:inline-flex;grid-column:auto;align-items:center;justify-content:flex-end;gap:.34rem;color:#a8e8ff;font-size:2rem;font-weight:800;line-height:1;white-space:nowrap}.armor-icon{width:1.55rem;height:1.55rem;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.applied-damage .armor-ignored{color:#ffe29a;font-size:1.15rem;letter-spacing:.035em}.applied-damage .armor-ignored .armor-icon{width:1.25rem;height:1.25rem}.target-damage-list .armor-value{display:inline-flex;align-items:center;gap:.26rem;color:#a8e8ff;font-size:1.05rem;font-weight:800;line-height:1;white-space:nowrap}.target-damage-list .armor-icon{width:1rem;height:1rem}.target-damage-list .armor-ignored{color:#ffe29a;font-size:.78rem}.target-damage-list .armor-ignored .armor-icon{width:.95rem;height:.95rem}
.result.is-target-updated .target-value{animation:target-update 200ms ease-out}.modifier-chip{animation:chip-arrive 160ms ease-out both}.roll-telemetry{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin:.65rem 0 .15rem}.roll-telemetry span{padding:.35rem .32rem;border:1px solid #345b78;border-radius:5px;background:#0a2035;color:#99c9e9;font-size:.66rem;letter-spacing:.06em;text-align:center}.roll-telemetry b{display:block;color:#fff;font-size:1rem;letter-spacing:0}.roll-result.is-resolved{animation:resolve-pulse 250ms ease-out}.roll-result.is-critical-success.is-resolved{animation:critical-pulse 280ms ease-out}.roll-result.is-critical-failure.is-resolved{animation:critical-glitch 260ms steps(2,end)}#roll.is-firing{animation:fire-impulse 220ms ease-out}.is-melee-combat #ranged-specials,.is-melee-combat #ammo-panel{opacity:.52;filter:saturate(.55)}
@keyframes mode-pulse{0%{transform:scale(.7);opacity:.25}65%{transform:scale(1.35);opacity:1}100%{transform:scale(1);opacity:1}}@keyframes chip-arrive{from{opacity:.2;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes target-update{0%{transform:translateX(-3px);color:#75e6ff}100%{transform:translateX(0);color:#fff}}@keyframes resolve-pulse{0%{transform:scale(.985);filter:brightness(.86)}60%{transform:scale(1.006);filter:brightness(1.14)}100%{transform:scale(1);filter:brightness(1)}}@keyframes critical-pulse{0%{transform:scale(.98)}45%{transform:scale(1.015);filter:brightness(1.45)}100%{transform:scale(1);filter:brightness(1)}}@keyframes critical-glitch{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}50%{transform:translateX(3px);filter:hue-rotate(18deg)}75%{transform:translateX(-1px)}}@keyframes fire-impulse{0%{transform:scale(1)}50%{transform:scale(.96);filter:brightness(1.32)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:420px){.hud-line{display:block}.hud-weapon{display:block;margin-top:.15rem}.roll-telemetry{grid-template-columns:1fr}.roll-telemetry b{display:inline;margin-left:.2rem}.mode-family-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Sound controls: independent from combat inputs and responsive on tablets. */
.sound-controls { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:14px; }
.sound-controls label { display:flex; align-items:center; gap:10px; margin:0; font-size:13px; }
.sound-controls input[type="range"] { width:130px; min-width:80px; padding:0; accent-color:#4be0ba; }
.sound-controls output { min-width:42px; font-variant-numeric:tabular-nums; }
.sound-controls button[aria-pressed="true"] { border-color:#4be0ba; color:#a4f7db; }
.sound-credits { margin:18px 0 0; font-size:12px; color:#8aa7a1; }
.sound-credits a { color:#a4d3c6; text-decoration:underline; }
@media (max-width:480px) { .sound-controls { gap:10px; } .sound-controls label { flex-wrap:wrap; } }
select,select option{background:#07100f!important;color:#e8f3f0!important;color-scheme:dark}
.livecombat-phase-status{display:flex;align-items:center;gap:.75rem;margin:.4rem 0 .8rem;padding:.75rem;border:2px solid;border-radius:10px}.livecombat-phase-status span:last-child{display:grid;gap:.12rem}.livecombat-phase-status strong{font-size:1rem;letter-spacing:.06em}.livecombat-phase-status small{font-size:.8rem}.livecombat-phase-icon{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;font-size:1.4rem;font-weight:900;flex:0 0 auto}.livecombat-phase-status.is-ready{background:#123d2d;border-color:#4edc99;color:#eafff3;box-shadow:0 0 18px #38cf8a66}.livecombat-phase-status.is-ready .livecombat-phase-icon{background:#4edc99;color:#072119;animation:livecombat-ready-pulse 1.1s ease-in-out infinite}.livecombat-phase-status.is-waiting{background:#182428;border-color:#547077;color:#d5e1e3}.livecombat-phase-status.is-waiting .livecombat-phase-icon{background:#33474c;color:#dce9ea}@keyframes livecombat-ready-pulse{0%,100%{transform:scale(1);box-shadow:0 0 0 0 #4edc9977}50%{transform:scale(1.07);box-shadow:0 0 0 9px #4edc9900}}@media(prefers-reduced-motion:reduce){.livecombat-phase-status.is-ready .livecombat-phase-icon{animation:none}}
#livecombat-targets{display:grid;gap:.5rem;margin:.55rem 0}#livecombat-targets label{margin:0}.livecombat-target{width:100%}
#livecombat-targets label{position:relative;padding-left:2.15rem}#livecombat-targets label::before{content:'①';position:absolute;left:.15rem;top:1.55rem;display:grid;place-items:center;width:1.55rem;height:1.55rem;border:1px solid #5ecfb4;border-radius:50%;background:#123a32;color:#ddfff5;font-weight:900;font-size:.82rem;z-index:1}#livecombat-targets label:nth-child(2)::before{content:'②';border-color:#75bde7;background:#12344a;color:#e4f6ff}#livecombat-targets label:nth-child(3)::before{content:'③';border-color:#d6aa5a;background:#3a2c15;color:#ffedc8}.livecombat-chain-prompt{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(12rem,.8fr) auto;align-items:end;gap:.7rem;margin:.65rem 0;padding:.7rem .75rem;border:1px solid #4f93b8;border-radius:10px;background:#102d3c;color:#d9f4ff;font-size:.8rem}.livecombat-chain-copy{align-self:center}.livecombat-chain-prompt label{display:grid;gap:.25rem;margin:0;color:#bde8dc;font-weight:800}.livecombat-chain-prompt select{width:100%;min-height:38px;margin:0;border:1px solid #66b9df;background:#081c26;color:#f2fbff}.livecombat-chain-prompt button{min-height:38px;padding:.42rem .7rem;border:1px solid #6ed8bd;background:#164238;color:#edfff9;white-space:nowrap}.livecombat-chain-prompt button:disabled{opacity:.5}@media(max-width:760px){.livecombat-chain-prompt{grid-template-columns:1fr}.livecombat-chain-prompt button{width:100%}}
.livecombat-target-panel{margin:.8rem 0;padding:.75rem;border:1px solid #438f7e;border-radius:10px;background:#0c211e}.livecombat-target-panel h3{margin:0 0 .45rem;color:#8ff0d5;font-size:1rem}.livecombat-target-panel select:disabled{opacity:.78}.livecombat-context-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.15rem .6rem;margin:.35rem 0;padding:.45rem .55rem;border:1px solid #315f57;border-radius:7px;background:#102b26}.livecombat-context-row strong{color:#f2fffb}.livecombat-context-row span{color:#ffe3a8;font-weight:800}.livecombat-context-row small{grid-column:1/-1;color:#b8d0ca}.livecombat-target-warning{margin:.4rem 0 0;color:#ffb7bd;font-weight:750}.livecombat-session-target-note{margin:.45rem 0 .7rem;padding:.62rem .7rem;border:1px solid #4da994;border-left:4px solid #8ff0d5;border-radius:8px;background:#0b2924;color:#d6eee8;line-height:1.4}.livecombat-session-target-note strong{display:block;color:#8ff0d5}.target-damage-list>div.is-miss{border-color:#9b4d58;background:#321d22}.target-damage-list>div.is-miss strong{color:#ffadb5}.livecombat-send-hint{margin-top:.45rem}
.livecombat-sight-override{display:grid;gap:.5rem;margin-top:.7rem;padding:.65rem;border:1px solid #3978a0;border-radius:8px;background:#102a3a}.livecombat-sight-override>strong{color:#a7ddff}.livecombat-sight-override label{margin:0}.livecombat-sight-toggle{display:flex!important;align-items:center;gap:.55rem}.livecombat-sight-toggle input{width:auto;margin:0;accent-color:#66d8ff}.livecombat-sight-override small{color:#b8d9e8;line-height:1.4}.livecombat-sight-applied{color:#92e9ff!important;font-weight:750}
.livecombat-sight-override{display:grid;gap:.5rem;margin-top:.7rem;padding:.65rem;border:1px solid #3978a0;border-radius:8px;background:#102a3a}.livecombat-sight-override>strong{color:#a7ddff}.livecombat-sight-override label{margin:0}.livecombat-sight-toggle{display:flex!important;align-items:center;gap:.55rem}.livecombat-sight-toggle input{width:auto;margin:0;accent-color:#66d8ff}.livecombat-sight-override small{color:#b8d9e8;line-height:1.4}.livecombat-sight-applied{color:#92e9ff!important;font-weight:750}
#livecombat-sequence-panel{border-color:#3f8391;background:linear-gradient(145deg,#102827,#10201d 62%,#102b36)}#livecombat-sequence-panel h3{margin:.2rem 0 .7rem;color:#8cdcff;font-size:1.05rem}.livecombat-action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:.85rem 0}.livecombat-action-buttons button{min-height:46px;padding:.55rem .65rem;border:1px solid #397b6d;background:#12352d;color:#e5fff7;box-shadow:inset 0 1px #8cebd11c;transition:transform 140ms ease,filter 140ms ease,border-color 140ms ease}.livecombat-action-buttons button:hover:not(:disabled){border-color:#6ddfc0;filter:brightness(1.13)}.livecombat-action-buttons button:active:not(:disabled){transform:scale(.975)}.livecombat-action-buttons button:disabled{opacity:.45;cursor:not-allowed}.livecombat-action-buttons [data-action="full-defense"],.livecombat-action-buttons [data-action="reserve-defense"]{background:#17344b;border-color:#4d91be}.livecombat-action-buttons [data-action="sprint"]{background:#2d3d1c;border-color:#91ae58}.livecombat-action-buttons [data-action="reload"]{background:#263746;border-color:#608ca4}.livecombat-action-buttons [data-action="other"]{background:#342b43;border-color:#866dac}.livecombat-action-buttons [data-action="end"]{background:#3d282c;border-color:#a1656b}@media(max-width:420px){.livecombat-action-buttons{grid-template-columns:1fr}.livecombat-action-buttons button{min-height:48px}}

/* Compact evaluation/result row. The calculation remains unchanged; only its
 * presentation and DOM location are condensed for one-screen combat use. */
#result-panel,#history-panel{align-self:stretch}#history-panel{display:flex;flex-direction:column}.result{min-height:0;padding:10px}.result-label{font-size:.7rem}.target-value{font-size:1.2rem;margin:.1rem 0 .4rem}.result-magazine{margin:.15rem 0 .42rem;padding:.32rem .48rem}.result-magazine strong{font-size:.9rem}.active-chips{margin:.05rem 0 .45rem}.modifier-list{gap:.12rem .65rem;padding-top:.42rem;font-size:.75rem}.damage-grid{grid-template-columns:minmax(0,1fr) minmax(8.5rem,.55fr);gap:6px;margin-top:.5rem}.damage-grid div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.42rem .5rem}.damage-grid span{font-size:.68rem}.damage-grid strong{min-width:0;margin:0;font-size:.95rem;overflow-wrap:anywhere;text-align:right}.damage-note{display:none}.livecombat-send-hint{margin:.35rem 0 .5rem;line-height:1.3}.livecombat-sight-override small{display:block;margin-top:.3rem;color:#9fbbb4;font-size:.7rem;line-height:1.25}#history-panel .roll-result{min-height:0;margin-top:.45rem;padding:9px}.history-heading{margin:.65rem 0 .45rem}#roll-history{max-height:17rem;padding-top:.55rem!important;padding-right:.35rem;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#4b83a8 #0a1c32}#roll-history li{min-height:2.8rem}#livecombat-log-panel{border-color:#a88b2f;background:linear-gradient(145deg,#30270d,#221d0d 64%,#352b0e)}#livecombat-log-panel h2{color:#f2cf63}#livecombat-log-panel .history{color:#f3e6bd}#livecombat-log-panel .history li{border-bottom-color:#756027}
@media(max-width:700px){.damage-grid{grid-template-columns:1fr}.damage-grid div{grid-template-columns:1fr}.damage-grid strong{text-align:left}}

/* LiveCombat: visible target checkboxes and immediate transfer feedback. */
#livecombat-targets{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
#livecombat-targets label.livecombat-target-choice{display:flex;align-items:center;gap:.55rem;min-height:48px;margin:0;padding:.55rem .65rem;border:1px solid #3d8273;border-radius:8px;background:#102a25;color:#e5f9f2;cursor:pointer}
#livecombat-targets label.livecombat-target-choice::before{display:none}
#livecombat-targets label.livecombat-target-choice:has(input:checked){border-color:#7de3c7;background:#185344;box-shadow:inset 0 0 0 1px #7de3c766}
#livecombat-targets label.livecombat-target-choice:has(input:disabled:not(:checked)){opacity:.48;cursor:not-allowed}
#livecombat-targets input.livecombat-target{width:1.15rem;height:1.15rem;flex:0 0 auto;margin:0;padding:0;accent-color:#7de3c7}
#livecombat-targets label.livecombat-target-choice span{min-width:0;overflow-wrap:anywhere;font-weight:750}
#livecombat-targets label.livecombat-target-choice.is-dead:has(input:disabled){border-color:#9d5961;background:#2b1b20;color:#f2b6bd;opacity:.8}
#livecombat-targets .livecombat-target-skull{color:#ffc2c9;font-size:1.15em;margin-right:.15rem}
#livecombat-targets .livecombat-vehicle-target-group{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.4rem;padding:.5rem;border:1px solid #528fa3;border-radius:9px;background:#09212c}
#livecombat-targets .livecombat-vehicle-target-group>label:first-child{grid-column:1/-1;border-color:#78c9e3;background:#113447}
#livecombat-targets label.livecombat-target-choice.is-vehicle-child{margin-left:.65rem;border-left:3px solid #6fafd0}
#livecombat-targets .livecombat-target-kind{display:block;margin-top:.16rem;color:#bdd6e0;font-size:.74rem;font-weight:600}
#livecombat-targets .livecombat-occupant-icon{font-size:.85em;margin-right:.18rem}
#livecombat-target-limit{margin:.2rem 0 .55rem;color:#9ce8d4;font-weight:750}
#history-panel .roll button:disabled{background:#34464b;color:#aab9bd;border:1px solid #65787c;box-shadow:none;opacity:.72;cursor:not-allowed}
#history-panel .roll button.is-transfer-pending{background:#285c7d;border:1px solid #83d5ff;color:#f4fcff;cursor:wait}
#history-panel .roll button.is-transfer-success{border:1px solid #92f0bb;animation:livecombat-confirm-blink .24s steps(1,end) 3}
#history-panel .roll button.is-transfer-error{border:1px solid #ff9ca6;animation:livecombat-error-blink .24s steps(1,end) 3}
@keyframes livecombat-confirm-blink{0%,49%{background:#35d279;color:#062716;box-shadow:0 0 18px #56e49cbb}50%,100%{background:#116b5c;color:#fff;box-shadow:none}}
@keyframes livecombat-error-blink{0%,49%{background:#d5475a;color:#fff;box-shadow:0 0 16px #ef7486aa}50%,100%{background:#742d38;color:#fff;box-shadow:none}}
.livecombat-transfer-notice{margin:.55rem 0 .15rem;padding:.45rem .6rem;border:1px solid #4fae91;border-radius:7px;background:#0c3027;color:#d9fff0;font-size:.78rem;font-weight:750}
.livecombat-transfer-notice.is-failure{border-color:#d5636e;background:#3b2026;color:#ffd8dc}
@media(prefers-reduced-motion:reduce){#history-panel .roll button.is-transfer-success,#history-panel .roll button.is-transfer-error{animation:none;box-shadow:0 0 0 3px currentColor}}
#history-panel .roll{display:block}
#history-panel #roll{width:100%;min-height:66px;padding:.85rem 1rem;border:2px solid #ffc16a;border-radius:10px;background:#c65d16;color:#fff9ee;font-size:1.24rem;font-weight:900;letter-spacing:.04em;box-shadow:0 6px 18px #a5492080}
#history-panel #roll:hover:not(:disabled){background:#e77b24;border-color:#ffd48c;filter:brightness(1.06)}
#history-panel #roll:disabled{background:#34464b;border-color:#65787c;color:#aab9bd;box-shadow:none;opacity:.72;cursor:not-allowed}
#history-panel #manual-roll[hidden],#history-panel #resolve[hidden]{display:none!important}
#melee-mode-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;padding:4px}#melee-mode-buttons>button{min-height:48px;margin:0;padding:11px 14px;border:1px solid #408f88;border-radius:8px;background:#102e2d;color:#d5eee9;font:inherit;font-size:.86rem;font-weight:750;line-height:1.25;box-shadow:inset 0 1px #ffffff0b;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}#melee-mode-buttons>button:hover:not(:disabled){background:#19463f;border-color:#68d9bd}#melee-mode-buttons>button[aria-pressed=true]{background:#1b5548;border-color:#72e5bc;color:#f1fff9;box-shadow:inset 0 0 0 1px #72e5bc55}#melee-mode-buttons>button:focus-visible{outline:3px solid #a0eeff;outline-offset:3px}#melee-mode-buttons>button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:420px){#melee-mode-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#melee-mode-buttons>button{padding:10px 8px;font-size:.8rem}}
.fire-target-order{margin-top:12px;padding-top:10px;border-top:1px solid #3d716c}.fire-target-order>span{display:block;margin-bottom:7px;color:#a3d4d0;font-size:.78rem;font-weight:750}.fire-target-order>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.fire-target-order button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:44px;padding:7px 4px;border:1px solid #4c8d84;border-radius:7px;background:#102d2b;color:#dceee9;font:inherit;cursor:pointer}.fire-target-order button b{font-size:.8rem}.fire-target-order button small{font-size:.72rem;color:#bbd8d1}.fire-target-order button[aria-pressed=true]{border-color:#72e5bc;background:#20584b;box-shadow:inset 0 0 0 1px #72e5bc55}.fire-target-order button:focus-visible{outline:3px solid #a0eeff;outline-offset:2px}
.fire-target-order button:disabled{opacity:.4;cursor:not-allowed}
