.demo-shell{--demo-accent:#d2ff00;color:#10110e;background:#f0f1e9;border:1px solid #10110e;padding:clamp(20px,3vw,40px);line-height:1.55;overflow-wrap:anywhere}.demo-shell *{box-sizing:border-box}.demo-shell .demo-header{max-width:750px}.demo-shell h3{font-size:clamp(28px,3.8vw,48px);font-weight:500;letter-spacing:-.045em;line-height:1.08;margin:8px 0 18px}.demo-shell h4{font-size:21px;line-height:1.25;margin:6px 0 10px;font-weight:600;letter-spacing:-.025em}.demo-shell p{font-size:16px;line-height:1.6;margin:0}.demo-shell .demo-eyebrow,.demo-shell .demo-label{font:12px/1.5 'Courier New',monospace;letter-spacing:.06em;display:block}.demo-shell .demo-scope{font-size:13px;line-height:1.5;border-top:1px solid #10110e40;border-bottom:1px solid #10110e40;padding:12px 0;margin:24px 0}.demo-shell .demo-small{font-size:13px;line-height:1.6;color:#45463f}.demo-shell .demo-actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.demo-shell .demo-button{min-height:48px;padding:12px 20px;background:#10110e;color:#f0f1e9;font:600 14px/1.5 Arial,Helvetica,sans-serif;border:1px solid #10110e;border-radius:0;cursor:pointer;white-space:normal;text-align:center}.demo-shell .demo-button-secondary{color:#10110e;background:transparent}.demo-shell .demo-button:hover:not(:disabled){background:var(--demo-accent);color:#10110e}.demo-shell button:disabled{opacity:.45;cursor:default}.demo-shell button:focus-visible,.demo-shell input:focus-visible,.demo-shell summary:focus-visible{outline:3px solid #004aff;outline-offset:4px}.demo-shell .demo-source{border-top:1px solid #10110e40;margin-top:30px;padding-top:18px}.demo-shell .demo-source summary{font-size:14px;font-weight:600;cursor:pointer;padding:4px 0}.demo-shell .demo-source p{font-size:13px;color:#45463f;margin:12px 0;max-width:85ch}.combat-demo{--demo-accent:#ceb1ff}.combat-setup{display:grid;grid-template-columns:1fr 1.4fr;gap:24px;margin-bottom:24px}.combat-setup>div{border-left:4px solid #8260bc;padding-left:16px}.combat-die{display:flex;align-items:center;gap:18px;padding:18px 0;border-top:1px dashed #10110e40}.combat-die-value{width:54px;height:54px;flex:none;display:grid;place-items:center;font-size:30px;font-weight:600;border:2px solid #10110e;border-radius:10px;background:#fff}.combat-die p{font-size:14px}.combat-targets{display:grid;grid-template-columns:1fr 1fr;gap:16px;border:0;margin:20px 0;padding:0;min-width:0}.combat-targets legend{font-size:14px;font-weight:600;margin-bottom:14px}.combat-target{display:flex;flex-direction:column;gap:6px;text-align:left;border:1px solid #777970;background:transparent;padding:20px;min-width:0;font-size:14px;line-height:1.5;cursor:pointer}.combat-target strong{font-size:21px}.combat-target[aria-pressed=true]{background:#e3d8f2;border:2px solid #67458a;padding:19px}.combat-target:hover:not(:disabled){background:#e8e6e9}.combat-target .combat-terrain-symbol{font:32px/1 Georgia,serif;margin-bottom:4px}.combat-target .combat-hp{font:600 15px/1.6 'Courier New',monospace;margin-top:5px}.combat-preview{border-left:4px solid #8260bc;padding:10px 0 10px 18px;min-height:85px}.combat-preview .combat-equation{font:20px/1.8 'Courier New',monospace;margin:12px 0}.combat-equation span{font:13px/1.6 Arial,Helvetica,sans-serif;color:#45463f}.combat-equation strong{white-space:nowrap}.forge-lab{display:grid;grid-template-columns:1fr 1fr;gap:32px}.forge-controls{display:flex;flex-direction:column;gap:26px}.forge-label{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:15px;font-weight:600;align-items:center}.forge-label output{font:600 15px/1.5 'Courier New',monospace}.forge-label input{grid-column:1/-1;width:100%;margin:0;min-height:30px;accent-color:#536500;cursor:pointer}.forge-visual{padding:24px;background:#1b1c18;color:#f0f1e9;min-width:0}.forge-billet{height:46px;width:95%;margin:30px auto;border-radius:4px 15px 15px 4px;border:1px solid #ffffff30;box-shadow:inset 0 -8px 0 #0002}.forge-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:26px 0}.forge-metrics div{display:flex;flex-direction:column}.forge-metrics span{font-size:12px;color:#c3c5b9}.forge-metrics strong{font:500 30px/1.4 'Courier New',monospace}.forge-meter{height:18px;background:#42443b;position:relative;margin-top:24px}.forge-meter-fill{height:100%;background:#d2ff00}.forge-target-window{position:absolute;left:75%;top:-5px;width:10%;height:28px;border:2px solid #fff;pointer-events:none}.forge-visual .forge-meter-caption{display:flex;justify-content:space-between;font-size:11px;margin-top:10px;gap:4px}.forge-visual .forge-formula{font:12px/1.7 'Courier New',monospace;margin-top:18px;color:#d6d8cc}.forge-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px}.forge-results>p{grid-column:1/-1;border-left:4px solid #879e19;padding-left:18px}.forge-result{padding:20px;border:1px solid #999c8e;border-top:4px solid #777d66}.forge-result p+p{margin-top:10px}.forge-result .demo-label{margin-bottom:12px}.forge-result-perfect{border-top-color:#38631b}.forge-result-overforce{border-top-color:#a04425}.forge-result-too-cold{border-top-color:#40627e}.forge-result p{font-size:14px}.demo-shell [hidden]{display:none!important}
@media(max-width:700px){.combat-setup,.forge-lab{grid-template-columns:1fr}.combat-targets{gap:10px}.combat-target{padding:14px;font-size:13px}.combat-target[aria-pressed=true]{padding:13px}.combat-target strong{font-size:18px}.demo-shell .demo-actions{gap:10px}.demo-shell .demo-button{flex:1 1 145px;padding:12px}.forge-visual{padding:20px}.forge-label{grid-template-columns:1fr}.forge-label output{grid-column:1;grid-row:2}.forge-label input{grid-row:3}.combat-preview .combat-equation{font-size:18px}}
@media(prefers-reduced-motion:reduce){.demo-shell *{animation:none!important;transition:none!important}}
@media(max-width:420px){.combat-targets{grid-template-columns:1fr}.combat-target{padding:18px}.combat-target[aria-pressed=true]{padding:17px}.combat-target strong{font-size:22px}.forge-metrics strong{font-size:25px}}
