:root{font-family:system-ui,-apple-system,"Microsoft YaHei",sans-serif;color:#1b3044;background:#f3f7fb}*{box-sizing:border-box}body{margin:0}header{background:linear-gradient(110deg,#153a62,#217c9d);color:white;padding:34px 0}.wrap{max-width:1050px;margin:auto;padding:0 20px}.eyebrow{font-size:13px;opacity:.85}h1{font-size:34px;margin:10px 0}header p{opacity:.9}h2{margin-top:0}h3{margin-top:25px}.tabs{display:flex;gap:8px;overflow-x:auto;padding:20px 0}.tabs button{white-space:nowrap;background:white;border:1px solid #d7e3ed}.tabs button.active{background:#205b85;color:white}.panel{display:none;background:white;padding:28px;border-radius:15px;box-shadow:0 5px 24px #173a6010;margin-bottom:30px}.panel.active{display:block}button{padding:11px 17px;border-radius:9px;border:1px solid #8ca9c1;background:#edf5fa;color:#17436b;font-weight:600;cursor:pointer;margin:5px 5px 5px 0}.primary{background:#146c91;color:white;border-color:#146c91}.secondary{background:white}.notice{padding:14px;background:#edf6fc;border-left:4px solid #2d84b1;border-radius:5px;margin:16px 0}.diagram{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;background:#f1f6fa;border-radius:10px;padding:18px;text-align:center}.diagram span{font-size:13px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:20px}.controls label{font-weight:600}input[type=range]{display:block;width:100%;margin:15px 0}canvas{width:100%;height:auto;background:#0d2136;border-radius:10px;margin:15px 0}.readout{font-size:14px;background:#eef5f9;padding:12px;border-radius:8px}.tablewrap{overflow-x:auto}table{border-collapse:collapse;width:100%;margin:15px 0}td,th{border-bottom:1px solid #dce7ef;padding:9px;text-align:left}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}form label{display:block;font-weight:600;margin:15px 0}form input:not([type=checkbox]),form select,textarea{display:block;width:100%;padding:11px;border:1px solid #bdcfdd;border-radius:8px;margin-top:6px;font:inherit}textarea{min-height:90px}.check{display:flex;gap:10px;align-items:start}#status{font-weight:600;white-space:pre-wrap}footer{color:#60758a;font-size:13px;padding-bottom:40px}@media(max-width:650px){.controls,.fields{grid-template-columns:1fr}.panel{padding:17px}h1{font-size:27px}.diagram{justify-content:center}.tabs button{font-size:12px;padding:10px}}
