:root{--bg:#f5f4ed;--surface:#faf9f5;--warm:#e8e6dc;--ink:#141413;--text:#3d3d3a;--muted:#78776f;--line:#e3e1d7;--accent:#c96442;--focus:#3898ec}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,system-ui,sans-serif;line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 35%, transparent);outline-offset:2px}.container{width:min(1200px,100% - 32px);margin:auto}.hero{grid-template-columns:1fr 380px;align-items:start;gap:48px;padding:34px 0 28px;display:grid}.brand{align-items:center;gap:12px;padding-top:10px;display:flex}.brand-mark{background:var(--ink);width:42px;height:42px;color:var(--bg);border-radius:50%;place-items:center;font:24px Georgia,serif;display:grid}.brand h1,h2{letter-spacing:-.03em;margin:0;font-family:Georgia,serif;font-weight:500}.brand h1{font-size:28px}.brand p{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:12px}.date-card,.form-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 5px 24px #0000000c}.date-card{grid-template-columns:1fr auto;gap:8px 18px;padding:20px;display:grid}.date-card h2{font-size:20px}.eyebrow,.badge{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-size:11px}.date-card p{color:var(--muted);grid-column:1/-1;margin:6px 0 0;font-size:13px}.date-card strong{color:var(--text)}.date-controls{gap:8px;display:flex}.date-controls button,.stepper button{border:1px solid var(--line);width:42px;height:42px;color:var(--ink);background:var(--surface);border-radius:8px;font-size:20px}.date-controls button:hover,.stepper button:hover{background:var(--warm)}.progress{background:var(--warm);border-radius:99px;grid-column:1/-1;height:7px;overflow:hidden}.progress span{border-radius:inherit;background:var(--text);height:100%;transition:width .2s;display:block}.layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:28px;padding-bottom:48px;display:grid}.form-card{padding:0 28px}.step{border-bottom:1px solid var(--line);padding:28px 0}.step:last-child{border:0}.step-heading{gap:16px;margin-bottom:18px;display:flex}.step-heading>span{border:1px solid var(--line);background:var(--warm);width:36px;height:36px;color:var(--text);border-radius:50%;flex:none;place-items:center;font-family:Georgia,serif;display:grid}.step h2{font-size:24px}.step-heading p{color:var(--muted);margin:5px 0 0;font-size:14px}.two-columns{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.field{color:var(--text);margin-top:16px;font-size:14px;font-weight:600;display:block}.field span{margin-bottom:7px;display:block}.field input,.field select,.field textarea{width:100%;min-height:48px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:11px 13px}.field textarea{resize:vertical}.segmented{border:1px solid var(--line);background:var(--warm);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.segmented button{min-width:78px;min-height:39px;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:0 16px}.segmented button.active{color:var(--bg);background:var(--ink)}.chips{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.chips button{border:1px solid var(--line);min-height:38px;color:var(--text);background:var(--surface);border-radius:99px;padding:0 13px}.chips button.selected,.rating button.selected{color:var(--bg);background:var(--ink);border-color:var(--ink)}.stepper{align-items:center;gap:10px;display:flex}.stepper output{text-align:center;min-width:48px;font:28px Georgia,serif}.stepper span{color:var(--muted);margin:0;font-size:13px;font-weight:400}.rating{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.rating button{min-height:74px;color:var(--text);border:1px solid var(--line);background:var(--surface);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:8px;display:flex}.rating b{font:23px Georgia,serif}.rating span{color:var(--muted);font-size:11px}.rating button.selected span{color:var(--bg)}.summary{color:var(--bg);background:var(--ink);border-radius:16px;padding:28px;position:sticky;top:24px;box-shadow:0 5px 24px #00000018}.summary .badge{color:var(--bg);background:#ffffff1c;border-radius:99px;padding:5px 10px;display:inline-block}.summary h2{margin-top:12px;font-size:27px}.summary>p{color:#dad8ce;margin:4px 0;font-size:14px}.efficiency{background:#ffffff0b;border:1px solid #ffffff18;border-radius:12px;align-items:center;gap:18px;margin:21px 0;padding:16px;display:flex}.ring{--progress:0deg;aspect-ratio:1;background:conic-gradient(var(--bg) var(--progress), #ffffff2b 0);border-radius:50%;place-items:center;width:100px;display:grid}.ring:before{content:"";aspect-ratio:1;background:var(--ink);border-radius:50%;width:78px;position:absolute}.ring span{z-index:1;font:22px Georgia,serif}.efficiency div:last-child span{color:#c5c2b8;font-size:12px}.efficiency strong{font:28px Georgia,serif;display:block}.summary dl{margin:0}.summary dl div{grid-template-columns:1fr auto;gap:12px;padding:9px 0;font-size:14px;display:grid}.summary dt{color:#c5c2b8}.summary dd{margin:0;font-family:ui-monospace,monospace}.summary .total{border-top:1px solid #ffffff21;margin-top:4px;padding-top:14px}.summary .total dd{font-weight:700}.interpretation{background:#ffffff12;border-radius:8px;padding:12px;color:#edeae1!important;margin:18px 0!important}.save{width:100%;min-height:48px;color:var(--surface);background:var(--accent);border:0;border-radius:8px;font-weight:700}.save:disabled{cursor:wait;opacity:.7}.save-status{text-align:center;min-height:20px;margin-top:8px!important}.save-status.error{color:#ffb3a1}.save-status.saved{color:#9ee0bd}footer{color:var(--muted);padding:0 0 38px;font-size:13px}@media (max-width:980px){.hero,.layout{grid-template-columns:1fr;gap:20px}.summary{position:static}.date-card{max-width:560px}}@media (max-width:600px){.container{width:min(100% - 24px,1200px)}.hero{padding-top:18px}.form-card{padding:0 18px}.step{padding:23px 0}.two-columns{grid-template-columns:1fr;gap:0}.rating{gap:5px}.rating button{min-height:56px}.rating span{display:none}.summary{padding:21px}.date-card{padding:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
