.planner-hero .hero-lede{max-width:760px}.planner-band{padding-top:34px}.planner-shell{display:grid;gap:22px}.planner-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:28px;align-items:end}.planner-intro h2{max-width:760px}.planner-intro>p{max-width:620px;color:var(--muted);font-size:.72rem;line-height:1.75}.planner-import{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 20px;border:1px solid rgba(74,216,172,.35);border-left:4px solid var(--mint);border-radius:6px;background:#08231fb8}.planner-import[hidden],.planner-fit-route[hidden]{display:none}.planner-import div{display:grid;gap:5px}.planner-import span{color:var(--mint);font-size:.54rem;font-weight:900;text-transform:uppercase}.planner-import strong{color:#e4f5ef;font-size:.72rem}.planner-import p{color:var(--muted);font-size:.6rem}.planner-import button{flex:0 0 auto}.planner-import button,.planner-result-header>button,.planner-result-actions button:not(.primary){min-height:42px;padding:10px 14px;border:1px solid #37434a;border-radius:4px;background:#12181e;color:#e5eeea;font:inherit;font-size:.57rem;font-weight:850;cursor:pointer}.planner-import button:hover,.planner-import button:focus-visible,.planner-result-header>button:hover,.planner-result-header>button:focus-visible,.planner-result-actions button:not(.primary):hover,.planner-result-actions button:not(.primary):focus-visible{border-color:var(--mint);color:var(--mint)}.planner-progress{display:grid;gap:10px}.planner-progress ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:6px;background:var(--line);list-style:none}.planner-progress li{display:flex;min-width:0;gap:10px;align-items:center;padding:13px 15px;background:#0a0f15;color:#74817e}.planner-progress li span{color:var(--pink);font-size:.5rem;font-weight:900}.planner-progress li strong{overflow:hidden;font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}.planner-progress li[aria-current=step]{background:#14201f;color:#edf8f4}.planner-progress>div{height:3px;overflow:hidden;background:#182027}.planner-progress>div span{display:block;width:25%;height:100%;background:var(--mint);transition:width .18s ease}.planner-form,.planner-result{border:1px solid var(--line);border-radius:6px;background:#070c11f0}.planner-stage{padding:30px}.planner-stage>header{display:grid;max-width:820px;gap:8px;margin-bottom:26px}.planner-stage>header h3{font-size:clamp(1.55rem,3vw,2.7rem);line-height:1.05}.planner-stage>header h3,.planner-result{scroll-margin-top:110px}.planner-stage>header>p:last-child{color:var(--muted);font-size:.68rem;line-height:1.65}.planner-problem-group,.planner-review-fieldset{min-width:0;margin:0 0 24px;padding:0;border:0}.planner-problem-group legend,.planner-review-fieldset legend{display:flex;width:100%;gap:12px;align-items:baseline;margin-bottom:12px}.planner-problem-group legend span,.planner-review-fieldset legend{color:#f0f6f3;font-size:.76rem;font-weight:900}.planner-problem-group legend small{color:var(--muted);font-size:.54rem;font-weight:650}.planner-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.planner-choice-grid label{position:relative;min-width:0;cursor:pointer}.planner-choice-grid input{position:absolute;width:1px;height:1px;opacity:0}.planner-choice-grid label>span{display:grid;min-height:86px;gap:7px;align-content:center;padding:16px 18px 16px 46px;border:1px solid #253039;border-radius:5px;background:#0b1118;color:#e3ece8}.planner-choice-grid label>span:before{position:absolute;left:17px;top:50%;width:17px;height:17px;border:1px solid #52615d;border-radius:3px;content:"";transform:translateY(-50%)}.planner-choice-grid label>span:after{position:absolute;left:22px;top:50%;width:8px;height:4px;border-bottom:2px solid #07100d;border-left:2px solid #07100d;content:"";opacity:0;transform:translateY(-65%) rotate(-45deg)}.planner-choice-grid label:hover>span{border-color:#53645f}.planner-choice-grid input:focus-visible+span{outline:2px solid var(--mint);outline-offset:2px}.planner-choice-grid input:checked+span{border-color:var(--mint);background:#10231f}.planner-choice-grid input:checked+span:before{border-color:var(--mint);background:var(--mint)}.planner-choice-grid input:checked+span:after{opacity:1}.planner-choice-grid strong{font-size:.66rem;line-height:1.4}.planner-choice-grid small{color:var(--muted);font-size:.56rem;line-height:1.45}.planner-choice-grid.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.planner-choice-grid.compact label>span{min-height:110px}.planner-validation{min-height:1.2em;color:#ff9eaa;font-size:.62rem;font-weight:800}.planner-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.planner-field-grid label{display:grid;min-width:0;gap:8px;color:#dce7e3;font-size:.61rem;font-weight:850}.planner-field-grid label span{color:var(--muted);font-size:.5rem;font-weight:650}.planner-field-grid input,.planner-field-grid select,.planner-field-grid textarea{width:100%;min-width:0}.planner-field-grid .wide{grid-column:1 / -1}.planner-text-fields{margin-top:18px}.planner-context-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.planner-context-grid fieldset{display:flex;flex-wrap:wrap;gap:8px;min-width:0;margin:0;padding:17px;border:1px solid var(--line);border-radius:5px;background:#0b1118}.planner-context-grid legend{padding:0 4px;color:#e5efeb;font-size:.61rem;font-weight:850}.planner-context-grid label{position:relative;cursor:pointer}.planner-context-grid input{position:absolute;opacity:0}.planner-context-grid label span{display:block;min-height:36px;padding:10px 12px;border:1px solid #2a353c;border-radius:4px;color:var(--muted);font-size:.55rem;font-weight:750}.planner-context-grid input:checked+span{border-color:var(--mint);background:#11241f;color:#f0f8f5}.planner-context-grid input:focus-visible+span{outline:2px solid var(--mint);outline-offset:2px}.planner-safety-note{display:grid;gap:8px;margin-top:20px;padding:20px;border:1px solid rgba(244,90,138,.35);border-radius:5px;background:#2d0e1d6b}.planner-safety-note span{color:var(--pink);font-size:.54rem;font-weight:900;text-transform:uppercase}.planner-safety-note strong{max-width:900px;color:#f0e5e9;font-size:.66rem;line-height:1.6}.planner-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 30px;border-top:1px solid var(--line);background:#090e14}.planner-controls>span{color:var(--muted);font-size:.57rem}.planner-controls>span b{color:#e6efeb}.planner-result{overflow:hidden}.planner-result-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:30px}.planner-result-header>div{display:grid;max-width:900px;gap:9px}.planner-result-header h3{font-size:clamp(1.7rem,4vw,3.4rem);line-height:1}.planner-result-header p:last-child{color:var(--muted);font-size:.7rem;line-height:1.7}.planner-result-strip{display:grid;grid-template-columns:.7fr 1.3fr;gap:1px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--line)}.planner-result-strip>div{display:grid;gap:7px;padding:18px 30px;background:#101820}.planner-result-strip span,.planner-result-grid section>span,.planner-fit-route span{color:var(--pink);font-size:.52rem;font-weight:900;text-transform:uppercase}.planner-result-strip strong{color:#eef6f3;font-size:.68rem;line-height:1.5}.planner-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.planner-result-grid section{display:grid;align-content:start;gap:12px;min-width:0;padding:24px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.planner-result-grid section:nth-child(2n){border-right:0}.planner-result-grid div,.planner-result-grid li{color:#ced9d5;font-size:.62rem;line-height:1.65}.planner-result-grid ul{display:grid;gap:8px;margin:0;padding-left:18px}.planner-result-grid small{color:var(--muted);font-size:.52rem;line-height:1.5}.planner-fit-route{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:24px 30px 0;padding:20px;border:1px solid rgba(74,216,172,.3);border-radius:5px;background:#0c1a18}.planner-fit-route div{display:grid;gap:6px}.planner-fit-route strong{color:#e9f4f0;font-size:.7rem}.planner-fit-route p{color:var(--muted);font-size:.58rem;line-height:1.5}.planner-result-actions{display:flex;flex-wrap:wrap;gap:10px;padding:26px 30px 12px}.planner-result-message{min-height:1.2em;padding:0 30px;color:var(--mint);font-size:.58rem;font-weight:800}.planner-boundary{margin:16px 30px 30px;padding:16px 18px;border-left:3px solid var(--pink);background:#140d13;color:var(--muted);font-size:.56rem;line-height:1.6}@media(max-width:820px){.planner-intro,.planner-choice-grid.compact{grid-template-columns:1fr}.planner-choice-grid.compact label>span{min-height:86px}.planner-progress li{justify-content:center;padding:12px 6px}.planner-progress li strong{display:none}}@media(max-width:620px){.planner-band{padding-top:18px}.planner-shell{gap:15px}.planner-stage,.planner-result-header{padding:22px 16px}.planner-choice-grid,.planner-context-grid,.planner-field-grid,.planner-result-grid,.planner-result-strip{grid-template-columns:1fr}.planner-result-grid section{border-right:0;padding:21px 16px}.planner-field-grid .wide{grid-column:auto}.planner-controls{position:sticky;bottom:0;z-index:4;padding:12px 16px}.planner-controls button{min-width:92px}.planner-import,.planner-fit-route,.planner-result-header{align-items:stretch;flex-direction:column}.planner-fit-route{margin:18px 16px 0}.planner-result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:22px 16px 10px}.planner-result-actions .primary{grid-column:1 / -1}.planner-result-message{padding:0 16px}.planner-boundary{margin:14px 16px 22px}}@media print{.site-header,.site-footer,.planner-hero,.planner-intro,.planner-import,.planner-progress,.planner-form,.planner-result-actions,.planner-fit-route,.next-step-panel,#system-canvas{display:none!important}.planner-band,.planner-stage,.planner-result,.planner-result-header,.planner-result-grid section{padding:0;border:0;background:#fff;color:#111}.planner-result-grid{display:block}.planner-result-grid section{margin:0 0 18px}.planner-result *{color:#111!important}}
