.guide-hero {max-width:1120px;margin:0 auto;padding:70px 24px 38px;}
.guide-hero h1 {font-size:clamp(32px,5vw,56px);line-height:1.3;letter-spacing:-.04em;}
.guide-hero > p:not(.eyebrow) {max-width:780px;font:17px/1.9 var(--read);color:#425365;}
.guide-hero > p.small-note {font-size:13px;}
.article h3 {margin-top:28px;}
.article a:not(.button) {text-underline-offset:4px;}
.rule-lab {padding:24px;border:1px solid #d8dbe8;border-radius:22px;background:#f6f7fc;}
.rule-lab[hidden] {display:none;}
.lab-controls {display:flex;flex-wrap:wrap;gap:16px;align-items:end;}
.lab-controls > label {display:grid;gap:8px;font:600 14px/1.5 var(--read);}
.rule-lab :is(select,input[type=number]) {min-height:44px;border:1px solid #98a6b8;border-radius:10px;background:#fff;color:#172c3f;padding:8px;font:16px/1.5 var(--read);}
.rule-lab input[type=number] {width:100px;}
.lab-controls > .only-control {display:flex;align-items:center;min-height:44px;}
.only-control input {width:20px;height:20px;accent-color:#624397;}
.rule-lab fieldset {margin:24px 0 0;padding:0;border:0;min-width:0;}
.rule-lab legend {padding:0 0 10px;font:700 15px/1.6 var(--read);}
.hand-inputs {display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
.die-input {display:grid;gap:6px;text-align:center;font:12px/1.4 var(--read);color:#4a5a6c;}
.die-input select {width:100%;min-height:55px;text-align:center;font-size:22px;}
.die-input.is-counted select {border-color:#665092;background:#efe7ff;box-shadow:inset 0 -3px #a18ac6;}
.lab-presets {display:flex;flex-wrap:wrap;gap:8px;margin:24px 0;}
.lab-presets button {min-height:44px;padding:10px 12px;border:1px solid #9c8cb6;border-radius:10px;background:#fff;color:#513b72;font:600 13px/1.4 var(--read);cursor:pointer;}
.lab-result {padding:18px;border-radius:14px;background:#fff;border:1px solid #d7dce9;font:15px/1.7 var(--read);color:#24374b;}
.lab-result strong {display:block;font-size:18px;}
.lab-result p {margin:10px 0 0;font-size:14px;}
.rule-lab :is(select,input,button):focus-visible {outline:3px solid #7458a5;outline-offset:3px;}
.next-steps li {margin:12px 0;font:16px/1.8 var(--read);}
@media(max-width:600px) {.guide-hero{padding-top:38px}.rule-lab{padding:16px}.hand-inputs{gap:5px}.die-input{font-size:10px}.die-input select{padding:4px;font-size:20px}.lab-controls{gap:12px}.lab-result strong{font-size:16px}}
