:root{
  --bg:#071310;--ink:#fff7ea;--muted:#d6cbbb;--soft:#12241d;--card:#132820;
  --line:rgba(255,255,255,.11);--accent:#e1b464;--accent2:#8fc3a7;--danger:#883a36;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:
radial-gradient(circle at 85% 0%,rgba(143,195,167,.35),transparent 32%),
radial-gradient(circle at 8% 18%,rgba(225,180,100,.16),transparent 28%),
linear-gradient(180deg,#071310,#10241d 65%,#071310)}
.hidden{display:none!important}
.lock{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.glass,.card,.tile,.day-card,.focus-card{background:rgba(19,40,32,.86);border:1px solid var(--line);box-shadow:0 24px 80px rgba(0,0,0,.3);backdrop-filter:blur(18px)}
.lock-card{width:100%;max-width:460px;border-radius:34px;padding:28px}
.logo-wrap{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.logo{width:70px;height:70px;border-radius:24px;background:linear-gradient(135deg,#e1b464,#f6dca1);color:#071310;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:900}
h1,h2,h3{margin:0 0 10px;letter-spacing:-.04em}p{line-height:1.55;color:var(--muted)}.lede{font-size:17px}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:12px;color:var(--accent);font-weight:900;margin:0 0 8px}
input,textarea{width:100%;background:#071310;border:1px solid var(--line);color:var(--ink);border-radius:16px;padding:14px;margin:8px 0 16px;font-size:16px}
textarea{min-height:94px;resize:vertical}
button,.link-button{border:0;border-radius:999px;background:var(--accent);color:#071310;padding:12px 18px;font-weight:900;text-decoration:none;display:inline-block;cursor:pointer}
button.secondary{background:#2e5143;color:var(--ink)}button.danger{background:var(--danger);color:white}button.ghost{background:rgba(255,255,255,.1);color:var(--ink)}
.app{max-width:1120px;margin:0 auto;padding:14px 14px 60px}
.dashboard{padding:22px;border-radius:36px;border:1px solid var(--line);background:
linear-gradient(135deg,rgba(11,28,22,.94),rgba(32,68,54,.9)),
radial-gradient(circle at 80% 20%,rgba(225,180,100,.2),transparent);margin-top:12px}
.dash-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.dashboard h1{font-size:46px}.trip-hero{margin-top:20px;padding:22px;border-radius:28px;background:rgba(255,255,255,.07);border:1px solid var(--line)}
.trip-hero h2{font-size:34px}.countdown-line{display:flex;align-items:baseline;gap:10px;margin-top:14px}.countdown-line span{font-size:44px;font-weight:950;color:var(--accent)}
.focus-card{margin-top:14px;border-radius:28px;padding:18px;display:flex;justify-content:space-between;gap:14px;align-items:center;cursor:pointer}.arrow{font-size:34px;color:var(--accent)}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.quick-grid button{background:rgba(255,255,255,.09);color:var(--ink)}
.tabs{position:sticky;top:0;z-index:10;background:rgba(7,19,16,.88);backdrop-filter:blur(18px);padding:12px 0;display:flex;gap:8px;overflow:auto}
.tabs button{background:rgba(255,255,255,.08);color:var(--ink);white-space:nowrap}.tabs button.active{background:var(--accent);color:#071310}
.section{display:none}.section.active{display:block}.card{border-radius:28px;padding:22px;margin:14px 0}.hero-card{background:linear-gradient(135deg,rgba(27,59,47,.95),rgba(19,40,32,.88))}
.compass-grid,.day-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.tile,.day-card{border-radius:26px;padding:20px}.tile span,.day-card span{font-size:32px}
.pick-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pick-row div{background:rgba(255,255,255,.07);border-radius:18px;padding:14px}.pick-row strong{display:block;color:var(--accent);margin-bottom:6px}.pick-row span{color:var(--muted);font-size:14px}
.timeline-route{position:relative;margin:10px 0}.stop{display:flex;gap:14px;align-items:center;background:rgba(255,255,255,.065);border:1px solid var(--line);padding:14px;border-radius:20px;margin:10px 0}.stop span{width:42px;height:42px;border-radius:16px;background:rgba(225,180,100,.15);display:flex;align-items:center;justify-content:center;font-size:23px}.stop strong{display:block}.stop small{color:var(--muted)}.stop.special{background:rgba(225,180,100,.15)}.stop.done{opacity:.85}
.day-hero{padding:26px;border-radius:34px;background:linear-gradient(135deg,rgba(35,73,58,.95),rgba(15,34,27,.95));border:1px solid var(--line);margin:14px 0}.day-hero h2{font-size:38px}
.decision{padding:13px;border-radius:17px;margin:9px 0;color:var(--muted);background:rgba(255,255,255,.07)}.decision.good{border-left:4px solid #8fc3a7}.decision.mid{border-left:4px solid #e1b464}.decision.bad{border-left:4px solid #d97870}
.clean-list{color:var(--muted);line-height:1.75}.finish{background:linear-gradient(135deg,rgba(225,180,100,.18),rgba(19,40,32,.9))}
.hotel{display:flex;justify-content:space-between;gap:12px;align-items:center;background:rgba(255,255,255,.07);padding:14px;border-radius:18px;margin:10px 0}.hotel span{font-size:13px;color:var(--muted)}.hotel.booked{border-left:4px solid #8fc3a7}.hotel.todo{border-left:4px solid #e1b464}
label{display:block;font-weight:900;margin-top:10px}.button-row{display:flex;gap:10px;flex-wrap:wrap}pre{white-space:pre-wrap;background:#071310;border-radius:17px;padding:14px;color:var(--muted);display:none}.small,small{font-size:13px;color:var(--muted)}
@media(max-width:760px){.quick-grid,.compass-grid,.day-grid,.pick-row{grid-template-columns:1fr}.dashboard h1{font-size:38px}.trip-hero h2{font-size:30px}.dash-top{align-items:center}.countdown-line span{font-size:38px}}
