:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#17251f;background:#e9eee9;font-synthesis:none}
*{box-sizing:border-box}
html{min-width:320px;background:radial-gradient(circle at 15% 0,#f8faf6 0,#e7ece7 48%,#dfe6df 100%)}
body{margin:0;min-height:100vh;background:transparent}
main{width:100%;padding:clamp(10px,2vw,28px)}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:14px;top:14px;z-index:30;padding:10px 14px;background:#fff;border-radius:8px;box-shadow:0 8px 30px #0002}
.planner-shell{margin:0 auto;max-width:1440px;min-height:calc(100vh - 56px);overflow:hidden;border:1px solid #d6ddd5;border-radius:18px;background:#f8faf7;box-shadow:0 22px 60px rgba(22,55,42,.14)}
.planner-topbar{min-height:116px;padding:26px clamp(24px,3vw,46px);align-items:center;background:linear-gradient(120deg,#fff 0,#fbfcf9 60%,#eff4ec 100%)}
.planner-kicker{margin-bottom:8px;color:#9a6036;font-size:.68rem;letter-spacing:.2em}
.planner-topbar h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.15rem,4vw,3.35rem);font-weight:600;letter-spacing:-.035em;color:#18382d}
.save-state{padding:8px 12px;border:1px solid #d7e2d7;border-radius:999px;background:#fff;color:#52665c;white-space:nowrap;box-shadow:0 3px 10px #173f330d}
.safety-banner{padding:13px clamp(24px,3vw,46px);border:0;border-top:1px solid #e8d9aa;border-bottom:1px solid #e8d9aa;background:#fff7dc;color:#4c4532;font-size:.84rem}
.safety-banner strong{color:#173f33}
.planner-layout{grid-template-columns:190px minmax(0,1fr) 330px;min-height:720px}
.planner-steps{padding:32px 22px;background:#f0f3ed;border-color:#dce3db}
.progress-track{height:4px;margin:0 4px 24px;border-radius:99px;overflow:hidden;background:#d5ddd5}.progress-track span{border-radius:inherit}
.planner-steps li+li{margin-top:4px}
.planner-steps li button{padding:10px 5px;border-radius:8px;font-size:.82rem;transition:background .2s,color .2s,transform .2s}
.planner-steps li button:hover{background:#e4eae3;color:#173f33;transform:translateX(2px)}
.planner-steps li.active button{background:#fff;box-shadow:0 5px 18px rgba(22,55,42,.08)}
.planner-steps li.active button span{width:28px;height:28px}
.scope-note{margin-top:28px;padding:22px 5px 0;color:#637168}
.planner-workspace{padding:38px clamp(28px,4vw,58px);min-width:0}
.panel-heading{margin-bottom:30px}.panel-heading>span{color:#8b684c}.panel-heading h2{max-width:720px;margin:7px 0 10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.9rem,3.2vw,2.8rem);font-weight:600;line-height:1.08;letter-spacing:-.025em;color:#18382d}.panel-heading p{font-size:.94rem}
.field-grid{gap:5px 18px}
.field,fieldset.field{margin-bottom:17px;color:#21382f;font-size:.78rem;letter-spacing:.005em}
.field input:not([type=radio]):not([type=checkbox]),.field select,.detail-input input,.detail-input select{width:100%;min-height:48px;margin-top:7px;padding:10px 13px;border:1px solid #bec9bf!important;border-radius:8px;background:#fff!important;color:#17251f;font:500 .91rem Inter,"Segoe UI",sans-serif;box-shadow:0 1px 2px #173f3308;transition:border-color .2s,box-shadow .2s,background .2s}
.field input:focus,.field select:focus,.detail-input input:focus,.detail-input select:focus{outline:0;border-color:#2e6a55!important;box-shadow:0 0 0 3px rgba(46,106,85,.14);background:#fff!important}
.field input::placeholder{color:#8c9891;font-weight:400}.field small{margin-top:6px;line-height:1.45}
.choice-grid{gap:10px}.choice span{min-height:70px;padding:14px 15px;border-color:#cbd4cb;border-radius:9px;background:#fff;transition:border-color .2s,box-shadow .2s,transform .2s}.choice span:hover{border-color:#819c8c;transform:translateY(-1px)}.choice input:checked+span{border-color:#2c6852;background:#f1f7ef;box-shadow:inset 0 0 0 1px #2c6852,0 4px 14px #173f3310}
.shape-picker{gap:10px}.shape-picker label{border-radius:9px;background:#fff}.section-card{border-radius:10px;background:#f4f7f2}
.help-tip{width:20px;height:20px;margin-left:3px;border:0;border-radius:50%;background:#e6eee5;color:#2e654f;font-weight:800;cursor:help}.help-tip:hover,.help-tip:focus{background:#c9e568;color:#173f33;outline:0}
.form-actions{margin-top:30px}.back-button,.next-button{min-height:47px;padding:11px 24px;border-radius:8px}.next-button{box-shadow:0 7px 18px rgba(23,63,51,.2)}.next-button:hover{background:#245542}.back-button:hover{background:#edf3ec}
.calculate-button{border-radius:9px!important;box-shadow:0 8px 22px rgba(23,63,51,.22)}
.plan-preview{min-width:0;padding:31px 23px;background:linear-gradient(160deg,#173f33 0,#0f3027 100%)}
.preview-heading strong{font-size:1.22rem}.plan-preview svg{display:block;max-height:410px;margin:20px auto 12px;border-color:#53766a;border-radius:9px;box-shadow:0 12px 26px #081c1766}.plan-preview p{line-height:1.45}
.status-card{border:0;border-radius:12px;box-shadow:0 8px 22px #173f3312}.result-metrics{gap:8px}.result-metrics div{border-radius:9px;background:linear-gradient(145deg,#173f33,#245b48)}
.framing-basis,.stair-result{margin:18px 0;padding:18px;border:1px solid #d7e0d6;border-radius:11px;background:#f6f8f4}.framing-basis h3,.stair-result h3{margin-top:0}.framing-basis p,.stair-result p{font-size:.84rem;line-height:1.6}
.warnings li{border-radius:7px}.option-card{border-radius:10px}.material-calculations details{overflow:hidden;border-radius:8px}.materials-table th{color:#53675c;font-size:.67rem;text-transform:uppercase;letter-spacing:.07em}.download-row a{border-radius:8px;box-shadow:0 5px 15px #173f3318}
@media(max-width:1220px){.planner-layout{grid-template-columns:180px minmax(0,1fr)}.plan-preview{grid-column:1/-1;padding:28px clamp(24px,7vw,86px)}.plan-preview svg{max-width:620px}.planner-shell{max-width:1060px}}
@media(max-width:760px){main{padding:0}.planner-shell{min-height:100vh;margin:0;border:0;border-radius:0;box-shadow:none}.planner-topbar{min-height:auto;padding:22px 20px}.planner-topbar h1{font-size:2.1rem}.safety-banner{padding:12px 20px}.planner-layout{display:block}.planner-steps{position:sticky;top:0;z-index:10;padding:10px 12px;box-shadow:0 3px 16px #173f3317}.progress-track{margin:0 8px 8px}.planner-steps ol{gap:3px;overflow:visible}.planner-steps li{flex:0 0 44px}.planner-steps li.active{flex-basis:104px}.planner-steps li button{justify-content:center;padding:5px;font-size:0}.planner-steps li.active button{font-size:.76rem;box-shadow:none}.planner-steps li button span{flex:0 0 28px;font-size:.7rem}.planner-workspace{padding:29px 20px}.field-grid,.choice-grid,.section-fields,.review-summary,.result-metrics,.admin-cards{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}.stair-type-picker,.stair-measures,.choice-grid.three{grid-template-columns:1fr 1fr}.plan-preview{padding:26px 20px}.materials-table{min-width:720px}.panel-heading h2{font-size:2rem}}
@media(max-width:440px){.stair-type-picker,.stair-measures,.choice-grid.three{grid-template-columns:1fr}.planner-topbar h1{font-size:1.8rem}.panel-heading h2{font-size:1.75rem}.form-actions{gap:10px}.back-button,.next-button{flex:1;padding-inline:12px}}
