
:root{color-scheme:light;--ink:#142e4a;--muted:#596f86;--accent:#164d80;--line:#d5e2ef;--soft:#f1f6fc;--white:#fff;--warning:#965b1b}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.5}.wrap{max-width:1120px;margin:auto;padding:clamp(16px,3vw,32px)}.eyebrow{letter-spacing:.12em;font-size:11px;font-weight:750;color:var(--accent)}h1{font-size:clamp(23px,3vw,35px);margin:4px 0 9px;line-height:1.16;letter-spacing:-.028em}h2{font-size:18px;margin:0 0 15px}.intro{color:var(--muted);margin:0 0 24px;max-width:780px}.layout{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(320px,.9fr);gap:20px;align-items:start}.panel{border:1px solid var(--line);border-radius:15px;background:#fff;padding:clamp(16px,2.5vw,25px)}.result{background:var(--soft);position:sticky;top:12px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px}.field{min-width:0}.field.full{grid-column:1/-1}label{font-size:13px;font-weight:650;display:block;margin-bottom:6px}.hint{font-size:11px;color:var(--muted);margin-top:5px}.input-wrap{display:flex;border:1px solid #b8cde1;border-radius:8px;background:white;align-items:center;overflow:hidden}.input-wrap:focus-within{outline:2px solid #9fc6ed;border-color:var(--accent)}input[type=number],input[type=time],select{min-width:0;width:100%;height:42px;border:1px solid #b8cde1;background:#fff;color:var(--ink);border-radius:8px;padding:0 10px;font:inherit;font-size:14px}input[type=number].with-unit{border:none;border-radius:0}input:focus,select:focus{outline:2px solid #9fc6ed;border-color:var(--accent)}input.with-unit:focus{outline:0}.unit{white-space:nowrap;color:#64757c;padding:0 11px;font-size:12px}select{appearance:auto}hr{border:0;border-top:1px solid var(--line);margin:22px 0}.section-label{font-size:13px;font-weight:800;margin-bottom:12px}.output-top{display:flex;align-items:start;justify-content:space-between;gap:10px}.estimate{font-size:clamp(34px,5vw,48px);font-weight:800;letter-spacing:-.05em;line-height:1.05;margin-top:4px}.small{font-size:12px;color:var(--muted)}.pill{padding:5px 9px;border-radius:40px;background:#dceafb;color:#164d80;font-weight:700;font-size:11px;white-space:nowrap}.arrival{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.arrival .big{font-weight:800;font-size:27px;line-height:1.2;margin-top:4px}.statgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:17px}.stat{border:1px solid var(--line);border-radius:10px;padding:12px;background:white}.stat strong{font-size:20px;display:block;margin-top:3px;letter-spacing:-.02em}.range{background:white;border:1px solid var(--line);border-radius:11px;padding:13px;margin-top:12px}.range strong{display:block;font-size:19px;margin-top:4px}.track{height:11px;margin:13px 0 3px;border-radius:100px;position:relative;background:linear-gradient(90deg,#a6d1f3,#164d80,#112e55)}.tick{position:absolute;left:45%;top:-5px;width:3px;height:21px;background:#142e4a;border:1px solid white;border-radius:2px}.track-label{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.note{font-size:12px;color:var(--muted);line-height:1.55;margin-top:16px}.warning{border-left:3px solid #bc8b45;padding-left:11px;color:#6c5a42;font-size:12px;margin-top:16px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}button{appearance:none;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:white;min-height:42px;padding:9px 13px;font:inherit;font-size:13px;font-weight:750;cursor:pointer}button.secondary{background:#fff;color:var(--accent)}button:hover{filter:brightness(.94)}details{border:1px solid var(--line);border-radius:11px;margin-top:17px;padding:13px 16px}summary{font-weight:700;cursor:pointer}details p{color:var(--muted);font-size:13px}.error{color:#b42318;font-size:12px;min-height:18px;margin-top:8px}.foot{font-size:12px;color:var(--muted);margin-top:19px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:770px){.layout{grid-template-columns:1fr}.result{position:static}}@media(max-width:430px){.fields{grid-template-columns:1fr}.statgrid{grid-template-columns:1fr 1fr}.wrap{padding:14px}}@media print{.actions,details{display:none}.result{position:static}body{font-size:11pt}.layout{grid-template-columns:1fr 1fr}.panel{break-inside:avoid}}

body{font-family:"Open Sans",Arial,sans-serif}.wrap{padding:5px;max-width:100%}h1,h2{font-family:Raleway,Arial,sans-serif}.panel{border-radius:10px}.estimate{font-size:38px}.layout{grid-template-columns:1fr}.result{position:static}button:disabled{opacity:.5;cursor:not-allowed}textarea{width:100%;min-height:200px} @media(min-width:1100px){.layout{grid-template-columns:1.2fr 1fr}}

.tick{transform:translateX(-50%)}.track[hidden],.track-label[hidden]{display:none}

/* Slider controls, shared blue palette and visible touch/keyboard targets. */
.controls-hint{font-size:12px;color:var(--muted);margin:-4px 0 18px;line-height:1.6}
.slider-field{padding:13px;border:1px solid var(--line);border-radius:10px;background:#f7faff}
.field-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px}
.field-head label{margin:0;flex:1}.field-head .input-wrap{width:112px;flex:0 0 112px}
.field-head input[type=number]{height:36px;padding-left:8px}.field-head .unit{padding:0 8px}
.slider-value{color:var(--accent);font-size:13px;font-weight:800;white-space:nowrap}
.choice-value{display:block;min-height:42px;font-size:14px;font-weight:700;color:var(--accent)}
input[type=range]{--fill:0%;appearance:none;-webkit-appearance:none;width:100%;height:44px;margin:4px 0 0;padding:0;background:transparent;cursor:pointer;touch-action:pan-y;accent-color:var(--accent)}
input[type=range]::-webkit-slider-runnable-track{height:8px;border-radius:20px;background:linear-gradient(to right,#164d80 0 var(--fill),#d9e5f2 var(--fill) 100%)}
input[type=range]::-moz-range-track{height:8px;border-radius:20px;background:linear-gradient(to right,#164d80 0 var(--fill),#d9e5f2 var(--fill) 100%)}
input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:24px;height:24px;margin-top:-8px;border:3px solid #164d80;border-radius:50%;background:#fff;box-shadow:0 1px 4px #15365726}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border:3px solid #164d80;border-radius:50%;background:#fff;box-shadow:0 1px 4px #15365726}
input[type=range]:focus-visible{outline:2px solid #277dc0;outline-offset:2px;border-radius:6px}
.slider-limits{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}
button:focus-visible,summary:focus-visible{outline:3px solid #7db1df;outline-offset:3px}
@media(max-width:600px){.fields{grid-template-columns:1fr}.slider-field{padding:12px}.estimate{font-size:36px}}
@media(min-width:1100px) and (max-width:1300px){.fields{grid-template-columns:1fr}}
@media print{input[type=range],.slider-limits,.controls-hint{display:none}.slider-field{padding:8px}}

.error.is-pending{color:var(--muted)}
