:root{color-scheme:light;--blue:#174b7a;--ink:#263544;--sub:#60738a;--edge:#dae3ee;--paper:#fff;--bg:#f5f8fc}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,system-ui,sans-serif;font-size:16px;line-height:1.55}
.page{max-width:1060px;margin:0 auto;padding:24px 22px 54px}
h1{font-size:clamp(1.75rem,4vw,2.3rem);margin:0 0 8px;color:#173d64}h2{font-size:1.24rem;color:#173d64;margin:0 0 15px}
header p{max-width:880px;margin:9px 0 12px}.main-formula{font-size:1.12rem;margin:12px 0 20px}
.panel{background:var(--paper);border:1px solid var(--edge);border-radius:12px;padding:22px;margin:18px 0;box-shadow:0 3px 12px rgba(27,51,79,.035)}
label{display:block;font-weight:650;color:#263e56}input:not([type=radio]),select{display:block;width:100%;max-width:100%;background:#fff;border:1px solid #b6c8dc;border-radius:7px;padding:11px 12px;font-size:16px;margin-top:5px;color:#1c2f42}
input:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid #a3c9ef;outline-offset:2px}
.input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin:17px 0}
.hint{color:var(--sub);font-size:.92rem;margin:8px 0 16px;font-weight:400}
code{font-family:Consolas,monospace;background:#f0f4fa;border-radius:3px;padding:2px 4px;color:#153d65}
fieldset.choice{border:1px solid var(--edge);border-radius:9px;padding:12px 16px;margin:17px 0}fieldset.choice legend{font-weight:700;color:#193e67;padding:0 5px}
.choice-row{display:flex;align-items:center;gap:9px;margin:5px 0;font-weight:500}.choice-row input{width:17px;height:17px;accent-color:var(--blue)}#g-row{padding:10px 0 0}
button{border:1px solid #15588e;background:#1d6198;color:#fff;border-radius:8px;padding:11px 15px;font-weight:650;font-size:.96rem;cursor:pointer;margin:3px 6px 3px 0}button:hover:not(:disabled){background:#124773}button.secondary{background:#fff;color:#1f5785;border:1px solid #a7bfd6}button.secondary:hover:not(:disabled){background:#ebf3fb}button:disabled{opacity:.45;cursor:not-allowed}
#alert{background:#fff2ee;border:1px solid #d99b91;color:#842d25;padding:12px 15px;border-radius:8px}
.formula-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.formula-grid>div{min-width:0;background:#f5f8fc;border:1px solid #e1e7f0;border-radius:8px;padding:12px}.formula-grid span{display:block;color:#55718c;font-size:.88rem;font-weight:650}.tex{overflow-x:auto;padding:10px 4px 5px;min-height:49px}
.notice{background:#f5f8fd;border-left:3px solid #b4cee7;border-radius:0 5px 5px 0;padding:11px 13px;color:#30485f}
.facts{display:flex;gap:15px;flex-wrap:wrap;margin:16px 0 4px}.facts>div{background:#f5f8fc;border-radius:7px;padding:10px 14px;min-width:145px;flex:1}dt{font-size:.87rem;color:var(--sub)}dd{margin:3px 0 0;font-weight:700;color:#244665;word-break:break-word}
#alternatives{margin-top:16px;max-width:640px}
.plot-wrap{border:1px solid var(--edge);border-radius:8px;overflow:hidden;background:#fff}.plot-wrap canvas{display:block;width:100%;height:auto;max-height:520px;aspect-ratio:900/480}
.step-buttons{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px}.step-buttons button{margin:0}
.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:.94rem}th,td{padding:10px 9px;text-align:right;border-bottom:1px solid #e6edf5}th:first-child,td:first-child{text-align:center}th{color:#244665;background:#f3f7fc}tr.current{background:#e9f5ff}
footer{font-size:.91rem;color:#5b6f82;padding:10px 0}footer a{color:#1764aa}
@media(max-width:640px){.page{padding:19px 12px 35px}.panel{padding:15px;margin:14px 0}.input-grid,.formula-grid{grid-template-columns:1fr}.step-buttons button{flex:1 1 44%}h2{font-size:1.12rem}.plot-wrap{overflow-x:auto}.plot-wrap canvas{width:700px;min-width:700px;max-height:none}}
