:root{
  --ink:#142b31;
  --muted:#68777a;
  --paper:#f7f3ea;
  --card:#fffdf8;
  --line:#e4ddd0;
  --primary:#123f4b;
  --primary-2:#1b6873;
  --accent:#d3a85f;
  --accent-soft:#f6ead2;
  --sky:#e7f2f4;
  --green:#2c755b;
  --red:#a64747;
  --shadow:0 20px 70px rgba(18,63,75,.12);
  --radius:26px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:linear-gradient(180deg,#f5efe5 0%,#fff 35%,#edf7f7 100%);min-height:100vh;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
a{color:inherit}
.aurora{position:fixed;inset:-20vh -20vw auto;height:70vh;z-index:-1;background:radial-gradient(circle at 20% 20%,rgba(74,161,164,.22),transparent 38%),radial-gradient(circle at 80% 25%,rgba(211,168,95,.22),transparent 35%);filter:blur(10px);pointer-events:none}
.app-shell{max-width:980px;margin:0 auto;min-height:100vh;padding-bottom:92px}
.app-header{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(10px,env(safe-area-inset-top)) 14px 10px;background:rgba(247,243,234,.88);border-bottom:1px solid rgba(228,221,208,.75);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.brand{border:0;background:transparent;display:flex;align-items:center;gap:10px;padding:0;text-align:left;color:var(--primary)}
.brand img{width:42px;height:42px;border-radius:13px;box-shadow:0 8px 25px rgba(18,63,75,.2)}
.brand strong{display:block;font-size:18px;letter-spacing:-.035em}.brand small{display:block;color:var(--muted);font-weight:750;margin-top:2px}
.header-actions{display:flex;align-items:center;gap:8px}.prototype-badge{border:1px solid #dbc18d;background:#fff8e8;color:#75571f;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.icon-button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.92);color:var(--primary);font-size:18px;font-weight:900;display:grid;place-items:center}
main{padding:14px 14px 42px}.page{display:grid;gap:14px}.section{display:grid;gap:12px}.card{background:rgba(255,253,248,.97);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:0 12px 38px rgba(18,63,75,.07)}
.card.flush{padding:0;overflow:hidden}.card h2,.card h3,.card p{margin-top:0}.card h2{font-size:25px;letter-spacing:-.04em;color:var(--primary);margin-bottom:10px}.card h3{font-size:17px;color:var(--primary);margin-bottom:7px}.card p{line-height:1.55;color:#3e5358}.eyebrow{margin:0 0 5px!important;color:var(--primary-2)!important;font-size:12px!important;font-weight:950!important;letter-spacing:.09em;text-transform:uppercase}
.hero{position:relative;overflow:hidden;background:linear-gradient(140deg,var(--primary),#1d6c76);color:#fff;border-radius:32px;padding:20px;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;right:-95px;bottom:-100px;width:290px;height:290px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.17),transparent 68%)}.hero .eyebrow{color:#d8f1f2!important}.hero h1{position:relative;z-index:1;margin:0;font-size:clamp(40px,12vw,76px);line-height:.92;letter-spacing:-.07em}.hero .route{position:relative;z-index:1;margin:12px 0 0;font-size:18px;font-weight:850;color:#eefafa}.hero .theme{position:relative;z-index:1;margin:7px 0 0;color:#cfe5e7;max-width:680px}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr;gap:14px}.hero-side{align-self:end;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:14px}.hero-side small{display:block;text-transform:uppercase;font-weight:900;letter-spacing:.06em;opacity:.7}.hero-side strong{display:block;margin-top:6px;font-size:18px}.countdown{display:flex;gap:7px;margin-top:11px}.countbox{min-width:64px;text-align:center;border-radius:14px;background:rgba(255,255,255,.12);padding:8px}.countbox b{display:block;font-size:22px}.countbox span{font-size:10px;text-transform:uppercase;opacity:.72;font-weight:900}
.day-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 5px;scrollbar-width:none}.day-strip::-webkit-scrollbar{display:none}.day-pill{flex:0 0 auto;border:1px solid var(--line);background:rgba(255,255,255,.93);border-radius:17px;padding:9px 11px;color:var(--primary);font-weight:900;display:grid;gap:2px;text-align:left;min-width:84px}.day-pill small{font-size:10px;color:var(--muted);font-weight:800}.day-pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}.day-pill.active small{color:#d1e8e9}.day-pill.today:not(.active){border-color:var(--accent);box-shadow:0 0 0 3px rgba(211,168,95,.14)}
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.info-chip{border:1px solid var(--line);background:#fff;border-radius:18px;padding:11px}.info-chip span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:900;letter-spacing:.05em}.info-chip b{display:block;margin-top:5px;color:var(--primary);font-size:14px}
.weather-hero{display:flex;align-items:center;gap:12px}.weather-hero .emoji{font-size:43px}.weather-hero strong{display:block;font-size:28px;color:var(--primary);letter-spacing:-.045em}.weather-hero small{color:var(--muted);font-weight:750}.weather-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}.weather-stat{border:1px solid var(--line);background:#fff;border-radius:15px;padding:9px;text-align:center}.weather-stat b{display:block;color:var(--primary);font-size:18px}.weather-stat span{font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:900}.weather-loading{padding:18px;border-radius:18px;background:var(--sky);color:var(--primary);font-weight:850;text-align:center}
.must-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.must-list li{display:flex;gap:9px;align-items:flex-start;padding:8px 0;border-bottom:1px solid #f0ebe2}.must-list li:last-child{border-bottom:0}.must-list li:before{content:"✓";color:var(--primary-2);font-weight:950}
.timeline{display:grid;gap:10px}.timeline-item{position:relative;border:1px solid var(--line);background:#fff;border-radius:21px;padding:14px}.timeline-item .time{font-size:12px;color:var(--primary-2);font-weight:950;text-transform:uppercase;letter-spacing:.04em}.timeline-item .activity{margin-top:5px;font-weight:850;color:#263f45;line-height:1.4}.timeline-item .mini-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.mini-button,.text-button{border:1px solid var(--line);background:#fff;color:var(--primary);border-radius:999px;padding:8px 11px;font-size:12px;font-weight:900;text-decoration:none}.mini-button.dark{background:#1a2329;color:#fff;border-color:#1a2329}.mini-button.blue{background:#2672dc;color:#fff;border-color:#2672dc}.mini-button.gold{background:#fff7e8;color:#73551b;border-color:#ead39f}
.notice-card{border:1px solid #e2c98f;background:linear-gradient(145deg,#fffaf0,#fff);border-radius:26px;padding:16px;box-shadow:0 14px 40px rgba(128,91,27,.08)}.notice-card .notice-symbol{font-size:24px}.notice-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.notice-card h2{margin:6px 0 8px;color:#5f471b;font-size:23px;letter-spacing:-.04em}.notice-observation{font-size:16px;color:#493e2c!important}.notice-more{display:grid;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #ead8b3}.notice-more[hidden]{display:none}.notice-more h3{color:#665023;margin-bottom:5px}.notice-prompt{border-left:4px solid var(--accent);padding-left:12px;font-weight:850;color:#493e2c}.notice-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.notice-button{border:1px solid #dfc88e;background:#fff7e8;color:#694d17;border-radius:999px;padding:9px 12px;font-weight:900}.notice-button.primary{background:#6b531f;color:#fff;border-color:#6b531f}
.disclosure{border:1px solid var(--line);background:rgba(255,255,255,.8);border-radius:22px;overflow:hidden}.disclosure summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;font-weight:950;color:var(--primary);cursor:pointer}.disclosure summary::-webkit-details-marker{display:none}.disclosure summary:after{content:"+";font-size:22px}.disclosure[open] summary:after{content:"−"}.disclosure-body{padding:0 15px 15px;display:grid;gap:12px}.map-stack{display:grid;gap:8px}.map-row{display:grid;grid-template-columns:1fr;gap:7px;padding:12px;border:1px solid var(--line);border-radius:18px;background:#fff}.map-row strong{color:var(--primary)}.map-buttons{display:flex;gap:7px;flex-wrap:wrap}.map-link{border-radius:12px;padding:9px 11px;text-decoration:none;font-weight:900;font-size:12px}.map-link.apple{background:#1c2429;color:#fff}.map-link.google{background:#2a70d4;color:#fff}.route-map{display:block;width:100%;border-radius:18px;border:1px solid var(--line)}
.guide-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:13px}.guide-card h3{margin:0 0 7px}.guide-card ol{margin:8px 0 0;padding-left:20px}.guide-card li{padding:4px 0;line-height:1.4}.guide-meta{display:flex;flex-wrap:wrap;gap:6px}.guide-meta span{border:1px solid var(--line);border-radius:999px;padding:6px 8px;color:var(--muted);font-size:11px;font-weight:850}.safety-callout{border:1px solid #e9c6c6;background:#fff3f3;color:#7b3434;border-radius:16px;padding:11px;font-weight:800}
.checklist{display:grid;gap:8px}.check-row{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);background:#fff;border-radius:15px;padding:11px}.check-row input{width:22px;height:22px;accent-color:var(--primary);flex:0 0 auto}.check-row label{font-weight:800;color:#30464b}.check-row.done label{text-decoration:line-through;color:var(--muted)}
.observation-list{display:grid;gap:9px}.observation-entry{border:1px solid var(--line);background:#fff;border-radius:17px;padding:12px}.observation-entry small{display:block;color:var(--muted);font-weight:800}.observation-entry p{margin:5px 0 0!important;color:#2f474d!important}.empty-state{border:1px dashed #cabfadd8;border-radius:18px;padding:16px;text-align:center;color:var(--muted)}
.primary-button{width:100%;border:0;border-radius:17px;background:var(--primary);color:#fff;padding:13px 15px;font-weight:950}.secondary-button{width:100%;border:1px solid var(--line);border-radius:17px;background:#fff;color:var(--primary);padding:12px 15px;font-weight:950}.text-link{color:var(--primary-2);font-weight:900;text-decoration:none}.microcopy{font-size:12px!important;color:var(--muted)!important;line-height:1.45!important;margin:10px 0 0!important}.source-links{display:flex;flex-wrap:wrap;gap:7px}.source-links a{font-size:11px;font-weight:850;color:var(--primary-2);text-decoration:none;border:1px solid #c9dfe1;background:#eef8f8;border-radius:999px;padding:7px 9px}
.plan-hero{background:linear-gradient(145deg,#fff,#edf7f7);border:1px solid var(--line);border-radius:32px;padding:20px;box-shadow:var(--shadow)}.plan-hero h1{margin:0;color:var(--primary);font-size:clamp(38px,10vw,66px);line-height:.94;letter-spacing:-.065em}.plan-hero p{color:#40565b;line-height:1.55}.planner-message{display:flex;gap:10px;align-items:flex-start}.planner-avatar{width:35px;height:35px;border-radius:12px;display:grid;place-items:center;background:var(--primary);color:#fff;font-weight:950;flex:0 0 auto}.planner-bubble{background:#fff;border:1px solid var(--line);border-radius:5px 18px 18px 18px;padding:12px;flex:1}.planner-bubble p{margin:0;color:#30474c;line-height:1.5}.planner-bubble.user{background:#eef7f7;border-radius:18px 5px 18px 18px}.intent-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.intent-chip{border:1px solid var(--line);background:#fff;color:var(--primary);border-radius:16px;padding:11px;font-weight:900;text-align:left}.intent-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.segment{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;background:#eef3f3;border-radius:15px;padding:4px}.segment.three{grid-template-columns:repeat(3,1fr)}.segment button{border:0;background:transparent;border-radius:12px;padding:9px 5px;color:var(--muted);font-size:11px;font-weight:900}.segment button.active{background:#fff;color:var(--primary);box-shadow:0 3px 12px rgba(18,63,75,.08)}.plan-summary{border-left:4px solid var(--primary-2);padding-left:13px}.plan-summary strong{color:var(--primary)}.form-grid{display:grid;gap:12px}.field-label{display:block;color:var(--primary);font-weight:900;margin-bottom:6px}textarea,input[type="text"]{width:100%;border:1px solid var(--line);background:#fff;border-radius:16px;padding:12px;color:var(--ink);resize:vertical}.planner-output{margin-top:10px;border:1px solid #c9dfe1;background:#eef8f8;border-radius:16px;padding:12px;color:#29484f;line-height:1.5}.planner-output[hidden]{display:none}
.bottom-nav{position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:50;width:min(430px,calc(100% - 28px));display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:7px;border:1px solid rgba(220,213,200,.9);background:rgba(255,253,248,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:23px;box-shadow:0 16px 50px rgba(18,63,75,.18)}.bottom-tab{border:0;background:transparent;border-radius:17px;padding:10px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:7px;font-weight:900}.bottom-tab span{font-size:18px}.bottom-tab.active{background:var(--primary);color:#fff}
.sheet-dialog{border:0;padding:0;background:transparent;max-width:680px;width:calc(100% - 22px)}.sheet-dialog::backdrop{background:rgba(11,31,37,.46);backdrop-filter:blur(4px)}.dialog-card{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:16px;box-shadow:0 25px 90px rgba(0,0,0,.25);max-height:88vh;overflow:auto}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.dialog-head h2{margin:0;color:var(--primary);font-size:28px;letter-spacing:-.045em}.quick-prompts{display:flex;gap:7px;overflow-x:auto;margin:10px 0 13px;padding-bottom:3px}.quick-prompts button{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 10px;color:var(--primary);font-size:12px;font-weight:850}.response-card blockquote{margin:0 0 14px;border-left:4px solid var(--accent);padding:10px 12px;background:#fff8eb;border-radius:0 15px 15px 0;color:#594420;font-weight:800}.response-card section{margin-top:14px}.response-card section h3{margin:0 0 6px;color:var(--primary)}.response-card section p{margin:0;color:#3b5156;line-height:1.55}.reflection-panel{background:#edf7f7;border-radius:18px;padding:13px}
.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #eee8de}.settings-row:last-child{border-bottom:0}.settings-row span{color:var(--muted);font-size:12px}.settings-row b{color:var(--primary)}
@media(min-width:760px){.hero-grid{grid-template-columns:1.45fr .75fr}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px}.info-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.intent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.map-row{grid-template-columns:1fr auto;align-items:center}.app-shell{padding-bottom:110px}.bottom-nav{bottom:18px}}
@media(max-width:420px){.weather-stats{grid-template-columns:repeat(2,1fr)}.prototype-badge{display:none}.hero{padding:17px}.card{padding:14px}.segment button{font-size:10px}}
.intent-chip strong{display:block}
.intent-chip .microcopy{display:block;margin:5px 0 0!important;color:var(--muted)!important;line-height:1.35!important}
.intent-chip.active .microcopy{color:#cfe7e8!important}
