.zsp{--ink:#16263F;--body:#334155;--muted:#64748B;--teal:#0F857A;--teal-dark:#0B6B62;--teal-bright:#5EEAD4;
  --line:#E2E8F0;--paper:#fff;--page:#F5F7FA;--amber:#92600A;--amber-bg:#FEF6E7;
  --mono:ui-monospace,"SF Mono","Cascadia Code",Menlo,Consolas,monospace;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  max-width:1000px;margin:0 auto;font-family:var(--sans);color:var(--body);line-height:1.5;
  background:var(--paper);border:1px solid var(--line);border-radius:16px;
  box-shadow:0 1px 2px rgba(16,38,63,.04),0 12px 32px -12px rgba(16,38,63,.12);overflow:hidden}
 .zsp *,.zsp *::before,.zsp *::after{box-sizing:border-box}
 .zsp__head{padding:28px 32px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-start}
 .zsp__eyebrow{margin:0 0 10px;font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-dark)}
 .zsp__title{margin:0 0 8px;font-size:27px;line-height:1.15;font-weight:700;letter-spacing:-.02em;color:var(--ink)}
 .zsp__lead{margin:0;max-width:60ch;font-size:15px;line-height:1.55;color:var(--muted)}
 .zsp__toggle{display:inline-flex;border:1.5px solid var(--line);border-radius:10px;padding:3px;gap:2px;flex-shrink:0}
 .zsp__toggle button{border:none;background:transparent;font:inherit;font-weight:700;font-size:13.5px;color:var(--muted);padding:8px 16px;border-radius:7px;cursor:pointer;transition:background .12s,color .12s}
 .zsp__toggle button.is-active{background:var(--ink);color:#fff}
 .zsp__grid{display:grid;grid-template-columns:1fr 1fr}
 @media(max-width:760px){.zsp__grid{grid-template-columns:1fr}}
 .zsp__inputs{padding:26px 32px 30px;display:grid;gap:17px;align-content:start}
 .zsp__field{display:grid;gap:7px}
 .zsp__field>label{font-size:13.5px;font-weight:600;color:var(--ink)}
 .zsp__hint{font-size:12px;color:var(--muted);margin:-2px 0 0}
 .zsp__inputwrap{position:relative;display:flex;align-items:center}
 .zsp input[type=number],.zsp select{width:100%;font:inherit;font-size:15px;color:var(--ink);background:#fff;
  border:1.5px solid var(--line);border-radius:9px;padding:11px 12px;transition:border-color .12s,box-shadow .12s}
 .zsp input[type=number]{font-variant-numeric:tabular-nums;padding-right:38px;-moz-appearance:textfield}
 .zsp input[type=number]::-webkit-outer-spin-button,.zsp input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
 .zsp__unit{position:absolute;right:12px;font-size:14px;color:var(--muted);pointer-events:none}
 .zsp select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748B' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px}
 .zsp input:focus,.zsp select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(15,133,122,.16)}
 .zsp__check{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer}
 .zsp__check input{width:17px;height:17px;accent-color:var(--teal)}
 .zsp__sub{border-left:2px solid var(--teal-tint,#E9F5F3);padding-left:14px;display:grid;gap:14px;margin-top:2px}
 .zsp__sub[hidden]{display:none}
 .zsp__two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
 .zsp__result{padding:26px 32px 30px;background:var(--page);border-left:1px solid var(--line)}
 @media(max-width:760px){.zsp__result{border-left:none;border-top:1px solid var(--line)}}
 .zsp__statement{background:var(--ink);border-radius:13px;padding:20px 22px;color:#fff;display:grid;gap:13px}
 .zsp__stmt-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
 .zsp__stmt-row span{font-size:13.5px;color:#AEBED6}
 .zsp__stmt-row strong{font-size:22px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#fff}
 .zsp__stmt-row--main{border-top:1px solid rgba(255,255,255,.14);padding-top:13px}
 .zsp__stmt-row--main span{color:#CFE9E4;font-weight:600}
 .zsp__stmt-row--main strong{color:var(--teal-bright);font-size:29px}
 .zsp--flash .zsp__stmt-row--main strong{animation:zspflash .5s ease}
 @keyframes zspflash{0%{color:#fff}100%{color:var(--teal-bright)}}
 .zsp__bar{margin-top:16px;height:34px;border-radius:8px;overflow:hidden;display:flex;background:rgba(255,255,255,.08)}
 .zsp__bar div{height:100%}
 .zsp__bar .b1{background:var(--teal-bright)}
 .zsp__bar .b2{background:#3A5170}
 .zsp__bar .b3{background:#8798AE}
 .zsp__legend{display:flex;gap:16px;margin-top:9px;flex-wrap:wrap}
 .zsp__legend span{font-size:11.5px;color:#AEBED6;display:flex;align-items:center;gap:6px}
 .zsp__dot{width:9px;height:9px;border-radius:2px;display:inline-block}
 .zsp__sec{margin-top:22px}
 .zsp__sec h3{margin:0 0 11px;font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
 .zsp__row{display:grid;grid-template-columns:18px 1fr auto;align-items:baseline;gap:8px;padding:5.5px 0;font-size:13.5px}
 .zsp__op{font-family:var(--mono);color:var(--teal);font-weight:700;text-align:center}
 .zsp__val{font-family:var(--mono);font-size:13px;color:var(--ink);text-align:right;white-space:nowrap}
 .zsp__row--sub .zsp__lbl,.zsp__row--sub .zsp__val{color:var(--muted)}
 .zsp__row--total{border-top:1.5px solid var(--line);margin-top:4px;padding-top:9px}
 .zsp__row--total .zsp__lbl{font-weight:700;color:var(--ink)}
 .zsp__row--total .zsp__val{font-weight:700;color:var(--ink);font-size:14px}
 .zsp__row--final{border-top:3px double var(--ink);margin-top:4px;padding-top:10px}
 .zsp__row--final .zsp__lbl{font-weight:700;color:var(--ink)}
 .zsp__row--final .zsp__val{font-weight:700;color:var(--teal-dark);font-size:15px}
 .zsp__cap{margin:12px 0 0;display:flex;gap:8px;align-items:flex-start;background:var(--amber-bg);color:var(--amber);border-radius:8px;padding:10px 12px;font-size:12.5px;line-height:1.5}
 .zsp__cap[hidden]{display:none}
 .zsp__note{margin:16px 0 0;font-size:12px;color:var(--muted);line-height:1.5}
 .zsp__disclaimer{margin:8px 0 0;font-size:11.5px;color:#94A3B8;line-height:1.5}
 @media(prefers-reduced-motion:reduce){.zsp *{animation:none!important}}