
:root{
  --night:#071923;--navy:#0b2b3d;--blue:#1c5167;--ice:#dce8eb;--mist:#eef3f3;
  --paper:#ffffff;--ink:#15252d;--muted:#5b6c74;--gold:#e8a64e;--sage:#66887b;
  --red:#9b4038;--line:rgba(16,48,61,.14);--shadow:0 18px 50px rgba(7,25,35,.14);
  --radius:24px;--copper:#c9794c;--cream:#f7f1e5;--deep:#04131c;--link:#16769d
}
@media(prefers-color-scheme:dark){
 :root{--mist:#06141c;--paper:#0d222d;--ink:#eef5f6;--muted:#a8bbc2;--ice:#173744;
 --cream:#17313b;--link:#79c9eb;--line:rgba(255,255,255,.12);--shadow:0 18px 50px rgba(0,0,0,.38)}
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;background:var(--mist);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;line-height:1.5}
a{color:var(--link)}button,input,textarea{font:inherit}
.hero{position:relative;min-height:560px;color:white;overflow:hidden;background:var(--night)}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(2,11,16,.04),rgba(2,11,16,.25) 45%,rgba(2,11,16,.9))}
.hero-inner{position:relative;z-index:2;max-width:1160px;margin:auto;min-height:560px;padding:calc(42px + env(safe-area-inset-top)) 22px 34px;display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:34px;align-items:end}.hero-copy{min-width:0}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.17em;font-weight:900;color:#ffd38e}
h1{font-size:clamp(40px,8vw,76px);line-height:.94;letter-spacing:-.045em;margin:10px 0 16px;max-width:850px}
.hero p{font-size:clamp(16px,2.5vw,21px);max-width:700px;color:#eaf3f5}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.btn{border:0;border-radius:999px;padding:12px 17px;font-weight:900;text-decoration:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.primary{background:var(--gold);color:#17242b}.ghost{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.26);color:white;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.nav{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--mist) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.navin{max-width:1160px;margin:auto;padding:10px 12px;display:flex;gap:8px;overflow-x:auto}
.nav a,.nav-find{flex:none;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:9px 13px;text-decoration:none;font-weight:850;font-size:13px;min-height:44px}.nav-find{display:inline-flex;align-items:center;gap:6px;cursor:pointer;background:var(--navy);color:#fff}
main{max-width:1160px;margin:auto;padding:24px 14px 135px}section{scroll-margin-top:78px}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:34px 4px 14px}
.section-head h2{font-size:clamp(26px,4vw,42px);line-height:1;letter-spacing:-.03em;margin:5px 0 0}.section-head p{max-width:620px;margin:0;color:var(--muted)}
.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:950;color:var(--sage)}
.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:19px;box-shadow:var(--shadow)}
.soft{background:color-mix(in srgb,var(--paper) 78%,var(--ice));box-shadow:none}
.metric{min-height:150px;display:flex;flex-direction:column;justify-content:space-between}.metric strong{display:block;font-size:37px;letter-spacing:-.05em}.metric small{display:block;margin-top:3px;color:var(--muted);font-weight:700}
.progress{height:10px;background:var(--ice);border-radius:99px;overflow:hidden;margin-top:13px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--sage),var(--gold));border-radius:99px}
.countdown{font-variant-numeric:tabular-nums}
.callout{border-left:5px solid var(--gold);border-radius:13px;padding:14px 16px;background:#fff4df;margin:14px 0}
@media(prefers-color-scheme:dark){.callout{background:#3a2c16}}
details{background:var(--paper);border:1px solid var(--line);border-radius:18px;margin:11px 0;overflow:hidden;box-shadow:0 7px 25px rgba(7,25,35,.08)}
summary{list-style:none;cursor:pointer;padding:17px 18px;font-size:17px;font-weight:900;display:flex;align-items:center;justify-content:space-between}
summary::-webkit-details-marker{display:none}summary:after{content:"＋";color:var(--muted);font-size:22px}details[open] summary:after{content:"–"}
.detail-body{padding:0 18px 19px}
.timeline{display:grid;grid-template-columns:88px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.timeline:last-child{border:0}.time{color:#b46c16;font-weight:950}.timeline b{display:block}
.devotional{background:linear-gradient(135deg,#e6efea,#f8f0df);border:1px solid rgba(55,102,105,.14);border-radius:16px;padding:17px;margin-top:16px}
@media(prefers-color-scheme:dark){.devotional{background:linear-gradient(135deg,#17342f,#332b1a)}}
.devotional blockquote{font-family:Georgia,serif;font-size:18px;margin:7px 0 10px}
.photo-card{position:relative;min-height:265px;overflow:hidden;padding:0;background:#173a4d;color:white}.photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(3,14,20,.88))}
.photo-card .caption{position:absolute;z-index:2;left:18px;right:18px;bottom:17px}.photo-card h3{font-size:25px;margin:0 0 4px}.photo-card p{margin:0;color:#e2eef1}
.links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.link{background:color-mix(in srgb,var(--paper) 82%,var(--ice));border:1px solid var(--line);border-radius:15px;padding:14px;text-decoration:none;color:var(--ink);font-weight:900}.link small{display:block;color:var(--muted);font-weight:650;margin-top:4px}
.checks label{display:flex;gap:11px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}.checks label:last-child{border:0}.checks input{width:23px;height:23px;flex:none;margin-top:1px}
.toolbar{display:flex;gap:8px;flex-wrap:wrap}.toolbar button{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:9px 12px;border-radius:999px;font-weight:850}
.search{width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:13px 15px;border-radius:14px;margin:10px 0 14px}
.peaks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.peak{border:1px solid var(--line);background:var(--paper);border-radius:13px;padding:11px}.peak.done{border-left:4px solid var(--sage)}.peak.goal{border-left:4px solid var(--gold)}.peak small{display:block;color:var(--muted)}
textarea{width:100%;min-height:180px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);padding:14px;resize:vertical}
.status{display:inline-flex;gap:7px;align-items:center;font-size:13px;font-weight:850;color:var(--muted)}.dot{width:9px;height:9px;border-radius:50%;background:#4fa267}
.update{display:none;position:fixed;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:70;max-width:620px;margin:auto;background:var(--navy);color:white;border-radius:17px;padding:14px 16px;box-shadow:var(--shadow)}
.update.show{display:flex;justify-content:space-between;gap:12px;align-items:center}.update>span{min-width:0}.update strong,.update small{display:block}.update small{margin-top:2px;color:#d8e7eb}.update button{flex:none;min-height:44px;border:0;border-radius:999px;background:var(--gold);color:#17242b;padding:9px 14px;font-weight:900}.update button:disabled{cursor:wait;opacity:.8}
.float{position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:40;display:flex;flex-direction:column;gap:8px}.float button{border:0;border-radius:999px;background:var(--navy);color:white;padding:11px 15px;font-weight:900;box-shadow:var(--shadow)}
.footer{text-align:center;color:var(--muted);font-size:13px;padding:34px 8px}.footer p{margin:14px 0 0}.footer-shortcuts{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.footer-shortcuts a,.footer-shortcuts button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-weight:900;text-decoration:none;cursor:pointer}
.long-page-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.long-page-shortcuts .btn{min-height:44px}
@media(max-width:780px){.g3,.g2{grid-template-columns:1fr}.links{grid-template-columns:1fr}.peaks{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:760px}.hero-inner{min-height:760px;grid-template-columns:1fr;gap:18px;align-content:end}.section-head{display:block}.section-head p{margin-top:8px}.nav{display:none}.float{display:none}}
@media(max-width:420px){.peaks{grid-template-columns:1fr}.timeline{grid-template-columns:78px 1fr}}
@media print{.nav,.bottom-nav,.float,.update,.install-nudge,.toast,.hero .actions,.photo-strip,#journal{display:none!important}.hero,.hero-inner{min-height:250px}.card,details{box-shadow:none;break-inside:avoid}body{background:#fff;color:#000}}


/* Version 4: Trip Intelligence */
.intel-banner{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:20px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--paper) 82%,var(--ice)),var(--paper));box-shadow:var(--shadow);margin-bottom:14px}
.intel-banner strong{display:block;font-size:clamp(25px,4vw,38px);letter-spacing:-.035em;margin:4px 0}.intel-banner p{margin:0;color:var(--muted);max-width:680px}.intel-banner[data-state="current"]{border-left:6px solid #4fa267}.intel-banner[data-state="warning"]{border-left:6px solid var(--gold)}.intel-banner[data-state="danger"]{border-left:6px solid var(--red)}.intel-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.intel-actions button,.intel-primary{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:11px 14px;border-radius:999px;font-weight:900;cursor:pointer}.intel-actions .intel-primary{background:var(--gold);color:#17242b;border-color:transparent}.intel-primary[disabled]{opacity:.55;cursor:wait}
.intel-note{padding:13px 15px;border-radius:14px;background:color-mix(in srgb,var(--paper) 78%,var(--ice));border:1px solid var(--line);color:var(--muted);margin-bottom:14px}.intel-note b{color:var(--ink)}
.weather-live-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.weather-live{border:1px solid var(--line);border-radius:17px;background:var(--paper);padding:16px}.weather-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.weather-live h3{margin:3px 0 0;font-size:22px}.weather-message{margin:12px 0;color:var(--muted)}.freshness{flex:none;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:950;background:var(--ice);color:var(--muted)}.freshness.current{background:#dcefe2;color:#27623a}.freshness.warning{background:#fff0d7;color:#8a5615}.freshness.danger{background:#f8dedb;color:#82342e}.freshness.neutral{background:var(--ice);color:var(--muted)}
.wx-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}.wx-stat{background:color-mix(in srgb,var(--paper) 78%,var(--ice));border-radius:11px;padding:9px}.wx-stat b{display:block;font-size:18px}.wx-stat small{color:var(--muted)}.alert-line{font-size:13px;font-weight:800;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--paper) 78%,var(--ice));margin:8px 0}.alert-line.alert{background:#f8dedb;color:#82342e}.hour-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:10px 0}.hour{border:1px solid var(--line);border-radius:10px;padding:8px 5px;text-align:center;font-size:12px}.hour b{display:block;font-size:15px}.hour small{display:block;color:var(--muted)}.weather-link{display:inline-block;font-weight:850;margin-top:5px}.refresh-log{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-top:13px}
.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.review-card{border:1px solid var(--line);border-radius:16px;padding:15px;background:var(--paper)}.review-card h3{margin:3px 0 8px}.review-card p{color:var(--muted);margin:0 0 12px}.review-card[data-state="current"]{border-left:5px solid #4fa267}.review-card[data-state="warning"]{border-left:5px solid var(--gold)}.review-card[data-state="danger"]{border-left:5px solid var(--red)}.review-actions{display:flex;gap:7px;flex-wrap:wrap}.review-actions a,.review-actions button{border:1px solid var(--line);border-radius:999px;padding:8px 10px;background:var(--paper);color:var(--ink);font-size:13px;font-weight:900;text-decoration:none;cursor:pointer}.review-actions a{background:var(--navy);color:white;border-color:transparent}
.intel-checklists{margin-top:12px}.intel-metrics{margin-bottom:14px}
@media(max-width:780px){.intel-banner{display:block}.intel-actions{justify-content:flex-start;margin-top:14px}.weather-live-grid,.review-grid{grid-template-columns:1fr}.hour-strip{grid-template-columns:repeat(4,minmax(62px,1fr));overflow-x:auto}.wx-summary{grid-template-columns:repeat(3,minmax(80px,1fr));overflow-x:auto}}
@media print{#intelligence .intel-actions,#intelligence .toolbar{display:none!important}}


/* Version 5: summit weather, contextual actions and mobile app navigation */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
button,a,select,input,textarea{touch-action:manipulation}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--gold) 75%,white);outline-offset:3px}
.summit-weather{border:1px solid rgba(255,255,255,.24);border-radius:24px;padding:16px;background:rgba(5,24,34,.60);box-shadow:0 24px 70px rgba(0,0,0,.30);-webkit-backdrop-filter:blur(20px) saturate(1.12);backdrop-filter:blur(20px) saturate(1.12);color:white;min-width:0}
.summit-weather-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.summit-weather-head>div{display:flex;flex-direction:column}.widget-label{font-size:12px;letter-spacing:.13em;text-transform:uppercase;font-weight:950;color:#ffd38e}.widget-source{font-size:11px;color:#c8dce3}
.icon-button{width:38px;height:38px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(255,255,255,.12);color:white;display:grid;place-items:center;cursor:pointer}.icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.icon-button.loading svg{animation:spin .8s linear infinite}
.weather-select{width:100%;margin:12px 0 9px;padding:11px 38px 11px 12px;border:1px solid rgba(255,255,255,.22);border-radius:14px;background:rgba(255,255,255,.12);color:white;font-weight:850;appearance:auto}.weather-select option{color:#17242b;background:white}
.weather-mode{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:rgba(255,255,255,.10)}.weather-mode button{border:0;border-radius:9px;background:transparent;color:#d4e2e7;padding:8px 7px;font-size:12px;font-weight:900;cursor:pointer}.weather-mode button.active{background:white;color:#173244}
.hero-weather-body{min-height:222px;padding-top:13px}.weather-loading{display:flex;gap:12px;align-items:center;padding:28px 4px}.weather-loading small{display:block;color:#c9dbe1;margin-top:3px}.weather-pulse{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.18);position:relative}.weather-pulse:after{content:"";position:absolute;inset:8px;border-radius:50%;background:#ffd38e;animation:pulse 1.7s ease-in-out infinite}
.hero-weather-main{display:grid;grid-template-columns:74px 1fr;gap:13px;align-items:center}.weather-art{width:74px;height:74px;color:#ffd38e}.weather-art svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.hero-temp{font-size:46px;line-height:.9;letter-spacing:-.06em;font-weight:950}.hero-condition{font-size:14px;color:#dce9ed;margin-top:6px}.weather-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.weather-mini{padding:8px;border-radius:11px;background:rgba(255,255,255,.10)}.weather-mini b{display:block;font-size:14px}.weather-mini small{font-size:10px;color:#c7dbe1}
.weather-flags{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.weather-flag{font-size:10px;font-weight:900;padding:5px 7px;border-radius:999px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.12)}.weather-flag.warn{background:rgba(232,166,78,.22);border-color:rgba(255,211,142,.38);color:#ffe0ad}.weather-flag.alert{background:rgba(190,74,64,.30);border-color:rgba(255,170,160,.40);color:#ffd5d0}
.hero-hours{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-top:10px}.hero-hour{text-align:center;padding:6px 2px;border-radius:9px;background:rgba(255,255,255,.08)}.hero-hour b,.hero-hour span,.hero-hour small{display:block}.hero-hour b{font-size:10px;color:#d3e2e7}.hero-hour span{font-size:15px;font-weight:900}.hero-hour small{font-size:9px;color:#bed1d8}
.trip-window-message{padding:16px 3px}.trip-window-message strong{display:block;font-size:23px;line-height:1.05;margin:5px 0 8px}.trip-window-message p{font-size:13px;color:#d0e0e5;margin:0}.trip-window-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.trip-window-metrics div{background:rgba(255,255,255,.10);border-radius:11px;padding:9px}.trip-window-metrics b{display:block;font-size:16px}.trip-window-metrics small{font-size:10px;color:#c6d9df}
.summit-weather-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid rgba(255,255,255,.13);padding-top:10px;font-size:10px;color:#c2d5dc}.summit-weather-foot a{color:white;font-weight:900;text-decoration:none}
.next-action{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;margin:14px 0;padding:17px 18px;background:linear-gradient(135deg,color-mix(in srgb,var(--paper) 82%,var(--ice)),var(--paper));border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}.next-action-icon{width:45px;height:45px;border-radius:15px;display:grid;place-items:center;background:var(--navy);color:white;font-size:23px}.next-action-copy strong{display:block;font-size:20px;margin:2px 0}.next-action-copy p{margin:0;color:var(--muted)}.next-action-buttons{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.next-action-buttons button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:10px 13px;font-weight:900;cursor:pointer}.next-action-buttons .intel-primary{background:var(--gold);color:#17242b;border-color:transparent}
.install-nudge{position:sticky;top:0;z-index:35;max-width:720px;margin:10px auto -2px;padding:11px 13px;border:1px solid var(--line);border-radius:15px;background:color-mix(in srgb,var(--paper) 94%,var(--ice));box-shadow:var(--shadow);display:flex;align-items:center;justify-content:space-between;gap:12px}.install-nudge>div:first-child{display:flex;flex-direction:column}.install-nudge span{font-size:12px;color:var(--muted)}.install-nudge-actions{display:flex;align-items:center;gap:7px}.install-nudge a,.install-nudge button{border:0;border-radius:999px;padding:7px 10px;font-weight:900;text-decoration:none}.install-nudge a{background:var(--navy);color:white}.install-nudge button{background:var(--ice);color:var(--ink);font-size:18px;line-height:1}
.bottom-nav{display:none}
.toast{position:fixed;left:50%;bottom:calc(88px + env(safe-area-inset-bottom));transform:translate(-50%,20px);z-index:75;background:var(--night);color:white;border-radius:999px;padding:10px 15px;font-size:13px;font-weight:850;opacity:0;pointer-events:none;transition:.22s ease;box-shadow:var(--shadow);max-width:calc(100% - 28px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,100%{opacity:.55;transform:scale(.8)}50%{opacity:1;transform:scale(1.05)}}
@media(max-width:900px) and (min-width:781px){.hero-inner{grid-template-columns:minmax(0,1fr) 335px;gap:22px}.hero-temp{font-size:41px}}
@media(max-width:780px){
 .summit-weather{width:100%;border-radius:21px;background:rgba(5,24,34,.72)}.hero-weather-body{min-height:210px}
 .next-action{grid-template-columns:auto 1fr}.next-action-buttons{grid-column:1/-1;justify-content:flex-start}
 .bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:55;display:grid;grid-template-columns:repeat(5,1fr);padding:7px 5px calc(7px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--paper) 94%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--line)}
 .bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 1px;color:var(--muted);font-size:10px;font-weight:850;text-decoration:none}.bottom-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bottom-nav a.active{color:var(--blue)}.bottom-nav a.active svg{stroke-width:2.5}
 .update{right:82px;bottom:calc(79px + env(safe-area-inset-bottom));max-width:none}.install-nudge{margin:8px 10px 0;top:8px}.install-nudge span{display:none}
 main{padding-bottom:125px}
}
@media(max-width:390px){.hero-hours{grid-template-columns:repeat(3,1fr)}.hero-weather-body{min-height:285px}.weather-stats{grid-template-columns:repeat(3,minmax(70px,1fr));overflow-x:auto}.next-action{grid-template-columns:1fr}.next-action-icon{display:none}.next-action-buttons{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.icon-button.loading svg,.weather-pulse:after{animation:none}.toast{transition:none}}
@media print{.summit-weather{background:white;color:black;border:1px solid #bbb}.summit-weather *{color:black!important}.summit-weather-head .icon-button,.weather-mode{display:none}.next-action-buttons{display:none}}

.review-actions{flex-wrap:wrap}.review-actions a,.review-actions button{min-height:44px}


/* Version 6 — Alpine Edition */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(circle at 15% 0%,color-mix(in srgb,var(--ice) 52%,transparent),transparent 34%),linear-gradient(180deg,var(--mist),color-mix(in srgb,var(--mist) 92%,var(--ice)))}
.hero-v6{min-height:680px}.hero-v6:after{background:linear-gradient(90deg,rgba(2,12,18,.88) 0%,rgba(2,12,18,.45) 52%,rgba(2,12,18,.18) 100%),linear-gradient(180deg,rgba(2,12,18,.05),rgba(2,12,18,.22) 54%,rgba(2,12,18,.78))}.hero-v6 .hero-inner{min-height:680px;padding-bottom:54px}.hero-brand{display:flex;align-items:center;gap:10px}.brand-mark{width:31px;height:31px;border:1px solid rgba(255,255,255,.36);border-radius:50%;display:grid;place-items:center;font-size:13px;color:#ffd38e;background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-v6 h1 span{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-style:italic;letter-spacing:-.055em;color:#f9e7c5}.hero-v6 .hero-copy>p{max-width:735px}.hero-meta{display:flex;gap:22px;flex-wrap:wrap;margin-top:22px;font-size:12px;color:#d8e7eb}.hero-meta span{display:flex;align-items:baseline;gap:6px}.hero-meta b{font-size:20px;color:white}.hero-v6 .summit-weather{background:linear-gradient(155deg,rgba(5,25,35,.78),rgba(10,44,58,.58));border-color:rgba(255,255,255,.3)}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid .metric{position:relative;overflow:hidden}.dashboard-grid .metric:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-55px;bottom:-70px;background:var(--ice);opacity:.65}.sun-metric .sun-arc{height:12px;border-radius:99px;background:linear-gradient(90deg,#1f4961,#e09b50 38%,#ffd88b 55%,#e09b50 72%,#1f4961);position:relative;overflow:hidden;margin-top:13px}.sun-metric .sun-arc span{position:absolute;width:9px;height:9px;border-radius:50%;background:#fff4cc;box-shadow:0 0 16px #ffe399;left:43%;top:1px}
.focus-intro{padding-top:10px}.focus-showcase{display:grid;grid-template-columns:1.08fr .92fr;gap:14px}.focus-showcase-copy{position:relative;overflow:hidden;min-height:340px;padding:34px;border-radius:30px;color:white;background:linear-gradient(145deg,#092637,#173f50 58%,#496f6c);box-shadow:var(--shadow)}.focus-showcase-copy:after{content:"";position:absolute;inset:auto -70px -110px auto;width:280px;height:280px;border-radius:50%;border:1px solid rgba(255,255,255,.15);box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.025)}.focus-showcase-copy .kicker{color:#ffd38e}.focus-showcase-copy h3{font-size:clamp(30px,5vw,52px);line-height:1;letter-spacing:-.04em;max-width:560px;margin:12px 0}.focus-showcase-copy p{max-width:620px;color:#d8e7eb;font-size:17px}.focus-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.focus-actions button{border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:11px 14px;font-weight:900;cursor:pointer}.focus-actions button:not(.intel-primary){background:rgba(255,255,255,.1);color:white}.focus-orbit{position:absolute;right:28px;top:28px;width:82px;height:82px;border:1px solid rgba(255,255,255,.2);border-radius:50%}.focus-orbit:before,.focus-orbit:after{content:"";position:absolute;border-radius:50%}.focus-orbit:before{inset:17px;border:1px solid rgba(255,255,255,.25)}.focus-orbit:after{width:10px;height:10px;background:#ffd38e;left:5px;top:33px;box-shadow:0 0 20px #ffd38e}.light-board{background:var(--paper);border:1px solid var(--line);border-radius:30px;padding:25px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between}.light-board-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.light-board h3{font-size:27px;margin:5px 0}.light-board select{max-width:180px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:12px;padding:9px}.light-track{height:88px;border-radius:80px 80px 14px 14px;background:linear-gradient(180deg,#14384c,#c87554 65%,#f3bc65);position:relative;overflow:hidden;margin:24px 0 13px}.light-track:after{content:"";position:absolute;left:12%;right:12%;bottom:-55px;height:110px;border:1px solid rgba(255,255,255,.5);border-radius:50% 50% 0 0}.light-track i{position:absolute;width:20px;height:20px;border-radius:50%;background:#ffe3a1;left:39%;top:18px;box-shadow:0 0 25px rgba(255,220,145,.8)}.light-dawn,.light-sun{position:absolute;bottom:7px;width:1px;height:32px;background:rgba(255,255,255,.55)}.light-dawn{left:23%}.light-sun{left:35%}.light-times{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.light-times div{background:var(--ice);border-radius:14px;padding:12px}.light-times small,.light-times b{display:block}.light-times small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.light-times b{font-size:20px}.light-board>p{margin:14px 0 0;color:var(--muted);font-size:13px}
.photo-strip .grid{gap:18px}.photo-card{min-height:340px;border-radius:29px;transition:transform .35s ease,box-shadow .35s ease}.photo-card:hover{transform:translateY(-4px);box-shadow:0 26px 70px rgba(4,19,28,.24)}.photo-card:after{background:linear-gradient(180deg,rgba(4,19,28,.02) 28%,rgba(4,19,28,.92))}.photo-card .caption{left:23px;right:23px;bottom:22px}.photo-card h3{font-family:Georgia,"Times New Roman",serif;font-size:28px;font-weight:500}.photo-card p{font-size:13px}
.route-profiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:15px}.route-profile{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);overflow:hidden}.route-profile.featured{background:linear-gradient(150deg,color-mix(in srgb,var(--paper) 85%,var(--ice)),var(--paper));border-color:color-mix(in srgb,var(--gold) 45%,var(--line))}.route-profile-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.route-profile-head>div{display:flex;align-items:center;gap:9px}.route-profile-head span{width:30px;height:30px;border-radius:10px;background:var(--navy);color:white;display:grid;place-items:center;font-size:11px;font-weight:900}.route-profile h3{font-size:18px;margin:0}.route-profile small{font-size:10px;color:var(--muted)}.route-profile svg{width:100%;height:auto;overflow:visible;margin:14px 0 6px}.route-profile svg text{font:10px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;fill:var(--muted)}.profile-fill{fill:color-mix(in srgb,var(--sage) 18%,transparent)}.profile-line{fill:none;stroke:var(--gold);stroke-width:4;stroke-linecap:round}.route-profile svg circle{fill:var(--paper);stroke:var(--gold);stroke-width:3}.route-profile p{font-size:13px;color:var(--muted);margin:6px 0 0}
.focus-fab-wrap{display:none}.focus-overlay[hidden]{display:none}.focus-overlay{position:fixed;inset:0;z-index:100;background:rgba(2,12,18,.72);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding:20px;overflow:auto}.focus-sheet{max-width:720px;margin:2vh auto;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:30px;padding:24px;box-shadow:0 35px 100px rgba(0,0,0,.45)}.focus-sheet-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.focus-sheet h2{font-size:38px;letter-spacing:-.04em;margin:4px 0}.focus-sheet-controls{display:flex;gap:7px}.focus-sheet-controls button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:9px 12px;font-weight:900}.close-focus{width:42px;height:42px;font-size:24px;padding:0!important}.focus-select-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--muted)}.focus-select{display:block;width:100%;margin:7px 0 15px;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:14px;padding:13px;font-size:17px;font-weight:850}.focus-critical{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.focus-critical div{background:var(--ice);border-radius:16px;padding:13px}.focus-critical small,.focus-critical b{display:block}.focus-critical small{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.focus-critical b{font-size:22px}
.focus-critical .focus-turn-primary{background:linear-gradient(135deg,var(--gold),#f0b968);color:#17242b}
.focus-critical .focus-turn-primary small{color:#5a4416}
.focus-critical .focus-turn-primary b{font-size:26px}
.campfire-mode .focus-critical .focus-turn-primary{background:#3a0d08;color:#ff9a77}
.campfire-mode .focus-critical .focus-turn-primary small{color:#c78b77}.focus-weather-card{display:flex;align-items:center;gap:13px;margin:12px 0;background:linear-gradient(135deg,var(--navy),var(--blue));color:white;border-radius:20px;padding:17px}.focus-weather-card .weather-pulse{flex:none}.focus-weather-card small{display:block;color:#d4e4e9}.focus-weather-grid{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center;width:100%}.focus-weather-temp{font-size:44px;line-height:1;font-weight:950}.focus-weather-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:9px}.focus-weather-stats span{background:rgba(255,255,255,.1);border-radius:10px;padding:7px;font-size:11px}.focus-route{padding:16px 2px}.focus-route h3{font-size:26px;line-height:1.08;margin:5px 0}.focus-route p{color:var(--muted)}.focus-links{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.focus-links a{border:1px solid var(--line);background:var(--ice);border-radius:14px;padding:12px;color:var(--ink);font-weight:850;text-decoration:none}.focus-rule{display:flex;gap:12px;align-items:flex-start;margin:14px 0;padding:14px;border-left:5px solid var(--gold);background:color-mix(in srgb,var(--paper) 76%,var(--cream));border-radius:14px}.focus-rule>span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#17242b;font-weight:950}.focus-rule p{margin:0}.focus-bottom{display:flex;gap:8px;flex-wrap:wrap}.focus-bottom button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:11px 14px;font-weight:900}.focus-bottom .intel-primary{background:var(--gold);border-color:transparent}
.campfire-mode{--mist:#090000;--paper:#170504;--ink:#ffd0bd;--muted:#c78b77;--ice:#32100d;--cream:#2b0b07;--link:#ff9a77;--line:rgba(255,102,65,.22);--navy:#250503;--blue:#5f160f;--gold:#ff6a3c;--sage:#c54c2e;--shadow:0 18px 50px rgba(0,0,0,.55)}.campfire-mode body{background:#080000;background-image:none}.campfire-mode .hero>img{filter:grayscale(1) sepia(1) hue-rotate(315deg) saturate(2.5) brightness(.45)}.campfire-mode .hero:after{background:rgba(20,0,0,.58)}.campfire-mode .devotional,.campfire-mode .callout{background:#2b0b07}.campfire-mode .focus-weather-card{background:linear-gradient(135deg,#320703,#6a180f)}.campfire-mode .photo-card img{filter:sepia(1) hue-rotate(315deg) saturate(1.8) brightness(.7)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1020px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.route-profiles{grid-template-columns:1fr}.focus-showcase{grid-template-columns:1fr}.focus-showcase-copy{min-height:300px}}
@media(max-width:780px){.hero-v6{min-height:860px}.hero-v6 .hero-inner{min-height:860px;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:35px}.hero-v6 h1{font-size:clamp(43px,13vw,67px)}.hero-meta{gap:15px}.g4{grid-template-columns:1fr 1fr}.focus-showcase-copy{padding:25px}.focus-showcase-copy h3{font-size:37px}.light-board{padding:20px}.light-board-head{display:block}.light-board select{max-width:none;width:100%;margin-top:8px}.photo-card{min-height:300px}.route-summary-grid{display:none}.focus-fab-wrap{display:block;position:fixed;right:10px;bottom:calc(136px + env(safe-area-inset-bottom));left:auto;transform:none;z-index:58}.focus-fab{width:62px;height:62px;border:5px solid color-mix(in srgb,var(--paper) 92%,transparent);border-radius:50%;background:var(--gold);color:#17242b;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 15px 35px rgba(0,0,0,.28);font-weight:950}.focus-fab span{font-size:21px;line-height:1}.focus-fab small{font-size:9px;text-transform:uppercase}.bottom-nav{grid-template-columns:repeat(5,1fr)}.bottom-nav a:nth-child(2){padding-right:22px}.bottom-nav a:nth-child(3){padding-left:22px}.focus-overlay{padding:0}.focus-sheet{min-height:100%;margin:0;border-radius:0;padding:calc(18px + env(safe-area-inset-top)) 16px calc(90px + env(safe-area-inset-bottom))}.focus-sheet h2{font-size:32px}.focus-critical b{font-size:18px}.focus-links{grid-template-columns:1fr}.focus-bottom{position:sticky;bottom:0;background:var(--paper);padding:10px 0}.float{display:none}}
@media(max-width:430px){.g4{grid-template-columns:1fr}.focus-critical{grid-template-columns:1fr 1fr}.focus-critical div:last-child{grid-column:1/-1}.light-times b{font-size:16px}.focus-weather-stats{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.photo-card,.reveal{transition:none}.reveal{opacity:1;transform:none}}
@media print{#focus,.focus-overlay,.focus-fab-wrap{display:none!important}}

/* Version 6.1 — focused refinements */
.terrain-light-note{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--paper) 78%,var(--cream))}.terrain-light-note>span{flex:none;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#17242b;font-weight:950}.terrain-light-note p{margin:0!important;font-size:12px!important;color:var(--muted)}.focus-light-note{margin:8px 2px 12px;color:var(--muted);font-size:12px}
.focus-countdown{margin:2px 0 12px;padding:14px 16px;border-radius:16px;font-size:16px;font-weight:850;line-height:1.35;border:1px solid var(--line);text-align:center}
.focus-countdown[hidden]{display:none}
.focus-countdown[data-level="idle"]{background:color-mix(in srgb,var(--paper) 80%,var(--ice));color:var(--ink)}
.focus-countdown[data-level="watch"]{background:#fff4df;border-left:6px solid var(--gold)}
.focus-countdown[data-level="warn"]{background:#fff0d7;border-left:6px solid #d08217}
.focus-countdown[data-level="now"]{background:#f8dedb;border-left:7px solid var(--red);color:#82342e;font-size:18px}
.focus-countdown[data-level="past"]{background:#f3d0cc;border:2px solid var(--red);color:#7a2b25;font-size:18px}
@media(prefers-color-scheme:dark){.focus-countdown[data-level="watch"],.focus-countdown[data-level="warn"]{background:#3a2c16}.focus-countdown[data-level="now"],.focus-countdown[data-level="past"]{background:#3a1a16;color:#ffb4ab}}
.campfire-mode .focus-countdown{background:#1a0603;color:var(--ink);border-color:rgba(255,106,60,.3)}
.campfire-mode .focus-countdown[data-level="watch"]{border-left:6px dashed #ffad94}
.campfire-mode .focus-countdown[data-level="warn"]{border-left:6px dashed #ffad94}
.campfire-mode .focus-countdown[data-level="now"]{border-left:7px double #ffad94}
.campfire-mode .focus-countdown[data-level="past"]{border:2px double #ffad94}
.focus-turncheck{margin:0 0 12px;padding:11px 13px;border-radius:13px;font-size:13px;font-weight:750;line-height:1.4;border:1px solid var(--line);background:color-mix(in srgb,var(--paper) 80%,var(--ice))}
.focus-turncheck:before{font-weight:900;margin-right:6px}
.focus-turncheck[data-level="none"]{color:var(--muted)}
.focus-turncheck[data-level="none"]:before{content:"…"}

.focus-turncheck[data-level="watch"]{border-left:5px solid var(--gold);background:#fff4df}.focus-turncheck[data-level="watch"]:before{content:"!"}
.focus-turncheck[data-level="warn"]{border-left:5px solid #d08217;background:#fff0d7}.focus-turncheck[data-level="warn"]:before{content:"!!"}
.focus-turncheck[data-level="danger"]{border-left:6px double var(--red);background:#f8dedb;color:#82342e}.focus-turncheck[data-level="danger"]:before{content:"✕"}
@media(prefers-color-scheme:dark){.focus-turncheck[data-level="watch"]{background:#3a2c16}.focus-turncheck[data-level="warn"]{background:#3a2c16}.focus-turncheck[data-level="danger"]{background:#3a1a16;color:#ffb4ab}}
.campfire-mode .focus-turncheck{background:#1a0603;color:var(--ink)}

.campfire-mode .focus-turncheck[data-level="watch"]{border-left:5px dashed #ffad94}
.campfire-mode .focus-turncheck[data-level="warn"]{border-left:6px dashed #ffad94}
.campfire-mode .focus-turncheck[data-level="danger"]{border-left:7px double #ffad94}.campfire-mode .freshness.current{border:2px solid #ffad94}.campfire-mode .freshness.current:before{content:"✓ "}.campfire-mode .freshness.warning{border:2px dashed #ffad94}.campfire-mode .freshness.warning:before{content:"! "}.campfire-mode .freshness.danger{border:3px double #ffad94}.campfire-mode .freshness.danger:before{content:"× "}.campfire-mode .freshness.neutral{border:1px dotted #ffad94}.campfire-mode .freshness.neutral:before{content:"• "}.campfire-mode .intel-banner[data-state="current"]{border-left:8px solid #ffad94}.campfire-mode .intel-banner[data-state="warning"]{border-left:8px dashed #ffad94}.campfire-mode .intel-banner[data-state="danger"]{border-left:8px double #ffad94}.campfire-mode .weather-flag.warn:before{content:"! "}.campfire-mode .weather-flag.alert:before{content:"× "}.campfire-mode .status .dot{border:2px solid currentColor;background:transparent}


/* Version 6.2 — morning and evening formation */
.formation-pair{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.formation-pair .devotional{
  margin-top:0;
  min-height:100%;
  position:relative;
  overflow:hidden;
}
.devotional.morning{
  background:linear-gradient(145deg,#e6efea 0%,#f8f0df 100%);
}
.devotional.evening{
  background:linear-gradient(145deg,#e8edf4 0%,#eee7df 100%);
  border-color:rgba(47,72,101,.16);
}
.formation-heading{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:5px;
}
.formation-symbol{
  width:34px;
  height:34px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(21,50,62,.10);
  color:#9a651e;
  font-size:19px;
}
.devotional.evening .formation-symbol{
  color:#455f82;
}
.formation-time{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
}
.reflection-question{
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid rgba(21,50,62,.12);
}
.reflection-question b{
  display:block;
  margin-bottom:3px;
  color:var(--ink);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.reflection-question span{
  display:block;
  font-weight:750;
}
@media(prefers-color-scheme:dark){
  .devotional.morning{background:linear-gradient(145deg,#17342f,#332b1a)}
  .devotional.evening{background:linear-gradient(145deg,#172637,#29231f)}
  .formation-symbol{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.10)}
  .reflection-question{border-top-color:rgba(255,255,255,.12)}
}
.campfire-mode .devotional.morning,
.campfire-mode .devotional.evening{
  background:#2b0b07;
  border-color:rgba(255,106,60,.25);
}
.campfire-mode .formation-symbol{
  background:#3a0d08;
  border-color:rgba(255,106,60,.24);
  color:#ff9a77;
}
.campfire-mode .reflection-question{
  border-top-color:rgba(255,106,60,.23);
}
@media(max-width:780px){
  .formation-pair{grid-template-columns:1fr}
}
@media print{
  .formation-pair{grid-template-columns:1fr 1fr}
}


/* Version 6.3 — safe Ask AI companion */
.ai-overlay[hidden]{display:none}
.ai-overlay{
  position:fixed;
  inset:0;
  z-index:110;
  overflow:auto;
  padding:20px;
  background:rgba(2,12,18,.74);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.ai-sheet{
  max-width:720px;
  margin:2vh auto;
  padding:24px;
  color:var(--ink);
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:30px;
  box-shadow:0 35px 100px rgba(0,0,0,.46);
}
.ai-sheet-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.ai-sheet h2{
  margin:4px 0 6px;
  font-size:38px;
  letter-spacing:-.04em;
}
.ai-sheet-top p{
  max-width:570px;
  margin:0;
  color:var(--muted);
}
.close-ai{
  width:42px;
  height:42px;
  flex:none;
  padding:0;
  border:1px solid var(--line);
  border-radius:50%;
  color:var(--ink);
  background:var(--paper);
  font-size:24px;
  font-weight:900;
}
.ai-context-status{
  display:flex;
  align-items:center;
  gap:12px;
  margin:18px 0 12px;
  padding:13px 14px;
  border:1px solid rgba(199,139,45,.23);
  border-radius:16px;
  background:color-mix(in srgb,var(--cream) 72%,var(--paper));
}
.ai-context-status>span{
  width:32px;
  height:32px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#17242b;
  background:var(--gold);
  font-weight:950;
}
.ai-context-status b,.ai-context-status small{display:block}
.ai-context-status small{margin-top:2px;color:var(--muted)}
.ai-quick-prompts{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:12px 0 14px;
}
.ai-quick-prompts button{
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--ink);
  background:var(--ice);
  font-size:12px;
  font-weight:850;
}
.ai-question-label{
  display:block;
  margin:4px 0 6px;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
#aiQuestion{
  width:100%;
  min-height:138px;
  resize:vertical;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  color:var(--ink);
  background:var(--paper);
  font:inherit;
  font-size:16px;
  line-height:1.5;
}
#aiQuestion:focus{
  outline:3px solid color-mix(in srgb,var(--gold) 32%,transparent);
  border-color:var(--gold);
}
.ai-options{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin:11px 0;
  color:var(--muted);
  font-size:13px;
  font-weight:750;
}
.ai-options label{
  display:flex;
  align-items:center;
  gap:7px;
}
.ai-options input{accent-color:var(--gold)}
.ai-preview{
  margin:10px 0 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--ice);
}
.ai-preview summary{
  cursor:pointer;
  padding:11px 13px;
  font-size:13px;
  font-weight:850;
}
.ai-preview pre{
  max-height:240px;
  overflow:auto;
  margin:0;
  padding:0 13px 13px;
  color:var(--muted);
  white-space:pre-wrap;
  word-break:break-word;
  font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;
}
.ai-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.ai-actions button{
  padding:11px 14px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--ink);
  background:var(--paper);
  font-weight:900;
}
.ai-actions .intel-primary{
  border-color:transparent;
  color:#17242b;
  background:var(--gold);
}
.ai-privacy{
  margin:13px 2px;
  color:var(--muted);
  font-size:12px;
}
.ai-safety{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin-top:12px;
  padding:13px;
  border-left:5px solid var(--gold);
  border-radius:14px;
  background:color-mix(in srgb,var(--paper) 76%,var(--cream));
}
.ai-safety>span{
  width:27px;
  height:27px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#17242b;
  background:var(--gold);
  font-weight:950;
}
.ai-safety p{margin:0}
.ai-offline-note{display:flex;gap:10px;align-items:flex-start;margin:0 0 14px;padding:12px 14px;border-radius:14px;background:#f8dedb;color:#82342e;border:1px solid rgba(155,64,56,.3);font-size:13px;font-weight:750}
.ai-offline-note[hidden]{display:none}
.ai-offline-note>span{flex:none;font-weight:900}
@media(prefers-color-scheme:dark){.ai-offline-note{background:#3a1a16;color:#ffb4ab}}
.campfire-mode .ai-offline-note{background:#2a0805;color:#ff9a77;border-color:rgba(255,106,60,.3)}
.ai-fab-wrap{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:59;
}
.ai-fab{
  min-width:70px;
  height:54px;
  padding:0 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:4px solid color-mix(in srgb,var(--paper) 92%,transparent);
  border-radius:999px;
  color:white;
  background:linear-gradient(135deg,var(--blue),var(--navy));
  box-shadow:0 14px 34px rgba(0,0,0,.28);
  font-weight:950;
}
.ai-fab span{font-size:18px}
.ai-fab small{
  font-size:10px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.campfire-mode .ai-sheet{
  color:#ffd9cb;
  background:#180604;
  border-color:rgba(255,106,60,.28);
}
.campfire-mode .close-ai,
.campfire-mode #aiQuestion,
.campfire-mode .ai-actions button{
  color:#ffd9cb;
  background:#240805;
  border-color:rgba(255,106,60,.28);
}
.campfire-mode .ai-context-status,
.campfire-mode .ai-preview,
.campfire-mode .ai-safety{
  background:#2b0b07;
  border-color:rgba(255,106,60,.25);
}
.campfire-mode .ai-quick-prompts button{
  color:#ffd9cb;
  background:#2b0b07;
  border-color:rgba(255,106,60,.25);
}
.campfire-mode .ai-fab{
  color:#ffd9cb;
  background:#350c08;
  border-color:#180604;
}
@media(max-width:780px){
  .ai-overlay{padding:0}
  .ai-sheet{
    min-height:100%;
    margin:0;
    padding:calc(18px + env(safe-area-inset-top)) 16px calc(96px + env(safe-area-inset-bottom));
    border-radius:0;
  }
  .ai-sheet h2{font-size:32px}
  .ai-fab-wrap{
    right:10px;
    bottom:calc(78px + env(safe-area-inset-bottom));
  }
  .ai-fab{
    min-width:60px;
    height:50px;
    padding:0 11px;
  }
  .ai-fab small{font-size:9px}
}
@media print{
  .ai-overlay,.ai-fab-wrap{display:none!important}
}


/* Version 6.6 — Personal Gear Locker and Smart Pack Builder */
.gear-principle{
  display:flex;
  align-items:flex-start;
  gap:13px;
  margin-bottom:14px;
  padding:15px 16px;
  border:1px solid rgba(199,139,45,.22);
  border-radius:18px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--cream) 82%,var(--paper)),var(--paper));
}
.gear-principle>span{
  width:34px;height:34px;flex:none;display:grid;place-items:center;
  border-radius:50%;background:var(--gold);color:#17242b;font-weight:950;
}
.gear-principle p{margin:3px 0 0;color:var(--muted)}
.gear-panel{margin-top:12px}
.pack-builder-controls{
  display:grid;
  grid-template-columns:minmax(210px,300px) 1fr;
  gap:18px;
  align-items:end;
}
.pack-builder-controls label,
.custom-gear-form label{display:grid;gap:6px}
.pack-builder-controls label>span,
.custom-gear-form label>span{
  color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
}
.pack-builder-controls select,
.locker-filters select,
.locker-filters input,
.custom-gear-form input,
.custom-gear-form select,
.gear-row select,
.gear-row input{
  min-height:43px;
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:12px;
  color:var(--ink);
  background:var(--paper);
  font:inherit;
}
.pack-profile-copy b{font-size:21px}
.pack-profile-copy p{margin:4px 0 0;color:var(--muted)}
.pack-context-note{
  margin-top:14px;
  padding:13px 14px;
  border-left:5px solid var(--blue);
  border-radius:14px;
  background:var(--ice);
  color:var(--muted);
}
.pack-context-note b{color:var(--ink)}
.pack-summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:14px 0 10px;
}
.pack-summary-card{
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--paper);
}
.pack-summary-card small,
.pack-summary-card span{display:block;color:var(--muted)}
.pack-summary-card small{font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.pack-summary-card strong{display:block;margin:3px 0;font-size:25px;letter-spacing:-.03em}
.pack-summary-card span{font-size:12px}
.pack-progress{
  height:8px;
  overflow:hidden;
  margin-bottom:14px;
  border-radius:99px;
  background:color-mix(in srgb,var(--line) 55%,transparent);
}
.pack-progress span{
  display:block;height:100%;width:0;border-radius:inherit;
  background:linear-gradient(90deg,var(--blue),var(--gold));
  transition:width .25s ease;
}
.pack-sections{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.pack-section{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--paper);
}
.pack-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 15px 11px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(135deg,var(--ice),var(--paper));
}
.pack-section-head h3{margin:0;font-size:18px}
.pack-section-head p{margin:3px 0 0;color:var(--muted);font-size:12px}
.pack-section-weight{
  flex:none;
  color:var(--muted);
  font-size:11px;
  font-weight:850;
  text-align:right;
}
.pack-list{display:grid}
.pack-item{
  display:grid;
  grid-template-columns:22px minmax(0,1fr) auto;
  gap:10px;
  align-items:start;
  padding:11px 14px;
  border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);
}
.pack-item:last-child{border-bottom:0}
.pack-item input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--blue)}
.pack-item-main b{display:block;font-size:14px}
.pack-item-main small{display:block;margin-top:2px;color:var(--muted);font-size:11px;line-height:1.35}
.pack-item-meta{
  display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:118px;
}
.gear-badge{
  display:inline-flex;align-items:center;min-height:22px;padding:3px 7px;
  border:1px solid var(--line);border-radius:999px;background:var(--ice);
  color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;
}
.gear-badge.required{color:var(--ink);background:color-mix(in srgb,var(--gold) 20%,var(--paper));border-color:rgba(199,139,45,.26)}
.gear-badge.owned{color:#2c6653;background:#e8f2ed;border-color:#b9d6c8}
.gear-badge.rent,.gear-badge.borrow,.gear-badge.shared,.gear-badge.verify{color:#75501a;background:#fbf0d9;border-color:#e8ce99}
.gear-badge.conditional{color:#5d5870;background:#efedf5;border-color:#d5d0e1}
.gear-toolbar{margin-top:14px}
.locker-intro{
  display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px;
}
.locker-intro p{max-width:570px;margin:0;color:var(--muted)}
.locker-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.locker-filters input{min-width:230px}
.gear-locker{display:grid;gap:8px}
.gear-row{
  display:grid;
  grid-template-columns:minmax(210px,1.5fr) minmax(125px,.7fr) minmax(110px,.6fr) 86px auto;
  gap:9px;
  align-items:center;
  padding:11px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--paper);
}
.gear-row-title b{display:block}
.gear-row-title small{display:block;margin-top:2px;color:var(--muted);line-height:1.35}
.gear-row label{display:grid;gap:3px}
.gear-row label span{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.gear-row input[type=number]{width:86px}
.gear-delete{
  min-height:39px;padding:7px 9px;border:1px solid var(--line);border-radius:11px;
  color:var(--muted);background:var(--paper);font-weight:850;
}
.gear-empty{padding:25px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px}
.custom-gear-form{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px;
  align-items:end;
}
.custom-gear-note{grid-column:span 3}
.custom-gear-form button{min-height:43px}
.gear-safety-note{
  display:flex;align-items:flex-start;gap:12px;margin-top:14px;padding:14px;
  border-left:5px solid var(--gold);border-radius:15px;background:var(--cream);
}
.gear-safety-note>span{
  width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:50%;
  background:var(--gold);color:#17242b;font-weight:950;
}
.gear-safety-note p{margin:0}
.campfire-mode .gear-principle,
.campfire-mode .pack-context-note,
.campfire-mode .pack-section-head,
.campfire-mode .gear-safety-note{
  color:#ffd9cb;background:#2b0b07;border-color:rgba(255,106,60,.26);
}
.campfire-mode .pack-summary-card,
.campfire-mode .pack-section,
.campfire-mode .gear-row,
.campfire-mode .pack-builder-controls select,
.campfire-mode .locker-filters select,
.campfire-mode .locker-filters input,
.campfire-mode .custom-gear-form input,
.campfire-mode .custom-gear-form select,
.campfire-mode .gear-row select,
.campfire-mode .gear-row input{
  color:#ffd9cb;background:#180604;border-color:rgba(255,106,60,.26);
}
.campfire-mode .gear-badge.owned,
.campfire-mode .gear-badge.rent,
.campfire-mode .gear-badge.borrow,
.campfire-mode .gear-badge.shared,
.campfire-mode .gear-badge.verify,
.campfire-mode .gear-badge.conditional,
.campfire-mode .gear-badge.required{
  color:#ffd9cb;background:#2b0b07;border-color:rgba(255,106,60,.30);
}
@media(max-width:900px){
  .pack-sections{grid-template-columns:1fr}
  .gear-row{grid-template-columns:minmax(190px,1.3fr) minmax(120px,.7fr) 90px auto}
  .gear-row .gear-default-location{display:none}
  .custom-gear-form{grid-template-columns:repeat(2,minmax(0,1fr))}
  .custom-gear-note{grid-column:span 1}
}
@media(max-width:680px){
  .pack-builder-controls{grid-template-columns:1fr}
  .pack-summary-grid{grid-template-columns:1fr}
  .locker-intro{display:block}
  .locker-filters{margin-top:10px;justify-content:stretch}
  .locker-filters input,.locker-filters select{width:100%;min-width:0}
  .gear-row{
    grid-template-columns:1fr 1fr;
    align-items:end;
  }
  .gear-row-title{grid-column:1/-1}
  .gear-row input[type=number]{width:100%}
  .gear-delete{width:100%}
  .custom-gear-form{grid-template-columns:1fr}
  .pack-item{grid-template-columns:22px minmax(0,1fr)}
  .pack-item-meta{grid-column:2;justify-content:flex-start;max-width:none}
}
@media print{
  .locker-filters,.custom-gear-form,.gear-delete,.gear-toolbar{display:none!important}
  .gear-panel{break-inside:avoid}
}

.install-nudge[hidden]{display:none!important}


/* Version 6.7 — Mountain Stories */
.mountain-stories .section-head p{max-width:620px}
.story-card{
  width:100%;
  border:0;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.story-card:focus-visible{
  outline:4px solid color-mix(in srgb,var(--gold) 60%,transparent);
  outline-offset:4px;
}
.story-card-portrait img{object-position:center 34%}
.story-count{
  display:block;
  margin-bottom:6px;
  color:#f2d291;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.story-open{
  display:inline-block;
  margin-top:10px;
  color:white;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
}
.story-overlay[hidden]{display:none!important}
.story-overlay{
  position:fixed;
  inset:0;
  z-index:120;
  overflow:auto;
  padding:18px;
  background:rgba(1,9,14,.88);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.story-viewer{
  max-width:1080px;
  min-height:calc(100vh - 36px);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  color:white;
}
.story-viewer-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:8px 4px 13px;
}
.story-viewer-top h2{
  margin:3px 0 0;
  color:white;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(30px,5vw,52px);
  font-weight:500;
  letter-spacing:-.035em;
}
.story-viewer-top .kicker{color:#e9c77e}
.story-close{
  width:46px;
  height:46px;
  flex:none;
  padding:0;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  color:white;
  background:rgba(255,255,255,.08);
  font-size:27px;
  font-weight:900;
}
.story-stage{
  flex:1;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) 54px;
  gap:12px;
  align-items:center;
}
.story-stage figure{
  min-width:0;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  background:#061117;
  box-shadow:0 32px 90px rgba(0,0,0,.45);
}
.story-stage img{
  display:block;
  width:100%;
  height:min(68vh,760px);
  object-fit:contain;
  background:#02080b;
}
.story-stage figcaption{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:13px 16px 15px;
}
.story-stage figcaption span{
  flex:none;
  color:#e9c77e;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
}
.story-stage figcaption b{
  color:#e7eef1;
  font-size:14px;
  line-height:1.4;
}
.story-nav{
  width:50px;
  height:50px;
  padding:0;
  border:1px solid rgba(255,255,255,.22);
  border-radius:50%;
  color:white;
  background:rgba(255,255,255,.08);
  font-size:34px;
  line-height:1;
}
.story-dots{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px;
  padding:14px 0 6px;
}
.story-dots button{
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.28);
}
.story-dots button.active{
  width:28px;
  border-radius:99px;
  background:var(--gold);
}
.story-swipe-note{
  margin:2px 0 8px;
  color:rgba(255,255,255,.62);
  font-size:11px;
  text-align:center;
}
.campfire-mode .story-card img{filter:none}
@media(max-width:780px){
  .story-overlay{padding:0}
  .story-viewer{
    min-height:100%;
    padding:calc(12px + env(safe-area-inset-top)) 10px calc(15px + env(safe-area-inset-bottom));
  }
  .story-stage{
    display:block;
  }
  .story-stage img{
    height:calc(100vh - 245px);
    min-height:330px;
  }
  .story-nav{
    position:fixed;
    z-index:2;
    top:50%;
    width:42px;
    height:42px;
    background:rgba(2,10,14,.62);
  }
  .story-prev{left:13px}
  .story-next{right:13px}
  .story-stage figcaption{display:block}
  .story-stage figcaption span{display:block;margin-bottom:4px}
}
@media print{
  .story-overlay{display:none!important}
}


/* Version 6.8 — itinerary intent and private waiver confirmation */
.day-intent{
  margin-bottom:12px;
  padding:13px 14px;
  border-left:5px solid var(--blue);
  border-radius:14px;
  background:var(--ice);
  color:var(--muted);
}
.day-intent b{color:var(--ink)}
.waiver-status{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin-bottom:12px;
  padding:13px 14px;
  border:1px solid var(--line);
  border-left:5px solid var(--gold);
  border-radius:15px;
  background:color-mix(in srgb,var(--cream) 68%,var(--paper));
}
.waiver-status>span{
  width:29px;height:29px;flex:none;display:grid;place-items:center;
  border-radius:50%;background:var(--gold);color:#17242b;font-weight:950;
}
.waiver-status p{margin:3px 0 0;color:var(--muted)}
.campfire-mode .day-intent,
.campfire-mode .waiver-status{
  color:#ffd9cb;
  background:#2b0b07;
  border-color:rgba(255,106,60,.28);
}


/* Version 7.0 — Phase 2 Colorado Summit Ledger */
.summit-ledger{scroll-margin-top:82px}
.ledger-overview{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  gap:22px;
  padding:22px;
  margin-bottom:16px;
}
.ledger-eyebrow{
  display:block;
  color:var(--muted);
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ledger-big-number{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin:9px 0;
}
.ledger-big-number strong{
  color:var(--ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(46px,8vw,76px);
  font-weight:500;
  line-height:.9;
}
.ledger-big-number span{color:var(--muted);font-weight:800}
.ledger-meter,.mini-meter{
  overflow:hidden;
  height:10px;
  border-radius:99px;
  background:color-mix(in srgb,var(--line) 60%,transparent);
}
.ledger-meter span,.mini-meter i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--blue),var(--gold));
}
.ledger-stat-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:12px;
  color:var(--muted);
  font-size:12px;
}
.ledger-stat-row b{color:var(--ink)}
.ledger-focus{
  padding:17px;
  border-radius:18px;
  background:var(--ice);
}
.ledger-focus h3{margin:4px 0 7px}
.ledger-focus p{color:var(--muted)}
.ledger-controls{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(150px,.55fr) minmax(170px,.65fr) auto;
  gap:12px;
  align-items:end;
  padding:16px;
  margin-bottom:16px;
}
.ledger-controls label span{
  display:block;
  margin:0 0 5px;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.ledger-controls input,.ledger-controls select{
  width:100%;
  min-height:44px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:9px 11px;
  color:var(--ink);
  background:var(--paper);
  font:inherit;
}
.range-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:16px;
}
.range-card{
  min-height:126px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  text-align:left;
  color:var(--ink);
  background:var(--paper);
  box-shadow:var(--shadow-soft);
}
.range-card span{display:block;color:var(--muted);font-size:11px;font-weight:900}
.range-card strong{display:block;margin:7px 0;font-family:Georgia,"Times New Roman",serif;font-size:30px}
.range-card small{display:block;margin-top:7px;color:var(--muted)}
.mini-meter{height:6px}
.summit-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px;
}
.summit-card{
  min-height:150px;
  padding:15px;
  border:1px solid var(--line);
  border-top:5px solid var(--line);
  border-radius:17px;
  background:var(--paper);
  box-shadow:var(--shadow-soft);
}
.summit-card.status-completed{border-top-color:var(--blue)}
.summit-card.status-planned{border-top-color:var(--gold)}
.summit-card.status-remaining{border-top-color:#88959b}
.summit-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}
.summit-status,.summit-rank{
  color:var(--muted);
  font-size:9px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.status-completed .summit-status{color:var(--blue)}
.status-planned .summit-status{color:#9b6810}
.summit-card h3{margin:12px 0 4px;font-size:18px}
.summit-card p{margin:0 0 10px;color:var(--muted);font-size:12px}
.summit-card small{color:var(--muted);line-height:1.35}
.ledger-note{
  margin-top:15px;
  padding:13px 15px;
  border-left:5px solid var(--blue);
  border-radius:14px;
  color:var(--muted);
  background:var(--ice);
}
.empty-state{
  grid-column:1/-1;
  padding:28px;
  border:1px dashed var(--line);
  border-radius:16px;
  color:var(--muted);
  text-align:center;
}
@media(max-width:980px){
 .range-summary,.summit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
 .ledger-overview{grid-template-columns:1fr}
 .ledger-controls{grid-template-columns:1fr 1fr}
 .range-summary,.summit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .bottom-nav a{font-size:9px}
}
@media(max-width:470px){
 .ledger-controls,.range-summary,.summit-grid{grid-template-columns:1fr}
 .summit-card{min-height:0}
}
.campfire-mode .ledger-focus,
.campfire-mode .ledger-note{
  color:#ffd9cb;background:#2b0b07;border-color:rgba(255,106,60,.35)
}
.campfire-mode .ledger-controls input,
.campfire-mode .ledger-controls select,
.campfire-mode .range-card,
.campfire-mode .summit-card{
  color:#fff2ec;background:#200806;border-color:rgba(255,106,60,.24)
}


/* Version 7.1 — completed climb history and route reference details */
.summit-card{
  width:100%;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.summit-card:focus-visible{
  outline:4px solid color-mix(in srgb,var(--gold) 55%,transparent);
  outline-offset:3px;
}
.summit-card-facts{
  display:flex;
  flex-direction:column;
  gap:2px;
  margin-top:9px;
  color:var(--muted);
  font-size:11px;
}
.summit-card-facts b{color:var(--ink);font-size:13px}
.summit-open{
  display:block;
  margin-top:12px;
  color:var(--blue);
  font-size:11px;
  font-weight:900;
}
.summit-detail-overlay[hidden]{display:none!important}
.summit-detail-overlay{
  position:fixed;
  inset:0;
  z-index:130;
  overflow:auto;
  padding:20px;
  background:rgba(1,9,14,.88);
  -webkit-backdrop-filter:blur(18px);
  backdrop-filter:blur(18px);
}
.summit-detail-viewer{
  max-width:780px;
  margin:20px auto;
  padding:22px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  color:var(--ink);
  background:var(--paper);
  box-shadow:0 32px 90px rgba(0,0,0,.48);
}
.summit-detail-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:15px;
  padding-bottom:15px;
  border-bottom:1px solid var(--line);
}
.summit-detail-top h2{
  margin:3px 0 4px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(31px,6vw,50px);
  font-weight:500;
  letter-spacing:-.035em;
}
.summit-detail-top p{margin:0;color:var(--muted)}
.summit-detail-top .story-close{
  color:white;
  background:var(--ink);
}
.summit-detail-section{padding:18px 0 2px}
.summit-detail-section+.summit-detail-section{
  margin-top:14px;
  border-top:1px solid var(--line);
}
.ascent-list{display:grid;gap:10px;margin-top:10px}
.ascent-row{
  position:relative;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--cream);
}
.ascent-row>div{display:flex;justify-content:space-between;gap:12px}
.ascent-row span{color:var(--muted);text-align:right}
.ascent-row p{margin:7px 0 0;color:var(--muted)}
.ascent-row em{
  display:inline-block;
  margin-top:7px;
  color:#93650d;
  font-size:10px;
  font-style:normal;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.route-facts{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin-top:10px;
}
.route-facts span{
  min-height:82px;
  padding:11px;
  border-radius:14px;
  color:var(--muted);
  background:var(--ice);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.route-facts b{
  display:block;
  margin-bottom:5px;
  color:var(--ink);
  font-size:14px;
  line-height:1.25;
  text-transform:none;
  letter-spacing:0;
}
.route-note{
  margin:12px 0 0;
  padding:11px 13px;
  border-left:4px solid var(--gold);
  border-radius:11px;
  color:var(--muted);
  background:var(--cream);
}
.route-disclaimer{color:var(--muted);font-size:11px}
.route-link{
  display:inline-block;
  margin-top:5px;
  font-weight:900;
}
@media(max-width:620px){
 .summit-detail-overlay{padding:0}
 .summit-detail-viewer{
  min-height:100%;
  margin:0;
  padding:calc(17px + env(safe-area-inset-top)) 14px calc(20px + env(safe-area-inset-bottom));
  border:0;border-radius:0
 }
 .route-facts{grid-template-columns:1fr 1fr}
 .ascent-row>div{display:block}
 .ascent-row span{display:block;margin-top:3px;text-align:left}
}
.campfire-mode .summit-detail-viewer{
  color:#fff2ec;background:#160604;border-color:rgba(255,106,60,.3)
}
.campfire-mode .ascent-row,
.campfire-mode .route-facts span,
.campfire-mode .route-note{
  color:#ffd9cb;background:#2b0b07;border-color:rgba(255,106,60,.24)
}


/* Version 7.1.1 — historical outing classification */
.outing-badge{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:9px;
  padding:8px 10px;
  border-radius:11px;
  background:var(--ice);
  color:var(--muted);
  font-size:11px;
}
.outing-badge b{flex:none;color:var(--ink);font-size:12px}
.campfire-mode .outing-badge{background:#2b0b07;color:#ffd9cb}


/* Version 7.1.2 — mobile navigation and tall-section visibility fix */
.summit-ledger.reveal{
  opacity:1;
  transform:none;
}
.summit-loading{
  grid-column:1/-1;
  padding:26px;
  border:1px dashed var(--line);
  border-radius:16px;
  color:var(--muted);
  text-align:center;
  background:var(--paper);
}
@media(max-width:780px){
  .bottom-nav{
    grid-template-columns:repeat(6,minmax(0,1fr));
    padding-left:3px;
    padding-right:3px;
  }
  .bottom-nav a,
  .bottom-nav a:nth-child(2),
  .bottom-nav a:nth-child(3){
    min-width:0;
    padding:4px 0;
    gap:2px;
    font-size:8.5px;
    font-weight:750;
    line-height:1.05;
  }
  .bottom-nav a.active{
    color:var(--blue);
    font-weight:950;
  }
  .bottom-nav svg{
    width:21px;
    height:21px;
    flex:none;
  }
  .bottom-nav a span{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .ai-fab-wrap{
    right:10px;
    bottom:calc(100px + env(safe-area-inset-bottom));
  }
  .focus-fab-wrap{
    right:10px;
    bottom:calc(164px + env(safe-area-inset-bottom));
  }
}
@media(max-width:360px){
  .bottom-nav a,
  .bottom-nav a:nth-child(2),
  .bottom-nav a:nth-child(3){
    font-size:8px;
  }
  .bottom-nav svg{
    width:20px;
    height:20px;
  }
}


/* Version 7.1.3 — confirmed Fort Garland lodging */
.lodging-confirmation{
  margin:8px 0 14px;
  padding:16px;
  border:1px solid var(--line);
  border-left:5px solid var(--gold);
  border-radius:17px;
  background:color-mix(in srgb,var(--cream) 70%,var(--paper));
}
.lodging-confirmation-head{
  display:flex;
  align-items:flex-start;
  gap:11px;
}
.lodging-confirmation-head>span{
  width:31px;
  height:31px;
  flex:none;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#17242b;
  background:var(--gold);
  font-weight:950;
}
.lodging-confirmation h3{margin:3px 0 0}
.lodging-facts{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:14px 0 10px;
}
.lodging-facts span{
  min-height:64px;
  padding:10px;
  border-radius:12px;
  color:var(--muted);
  background:var(--paper);
  font-size:11px;
}
.lodging-facts b{
  display:block;
  margin-bottom:4px;
  color:var(--ink);
  font-size:10px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.lodging-confirmation p{margin:0;color:var(--muted)}
@media(max-width:720px){
  .lodging-facts{grid-template-columns:1fr 1fr}
}
.campfire-mode .lodging-confirmation{
  color:#fff2ec;
  background:#2b0b07;
  border-color:rgba(255,106,60,.28);
}
.campfire-mode .lodging-facts span{
  color:#ffd9cb;
  background:#200806;
}


/* Version 7.1.4 — motel address, directions, and contact actions */
.lodging-contact{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(180px,.6fr);
  gap:10px;
  margin:10px 0;
}
.lodging-contact>div{
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--paper);
}
.lodging-contact b{
  display:block;
  margin-bottom:4px;
  color:var(--ink);
  font-size:10px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.lodging-contact span,
.lodging-contact a{
  color:var(--muted);
  font-weight:750;
}
.lodging-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:11px 0 12px;
}
.lodging-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 15px;
  border-radius:12px;
  text-decoration:none;
  font-weight:900;
}
@media(max-width:620px){
  .lodging-contact{grid-template-columns:1fr}
  .lodging-actions{display:grid;grid-template-columns:1fr 1fr}
}
.campfire-mode .lodging-contact>div{
  background:#200806;
  border-color:rgba(255,106,60,.24);
}
.campfire-mode .lodging-contact span,
.campfire-mode .lodging-contact a{
  color:#ffd9cb;
}


/* Version 7.2 — photo-verified gear inventory */
.pack-section .pack-item-meta .gear-badge.conditional{
  white-space:nowrap;
}
.gear-row small{
  line-height:1.35;
}


/* Version 7.3 — transcript-verified climb history */
.milestone-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:14px;
}
.milestone-strip span{
  min-height:68px;
  padding:10px 11px;
  border:1px solid var(--line);
  border-radius:13px;
  color:var(--muted);
  background:var(--paper);
  font-size:12px;
}
.milestone-strip b{
  display:block;
  margin-bottom:4px;
  color:var(--ink);
  font-size:10px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.milestone-badge{
  background:color-mix(in srgb,var(--gold) 20%,var(--cream));
}
.ascent-row p b{
  color:var(--ink);
}
@media(max-width:720px){
  .milestone-strip{grid-template-columns:1fr}
}
.campfire-mode .milestone-strip span,
.campfire-mode .milestone-badge{
  background:#2b0b07;
  border-color:rgba(255,106,60,.24);
  color:#ffd9cb;
}

.device-note{margin:9px 0 0;font-size:11px;line-height:1.35;color:var(--muted);font-weight:650}
@media(prefers-color-scheme:dark){.device-note{color:var(--muted)}}
.campfire-mode .device-note{color:#c78b77}


/* Version 7.5.1 — Hardened Data Transfer and local-device stamp */
.data-transfer-panel{
  margin:18px 0 22px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--cream) 72%,#fff));
  box-shadow:var(--shadow-soft);
}
.data-transfer-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:8px;
}
.data-transfer-head h3{
  margin:2px 0 0;
}
.device-pill{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted);
  background:var(--cream);
  font-size:11px;
  font-weight:850;
  white-space:nowrap;
}
.data-local-note,
.data-transfer-warning{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.data-transfer-warning{
  margin-bottom:0;
  font-weight:750;
}
.data-stamp-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:12px 0;
}
.data-stamp-grid span{
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--cream);
}
.data-stamp-grid b{
  display:block;
  color:var(--ink);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:5px;
}
.data-stamp-grid em{
  color:var(--muted);
  font-style:normal;
  font-weight:800;
  font-size:12px;
  line-height:1.3;
}
.data-transfer-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:12px 0;
}
.import-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
@media(max-width:680px){
  .data-transfer-head{display:block}
  .device-pill{margin-top:8px}
  .data-stamp-grid{grid-template-columns:1fr}
  .data-transfer-actions{display:grid;grid-template-columns:1fr}
}
.campfire-mode .data-transfer-panel{
  background:#1b0705;
  border-color:rgba(255,106,60,.28);
}
.campfire-mode .device-pill,
.campfire-mode .data-stamp-grid span{
  background:#2b0b07;
  border-color:rgba(255,106,60,.24);
  color:#ffd9cb;
}
.campfire-mode .data-local-note,
.campfire-mode .data-transfer-warning,
.campfire-mode .data-stamp-grid em{
  color:#ffd9cb;
}


/* Version 7.5.2 — Clickable readiness navigation */
.clickable-readiness{
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.clickable-readiness:hover,
.clickable-readiness:focus-visible{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--gold) 42%,var(--line));
  box-shadow:0 18px 40px rgba(40,55,70,.16);
  outline:none;
}
.clickable-readiness::after{
  content:'Tap to update';
  display:inline-flex;
  width:max-content;
  margin-top:8px;
  padding:4px 8px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted);
  background:var(--cream);
  font-size:10px;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.readiness-source-panel{
  margin:0 0 22px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--cream) 68%,#fff));
  box-shadow:var(--shadow-soft);
  scroll-margin-top:82px;
}
.readiness-source-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:8px;
}
.readiness-source-head h3{margin:2px 0 0}
.readiness-source-note{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.readiness-source-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.readiness-source-card{
  display:block;
  width:100%;
  text-align:left;
  padding:13px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--cream);
  color:var(--ink);
}
.readiness-source-card b,
.readiness-source-card span,
.readiness-source-card em{display:block}
.readiness-source-card b{font-size:14px;margin-bottom:5px}
.readiness-source-card span{font-size:12px;color:var(--muted);font-weight:850;margin-bottom:6px}
.readiness-source-card em{font-size:11px;color:var(--gold-dark);font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.readiness-source-card:hover,
.readiness-source-card:focus-visible{
  outline:none;
  border-color:color-mix(in srgb,var(--gold) 48%,var(--line));
  box-shadow:0 12px 30px rgba(40,55,70,.13);
}
.readiness-target-flash{
  animation:readinessFlash 1.35s ease;
}
@keyframes readinessFlash{
  0%{box-shadow:0 0 0 0 rgba(198,139,46,.55)}
  45%{box-shadow:0 0 0 8px rgba(198,139,46,.12)}
  100%{box-shadow:var(--shadow-soft)}
}
#communicationChecksCard{scroll-margin-top:82px}
@media(max-width:680px){
  .readiness-source-head{display:block}
  .readiness-source-head .device-pill{margin-top:8px}
  .readiness-source-grid{grid-template-columns:1fr}
}
.campfire-mode .clickable-readiness::after,
.campfire-mode .readiness-source-panel,
.campfire-mode .readiness-source-card{
  background:#2b0b07;
  border-color:rgba(255,106,60,.24);
  color:#ffd9cb;
}
.campfire-mode .readiness-source-note,
.campfire-mode .readiness-source-card span{color:#ffd9cb}
.campfire-mode .readiness-source-card em{color:#ff9b75}


/* Version 7.6 — tappable dashboard cards */
.dashboard-shortcut{
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.dashboard-shortcut::after{
  content:attr(data-shortcut-hint);
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin-top:8px;
  padding:4px 8px;
  border:1px solid var(--line);
  border-radius:999px;
  color:var(--muted);
  background:var(--cream);
  font-size:10px;
  font-weight:850;
  letter-spacing:.04em;
  text-transform:uppercase;
  white-space:normal;
  line-height:1.2;
}
.dashboard-shortcut:focus-visible{
  border-color:color-mix(in srgb,var(--gold) 48%,var(--line));
  box-shadow:0 18px 40px rgba(40,55,70,.16);
  outline:none;
}
@media(hover:hover){
  .dashboard-shortcut:hover{
    transform:translateY(-1px);
    border-color:color-mix(in srgb,var(--gold) 42%,var(--line));
    box-shadow:0 18px 40px rgba(40,55,70,.16);
  }
}
@media(hover:none){
  .dashboard-shortcut:hover,
  .clickable-readiness:hover{
    transform:none;
  }
}
.dashboard-destination-flash{
  animation:dashboardDestinationFlash 1.35s ease;
  scroll-margin-top:82px;
}
@keyframes dashboardDestinationFlash{
  0%{box-shadow:0 0 0 0 rgba(198,139,46,.55)}
  45%{box-shadow:0 0 0 8px rgba(198,139,46,.12)}
  100%{box-shadow:var(--shadow-soft)}
}
.campfire-mode .dashboard-shortcut::after{
  background:#2b0b07;
  border-color:rgba(255,106,60,.24);
  color:#ffd9cb;
}


/* Version 7.7 — incomplete-only readiness filter and cold-hand tap targets */
.incomplete-filter-controls{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid var(--line);
}
.incomplete-toggle[aria-pressed="true"]{
  background:var(--navy);
  color:white;
  border-color:transparent;
}
.incomplete-filter-status{
  color:var(--muted);
  font-size:13px;
  font-weight:800;
}
.incomplete-empty-state{
  margin-top:12px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--paper);
  color:var(--muted);
  font-weight:850;
}
.pack-item,
.checks label{
  min-height:44px;
}
.pack-item input[type=checkbox],
.checks input[type=checkbox]{
  min-width:24px;
  min-height:24px;
}
.campfire-mode .incomplete-empty-state{
  background:#2b0b07;
  border-color:rgba(255,106,60,.24);
  color:#ffd9cb;
}
.campfire-mode .incomplete-toggle[aria-pressed="true"]{
  background:#ff6a3c;
  color:#210805;
}
@media(max-width:680px){
  .incomplete-filter-controls{display:grid;grid-template-columns:1fr}
}


/* Version 7.8 — Gear Advisor */
.gear-advisor-panel{
  margin:18px 0 22px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--cream) 76%,#fff));
  box-shadow:var(--shadow-soft);
}
.gear-advisor-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:8px;
}
.gear-advisor-head h3{margin:2px 0 0}
.gear-advisor-note,.gear-advisor-summary{
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.gear-advisor-summary{
  margin:12px 0;
  font-weight:850;
  color:var(--ink);
}
.gear-advisor-list{
  display:grid;
  gap:10px;
}
.advisor-card{
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px;
  background:var(--cream);
}
.advisor-card[data-level="priority"]{
  border-color:color-mix(in srgb,var(--rust) 45%,var(--line));
}
.advisor-card-head{
  display:flex;
  gap:9px;
  align-items:flex-start;
}
.advisor-card-head span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 8px;
  border-radius:999px;
  background:var(--paper);
  color:var(--muted);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:900;
}
.advisor-card[data-level="priority"] .advisor-card-head span{
  color:var(--rust);
}
.advisor-card-head b{
  color:var(--ink);
}
.advisor-card p{
  margin:8px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.advisor-actions{
  display:grid;
  gap:6px;
  margin-top:10px;
}
.advisor-actions span{
  display:flex;
  justify-content:space-between;
  gap:10px;
  min-height:44px;
  align-items:center;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid var(--line);
  background:var(--paper);
}
.advisor-actions span.done{
  opacity:.68;
}
.advisor-actions b{
  color:var(--ink);
  font-size:12px;
}
.advisor-actions small{
  color:var(--muted);
  font-size:11px;
  text-align:right;
}
@media(max-width:680px){
  .gear-advisor-head{display:block}
  .gear-advisor-head .device-pill{margin-top:8px}
  .advisor-actions span{display:block}
  .advisor-actions small{display:block;text-align:left;margin-top:3px}
}
.campfire-mode .gear-advisor-panel,
.campfire-mode .advisor-card{
  background:#1b0705;
  border-color:rgba(255,106,60,.28);
}
.campfire-mode .advisor-card-head span,
.campfire-mode .advisor-actions span{
  background:#2b0b07;
  border-color:rgba(255,106,60,.24);
}
.campfire-mode .gear-advisor-note,
.campfire-mode .gear-advisor-summary,
.campfire-mode .advisor-card p,
.campfire-mode .advisor-actions small{
  color:#ffd9cb;
}


/* Version 7.9 — Trip Conditions Advisor and cold-hand tap targets */
.trip-conditions-panel{margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--paper),color-mix(in srgb,var(--cream) 76%,#fff));box-shadow:var(--shadow-soft)}
.conditions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.conditions-grid label{display:grid;gap:5px;color:var(--ink);font-size:12px;font-weight:850}
.conditions-grid select{min-height:44px;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:var(--paper);color:var(--ink);font:inherit}
.trip-advisor-summary{margin:12px 0;color:var(--ink);font-size:13px;line-height:1.45;font-weight:850}
.trip-advisor-list{display:grid;gap:12px}.trip-consideration-group{display:grid;gap:8px}.trip-consideration-group h4{margin:0;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em}
.pack-item,.check-row,.comm-check-row,.readiness-check-row{min-height:44px;align-items:center}
.pack-item input[type="checkbox"],.check-row input[type="checkbox"],.comm-check-row input[type="checkbox"],.readiness-check-row input[type="checkbox"]{min-width:22px;min-height:22px}
@media(max-width:820px){.conditions-grid{grid-template-columns:1fr}}
.campfire-mode .trip-conditions-panel{background:#1b0705;border-color:rgba(255,106,60,.28)}
.campfire-mode .conditions-grid select{background:#2b0b07;border-color:rgba(255,106,60,.24);color:#ffd9cb}
.campfire-mode .trip-advisor-summary,.campfire-mode .trip-consideration-group h4{color:#ffd9cb}

/* ===== Version 8.0 — Route Intelligence ===== */
.route-intel-panel{background:var(--panel,#11161f);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;margin-bottom:18px}
.ri-detail{margin-top:14px}
.ri-headline{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:10px}
.ri-headline a{font-size:1.05rem;font-weight:700;color:inherit;text-decoration:underline;text-underline-offset:3px}
.ri-class{font-size:.75rem;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.22);opacity:.85}
.ri-stats{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.ri-stats>span{flex:1 1 100px;min-width:96px;background:rgba(255,255,255,.05);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.ri-stats b{font-size:1.15rem;line-height:1.2}
.ri-stats small{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;opacity:.6}
.ri-risks{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.ri-risk{display:flex;flex-direction:column;gap:1px;padding:7px 11px;border-radius:10px;background:rgba(255,255,255,.05);border-left:3px solid rgba(255,255,255,.25);min-height:44px;justify-content:center}
.ri-risk b{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;opacity:.65;font-weight:600}
.ri-risk small{font-size:.88rem;font-weight:600}
.ri-risk[data-level="moderate"]{border-left-color:#6f8fb5}
.ri-risk[data-level="considerable"]{border-left-color:#c9a227}
.ri-risk[data-level="high"]{border-left-color:#d2762e}
.ri-risk[data-level="extreme"]{border-left-color:#c0453b}
.ri-flag{margin:10px 0;padding:11px 13px;border-radius:10px;font-size:.9rem;line-height:1.5;border-left:3px solid rgba(255,255,255,.3);background:rgba(255,255,255,.04)}
.ri-flag[data-tone="stop"]{border-left-color:#c0453b;background:rgba(192,69,59,.1)}
.ri-flag[data-tone="access"]{border-left-color:#c9a227;background:rgba(201,162,39,.1)}
.ri-flag[data-tone="gap"]{border-left-color:#6f8fb5;background:rgba(111,143,181,.1)}
.ri-start{margin:6px 0;font-size:.9rem;opacity:.85}
.ri-note,.ri-source{margin:8px 0 0;font-size:.78rem;line-height:1.5;opacity:.6}
.ri-subhead{margin:18px 0 8px;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;opacity:.65;font-weight:600}
.ri-forecast{display:flex;flex-direction:column;gap:6px}
.ri-fx{display:flex;flex-direction:column;gap:1px;padding:9px 12px;border-radius:10px;background:rgba(255,255,255,.04);border-left:3px solid rgba(255,255,255,.2);min-height:44px;justify-content:center}
.ri-fx b{font-size:.85rem}
.ri-fx small{font-size:.76rem;opacity:.72}
.ri-fx[data-state="out-of-range"]{border-left-color:#6f8fb5}
.ri-fx[data-state="in-range-not-loaded"]{border-left-color:#c9a227}
.ri-fx[data-state="stale"]{border-left-color:#d2762e}
.ri-fx[data-state="available"]{border-left-color:rgba(255,255,255,.45)}
.ri-sources{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.ri-src{display:flex;flex-direction:column;gap:1px;padding:6px 10px;border-radius:9px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.ri-src b{font-size:.74rem;font-weight:600}
.ri-src small{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;opacity:.6}
.ri-src[data-src="route"]{border-color:rgba(111,143,181,.5)}
.ri-src[data-src="forecast"]{border-color:rgba(201,162,39,.5)}
.ri-src[data-src="yours"]{border-color:rgba(255,255,255,.4)}
.ri-reset{width:100%;min-height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:inherit;font:inherit;font-size:.9rem;cursor:pointer;margin-bottom:12px}
.ri-reset:active{background:rgba(255,255,255,.1)}

/* ===== Version 8.1 — lock the page to vertical scrolling ===== */
/* ROOT CAUSE 2: nothing clamped horizontal overflow, so a single over-wide child made the
   whole document horizontally scrollable. On iOS that reads as blocks drifting left/right
   during momentum scroll. Clamp on html AND body — body alone is unreliable in Safari. */
html,body{max-width:100%;overflow-x:clip;overscroll-behavior-x:none}
/* Fallback for engines without overflow:clip. Applied to html only so body never
   becomes a scroll container and the sticky nav keeps working. */
@supports not (overflow:clip){html{overflow-x:hidden}}
/* ROOT CAUSE 3: the horizontally scrollable strips chained their rubber-band to the page. */
.navin,.hour-strip,.wx-summary,.weather-stats{overscroll-behavior-x:contain}
/* Belt and braces: the ledger only ever pans vertically. */
.summit-groups,.summit-group,.summit-group-body,.summit-grid-inner,.range-summary{touch-action:pan-y}

/* ===== Version 8.1 — collapsible summit status groups ===== */
.summit-group-controls{display:flex;gap:8px;margin-bottom:12px}
.summit-group-controls button{flex:1 1 auto;min-height:44px}
.summit-groups{display:flex;flex-direction:column;gap:12px}
.summit-group{border:1px solid var(--line);border-radius:17px;background:var(--paper);box-shadow:var(--shadow-soft);overflow:hidden}
.summit-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;
  min-height:56px;padding:13px 16px;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.summit-group-head:active{background:color-mix(in srgb,var(--ice) 35%,transparent)}
.summit-group-head:focus-visible{outline:4px solid color-mix(in srgb,var(--gold) 55%,transparent);outline-offset:-4px}
.summit-group-label{display:flex;flex-direction:column;gap:2px;min-width:0}
.summit-group-label b{font-size:17px;font-weight:800}
.summit-group-label small{color:var(--muted);font-size:11px}
.summit-group-meta{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.summit-group-count{min-width:32px;padding:3px 10px;border-radius:999px;background:var(--ice);
  color:var(--ink);font-size:13px;font-weight:800;text-align:center}
.summit-group-chevron{font-size:15px;color:var(--muted);width:14px;text-align:center}
.summit-group[data-group="completed"]{border-left:5px solid var(--blue)}
.summit-group[data-group="planned"]{border-left:5px solid var(--gold)}
.summit-group[data-group="remaining"]{border-left:5px solid #88959b}
.summit-group-body{padding:0 12px 13px}
.summit-grid-inner{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
@media(max-width:1000px){.summit-grid-inner{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.summit-grid-inner{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.summit-grid-inner{grid-template-columns:1fr}}

/* ===== Version 8.2 — ledger overflow containment (merged from review) ===== */
.summit-ledger,.summit-ledger *{box-sizing:border-box}
.summit-ledger,.summit-groups,.summit-group,.summit-group-body,.summit-grid-inner,
.summit-card,.range-summary,.range-card,.ledger-controls,.ledger-overview{max-width:100%;min-width:0}
.summit-card h3,.summit-card p,.summit-card small,.summit-group-label b,.summit-group-label small{
  overflow-wrap:anywhere}
.summit-group-action{font-size:11px;font-weight:800;color:var(--muted);
  text-transform:uppercase;letter-spacing:.03em}
.summit-group-note{margin:0 0 12px;color:var(--muted);font-size:12px;font-weight:750;line-height:1.35}

/* ===== Version 8.3 ===== */
.summit-group-status{margin:0 0 10px;min-height:1em;color:var(--muted);font-size:12px;font-weight:750}
.ledger-result-head{display:flex;align-items:center;justify-content:space-between;gap:10px;scroll-margin-top:92px;margin:0 0 10px}
.ledger-result-status{flex:1 1 auto;margin:0;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--ice);color:var(--ink);font-size:15px;font-weight:850}
.ledger-return-control{flex:0 0 auto;min-height:44px}
@media(max-width:520px){.ledger-result-head{align-items:stretch;flex-direction:column}.ledger-return-control{width:100%}}
.summit-detail-section .ri-risks{margin:10px 0}

/* ===== Version 8.4 ===== */
.peak.planned{border-left:4px solid var(--gold)}


/* Version 8.6.1 — streamlined advanced planning */
.advanced-planning-disclosure{margin:18px 0 22px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow-soft);overflow:clip}
.advanced-planning-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:13px 16px;cursor:pointer;color:var(--ink);font-weight:900;list-style:none;-webkit-tap-highlight-color:transparent}
.advanced-planning-disclosure>summary::-webkit-details-marker{display:none}
.advanced-planning-disclosure>summary::after{content:'Open';color:var(--muted);font-size:11px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.advanced-planning-disclosure[open]>summary::after{content:'Collapse'}
.advanced-planning-disclosure[open]>summary{border-bottom:1px solid var(--line)}
.advanced-planning-body>.route-intel-panel,.advanced-planning-body>.trip-conditions-panel{margin:0;border:0;border-radius:0;box-shadow:none}
.campfire-mode .advanced-planning-disclosure{background:#1b0705;border-color:rgba(255,106,60,.28)}
.campfire-mode .advanced-planning-disclosure>summary{color:#ffd9cb}
@media(max-width:680px){.advanced-planning-disclosure>summary{min-height:56px;padding:14px}}


/* Version 9.0 — Trip Builder Foundation */
.trip-builder-section{scroll-margin-top:88px}
.trip-builder-layout{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.8fr);gap:16px}
.trip-library-card,.trip-builder-form-card,.trip-generated-card,.trip-offline-prep{
 background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow-soft)
}
.trip-builder-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.trip-builder-head h3{margin:2px 0 0}
.trip-field{display:grid;gap:5px;color:var(--ink);font-size:12px;font-weight:850}
.trip-field span{letter-spacing:.02em}
.trip-field input,.trip-field select,.trip-field textarea{
 width:100%;box-sizing:border-box;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:9px 10px;background:var(--cream);color:var(--ink);font:inherit
}
.trip-field textarea{min-height:94px;resize:vertical}
.trip-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.trip-field-wide{grid-column:1/-1}
.trip-library-actions,.trip-builder-actions,.trip-resource-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.trip-library-list{display:grid;gap:7px;margin-top:12px}
.trip-library-item{display:grid;text-align:left;gap:3px;min-height:52px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--cream);color:var(--ink)}
.trip-library-item.active{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}
.trip-library-item small{color:var(--muted)}
.trip-generated-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.trip-generated-card h3{margin:6px 0 8px}
.trip-generated-card p{color:var(--muted);line-height:1.45;font-size:13px}
.trip-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.trip-fact-grid span{padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--cream);font-size:11px;color:var(--muted)}
.trip-fact-grid b{display:block;color:var(--ink);font-size:13px}
.trip-offline-prep{margin-top:16px}
.trip-prep-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.trip-prep-checks label{display:flex;align-items:center;gap:9px;min-height:48px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--cream);font-weight:800;font-size:12px}
.trip-prep-checks input{width:22px;height:22px}
.trip-resource-actions a{display:inline-flex;align-items:center;min-height:44px;padding:8px 11px;border:1px solid var(--line);border-radius:12px;text-decoration:none;font-weight:850}
.campfire-mode .trip-library-card,.campfire-mode .trip-builder-form-card,.campfire-mode .trip-generated-card,.campfire-mode .trip-offline-prep{background:#1b0705;border-color:rgba(255,106,60,.28)}
.campfire-mode .trip-field input,.campfire-mode .trip-field select,.campfire-mode .trip-field textarea,.campfire-mode .trip-library-item,.campfire-mode .trip-fact-grid span,.campfire-mode .trip-prep-checks label{background:#2b0b07;border-color:rgba(255,106,60,.24);color:#ffd9cb}
@media(max-width:900px){.trip-builder-layout{grid-template-columns:1fr}.trip-generated-grid{grid-template-columns:1fr}}
@media(max-width:680px){.trip-form-grid,.trip-prep-checks{grid-template-columns:1fr}.trip-field-wide{grid-column:auto}.trip-builder-head{display:block}.trip-builder-head .device-pill{margin-top:8px}}


/* Version 9.1 — Generated Itinerary and Readiness */
.trip-generated-plan{
  margin-top:16px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--paper);
  box-shadow:var(--shadow-soft);
}
.trip-plan-summary{
  margin:0 0 12px;
  padding:11px 12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--cream);
  color:var(--ink);
  font-size:13px;
  font-weight:850;
}
.trip-plan-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.trip-plan-card{
  min-width:0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:15px;
  background:var(--cream);
}
.trip-plan-card h4{margin:7px 0 5px;color:var(--ink)}
.trip-plan-card p,.trip-plan-card li{color:var(--muted);font-size:13px;line-height:1.45}
.generated-timeline{display:grid;gap:8px;margin-top:8px}
.generated-timeline>div{
  display:grid;
  grid-template-columns:minmax(95px,.7fr) minmax(95px,.8fr) minmax(0,1.6fr);
  gap:8px;
  align-items:start;
  padding:9px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--paper);
}
.generated-timeline b{font-size:11px;text-transform:uppercase;color:var(--muted)}
.generated-timeline strong{color:var(--ink);font-size:12px}
.generated-timeline small{color:var(--muted);line-height:1.35}
.generated-plan-list{margin:8px 0 0;padding-left:18px}
.generated-check-list{display:grid;gap:7px;margin-top:8px}
.generated-check-list label{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:48px;
  padding:8px 9px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--paper);
}
.generated-check-list input{width:22px;height:22px;flex:0 0 auto}
.generated-check-list span{display:grid;gap:2px}
.generated-check-list b{color:var(--ink);font-size:12px}
.generated-check-list small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.generated-weather-state{
  padding:10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--paper);
}
.generated-weather-state[data-tone="watch"]{border-color:color-mix(in srgb,var(--gold) 55%,var(--line))}
.generated-weather-state p{margin:5px 0 0}
.generated-complete-note{
  margin-top:10px;
  padding:9px 10px;
  border-left:3px solid var(--muted);
  background:var(--paper);
}
.campfire-mode .trip-generated-plan,.campfire-mode .trip-plan-card,.campfire-mode .trip-plan-summary,
.campfire-mode .generated-timeline>div,.campfire-mode .generated-check-list label,.campfire-mode .generated-weather-state{
  background:#1b0705;
  border-color:rgba(255,106,60,.28);
}
@media(max-width:820px){.trip-plan-grid{grid-template-columns:1fr}}
@media(max-width:680px){
  .generated-timeline>div{grid-template-columns:1fr;gap:3px}
}


/* Version 10.0 — Intelligent Expedition Builder */
.expedition-builder-panel,.expedition-brief-panel{
  grid-column:1/-1;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--paper);
  box-shadow:var(--shadow-soft);
}
.expedition-builder-panel{margin-bottom:16px}
.expedition-builder-intro{max-width:900px;color:var(--muted);font-size:13px;line-height:1.5}
.expedition-builder-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.expedition-builder-preview{
  margin-top:12px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--cream);
  color:var(--muted);
}
.expedition-preview-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.expedition-preview-grid span{
  padding:9px;
  border:1px solid var(--line);
  border-radius:11px;
  background:var(--paper);
  font-size:11px;
}
.expedition-preview-grid b{display:block;color:var(--ink);font-size:12px}
.expedition-brief-panel{margin-top:16px}
.expedition-brief-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.expedition-brief-grid article{
  min-width:0;
  padding:13px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--cream);
}
.expedition-brief-grid h4{margin:7px 0 6px}
.expedition-brief-grid p,.expedition-brief-grid li{font-size:13px;line-height:1.45;color:var(--muted)}
.campfire-mode .expedition-builder-panel,.campfire-mode .expedition-brief-panel,
.campfire-mode .expedition-builder-preview,.campfire-mode .expedition-brief-grid article,
.campfire-mode .expedition-preview-grid span{
  background:#1b0705;
  border-color:rgba(255,106,60,.28);
}
@media(max-width:900px){
  .expedition-builder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .expedition-brief-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .expedition-builder-grid,.expedition-brief-grid,.expedition-preview-grid{grid-template-columns:1fr}
}


/* Version 11.0 — Mountain Intelligence Database */
.mountain-intelligence-section{scroll-margin-top:88px}
.mountain-intel-toolbar{
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(150px,.7fr) minmax(170px,.9fr);
  gap:10px;
  margin-bottom:14px;
}
.mountain-intel-layout{
  display:grid;
  grid-template-columns:minmax(250px,.75fr) minmax(0,2fr);
  gap:16px;
  align-items:start;
}
.mountain-index-card,.mountain-profile-card{
  min-width:0;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--paper);
  box-shadow:var(--shadow-soft);
}
.mountain-index-card{position:sticky;top:82px;max-height:calc(100vh - 104px);overflow:hidden}
.mountain-index-list{display:grid;gap:6px;max-height:calc(100vh - 190px);overflow-y:auto;padding-right:3px}
.mountain-index-item{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  min-height:50px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;
  background:var(--cream);color:var(--ink);text-align:left
}
.mountain-index-item.active{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}
.mountain-index-item span{display:grid;gap:2px}
.mountain-index-item small{color:var(--muted)}
.mountain-index-item em{
  font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.05em;
  padding:4px 6px;border-radius:999px;background:var(--paper);color:var(--muted)
}
.mountain-profile-card{scroll-margin-top:86px}
.mountain-profile-hero{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.mountain-profile-hero h3{font-size:clamp(26px,4vw,42px);margin:4px 0}
.mountain-profile-hero p{color:var(--muted)}
.mountain-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.mountain-profile-grid>section{
  min-width:0;padding:14px;border:1px solid var(--line);border-radius:15px;background:var(--cream)
}
.mountain-memory-callout{
  margin-top:12px;padding:11px 12px;border-left:3px solid var(--gold);background:var(--cream);border-radius:0 12px 12px 0
}
.mountain-memory-callout p{margin:5px 0 0;color:var(--muted);line-height:1.45}
.mountain-route-card{
  margin-top:9px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--paper)
}
.mountain-route-head{display:flex;justify-content:space-between;gap:10px}
.mountain-route-head div{display:grid;gap:2px}
.mountain-route-head small{color:var(--muted)}
.mountain-route-head>span{font-size:11px;font-weight:900;color:var(--rust)}
.mountain-route-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0}
.mountain-route-facts span{padding:8px;border:1px solid var(--line);border-radius:10px;color:var(--muted);font-size:10px}
.mountain-route-facts b{display:block;color:var(--ink);font-size:12px}
.mountain-more-routes{margin-top:10px}
.mountain-more-routes>summary{cursor:pointer;font-weight:850;color:var(--ink)}
.mountain-weather-list{display:grid;gap:7px;margin-top:9px}
.mountain-weather-list span{display:grid;gap:2px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.mountain-weather-list small{color:var(--muted)}
.mountain-ascent-card{margin-top:9px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}
.mountain-ascent-card>div{display:flex;justify-content:space-between;gap:8px}
.mountain-ascent-card p{color:var(--muted);font-size:12px;line-height:1.4}
.mountain-photo-section{margin-top:16px}
.mountain-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:9px}
.mountain-photo-grid figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:var(--cream)}
.mountain-photo-grid img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.mountain-photo-grid figcaption{padding:8px;color:var(--muted);font-size:11px;line-height:1.35}
.mountain-profile-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.mountain-profile-actions a,.mountain-profile-actions button,.mountain-profile-hero button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 11px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:inherit;font-weight:850;text-decoration:none;cursor:pointer}
.mountain-profile-hero button{background:var(--navy);color:white;border-color:var(--navy)}
.mountain-profile-empty{padding:30px 12px;text-align:center;color:var(--muted)}
.campfire-mode .mountain-index-card,.campfire-mode .mountain-profile-card,
.campfire-mode .mountain-index-item,.campfire-mode .mountain-profile-grid>section,
.campfire-mode .mountain-memory-callout,.campfire-mode .mountain-route-card,
.campfire-mode .mountain-weather-list span,.campfire-mode .mountain-ascent-card,
.campfire-mode .mountain-photo-grid figure{
  background:#1b0705;border-color:rgba(255,106,60,.28)
}
@media(max-width:900px){
  .mountain-intel-toolbar{grid-template-columns:1fr 1fr}
  .mountain-search-field{grid-column:1/-1}
  .mountain-intel-layout{grid-template-columns:1fr}
  .mountain-index-card{position:static;max-height:none}
  .mountain-index-list{max-height:330px}
}
@media(max-width:680px){
  .mountain-intel-toolbar,.mountain-profile-grid,.mountain-photo-grid{grid-template-columns:1fr}
  .mountain-search-field{grid-column:auto}
  .mountain-profile-hero{display:block}
  .mountain-profile-hero button{margin-top:8px}
}


/* Version 12.0 — Expedition Command Center */
.command-center-section{scroll-margin-top:88px}
.command-activation-card{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow-soft)
}
.command-activation-card h3{margin:4px 0}
.command-activation-card p{margin:0;color:var(--muted)}
.command-activation-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.command-status-strip{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0
}
.command-status-strip>div{
  min-width:0;padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--cream)
}
.command-status-strip span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.command-status-strip strong{display:block;margin-top:3px;color:var(--ink);font-size:14px;overflow-wrap:anywhere}
.command-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.command-panel{
  min-width:0;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow-soft)
}
.command-panel h3{margin:4px 0 10px}
.command-panel-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.command-stage-list{display:grid;gap:7px}
.command-stage-item{
  display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 10px;border:1px solid var(--line);
  border-radius:12px;background:var(--cream);color:var(--ink);text-align:left
}
.command-stage-item>span{
  display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;
  border:1px solid var(--line);color:var(--muted);font-weight:900
}
.command-stage-item.current{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}
.command-stage-item.done{opacity:.68}
.command-stage-item.done>span::after{content:"✓";font-size:12px}
.command-stage-item.done>span{font-size:0}
.command-weather-gate{
  padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--cream)
}
.command-weather-gate p{margin:5px 0 0;color:var(--muted);line-height:1.4;font-size:12px}
.command-weather-gate[data-tone="watch"]{border-color:color-mix(in srgb,var(--gold) 55%,var(--line))}
.command-inline-actions,.command-resource-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.command-resource-grid a,.command-resource-grid button{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;
  border:1px solid var(--line);border-radius:12px;text-decoration:none;font-weight:850
}
.command-decision-questions{display:grid;gap:8px}
.command-decision-row{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(145px,.65fr);gap:8px;align-items:center;
  padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--cream)
}
.command-decision-row span{font-size:12px;font-weight:800;color:var(--ink)}
.command-decision-row select,.command-field input,.command-panel textarea,.command-consumption-grid input{
  width:100%;box-sizing:border-box;min-height:44px;border:1px solid var(--line);border-radius:11px;
  padding:8px 9px;background:var(--cream);color:var(--ink);font:inherit
}
.command-check-list{display:grid;gap:7px}
.command-check-list label{
  display:flex;align-items:center;gap:9px;min-height:48px;padding:8px 9px;border:1px solid var(--line);
  border-radius:11px;background:var(--cream);font-size:12px;font-weight:800
}
.command-check-list input{width:22px;height:22px}
.command-field{display:grid;gap:5px;margin-top:10px;font-size:12px;font-weight:850}
.command-small{color:var(--muted);font-size:12px;line-height:1.4}
.command-consumption-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.command-consumption-grid label{
  display:grid;grid-template-columns:1fr auto;gap:4px;align-items:end;padding:9px;border:1px solid var(--line);
  border-radius:12px;background:var(--cream)
}
.command-consumption-grid label>span{grid-column:1/-1;color:var(--muted);font-size:10px;text-transform:uppercase}
.command-consumption-grid small{color:var(--muted)}
.command-emergency-panel details{
  margin-top:7px;padding:8px 9px;border:1px solid var(--line);border-radius:11px;background:var(--cream)
}
.command-emergency-panel summary{cursor:pointer;font-weight:900;color:var(--ink)}
.command-emergency-panel details p{color:var(--muted);font-size:12px;line-height:1.45}
.command-journal-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.command-journal-list{display:grid;gap:8px;margin-top:10px;max-height:360px;overflow-y:auto}
.command-journal-list article{padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--cream)}
.command-journal-list time{color:var(--muted);font-size:10px;text-transform:uppercase}
.command-journal-list p{margin:5px 0 0;color:var(--ink);font-size:12px;line-height:1.4}
.campfire-mode .command-activation-card,.campfire-mode .command-panel,
.campfire-mode .command-status-strip>div,.campfire-mode .command-stage-item,
.campfire-mode .command-weather-gate,.campfire-mode .command-decision-row,
.campfire-mode .command-check-list label,.campfire-mode .command-consumption-grid label,
.campfire-mode .command-emergency-panel details,.campfire-mode .command-journal-list article{
  background:#1b0705;border-color:rgba(255,106,60,.28)
}
@media(max-width:920px){
  .command-status-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .command-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .command-activation-card,.command-panel-head{display:block}
  .command-activation-actions{justify-content:flex-start;margin-top:10px}
  .command-status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .command-decision-row,.command-journal-entry{grid-template-columns:1fr}
  .command-consumption-grid{grid-template-columns:1fr}
}


/* Version 13.0 — Climbing Journal and Expedition Archive */
.archive-section{scroll-margin-top:88px}
.archive-toolbar{
  display:grid;grid-template-columns:minmax(0,2fr) minmax(160px,.7fr) minmax(150px,.6fr) auto;
  gap:10px;align-items:end;margin-bottom:14px
}
.archive-layout{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(0,2fr);gap:16px;align-items:start}
.archive-index-card,.archive-detail-card,.archive-editor-card{
  min-width:0;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow-soft)
}
.archive-index-card{position:sticky;top:82px;max-height:calc(100vh - 104px);overflow:hidden}
.archive-index-list{display:grid;gap:7px;max-height:calc(100vh - 190px);overflow-y:auto;padding-right:3px}
.archive-index-item{
  display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:54px;padding:9px 10px;
  border:1px solid var(--line);border-radius:12px;background:var(--cream);color:var(--ink);text-align:left
}
.archive-index-item.active{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}
.archive-index-item span{display:grid;gap:2px}
.archive-index-item small{color:var(--muted);font-size:10px;line-height:1.35}
.archive-index-item em{
  font-style:normal;font-size:9px;text-transform:uppercase;letter-spacing:.04em;padding:4px 6px;
  border-radius:999px;background:var(--paper);color:var(--muted)
}
.archive-detail-card{scroll-margin-top:86px}
.archive-detail-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.archive-detail-hero h3{font-size:clamp(24px,4vw,38px);margin:4px 0}
.archive-detail-hero p{color:var(--muted)}
.archive-fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
.archive-fact-grid span{padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--cream);color:var(--muted);font-size:10px}
.archive-fact-grid b{display:block;color:var(--ink);font-size:12px;overflow-wrap:anywhere}
.archive-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.archive-detail-grid>section,.archive-session-summary,.archive-journal-section{
  min-width:0;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--cream)
}
.archive-detail-grid p,.archive-session-summary p,.archive-journal-section p{color:var(--muted);font-size:12px;line-height:1.45}
.archive-session-summary,.archive-journal-section{margin-top:12px}
.archive-journal-section article{margin-top:8px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
.archive-journal-section time{color:var(--muted);font-size:10px;text-transform:uppercase}
.archive-editor-card{margin-top:16px}
.archive-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.archive-empty{padding:30px 12px;text-align:center;color:var(--muted)}
.archive-empty-note{color:var(--muted);font-size:12px}
.campfire-mode .archive-index-card,.campfire-mode .archive-detail-card,.campfire-mode .archive-editor-card,
.campfire-mode .archive-index-item,.campfire-mode .archive-fact-grid span,
.campfire-mode .archive-detail-grid>section,.campfire-mode .archive-session-summary,
.campfire-mode .archive-journal-section,.campfire-mode .archive-journal-section article{
  background:#1b0705;border-color:rgba(255,106,60,.28)
}
@media(max-width:980px){
  .archive-toolbar{grid-template-columns:1fr 1fr}
  .archive-search{grid-column:1/-1}
  .archive-layout{grid-template-columns:1fr}
  .archive-index-card{position:static;max-height:none}
  .archive-index-list{max-height:340px}
}
@media(max-width:680px){
  .archive-toolbar,.archive-form-grid,.archive-fact-grid,.archive-detail-grid{grid-template-columns:1fr}
  .archive-search{grid-column:auto}
  .archive-detail-hero{display:block}
  .archive-detail-hero button{margin-top:8px}
}


/* Version 14.0 — Mountain Intelligence Engine */
.intelligence-engine-section{scroll-margin-top:88px}
.engine-summary-strip{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px
}
.engine-summary-strip>div{
  padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--cream)
}
.engine-summary-strip span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.engine-summary-strip strong{display:block;margin-top:3px;color:var(--ink);font-size:20px}
.engine-toolbar{
  display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,.7fr) auto;gap:10px;align-items:end;margin-bottom:14px
}
.engine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.engine-card,.engine-confidence-card{
  min-width:0;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow-soft)
}
.engine-card h3{margin:4px 0 10px}
.engine-mini-row{
  display:grid;grid-template-columns:minmax(120px,.55fr) minmax(0,1.45fr);gap:8px;
  padding:8px 9px;border:1px solid var(--line);border-radius:11px;background:var(--cream);margin-top:7px
}
.engine-mini-row span{color:var(--muted);font-size:11px;line-height:1.35}
.engine-evidence{padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--cream);margin-top:7px}
.engine-evidence p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
.engine-search-result{
  display:grid;gap:3px;width:100%;min-height:48px;padding:9px;border:1px solid var(--line);
  border-radius:11px;background:var(--cream);color:var(--ink);text-align:left;margin-top:7px
}
.engine-search-result span{color:var(--muted);font-size:10px}
.engine-confidence-card{margin-top:14px}
.engine-confidence-card>div:first-child strong{font-size:30px;color:var(--ink)}
.engine-progress{height:12px;background:var(--cream);border:1px solid var(--line);border-radius:999px;overflow:hidden}
.engine-progress span{display:block;height:100%;width:0;background:var(--gold);transition:width .25s ease}
.engine-completeness-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}
.engine-completeness-list span{
  padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--muted);font-size:11px
}
.engine-completeness-list span.done{color:var(--ink);font-weight:800}
.campfire-mode .engine-summary-strip>div,.campfire-mode .engine-card,.campfire-mode .engine-confidence-card,
.campfire-mode .engine-mini-row,.campfire-mode .engine-evidence,.campfire-mode .engine-search-result,
.campfire-mode .engine-progress,.campfire-mode .engine-completeness-list span{
  background:#1b0705;border-color:rgba(255,106,60,.28)
}
@media(max-width:900px){
  .engine-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .engine-toolbar{grid-template-columns:1fr 1fr}
  .engine-search{grid-column:1/-1}
}
@media(max-width:680px){
  .engine-summary-strip,.engine-toolbar,.engine-grid,.engine-completeness-list{grid-template-columns:1fr}
  .engine-search{grid-column:auto}
  .engine-mini-row{grid-template-columns:1fr}
}
\n/* Version 14.1 */
.weather-source-review-card{margin-top:14px;padding:15px;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow-soft)}
.weather-source-review-card>p{color:var(--muted);font-size:12px;line-height:1.5}.weather-source-review-list{display:grid;gap:8px;margin-top:10px}
.weather-source-review-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,.35fr);gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--cream)}
.weather-source-review-row>div:first-child{display:grid;gap:3px}.weather-source-review-row small{color:var(--rust);font-size:9px;font-weight:900;text-transform:uppercase}.weather-source-review-row span{color:var(--muted);font-size:10px}
.weather-source-review-actions{display:grid;gap:6px}.weather-source-review-actions a,.weather-source-review-actions button{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:inherit;font-weight:850;text-decoration:none}
.weather-agreement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.weather-agreement-summary{margin-top:10px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--cream)}.weather-agreement-summary p{margin:4px 0;color:var(--muted);font-size:12px}
.campfire-mode .weather-source-review-card,.campfire-mode .weather-source-review-row,.campfire-mode .weather-source-review-actions a,.campfire-mode .weather-source-review-actions button,.campfire-mode .weather-agreement-summary{background:#1b0705;border-color:rgba(255,106,60,.28)}
@media(max-width:680px){.weather-source-review-row,.weather-agreement-grid{grid-template-columns:1fr}.weather-source-review-actions{grid-template-columns:1fr 1fr}}\n

/* Version 15.0 — Living Mountain Knowledge Base */
.mountain-knowledge-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:13px}
.mountain-knowledge-summary span{display:grid;gap:2px;padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--cream);color:var(--muted);font-size:10px}
.mountain-knowledge-summary b{color:var(--ink);font-size:17px}
.mountain-history-list,.mountain-knowledge-list,.mountain-evidence-list,.mountain-resource-list{display:grid;gap:7px;margin-top:8px}
.mountain-history-list>div,.mountain-history-list>button,.mountain-knowledge-list span,.mountain-evidence-list>div{display:grid;gap:3px;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);text-align:left}
.mountain-history-list small,.mountain-knowledge-list small{color:var(--muted);font-size:10px}
.mountain-evidence-list p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.4}
.mountain-resource-list a{display:flex;align-items:center;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-weight:850;text-decoration:none}
.campfire-mode .mountain-knowledge-summary span,.campfire-mode .mountain-history-list>div,.campfire-mode .mountain-history-list>button,.campfire-mode .mountain-knowledge-list span,.campfire-mode .mountain-evidence-list>div,.campfire-mode .mountain-resource-list a{background:#1b0705;border-color:rgba(255,106,60,.28)}
@media(max-width:900px){.mountain-knowledge-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.mountain-knowledge-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Version 15.1 — Mountain Intelligence search stabilization */
#mountainIntelSearch{
  display:block;
  width:100%;
  min-height:48px;
  box-sizing:border-box;
  color:var(--ink)!important;
  -webkit-text-fill-color:var(--ink)!important;
  background:var(--cream)!important;
  caret-color:var(--ink)!important;
  opacity:1!important;
  pointer-events:auto!important;
  -webkit-user-select:text;
  user-select:text;
  -webkit-appearance:none;
  appearance:none;
  position:relative;
  z-index:3;
}
#mountainIntelSearch::placeholder{
  color:var(--muted);
  -webkit-text-fill-color:var(--muted);
  opacity:.85;
}
.campfire-mode #mountainIntelSearch{
  color:#ffd9cb!important;
  -webkit-text-fill-color:#ffd9cb!important;
  background:#2b0b07!important;
  caret-color:#ffd9cb!important;
}
.campfire-mode #mountainIntelSearch::placeholder{
  color:#b9968c;
  -webkit-text-fill-color:#b9968c;
}


/* Version 15.2 — audited elevation segment labeling */
.elevation-segments{display:grid;gap:7px;margin:8px 0 12px;padding:10px;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--paper) 92%,var(--ice))}
.elevation-segments>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;align-items:baseline;padding:6px 4px;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.elevation-segments>div:last-child{border-bottom:0}
.elevation-segments b{font-size:12px;color:var(--ink)}
.elevation-segments span{font-size:12px;font-weight:850;text-align:right;color:var(--ink)}
.elevation-segments small{grid-column:1/-1;font-size:10px;line-height:1.35;color:var(--muted)}
.elevation-segments .gain span::before{content:'↑ ';font-weight:900}
.elevation-segments .loss span::before{content:'↓ ';font-weight:900}
.elevation-segments .unavailable span{font-weight:700;color:var(--muted)}
@media(max-width:520px){.elevation-segments>div{grid-template-columns:1fr}.elevation-segments span{text-align:left}}

/* Version 15.3 — Road to 50 and reliable field controls */
.road50-card{display:grid;grid-template-columns:minmax(0,1.5fr) auto;gap:1rem;align-items:center;margin:1rem 0 1.25rem;padding:1.15rem;scroll-margin-top:92px}
.road50-copy h3{margin:.18rem 0 .35rem}.road50-copy p{margin:0;max-width:68ch}
.road50-progress{text-align:right}.road50-progress strong{display:block;font-size:clamp(1.8rem,5vw,3rem);line-height:1}.road50-progress span{display:block;margin-top:.35rem}
.road50-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.55rem}.road50-actions .active{outline:3px solid currentColor;outline-offset:2px}
.road50-combos{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.5rem}.road50-combos span{padding:.38rem .58rem;border-radius:999px;background:rgba(255,255,255,.08)}
.my50-badge{display:inline-flex;margin-left:.4rem;padding:.12rem .35rem;border-radius:999px;font-size:.68rem;font-weight:800;letter-spacing:.06em;background:#d9a441;color:#13242d;vertical-align:middle}
.field-launch{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem .9rem;border-radius:.65rem;text-decoration:none;font-weight:900;background:#ffd38e;color:#17242b;border:2px solid #ffd38e;box-shadow:0 5px 18px rgba(0,0,0,.22)}
html.campfire-mode body{background:#120000!important;color:#ffb0a4!important}html.campfire-mode .card,html.campfire-mode section,html.campfire-mode header,html.campfire-mode .focus-sheet{background-color:#160000!important;color:#ffb0a4!important}html.campfire-mode button{background:#2b0b07!important;color:#ffd9cb!important;border-color:#ff8a65!important}html.campfire-mode a{color:#ff9a77!important;border-color:#8a3129!important}html.campfire-mode a.primary{background:#2b0b07!important;color:#ffd9cb!important;border-color:#ff8a65!important}html.campfire-mode button[aria-pressed="true"],html.campfire-mode button.active{outline:3px solid #ff9a77;outline-offset:2px}html.campfire-mode img{filter:brightness(.22) sepia(1) saturate(2) hue-rotate(315deg)}
@media(max-width:680px){.road50-card{grid-template-columns:1fr}.road50-progress{text-align:left}.road50-progress,.road50-actions,.road50-combos{grid-column:1}}

/* v15.3 app-wide navigation-density audit */
.trip-builder-disclosure{margin:14px 0;border:1px solid var(--line,rgba(20,58,74,.18));border-radius:18px;background:var(--paper);color:var(--ink);overflow:hidden}
.trip-builder-disclosure>summary{cursor:pointer;list-style:none;padding:17px 20px;font-weight:850;display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink)}
.trip-builder-disclosure>summary::-webkit-details-marker{display:none}
.trip-builder-disclosure>summary::after{content:'Open';font-size:.78rem;font-weight:900;color:var(--muted);opacity:1}
.trip-builder-disclosure[open]>summary::after{content:'Close'}
.trip-builder-disclosure[open]>summary{border-bottom:1px solid var(--line,rgba(20,58,74,.18))}
.trip-builder-disclosure-body{padding:18px}
@media(max-width:640px){.trip-builder-disclosure>summary{padding:15px 16px}.trip-builder-disclosure-body{padding:12px}}

/* Version 15.3.2 — objective-specific emergency contacts and device-local update drafts */
.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-weight:850;text-decoration:none;text-align:center}
.emergency-local-card,.emergency-vonda-card{margin-top:14px}
.emergency-local-head{margin:0 0 14px;align-items:flex-end}
.emergency-local-head h3{margin:4px 0 0;font-size:25px}
.emergency-objective-field{min-width:min(100%,260px)}
#emergencyLocalDetails{display:grid;gap:7px;line-height:1.5}
#emergencyLocalDetails p{margin:0}
#emergencyLocalDetails strong{font-size:18px}
.emergency-contact-actions,.emergency-send-actions{margin:14px 0 9px}
.emergency-contact-actions>*{flex:1 1 210px}
.emergency-send-actions>*{flex:1 1 180px}
.emergency-vonda-card textarea{min-height:94px}
#emergencyLocalVerified,#emergencyVondaStatus{display:block;color:var(--muted);margin-top:8px}
@media(max-width:650px){.emergency-local-head{align-items:stretch;flex-direction:column}.emergency-objective-field{width:100%}.emergency-contact-actions>*,.emergency-send-actions>*{flex-basis:100%}}


/* Version 15.3.2 — device-local personal emergency contact setup */
.contact-setup{margin:14px 0;border:1px solid var(--line);border-radius:14px;background:var(--cream);overflow:hidden}
.contact-setup>summary{cursor:pointer;padding:13px 15px;font-weight:850}
.contact-setup[open]>summary{border-bottom:1px solid var(--line)}
.contact-setup-body{padding:14px;display:grid;gap:11px}
.contact-setup-body p{margin:0}
.contact-setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.contact-setup-actions{margin:0}.contact-setup-actions button{flex:1 1 190px}
.contact-privacy,#emergencyContactStatus{color:var(--muted);font-size:12px;line-height:1.45}
.campfire-mode .contact-setup{background:#1b0705;border-color:rgba(255,106,60,.28)}
@media(max-width:650px){.contact-setup-grid{grid-template-columns:1fr}.contact-setup-actions button{flex-basis:100%}}

/* Version 15.3.7 — reliable field controls and clear return navigation */
.intel-return-control{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid var(--navy);border-radius:999px;background:var(--navy);color:#fff;font-weight:900;text-decoration:none}
html.campfire-mode .field-launch{background:#3a0d08!important;color:#ffd9cb!important;border-color:#ff8a65!important}
html.campfire-mode .intel-return-control{background:#3a0d08!important;color:#ffd9cb!important;border-color:#ff8a65!important}

/* Version 15.3.8 — full-app contrast and field-control audit */
button,input:not([type="checkbox"]):not([type="radio"]){min-height:44px}
select{min-height:46px!important}
.custom-gear-form button{min-height:44px}
.icon-button{width:44px;height:44px}
.bottom-nav a{min-height:48px;justify-content:center}
.bottom-nav a.active{color:var(--ink)}
.summit-card{color:var(--ink);text-align:left}
@media(max-width:780px){.bottom-nav a,.bottom-nav a:nth-child(2),.bottom-nav a:nth-child(3){font-size:9.5px;font-weight:800}}

/* Version 15.3.9 — iPhone field-control and saved-alert hotfix */
.focus-showcase-copy:after,.focus-orbit{pointer-events:none}
.focus-actions{position:relative;z-index:1}
.weather-alert-trigger,.weather-alert-line-trigger,.trip-alert-trigger{font:inherit;cursor:pointer}
.weather-alert-trigger{min-height:34px;padding:6px 10px;text-align:left}
.weather-alert-fallback{display:grid;gap:4px;max-width:100%}.weather-alert-fallback small,.weather-alert-line-fallback small,.trip-alert-fallback small{display:block;font-size:10px;line-height:1.35}
.weather-alert-line-trigger{display:block;width:100%;margin-top:8px;padding:9px 10px;border:1px solid currentColor;border-radius:11px;text-align:left}
.trip-alert-trigger{width:100%;border:0;border-radius:11px;padding:9px;background:rgba(255,255,255,.10);color:inherit;text-align:left}.trip-alert-trigger b,.trip-alert-trigger small{display:block}.trip-alert-trigger small{font-size:10px;color:#c6d9df}
.weather-alert-overlay[hidden]{display:none}.weather-alert-overlay{position:fixed;inset:0;z-index:140;overflow:auto;padding:20px;background:rgba(2,12,18,.78);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.weather-alert-sheet{max-width:680px;margin:3vh auto;padding:24px;border:1px solid var(--line);border-radius:26px;background:var(--paper);color:var(--ink);box-shadow:0 35px 100px rgba(0,0,0,.48)}
.weather-alert-sheet-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.weather-alert-sheet-top h2{margin:4px 0;font-size:32px}.close-weather-alerts{flex:none;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font-size:24px;cursor:pointer}
.weather-alert-notice{margin:14px 0 7px;padding:12px 14px;border-left:5px solid var(--gold);border-radius:12px;background:var(--cream);font-weight:750;line-height:1.45}.weather-alert-refresh{margin:0 0 14px;color:var(--muted);font-size:12px}
.weather-alert-list{display:grid;gap:11px}.weather-alert-list article{padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--ice)}.weather-alert-list h3{margin:0 0 7px;font-size:20px}.weather-alert-list p{margin:6px 0;color:var(--muted)}.weather-alert-list dl{display:grid;gap:7px;margin:10px 0 0}.weather-alert-list dl div{display:grid;grid-template-columns:110px 1fr;gap:10px}.weather-alert-list dt{color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.weather-alert-list dd{margin:0}
@media(max-width:430px){.weather-alert-overlay{padding:0}.weather-alert-sheet{min-height:100%;margin:0;padding:calc(18px + env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom));border-radius:0}.weather-alert-sheet-top h2{font-size:27px}.weather-alert-list dl div{grid-template-columns:1fr;gap:2px}}

/* Version 15.3.10 — cautious emergency context and unmistakable cached-weather state */
.weather-refresh-failure{display:grid;gap:4px;margin:0 0 12px;padding:12px 14px;border:2px solid #a94337;border-radius:13px;background:#f8dedb;color:#702c27;line-height:1.4}.weather-refresh-failure strong{font-size:14px}.weather-refresh-failure span{font-weight:750}.weather-refresh-failure small{color:inherit}.focus-weather-card{flex-wrap:wrap}.focus-weather-card .weather-refresh-failure{flex:1 0 100%;background:#4a1712;color:#ffd8ce;border-color:#ff9a77}.campfire-mode .weather-refresh-failure{background:#32100d;color:#ffd0bd;border-color:#ff6a3c}
.emergency-call-first{padding:12px 14px;border:2px solid var(--red);border-radius:14px;background:#f8dedb;color:#702c27;line-height:1.5}.emergency-area-detail{margin-top:12px;padding:12px 0 0;border-top:1px solid var(--line)}.emergency-area-detail h4{margin:0 0 6px}.emergency-area-detail p{margin:6px 0}.emergency-primary{background:#7a2019!important;border-color:#7a2019!important;color:#fff!important}.campfire-mode .emergency-call-first{background:#32100d;color:#ffd0bd;border-color:#ff6a3c}
@media(max-width:430px){.focus-sheet-top{align-items:flex-start}.focus-sheet-controls{flex:none}.focus-sheet-controls>button:first-child{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:12px;white-space:nowrap}}

/* Version 15.3.11 — Crew Companion distribution */
.crew-section{scroll-margin-top:78px}
.crew-setup-card{padding:22px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,color-mix(in srgb,var(--paper) 82%,var(--ice)),var(--paper));box-shadow:var(--shadow)}
.crew-setup-head,.crew-flow-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.crew-setup-head h3,.crew-flow-head h3,.crew-instruction-card h3{margin:4px 0 7px;font-size:clamp(22px,3vw,30px);line-height:1.1}
.crew-setup-head p{max-width:680px;margin:0;color:var(--muted)}
.crew-release-status{flex:none;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--muted);font-size:12px;font-weight:850}
.crew-primary-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(300px,1.1fr);gap:18px;margin-top:20px}
.crew-qr-card,.crew-action-card{min-width:0;padding:18px;border:1px solid var(--line);border-radius:19px;background:var(--paper)}
.crew-qr-card:focus-visible{outline:3px solid color-mix(in srgb,var(--gold) 75%,white);outline-offset:3px}
.crew-qr-card img{display:block;width:min(100%,360px);height:auto;margin:12px auto;padding:9px;border:1px solid var(--line);border-radius:16px;background:white}
.crew-url{margin:10px 0 4px;text-align:center;overflow-wrap:anywhere}.crew-url a{font-weight:900}
.crew-qr-note{margin:4px 0 0;color:var(--muted);font-size:12px;text-align:center}
.crew-action-card{display:flex;flex-direction:column;justify-content:center}.crew-action-card h4{margin:4px 0 14px;font-size:24px}
.crew-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.crew-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:11px 14px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-weight:900;text-align:center;text-decoration:none;cursor:pointer}
.crew-button[hidden]{display:none}
.crew-button.crew-primary{border-color:transparent;background:var(--gold);color:#17242b}
.crew-fallback,.crew-action-status{min-height:21px;margin:12px 0 0;color:var(--muted);font-size:13px;font-weight:800}
.crew-privacy-note{margin:14px 0 0;padding:13px 14px;border-left:4px solid var(--sage);border-radius:12px;background:var(--ice);color:var(--muted);font-size:13px;line-height:1.5}.crew-privacy-note b{color:var(--ink)}
.crew-instruction-grid,.crew-artifact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.crew-instruction-card h3{font-size:24px}.crew-instruction-card ol,.crew-instruction-card ul{margin:12px 0;padding-left:24px}.crew-instruction-card li{margin:7px 0}.crew-instruction-card>p{color:var(--muted)}
.crew-each-phone{padding:11px 13px;border-radius:12px;background:var(--ice)}
.crew-checklist{list-style:"✓  "}.crew-checklist li::marker{color:var(--sage);font-weight:950}
.crew-flow-card{margin-top:14px}.crew-flow-head>span{flex:none;padding:6px 9px;border-radius:999px;background:var(--ice);color:var(--muted);font-size:12px;font-weight:900}
.crew-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;counter-reset:crew-step;margin:16px 0 0;padding:0;list-style:none}.crew-flow li{position:relative;min-height:58px;padding:12px 12px 12px 48px;border:1px solid var(--line);border-radius:14px;background:var(--ice);counter-increment:crew-step}.crew-flow li:before{content:counter(crew-step);position:absolute;left:12px;top:11px;width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:white;font-size:12px;font-weight:950}
.crew-artifact{display:flex;flex-direction:column;min-height:132px;justify-content:center;color:var(--ink);text-decoration:none}.crew-artifact strong{margin:5px 0;font-size:22px}.crew-artifact small{color:var(--muted)}.crew-pocket-card{border-left:6px solid var(--gold)}
.crew-boundary{margin:14px 0 0;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--cream);color:var(--muted)}.crew-boundary b{color:var(--ink)}
.campfire-mode .crew-setup-card,.campfire-mode .crew-qr-card,.campfire-mode .crew-action-card,.campfire-mode .crew-flow li,.campfire-mode .crew-privacy-note,.campfire-mode .crew-boundary{background:#1b0705!important;border-color:rgba(255,106,60,.28)!important;color:#ffd9cb!important}
@media(max-width:780px){
 .bottom-nav{grid-template-columns:repeat(7,minmax(0,1fr))}
 .crew-setup-card{padding:15px}.crew-setup-head{display:block}.crew-release-status{display:inline-flex;margin-top:12px}
 .crew-primary-grid,.crew-instruction-grid,.crew-artifact-grid,.crew-flow{grid-template-columns:1fr}
 .crew-actions{grid-template-columns:1fr}.crew-button{width:100%}
 .crew-qr-card img{width:min(100%,330px)}
}
@media(max-width:420px){.crew-qr-card,.crew-action-card{padding:14px}.crew-flow li{padding-right:10px}.bottom-nav a,.bottom-nav a:nth-child(2),.bottom-nav a:nth-child(3){font-size:8px}}
@media print{.crew-actions,.crew-action-status,.crew-fallback,.crew-release-status{display:none!important}.crew-primary-grid,.crew-instruction-grid,.crew-artifact-grid{grid-template-columns:1fr 1fr}.crew-flow{grid-template-columns:1fr 1fr}}

/* Version 15.3.13 — consolidated navigation and responsive global Find */
.nav-find svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.find-overlay[hidden]{display:none}.find-overlay{position:fixed;inset:0;z-index:160;display:grid;place-items:start center;overflow:hidden;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:rgba(2,12,18,.8);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.find-sheet{display:flex;flex-direction:column;width:min(100%,680px);max-height:calc(100dvh - 40px);margin:3vh 0;padding:24px;overflow:hidden;border:1px solid var(--line);border-radius:26px;background:var(--paper);color:var(--ink);box-shadow:0 35px 100px rgba(0,0,0,.48)}
.find-sheet-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.find-sheet-top>div{min-width:0}.find-sheet-top h2{margin:4px 0 0;font-size:clamp(27px,5vw,36px);line-height:1.05;overflow-wrap:anywhere}.close-find{flex:none;min-height:44px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink);font-weight:900;cursor:pointer}
.find-intro{margin:12px 0 0;color:var(--muted);font-size:15px;line-height:1.45}.find-label{display:block;margin:18px 0 7px;font-size:13px;font-weight:900}.find-sheet input{flex:none;width:100%;min-height:50px;padding:12px 14px;border:2px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);font-size:16px}
.find-status{flex:none;min-height:21px;margin:10px 2px 7px;color:var(--muted);font-size:12px;font-weight:850}.find-results{display:grid;gap:10px;min-height:0;max-height:min(52vh,520px);padding:2px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.find-result{width:100%;min-height:72px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid color-mix(in srgb,var(--line) 88%,var(--ink));border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--paper) 82%,var(--ice)),var(--paper));color:var(--ink);box-shadow:0 5px 18px rgba(16,44,58,.07);text-align:left;cursor:pointer}.find-result:hover{border-color:color-mix(in srgb,var(--blue) 55%,var(--line));background:color-mix(in srgb,var(--paper) 68%,var(--ice))}.find-result:focus-visible{outline:3px solid color-mix(in srgb,var(--gold) 75%,white);outline-offset:1px;border-color:var(--ink)}.find-result>span:first-child{min-width:0}.find-result strong,.find-result small{display:block}.find-result strong{font-size:16px;line-height:1.25}.find-result small{margin-top:4px;color:var(--muted);font-size:13px;line-height:1.4}.find-result>span:last-child{flex:none;font-size:25px;color:var(--muted)}
.find-privacy{flex:none;margin:14px 2px 0;color:var(--muted);font-size:12px;line-height:1.45}.campfire-mode .find-sheet,.campfire-mode .find-result,.campfire-mode .close-find,.campfire-mode .find-sheet input{background:#180604;color:#ffd9cb;border-color:rgba(255,106,60,.28)}
@media(max-width:780px){.nav{position:fixed;top:0;right:0;left:0;z-index:60;display:block}.navin{max-width:none;justify-content:flex-end;padding:calc(6px + env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) 6px max(10px,env(safe-area-inset-left));overflow:visible}.navin>a{display:none}.nav-find{min-width:88px;justify-content:center;box-shadow:0 7px 22px rgba(0,0,0,.16)}.hero-v6 .hero-inner{padding-top:calc(78px + env(safe-area-inset-top))}.install-nudge{top:calc(60px + env(safe-area-inset-top))}.find-overlay{place-items:stretch;padding:calc(64px + env(safe-area-inset-top)) max(10px,env(safe-area-inset-right)) calc(82px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.find-sheet{width:100%;max-height:calc(100dvh - 146px - env(safe-area-inset-top) - env(safe-area-inset-bottom));margin:0;padding:16px;border-radius:22px}.find-results{max-height:none}.long-page-shortcuts .btn{flex:1 1 auto;justify-content:center}.footer{padding-bottom:calc(36px + env(safe-area-inset-bottom))}}
@media(max-width:390px){.find-sheet-top{align-items:flex-start;gap:10px}.find-sheet-top h2{font-size:25px}.find-intro{font-size:14px}.find-result{min-height:68px;padding:12px 13px}}
@media(prefers-reduced-motion:reduce){.find-result{scroll-behavior:auto}}
@media print{.find-overlay,.long-page-shortcuts,.footer-shortcuts{display:none!important}}

/* Version 15.3.16 — reliable PWA update status, diagnostics, and safe mobile action. */
.version-about-card{display:grid;gap:16px}.update-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.update-summary>div{min-width:0;padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--ice)}.update-summary dt{color:var(--muted);font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.update-summary dd{margin:4px 0 0;color:var(--ink);font-size:20px;font-weight:900;overflow-wrap:anywhere}.update-status-detail{margin:0;color:var(--muted)}.origin-warning{padding:15px;border:2px solid color-mix(in srgb,var(--gold) 68%,var(--line));border-radius:16px;background:color-mix(in srgb,var(--cream) 88%,var(--gold));color:var(--ink)}.origin-warning p{margin:5px 0 0}.check-updates{justify-self:start;min-height:44px;padding:10px 15px;border:0;border-radius:999px;background:var(--navy);color:white;font-weight:900;cursor:pointer}.update-diagnostics{border-top:1px solid var(--line);padding-top:12px}.update-diagnostics summary{min-height:44px;padding:10px 0;font-weight:900;cursor:pointer}.update-diagnostics dl{display:grid;gap:8px;margin:8px 0 0}.update-diagnostics dl>div{display:grid;grid-template-columns:minmax(125px,.35fr) minmax(0,1fr);gap:10px}.update-diagnostics dt{color:var(--muted);font-weight:850}.update-diagnostics dd{min-width:0;margin:0;overflow-wrap:anywhere}.campfire-mode .version-about-card,.campfire-mode .update-summary>div,.campfire-mode .origin-warning{background:#180604;color:#ffd9cb;border-color:rgba(255,106,60,.28)}
@media(max-width:780px){body.update-ready main{padding-bottom:260px}.update{left:max(10px,env(safe-area-inset-left));right:max(100px,calc(90px + env(safe-area-inset-right)));padding:12px}.update-summary{grid-template-columns:1fr}.update-diagnostics dl>div{grid-template-columns:1fr;gap:1px}}
@media(max-width:420px){.update.show{display:grid;gap:8px}.update small{display:none}.update button{width:100%}}
@media print{#version-about{break-inside:avoid}.check-updates,.update-diagnostics{display:none!important}}
