.sw{--sw-ink:#183b3e;--sw-muted:#587074;--sw-teal:#207783;--sw-coral:#d96b52;--sw-ochre:#bd903c;max-width:1140px;margin:0 auto;color:var(--sw-ink);font:inherit;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1rem;align-items:start}
.sw *{box-sizing:border-box}
.sw-eyebrow{color:#ad513b;font-size:.76rem;font-weight:800;letter-spacing:.12em;margin:0 0 .4rem}
.sw-presets{grid-column:1/-1;display:flex;gap:.55rem;overflow:auto;padding:.2rem .05rem;scrollbar-width:thin}
.sw-presets button{flex:1 0 205px;text-align:left;background:#fff;border:1.5px solid #d1ded8;border-radius:13px;padding:.7rem .8rem;color:var(--sw-ink);font:inherit;font-weight:750;cursor:pointer}
.sw-presets button span{display:block;font-size:.8rem;font-weight:500;color:var(--sw-muted);margin-top:.15rem}
.sw-presets button[aria-pressed="true"]{border-color:var(--sw-teal);background:#eaf5f0;box-shadow:inset 0 0 0 1px var(--sw-teal)}
.sw-panel,.sw-result,.sw-advanced,.sw-method{background:#fff;border:1px solid #dbe5dd;border-radius:18px;padding:clamp(1rem,2.5vw,1.5rem);margin:0}
.sw-panel{grid-column:1;grid-row:2}.sw-result{grid-column:2;grid-row:2/span 2}.sw-advanced{grid-column:1;grid-row:3}.sw-method,.sw>[data-calculator-rating-anchor]{grid-column:1/-1}
.sw-panel h2,.sw-method h2{margin:0 0 .9rem;font-size:1.25rem}
.sw-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem}
.sw-fields>label{display:grid;grid-template-rows:subgrid;grid-row:span 3;min-width:0;align-items:stretch;gap:.3rem;color:var(--sw-ink)}
.sw-fields>label>span{font-weight:680;line-height:1.25;align-self:end}
.sw-fields input,.sw-fields select{width:100%;min-width:0;min-height:44px;padding:.55rem .75rem;border:1.5px solid #aabfba;border-radius:9px;background:#fff;color:var(--sw-ink);font:inherit;line-height:1.25}
.sw-fields [aria-invalid="true"]{border-color:#bf4f3e;background:#fff6f1}
.sw-fields input:focus,.sw-fields select:focus,.sw button:focus-visible,.sw summary:focus-visible{outline:3px solid #efb557;outline-offset:2px}
.sw-fields small{display:block;color:var(--sw-muted);font-size:.8rem;line-height:1.35}
.sw-add,.sw-opening-head button,.sw-answer button{font:inherit;cursor:pointer;border:1.5px solid var(--sw-teal);border-radius:9px;background:#fff;color:var(--sw-teal);font-weight:700;padding:.55rem .8rem}
.sw-add{margin-top:1rem}
.sw-openings{display:grid;gap:.8rem;margin-top:.8rem}
.sw-openings:empty{display:none}
.sw-opening{padding:1rem;background:#f8faf6;border:1px solid #dce8de;border-radius:13px}
.sw-opening-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}
.sw-opening-head button{padding:.35rem .6rem;border-color:#d9a18e;color:#ad513b}
.sw-error{padding:.75rem 1rem;border:1px solid #c95b44;background:#fff1eb;color:#8b291f;border-radius:10px;margin:.6rem 0 1rem}
.sw-result{background:#fcfdfb;border-color:#bdd7cb}
.sw-answer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:1rem;border-bottom:1px solid #dbe7df}
.sw-answer h2{font-size:clamp(1.45rem,2.8vw,2.1rem);line-height:1.15;margin:0 0 .35rem;color:#175a64}
.sw-answer p:last-child{margin:0;color:var(--sw-muted)}
.sw-answer>div:last-child{display:grid;gap:.3rem;justify-items:start}
.sw-answer button{background:var(--sw-teal);color:#fff}
.sw-answer [role="status"]{font-size:.78rem;color:var(--sw-muted)}
.sw-visual{margin-top:1rem}
.sw-visual-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap}
.sw-visual h3{margin:0;font-size:1rem}
.sw-visual-header p{margin:0;color:var(--sw-muted);font-size:.8rem;max-width:63ch}
.sw-diagram{margin:.6rem 0 .35rem;padding:.25rem;border-radius:10px;background:#f5f9f6;overflow:hidden}
.sw-diagram svg{display:block;width:100%;height:auto;max-height:330px}
.sw-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem;color:var(--sw-muted);font-size:.8rem}
.sw-legend span{display:inline-flex;align-items:center;gap:.35rem}
.sw-key{display:inline-block;width:.72rem;height:.72rem;border-radius:3px}
.sw-key-field{background:var(--sw-teal)}.sw-key-opening{background:var(--sw-coral)}.sw-key-plate{background:var(--sw-ochre)}
.sw-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin-top:1.15rem}
.sw-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:#eef5f1;border-radius:9px;padding:.65rem .7rem;min-width:0}
.sw-breakdown span{color:#426164;font-size:.82rem;line-height:1.2}.sw-breakdown strong{font-size:1.05rem;white-space:nowrap}
.sw-limit{margin:1rem 0 0;color:var(--sw-muted);font-size:.84rem;line-height:1.45}
.sw-advanced summary{cursor:pointer;font-weight:750;color:var(--sw-teal)}
.sw-advanced .sw-fields{margin-top:1rem}
.sw-method{background:#f9faf6;color:#35494b;line-height:1.55}
.sw-method p:last-child{margin-bottom:0}
.sw[hidden],.sw [hidden]{display:none!important}
@media(max-width:900px){.sw{grid-template-columns:minmax(0,1fr)}.sw-presets,.sw-panel,.sw-result,.sw-advanced,.sw-method,.sw>[data-calculator-rating-anchor]{grid-column:1;grid-row:auto}}
@media(max-width:650px){.sw-fields{grid-template-columns:minmax(0,1fr)}.sw-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.sw-answer{align-items:flex-start}.sw-presets button{flex-basis:190px}}
@media(max-width:420px){.sw-breakdown{grid-template-columns:minmax(0,1fr)}.sw-panel,.sw-result,.sw-advanced,.sw-method{padding:1rem}}
@media(prefers-reduced-motion:no-preference){.sw-presets button,.sw-add,.sw-answer button{transition:background .15s ease,border-color .15s ease,transform .15s ease}.sw-presets button:hover,.sw-add:hover,.sw-answer button:hover{transform:translateY(-1px)}}
