.intro{margin-bottom:18px}.intro h1{font-size:clamp(1.75rem,3vw,2.45rem);line-height:1.2;margin:8px 0 10px}.eyebrow,.section-kicker{color:#17604f;font-size:.78rem;font-weight:700;letter-spacing:.12em;margin:0;text-transform:uppercase}.lead{line-height:1.8;margin:0;max-width:760px}.tool-shell{border:1px solid #aeb6b1;margin-top:20px}.calculator-panel{min-width:0;padding:26px}.section-heading h2{font-size:1.45rem;line-height:1.35;margin:8px 0 22px}.mode-group{border:1px solid #cbd0cd;margin:0 0 18px;padding:14px}.mode-group legend{color:#66716c;font-size:.8rem;font-weight:700;padding:0 6px}.mode-options{display:flex;flex-wrap:wrap;gap:8px}.mode-option{align-items:center;border:1px solid #89958f;cursor:pointer;display:flex;font-weight:700;gap:8px;min-height:44px;padding:0 14px}.mode-option:has(input:checked){background:#e7f1ed;border-color:#17604f;color:#17604f}.mode-option input{accent-color:#17604f}.sequence-field{display:grid;font-weight:700;gap:8px}.sequence-field textarea{background:#fff;border:1px solid #89958f;border-radius:0;box-sizing:border-box;color:#17211d;font:500 1rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;min-height:220px;padding:14px;resize:vertical;width:100%}.sequence-field textarea:focus{border-color:#17604f;box-shadow:0 0 0 3px rgba(23,96,79,.18);outline:0}.field-help{color:#66716c;font-size:.82rem;line-height:1.6;margin:8px 0 0}.form-actions{align-items:center;border-top:1px solid #d4d8d5;display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:20px}.button{border:1px solid #17604f;border-radius:0;cursor:pointer;font-weight:700;min-height:46px;padding:10px 18px}.button-primary{background:#17604f;color:#fff}.button-secondary{background:#fff;color:#17604f}.button:focus-visible{outline:3px solid #17604f;outline-offset:3px}.form-error{background:#fff2ef;border-left:4px solid #a53a2d;color:#7d281e;font-weight:700;line-height:1.6;margin:16px 0 0;padding:12px}.result-box{border:1px solid #17604f;margin-top:16px;padding:18px}.result-box[data-state=waiting]{border-color:#9ba5a0}.result-box[data-state=error]{border-color:#a53a2d}.result-label{color:#66716c;font-size:.8rem;margin:0}.result-status{color:#4d5a54;display:block;line-height:1.6;margin:14px 0 0}.summary-grid,.aggregate-grid{display:grid;grid-template-columns:repeat(4,1fr);margin:18px 0 0}.summary-grid div,.aggregate-grid div{border:1px solid #cbd0cd;margin:-1px 0 0 -1px;padding:12px}.summary-grid dt,.aggregate-grid dt{color:#66716c;font-size:.78rem}.summary-grid dd,.aggregate-grid dd{font-size:1.05rem;font-weight:700;margin:7px 0 0;overflow-wrap:anywhere}.base-table{border-collapse:collapse;margin-top:20px;width:100%}.base-table caption{font-size:.9rem;font-weight:700;margin-bottom:8px;text-align:left}.base-table th,.base-table td{border:1px solid #cbd0cd;padding:10px 12px;text-align:right}.base-table th:first-child,.base-table td:first-child{text-align:left}.base-table thead{background:#f0f4f1}.aggregate-grid{grid-template-columns:1fr 1fr}.aggregate-wide{grid-column:1/-1}.composition-figure{background:#f0f4f1;border:1px solid #ccd3cf;margin:18px 0 0;padding:18px}.composition-bar{background:#e5e9e7;display:flex;height:36px;overflow:hidden}.composition-bar span{display:block;height:100%;transition:width .2s ease;width:0}.base-a{background:#bcd8cd}.base-c{background:#9bb4c7}.base-g{background:#cfb7af}.base-last{background:#e9d9a8}.base-ambiguous{background:#b7b2ce}.composition-figure figcaption{color:#5d6963;font-size:.83rem;line-height:1.7;margin-top:12px}.content-section{margin-top:46px}.formula-list{display:grid;grid-template-columns:1fr 1fr}.formula-list article{border:1px solid #cbd0cd;display:grid;gap:7px;margin:-1px 0 0 -1px;padding:18px}.formula-list strong{font-size:.95rem;overflow-wrap:anywhere}.formula-list span{color:#66716c;font-size:.84rem}.proof-guide{border:1px solid #cbd0cd;margin-top:20px;padding:20px}.proof-guide h3{margin:0 0 12px}.proof-guide li{line-height:1.8}.proof-guide ul{margin:0;padding-left:22px}@media(max-width:620px){.calculator-panel{padding:20px 14px}.summary-grid{grid-template-columns:1fr 1fr}.aggregate-grid,.formula-list{grid-template-columns:1fr}.aggregate-wide{grid-column:auto}.form-actions{display:grid;grid-template-columns:1fr 1fr}.button{padding-inline:10px}.content-section{margin-top:34px}.base-table th,.base-table td{padding:9px 8px}}
