*{box-sizing:border-box} :root{--bg:#edf3f4;--panel:#fff;--ink:#183441;--muted:#607b87;--line:#d2dfe3;--accent:#087f76;--soft:#e4f4ef;--danger:#a33625;color-scheme:light}html[data-theme=dark]{--bg:#101d26;--panel:#192e3a;--ink:#e0eef2;--muted:#9eb7c3;--line:#344e5c;--accent:#70d7b7;--soft:#213f40;--danger:#ffaf91;color-scheme:dark}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 system-ui,Segoe UI,sans-serif}button,input,select{font:inherit}button,select,input{color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:7px}button{padding:8px 12px;cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #cf8d47;outline-offset:3px}[hidden]{display:none!important}header{min-height:84px;background:var(--panel);border-bottom:1px solid var(--line);padding:16px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;gap:12px;text-decoration:none;color:var(--ink);font-size:23px;line-height:1.2;align-items:center}.brand img{width:45px}.brand b{color:var(--accent)}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:5px;color:var(--muted)}.header-actions{display:flex;align-items:center;gap:14px}.local{font-size:11px;color:var(--muted)}#languagePicker{position:relative}#languageButton{display:flex;align-items:center;gap:8px}#languagePicker img{width:21px;height:15px;object-fit:cover}#languageMenu{position:absolute;inset-inline-end:0;top:44px;width:180px;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:8px;z-index:5;box-shadow:0 8px 30px #0003}#languageMenu button{display:flex;gap:9px;width:100%;border:0;text-align:start}main{display:grid;grid-template-columns:340px minmax(0,1fr);max-width:1700px;margin:auto}aside{padding:25px 22px;border-inline-end:1px solid var(--line)}.intro h1{font-size:27px;line-height:1.15;margin:8px 0 12px}.intro p:not(.eyebrow){font-size:13px;color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--accent);font-weight:750;margin:0 0 5px}h2{font-size:15px;margin:0 0 15px}section,details{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:16px}aside section{padding:17px 14px}.types{display:flex;gap:5px;margin-bottom:18px}.types button{flex:1;padding:9px 3px;font-size:11px}.types button[aria-pressed=true]{background:var(--accent);color:var(--panel);font-weight:750}label{display:block;font-size:11px;color:var(--muted);margin:0 0 13px}label span{display:block;margin-bottom:5px}label input,label select{width:100%;height:38px;padding:7px 9px;font-size:13px;color:var(--ink)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.hint{font-size:11px;color:var(--muted);margin-bottom:0}.quiet{width:100%;background:transparent}.workspace{padding:25px 28px;min-width:0}.workspace-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px}.workspace-head h2{font-size:23px;margin:0}.actions{display:flex;gap:7px}.actions button{font-size:11px}.drawing-panel{padding:0;overflow:hidden}.drawing-bar{padding:12px 18px;display:flex;justify-content:space-between;gap:12px;font-size:10px;color:var(--muted);border-bottom:1px solid var(--line)}#drawing{background:radial-gradient(var(--line) .7px,transparent .7px);background-size:18px 18px}#drawing svg{display:block;width:100%;max-height:400px;min-height:230px}.simulation{display:flex;align-items:center;gap:14px;padding:12px 18px;border-top:1px solid var(--line)}.simulation label{margin:0;min-width:110px}.simulation input{flex:1;min-width:30px;accent-color:var(--accent)}.simulation output{font-size:11px;min-width:100px;text-align:end}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.metric{padding:17px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.metric small{font-size:10px;color:var(--muted);display:block}.metric strong{font-size:24px;color:var(--accent);display:block;margin-top:7px}.metric span{font-size:11px}.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bottom-grid section{min-width:0}#chart svg{width:100%;display:block}dl{margin:0}dl div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:9px 0;font-size:11px}dt{color:var(--muted)}dd{margin:0;text-align:end;font-variant-numeric:tabular-nums}.notes p,.notes li,details{font-size:12px;color:var(--muted)}.notes ul{padding-inline-start:18px}.notes li{color:var(--danger);margin:7px 0}.notes h2{color:var(--ink)}summary{cursor:pointer;font-weight:700;color:var(--ink)}code{display:block;padding:12px;background:var(--soft);margin:8px 0;overflow:auto}.error{padding:18px;background:var(--panel);color:var(--danger);border:1px solid var(--danger);border-radius:9px;margin-bottom:16px}footer{display:flex;gap:18px;justify-content:center;padding:20px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.theme-toggle{position:relative;display:flex;align-items:center;gap:5px;padding:7px;border-radius:30px}.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.theme-sun{color:#be852f}html[data-theme=dark] .theme-moon{color:#70d7b7}.theme-thumb{display:none}@media(max-width:1100px){main{grid-template-columns:300px minmax(0,1fr)}.workspace{padding:20px 16px}.metrics{grid-template-columns:1fr 1fr}.bottom-grid{grid-template-columns:1fr}.workspace-head{align-items:start;flex-direction:column}}@media(max-width:720px){header{padding:12px 16px}.local{display:none}.brand{font-size:18px}.brand img{width:35px}#currentLanguage{display:none}.header-actions{gap:6px}main{grid-template-columns:1fr}aside{padding:20px 16px;border:0}.intro h1{font-size:24px}.workspace{padding-top:0}.simulation{flex-wrap:wrap}.drawing-bar{flex-wrap:wrap}.metric strong{font-size:22px}footer{flex-wrap:wrap}.fields{gap:0 15px}}@media print{html[data-theme]{--bg:#fff;--panel:#fff;--ink:#183441;--muted:#506471;--line:#cbd8df;--accent:#087f76;color-scheme:light}header .header-actions,.types,.actions,.simulation,#reset,footer,details{display:none!important}main{display:block}aside{padding:10px;border:0}aside .intro{display:none}form{display:flex;gap:15px}form section{width:50%;break-inside:avoid}input,select{border:0!important}section,.metric{break-inside:avoid}.workspace{padding:10px}.bottom-grid{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:repeat(4,1fr)}#drawing svg{max-height:260px}body{font-size:11px}.notes{margin-top:10px}}

:root{--accent:#246e92;--soft:#e7f2f8}html[data-theme=dark]{--accent:#7bc8e1;--soft:#203e50}.presets{display:grid;grid-template-columns:1fr 1fr;gap:8px}.presets button{font-size:12px}.source-stamp{font-size:10px;color:var(--muted);padding:12px 3px}.fit-summary{display:flex;align-items:center;gap:18px;padding:17px 20px}.fit-summary p{margin:0;font-size:12px;color:var(--muted)}#fitBadge{font-size:14px;font-weight:750;white-space:nowrap;padding:7px 12px;border-radius:6px;background:var(--soft);color:var(--accent)}#fitBadge[data-type=interference]{background:#f9e7df;color:#994727}#fitBadge[data-type=transition]{background:#f5ebd3;color:#836015}.drawing-bar h2{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:start;color:var(--muted);font-size:10px;font-weight:600}td,th{padding:12px 9px;border-bottom:1px solid var(--line);white-space:nowrap}td{font-variant-numeric:tabular-nums}td button{padding:4px 8px}.bottom-grid{grid-template-columns:1.15fr 1fr}label input[type=range]{padding:0;height:25px;accent-color:var(--accent)}label output{font-size:12px;display:block;text-align:end;color:var(--ink)}.simulation-result{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 0 0;border-top:1px solid var(--line)}.simulation-result strong{font-size:22px;color:var(--accent)}.simulation-result span{font-size:11px;color:var(--muted)}.metric strong{font-size:21px}.metric small{min-height:28px}#drawing svg{min-height:200px}#manualFields input{direction:ltr}.drawing-bar{align-items:center}@media(max-width:1100px){.bottom-grid{grid-template-columns:1fr}}@media(max-width:720px){.brand{font-size:15px}.brand small{font-size:8px;letter-spacing:1px}.brand img{width:32px}.fit-summary{align-items:start;flex-direction:column;gap:9px}.metric strong{font-size:19px}.metrics{gap:8px}.metric{padding:13px}.drawing-bar{align-items:start;flex-direction:column}}@media print{.presets,#reset{display:none!important}.fit-summary{break-inside:avoid}.bottom-grid{grid-template-columns:1fr 1fr}}
