:root{
  --navy:#0B2D6B;
  --navy-2:#071d46;
  --blue:#2B7DE9;
  --sky:#5BA8F5;
  --soft:#D7E3F3;
  --coral:#FF6B5B;
  --mint:#46C69A;
  --bg:#F5F8FC;
  --surface:#FFFFFF;
  --surface-2:#EEF4FB;
  --text:#11213D;
  --muted:#66758E;
  --border:#DCE6F2;
  --shadow:0 18px 50px rgba(11,45,107,.10);
  --shadow-sm:0 8px 24px rgba(11,45,107,.08);
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:16px;
  --trip-accent:#2B7DE9;
  --trip-accent-soft:#EAF3FF;
  color-scheme:light;
}
html[data-theme="dark"]{
  --bg:#071425;
  --surface:#0D1D31;
  --surface-2:#102641;
  --text:#F5F8FC;
  --muted:#A9B9CD;
  --border:#233D5C;
  --shadow:0 18px 50px rgba(0,0,0,.28);
  --shadow-sm:0 8px 24px rgba(0,0,0,.22);
  --trip-accent-soft:#102B4D;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
button,input,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.52}
input,textarea{
  color:var(--text);
  background:var(--surface);
  border:1px solid var(--border);
}
input:focus,textarea:focus,button:focus-visible{
  outline:3px solid color-mix(in srgb,var(--blue) 28%,transparent);
  outline-offset:2px;
}
.ambient{position:fixed;border-radius:50%;filter:blur(90px);pointer-events:none;z-index:-1;opacity:.38}
.ambient-one{width:360px;height:360px;background:#7ab6ff;top:-170px;right:-140px}
.ambient-two{width:280px;height:280px;background:#ffd0ca;bottom:-160px;left:-140px}
html[data-theme="dark"] .ambient{opacity:.12}

.app-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding-bottom:calc(70px + env(safe-area-inset-bottom))}
.site-header{
  min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:16px;
  position:sticky;top:0;z-index:30;
  background:color-mix(in srgb,var(--bg) 86%,transparent);
  backdrop-filter:blur(18px);
  border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);
}
.brand{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none}
.brand-button{border:0;background:none;padding:6px 0}
.logo-mark{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px}
.logo-mark svg{width:100%;height:100%;overflow:visible}
.logo-mark .tag-body{fill:var(--navy)}
html[data-theme="dark"] .logo-mark .tag-body{fill:#286bc7}
.logo-mark .tag-loop{fill:none;stroke:var(--sky);stroke-width:5;stroke-linecap:round}
.logo-mark .tag-hole{fill:#fff;opacity:.92}
.logo-mark .paper{fill:#fff}
.logo-mark .tick{fill:none;stroke:var(--navy);stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.logo-mark .tick.coral{stroke:var(--coral)}
.logo-mark .line{stroke:#B9C9DB;stroke-width:2.1;stroke-linecap:round}
.logo-mark .plane-corner{fill:var(--blue)}
.logo-mark .plane{fill:#fff}
.wordmark{font-size:1.35rem;letter-spacing:-.04em;display:flex}
.wordmark strong{font-weight:800;color:var(--navy)}
html[data-theme="dark"] .wordmark strong{color:#f6f9ff}
.wordmark span{font-weight:700;color:var(--blue)}
.header-actions{display:flex;align-items:center;gap:9px}
.ghost-btn,.soft-btn,.icon-btn,.back-btn{
  border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:13px;
  min-height:44px;transition:.18s ease;box-shadow:var(--shadow-sm)
}
.ghost-btn:hover,.soft-btn:hover,.icon-btn:hover,.back-btn:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--blue) 40%,var(--border))}
.ghost-btn{padding:0 16px;font-weight:700}
.ghost-btn.compact{min-height:40px;padding:0 13px;font-size:.9rem}
.icon-btn{width:44px;display:grid;place-items:center;font-weight:800}
.theme-toggle{position:relative;overflow:hidden;font-size:18px}
.theme-toggle .moon{display:none}
html[data-theme="dark"] .theme-toggle .sun{display:none}
html[data-theme="dark"] .theme-toggle .moon{display:inline}
.network-badge{font-size:.78rem;font-weight:800;color:#8a3c34;background:#fff0ee;border:1px solid #ffc8c1;border-radius:999px;padding:7px 10px}
html[data-theme="dark"] .network-badge{background:#43211d;color:#ffd8d3;border-color:#704239}

.view{display:none;animation:fadeIn .24s ease}
.view.active{display:block}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.hero-view{padding:62px 0 10px}
.hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:58px;align-items:center}
.hero-chip,.section-kicker,.eyebrow{
  color:var(--blue);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800
}
.hero-chip{
  display:inline-flex;align-items:center;gap:7px;background:color-mix(in srgb,var(--sky) 13%,var(--surface));
  border:1px solid color-mix(in srgb,var(--blue) 18%,var(--border));padding:9px 12px;border-radius:999px;
}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(3.35rem,7vw,6.7rem);line-height:.88;letter-spacing:-.07em;margin:22px 0 25px}
h1 span{color:var(--blue)}
.hero-copy{max-width:650px;font-size:1.15rem;line-height:1.7;color:var(--muted);margin:0}
.prompt-card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:24px;
  box-shadow:var(--shadow);position:relative;overflow:hidden;
}
.prompt-card::before{content:"";height:4px;position:absolute;inset:0 0 auto;background:linear-gradient(90deg,var(--blue),var(--sky),var(--coral))}
.prompt-card>label,.question-card>label{display:block;font-weight:800;margin-bottom:10px}
.prompt-card textarea{
  width:100%;resize:vertical;min-height:138px;border-radius:18px;padding:16px 17px;font-size:1rem;line-height:1.55;
}
.completeness{margin-top:17px;padding:15px;background:var(--surface-2);border-radius:17px;border:1px solid var(--border)}
.completeness-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.completeness-head strong{font-size:.9rem}
.completeness-head span{font-size:.78rem;font-weight:800;color:var(--muted)}
.completeness-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.completeness-item{display:flex;align-items:center;gap:8px;min-height:32px;font-size:.84rem;color:var(--muted)}
.completeness-icon{
  width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:var(--surface);border:1px solid var(--border);
  font-size:.72rem;font-weight:900;flex:0 0 21px
}
.completeness-item.done{color:var(--text)}
.completeness-item.done .completeness-icon{background:#E6F8F1;color:#167254;border-color:#AFE5D1}
html[data-theme="dark"] .completeness-item.done .completeness-icon{background:#153b31;color:#82e3bd;border-color:#255f4e}
.prompt-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:17px}
.microcopy{font-size:.82rem;color:var(--muted)}
.primary-btn{
  border:0;background:var(--blue);color:#fff;border-radius:15px;min-height:50px;padding:0 20px;font-weight:800;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 10px 25px rgba(43,125,233,.24);transition:.18s ease
}
.primary-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.03)}
.primary-btn.wide{width:100%;margin-top:20px;min-height:56px}
.trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:34px}
.trust-row>div{background:color-mix(in srgb,var(--surface) 84%,transparent);border:1px solid var(--border);border-radius:18px;padding:16px}
.trust-row>div>span{font-size:1.25rem;float:left;margin-right:10px}
.trust-row strong,.trust-row small{display:block}
.trust-row strong{font-size:.9rem}
.trust-row small{color:var(--muted);margin-top:4px;font-size:.78rem}
.pricing-strip{
  margin-top:18px;background:linear-gradient(135deg,var(--navy),#123f83);color:#fff;border-radius:20px;
  padding:18px 21px;display:flex;justify-content:space-between;align-items:center;gap:15px
}
.pricing-strip .eyebrow{display:block;color:#a7d3ff;margin-bottom:5px}
.pricing-strip strong,.pricing-strip small{display:block}
.pricing-strip small{color:#c9d9ec;margin-top:4px}
.pricing-pill{white-space:nowrap;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);padding:9px 12px;border-radius:999px;font-size:.78rem;font-weight:800}

.questions-view,.packing-view,.coming-home-view{padding:38px 0 10px}
.back-btn{padding:0 14px;margin-bottom:32px;font-weight:750}
.questions-view h2,.packing-view h2,.coming-home-view h2{font-size:clamp(2rem,4.5vw,3.8rem);line-height:1;letter-spacing:-.05em;margin:10px 0 12px}
.section-copy{color:var(--muted);font-size:1rem;line-height:1.65;max-width:760px}
.detected-summary{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.detected-pill{padding:9px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:.84rem;font-weight:700;box-shadow:var(--shadow-sm)}
.question-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.question-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:18px;box-shadow:var(--shadow-sm)}
.question-card input{width:100%;min-height:48px;border-radius:13px;padding:0 13px;font-size:16px}
.date-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px}
.date-row span{color:var(--muted);font-size:.85rem}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.choice-grid button,.segmented button,.activity-choice{
  border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:13px;min-height:48px;padding:8px 11px;
  font-weight:700;transition:.15s ease
}
.choice-grid button{display:flex;align-items:center;gap:8px;justify-content:center}
.choice-grid button.selected,.segmented button.selected,.activity-choice.selected{
  background:color-mix(in srgb,var(--blue) 11%,var(--surface));border-color:var(--blue);color:var(--blue);
  box-shadow:inset 0 0 0 1px var(--blue)
}
.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
[data-choice="transport"]{grid-template-columns:repeat(4,1fr)}
.sub-input{margin-top:10px}
[data-choice="transport"]:has(button:not([data-value="Flight"]).selected)+.sub-input{display:none}
.input-help{font-size:.82rem;color:var(--muted);margin:-4px 0 12px}
.activities-card{grid-column:1/-1}
.activity-choice-grid{display:flex;flex-wrap:wrap;gap:8px}
.activity-choice{padding:0 13px}
.inline-error{margin-top:14px;border:1px solid #ffc5bd;background:#fff0ee;color:#8e3b32;padding:12px 14px;border-radius:13px;font-weight:700;font-size:.9rem}
html[data-theme="dark"] .inline-error{background:#43211d;border-color:#704239;color:#ffd8d3}

.trip-theme-bar{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,color-mix(in srgb,var(--trip-accent) 14%,var(--surface)),var(--surface));
  border:1px solid color-mix(in srgb,var(--trip-accent) 24%,var(--border));border-radius:var(--radius-xl);
  padding:24px;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:var(--shadow)
}
.trip-theme-bar::after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;background:var(--trip-accent);opacity:.06;right:-70px;top:-70px}
.trip-identity{display:flex;align-items:center;gap:15px;min-width:0}
.destination-flag{
  width:56px;height:56px;display:grid;place-items:center;border-radius:18px;background:var(--surface);border:1px solid var(--border);
  font-size:1.8rem;box-shadow:var(--shadow-sm);flex:0 0 56px
}
.trip-meta{color:var(--muted);font-size:.84rem;font-weight:750}
.trip-theme-bar h2{margin:4px 0 0;font-size:clamp(2rem,5vw,4.4rem);word-break:break-word}
.countdown-card{
  min-width:120px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:14px 18px;position:relative;z-index:1
}
.countdown-card strong{display:block;color:var(--trip-accent);font-size:2rem;line-height:1}
.countdown-card span{display:block;margin-top:5px;color:var(--muted);font-size:.78rem;font-weight:800}
.trip-action-row{display:flex;gap:9px;flex-wrap:wrap;margin:13px 0}
.soft-btn{padding:0 14px;font-weight:750;box-shadow:none}
.weather-card{
  display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:15px 17px;
  margin:13px 0;box-shadow:var(--shadow-sm)
}
.weather-icon{font-size:1.5rem}
.weather-card strong,.weather-card small{display:block}
.weather-card small{color:var(--muted);margin-top:3px;line-height:1.4}
.notices{display:grid;gap:9px}
.notice{
  display:flex;justify-content:space-between;gap:14px;align-items:flex-start;background:#FFF8E6;border:1px solid #F2D898;
  color:#604b11;border-radius:15px;padding:12px 13px
}
html[data-theme="dark"] .notice{background:#332c16;border-color:#5f532a;color:#f2dda0}
.notice strong{display:block;font-size:.88rem}
.notice p{margin:3px 0 0;font-size:.82rem;line-height:1.4}
.notice-actions{display:flex;gap:7px;flex:0 0 auto}
.notice button{border:1px solid currentColor;background:transparent;color:inherit;border-radius:10px;padding:7px 9px;font-size:.75rem;font-weight:800}
.progress-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:18px;margin:13px 0;box-shadow:var(--shadow-sm)}
.progress-copy{display:flex;align-items:center;justify-content:space-between;gap:15px}
.progress-copy span{font-weight:800;color:var(--blue)}
.progress-track{height:10px;background:var(--surface-2);border-radius:999px;overflow:hidden;margin:12px 0 9px}
.progress-track>div{height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--mint));border-radius:inherit;transition:width .28s ease}
.progress-card p{margin:0;color:var(--muted);font-size:.85rem}
.list-toolbar{
  display:grid;grid-template-columns:auto minmax(200px,1fr) auto;gap:10px;align-items:center;margin:14px 0
}
.filter-toggle{display:flex;background:var(--surface);border:1px solid var(--border);padding:4px;border-radius:14px}
.filter-toggle button{border:0;background:transparent;color:var(--muted);padding:9px 13px;border-radius:10px;font-weight:800;min-height:40px}
.filter-toggle button.active{background:var(--blue);color:#fff}
.list-search{display:flex;align-items:center;gap:7px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:0 12px;min-height:48px}
.list-search span{color:var(--muted);font-size:1.15rem}
.list-search input{border:0;background:transparent;min-width:0;width:100%;font-size:16px;outline:0}
.history-actions{display:flex;gap:6px}
.checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.category-card{
  --cat:#2B7DE9;
  background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm);
  align-self:start
}
.category-card[data-tone="coral"]{--cat:#FF6B5B}
.category-card[data-tone="mint"]{--cat:#46C69A}
.category-card[data-tone="sky"]{--cat:#5BA8F5}
.category-card[data-tone="gold"]{--cat:#D59A17}
.category-card[data-tone="purple"]{--cat:#8B6FD8}
.category-card[data-tone="teal"]{--cat:#2C9C9A}
.category-head{
  width:100%;border:0;background:linear-gradient(90deg,color-mix(in srgb,var(--cat) 13%,var(--surface)),var(--surface));
  color:var(--text);min-height:72px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;text-align:left
}
.category-title-wrap{display:flex;align-items:center;gap:12px}
.category-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--cat) 16%,var(--surface));font-size:1.25rem}
.category-title-wrap h3{margin:0;font-size:1rem}
.category-title-wrap small{display:block;color:var(--muted);margin-top:3px}
.collapse-btn{font-size:1.2rem;color:var(--muted);transition:transform .2s ease}
.category-card.collapsed .collapse-btn{transform:rotate(-90deg)}
.category-body{padding:0 14px 14px}
.category-card.collapsed .category-body{display:none}
.category-items{display:grid}
.check-item{
  position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:48px;
  border-bottom:1px solid color-mix(in srgb,var(--border) 68%,transparent);padding:7px 0
}
.check-item:last-child{border-bottom:0}
.check-item[hidden]{display:none}
.check-item input[type="checkbox"]{
  width:22px;height:22px;accent-color:var(--mint);margin:0;cursor:pointer
}
.item-copy{min-width:0}
.item-label{display:flex;align-items:center;gap:6px}
.item-label label{font-size:.92rem;line-height:1.3;cursor:pointer}
.check-item.done label{text-decoration:line-through;color:var(--muted)}
.info-btn,.remove-item{
  border:0;background:transparent;color:var(--muted);width:30px;height:30px;border-radius:9px;font-weight:900
}
.info-btn:hover,.remove-item:hover{background:var(--surface-2);color:var(--text)}
.info-btn{width:22px;height:22px;border:1px solid var(--border);font-size:.7rem;display:inline-grid;place-items:center;flex:0 0 22px}
.item-reason{
  margin-top:7px;background:var(--surface-2);border:1px solid var(--border);padding:10px 11px;border-radius:11px;color:var(--muted);
  font-size:.78rem;line-height:1.45;display:grid;gap:9px
}
.item-reason-block{display:grid;gap:3px}
.item-reason-block+ .item-reason-block{padding-top:8px;border-top:1px solid color-mix(in srgb,var(--border) 75%,transparent)}
.item-reason-block strong{color:var(--text);font-size:.72rem;font-weight:900}
.item-reason-block.quantity strong{color:var(--blue)}
.item-reason-block p{margin:0;color:var(--muted);line-height:1.5}
.inline-add{width:100%;border:1px dashed color-mix(in srgb,var(--cat) 45%,var(--border));background:transparent;color:var(--cat);min-height:42px;border-radius:12px;font-weight:800;margin-top:7px}
.category-empty{color:var(--muted);font-size:.84rem;padding:12px 2px}
.custom-section-tools{margin-top:14px;display:grid;gap:10px}
.new-section-btn{
  width:100%;min-height:46px;border:1px dashed color-mix(in srgb,var(--blue) 50%,var(--border));background:color-mix(in srgb,var(--blue) 4%,var(--surface));color:var(--blue);
  border-radius:15px;font-weight:850
}
.new-section-panel{
  background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:17px;box-shadow:var(--shadow-sm);display:grid;gap:14px
}
.new-section-head{display:flex;align-items:center;gap:12px}
.new-section-head h3{margin:0 0 3px;font-size:1rem}
.new-section-head p{margin:0;color:var(--muted);font-size:.8rem;line-height:1.4}
.new-section-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--blue) 10%,var(--surface));font-size:1.45rem;flex:0 0 46px}
.new-section-name{display:grid;gap:7px}
.new-section-name span,.section-colour-picker legend{font-size:.72rem;font-weight:850;color:var(--muted)}
.new-section-name input{min-height:48px;border-radius:13px;padding:0 13px;font-size:16px;width:100%}
.section-colour-picker{border:0;padding:0;margin:0}
.section-colour-options{display:flex;gap:9px;flex-wrap:wrap;margin-top:8px}
.section-colour{
  width:34px;height:34px;border-radius:50%;border:3px solid var(--surface);box-shadow:0 0 0 1px var(--border);position:relative
}
.section-colour.selected{box-shadow:0 0 0 2px var(--text)}
.section-colour.selected::after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:.72rem;font-weight:900;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.section-colour[data-section-tone="sky"]{background:#5BA8F5}
.section-colour[data-section-tone="mint"]{background:#46C69A}
.section-colour[data-section-tone="coral"]{background:#FF6B5B}
.section-colour[data-section-tone="gold"]{background:#D59A17}
.section-colour[data-section-tone="purple"]{background:#8B6FD8}
.section-colour[data-section-tone="teal"]{background:#2C9C9A}
.new-section-actions{display:flex;justify-content:flex-end;gap:8px}
.new-section-error{border:1px solid #ffc5bd;background:#fff0ee;color:#8e3b32;padding:10px 12px;border-radius:12px;font-size:.8rem;font-weight:750}
html[data-theme="dark"] .new-section-error{background:#43211d;border-color:#704239;color:#ffd8d3}

.brain-dump-card{
  margin-top:14px;background:linear-gradient(135deg,var(--navy),#13438a);color:#fff;border-radius:22px;padding:20px;display:grid;gap:16px;
  box-shadow:var(--shadow)
}
.brain-dump-card>div:first-child{display:flex;align-items:center;gap:12px}
.brain-icon{font-size:1.6rem}
.brain-dump-card h3{margin:0 0 3px}
.brain-dump-card p{margin:0;color:#c9dbef;font-size:.86rem}
.add-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.add-row input{min-height:48px;border:0;border-radius:13px;padding:0 13px;color:#10223f;background:#fff;font-size:16px}
.add-row button{border:0;border-radius:13px;padding:0 16px;background:#fff;color:var(--navy);font-weight:850}
.ready-card{text-align:center;margin-top:14px;background:#EAF9F3;border:1px solid #BCE8D8;border-radius:22px;padding:28px}
html[data-theme="dark"] .ready-card{background:#12392f;border-color:#24604f}
.ready-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:#fff;font-size:1.6rem;font-weight:900;margin:0 auto 11px}
.ready-card h3{margin:0 0 6px}.ready-card p{margin:0;color:var(--muted)}
.hidden{display:none!important}

.home-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
.home-item{
  display:flex;align-items:flex-start;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px;box-shadow:var(--shadow-sm)
}
.home-item input{width:22px;height:22px;accent-color:var(--mint);margin:1px 0 0}
.home-item strong,.home-item small{display:block}
.home-item small{color:var(--muted);margin-top:3px;line-height:1.35}

.toast{
  position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translateX(-50%);
  display:flex;align-items:center;gap:12px;background:#10223f;color:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 18px 45px rgba(0,0,0,.25);
  z-index:100;max-width:min(92vw,520px);font-size:.86rem;font-weight:700
}
.toast button{border:0;background:#fff;color:#10223f;border-radius:9px;padding:7px 9px;font-weight:850}

@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:30px}
  .hero-view{padding-top:42px}
  .hero-copy{max-width:760px}
  .checklist-grid{grid-template-columns:1fr}
}
@media (max-width:680px){
  .app-shell{width:min(100% - 24px,1180px);padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .site-header{min-height:70px}
  .wordmark{font-size:1.08rem}
  .logo-mark{width:36px;height:36px;flex-basis:36px}
  .ghost-btn.compact{display:none}
  .hero-view{padding-top:28px}
  h1{font-size:clamp(3.1rem,17vw,5rem)}
  .prompt-card{padding:17px;border-radius:22px}
  .completeness-list{grid-template-columns:1fr}
  .prompt-footer{align-items:stretch;flex-direction:column}
  .primary-btn{width:100%}
  .trust-row{grid-template-columns:1fr}
  .pricing-strip{align-items:flex-start;flex-direction:column}
  .question-grid{grid-template-columns:1fr}
  .activities-card{grid-column:auto}
  [data-choice="transport"]{grid-template-columns:repeat(2,1fr)}
  .date-row{grid-template-columns:1fr}
  .date-row span{display:none}
  .trip-theme-bar{align-items:flex-start}
  .countdown-card{min-width:95px;padding:12px}
  .trip-action-row{display:grid;grid-template-columns:repeat(3,1fr)}
  .new-section-actions{display:grid;grid-template-columns:1fr 1fr}
  .new-section-actions .primary-btn,.new-section-actions .soft-btn{width:100%}
  .soft-btn{padding:7px;font-size:.78rem;line-height:1.2}
  .list-toolbar{grid-template-columns:1fr auto}
  .filter-toggle{grid-column:1}
  .list-search{grid-column:1/-1;grid-row:2}
  .history-actions{grid-column:2;grid-row:1}
  .home-checklist{grid-template-columns:1fr}
  .add-row{grid-template-columns:1fr}
  .add-row button{min-height:46px}
}
@media (max-width:410px){
  .header-actions{gap:6px}
  .icon-btn{width:41px;min-height:41px}
  .trip-theme-bar{padding:17px}
  .destination-flag{width:48px;height:48px;flex-basis:48px;border-radius:14px}
  .countdown-card strong{font-size:1.55rem}
  .trip-action-row{grid-template-columns:1fr}
}

@media print{
  :root{--bg:#fff;--surface:#fff;--surface-2:#fff;--text:#000;--muted:#444;--border:#bbb}
  body{background:#fff}
  .ambient,.site-header,.trip-action-row,.weather-card,.notices,.list-toolbar,.brain-dump-card,.ready-card,.inline-add,.remove-item,.info-btn{display:none!important}
  .app-shell{width:100%;padding:0}
  .view{display:none!important}
  #packingView{display:block!important;padding:0}
  .trip-theme-bar{box-shadow:none;border:0;border-bottom:2px solid #000;border-radius:0;padding:0 0 14px;margin-bottom:14px}
  .countdown-card{border:1px solid #777;box-shadow:none}
  .progress-card{box-shadow:none;border:1px solid #aaa}
  .checklist-grid{display:block}
  .category-card{break-inside:avoid;box-shadow:none;border:1px solid #aaa;border-radius:0;margin:0 0 10px}
  .category-head{background:#fff;min-height:auto;padding:10px 12px;border-bottom:1px solid #aaa}
  .category-body,.category-card.collapsed .category-body{display:block!important;padding:4px 12px 8px}
  .category-icon{background:#fff;width:auto;height:auto}
  .collapse-btn{display:none}
  .check-item{grid-template-columns:20px 1fr;min-height:30px;padding:4px 0}
  .check-item input{appearance:none!important;-webkit-appearance:none!important;width:15px!important;height:15px!important;border:1.5px solid #000;border-radius:2px;background:#fff!important}
  .check-item input:checked::after{content:"✓";font-size:12px;position:relative;top:-3px;left:1px}
  .item-label label{font-size:11pt}
  .check-item.done label{text-decoration:none;color:#000}
  .item-reason{display:none!important}
}
