:root{--ink:#102d37;--paper:#f4f5eb;--accent:#846019;--tint:#ead393;font-family:Arial,sans-serif;background:var(--paper);color:var(--ink)}*{box-sizing:border-box}body{margin:0}header,main{max-width:1100px;margin:auto}header{padding:18px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #9996;gap:16px}a{color:inherit;text-underline-offset:4px}header>a:first-child{font-weight:bold;text-decoration:none}main{padding:0 24px}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center;padding:56px 0}h1{font-size:clamp(36px,5.2vw,62px);letter-spacing:-2px;line-height:1.06;margin:15px 0}h2{font-size:32px;line-height:1.15;margin:14px 0 20px}h3{font-size:21px}p,li{line-height:1.6}.lead{font-size:20px}.quiet,figcaption{font-size:13px;line-height:1.6}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:bold}.store,button{display:inline-block;padding:14px 20px;background:var(--ink);color:var(--paper);border:2px solid var(--ink);border-radius:6px;font:700 16px Arial;text-decoration:none;cursor:pointer}.small{font-size:13px;padding:10px}.secondary{background:transparent;color:var(--ink)}button:disabled{opacity:.5;cursor:not-allowed}button:hover:not(:disabled),.store:hover{filter:brightness(1.18)}button:focus-visible,a:focus-visible,input:focus,textarea:focus,select:focus,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.tool{background:white;color:#172533;border:2px solid var(--ink);border-radius:14px;padding:32px;box-shadow:9px 9px 0 var(--tint)}.section-title{border-bottom:1px solid #ccd4d9;margin-bottom:25px}.hero-art{background:var(--tint);border-radius:24px;padding:28px;text-align:center}.big{font-size:clamp(38px,7vw,76px);font-weight:bold;line-height:1.3}.chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.chip{border:2px solid var(--ink);padding:12px 18px;border-radius:50%;font-size:27px;background:var(--paper)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}label{display:block;font-weight:bold;margin:18px 0 8px}input,select,textarea{display:block;width:100%;padding:13px;border:1px solid #65727d;background:white;color:#172533;font:17px/1.5 Arial;border-radius:5px}textarea{resize:vertical}input[type=checkbox],input[type=radio]{width:auto;display:inline;margin-right:8px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.result{margin:20px 0;padding:24px;background:#f1f5f7;border-left:5px solid var(--accent);white-space:pre-wrap;overflow-wrap:anywhere}.result:empty{display:none}.guide{padding:60px 0;max-width:840px}.guide li{margin:14px 0}.app{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;border-top:1px solid #9996;padding:45px 0}.app-copy>img{border-radius:15px}.app figure{margin:0;text-align:center}.app figure img{width:220px;max-width:100%;height:auto;border-radius:20px;border:1px solid #9995}footer{border-top:1px solid #9996;padding:28px 0;font-size:14px}.track{display:flex;width:100%;height:65px;border:2px solid var(--ink);border-radius:10px;overflow:hidden;margin:24px 0}.track span{display:grid;place-items:center;font-size:24px;font-weight:bold;min-width:20px}.track span:first-child{background:#bde8de}.track span:last-child{background:#eee1ba}.quiz-options{display:flex;gap:10px;flex-wrap:wrap}.quiz-options button{min-width:65px}.checklist label{padding:14px;background:#f1f5f7;font-size:16px}summary{font-weight:bold;cursor:pointer;padding:18px 0}details{border-top:1px solid #9995}@media(max-width:700px){main{padding:0 18px}.hero,.app,.grid{grid-template-columns:1fr}.hero{gap:24px;padding:36px 0}.tool{padding:20px;box-shadow:5px 5px 0 var(--tint)}h1{letter-spacing:-1px}h2{font-size:27px}.app{gap:25px}header{padding:14px 18px}.guide{padding:40px 0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.price-row{display:grid;grid-template-columns:40px 1fr 1fr;gap:12px;padding:12px;border-bottom:1px solid #ccc}.price-row:first-child{font-weight:bold;background:#eef2f3}

[hidden] { display: none !important; }
.hero h1 { margin-top: 0; }
.example { text-align: left; }
.example .big { display: block; font-size: clamp(32px, 4.3vw, 54px); line-height: 1.1; letter-spacing: -.035em; }
.example p { margin: .25rem 0 1.25rem; }
.cost-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4px; align-items: end; }
.cost-steps span { display: grid; align-items: end; background: var(--ink); color: white; padding: .4rem .15rem; text-align: center; border-radius: 4px 4px 0 0; font-size: clamp(12px, 2vw, 16px); font-variant-numeric: tabular-nums; }
.cost-steps span:nth-child(1) { min-height: 38px; }
.cost-steps span:nth-child(2) { min-height: 46px; }
.cost-steps span:nth-child(3) { min-height: 55px; }
.cost-steps span:nth-child(4) { min-height: 66px; }
.modes { margin: 0 0 1rem; padding: 0; border: 0; }
.modes legend { font-weight: 700; margin-bottom: .5rem; }
.mode-options { display: flex; flex-wrap: wrap; gap: .5rem; }
.mode-options label { display: inline-flex; align-items: center; margin: 0; min-height: 44px; padding: .5rem .8rem; border: 1px solid #65727d; border-radius: 6px; cursor: pointer; font-weight: 600; }
.mode-options input { margin: 0 .5rem 0 0; accent-color: var(--ink); }
.mode-options label:has(:checked) { background: var(--ink); color: white; }
.input-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.input-grid label { margin: 0 0 .5rem; }
.input-grid input { min-width: 0; font-variant-numeric: tabular-nums; }
input[aria-invalid="true"] { border: 2px solid #893a14; }
#breakdown { width: 100%; border-collapse: collapse; table-layout: fixed; font-variant-numeric: tabular-nums; }
#breakdown caption { padding: .5rem 0; text-align: left; font-size: .88rem; }
#breakdown td, #breakdown th { padding: .6rem; border-bottom: 1px solid #c2cdd0; text-align: right; overflow-wrap: anywhere; }
#breakdown thead { color: white; background: var(--ink); }
#breakdown th:first-child { text-align: left; width: 26%; }
#breakdown tbody th { font-weight: 500; }
.guide { max-width: 56rem; }
@media (max-width: 700px) {
  .input-grid { grid-template-columns: 1fr; }
  .hero { padding: 24px 0; gap: .8rem; }
  .hero .lead { font-size: 17px; line-height: 1.45; }
  .example { padding: 20px; }
  #breakdown td, #breakdown th { font-size: .84rem; padding: .45rem .22rem; }
}
