:root{color-scheme:dark;--bg:#0e1014;--panel:#181b22;--panel2:#12151b;--line:#424958;--ink:#f5f1e7;--muted:#b9bec9;--accent:#ffd166;--accent2:#8bd3dd;--danger:#ff9b8e;--ok:#9ce7bd}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(circle at 83% 0,#283042 0,transparent 36%),var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif}a{color:var(--accent2)}header,footer{width:min(980px,calc(100% - 32px));margin:auto;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;color:var(--muted);font-size:.9rem}header a{color:var(--ink);font-weight:850;letter-spacing:.08em;text-decoration:none}main{width:min(980px,calc(100% - 32px));margin:auto;padding:38px 0 72px}.eyebrow{margin:0;color:var(--accent);font-size:.78rem;font-weight:850;letter-spacing:.13em}h1{max-width:850px;margin:10px 0 16px;font-size:clamp(2.25rem,7vw,4.8rem);line-height:1.04;letter-spacing:-.045em}.lead{max-width:760px;margin:0 0 32px;color:var(--muted);font-size:1.06rem;line-height:1.85}.card{padding:clamp(18px,4vw,32px);background:rgba(24,27,34,.97);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.25)}h2{margin:0 0 16px;font-size:1.35rem}.formula{margin:0 0 24px;padding:14px 16px;border-left:3px solid var(--accent);background:#20232b;color:#e8e3d8;line-height:1.7}.formula code{white-space:normal}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;align-content:start;gap:8px}.span{grid-column:1/-1}label{font-weight:780}input,select,textarea,button{border-radius:10px;font:inherit}input,select,button{min-height:48px}input,select,textarea{width:100%;padding:11px 13px;border:1px solid #596173;background:#0b0e13;color:var(--ink);font-size:16px}textarea{min-height:130px;resize:vertical;line-height:1.7}input:focus,select:focus,textarea:focus,button:focus-visible{border-color:var(--accent);outline:3px solid rgba(255,209,102,.25);outline-offset:2px}.sub-input{margin-top:2px}.hint{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}.actions{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-top:22px}button{padding:12px 18px;border:0;background:var(--accent);color:#17130a;font-weight:900;cursor:pointer}.secondary{background:#303645;color:var(--ink)}button:hover{filter:brightness(1.06)}.error{min-height:1.5em;margin:12px 0 0;color:var(--danger);font-weight:750;line-height:1.55}.result{margin-top:24px;padding:22px;background:var(--panel2);border:1px solid #5e6678;border-radius:14px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}.metric{min-width:0;padding:15px;background:#1c2029;border-radius:10px}.metric-label{margin:0 0 7px;color:var(--muted);font-size:.83rem}.metric-value{margin:0;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(1.02rem,2.7vw,1.34rem);font-weight:850;overflow-wrap:anywhere}.notice{margin:14px 0 0;padding:13px 15px;border-radius:9px;line-height:1.65}.ok-box{background:#15271e;border:1px solid #315c45}.warn-box{background:#2d1c1a;border:1px solid #70443c}.conditions{margin:15px 0}.table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:10px}.table-wrap table{width:100%;min-width:620px;border-collapse:collapse;background:#10131a}.table-wrap th,.table-wrap td{padding:11px 13px;border-bottom:1px solid #303642;text-align:left;vertical-align:top}.table-wrap th:first-child{width:3rem}.table-wrap td:nth-child(3),.table-wrap td:nth-child(4){white-space:nowrap}.table-wrap tr:last-child th,.table-wrap tr:last-child td{border-bottom:0}.ok{color:var(--ok)}.warn{color:var(--danger);font-weight:800}.details{display:grid;gap:7px;margin-top:34px;color:var(--muted);line-height:1.85}.details h2{margin:26px 0 0;color:var(--ink)}code{padding:.12em .38em;background:#2a2e38;border-radius:5px;color:#fff3bf}.sources{font-size:.9rem}.ad-space{margin-top:28px;padding:16px;border:1px dashed #626a79;border-radius:10px;text-align:center;color:#979eaa;font-size:.88rem}@media(max-width:760px){.metrics{grid-template-columns:1fr 1fr}}@media(max-width:620px){main{padding-top:22px}.grid,.metrics,.actions{grid-template-columns:1fr}.span{grid-column:auto}.card{padding:17px}.metric{padding:14px}header{align-items:flex-start}}
