:root{--bg:#f4f6f9;--surface:#fff;--text:#16202a;--muted:#5b6875;--border:#d9e0e7;--accent:#1f5f8b;--accent-contrast:#fff;--accent-soft:#e3eef6;--ok:#1d7a46;--ok-soft:#e1f3e8;--warn:#8a5a00;--warn-soft:#fbf0d9;--err:#b42318;--err-soft:#fdecea;--radius:12px;--mono:ui-monospace, "Cascadia Code", "JetBrains Mono", Consolas, "Liberation Mono", monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f151b;--surface:#17202a;--text:#e6edf3;--muted:#9aa7b4;--border:#2b3844;--accent:#5aa9e0;--accent-contrast:#0b1520;--accent-soft:#1c3346;--ok:#5fd08f;--ok-soft:#173826;--warn:#e7b453;--warn-soft:#3a2e14;--err:#ff8a80;--err-soft:#3d1c1a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans,PingFang SC,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.5}h1,h2,h3{margin:0;line-height:1.25}h1{font-size:1.5rem}h2{font-size:1.1rem}h3{margin-top:1rem;font-size:.95rem}.page{max-width:1120px;margin:0 auto;padding:16px}.header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand p{margin:2px 0 0;font-size:.9rem}.logo{background:var(--accent);width:44px;height:44px;color:var(--accent-contrast);border-radius:12px;place-items:center;font-size:1.6rem;font-weight:700;display:grid}.lang{flex-wrap:wrap;gap:4px;display:flex}.lang-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font:inherit;border-radius:8px;padding:6px 10px;font-size:.9rem}.lang-btn.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}@media (width<=860px){.layout{grid-template-columns:minmax(0,1fr)}}.col-main,.col-side{flex-direction:column;gap:16px;min-width:0;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card.empty{margin:0}.field-label{margin-bottom:6px;font-weight:600;display:block}.hint{color:var(--muted);margin:6px 0 0;font-size:.85rem}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.expr-row{border:2px solid var(--border);background:var(--bg);border-radius:10px;align-items:center;gap:6px;padding:4px 8px;display:flex}.expr-row:focus-within{border-color:var(--accent)}.radical{color:var(--accent);font-size:1.6rem;font-weight:700}.expr-row input{min-width:0;color:var(--text);font-family:var(--mono);background:0 0;border:0;outline:0;flex:1;padding:8px 4px;font-size:1.2rem}.expr-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.symbols,.presets{flex-wrap:wrap;gap:6px;display:flex}.counter{font-size:.8rem}.chip{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;min-width:36px;font:inherit;border-radius:8px;padding:4px 10px}.chip:hover{border-color:var(--accent)}.chip.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.btn{cursor:pointer;font:inherit;border:1px solid #0000;border-radius:10px;padding:8px 14px}.btn.primary{background:var(--accent);color:var(--accent-contrast);font-weight:600}.btn.primary:disabled{opacity:.6;cursor:progress}.btn.big{width:100%;margin-top:12px;padding:12px;font-size:1.05rem}.btn.ghost{color:var(--muted);border-color:var(--border);background:0 0}.btn.ghost:hover{color:var(--text)}.btn.small{padding:3px 10px;font-size:.85rem}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.precision{border-top:1px solid var(--border);margin-top:18px;padding-top:16px}.precision-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.precision-row input[type=range]{min-width:140px;accent-color:var(--accent);flex:1}.precision-row input[type=number]{border:1px solid var(--border);background:var(--bg);width:90px;color:var(--text);font:inherit;border-radius:8px;padding:6px 8px}.result-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.badge{border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.approx{background:var(--warn-soft);color:var(--warn)}.result-row{border-top:1px solid var(--border);grid-template-columns:150px minmax(0,1fr) auto;align-items:baseline;gap:8px;padding:8px 0;display:grid}.result-row:first-of-type{border-top:0}@media (width<=560px){.result-row{grid-template-columns:minmax(0,1fr) auto}.result-label{grid-column:1/-1}}.result-label{color:var(--muted);font-size:.9rem}.result-value{overflow-wrap:anywhere;word-break:break-all}.result-row.strong .result-value{font-size:1.25rem;font-weight:600}.sign{color:var(--accent);font-weight:700}.warnings{background:var(--warn-soft);color:var(--warn);border-radius:8px;margin:10px 0 0;padding:10px 12px 10px 28px;font-size:.9rem}.card.error{border-color:var(--err);background:var(--err-soft)}.card.error h2{color:var(--err);margin-bottom:6px}.card.error p{margin:0}.pointer{background:var(--surface);overflow-wrap:anywhere;border-radius:8px;margin-top:10px;padding:8px}.pointer mark{background:var(--err);color:#fff;border-radius:3px;padding:0 2px}.history ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.history-item{text-align:left;background:var(--bg);border:1px solid var(--border);cursor:pointer;width:100%;color:var(--text);font:inherit;overflow-wrap:anywhere;border-radius:8px;flex-direction:column;gap:2px;padding:6px 10px;display:flex}.history-item:hover{border-color:var(--accent)}.history-item .muted{max-height:3em;font-size:.85rem;overflow:hidden}.help summary{cursor:pointer;list-style:none}.help summary::-webkit-details-marker{display:none}.help summary h2:after{content:" ▾";color:var(--muted)}.help[open] summary h2:after{content:" ▴"}.help ul{margin:6px 0 0;padding-left:20px;font-size:.9rem}.footer{flex-wrap:wrap;justify-content:center;gap:16px;margin:24px 0 8px;font-size:.85rem;display:flex}.footer a{color:var(--accent)}.boundary{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:520px;margin:80px auto;padding:24px}
