:root{--ink:#1a2e24;--moss:#2d6a4f;--trail:#3d8b66;--trail-soft:#e8f5ee;--paper:#fff;--surface:#fff;--line:#e4ebe6;--text:#1a2e24;--muted:#667a70;--font-display:"Fraunces","Noto Serif SC",serif;--font-body:"Outfit","Noto Sans SC",system-ui,sans-serif;background:#fff;background:var(--paper);color:#1a2e24;color:var(--text);font-family:Outfit,Noto Sans SC,system-ui,sans-serif;font-family:var(--font-body);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#fff;background:var(--paper);color:#1a2e24;color:var(--text);margin:0;min-width:320px}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{display:block;max-width:100%}.site-root{background:#fff;flex-direction:column;min-height:100vh}.site-header,.site-root{color:#1a2e24;color:var(--text);display:flex}.site-header{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;border-bottom:1px solid #e4ebe6;border-bottom:1px solid var(--line);gap:28px;height:72px;padding:0 clamp(18px,5vw,72px);position:-webkit-sticky;position:sticky;top:0;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;z-index:40}.site-header.is-solid{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border-bottom-color:#e4ebe6;border-bottom-color:var(--line);box-shadow:0 1px 0 #1a2e240a;color:#1a2e24;color:var(--text)}.brand-mark{align-items:center;color:#1a2e24;color:var(--ink);display:inline-flex;gap:10px}.brand-mark img,.brand-mark span{border-radius:11px;height:36px;object-fit:contain;width:36px}.brand-mark span{background:#e8f5ee;background:var(--trail-soft);color:#2d6a4f;color:var(--moss);display:grid;font:800 18px Fraunces,"Noto Serif SC",serif;font:800 18px var(--font-display);place-items:center}.brand-mark strong{font:700 17px Fraunces,"Noto Serif SC",serif;font:700 17px var(--font-display);letter-spacing:.02em}.site-nav{align-items:center;display:flex;gap:22px;margin-left:12px}.site-nav a{color:#667a70;color:var(--muted);font-size:14px;font-weight:500;transition:color .2s}.site-nav a.active,.site-nav a:hover{color:#2d6a4f;color:var(--moss)}.header-actions{align-items:center;display:flex;gap:10px;margin-left:auto}.account-chip{align-items:center;color:#1a2e24;color:var(--text);display:inline-flex;font-size:14px;gap:8px}.ghost-btn,.ghost-link{color:#667a70!important;color:var(--muted)!important}.solid-link{align-items:center;background:#2d6a4f;background:var(--moss);border-radius:999px;color:#fff;display:inline-flex;font-size:14px;font-weight:700;justify-content:center;min-height:38px;padding:0 16px}.menu-toggle{background:#e8f5ee;background:var(--trail-soft);border:0;border-radius:12px;color:#2d6a4f;color:var(--moss);cursor:pointer;font-size:18px;height:42px;margin-left:auto;width:42px}.desktop-only{display:flex}.mobile-only{display:none}.drawer-nav{grid-gap:14px;display:grid;gap:14px;margin-bottom:28px}.drawer-nav a{color:#1a2e24;color:var(--text);font-size:17px;font-weight:600}.drawer-auth{grid-gap:12px;display:grid;gap:12px}.site-main{background:#0000;flex:1 1}.terrain-route-loading{align-items:center;background:#d6ddcf;color:#365345;display:flex;flex:1 1;font-size:14px;font-weight:650;gap:10px;justify-content:center;min-height:0}.terrain-route-loading span{animation:mapRouteSpin .8s linear infinite;border:2px solid #2d6a4f38;border-radius:50%;border-top:2px solid var(--moss);height:16px;width:16px}@keyframes mapRouteSpin{to{transform:rotate(1turn)}}.home-hero{background:#fff;color:#1a2e24;color:var(--text);display:grid;min-height:min(82vh,760px);overflow:hidden;padding:clamp(36px,6vw,72px) clamp(18px,5vw,72px) clamp(40px,6vw,72px);place-items:center;position:relative}.home-hero:before{background:radial-gradient(ellipse at 20% 100%,#2d6a4f24 0,#0000 55%),radial-gradient(ellipse at 60% 100%,#3d8b661f 0,#0000 50%),radial-gradient(ellipse at 90% 100%,#e8f5eee6 0,#0000 45%);-webkit-clip-path:polygon(0 42%,12% 28%,24% 48%,38% 18%,52% 40%,66% 12%,78% 36%,90% 22%,100% 34%,100% 100%,0 100%);clip-path:polygon(0 42%,12% 28%,24% 48%,38% 18%,52% 40%,66% 12%,78% 36%,90% 22%,100% 34%,100% 100%,0 100%);height:48%;inset:auto -8% -12% -8%}.home-hero:after,.home-hero:before{content:"";pointer-events:none;position:absolute}.home-hero:after{animation:gridDrift 28s linear infinite;background-image:linear-gradient(#2d6a4f0a 1px,#0000 0),linear-gradient(90deg,#2d6a4f0a 1px,#0000 0);background-size:48px 48px;inset:0;-webkit-mask-image:linear-gradient(180deg,#000,#0000 72%);mask-image:linear-gradient(180deg,#000,#0000 72%)}@keyframes gridDrift{0%{transform:translateY(0)}to{transform:translateY(48px)}}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.35)}}.hero-shell{grid-gap:clamp(20px,4vw,48px);align-items:center;display:grid;gap:clamp(20px,4vw,48px);grid-template-columns:minmax(0,.92fr) minmax(280px,1.08fr);position:relative;width:min(1240px,100%);z-index:2}.hero-content{animation:riseIn .8s ease both;max-width:520px}.hero-stage{animation:riseIn .9s ease .12s both;min-height:clamp(360px,48vw,560px);position:relative}.hero-stage .ios-float{width:min(100%,360px)}.hero-stage .mock-hero{gap:12px;min-height:clamp(360px,48vw,560px);padding-bottom:8px}.hero-stage .ios-float.layer-a,.hero-stage .ios-float.layer-b,.hero-stage .ios-float.layer-c,.hero-stage .ios-float.layer-d{transition:transform .4s ease}.hero-stage:hover .ios-float.layer-a{transform:rotate(-.4deg) translateX(-1%)}.hero-stage:hover .ios-float.layer-b{transform:rotate(.5deg) translateX(1%)}.hero-stage:hover .ios-float.layer-c{transform:rotate(-.2deg) translateX(2%)}.hero-stage:hover .ios-float.layer-d{transform:rotate(.4deg) translateX(-.5%)}.brand-hero{color:#1a2e24;color:var(--ink);font:700 clamp(48px,9vw,96px)/.95 Fraunces,"Noto Serif SC",serif;font:700 clamp(48px,9vw,96px)/.95 var(--font-display);letter-spacing:-.03em;margin:0 0 18px}.hero-line{color:#2d6a4f;color:var(--moss);font:500 clamp(20px,3vw,30px)/1.4 Fraunces,"Noto Serif SC",serif;font:500 clamp(20px,3vw,30px)/1.4 var(--font-display);margin:0 0 28px;max-width:36ch}.hero-lead{color:#667a70;color:var(--muted);font-size:16px;line-height:1.7;margin:0 0 28px;max-width:42ch}.hero-cta{display:flex;flex-wrap:wrap;gap:12px}.btn-ghost,.btn-trail{align-items:center;border-radius:999px;display:inline-flex;font-size:15px;font-weight:700;gap:8px;justify-content:center;min-height:48px;padding:0 22px;transition:transform .2s,background .2s,border-color .2s}.btn-trail{background:#2d6a4f;background:var(--moss);color:#fff}.btn-trail:hover{background:#245c43;transform:translateY(-2px)}.btn-ghost{background:#fff;border:1px solid #e4ebe6;border:1px solid var(--line);color:#1a2e24;color:var(--ink)}.btn-ghost:hover{border-color:#2d6a4f;border-color:var(--moss);color:#2d6a4f;color:var(--moss)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:translateY(0)}.entry-section{padding-bottom:24px}.entry-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.entry-tile a{grid-gap:8px;background:#fff;border:1px solid #e4ebe6;border:1px solid var(--line);display:grid;gap:8px;padding:28px 24px;transition:transform .25s,border-color .25s,box-shadow .25s}.entry-tile a:hover{border-color:#2d6a4f;border-color:var(--moss);box-shadow:0 16px 36px #1a2e240f;transform:translateY(-3px)}.entry-tile .anticon{color:#2d6a4f;color:var(--moss);font-size:22px}.entry-tile strong{color:#1a2e24;color:var(--ink);font:700 20px Fraunces,"Noto Serif SC",serif;font:700 20px var(--font-display)}.entry-tile span{color:#667a70;color:var(--muted);font-size:14px}.download-section{padding-bottom:28px;padding-top:12px}.download-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.download-card a{align-items:center;background:#fff;border:1px solid #e4ebe6;border:1px solid var(--line);display:flex;gap:14px;padding:22px 20px;transition:transform .25s,border-color .25s,box-shadow .25s}.download-card a:hover{border-color:#2d6a4f;border-color:var(--moss);box-shadow:0 16px 36px #1a2e240f;transform:translateY(-3px)}.download-icon{background:#e8f5ee;background:var(--trail-soft);border-radius:14px;color:#2d6a4f;color:var(--moss);display:grid;flex-shrink:0;font-size:22px;height:48px;place-items:center;width:48px}.download-card div{flex:1 1;min-width:0}.download-card strong{color:#1a2e24;color:var(--ink);display:block;font:700 18px Fraunces,"Noto Serif SC",serif;font:700 18px var(--font-display)}.download-card span{color:#667a70;color:var(--muted);display:block;font-size:13px;margin-top:4px}.download-card em{color:#2d6a4f;color:var(--moss);font-size:13px;font-style:normal;font-weight:650;white-space:nowrap}.download-page{background:#fff;background:var(--paper)}.download-band .download-band-row{align-items:center;display:flex;gap:20px}.download-band-icon{border-radius:18px;box-shadow:0 10px 24px #1a2e241f;flex-shrink:0;height:72px;object-fit:cover;width:72px}.download-platforms{padding-bottom:72px;padding-top:28px}.download-platform-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.download-platform-card a,.download-platform-card button{grid-gap:16px;align-items:center;background:#fff;border:1px solid #e4ebe6;border:1px solid var(--line);color:inherit;cursor:pointer;display:grid;font:inherit;gap:16px;grid-template-columns:auto 1fr auto;min-height:132px;padding:24px 22px;text-align:left;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;width:100%}.download-platform-card a:hover,.download-platform-card button:hover:not(:disabled){border-color:#2d6a4f;border-color:var(--moss);box-shadow:0 18px 40px #1a2e2414;transform:translateY(-4px)}.download-platform-card button:disabled{cursor:wait;opacity:.72}.download-platform-icon{background:#e8f5ee;background:var(--trail-soft);border-radius:16px;color:#2d6a4f;color:var(--moss);display:grid;font-size:24px;height:56px;place-items:center;width:56px}.download-platform-card.tone-ios .download-platform-icon{background:#edf3ef;color:#1f4a36}.download-platform-card.tone-android .download-platform-icon{background:#eef6ea;color:#3d6b2f}.download-platform-card.tone-harmony .download-platform-icon{background:#eef2f8;color:#2f4a6b}.download-platform-meta strong{color:#1a2e24;color:var(--ink);display:block;font:700 22px Fraunces,"Noto Serif SC",serif;font:700 22px var(--font-display)}.download-platform-meta span{color:#667a70;color:var(--muted);display:block;font-size:13px;margin-top:4px}.download-platform-meta p{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1a2e24;color:var(--text);display:-webkit-box;font-size:13px;line-height:1.55;margin:10px 0 0;overflow:hidden}.download-platform-card em{align-items:center;color:#2d6a4f;color:var(--moss);display:inline-flex;font-size:13px;font-style:normal;font-weight:700;gap:6px;white-space:nowrap}@media (max-width:860px){.download-band .download-band-row{align-items:flex-start}.download-band-icon{border-radius:14px;height:56px;width:56px}}.feature-showcase{padding-bottom:clamp(40px,6vw,80px)}.feature-intro{margin:0 auto 20px;max-width:640px;padding-bottom:12px}.feature-block{grid-gap:clamp(28px,5vw,64px);align-items:center;display:grid;gap:clamp(28px,5vw,64px);grid-template-columns:1fr 1fr;padding:clamp(40px,7vw,88px) clamp(18px,5vw,72px)}.feature-block.reverse{direction:rtl}.feature-block.reverse>*{direction:ltr}.feature-copy h2{color:#1a2e24;color:var(--ink);font:700 clamp(28px,3.6vw,42px)/1.15 Fraunces,"Noto Serif SC",serif;font:700 clamp(28px,3.6vw,42px)/1.15 var(--font-display);margin:0 0 14px}.feature-copy>p{color:#667a70;color:var(--muted);line-height:1.75;margin:0 0 18px;max-width:46ch}.feature-points{grid-gap:10px;display:grid;gap:10px;list-style:none;margin:0;padding:0}.feature-points li{color:#1a2e24;color:var(--text);font-size:14px;font-weight:500;padding-left:18px;position:relative}.feature-points li:before{background:#2d6a4f;background:var(--moss);border-radius:50%;content:"";height:7px;left:0;position:absolute;top:.55em;width:7px}.ios-stage{display:flex;flex-direction:column;gap:14px;min-height:320px;padding:8px 4px 20px;position:relative}.ios-float{transition:transform .35s ease;width:min(100%,340px)}.ios-float.layer-a{align-self:flex-start;transform:rotate(-1.4deg) translateX(-2%);z-index:4}.ios-float.layer-b{align-self:flex-end;margin-top:-6px;transform:rotate(1.6deg) translateX(2%);z-index:3}.ios-float.layer-c{align-self:flex-start;margin-top:-4px;transform:rotate(-.9deg) translateX(4%);z-index:2}.ios-float.layer-d{align-self:flex-end;transform:rotate(1.1deg) translateX(-1%);z-index:1}.ios-float.layer-e{align-self:flex-start;margin-top:-4px;transform:rotate(-1.2deg) translateX(1%);z-index:2}.ios-float.layer-f{align-self:flex-end;margin-top:-6px;transform:rotate(.8deg) translateX(3%);z-index:1}.ios-float.layer-g{align-self:flex-start;margin-top:-4px;transform:rotate(-.6deg) translateX(-1%);z-index:1}.feature-visual:hover .ios-float.layer-a{transform:rotate(-.4deg) translateX(-1%)}.feature-visual:hover .ios-float.layer-b{transform:rotate(.5deg) translateX(1%)}.feature-visual:hover .ios-float.layer-c{transform:rotate(-.2deg) translateX(2%)}.feature-visual:hover .ios-float.layer-e{transform:rotate(-.5deg) translateX(1.5%)}.feature-visual:hover .ios-float.layer-f{transform:rotate(.3deg) translateX(-1%)}.feature-visual:hover .ios-float.layer-g{transform:rotate(-.3deg) translateX(.5%)}.ios-card{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#ffffffdb;border:1px solid #ffffffb3;border-radius:16px;box-shadow:0 14px 36px #1a2e241a;padding:12px 14px}.ios-section-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px;padding:0 2px}.ios-section-head.in-card{margin-bottom:10px}.ios-section-head strong{color:#1c1c1e;font:650 14px Outfit,Noto Sans SC,system-ui,sans-serif;font:650 14px var(--font-body)}.ios-section-head span{color:#3a3a3c;font-size:12px;font-weight:500}.ios-home-header{align-items:center;background:linear-gradient(135deg,#3d6b54,#2a4a3a 60%,#1e382c);border-radius:18px;box-shadow:0 14px 36px #1a2e2429;color:#fff;display:flex;gap:12px;padding:14px 16px}.ios-home-header.dark{color:#fff}.ios-avatar{background:#0000;border:0;border-radius:0;display:block;flex-shrink:0;height:72px;max-width:64px;object-fit:contain;width:auto}.ios-avatar.sm{height:44px;max-width:36px}.ios-avatar.xl{border-radius:0;box-shadow:none;height:160px;margin:0 auto 14px;max-width:120px;width:auto}.ios-home-title{flex:1 1;min-width:0}.ios-home-title strong{display:block;font:700 16px/1.2 Outfit,Noto Sans SC,system-ui,sans-serif;font:700 16px/1.2 var(--font-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ios-home-title span{display:block;font-size:12px;margin-top:3px;opacity:.85}.ios-home-days{align-items:baseline;display:flex;gap:2px;padding-right:4px}.ios-home-days em{font:800 28px/1 Outfit,Noto Sans SC,system-ui,sans-serif;font:800 28px/1 var(--font-body);font-style:normal}.ios-home-days small{font-size:13px;font-weight:600;opacity:.85;position:relative;top:-3px}.ios-stats-card{align-items:center;border-radius:18px;display:flex;padding:14px 10px}.ios-stats-card>div{flex:1 1;text-align:center}.ios-stats-card strong{color:#1c1c1e;display:block;font:650 20px Outfit,Noto Sans SC,system-ui,sans-serif;font:650 20px var(--font-body)}.ios-stats-card span{color:#8e8e93;display:block;font-size:11px;margin-top:4px}.ios-stats-card>i{background:#0000001f;flex-shrink:0;height:36px;width:1px}.ios-calendar-card{padding:12px 14px}.ios-cal-months{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(12,1fr);margin-bottom:6px}.ios-cal-months span{color:#8e8e93;font-size:10px;text-align:left}.ios-cal-grid{grid-gap:2.5px;display:grid;gap:2.5px;grid-auto-columns:1fr;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);height:52px}.ios-cal-grid i{background:#0000001f;border-radius:50%;display:block;flex-shrink:0;height:5px;margin:auto;width:5px}.ios-cal-grid i.on{background:#34c759}.ios-badge-wall{grid-gap:12px 8px;display:grid;gap:12px 8px;grid-template-columns:repeat(3,1fr);padding:14px 10px}.ios-badge-wall>.ios-section-head{grid-column:1/-1}.ios-badge-cell{grid-gap:6px;display:grid;gap:6px;place-items:center;text-align:center}.ios-badge-orb{background:#ffffffb3;border:1px solid #ffffff8c;border-radius:50%;display:grid;height:56px;overflow:hidden;place-items:center;width:56px}.ios-badge-orb img{display:block;height:48px;object-fit:contain;width:48px}.ios-badge-cell small{color:#1c1c1e;font-size:10px}.ios-badge-cell.locked .ios-badge-orb{filter:grayscale(1);opacity:.4}.ios-badge-cell.locked small{color:#8e8e93}.ios-plan-toolbar-card{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.ios-capsule{background:#f5f8f6f2;border:0;color:#1c1c1e;cursor:default;flex:1 1;font-size:13px;max-width:none;min-width:0;overflow:hidden;padding:6px 10px;text-overflow:ellipsis;white-space:nowrap}.ios-capsule,.ios-status-pill{border-radius:999px;font-weight:650}.ios-status-pill{font-size:11px;padding:4px 8px}.ios-status-pill.soon{background:#fff3cd;color:#9a6b00}.ios-status-pill.live{background:#d1f2df;color:#1a7f37}.ios-plan-stats{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.ios-plan-stats-left{display:flex;gap:22px;padding-left:6px}.ios-plan-stats-left strong{display:block;font:700 18px Outfit,Noto Sans SC,system-ui,sans-serif;font:700 18px var(--font-body)}.ios-plan-dates span,.ios-plan-stats-left span{color:#8e8e93;font-size:11px}.ios-plan-dates{grid-gap:6px;color:#1c1c1e;display:grid;font-size:13px;gap:6px;text-align:right}.ios-schedule-totals{display:flex;justify-content:space-around;margin-bottom:10px;text-align:center}.ios-schedule-totals strong{display:block;font:700 16px Outfit,Noto Sans SC,system-ui,sans-serif;font:700 16px var(--font-body)}.ios-schedule-totals span{color:#8e8e93;font-size:11px}.ios-schedule-divider{background:#0000001a;height:1px;margin:0 0 12px}.ios-schedule-row{align-items:center;display:flex;gap:12px;margin-bottom:10px}.ios-schedule-row:last-child{margin-bottom:0}.ios-timeline{align-self:stretch;display:grid;place-items:center;position:relative;width:28px}.ios-timeline em{background:#007aff;border-radius:50%;color:#fff;font:700 11px/26px Outfit,Noto Sans SC,system-ui,sans-serif;font:700 11px/26px var(--font-body);font-style:normal;height:26px;text-align:center;width:26px;z-index:1}.ios-timeline .dash{border-left:1.5px dashed #8e8e93b3;left:50%;position:absolute;transform:translateX(-50%);width:0}.ios-timeline .dash.top{height:calc(50% - 14px);top:0}.ios-timeline .dash.bot{bottom:0;height:calc(50% - 14px)}.ios-schedule-places{grid-gap:2px;display:grid;font-size:12px;gap:2px;width:86px}.ios-schedule-places strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ios-schedule-places span{color:#8e8e93;font-size:10px}.ios-schedule-metrics{border-left:1px solid #0000001a;display:flex;flex:1 1;justify-content:space-around;padding-left:8px;text-align:center}.ios-schedule-metrics b{display:block;font-size:12px;font-weight:600}.ios-schedule-metrics small{color:#8e8e93;font-size:10px}.ios-equip-summary-head{display:flex;justify-content:space-around;margin-bottom:8px;text-align:center}.ios-equip-summary-head strong{display:block;font:700 16px Outfit,Noto Sans SC,system-ui,sans-serif;font:700 16px var(--font-body)}.ios-equip-summary-head span{color:#8e8e93;font-size:11px}.ios-map-preview{overflow:hidden;padding:0}.ios-map-canvas{background:radial-gradient(circle at 28% 42%,#508c6459,#0000 35%),linear-gradient(160deg,#c8ddd0,#9bb8a8 45%,#7fa08f);min-height:180px}.ios-map-canvas,.ios-map-canvas.relative{position:relative}.ios-map-canvas .peak{color:#1a2e24;font-size:11px;font-weight:700;left:16%;position:absolute;text-shadow:0 1px 2px #fffc;top:28%}.ios-map-canvas .peak.p2{left:58%;top:46%}.ios-map-canvas .route-svg{height:66%;inset:16% 8% 18%;position:absolute;width:84%}.ios-user-dot{background:#007aff;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 6px #007aff40;height:14px;left:46%;position:absolute;top:58%;width:14px}.ios-map-tools-card{background:#ffffffe0;border:1px solid #ffffffb3;border-radius:16px;box-shadow:0 14px 36px #1a2e241a;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:12px 14px}.ios-map-tools-card.bottom-actions{gap:16px}.ios-map-btn{text-align:center;width:48px}.ios-map-btn i{background:#f5f8f6f2;border:1px solid #0000000f;border-radius:50%;display:block;height:40px;margin:0 auto 3px;width:40px}.ios-map-btn span{color:#ff9500;font-size:10px;font-weight:650}.ios-map-btn.red i{box-shadow:inset 0 0 0 2px #ff3b30}.ios-map-btn.orange i{box-shadow:inset 0 0 0 2px #ff9500}.ios-month-stat{align-items:center;display:flex;gap:10px;padding:10px 14px}.ios-month-stat em{color:#1c1c1e;font:700 20px Outfit,Noto Sans SC,system-ui,sans-serif;font:700 20px var(--font-body);font-style:normal;width:44px}.ios-month-stat em span{color:#8e8e93;font-size:11px;font-weight:500;margin-left:1px}.ios-month-metrics{color:#3a3a3c;display:flex;flex-wrap:wrap;font-size:12px;font-weight:500;gap:8px 12px}.ios-track-list-card{padding:6px 12px}.ios-track-row{align-items:center;border-bottom:1px solid #0000000f;display:flex;gap:10px;padding:8px 0}.ios-track-row:last-child{border-bottom:0}.ios-track-thumb{background:#e5e5ea;border-radius:8px;display:grid;flex-shrink:0;height:50px;place-items:center;width:50px}.ios-track-thumb svg{height:36px;width:36px}.ios-track-meta{flex:1 1;min-width:0}.ios-track-meta strong{display:block;font-size:14px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ios-track-meta span,.ios-track-right span{color:#8e8e93;font-size:11px}.ios-track-right{grid-gap:3px;display:grid;gap:3px;text-align:right}.ios-elev-mini{padding:10px 12px}.ios-elev-mini svg{height:48px;margin-bottom:8px;width:100%}.ios-track-stats-row{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(3,1fr);text-align:center}.ios-track-stats-row strong{display:block;font:700 13px Outfit,Noto Sans SC,system-ui,sans-serif;font:700 13px var(--font-body)}.ios-track-stats-row span{color:#8e8e93;font-size:10px}.ios-stats-card.gear strong{font-size:15px}.ios-cat-title{display:block;font:700 14px Outfit,Noto Sans SC,system-ui,sans-serif;font:700 14px var(--font-body);margin-bottom:8px}.ios-gear-table-head,.ios-gear-table-row,.ios-pack-table-head,.ios-pack-table-row{grid-gap:4px;align-items:center;display:grid;font-size:11px;gap:4px;grid-template-columns:1.4fr .5fr .7fr .8fr .8fr}.ios-pack-table-head,.ios-pack-table-row{grid-template-columns:.45fr 1.2fr .5fr .7fr .7fr}.ios-gear-table-head,.ios-pack-table-head{border-bottom:1px solid #00000014;color:#8e8e93;margin-bottom:6px;padding-bottom:6px}.ios-gear-table-row,.ios-pack-table-row{border-bottom:1px solid #0000000d;color:#1c1c1e;font-size:12px;padding:6px 0}.ios-gear-table-head span:nth-child(2),.ios-gear-table-head span:nth-child(3),.ios-gear-table-head span:nth-child(4),.ios-gear-table-head span:nth-child(5),.ios-gear-table-row span:nth-child(2),.ios-gear-table-row span:nth-child(3),.ios-gear-table-row span:nth-child(4),.ios-gear-table-row span:nth-child(5),.ios-pack-table-head span:nth-child(3),.ios-pack-table-head span:nth-child(4),.ios-pack-table-head span:nth-child(5),.ios-pack-table-row span:nth-child(3),.ios-pack-table-row span:nth-child(4),.ios-pack-table-row span:nth-child(5){text-align:right}.ios-quick-row{align-items:center;background:#ffffffe0;border:1px solid #ffffffb3;border-radius:16px;box-shadow:0 10px 28px #1a2e2414;display:flex;gap:12px;padding:12px 14px;width:min(100%,340px)}.ios-quick-icon{border-radius:12px;flex-shrink:0;height:44px;width:44px}.ios-quick-icon.pink{background:linear-gradient(145deg,#ff6b9d,#ff2d55)}.ios-quick-icon.indigo{background:linear-gradient(145deg,#7b61ff,#5856d6)}.ios-quick-icon.red{background:linear-gradient(145deg,#ff6961,#ff3b30)}.ios-quick-icon.green{background:linear-gradient(145deg,#63d471,#34c759)}.ios-quick-icon.orange{background:linear-gradient(145deg,#ffb340,#ff9500)}.ios-quick-icon.brown{background:linear-gradient(145deg,#c4a484,#a2845e)}.ios-quick-row>div{flex:1 1;min-width:0}.ios-quick-row strong{align-items:center;color:#1c1c1e;display:flex;font-size:14px;font-weight:650;gap:6px}.ios-quick-row strong em{border-radius:999px;color:#fff;font-size:10px;font-style:normal;font-weight:700;padding:1px 6px}.ios-quick-row strong em.free{background:#34c759}.ios-quick-row strong em.vip{background:#ff9500}.ios-quick-row span{color:#8e8e93;display:block;font-size:11px;margin-top:2px}.ios-chevron{border-right:1.5px solid #c7c7cc;border-top:1.5px solid #c7c7cc;flex-shrink:0;height:7px;transform:rotate(45deg);width:7px}.ios-profile-hero-card{background:#ffffffdb;border:1px solid #ffffffb3;border-radius:20px;box-shadow:0 14px 36px #1a2e241a;padding:20px 16px;text-align:center}.ios-slogan-pill{align-items:center;background:#e8f5eef2;border:1px solid #2d6a4f1f;border-radius:999px;color:#2d6a4f;color:var(--moss);display:inline-flex;font-size:11px;font-weight:500;gap:8px;padding:7px 12px}.ios-slogan-pill img{border-radius:4px;height:18px;object-fit:contain;width:18px}.ios-menu-card{border-radius:18px;overflow:hidden;padding:0}.ios-menu-row{align-items:center;border-bottom:1px solid #0000000f;display:flex;gap:12px;padding:13px 14px}.ios-menu-row:last-child{border-bottom:0}.ios-menu-icon{background:#007aff;border-radius:6px;flex-shrink:0;height:22px;width:22px}.ios-menu-row strong{flex:1 1;font-size:14px;font-weight:500}.ios-person-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:4px}.ios-person-row img{background:#0000;border-radius:0;box-shadow:none;height:88px;max-width:64px;object-fit:contain;width:auto}.ios-watch-grid-card{grid-gap:10px;align-self:center!important;background:#1c1c1e;border-radius:22px;box-shadow:0 18px 40px #00000038;display:grid;gap:10px;grid-template-columns:1fr 1fr;padding:14px;transform:rotate(-1deg)!important;width:min(100%,280px)}.ios-watch-tile{grid-gap:4px;background:#ffffff1f;border-radius:18px;color:#fff;display:grid;gap:4px;height:72px;place-items:center}.ios-watch-tile i{border:2px solid;border-radius:50%;height:18px;width:18px}.ios-watch-tile span{font-size:11px;font-weight:600}.ios-watch-tile.blue{color:#64d2ff}.ios-watch-tile.green{color:#30d158}.ios-watch-tile.red{color:#ff453a}.ios-watch-tile.purple{color:#bf5af2}.ios-watch-tile.orange{color:#ff9f0a;grid-column:1/-1;height:64px}@media (max-width:900px){.ios-float{width:100%}.ios-float.layer-a,.ios-float.layer-b,.ios-float.layer-c,.ios-float.layer-d,.ios-float.layer-e,.ios-float.layer-f,.ios-float.layer-g{align-self:stretch;margin-top:0;transform:none}}.home-closing{padding-top:12px}.closing-panel{background:#fff;border:1px solid #e4ebe6;border:1px solid var(--line);padding:clamp(36px,6vw,64px);text-align:center}.closing-panel h2{font:700 clamp(28px,4vw,44px)/1.15 Fraunces,"Noto Serif SC",serif;font:700 clamp(28px,4vw,44px)/1.15 var(--font-display);margin:0 0 12px}.closing-panel>p{color:#667a70;color:var(--muted);line-height:1.7;margin:0 auto 24px;max-width:42ch}.closing-panel .hero-cta{justify-content:center}.section{padding:clamp(56px,8vw,110px) clamp(18px,5vw,72px)}.section-head{margin-bottom:36px;max-width:640px}.eyebrow{color:#2d6a4f;color:var(--moss);font-size:11px;font-weight:700;letter-spacing:.18em;margin:0 0 10px;text-transform:uppercase}.page-title h1,.section-head h2{color:#1a2e24;color:var(--ink);font:700 clamp(30px,4vw,48px)/1.15 Fraunces,"Noto Serif SC",serif;font:700 clamp(30px,4vw,48px)/1.15 var(--font-display);margin:0 0 12px}.page-title p,.section-head p{color:#667a70;color:var(--muted);line-height:1.7;margin:0}.feature-strip{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}.feature-strip article{background:#fff;background:var(--surface);border:1px solid #e4ebe6;border:1px solid var(--line);padding:28px 24px}.feature-strip h3{font:650 22px Fraunces,"Noto Serif SC",serif;font:650 22px var(--font-display);margin:0 0 8px}.feature-strip p{color:#667a70;color:var(--muted);line-height:1.65;margin:0}.app-grid{grid-template-columns:repeat(3,1fr)}.app-card,.app-grid{grid-gap:18px;display:grid;gap:18px}.app-card{background:#fff;background:var(--surface);border:1px solid #e4ebe6;border:1px solid var(--line);overflow:hidden;padding:28px;position:relative;transition:transform .25s,box-shadow .25s}.app-card:hover{box-shadow:0 20px 40px #1a2e240f;transform:translateY(-4px)}.app-card .platform-icon{background:#e8f5ee;background:var(--trail-soft);border-radius:14px;color:#2d6a4f;color:var(--moss);display:grid;font-size:24px;height:52px;place-items:center;width:52px}.app-card span{color:#667a70;color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.app-card h3{font:700 24px Fraunces,"Noto Serif SC",serif;font:700 24px var(--font-display);margin:4px 0 0}.app-card p{color:#667a70;color:var(--muted);line-height:1.6;margin:0;min-height:3.2em}.app-card a{align-items:center;color:#2d6a4f;color:var(--moss);display:inline-flex;font-weight:700;gap:8px;width:-webkit-fit-content;width:fit-content}.app-card small{color:#8a9b91}.equipment-list,.track-list{margin-top:4px}.track-list{overflow-x:auto}.data-list{grid-gap:0;border-top:1px solid #1a2e24;border-top:1px solid var(--ink);display:grid;gap:0}.data-list-head,.data-row{grid-gap:14px 18px;align-items:center;display:grid;gap:14px 18px;grid-template-columns:72px minmax(160px,1.6fr) repeat(3,minmax(72px,.55fr)) minmax(64px,.45fr) minmax(120px,.7fr);padding:16px 4px}.track-list .data-list-head,.track-list .data-row{gap:12px 14px;grid-template-columns:80px minmax(140px,1.3fr) minmax(56px,.5fr) minmax(88px,.8fr) 88px repeat(5,minmax(56px,.5fr)) minmax(118px,.7fr);min-width:1040px}.track-list .col-time strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.02em}.data-list-head{color:#667a70;color:var(--muted);font-size:11px;font-weight:650;letter-spacing:.08em;padding:10px 4px 12px;text-transform:uppercase}.data-list-head,.data-row{border-bottom:1px solid #e4ebe6;border-bottom:1px solid var(--line)}.data-row{transition:background .2s ease,padding-left .2s ease}.data-row:hover{background:rgba(45,106,79,.045)}.col-preview{background:linear-gradient(145deg,#e8f5ee,#d5ebe0);border-radius:4px;display:grid;flex-shrink:0;height:64px;overflow:hidden;place-items:center;width:64px}.col-preview img{height:100%;object-fit:cover;width:100%}.track-list .col-preview{background:#edf3ef;height:52px;width:80px}.track-list .col-preview img{object-fit:contain;object-position:center}.preview-fallback{background:radial-gradient(circle at 30% 30%,#ffffff8c,#0000 55%),linear-gradient(145deg,#e8f5ee,#cfe6d8);color:#2d6a4f;color:var(--moss);display:grid;font-size:22px;height:100%;place-items:center;width:100%}.col-main{grid-gap:6px;display:grid;gap:6px;min-width:0}.row-title{color:#1a2e24;color:var(--ink);display:block;font:700 18px/1.25 Fraunces,"Noto Serif SC",serif;font:700 18px/1.25 var(--font-display);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-title:hover{color:#2d6a4f;color:var(--moss)}.row-sub{align-items:center;color:#667a70;color:var(--muted);display:flex;flex-wrap:wrap;font-size:13px;gap:8px 12px}.diff-chip{align-items:center;background:#fff;border:1px solid #e4ebe6;border:1px solid var(--line);color:#2d6a4f;color:var(--moss);display:inline-flex;font-size:11px;font-weight:650;padding:2px 8px}.col-meta,.col-stat,.col-text{min-width:0}.col-meta em,.col-stat em,.col-text em,.data-row .col-meta em,.data-row .col-stat em,.data-row .col-text em{display:none;font-style:normal}.col-meta strong,.col-stat strong,.col-text strong{color:#1a2e24;color:var(--ink);display:block;font:650 15px Fraunces,"Noto Serif SC",serif;font:650 15px var(--font-display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-text .diff-chip{vertical-align:middle}.track-list .col-region strong{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#667a70;color:var(--muted);display:-webkit-box;font:500 13px/1.35 Outfit,Noto Sans SC,system-ui,sans-serif;font:500 13px/1.35 var(--font-body);overflow:hidden;white-space:normal}.col-action{align-items:center;display:flex;gap:4px;justify-content:flex-end}.row-link{color:#2d6a4f;color:var(--moss);font-size:14px;font-weight:650;padding:0 8px}.row-link:hover{color:#3d8b66;color:var(--trail)}.col-action .ant-btn{font-weight:650;padding-inline:8px}.equipment-list .data-list-head,.equipment-list .data-row{grid-template-columns:72px minmax(160px,1.5fr) minmax(72px,.6fr) repeat(3,minmax(64px,.5fr)) minmax(140px,.9fr)}.equipment-list .equipment-credit{align-items:center;display:flex;gap:10px;margin:0}.equipment-list .equipment-credit strong{color:#1a2e24;color:var(--ink);display:block;font:650 13px Outfit,Noto Sans SC,system-ui,sans-serif;font:650 13px var(--font-body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equipment-list .equipment-credit time{color:#8a9b91;display:block;font-size:12px;margin:2px 0 0}.list-more{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:28px}.list-more .ant-pagination{margin:0}.page-band{background:linear-gradient(180deg,#fff,#fff);background:linear-gradient(180deg,#fff 0,var(--paper) 100%);border-bottom:1px solid #e4ebe6;border-bottom:1px solid var(--line);color:#1a2e24;color:var(--text);padding:42px clamp(18px,5vw,72px) 18px}.page-band-row{align-items:center;display:flex;gap:28px;justify-content:space-between}.page-band-row .page-title{flex:1 1;min-width:0}.page-title h1{color:#1a2e24;color:var(--ink)}.page-title p{color:#667a70;color:var(--muted)}.tracks-lucky-aside{grid-gap:4px;background:linear-gradient(160deg,#e8f5eee6,#fff 70%);border:1px solid #e4ebe6;border:1px solid var(--line);color:#1a2e24;color:var(--ink);display:grid;flex:0 0 auto;gap:4px;padding:14px 16px;transition:border-color .2s,transform .2s;width:min(220px,100%)}.tracks-lucky-aside:hover{border-color:#2d6a4f59;transform:translateY(-1px)}.tracks-lucky-aside strong{color:#2d6a4f;color:var(--moss);font:700 15px/1.25 Fraunces,"Noto Serif SC",serif;font:700 15px/1.25 var(--font-display)}.tracks-lucky-aside span{color:#667a70;color:var(--muted);font-size:12px;line-height:1.45}.tracks-lucky-aside em{color:#2d6a4f;color:var(--moss);font-size:12px;font-style:normal;font-weight:650;margin-top:4px}@media (max-width:640px){.page-band-row{align-items:stretch;flex-direction:column}.tracks-lucky-aside{width:100%}}.track-code-qr{grid-gap:6px;background:#fff;border:1px solid #e4ebe6;border:1px solid var(--line);display:grid;flex:0 0 auto;gap:6px;justify-items:center;padding:10px}.track-code-qr canvas,.track-code-qr svg{display:block}.track-code-qr span{color:#667a70;color:var(--muted);font:650 11px/1 ui-monospace,Consolas,monospace;letter-spacing:.04em}@media (max-width:640px){.track-code-qr{padding:8px}.track-code-qr svg{height:72px!important;width:72px!important}}.page-body{padding:28px clamp(18px,5vw,72px) 72px}.toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;margin-bottom:22px}.detail-shell{grid-gap:18px;align-items:stretch;display:grid;gap:18px;grid-template-columns:minmax(0,1.45fr) minmax(300px,380px);height:calc(100vh - 110px);max-height:calc(100vh - 110px);min-height:520px}.detail-visual{background:#e8f5ee;background:var(--trail-soft);border:1px solid #e4ebe6;border:1px solid var(--line);display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden}.detail-visual>img{height:100%;object-fit:cover;width:100%}.detail-visual .public-track-map,.detail-visual .public-track-map-empty{flex:1 1 auto;height:100%;min-height:0;width:100%}.detail-visual .public-track-map{position:relative}.detail-visual .public-track-map .track-map-canvas{aspect-ratio:auto!important;height:auto!important;inset:0;position:absolute;width:auto!important}.detail-visual .public-track-map.fallback{align-items:stretch;display:flex}.detail-visual .public-track-map.fallback img{aspect-ratio:auto;height:100%;object-fit:cover;width:100%}.detail-panel .elevation-profile{background:#0000;border-top:1px solid #e4ebe6;border-top:1px solid var(--line);margin:4px -8px -8px;padding:16px 8px 4px}.detail-panel .elevation-profile-head h2{font-size:18px}.detail-panel .elevation-profile-stats{font-size:12px;gap:10px 14px}.detail-panel .elevation-profile-empty{font-size:13px;padding:18px 10px}.elevation-profile{background:#fff;padding:18px 18px 14px}.elevation-profile-head{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:10px}.elevation-profile-head h2{color:#1a2e24;color:var(--ink);font:700 22px/1.2 Fraunces,"Noto Serif SC",serif;font:700 22px/1.2 var(--font-display);margin:4px 0 0}.elevation-profile-stats{color:#667a70;color:var(--muted);display:flex;flex-wrap:wrap;font-size:13px;gap:14px 18px}.elevation-profile-stats strong{color:#1a2e24;color:var(--ink);font-weight:700}.elevation-profile-canvas{position:relative;width:100%}.elevation-profile-canvas svg{display:block;height:auto;-webkit-user-select:none;user-select:none;width:100%}.elevation-profile-canvas svg.elev-interactive{cursor:crosshair;touch-action:none}.elev-grid{stroke:#1a2e2414;stroke-width:1}.elev-grid-v{stroke:#1a2e240d;stroke-width:1}.elev-axis{fill:#7f9187}.elev-axis,.elev-axis-label{font-family:Outfit,Noto Sans SC,system-ui,sans-serif;font-family:var(--font-body);font-size:11px}.elev-axis-label{fill:#9aa89f}.elev-area{fill:#2d6a4f24}.elev-line{stroke:#2d6a4f;stroke:var(--moss);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.elev-hit-area{fill:#0000}.elev-focus line{stroke:#2d6a4f73;stroke-width:1;stroke-dasharray:3 3}.elev-focus circle{fill:#fff;stroke:#2d6a4f;stroke:var(--moss);stroke-width:2.5}.elevation-profile-tip{background:#13241be0;border-radius:6px;color:#fff;font-size:12px;font-weight:650;padding:4px 8px;pointer-events:none;position:absolute;top:8px;transform:translateX(-50%);white-space:nowrap}.elevation-profile-empty{background:#fff;background:var(--paper);border:1px dashed #e4ebe6;border:1px dashed var(--line);color:#667a70;color:var(--muted);font-size:14px;line-height:1.6;padding:28px 12px;text-align:center}.public-track-map{background:#dce7df;position:relative}.public-track-map.fallback{position:relative}.public-track-map.fallback img{aspect-ratio:16/10;display:block;object-fit:cover;width:100%}.public-track-map-empty{aspect-ratio:16/10;color:#2d6a4f;display:grid;padding:24px;place-items:center;text-align:center}.public-track-map-banner{background:#14251dc7;border-radius:8px;bottom:12px;color:#fff;font-size:12px;left:12px;line-height:1.45;padding:8px 12px;position:absolute;right:12px;z-index:2}.public-track-map .track-map-canvas{background:#dce7df;cursor:grab;overflow:hidden;position:relative;touch-action:none;user-select:none;-webkit-user-select:none;width:100%}.public-track-map.plan-map{aspect-ratio:900/560;width:100%}.public-track-map.plan-map .track-map-canvas{aspect-ratio:auto;height:auto;inset:0;position:absolute;width:auto}.public-track-map .track-map-canvas.dragging{cursor:grabbing}.public-track-map .track-map-canvas>img{aspect-ratio:auto;height:256px;max-width:none;object-fit:fill;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:256px}.public-track-map .track-map-canvas>svg{height:100%;inset:0;overflow:visible;position:absolute;user-select:none;-webkit-user-select:none;width:100%;z-index:4}.public-track-map .track-map-canvas text{pointer-events:none;user-select:none;-webkit-user-select:none}.public-track-map .route-line,.public-track-map .route-shadow{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.public-track-map .route-shadow{stroke:#081c128f;stroke-width:9}.public-track-map .route-line{stroke:#f35c3d;stroke-width:4}.public-track-map .map-marker{cursor:pointer}.public-track-map .map-marker .pin-stem-shadow{stroke:#00000047;stroke-width:3;stroke-linecap:round;vector-effect:non-scaling-stroke}.public-track-map .map-marker .pin-disk-shadow{fill:#00000038}.public-track-map .map-marker .pin-stem{stroke:#e23b2f;stroke-width:2.5;stroke-linecap:round;vector-effect:non-scaling-stroke}.public-track-map .map-marker .pin-disk{fill:#e23b2f;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke}.public-track-map .map-marker .pin-index{fill:#fff;text-anchor:middle;dominant-baseline:central;font:800 11px PingFang SC,sans-serif;pointer-events:none}.public-track-map .map-marker .pin-label{stroke:#0a120ee0;stroke-width:4px;stroke-linejoin:round;fill:#fff;text-anchor:middle;font:700 12px PingFang SC,sans-serif;paint-order:stroke;pointer-events:none}.public-track-map .map-marker.plan-pin .pin-label{fill:#fff8e8;stroke:#08100ceb;stroke-width:4.5px}.public-track-map .track-native-marker .track-native-label{stroke:#00000080;stroke-width:3px;stroke-linejoin:round;fill:#e8f0ff;text-anchor:middle;font:600 11px PingFang SC,sans-serif;paint-order:stroke;pointer-events:none}.public-track-map .map-marker.selected .pin-stem{stroke:#ffb020}.public-track-map .map-marker.selected .pin-disk{fill:#ffb020}.public-track-map .map-marker.selected .pin-index{fill:#5c3200}.public-track-map .map-controls{box-shadow:0 5px 18px #172e212e;left:12px;position:absolute;top:12px;z-index:7}.public-track-map .map-hint{background:#00000073;border-radius:999px;bottom:8px;color:#fff;font-size:11px;left:12px;padding:3px 8px;pointer-events:none;position:absolute;z-index:7}.public-track-map .map-attribution{background:#ffffffd1;bottom:5px;color:#4b5d53;font-size:10px;padding:2px 5px;position:absolute;right:6px;z-index:7}.public-track-map .map-empty-hint{background:#edf3efeb;color:#3d5a4a;display:grid;font-size:14px;inset:0;padding:24px;place-items:center;position:absolute;text-align:center;z-index:6}.detail-panel{background:#fff;background:var(--surface);border:1px solid #e4ebe6;border:1px solid var(--line);display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden;padding:0}.detail-panel-scroll{grid-gap:18px;align-content:start;display:grid;flex:1 1 auto;gap:18px;min-height:0;overflow:auto;padding:24px}.detail-panel-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.detail-panel-head>div:first-child{flex:1 1;min-width:0}.detail-uploader{align-items:center;color:#1a2e24;color:var(--ink);display:inline-flex;font-size:14px;font-weight:650;gap:10px;margin-bottom:12px}.detail-uploader.is-anon{color:#667a70;color:var(--muted);font-weight:500}.detail-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px 12px}.detail-title-row h1{flex:1 1 auto;margin:0;min-width:0}.detail-title-row .status-pill{flex:0 0 auto}.detail-panel .detail-location{color:#667a70;color:var(--muted);font-size:14px;line-height:1.5;margin:8px 0 0}.detail-panel .detail-period{color:#667a70;color:var(--muted);font-size:13px;margin:4px 0 0}.detail-panel .track-code-qr{flex-shrink:0}.detail-panel h1{font:700 32px Fraunces,"Noto Serif SC",serif;font:700 32px var(--font-display);margin:0}.metric-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.metric-row div{background:#fff;background:var(--paper);border:1px solid #e4ebe6;border:1px solid var(--line);padding:14px}.metric-row span{color:#667a70;color:var(--muted);display:block;font-size:12px;margin-bottom:4px}.metric-row strong{font:700 22px Fraunces,"Noto Serif SC",serif;font:700 22px var(--font-display)}.auth-page{background:#fff;background:var(--paper);display:grid;grid-template-columns:1.05fr .95fr;min-height:calc(100vh - 72px)}.auth-story{background:radial-gradient(600px 320px at 20% 20%,#2d6a4f1a,#0000 60%),linear-gradient(160deg,#fff,#eef7f1);border-right:1px solid #e4ebe6;border-right:1px solid var(--line);color:#1a2e24;color:var(--text);overflow:hidden;padding:clamp(40px,7vw,80px);position:relative}.auth-story h1{color:#1a2e24;color:var(--ink);font:700 clamp(36px,5vw,64px)/1.1 Fraunces,"Noto Serif SC",serif;font:700 clamp(36px,5vw,64px)/1.1 var(--font-display);margin:48px 0 16px;position:relative;z-index:1}.auth-story p{color:#667a70;color:var(--muted);line-height:1.7;max-width:360px;position:relative;z-index:1}.auth-panel{background:#fff;display:grid;padding:32px 20px;place-items:center}.auth-card{background:#fff;border:1px solid #e4ebe6;border:1px solid var(--line);padding:36px 32px;width:min(420px,100%)}.auth-card h2{font:700 28px Fraunces,"Noto Serif SC",serif;font:700 28px var(--font-display);margin:0 0 6px}.auth-card .muted{margin:0 0 24px}.auth-card .muted,.auth-switch{color:#667a70;color:var(--muted)}.auth-switch{font-size:14px;margin-top:18px;text-align:center}.auth-switch a{color:#2d6a4f;color:var(--moss);font-weight:600}.profile-grid{grid-gap:22px;display:grid;gap:22px;grid-template-columns:.9fr 1.1fr}.panel-card,.profile-card{background:#fff;background:var(--surface);border:1px solid #e4ebe6;border:1px solid var(--line);padding:24px}.panel-card h2,.profile-card h2{font:700 22px Fraunces,"Noto Serif SC",serif;font:700 22px var(--font-display);margin:0 0 18px}.panel-card-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:18px}.panel-card-head h2{margin:0}.upload-track-preview{background:#edf3ef;border-radius:12px;margin-bottom:16px;padding:12px;text-align:center}.upload-track-preview img{background:#fff;border-radius:8px;height:auto;width:min(100%,360px)}.upload-track-preview .form-note{margin:8px 0 0}.avatar-row{align-items:center;display:flex;gap:16px;margin-bottom:20px}.my-track-list{grid-gap:12px;display:grid;gap:12px}.my-track-item{align-items:center;background:#fff;background:var(--paper);border:1px solid #e4ebe6;border:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;padding:14px}.my-track-thumb{background:#edf3ef;border-radius:7px;flex:0 0 auto;height:52px;object-fit:contain;width:88px}.my-track-item>div:not(.my-track-actions){flex:1 1;min-width:0}.my-track-item strong{display:block;font:650 16px Fraunces,"Noto Serif SC",serif;font:650 16px var(--font-display)}.my-track-item span{color:#667a70;color:var(--muted);font-size:13px}.my-track-actions{align-items:flex-end;display:flex;flex:0 0 auto;flex-direction:column;gap:8px}.my-track-visibility{align-items:center;color:#667a70;color:var(--muted);cursor:pointer;display:inline-flex;font-size:12px;gap:8px;-webkit-user-select:none;user-select:none}@media (max-width:720px){.my-track-item{align-items:flex-start;flex-wrap:wrap}.my-track-actions{align-items:center;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;width:100%}}.status-pill{background:#e8f5ee;background:var(--trail-soft);border-radius:999px;color:#2d6a4f;color:var(--moss);display:inline-flex;font-size:12px;font-weight:600;padding:3px 10px}.status-pill.pending{background:#fff4d8;color:#9a6b00}.status-pill.rejected{background:#fde8e8;color:#a12828}.status-pill.approved{background:#e4f7d6;color:#2f6b12}.status-pill.private{background:#eef1f4;color:#5a6570}.track-search{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;margin-bottom:22px}.track-search>.ant-input-search{flex:0 1 360px;max-width:100%;width:min(100%,360px)}.track-search>.ant-select{flex:0 0 auto;min-width:132px;width:148px}.track-search .ant-input-affix-wrapper-lg,.track-search .ant-input-lg,.track-search .ant-select-single.ant-select-lg{font-size:15px}.group-list{grid-gap:0;display:grid;gap:0}.group-list-row{align-items:center;border-bottom:1px solid #e4ebe6;border-bottom:1px solid var(--line);color:inherit;display:flex;gap:12px;padding:14px 0}.group-list-row:hover{color:inherit}.group-list-cover{background:#edf3ef;border-radius:8px;flex:0 0 auto;height:72px;object-fit:cover;width:72px}.group-list-cover.is-empty{background:#eee}.group-list-meta{flex:1 1;min-width:0}.group-list-meta>div{color:#666;font-size:13px;margin-top:4px}.group-list-sub{color:#888!important;font-size:12px!important}.form-note{color:#667a70;color:var(--muted);font-size:13px;margin:8px 0 0}.challenge-image-btn{background:#0000;border:0;border-radius:10px;cursor:pointer;display:inline-flex;line-height:0;padding:0}.challenge-image-btn:disabled{cursor:wait}.challenge-image-btn:hover:not(:disabled) .challenge-image{border-color:#2d6a4f;border-color:var(--moss)}.challenge-image{background:#f4f7f5;border:1px solid #e4ebe6;border:1px solid var(--line);border-radius:10px;display:block;height:64px;margin-bottom:0;transition:border-color .2s,opacity .2s;width:220px}.challenge-image.is-refreshing{opacity:.55}.legal-page article{background:#fff;border:1px solid #e4ebe6;border:1px solid var(--line);margin:40px auto 80px;min-height:55vh;padding:clamp(28px,5vw,56px);width:min(860px,calc(100% - 40px))}.legal-page h1{font:700 clamp(34px,5vw,52px)/1.15 Fraunces,"Noto Serif SC",serif;font:700 clamp(34px,5vw,52px)/1.15 var(--font-display);margin:10px 0}.legal-meta{border-bottom:1px solid #e4ebe6;border-bottom:1px solid var(--line);color:#667a70;color:var(--muted);margin-bottom:22px;padding-bottom:22px}.legal-content{color:#24362c;line-height:1.85;white-space:pre-wrap}.legal-empty{padding:60px 20px;text-align:center}.credits-page{overflow:hidden}.credits-hero{background:#fff;padding:clamp(56px,10vw,120px) clamp(18px,5vw,72px) clamp(40px,6vw,72px);position:relative}.credits-hero:before{animation:gridDrift 32s linear infinite;background-image:linear-gradient(#2d6a4f0d 1px,#0000 0),linear-gradient(90deg,#2d6a4f0d 1px,#0000 0);background-size:56px 56px;inset:0;-webkit-mask-image:linear-gradient(180deg,#000 10%,#0000 85%);mask-image:linear-gradient(180deg,#000 10%,#0000 85%)}.credits-hero:after,.credits-hero:before{content:"";pointer-events:none;position:absolute}.credits-hero:after{animation:creditsGlow 10s ease-in-out infinite alternate;background:radial-gradient(circle,#2d6a4f1f 0,#0000 68%);border-radius:50%;height:min(48vw,420px);right:-12%;top:8%;width:min(48vw,420px)}@keyframes creditsGlow{0%{opacity:.7;transform:translate(0) scale(1)}to{opacity:1;transform:translate(-4%,6%) scale(1.08)}}.credits-hero-inner{animation:riseIn .85s ease both;position:relative;width:min(920px,100%);z-index:1}.credits-brand{color:#1a2e24;color:var(--ink);font:700 clamp(56px,12vw,120px)/.9 Fraunces,"Noto Serif SC",serif;font:700 clamp(56px,12vw,120px)/.9 var(--font-display);letter-spacing:-.04em;margin:0 0 18px}.credits-lead{color:#2d6a4f;color:var(--moss);font:500 clamp(18px,2.4vw,24px)/1.5 Fraunces,"Noto Serif SC",serif;font:500 clamp(18px,2.4vw,24px)/1.5 var(--font-display);margin:0;max-width:38ch}.credits-section{margin:0 auto;padding:clamp(48px,7vw,88px) 0;width:min(920px,calc(100% - 40px))}.credits-section--resources{padding-top:12px}.credits-section-head{margin-bottom:36px;max-width:52ch}.credits-section-head h2{color:#1a2e24;color:var(--ink);font:700 clamp(28px,4vw,42px)/1.15 Fraunces,"Noto Serif SC",serif;font:700 clamp(28px,4vw,42px)/1.15 var(--font-display);margin:0 0 12px}.credits-section-head p{color:#667a70;color:var(--muted);line-height:1.7;margin:0}.font-specimen-list{grid-gap:0;display:grid;gap:0}.font-specimen{border-top:1px solid #e4ebe6;border-top:1px solid var(--line);padding:clamp(28px,4vw,40px) 0}.font-specimen:last-child{border-bottom:1px solid #e4ebe6;border-bottom:1px solid var(--line)}.font-specimen-meta{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;margin-bottom:22px}.font-specimen-meta>div:first-child{grid-gap:4px;display:grid;gap:4px}.font-specimen-name{color:#1a2e24;color:var(--ink);font:700 15px Outfit,Noto Sans SC,system-ui,sans-serif;font:700 15px var(--font-body);letter-spacing:.02em}.font-specimen-meta span{color:#667a70;color:var(--muted);font-size:13px}.font-specimen-tags{display:flex;flex-wrap:wrap;gap:8px}.font-specimen-tags a{align-items:center;border:1px solid #e4ebe6;border:1px solid var(--line);color:#667a70;color:var(--muted);display:inline-flex;font-size:12px;font-weight:600;min-height:30px;padding:0 12px;transition:border-color .2s,color .2s,background .2s}.font-specimen-tags a:hover{background:#e8f5ee;background:var(--trail-soft);border-color:#2d6a4f;border-color:var(--moss);color:#2d6a4f;color:var(--moss)}.font-specimen-sample{color:#1a2e24;color:var(--ink);font-size:clamp(28px,5vw,48px);letter-spacing:-.02em;line-height:1.25;margin:0 0 10px}.font-specimen-note{color:#667a70;color:var(--muted);font-size:15px;line-height:1.6;margin:0}.resource-list{border-top:1px solid #e4ebe6;border-top:1px solid var(--line);list-style:none;margin:0;padding:0}.resource-row{grid-gap:12px 18px;align-items:center;border-bottom:1px solid #e4ebe6;border-bottom:1px solid var(--line);display:grid;gap:12px 18px;grid-template-columns:88px minmax(0,1.1fr) minmax(0,1.4fr) auto;padding:18px 0}.resource-kind{color:#2d6a4f;color:var(--moss);font-size:11px;font-weight:700;justify-self:start;letter-spacing:.08em;text-transform:uppercase}.resource-name{color:#1a2e24;color:var(--ink);font:700 17px Fraunces,"Noto Serif SC",serif;font:700 17px var(--font-display);margin:0;transition:color .2s}a.resource-name:hover{color:#2d6a4f;color:var(--moss)}.resource-use{color:#667a70;color:var(--muted);font-size:14px}.resource-license{color:#7a8b82;font-size:12px;font-weight:650;justify-self:end;letter-spacing:.04em}a.resource-license:hover{color:#2d6a4f;color:var(--moss)}.credits-footnote{margin:0 auto 80px;padding-top:8px;width:min(920px,calc(100% - 40px))}.credits-footnote p{color:#667a70;color:var(--muted);font-size:14px;line-height:1.75;margin:0;max-width:48ch}.site-footer{background:#fff;border-top:1px solid #e4ebe6;border-top:1px solid var(--line);color:#667a70;color:var(--muted);margin-top:auto;padding:56px clamp(18px,5vw,72px) 28px}.footer-grid{grid-gap:28px;display:grid;gap:28px;grid-template-columns:1.4fr 1fr 1fr;margin-bottom:28px}.footer-grid .brand-mark{color:#1a2e24;color:var(--ink);margin-bottom:14px}.footer-grid p{color:#667a70;color:var(--muted);line-height:1.7;margin:0;max-width:340px}.footer-brand-filing{align-items:center;display:flex;flex-wrap:wrap;font-size:13px;gap:8px 16px;line-height:1.5;margin-top:2px;max-width:100%}.footer-brand-filing,.footer-brand-filing a{color:#667a70;color:var(--muted)}.footer-brand-filing a:hover{color:#2d6a4f;color:var(--moss)}.footer-brand-filing .police-filing{align-items:center;display:inline-flex;gap:6px;width:-webkit-fit-content;width:fit-content}.footer-brand-filing .police-filing img{flex-shrink:0;height:18px;width:16px}.footer-grid h4{color:#1a2e24;color:var(--ink);font:650 14px Outfit,Noto Sans SC,system-ui,sans-serif;font:650 14px var(--font-body);letter-spacing:.08em;margin:0 0 12px;text-transform:uppercase}.footer-links{align-items:center;display:flex;flex-wrap:wrap;gap:8px 18px}.footer-links a{color:#667a70;color:var(--muted);display:inline;margin:0;white-space:nowrap}.footer-links a:hover{color:#2d6a4f;color:var(--moss)}.footer-grid a{color:#667a70;color:var(--muted)}.footer-grid a:hover{color:#2d6a4f;color:var(--moss)}.filing{align-items:center;border-top:1px solid #e4ebe6;border-top:1px solid var(--line);color:#7a8b82;display:flex;flex-wrap:wrap;font-size:12px;gap:14px 18px;padding-top:18px}.filing .police-filing{align-items:center;display:inline-flex;gap:5px}.filing .police-filing img{flex-shrink:0;height:18px;width:16px}.live-dot{animation:pulseDot 2s ease infinite;background:#3d8b66;background:var(--trail);border-radius:50%;display:inline-block;height:8px;margin-right:8px;width:8px}.empty-block{background:#fff;border:1px solid #e4ebe6;border:1px solid var(--line);padding:60px 20px;text-align:center}@media (max-width:980px){.app-grid,.auth-page,.detail-shell,.entry-grid,.feature-block,.feature-strip,.footer-grid,.hero-shell,.profile-grid{grid-template-columns:1fr}.track-search>.ant-input-search,.track-search>.ant-select{flex:1 1 100%;width:100%}.detail-shell{height:auto;max-height:none;min-height:0}.detail-visual{height:min(52vh,420px);order:1}.detail-panel{height:auto;max-height:none;order:2}.detail-panel-scroll{overflow:visible}.resource-row{gap:8px 12px;grid-template-columns:72px minmax(0,1fr)}.resource-use{grid-column:2}.resource-license{grid-column:1/-1;justify-self:start}.feature-block.reverse{direction:ltr}.auth-story{display:none}.hero-stage{min-height:360px;order:-1}.hero-content{max-width:none}.hero-stage .mock-hero{min-height:0}.data-list-head{display:none}.data-list-head,.data-row,.equipment-list .data-list-head,.equipment-list .data-row,.track-list .data-list-head,.track-list .data-row{gap:12px 14px;grid-template-columns:64px minmax(0,1fr)}.track-list .data-list-head,.track-list .data-row{grid-template-columns:80px minmax(0,1fr)}.col-meta,.col-stat,.col-text{align-items:baseline;display:inline-flex;gap:8px;grid-column:2}.col-meta em,.col-stat em,.col-text em{color:#7f9187;display:inline;font-size:12px}.col-meta strong,.col-stat strong,.col-text strong{font-size:14px}.track-list .col-region strong{-webkit-line-clamp:unset;display:inline;white-space:normal}.col-action{border-top:1px dashed #e4ebe6;border-top:1px dashed var(--line);grid-column:1/-1;justify-content:flex-start;padding-top:4px}.equipment-list .col-meta.equipment-credit{display:flex}}@media (max-width:800px){.desktop-only{display:none!important}.mobile-only{display:grid}.home-hero{min-height:auto;padding-top:28px}.home-hero--has-carousel{height:100svh;margin-top:-72px;max-height:100svh;min-height:100svh;padding:0}.hero-stage{min-height:300px}.entry-grid{grid-template-columns:1fr 1fr}.header-mobile-tools{align-items:center;display:flex;gap:8px;margin-left:auto}}.hero-carousel{position:relative;width:min(1240px,100%);z-index:2}.hero-carousel-viewport{overflow:hidden;width:100%}.hero-carousel-track{display:flex;transition:transform .6s cubic-bezier(.22,.82,.24,1);width:100%;will-change:transform}.hero-carousel-slide{box-sizing:border-box;flex:0 0 100%;min-width:100%;width:100%}.hero-carousel-controls{flex-shrink:0;margin-top:0}.hero-carousel-controls,.hero-carousel-dots{align-items:center;display:flex;height:44px;justify-content:center}.hero-carousel-dots{gap:8px}.hero-carousel-dots button{background:#2d6a4f47;border:0;border-radius:999px;cursor:pointer;height:3px;padding:0;transition:width .28s ease,background .28s ease,opacity .28s ease;width:18px}.hero-carousel-dots button.active{background:#2d6a4f;background:var(--moss);width:28px}.home-hero--has-carousel{background:#fff;height:100svh;margin-top:-72px;max-height:100svh;min-height:100svh;padding:0}.home-hero--has-carousel:after,.home-hero--has-carousel:before{content:none;display:none}.home-hero--has-carousel .hero-carousel.has-track{display:flex;flex-direction:column;inset:0;max-width:none;position:absolute;width:100%;z-index:2}.home-hero--has-carousel .hero-carousel-viewport{flex:1 1;height:100%;min-height:0;overflow:hidden}.home-hero--has-carousel .hero-carousel-track{height:100%}.home-hero--has-carousel .hero-carousel-slide{flex:0 0 100%;height:100%;overflow:hidden;position:relative;width:100%}.home-hero--has-carousel .hero-carousel-slide--brand{background:#fff;box-sizing:border-box;display:grid;overflow:hidden;padding:calc(72px + clamp(20px, 4vw, 48px)) clamp(18px,5vw,72px) 64px;place-items:center}.home-hero--has-carousel .hero-carousel-slide--brand:before{background:radial-gradient(ellipse at 20% 100%,#2d6a4f24 0,#0000 55%),radial-gradient(ellipse at 60% 100%,#3d8b661f 0,#0000 50%),radial-gradient(ellipse at 90% 100%,#e8f5eee6 0,#0000 45%);-webkit-clip-path:polygon(0 42%,12% 28%,24% 48%,38% 18%,52% 40%,66% 12%,78% 36%,90% 22%,100% 34%,100% 100%,0 100%);clip-path:polygon(0 42%,12% 28%,24% 48%,38% 18%,52% 40%,66% 12%,78% 36%,90% 22%,100% 34%,100% 100%,0 100%);content:"";height:48%;inset:auto -8% -12% -8%;pointer-events:none;position:absolute;z-index:0}.home-hero--has-carousel .hero-carousel-slide--brand:after{animation:gridDrift 28s linear infinite;background-image:linear-gradient(#2d6a4f0a 1px,#0000 0),linear-gradient(90deg,#2d6a4f0a 1px,#0000 0);background-size:48px 48px;content:"";inset:0;-webkit-mask-image:linear-gradient(180deg,#000,#0000 72%);mask-image:linear-gradient(180deg,#000,#0000 72%);pointer-events:none;position:absolute;z-index:0}.home-hero--has-carousel .hero-carousel-slide--brand .hero-shell{align-items:center;max-height:100%;position:relative;width:min(1240px,100%);z-index:1}.home-hero--has-carousel .hero-carousel-slide--brand .hero-stage{max-height:min(520px,calc(100svh - 220px));min-height:0}.home-hero--has-carousel .hero-carousel-slide--brand .hero-stage .mock-hero{max-height:100%;min-height:0}.home-hero--has-carousel .hero-carousel-controls{bottom:0;height:56px;left:0;margin:0;padding-bottom:env(safe-area-inset-bottom,0);position:absolute;right:0;z-index:3}.site-root:has(.home-hero--banner) .site-header:not(.is-solid){-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(180deg,#0000006b,#0000001f 70%,#0000);border-bottom-color:#0000;box-shadow:none;color:#fff}.site-root:has(.home-hero--banner) .site-header:not(.is-solid) .account-chip,.site-root:has(.home-hero--banner) .site-header:not(.is-solid) .brand-mark,.site-root:has(.home-hero--banner) .site-header:not(.is-solid) .brand-mark strong,.site-root:has(.home-hero--banner) .site-header:not(.is-solid) .ghost-btn,.site-root:has(.home-hero--banner) .site-header:not(.is-solid) .ghost-link,.site-root:has(.home-hero--banner) .site-header:not(.is-solid) .menu-toggle,.site-root:has(.home-hero--banner) .site-header:not(.is-solid) .site-nav a{color:#fff!important}.site-root:has(.home-hero--banner) .site-header:not(.is-solid) .site-nav a.active,.site-root:has(.home-hero--banner) .site-header:not(.is-solid) .site-nav a:hover{color:#fff!important;opacity:.85}.site-root:has(.home-hero--banner) .site-header:not(.is-solid) .menu-toggle{background:#ffffff2e}.site-root:has(.home-hero--banner) .site-header.is-solid .menu-toggle{background:#e8f5ee;background:var(--trail-soft);color:#2d6a4f!important;color:var(--moss)!important}.home-hero--banner:after,.home-hero--banner:before{opacity:0;transition:opacity .45s ease}.hero-carousel-slide--banner .hero-banner-frame{background:#0000;border:0;box-shadow:none;display:block;height:100%;inset:0;overflow:hidden;position:absolute;width:100%}.hero-carousel-slide--banner .hero-banner-frame img{background:#111;display:block;height:100%;max-height:none;object-fit:cover;object-position:center;transform:scale(1.06);transition:transform .85s cubic-bezier(.22,.82,.24,1);width:100%}.hero-carousel-slide--banner.is-active .hero-banner-frame img{transform:scale(1)}.hero-banner-caption{bottom:auto;color:#fff;font:700 clamp(28px,5.2vw,56px)/1.15 Fraunces,"Noto Serif SC",serif;font:700 clamp(28px,5.2vw,56px)/1.15 var(--font-display);left:clamp(18px,4vw,48px);opacity:0;pointer-events:none;position:absolute;right:clamp(18px,4vw,48px);text-align:center;text-shadow:0 2px 18px #00000080;top:50%;transform:translateY(-40%)}.hero-banner-caption.is-show{animation:heroCaptionIn .55s ease .12s both}@keyframes heroCaptionIn{0%{opacity:0;transform:translateY(-35%)}to{opacity:1;transform:translateY(-50%)}}.hero-carousel.is-banner .hero-carousel-dots button{background:#ffffff73}.hero-carousel.is-banner .hero-carousel-dots button.active{background:#fff}.home-hero--banner .hero-carousel-controls:before{animation:bannerScrollHint 2.2s ease-in-out infinite;bottom:calc(100% + 8px);color:#ffffffc7;content:"下滑查看更多";font-size:12px;font-weight:500;left:50%;letter-spacing:.06em;pointer-events:none;position:absolute;text-shadow:0 1px 8px #00000059;transform:translateX(-50%);white-space:nowrap}@keyframes bannerScrollHint{0%,to{opacity:.55;transform:translateX(-50%) translateY(0)}50%{opacity:1;transform:translateX(-50%) translateY(4px)}}@media (max-width:980px){.home-hero--has-carousel .hero-carousel-slide--brand .hero-shell{gap:16px}.home-hero--has-carousel .hero-carousel-slide--brand .hero-stage{max-height:min(340px,calc(100svh - 280px))}.home-hero--has-carousel .hero-carousel-slide--brand .brand-hero{font-size:clamp(40px,12vw,64px)}.home-hero--has-carousel .hero-carousel-slide--brand .hero-line{font-size:clamp(16px,4.2vw,22px);margin-bottom:18px}}.home-announcements .section-head p{margin-top:8px}.home-announcement-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.home-announcement-item{min-width:0;width:100%}.home-announcement-item a{background:#fff;border:1px solid #e4ebe6;border:1px solid var(--line);display:grid;grid-template-rows:160px auto;min-height:100%;overflow:hidden;transition:transform .25s,border-color .25s}.home-announcement-item a:hover{border-color:#2d6a4f;border-color:var(--moss);transform:translateY(-3px)}.home-announcement-cover{background:#e8f5ee;background:var(--trail-soft);height:160px;overflow:hidden;width:100%}.home-announcement-cover img{display:block;height:100%;object-fit:cover;width:100%}.home-announcement-cover.is-logo{background:#fff;display:grid;padding:28px;place-items:center}.home-announcement-cover.is-logo img{height:auto;max-height:72px;max-width:72px;object-fit:contain;width:auto}.home-announcement-item div{grid-gap:8px;display:grid;gap:8px;padding:16px 18px 20px}.home-announcement-item strong{color:#1a2e24;color:var(--ink);font:700 18px Fraunces,"Noto Serif SC",serif;font:700 18px var(--font-display)}.home-announcement-item span{color:#667a70;color:var(--muted);font-size:14px;line-height:1.5}.home-announcement-item em{color:#667a70;color:var(--muted);font-size:12px;font-style:normal}.announcement-list{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.announcement-card{height:100%;min-width:0}.announcement-card a{grid-gap:0;background:#fff;border:1px solid #e4ebe6;border:1px solid var(--line);display:grid;gap:0;grid-template-columns:120px minmax(0,1fr);height:100%;min-height:148px;overflow:hidden;transition:transform .25s,border-color .25s}.announcement-card a:hover{border-color:#2d6a4f;border-color:var(--moss);transform:translateY(-2px)}.announcement-cover{background:#e8f5ee;background:var(--trail-soft);display:grid;min-height:148px;overflow:hidden;place-items:center}.announcement-cover img{display:block;height:100%;min-height:148px;object-fit:cover;width:100%}.announcement-cover.is-logo{background:#fff;padding:22px}.announcement-cover.is-logo img{height:auto;max-width:72px;min-height:0;object-fit:contain;width:64%}.announcement-copy{grid-gap:8px;align-content:stretch;display:grid;gap:8px;grid-template-rows:auto 1fr auto;min-width:0;padding:16px 18px}.announcement-card strong{-webkit-line-clamp:2;color:#1a2e24;color:var(--ink);font:700 20px/1.25 Fraunces,"Noto Serif SC",serif;font:700 20px/1.25 var(--font-display);letter-spacing:-.02em}.announcement-card p,.announcement-card strong{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.announcement-card p{-webkit-line-clamp:3;color:#667a70;color:var(--muted);font-size:14px;line-height:1.55;margin:0;min-height:0}.announcement-card span{color:#667a70;color:var(--muted);font-size:12px;letter-spacing:.02em}@media (max-width:1100px){.home-announcement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:800px){.home-announcements.section{padding-left:14px;padding-right:14px}.home-announcement-grid{gap:14px;grid-template-columns:1fr}.home-announcement-item a{grid-template-rows:auto auto}.home-announcement-cover{aspect-ratio:16/9;height:auto;min-height:200px}.home-announcement-cover.is-logo{min-height:200px;padding:36px}.home-announcement-cover.is-logo img{max-height:88px;max-width:88px}.home-announcement-item strong{font-size:20px}.home-announcement-item div{gap:10px;padding:16px 16px 18px}.home-announcement-item span{font-size:15px}.announcement-list{gap:14px;grid-template-columns:1fr}.announcement-card a{grid-template-columns:1fr;min-height:0}.announcement-cover{min-height:0}.announcement-cover img{aspect-ratio:16/9;height:auto;min-height:0}.announcement-cover.is-logo{aspect-ratio:16/9;padding:28px}.announcement-cover.is-logo img{aspect-ratio:auto;max-height:88px;max-width:88px;width:auto}.announcement-copy{gap:10px;padding:16px}.announcement-card strong{font-size:18px}.announcement-card p{-webkit-line-clamp:4;font-size:15px}}.announcement-detail-page .ann-back-link{color:#667a70;color:var(--muted);display:inline-block;margin-bottom:18px}.announcement-detail-page .ann-back-link:hover{color:#2d6a4f;color:var(--moss)}.announcement-rich-content{white-space:normal}.announcement-rich-content img{height:auto;margin:12px 0;max-width:100%}.announcement-rich-content p{margin:0 0 1em}.contact-body{width:min(640px,100%)}.contact-layout{grid-gap:clamp(16px,3vw,36px);align-items:stretch;display:grid;gap:clamp(16px,3vw,36px);grid-template-columns:minmax(0,460px) minmax(0,1fr);width:100%}.contact-panel{min-width:0}.contact-form{background:#fff;border:1px solid #e4ebe6;border:1px solid var(--line);box-sizing:border-box;height:100%;min-height:560px;padding:28px}.contact-success{align-items:center;display:flex;justify-content:flex-start}.contact-success .ant-result{margin:0;padding:24px 8px}.contact-cloud{background:none;height:100%;mask-image:none;-webkit-mask-image:none;min-height:560px;overflow:visible;pointer-events:none;position:relative;width:100%}.contact-cloud-word{animation:contactFloat 7s ease-in-out infinite alternate;color:#2d6a4f47;font-family:Fraunces,"Noto Serif SC",serif;font-family:var(--font-display);font-weight:700;position:absolute;transform:translate(-50%,-50%) rotate(0deg);transform:translate(-50%,-50%) rotate(var(--rot,0deg));-webkit-user-select:none;user-select:none;white-space:nowrap}.contact-cloud-word.size-xl{color:#2d6a4f57;font-size:clamp(52px,6vw,80px)}.contact-cloud-word.size-lg{color:#245c434d;font-size:clamp(32px,4vw,48px)}.contact-cloud-word.size-md{color:#2d6a4f42;font-size:clamp(24px,2.8vw,34px)}.contact-cloud-word.size-sm{color:#667a7057;font-size:clamp(16px,1.9vw,22px);font-weight:600}@keyframes contactFloat{0%{translate:0 0}to{translate:0 -10px}}@media (max-width:860px){.contact-layout{grid-template-columns:1fr}.contact-cloud{min-height:260px;order:-1}}.notif-bell{align-items:center;background:#0000;border:0;color:#1a2e24;color:var(--ink);display:inline-flex;font-size:18px;height:36px;justify-content:center;width:36px}.notif-bell,.notif-item{cursor:pointer}.notif-item.unread{background:#2d6a4f0f}.notif-item small{color:#667a70;color:var(--muted)}.notif-item-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.notif-paper-mask{align-items:flex-end;animation:notifMaskIn .2s ease;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14201a73;display:flex;inset:0;justify-content:center;padding:0 14px 18px;position:fixed;z-index:2200}.notif-paper{animation:notifPaperIn .32s cubic-bezier(.2,.85,.2,1);background:linear-gradient(180deg,#fffdf8,#f6efe4);border:1px solid #5a462824;border-radius:18px 18px 12px 12px;box-shadow:inset 0 1px 0 #ffffffbf,0 20px 50px #14201a47;color:#1a2e24;color:var(--ink);max-height:min(68vh,560px);overflow:auto;padding:14px 24px 22px;position:relative;transition:transform .12s ease-out;width:min(400px,100%)}.notif-paper-handle{background:#5a462838;border-radius:999px;height:4px;margin:2px auto 14px;width:42px}.notif-paper:before{background:linear-gradient(180deg,#c4a574,#8d6e45);border-radius:0 2px 2px 0;bottom:18px;content:"";left:0;position:absolute;top:18px;width:3px}.notif-paper-close{background:#0000;border:0;color:#667a70;color:var(--muted);cursor:pointer;font-size:24px;height:32px;line-height:1;position:absolute;right:10px;top:10px;width:32px}.notif-paper-eyebrow{color:#2d6a4f;color:var(--moss);font-size:12px;letter-spacing:.12em;margin:0 0 8px;text-transform:uppercase}.notif-paper h3{font:700 20px/1.35 Fraunces,"Noto Serif SC",serif;font:700 20px/1.35 var(--font-display);margin:0 0 8px;padding-right:28px}.notif-paper time{color:#667a70;color:var(--muted);display:block;font-size:12px;margin-bottom:14px}.notif-paper-body{color:#314039;font-size:15px;line-height:1.7;margin-bottom:16px;white-space:pre-wrap}.contact-challenge{align-items:center;display:flex;flex-wrap:wrap;gap:8px}@keyframes notifMaskIn{0%{opacity:0}to{opacity:1}}@keyframes notifPaperIn{0%{opacity:0;transform:translateY(110%)}to{opacity:1;transform:translateY(0)}}.lucky-page{overflow:clip}.lucky-band{padding-bottom:8px;padding-top:18px}.lucky-intro{grid-gap:clamp(16px,3vw,36px);align-items:start;display:grid;gap:clamp(16px,3vw,36px);grid-template-columns:minmax(0,1.35fr) minmax(160px,.55fr);padding-bottom:0;padding-top:0}.lucky-intro .page-title{margin:0}.lucky-intro .page-title .eyebrow{margin-bottom:6px}.lucky-intro .page-title h1{color:#1a2e24;color:var(--ink);font:700 clamp(30px,4.4vw,48px)/1.12 Fraunces,"Noto Serif SC",serif;font:700 clamp(30px,4.4vw,48px)/1.12 var(--font-display);letter-spacing:-.03em;margin:0 0 8px}.lucky-intro .page-title p{color:#667a70;color:var(--muted);line-height:1.65;margin:0;max-width:40rem}.lucky-intro-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px}.lucky-intro-side{min-width:0}.lucky-souvenir-photo{display:grid;min-height:0;place-items:center;width:100%}.lucky-souvenir-photo img{filter:drop-shadow(0 12px 20px rgba(24,40,28,.16));height:auto;object-fit:contain;width:min(100%,200px)}.lucky-board{padding-top:12px}.lucky-board-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.lucky-card{height:100%;min-width:0}.lucky-card-inner{grid-gap:0;background:#fff;border:1px solid #e4ebe6;border:1px solid var(--line);color:inherit;display:grid;gap:0;grid-template-columns:120px minmax(0,1fr);height:100%;min-height:148px;overflow:hidden;text-decoration:none;transition:transform .25s,border-color .25s}a.lucky-card-inner:hover{border-color:#2d6a4f;border-color:var(--moss);transform:translateY(-2px)}.lucky-card-inner.is-static{cursor:default}.lucky-card-cover{background:linear-gradient(160deg,#eef5ef,#dde8df);display:grid;min-height:148px;overflow:hidden;padding:18px;place-items:center}.lucky-card-cover.has-preview{background:#e8eee9;padding:0}.lucky-card-cover img{display:block;height:auto;max-width:72px;object-fit:contain;width:64%}.lucky-card-cover.has-preview img{height:100%;max-width:none;min-height:148px;object-fit:cover;width:100%}.lucky-card-copy{grid-gap:8px;align-content:start;display:grid;gap:8px;grid-template-rows:auto auto 1fr;min-width:0;padding:16px 18px}.lucky-card-copy strong{color:#2d6a4f;color:var(--moss);display:block;font:700 22px/1.2 Fraunces,"Noto Serif SC",serif;font:700 22px/1.2 var(--font-display);letter-spacing:.02em}.lucky-card-copy strong.is-muted{color:#667a70;color:var(--muted)}.lucky-card-copy p{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#1a2e24;color:var(--ink);display:-webkit-box;font-size:14px;line-height:1.5;margin:0;overflow:hidden}.lucky-card-copy>span{align-self:end;color:#667a70;color:var(--muted);font-size:12px;letter-spacing:.02em}.lucky-claim-hint{color:#667a70;color:var(--muted);margin:0 0 16px}.lucky-claim-form{background:#0000;border:0;border-radius:0;max-width:560px;padding:0}.lucky-claim-grid{grid-gap:0 12px;display:grid;gap:0 12px;grid-template-columns:repeat(3,minmax(0,1fr))}.lucky-claim-status{grid-gap:12px;display:grid;gap:12px;margin-bottom:24px}.lucky-claim-card{background:#0000;border-bottom:1px solid #e4ebe6;border-bottom:1px solid var(--line);padding:14px 0}.lucky-claim-card strong{color:#2d6a4f;color:var(--moss);font:700 18px Fraunces,"Noto Serif SC",serif;font:700 18px var(--font-display);margin-right:8px}.lucky-claim-card .muted{color:#667a70;color:var(--muted);font-size:13px;margin:4px 0 0}@media (max-width:800px){.lucky-intro{grid-template-columns:1fr}.lucky-intro-side{order:-1}.lucky-souvenir-photo img{width:min(42vw,140px)}.lucky-board-grid{grid-template-columns:1fr}.lucky-card-inner{grid-template-columns:96px minmax(0,1fr);min-height:128px}.lucky-card-cover{min-height:128px;padding:14px}.lucky-card-cover.has-preview{padding:0}.lucky-card-cover.has-preview img{min-height:128px}.lucky-card-copy{padding:14px}.lucky-card-copy strong{font-size:18px}.lucky-claim-grid{grid-template-columns:1fr}}.lucky-guide-page{overflow:clip}.lucky-guide-hero{align-items:end;color:#1a2e24;color:var(--ink);display:grid;min-height:min(78vh,720px);padding:clamp(48px,8vw,96px) clamp(18px,5vw,56px) clamp(40px,6vw,72px);position:relative}.lucky-guide-hero-bg{background:#fff;inset:0;position:absolute}.lucky-guide-hero-bg:after{background-image:linear-gradient(#1a2e2408 1px,#0000 0),linear-gradient(90deg,#1a2e2408 1px,#0000 0);background-size:48px 48px;content:"";inset:0;-webkit-mask-image:linear-gradient(180deg,#0000008c,#0000 88%);mask-image:linear-gradient(180deg,#0000008c,#0000 88%);pointer-events:none;position:absolute}.lucky-guide-hero-inner{grid-gap:clamp(28px,5vw,64px);align-items:end;display:grid;gap:clamp(28px,5vw,64px);grid-template-columns:minmax(0,1.15fr) minmax(220px,.7fr);margin:0 auto;position:relative;width:min(1120px,100%);z-index:1}.lucky-guide-hero-copy .eyebrow{margin-bottom:14px}.lucky-guide-brand{color:#1a2e24;color:var(--ink);font:700 clamp(56px,9vw,104px)/.92 Fraunces,"Noto Serif SC",serif;font:700 clamp(56px,9vw,104px)/.92 var(--font-display);letter-spacing:-.04em;margin:0 0 18px}.lucky-guide-lead{color:#2d6a4f;color:var(--moss);font:500 clamp(18px,2.4vw,24px)/1.45 Fraunces,"Noto Serif SC",serif;font:500 clamp(18px,2.4vw,24px)/1.45 var(--font-display);margin:0 0 28px;max-width:22em}.lucky-guide-hero-actions{display:flex;flex-wrap:wrap;gap:12px}.lucky-guide-hero-visual{animation:luckyGuideFloat 5.5s ease-in-out infinite alternate;justify-self:end;width:min(100%,280px)}.lucky-guide-hero-visual img{display:block;filter:drop-shadow(0 22px 36px rgba(24,40,28,.18));height:auto;width:100%}@keyframes luckyGuideFloat{0%{transform:translateY(0)}to{transform:translateY(-12px)}}.lucky-guide-section{margin:0 auto;padding:clamp(56px,8vw,96px) 0;width:min(1120px,calc(100% - 36px))}.lucky-guide-section-head{margin-bottom:clamp(28px,4vw,44px);max-width:36em}.lucky-guide-section-head h2{color:#1a2e24;color:var(--ink);font:700 clamp(28px,4vw,40px)/1.15 Fraunces,"Noto Serif SC",serif;font:700 clamp(28px,4vw,40px)/1.15 var(--font-display);letter-spacing:-.02em;margin:0 0 10px}.lucky-guide-section-head p:last-child{color:#667a70;color:var(--muted);font-size:16px;line-height:1.6;margin:0}.lucky-guide-steps{grid-gap:0;border-top:1px solid #e4ebe6;border-top:1px solid var(--line);display:grid;gap:0;list-style:none;margin:0;padding:0}.lucky-guide-step{grid-gap:20px;align-items:start;border-bottom:1px solid #e4ebe6;border-bottom:1px solid var(--line);display:grid;gap:20px;grid-template-columns:72px minmax(0,1fr);padding:28px 0}.lucky-guide-step-n{color:#2d6a4f59;font:700 28px/1 Fraunces,"Noto Serif SC",serif;font:700 28px/1 var(--font-display);letter-spacing:.04em}.lucky-guide-step strong{color:#1a2e24;color:var(--ink);display:block;font:700 22px/1.25 Fraunces,"Noto Serif SC",serif;font:700 22px/1.25 var(--font-display);margin-bottom:8px}.lucky-guide-step p{color:#667a70;color:var(--muted);font-size:15px;line-height:1.7;margin:0;max-width:40em}.lucky-guide-req-band .lucky-guide-requirements{grid-gap:14px;display:grid;gap:14px;list-style:none;margin:0;max-width:40em;padding:0}.lucky-guide-requirements li{background:#fff;border:1px solid #e4ebe6;border:1px solid var(--line);color:#1a2e24;color:var(--ink);font:650 16px/1.5 Outfit,Noto Sans SC,system-ui,sans-serif;font:650 16px/1.5 var(--font-body);padding:18px 20px 18px 48px;position:relative}.lucky-guide-requirements li:before{background:#2d6a4f;background:var(--moss);border-radius:50%;content:"";height:10px;left:20px;position:absolute;top:50%;transform:translateY(-50%);width:10px}.lucky-guide-rewards-band{position:relative;z-index:0}.lucky-guide-rewards-band:before{background:linear-gradient(180deg,#e8f5ee8c,#f7faf833);bottom:0;content:"";left:50%;pointer-events:none;position:absolute;top:0;transform:translateX(-50%);width:100vw;z-index:-1}.lucky-guide-rewards{grid-gap:clamp(24px,4vw,48px);display:grid;gap:clamp(24px,4vw,48px);grid-template-columns:repeat(2,minmax(0,1fr))}.lucky-guide-reward strong{color:#2d6a4f;color:var(--moss);display:block;font:700 clamp(24px,3vw,32px)/1.2 Fraunces,"Noto Serif SC",serif;font:700 clamp(24px,3vw,32px)/1.2 var(--font-display);margin-bottom:10px}.lucky-guide-reward p{color:#314039;font-size:16px;line-height:1.7;margin:0;max-width:28em}.lucky-guide-types{grid-gap:1px;background:#e4ebe6;background:var(--line);border:1px solid #e4ebe6;border:1px solid var(--line);display:grid;gap:1px;grid-template-columns:repeat(3,minmax(0,1fr))}.lucky-guide-type{grid-gap:8px;background:#fff;display:grid;gap:8px;padding:28px 24px;transition:background .25s}.lucky-guide-type:hover{background:#fbfdfc}.lucky-guide-type em{color:#2d6a4f;color:var(--moss);font-size:13px;font-style:normal;font-weight:650;letter-spacing:.08em}.lucky-guide-type strong{color:#1a2e24;color:var(--ink);font:700 26px/1.1 Fraunces,"Noto Serif SC",serif;font:700 26px/1.1 var(--font-display);letter-spacing:.02em}.lucky-guide-type span{color:#667a70;color:var(--muted);font-size:14px}.lucky-guide-legal-band{background:#fff;border-bottom:1px solid #e4ebe6;border-bottom:1px solid var(--line);border-top:1px solid #e4ebe6;border-top:1px solid var(--line);max-width:none;padding-left:clamp(18px,5vw,56px);padding-right:clamp(18px,5vw,56px);width:100%}.lucky-guide-legal-grid{grid-gap:clamp(32px,5vw,64px);display:grid;gap:clamp(32px,5vw,64px);grid-template-columns:repeat(2,minmax(0,1fr));margin:0 auto;width:min(1120px,100%)}.lucky-guide-legal-block h2{color:#1a2e24;color:var(--ink);font:700 clamp(26px,3.2vw,34px)/1.2 Fraunces,"Noto Serif SC",serif;font:700 clamp(26px,3.2vw,34px)/1.2 var(--font-display);margin:0 0 20px}.lucky-guide-legal-block ul{grid-gap:14px;display:grid;gap:14px;list-style:none;margin:0;padding:0}.lucky-guide-legal-block li{color:#3a4a42;font-size:14px;line-height:1.75;padding-left:18px;position:relative}.lucky-guide-legal-block li:before{background:#2d6a4f;background:var(--moss);border-radius:50%;content:"";height:6px;left:0;opacity:.45;position:absolute;top:.72em;width:6px}.lucky-guide-finale{background:radial-gradient(ellipse 60% 50% at 50% 0,#3d8b661f,#0000 70%),#fff;background:radial-gradient(ellipse 60% 50% at 50% 0,#3d8b661f,#0000 70%),var(--paper);padding:clamp(72px,10vw,120px) 24px;text-align:center}.lucky-guide-finale h2{color:#1a2e24;color:var(--ink);font:700 clamp(30px,4.5vw,48px)/1.15 Fraunces,"Noto Serif SC",serif;font:700 clamp(30px,4.5vw,48px)/1.15 var(--font-display);letter-spacing:-.02em;margin:0 0 12px}.lucky-guide-finale>.reveal>p:not(.eyebrow){color:#667a70;color:var(--muted);font-size:16px;margin:0 0 28px}.lucky-guide-finale .lucky-guide-hero-actions{justify-content:center}@media (max-width:900px){.lucky-guide-hero-inner{align-items:start;grid-template-columns:1fr}.lucky-guide-hero-visual{justify-self:start;order:-1;width:min(42vw,160px)}.lucky-guide-types{grid-template-columns:repeat(2,minmax(0,1fr))}.lucky-guide-legal-grid,.lucky-guide-rewards{grid-template-columns:1fr}}@media (max-width:560px){.lucky-guide-types{grid-template-columns:1fr}.lucky-guide-step{gap:12px;grid-template-columns:56px minmax(0,1fr)}.lucky-guide-brand{font-size:clamp(48px,16vw,72px)}}.insurance-jump-page{display:grid;min-height:min(60vh,520px);padding:48px 20px;place-items:center}.insurance-jump-card{grid-gap:16px;display:grid;gap:16px;justify-items:center;max-width:28em;text-align:center}.insurance-jump-card h1{color:#1a2e24;color:var(--ink);font:700 28px/1.2 Fraunces,"Noto Serif SC",serif;font:700 28px/1.2 var(--font-display);margin:0}.insurance-jump-card p{color:#667a70;color:var(--muted);font-size:15px;line-height:1.6;margin:0}.insurance-jump-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.plan-page-body{padding-bottom:18px;padding-top:18px}.plan-create-band{padding-bottom:8px}.plan-create-band .page-title h1{font-size:clamp(28px,4vw,36px)}.plan-create-band .page-title p{margin-bottom:0}.plan-workspace{grid-gap:18px;align-items:stretch;display:grid;gap:18px;grid-template-columns:minmax(0,1.45fr) minmax(300px,380px);height:calc(100vh - 110px);max-height:calc(100vh - 110px);min-height:520px}.plan-workspace.is-create{grid-template-columns:minmax(300px,380px) minmax(0,1fr);height:calc(100vh - 210px);max-height:calc(100vh - 210px)}.plan-workspace-map{background:#e8f5ee;background:var(--trail-soft);border:1px solid #e4ebe6;border:1px solid var(--line);display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden}.plan-workspace-map .public-track-map-empty,.plan-workspace-map .public-track-map.plan-map{aspect-ratio:auto;flex:1 1 auto;height:100%;min-height:0;width:100%}.plan-workspace-map .public-track-map.plan-map .track-map-canvas{aspect-ratio:auto;height:auto;inset:0;position:absolute;width:auto}.plan-workspace-side{background:#fff;border:1px solid #e4ebe6;border:1px solid var(--line);display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;overflow:hidden}.plan-workspace-side-head{flex:0 0 auto;padding:16px 16px 0}.plan-workspace-side-head .detail-panel-head{margin-bottom:4px}.plan-workspace-side-head .track-code-qr{flex-shrink:0}.plan-workspace-side-head .detail-title-row h1{font-size:22px;margin:8px 0 4px}.plan-workspace-side-scroll{grid-gap:16px;align-content:start;display:grid;flex:1 1 auto;gap:16px;min-height:0;overflow:auto;padding:12px 16px 16px}.plan-workspace-side-foot{background:#fff;border-top:1px solid #e4ebe6;border-top:1px solid var(--line);flex:0 0 auto;padding:12px 16px 16px}.plan-create-meta-grid{grid-gap:0 10px;display:grid;gap:0 10px;grid-template-columns:1fr 1fr}.plan-create-meta-grid .ant-form-item:last-child{grid-column:1/-1}.plan-editor-shell{grid-gap:22px;align-items:start;display:grid;gap:22px;grid-template-columns:minmax(300px,380px) minmax(0,1fr)}.plan-editor-panel{grid-gap:14px;background:#fff;display:grid;gap:14px;padding:18px}.plan-editor-map,.plan-editor-panel{border:1px solid #e4ebe6;border:1px solid var(--line)}.plan-editor-map{align-self:start;background:#e8f5ee;background:var(--trail-soft);min-width:0;position:-webkit-sticky;position:sticky;top:88px;width:100%}.plan-editor-map .public-track-map.plan-map{aspect-ratio:900/560;height:auto;width:100%}.detail-plan-totals,.plan-editor-totals{grid-gap:10px;border-bottom:1px solid #e4ebe6;border-bottom:1px solid var(--line);border-top:1px solid #e4ebe6;border-top:1px solid var(--line);display:grid;gap:10px;grid-template-columns:repeat(3,1fr);padding:12px 0}.detail-plan-totals div,.plan-editor-totals div{grid-gap:2px;display:grid;gap:2px;text-align:center}.detail-plan-totals strong,.plan-editor-totals strong{color:#1a2e24;color:var(--ink);font:700 20px/1.1 Fraunces,"Noto Serif SC",serif;font:700 20px/1.1 var(--font-display)}.detail-plan-totals span,.plan-editor-totals span{color:#667a70;color:var(--muted);font-size:12px}.plan-waypoint-head{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:8px}.plan-schedule-preview h3,.plan-waypoint-head h3,.plan-waypoint-readonly h3{font:700 16px Fraunces,"Noto Serif SC",serif;font:700 16px var(--font-display);margin:0 0 10px}.detail-marker-toggle,.plan-marker-toggle{align-items:center;color:#667a70;color:var(--muted);cursor:pointer;display:inline-flex;font-size:13px;gap:8px}.plan-marker-toggles{align-items:center;display:inline-flex;flex-wrap:wrap;gap:10px 14px}.detail-marker-toggle{margin:12px 0 4px}.plan-schedule-preview,.plan-waypoint-list,.plan-waypoint-readonly{grid-gap:8px;display:grid;gap:8px}.plan-schedule-row,.plan-waypoint-row{grid-gap:8px;align-items:center;background:#f7faf8;border:1px solid #0000;display:grid;gap:8px;grid-template-columns:28px minmax(0,1fr) auto;padding:8px 10px;text-align:left}.plan-schedule-row{align-items:start;grid-template-columns:12px minmax(0,1fr);padding:10px}.plan-schedule-row.is-active,.plan-waypoint-row.is-active{background:#e8f5ee;background:var(--trail-soft);border-color:#3d8b66;border-color:var(--trail);box-shadow:inset 3px 0 0 #2d6a4f;box-shadow:inset 3px 0 0 var(--moss)}.plan-schedule-row.is-button,.plan-waypoint-row.is-button{color:inherit;cursor:pointer;font:inherit;width:100%}.plan-waypoint-index{border-radius:999px;color:#fff;display:grid;font-size:12px;font-weight:700;height:24px;place-items:center;width:24px}.plan-waypoint-tag{color:#667a70;color:var(--muted);font-size:12px;min-width:24px;text-align:center}.plan-schedule-row i{border-radius:999px;display:block;height:10px;margin-top:5px;width:10px}.plan-schedule-main{grid-gap:4px;display:grid;gap:4px;min-width:0}.plan-schedule-main strong{font-size:13px}.plan-schedule-main>span{color:#667a70;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-schedule-metrics{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2px}.plan-schedule-metrics span{grid-gap:1px;background:#fff;border:1px solid #e4ebe6;border:1px solid var(--line);color:#667a70;color:var(--muted);display:grid;font-size:11px;gap:1px;overflow:visible;padding:6px 8px;text-overflow:clip;white-space:nowrap}.plan-schedule-metrics b{color:#1a2e24;color:var(--ink);font:700 14px/1.2 Fraunces,"Noto Serif SC",serif;font:700 14px/1.2 var(--font-display)}.public-track-map .route-line.plan-segment-line{stroke-width:5.5}.public-track-map .route-shadow.plan-segment-shadow{stroke:#000000b8;stroke-width:10}.public-track-map .map-marker.selected .pin-disk,.public-track-map .map-marker.selected .pin-stem{filter:drop-shadow(0 0 4px rgba(255,176,32,.85))}.plan-list .col-preview{background:#edf3ef;border-radius:4px;display:grid;flex-shrink:0;height:52px;overflow:hidden;place-items:center;width:80px}.plan-list .col-preview img{height:100%;object-fit:contain;object-position:center;width:100%}.plan-list .data-list-head,.plan-list .data-row{grid-template-columns:80px minmax(160px,1.4fr) 100px 110px minmax(110px,1fr) 64px 88px 72px 72px;min-width:1040px}.plan-list .col-plan-code,.plan-list .col-track{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:0}.plan-list .row-track-link{color:#2d6a4f;color:var(--moss);display:block;font-weight:650;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.plan-list .row-track-link:hover{text-decoration:underline}.plan-list .row-track-muted{color:#667a70;color:var(--muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:980px){.plan-editor-shell{grid-template-columns:1fr}.plan-editor-panel{order:2}.plan-editor-map{order:1}.plan-workspace,.plan-workspace.is-create{grid-template-columns:1fr;height:auto;max-height:none;min-height:0}.plan-workspace-map{height:min(52vh,420px);order:1}.plan-workspace-side{height:auto;max-height:none;order:2}.plan-workspace-side-scroll{overflow:visible}}.club-upload-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.club-upload-tile{aspect-ratio:1;background:#ffffff8c;border:1px dashed #23372a47;border-radius:12px;overflow:hidden;position:relative;transition:border-color .2s ease,background .2s ease;width:100%}.club-upload-tile:hover{background:#ffffffd9;border-color:#2d5a3a8c}.club-upload-tile-clear{background:#0000008c;border:0;border-radius:4px;bottom:6px;color:#fff;cursor:pointer;font-size:12px;line-height:1.4;padding:2px 8px;position:absolute;right:6px;z-index:2}.club-upload-tile.has-preview{border-color:#2d5a3a59;border-style:solid}.club-upload-tile.is-loading{opacity:.7;pointer-events:none}.club-upload-tile-hit{background:#0000;border:0;color:inherit;cursor:pointer;display:block;height:100%;margin:0;padding:0;width:100%}.club-upload-tile img{display:block;height:100%;object-fit:cover;width:100%}.club-upload-file-input{clip:rect(0,0,0,0)!important;border:0!important;height:1px!important;margin:-1px!important;opacity:0!important;overflow:hidden!important;padding:0!important;pointer-events:none!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.club-upload-tile-empty{align-items:center;color:#667a70;color:var(--muted,#6b7a6f);display:flex;flex-direction:column;font-size:13px;gap:8px;inset:0;justify-content:center;position:absolute}.club-upload-tile-empty .anticon{font-size:22px}.club-upload-tile-empty em{font-style:normal;line-height:1.3;padding:0 8px;text-align:center}@media (max-width:640px){.club-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.club-daily-itinerary{grid-gap:12px;display:grid;gap:12px;margin:12px 0 8px}.club-daily-day{background:#f7faf8;border:1px solid #e1e8e4;border-radius:12px;padding:14px 16px}.club-daily-day header{color:#173b29;font:700 16px "Noto Serif SC",serif;margin-bottom:10px}.club-daily-day dl{grid-gap:6px 12px;display:grid;gap:6px 12px;grid-template-columns:72px minmax(0,1fr);margin:0}.club-daily-day dt{color:#75837b;font-size:13px}.club-daily-day dd{color:#14251d;font-size:14px;line-height:1.45;margin:0;word-break:break-word}