:root{color-scheme:dark;--bg:#11151a;--panel:#1a212a;--line:#354452;--text:#eaf1f6;--muted:#b0beca;--accent:#bde994;--space:1rem;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6;background:var(--bg);color:var(--text)}*{box-sizing:border-box}body{margin:0}main{max-inline-size:76rem;margin:auto;padding:clamp(1rem,4vw,3rem)}header{padding-block:1rem 2rem}.eyebrow{font-size:.8rem;letter-spacing:.12em;color:var(--accent)}h1{font-size:clamp(2.5rem,6vw,4.5rem);line-height:1.1;margin:.5rem 0}h2{font-size:1.25rem;margin:0 0 1rem}.intro{font-size:1.1rem;color:var(--muted)}.notice{border-inline-start:.25rem solid var(--accent);padding:1rem 1.25rem;background:#1d2821;margin-block:0 1.5rem}.notice p{margin:.5rem 0 0}.columns{display:grid;gap:1rem}.panel{min-inline-size:0;padding:clamp(1rem,3vw,1.75rem);border:1px solid var(--line);border-radius:.75rem;background:var(--panel);margin-block:0 1rem}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:1rem}label{display:block;margin-block:.75rem .25rem;font-size:.95rem}input,select,textarea,button,.file-button{font:inherit;color:inherit;max-inline-size:100%;min-inline-size:0}input,select,textarea{display:block;inline-size:100%;background:#111820;border:1px solid #506170;border-radius:.35rem;padding:.6rem;min-block-size:2.75rem}textarea{resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere}button,.file-button{background:#283642;border:1px solid #607585;border-radius:.4rem;min-block-size:2.75rem;padding:.6rem 1rem;cursor:pointer}button:disabled,select:disabled{opacity:.55;cursor:wait}#calculate{background:var(--accent);color:#18220f;font-weight:700}.actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-block:.5rem 1.5rem}.file-button{margin:0;position:relative}.file-button input{opacity:0;position:absolute;inset:0;cursor:pointer}details{border-block-start:1px solid var(--line);padding-block:1rem;margin-block-start:1rem}summary{cursor:pointer;min-block-size:2.75rem;display:list-item;align-content:center}p,pre,td{overflow-wrap:anywhere}pre{white-space:pre-wrap;font-size:.85rem;color:var(--muted);max-block-size:30rem;overflow:auto}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.file-button:focus-within{outline:3px solid var(--accent);outline-offset:3px}.damage{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;color:var(--accent);line-height:1.3;margin:1rem 0}.step{border-block-end:1px solid var(--line);padding:.6rem 0}.step strong{display:inline-block;margin-inline-end:1rem}#error{background:#4a2427;padding:1rem;color:#ffd6d6}footer{color:var(--muted);font-size:.85rem;padding-block:1.5rem} @media(min-width:56rem){.columns{grid-template-columns:1fr 1fr}}
h1,h2,button,.file-button{overflow-wrap:anywhere}
fieldset{min-inline-size:0;border:1px solid var(--line);border-radius:.5rem;padding:1rem;margin:0 0 1rem}legend{padding-inline:.5rem}.party-members{display:grid;gap:1rem}.auto-label{display:flex;align-items:center;gap:.75rem}.auto-label input{inline-size:2.75rem;flex:none}#party-order .actions{margin-block:1rem 0}.step p{margin-block:.5rem}@media(min-width:56rem){.party-members{grid-template-columns:1fr 1fr}}

.combat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem;margin-block:1rem}.combat-card{min-inline-size:0;border:1px solid var(--line);border-radius:.5rem;padding:1rem}.combat-card h3{margin-block:0 .5rem;overflow-wrap:anywhere}.combat-card button{inline-size:100%}#combat-error{padding:1rem;background:#4a2427;color:#ffd6d6}#combat-summary{color:var(--accent);font-weight:700}
