:root {
  --bg:#091a17; --surface:#102722; --surface-2:#15332d; --ink:#f7f1e5; --muted:#a9bbb5;
  --gold:#f2c766; --jade:#5be7d7; --danger:#ff735c; --line:rgba(232,239,233,.13);
  color-scheme:dark; font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",system-ui,sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth;background:var(--bg)} body{margin:0;background:var(--bg);color:var(--ink);min-width:320px}
button,a{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.topbar{position:fixed;z-index:1000;top:0;left:0;right:0;height:60px;padding:0 max(18px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(5,17,14,.92),rgba(5,17,14,.25),transparent);backdrop-filter:blur(2px);pointer-events:none}
.topbar>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:800;letter-spacing:.06em}.brand-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:var(--gold);color:#13251f;font-size:20px}.trip-date{font-size:12px;letter-spacing:.12em;color:#d7e1dc}
.hero{height:min(760px,92svh);min-height:640px;position:relative;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:saturate(.88) contrast(1.06)}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,13,11,.12) 0%,rgba(3,14,12,.2) 28%,rgba(4,17,14,.88) 76%,var(--bg) 100%)}
.hero-copy{position:absolute;z-index:2;left:22px;right:22px;bottom:132px}.kicker,.overline{font-size:11px;font-weight:900;letter-spacing:.2em;color:var(--gold)}h1{font-size:clamp(43px,13vw,68px);line-height:.98;margin:14px 0 18px;letter-spacing:-.06em}h1 em{font-style:normal;color:var(--gold)}.hero-copy p{font-size:15px;line-height:1.7;color:#d7e0dc;margin:0;max-width:560px}.hero-actions{display:flex;gap:10px;margin-top:24px}.primary-btn,.ghost-btn{min-height:44px;border-radius:14px;padding:0 17px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:800}.primary-btn{background:var(--gold);color:#11231e}.ghost-btn{background:rgba(12,31,27,.56);border-color:rgba(255,255,255,.26);backdrop-filter:blur(10px)}
.hero-stats{position:absolute;z-index:2;left:20px;right:20px;bottom:34px;height:76px;border:1px solid rgba(255,255,255,.14);background:rgba(11,29,25,.72);backdrop-filter:blur(16px);border-radius:20px;display:grid;grid-template-columns:repeat(3,1fr)}.hero-stats div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.hero-stats div+div{border-left:1px solid rgba(255,255,255,.11)}.hero-stats strong{font-size:18px}.hero-stats span{font-size:11px;color:var(--muted)}
.map-section,.itinerary,.packing,.safety{padding:38px 16px 4px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.section-heading.compact{margin-bottom:14px}.section-heading h2{font-size:29px;margin:5px 0 0;letter-spacing:-.04em}.hint{font-size:12px;color:var(--muted);padding-bottom:4px}.live-dot{font-size:12px;color:#c7d3ce;display:flex;align-items:center;gap:7px;padding-bottom:5px}.live-dot::before{content:"";width:8px;height:8px;border-radius:50%;background:#66e08e;box-shadow:0 0 0 4px rgba(102,224,142,.12)}
.map-shell{height:58svh;min-height:480px;max-height:650px;position:relative;border-radius:26px;overflow:hidden;border:1px solid rgba(242,199,102,.28);box-shadow:0 22px 50px rgba(0,0,0,.28)}#map{height:100%;width:100%;background:#17342d}.map-fit{position:absolute;z-index:500;right:14px;top:14px;border:1px solid rgba(255,255,255,.18);background:rgba(7,20,17,.85);border-radius:13px;padding:10px 13px;font-weight:800}.map-caption{position:absolute;z-index:500;left:12px;right:12px;bottom:12px;background:rgba(6,19,16,.86);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:11px 13px;font-size:11px;line-height:1.55;color:#c9d6d1;backdrop-filter:blur(12px)}
.day-strip{display:flex;gap:9px;overflow-x:auto;scrollbar-width:none;padding:1px 1px 14px;position:sticky;top:52px;z-index:20;background:linear-gradient(180deg,var(--bg) 78%,transparent)}.day-strip::-webkit-scrollbar{display:none}.day-chip{flex:0 0 auto;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:9px 13px;text-align:left}.day-chip b{display:block;font-size:13px}.day-chip span{font-size:10px;color:var(--muted)}.day-chip.active{background:var(--accent);color:#10231f;border-color:transparent}.day-chip.active span{color:#26413a}
.day-list{display:grid;gap:12px}.day-card{position:relative;display:grid;grid-template-columns:92px 1fr;gap:14px;min-height:132px;width:100%;border:1px solid var(--line);background:linear-gradient(145deg,var(--surface-2),var(--surface));border-radius:22px;padding:12px;text-align:left;overflow:hidden}.day-card:active{transform:scale(.99)}.day-photo{height:100%;min-height:108px;border-radius:15px;object-fit:cover}.day-copy{padding:3px 30px 2px 0}.day-meta{display:flex;gap:8px;align-items:center;color:var(--accent);font-size:11px;font-weight:900}.day-distance{color:#d8e1dd;background:rgba(255,255,255,.07);border-radius:999px;padding:4px 7px;font-size:9px}.day-copy h3{font-size:18px;line-height:1.35;margin:8px 0 7px}.day-copy p{font-size:12px;color:var(--muted);line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.day-arrow{position:absolute;right:15px;top:50%;translate:0 -50%;font-size:22px;color:var(--accent)}
.packing{scroll-margin-top:38px}.packing-heading{margin-bottom:14px}.packing-progress{display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:14px;padding:16px;border-radius:24px;background:linear-gradient(145deg,#173b33,#102720);border:1px solid rgba(91,231,215,.2);box-shadow:0 20px 50px rgba(0,0,0,.18)}.progress-ring{--progress:0deg;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,var(--surface) 58%,transparent 60%),conic-gradient(var(--jade) var(--progress),rgba(255,255,255,.1) 0)}.progress-ring strong{font-size:17px}.progress-copy{display:flex;flex-direction:column;gap:3px}.progress-copy>span{font-size:11px;color:var(--jade);font-weight:900;letter-spacing:.08em}.progress-copy>strong{font-size:20px}.progress-copy>strong b{font:inherit}.progress-copy small{font-size:11px;line-height:1.4;color:var(--muted)}.packing-reset{border:1px solid var(--line);background:rgba(255,255,255,.05);border-radius:12px;padding:9px 10px;font-size:11px;color:#d6e1dc}.packing-loadouts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 18px}.packing-loadouts article{min-width:0;padding:13px 10px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.packing-loadouts span{display:block;color:var(--gold);font-size:10px;font-weight:900;margin-bottom:10px}.packing-loadouts b{display:block;font-size:12px;line-height:1.35}.packing-loadouts small{display:block;color:var(--muted);font-size:9px;line-height:1.5;margin-top:5px}.packing-tools{position:sticky;top:52px;z-index:30;margin:0 -16px;padding:10px 16px 12px;background:linear-gradient(180deg,var(--bg) 84%,rgba(9,26,23,.92) 93%,transparent)}.packing-filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:10px}.packing-filters::-webkit-scrollbar{display:none}.packing-filter{flex:0 0 auto;border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:9px 13px;font-size:12px;color:#c8d5d0}.packing-filter.active{background:var(--gold);border-color:var(--gold);color:#14251f;font-weight:900}.unfinished-toggle{display:flex;align-items:center;gap:9px;width:max-content;color:#cbd6d2;font-size:12px}.unfinished-toggle input{width:18px;height:18px;margin:0;accent-color:var(--jade)}.packing-summary{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 13px}.packing-summary span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.06);font-size:11px;color:#c8d5d0}.packing-list{display:grid;gap:16px}.packing-group{border:1px solid var(--line);border-radius:22px;background:var(--surface);overflow:hidden}.packing-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:16px 17px;font-weight:900}.packing-group>summary::-webkit-details-marker{display:none}.packing-group>summary div{display:flex;align-items:center;gap:10px}.packing-group>summary span:first-child{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(242,199,102,.12);font-size:16px}.packing-group>summary small{color:var(--muted);font-size:11px;font-weight:500}.packing-group>summary::after{content:"＋";color:var(--gold);font-size:20px}.packing-group[open]>summary::after{content:"－"}.packing-items{display:grid;border-top:1px solid var(--line)}.packing-item{position:relative;display:grid;grid-template-columns:24px 1fr;gap:12px;padding:15px 16px;cursor:pointer}.packing-item+.packing-item{border-top:1px solid rgba(232,239,233,.08)}.packing-item input{position:absolute;opacity:0;pointer-events:none}.packing-check{width:22px;height:22px;border:2px solid #668078;border-radius:7px;margin-top:2px;display:grid;place-items:center;transition:.16s ease}.packing-item input:checked+.packing-check{border-color:var(--jade);background:var(--jade);color:#0b1f1a}.packing-item input:checked+.packing-check::after{content:"✓";font-size:14px;font-weight:1000}.packing-item input:focus-visible+.packing-check{outline:3px solid rgba(91,231,215,.25);outline-offset:3px}.packing-item:has(input:checked) .packing-name{text-decoration:line-through;color:#789087}.packing-content{min-width:0}.packing-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.packing-name{font-size:14px;line-height:1.45;font-weight:900}.packing-qty{flex:0 0 auto;color:var(--gold);font-size:11px;font-weight:900;padding-top:2px}.packing-meta{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0}.packing-meta span{font-size:9px;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.06);color:#c5d2cd}.packing-meta .must{background:rgba(255,115,92,.12);color:#ff9b8a}.packing-meta .recommend{background:rgba(242,199,102,.12);color:#f2d17e}.packing-detail{display:block;font-size:11px;line-height:1.65;color:var(--muted)}.packing-empty{padding:28px 18px;text-align:center;color:var(--muted);font-size:13px;border:1px dashed var(--line);border-radius:20px}.altitude-note{margin-top:16px;border:1px solid rgba(255,115,92,.25);background:linear-gradient(145deg,rgba(255,115,92,.1),rgba(255,115,92,.04));border-radius:20px;padding:17px}.altitude-note span{color:#ff9b8a;font-size:12px;font-weight:900}.altitude-note p{font-size:12px;line-height:1.7;color:#d7c5c0;margin:7px 0 0}
.safety{padding-bottom:120px}.safety-grid{display:grid;gap:12px}.safety article{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px 18px 18px 64px}.safety article span{position:absolute;left:18px;top:19px;color:var(--gold);font-size:12px;font-weight:900}.safety h3{font-size:17px;margin:0 0 8px}.safety p{font-size:13px;line-height:1.65;color:var(--muted);margin:0}
.bottom-nav{position:fixed;z-index:900;left:50%;translate:-50% 0;bottom:max(12px,env(safe-area-inset-bottom));width:min(calc(100% - 28px),430px);height:64px;border:1px solid rgba(255,255,255,.14);background:rgba(10,27,23,.9);backdrop-filter:blur(20px);border-radius:22px;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:0 16px 45px rgba(0,0,0,.38)}.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:10px;color:#a9bbb5}.bottom-nav span{font-size:18px;color:#f5e8c8}
.day-sheet{position:fixed;inset:auto 0 0 0;margin:0;width:100%;max-width:680px;max-height:88svh;border:1px solid rgba(255,255,255,.14);border-radius:28px 28px 0 0;background:#0e241f;color:var(--ink);padding:16px 20px calc(28px + env(safe-area-inset-bottom));overflow:auto;box-shadow:0 -20px 70px rgba(0,0,0,.45)}.day-sheet::backdrop{background:rgba(1,9,7,.72);backdrop-filter:blur(4px)}.sheet-handle{width:42px;height:5px;border-radius:5px;background:rgba(255,255,255,.25);margin:0 auto 14px}.sheet-close{position:absolute;z-index:4;right:18px;top:18px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(7,22,18,.76);font-size:24px}.sheet-hero{height:210px;border-radius:22px;overflow:hidden;position:relative;margin-top:10px}.sheet-hero img{width:100%;height:100%;object-fit:cover}.sheet-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,18,15,.85),transparent 68%)}.sheet-day{position:absolute;z-index:2;left:17px;bottom:15px}.sheet-day small{font-weight:900;color:var(--accent)}.sheet-day h2{margin:5px 0 0;font-size:25px;line-height:1.25}.sheet-summary{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.sheet-summary span{border:1px solid var(--line);background:rgba(255,255,255,.05);border-radius:999px;padding:7px 10px;font-size:11px;color:#d0ddd8}.detail-block{border-top:1px solid var(--line);padding:18px 0 4px}.detail-block h3{font-size:14px;color:var(--gold);margin:0 0 10px}.detail-block p{font-size:14px;line-height:1.75;color:#d1dcd7;margin:0}.timeline{list-style:none;padding:0;margin:0;display:grid;gap:10px}.timeline li{display:grid;grid-template-columns:54px 1fr;gap:12px;font-size:13px;line-height:1.5}.timeline time{color:var(--accent);font-weight:900}.warning{border:1px solid rgba(255,115,92,.25);background:rgba(255,115,92,.08);border-radius:16px;padding:13px!important}.xhs-link{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#ff2442;color:white;border-radius:16px;padding:13px 15px;margin-top:14px;font-size:13px;font-weight:800}.xhs-link span{font-size:19px}.source-note{font-size:10px!important;color:#859b93!important;margin-top:8px!important}
.leaflet-control-zoom{display:none}.leaflet-control-attribution{font-size:7px!important;background:rgba(255,255,255,.66)!important}.place-dot{width:13px;height:13px;border-radius:50%;background:#fff1c2;border:3px solid #ec654f;box-shadow:0 0 0 2px rgba(0,0,0,.42)}.place-label{background:rgba(6,19,16,.9);color:white;border:1px solid rgba(255,255,255,.23);border-radius:7px;box-shadow:0 3px 10px rgba(0,0,0,.4);font:700 10px/1.1 "Microsoft YaHei";padding:5px 6px}.place-label::before{display:none}
.packing-loadouts b{font-size:14px}.packing-loadouts small{font-size:12px}.packing-filter,.unfinished-toggle{font-size:14px}.packing-summary span{font-size:12px}.packing-name{font-size:15px}.packing-qty{font-size:12px}.packing-meta span{font-size:11px}.packing-detail{font-size:13px}.altitude-note p{font-size:13px}
@media(max-width:370px){.packing-progress{grid-template-columns:62px 1fr}.progress-ring{width:62px;height:62px}.packing-reset{grid-column:2;justify-self:start}.packing-loadouts{grid-template-columns:1fr}.packing-loadouts article{display:grid;grid-template-columns:28px 1fr}.packing-loadouts span{grid-row:1/3;margin:1px 0 0}.packing-loadouts small{grid-column:2}}
@media(min-width:760px){body{max-width:760px;margin:auto;box-shadow:0 0 90px rgba(0,0,0,.48)}.topbar{left:50%;right:auto;translate:-50% 0;width:760px}.hero-copy{left:42px;right:42px}.map-section,.itinerary,.packing,.safety{padding-left:28px;padding-right:28px}.packing-tools{margin-left:-28px;margin-right:-28px;padding-left:28px;padding-right:28px}.day-list{grid-template-columns:1fr 1fr}.day-card{grid-template-columns:110px 1fr}.packing-items{grid-template-columns:1fr 1fr}.packing-item:nth-child(2){border-top:0}.packing-item:nth-child(even){border-left:1px solid rgba(232,239,233,.08)}.day-sheet{left:50%;translate:-50% 0}.safety-grid{grid-template-columns:repeat(3,1fr)}.safety article{padding:52px 18px 18px}.safety article span{left:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.day-card:active{transform:none}}
