:root{--tool-ink:#0b1e42;--tool-blue:#115fd4;--tool-electric:#4b97ff;--tool-ice:#edf4ff;--tool-paper:#f8f8f4;--tool-line:rgba(11,30,66,.18);--tool-muted:rgba(11,30,66,.66);--tool-green:#167b55;--tool-orange:#c9471b}
*{box-sizing:border-box}
body.tool-page{margin:0;background:var(--tool-paper);color:var(--tool-ink);font-family:Manrope,system-ui,sans-serif;line-height:1.5}
.tool-topbar{background:var(--tool-ink);color:#fff;padding:14px 22px;position:sticky;top:0;z-index:20;box-shadow:0 8px 30px rgba(5,15,35,.13)}
.tool-topbar-inner{max-width:1180px;margin:auto;display:flex;align-items:center;gap:14px}
.tool-brand{display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-size:13px;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.tool-brand-mark{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:var(--tool-blue);font-weight:900}
.tool-breadcrumb{font-size:13px;color:rgba(255,255,255,.68);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tool-breadcrumb a{color:#fff;text-decoration:none}
.tool-topbar .tool-cta{margin-left:auto;background:#fff;color:var(--tool-ink);border-radius:999px;padding:8px 16px;text-decoration:none;font-size:13px;font-weight:750;white-space:nowrap}
.tool-hero{max-width:1180px;margin:auto;padding:64px 22px 30px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:42px;align-items:end}
.tool-eyebrow{font:500 11px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.09em;color:var(--tool-blue);display:flex;align-items:center;gap:10px;margin-bottom:14px}
.tool-eyebrow:before{content:"";width:28px;height:1px;background:currentColor}
.tool-hero h1,.tools-hub-hero h1{font-size:clamp(42px,6vw,78px);line-height:.94;letter-spacing:-.065em;margin:0 0 18px;font-weight:750}
.tool-lede{font-size:clamp(17px,1.8vw,21px);color:var(--tool-muted);max-width:760px;margin:0}
.tool-standard-card{background:var(--tool-ink);color:#fff;border-radius:20px;padding:24px}
.tool-standard-card strong{display:block;font-size:15px;margin-bottom:7px}
.tool-standard-card p{font-size:13px;color:rgba(255,255,255,.68);margin:0}
.tool-workspace{max-width:1180px;margin:auto;padding:0 22px 70px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.62fr);gap:22px;align-items:start}
.tool-card{min-width:0;background:#fff;border:1px solid var(--tool-line);border-radius:20px;padding:24px;box-shadow:0 12px 35px rgba(11,30,66,.045)}
.tool-card h2{font-size:22px;letter-spacing:-.035em;margin:0 0 5px}
.tool-card h3{font-size:16px;margin:0}
.tool-card-intro{color:var(--tool-muted);font-size:13px;margin:0 0 20px}
.tool-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.tool-field.full{grid-column:1/-1}
.tool-field label,.tool-fieldset legend{display:block;font-size:12px;font-weight:700;margin:0 0 5px;color:var(--tool-ink)}
.tool-field small{display:block;color:var(--tool-muted);font-size:11px;margin-top:4px}
.tool-field input,.tool-field select,.phase-input{width:100%;min-height:45px;padding:10px 12px;border:1px solid var(--tool-line);border-radius:10px;background:#fff;color:var(--tool-ink);font:inherit;font-size:16px}
.tool-field input:focus,.tool-field select:focus,.phase-input:focus{outline:3px solid rgba(75,151,255,.2);border-color:var(--tool-blue)}
.tool-inline{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:8px}
.tool-check{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--tool-line);border-radius:11px;background:var(--tool-paper)}
.tool-check input{width:18px;height:18px;margin:2px 0 0}
.tool-check span{font-size:13px}
.tool-advanced{margin-top:18px;border-top:1px solid var(--tool-line);padding-top:16px}
.tool-advanced summary{cursor:pointer;font-weight:750;font-size:13px;color:var(--tool-blue)}
.tool-advanced .tool-fields{margin-top:14px}
.tool-result{position:sticky;top:82px;background:var(--tool-ice);border-color:rgba(17,95,212,.25)}
.result-kicker{font:500 10px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.09em;color:var(--tool-blue);margin-bottom:7px}
.result-value{font-size:clamp(38px,5vw,62px);font-weight:800;line-height:1;letter-spacing:-.06em;margin:0 0 7px}
.result-status{font-weight:750;font-size:14px;margin-bottom:18px}
.result-status.pass{color:var(--tool-green)}.result-status.fail{color:var(--tool-orange)}
.result-list{margin:0;border-top:1px solid var(--tool-line)}
.result-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--tool-line);font-size:13px}
.result-row span{color:var(--tool-muted)}.result-row strong{text-align:right;font-family:"DM Mono",monospace;font-size:12px}
.result-note{margin:16px 0 0;color:var(--tool-muted);font-size:11.5px;line-height:1.6}
.tool-method{max-width:1180px;margin:0 auto;padding:0 22px 78px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tool-method .tool-card{box-shadow:none}.tool-method p,.tool-method li{font-size:13px;color:var(--tool-muted)}
.tool-method code{font-family:"DM Mono",monospace;color:var(--tool-blue);font-size:12px}
.tool-disclaimer{max-width:1180px;margin:0 auto 30px;padding:0 22px;color:var(--tool-muted);font-size:11px}
.phase-table{max-width:100%;margin-top:18px;overflow-x:auto}
.phase-table table{width:100%;border-collapse:collapse;table-layout:fixed}
.phase-table th{font:500 10px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.06em;text-align:left;color:var(--tool-muted);padding:9px;border-bottom:1px solid var(--tool-line)}
.phase-table th:not(:first-child){text-align:center}.phase-table td{padding:10px 9px;border-bottom:1px solid var(--tool-line);vertical-align:middle}.phase-table td:first-child{width:43%;font-size:13px}.phase-table td small{display:block;color:var(--tool-muted)}
.phase-input{min-width:0;max-width:100%;text-align:right}
#demand-form[data-phase-count="1"] .phase-table th:first-child,
#demand-form[data-phase-count="1"] .phase-table td:first-child{width:56%}
#demand-form[data-phase-count="3"] .phase-table table{min-width:620px}
.phase-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.phase-chip{background:#fff;border:1px solid var(--tool-line);border-radius:10px;padding:12px;text-align:center}.phase-chip span{display:block;font:500 10px "DM Mono",monospace;color:var(--tool-muted)}.phase-chip strong{font-size:20px}
.segment{padding:15px 0;border-bottom:1px solid var(--tool-line)}.segment:last-child{border-bottom:0}.segment-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.segment-grid{display:grid;grid-template-columns:1.4fr .8fr .7fr .6fr;gap:9px}.segment-grid label{font-size:10px;color:var(--tool-muted)}
.hub-wrap{max-width:1180px;margin:auto;padding:65px 22px 90px}.tools-hub-hero{max-width:820px;margin-bottom:48px}
.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.tools-card{display:flex;min-height:350px;flex-direction:column;background:#fff;border:1px solid var(--tool-line);border-radius:22px;padding:26px;text-decoration:none;color:var(--tool-ink);transition:.2s ease}.tools-card:hover{transform:translateY(-5px);border-color:var(--tool-blue);box-shadow:0 20px 45px rgba(11,30,66,.1)}.tools-card-num{font:500 11px "DM Mono",monospace;color:var(--tool-blue)}.tools-card h2{font-size:29px;line-height:1.04;letter-spacing:-.045em;margin:45px 0 13px}.tools-card p{color:var(--tool-muted);font-size:14px}.tools-card .tools-go{margin-top:auto;font-weight:750;color:var(--tool-blue)}
.tool-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.tool-pill{font:500 10px "DM Mono",monospace;border:1px solid var(--tool-line);border-radius:999px;padding:6px 10px;background:#fff}
@media(max-width:850px){.tool-hero{grid-template-columns:1fr;padding-top:45px}.tool-workspace{grid-template-columns:1fr}.tool-result{position:static}.tool-method,.tools-grid{grid-template-columns:1fr}.tools-card{min-height:280px}.segment-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.tool-topbar{padding:11px 14px}.tool-breadcrumb{display:none}.tool-topbar .tool-cta{padding:8px 12px}.tool-hero,.tool-workspace,.hub-wrap{padding-left:14px;padding-right:14px}.tool-fields{grid-template-columns:1fr}.tool-card{padding:18px}.tool-method{grid-template-columns:1fr;padding-left:14px;padding-right:14px}.segment-grid{grid-template-columns:1fr 1fr}.result-row{align-items:flex-start}.phase-result-grid{grid-template-columns:1fr}.tools-grid{gap:14px}}
@media print{.tool-topbar,.tool-method,.tool-disclaimer{display:none}.tool-hero{padding-top:15px}.tool-workspace{display:block}.tool-result{margin-top:18px;break-inside:avoid}.tool-card{box-shadow:none}}
