.planner-intro{padding-top:48px}.planner-intro h1{font-size:clamp(32px,3.8vw,48px);margin:14px 0 10px}.planner-intro>p{max-width:640px;color:var(--muted)}
.planner-section{padding-top:56px}
.planner-section>h2{font-size:clamp(26px,3vw,34px)}
.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
fieldset{border:1px solid var(--line);border-radius:12px;background:#fff;padding:18px 20px;margin:0 0 16px}
legend{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--burnt);font-weight:750;padding:0 8px;background:#fffdf9}
fieldset small{display:block;color:var(--muted);font-size:12.5px;margin-top:10px;line-height:1.5}
.choice-row{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1.5px solid var(--line);background:#fffdf9;border-radius:999px;padding:7px 14px;font-size:13.5px;cursor:pointer;user-select:none;transition:all .15s;color:#4a3a2e}
.chip:hover{border-color:var(--burnt)}
.chip.on{background:var(--burnt);border-color:var(--burnt);color:#fff;font-weight:650}
.chip .st{display:block;font-size:10px;letter-spacing:.08em;opacity:.75;font-weight:600}
.number-wrap{display:flex;align-items:center;gap:10px}
input[type=number],input[type=text],input[type=date],select{font:15px var(--sans);padding:10px 12px;border:1.5px solid var(--line);border-radius:8px;background:#fffdf9;color:var(--ink);width:100%;max-width:280px}
input:focus,select:focus{outline:2px solid var(--burnt);border-color:var(--burnt)}
.places-state{margin:10px 0 4px;font-size:12px;font-weight:750;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.generate{margin-top:6px}
.notice{background:#fdeeE2;border:1px solid #ecc39c;border-radius:10px;padding:12px 16px;color:#8a4518;font-size:14px;margin:6px 0 14px}
.summary-chips{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 22px}
.sum-chip{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 16px;font-size:13px;color:var(--muted)}
.sum-chip b{display:block;font-size:17px;color:var(--brown);font-family:var(--serif);font-weight:600}
.alert{border-left:3px solid var(--gold);background:var(--cream);border-radius:0 10px 10px 0;padding:12px 16px;font-size:14px;color:#6d4a1e;margin-bottom:10px}
.alert.warn{border-left-color:#c0392b;background:#fdf0ee;color:#8a2a1e}
.day-card{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:14px;overflow:hidden;box-shadow:0 1px 3px rgba(60,30,10,.05)}
.day-card .dc-head{background:linear-gradient(100deg,var(--pale),#fdf3e3);padding:14px 22px;display:flex;justify-content:space-between;gap:14px;align-items:baseline;flex-wrap:wrap}
.day-card .dc-head b{font-family:var(--serif);font-size:19px;color:var(--brown);font-weight:600}
.day-card .dc-head span{font-size:12.5px;color:var(--muted)}
.day-card .dc-body{padding:6px 22px 16px}
.leg{display:flex;gap:12px;padding:10px 0;border-bottom:1px dashed #eeddca;font-size:14px;color:#5d473a;align-items:flex-start}
.leg:last-child{border:0}
.leg .leg-time{flex:none;width:86px;color:var(--burnt);font-weight:750;font-size:12.5px;padding-top:2px}
.leg b{color:var(--brown)}
.empty{color:var(--muted);font-style:italic;padding:18px 0}
.plan-actions{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 8px}
.caveat{border:1px solid var(--line);border-radius:14px;background:var(--cream);padding:26px 30px;margin-top:56px}
.caveat h2{font-size:20px;margin:0 0 8px}
.caveat p{font-size:13.5px;color:var(--muted);line-height:1.65;margin-bottom:12px}
.caveat a{color:var(--burnt);font-weight:650}
@media(max-width:760px){.control-grid{grid-template-columns:1fr}.leg .leg-time{width:64px}}
@media print{.site-header,.site-footer,.planner-section:first-of-type,.caveat,.plan-actions,.nav-contact{display:none!important}.day-card{break-inside:avoid}}
