:root{--bg:#ffffff;--panel:#f6f7f9;--border:#d9dee5;--fg:#1a1d21;--muted:#5b636e;--accent:#0e6e63;--accent-fg:#ffffff;--warn:#8a5a00;--code-bg:#eef1f4}@media (prefers-color-scheme:dark){:root{--bg:#0f1216;--panel:#171b21;--border:#2a313b;--fg:#e7ebf0;--muted:#9aa4b1;--accent:#3fb9ac;--accent-fg:#06120f;--warn:#e0b357;--code-bg:#10151b}}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}main{max-width:880px;margin:0 auto;padding:2rem 1.25rem 4rem}h1{font-size:1.5rem;margin:0 0 .25rem}.sub{color:var(--muted);font-size:.9rem;margin:0 0 1.5rem}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:1.25rem;margin-bottom:1.25rem}.panel h2{font-size:1.05rem;margin:0 0 .75rem;border-left:3px solid var(--accent);padding-left:.5rem}label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.25rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:.9rem;gap:.9rem}input[type=number],input[type=text],select{width:100%;padding:.5rem .6rem;font-size:1rem;color:var(--fg);background:var(--bg);border:1px solid var(--border);border-radius:6px;color-scheme:light dark}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:1px}table{width:100%;border-collapse:collapse;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td,th{border:1px solid var(--border);padding:.45rem .6rem;text-align:right}td:first-child,th:first-child{text-align:left}thead th{background:var(--code-bg)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.result{font-size:1.35rem;font-weight:700;color:var(--accent)}.note{color:var(--muted);font-size:.82rem;margin-top:.5rem}.warn{color:var(--warn)}.overflow{overflow-x:auto}.cta p{margin:.4rem 0 .9rem;color:var(--fg)}.cta-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.5rem}.btn{display:inline-block;padding:.5rem 1rem;border-radius:6px;font-size:.92rem;text-decoration:none;border:1px solid var(--border);transition:opacity .15s ease}.btn:hover{opacity:.88}.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.btn-secondary{background:transparent;color:var(--fg)}.site-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border);color:var(--muted);font-size:.82rem}.site-footer a{color:var(--accent)}