:root { --lime:#baff18; --night:#030605; --personal-line:#ffffff20; --personal-muted:#99a49b; }
.identity-header { position:fixed; z-index:40; top:18px; inset-inline:0; padding:0 24px; pointer-events:none; }
.identity-nav { pointer-events:auto; margin:auto; width:min(1080px,100%); min-height:54px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:15px; padding:6px 8px; border:1px solid #ffffff2d; border-radius:999px; background:#080e0bbc; backdrop-filter:blur(22px); box-shadow:0 12px 36px #0003; }
.identity-brand { justify-self:start; display:inline-flex; align-items:center; gap:8px; padding:7px 16px 7px 9px; border-radius:99px; background:var(--lime); color:#132005; font-size:12px; font-weight:750; letter-spacing:.01em; }
.identity-brand>span { display:grid; place-items:center; width:25px; height:25px; background:#152006; border-radius:50%; color:var(--lime); font-size:18px; }
.identity-links { display:flex; gap:8px; color:#c0c8bf; font-size:12px; }.identity-links a { padding:10px 16px; border-radius:99px; }
.identity-links a:hover { background:#ffffff10; color:#fff; }
.identity-nav-actions { display:flex; gap:8px; justify-self:end; align-items:center; }
.identity-contact { padding:10px 16px; border:1px solid #ffffff30; border-radius:99px; font-size:11px; white-space:nowrap; }
.identity-contact:hover { background:#e8eee0; color:#172113; }
.mobile-menu { display:none; }.mobile-menu summary { list-style:none; cursor:pointer; }.mobile-menu summary::-webkit-details-marker { display:none; }
.hero h1.hero-manifesto { margin:0; font-size:inherit; line-height:1.35; font-weight:500; letter-spacing:-.04em; text-transform:none; }
.manifesto-context { display:block; color:#cbd3c6; font-size:18px; line-height:1.6; margin-bottom:16px; letter-spacing:.015em; font-weight:400; }
.manifesto-line { display:block; font-size:clamp(27px,3.3vw,48px); white-space:nowrap; }
.manifesto-line>span { color:var(--lime); }
.hero-copy { top:33%; }
.section { scroll-margin-top:78px; }.section-head h2 { font-size:clamp(36px,3.8vw,56px); line-height:1.05; }.section-head h2 span { font-size:16px; line-height:1.5; }
.identity-portrait { min-height:460px; border:1px solid #ffffff20; border-radius:24px; padding:28px; display:flex; flex-direction:column; justify-content:space-between; background:radial-gradient(ellipse at 90% 15%,#40553d88,transparent 70%),#121c15; overflow:hidden; }
.portrait-label { color:#aac2a3; font-size:10px; letter-spacing:.2em; }
.identity-portrait strong { font-size:126px; line-height:.98; letter-spacing:-.09em; font-weight:500; color:#dce6cc; padding:25px 0; }.identity-portrait strong span { color:var(--lime); }
.portrait-footnote { color:#a6b399; font-size:12px; line-height:1.9; }
.profile-copy { padding-top:12px; }.profile-copy h3 { font-size:clamp(32px,3.3vw,48px); line-height:1.25; letter-spacing:-.04em; }
.profile-copy .brand-explanation { color:#c2d2b1; font-size:12px; margin-top:17px; }.fact small { font-size:10px; }.fact b { line-height:1.65; }
.personal-section { background:#050a07; border-top:1px solid #ffffff0b; }
.personal-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:36px; }
.personal-eyebrow { display:block; color:#a6b894; font-size:10px; font-weight:500; letter-spacing:.15em; line-height:1.8; }
.personal-section-head h2 { color:#e4eadb; font-size:clamp(29px,3.5vw,48px); line-height:1.25; letter-spacing:-.055em; font-weight:500; margin-top:17px; }
.personal-section-aside { color:#849281; font-size:12px; line-height:1.8; }
.outdoor-panel { display:grid; grid-template-columns:1.15fr 1fr; border:1px solid var(--personal-line); border-radius:22px; overflow:hidden; background:#0e1911; }
.terrain-art { min-height:430px; overflow:hidden; position:relative; background:#c7d0b5; }
.terrain-art img { display:block; width:100%; height:100%; object-fit:cover; position:absolute; inset:0; transition:transform 1.8s ease; }.outdoor-panel:hover .terrain-art img { transform:scale(1.035); }
.terrain-label { position:absolute; top:28px; left:28px; color:#29412d; font-size:10px; letter-spacing:.17em; }
.terrain-disclaimer { position:absolute; bottom:25px; right:25px; font-size:10px; color:#355239; background:#e7eddaaa; border-radius:4px; padding:5px 8px; }
.outdoor-copy { align-self:center; padding:45px 42px; }.pending-pill { display:inline-flex; gap:7px; color:#b8c4a5; font-size:10px; border:1px solid #b8c4a540; border-radius:99px; padding:6px 10px; }
.outdoor-copy h3 { font-size:clamp(28px,3.3vw,44px); font-weight:500; line-height:1.3; letter-spacing:-.05em; margin:24px 0 18px; }
.outdoor-copy p { color:#a8b49f; font-size:13px; line-height:1.9; max-width:370px; }
.field-preview { display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 30px; }.field-preview span { font-size:10px; color:#c1cdae; border-bottom:1px solid #82977166; padding-bottom:6px; }
.personal-button { display:inline-flex; align-items:center; justify-content:center; gap:30px; font:inherit; font-size:12px; font-weight:550; padding:14px 20px; background:var(--lime); border:1px solid var(--lime); color:#1a280a; border-radius:99px; cursor:pointer; transition:background .25s,color .25s; }
.personal-button:hover { background:#d0ff83; }.personal-button-outline { background:transparent; border-color:#93a97777; color:#d4e7bd; }.personal-button-outline:hover { color:#192709; }
.outdoor-copy>small { display:block; margin-top:15px; color:#7c8f77; font-size:10px; line-height:1.8; }
.connect-section { background:radial-gradient(ellipse at 80% 80%,#18271966,transparent 50%),#060a08; }
.connect-layout { display:grid; grid-template-columns:1.12fr 1fr; gap:60px; align-items:center; }
.social-list { min-width:0; }.social-entry { display:flex; width:100%; text-align:left; align-items:center; gap:18px; padding:24px 0; color:#e4eadd; border:0; border-bottom:1px solid var(--personal-line); background:none; font-family:inherit; cursor:pointer; transition:padding .3s; }
.social-entry:hover { padding-inline:10px; }.social-entry:hover .social-entry-action { color:var(--lime); }
.platform-symbol { flex:none; display:grid; place-items:center; width:42px; height:42px; border-radius:12px; border:1px solid currentColor; font-size:22px; font-weight:650; }.platform-red { color:#ed9d96; background:#49212155; }.platform-blue { color:#9bcfe2; background:#17344366; }.platform-white { color:#dcded6; background:#ffffff0a; }.platform-green { color:#c7ee8c; background:#50623455; }
.social-entry-copy { flex:1; min-width:0; }.social-entry strong { display:block; font-size:18px; font-weight:500; }.social-entry small { display:block; color:#7e8e80; font-size:11px; margin-top:7px; }.social-entry-action { color:#b6c6a9; font-size:11px; white-space:nowrap; }
.social-note { color:#768472; font-size:11px; line-height:1.8; margin-top:21px; }
.community-panel { padding:38px; border:1px solid #c5db9a2a; border-radius:20px; background:#17221380; }
.community-panel h3 { font-size:clamp(28px,2.5vw,37px); line-height:1.4; letter-spacing:-.035em; font-weight:500; margin:20px 0 16px; }.community-panel p { color:#a7b79b; font-size:13px; line-height:1.9; margin-bottom:28px; }
.community-status { display:flex; gap:7px; align-items:center; color:#839372; font-size:10px; line-height:1.8; margin-top:18px; }.community-status i { width:5px; height:5px; border-radius:50%; background:#7e9760; }
.personal-footer { text-transform:none; font-size:11px; letter-spacing:.035em; }
.personal-dialog { position:fixed; inset:0; margin:auto; width:min(470px,calc(100vw - 32px)); max-width:none; max-height:90dvh; padding:0; overflow:auto; color:#e5eadf; background:#101810; border:1px solid #ffffff2b; border-radius:24px; box-shadow:0 20px 100px #0008; }
.personal-dialog::backdrop { background:#020704c9; backdrop-filter:blur(16px); }.personal-dialog[open] { animation:personal-enter .25s ease-out; }
.personal-dialog-content { padding:30px; }.personal-dialog-head { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:25px; }.personal-dialog-kicker { color:#9dac8b; font-size:10px; letter-spacing:.13em; }
.personal-dialog-close { width:35px; height:35px; flex:none; border:1px solid #ffffff30; background:none; color:inherit; border-radius:50%; cursor:pointer; font-size:23px; }
.contact-identity { display:flex; gap:14px; align-items:center; }.contact-identity h2 { font-size:25px; font-weight:500; letter-spacing:-.035em; }.contact-identity p { color:#99ad89; font-size:11px; margin-top:6px; }
.contact-description { color:#a7b49c; font-size:13px; line-height:1.9; margin:21px 0; }
.contact-qr-space { width:208px; height:208px; margin:22px auto; display:grid; place-items:center; border:1px dashed #adc78966; border-radius:16px; background:#d8e3c90a; text-align:center; overflow:hidden; }
.contact-qr-space img { width:100%; height:100%; padding:10px; background:#fff; object-fit:contain; }.contact-qr-space img[hidden] { display:none; }
.contact-qr-space[hidden],.qr-placeholder[hidden] { display:none; }
.qr-placeholder { padding:18px; }.qr-placeholder span { display:block; color:#9cb584; font-size:27px; font-weight:300; margin-bottom:13px; }.qr-placeholder strong { font-size:13px; font-weight:400; color:#c3d2b2; }.qr-placeholder small { display:block; font-size:10px; color:#7f9570; margin-top:8px; }
.contact-status { color:#b8caaa; font-size:12px; text-align:center; line-height:1.8; }.contact-footnote { color:#788b6d; font-size:11px; line-height:1.8; margin-top:20px; padding-top:17px; border-top:1px solid #ffffff13; }.contact-link { width:100%; margin-top:20px; }.contact-link[hidden] { display:none; }
.identity-nav a:focus-visible,.mobile-menu summary:focus-visible,.personal-button:focus-visible,.social-entry:focus-visible,.personal-dialog button:focus-visible,.personal-dialog a:focus-visible { outline:2px solid var(--lime); outline-offset:4px; }
@keyframes personal-enter { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
/* The route notebook is an independent preview page, not an invented travel history. */
body.trail-page { margin:0; background:#070c09; color:#e3e9dc; font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
.trail-page * { box-sizing:border-box; }.trail-page a { color:inherit; text-decoration:none; }.trail-page button { font-family:inherit; }.trail-page .identity-brand { color:#132005; }
.trail-main { max-width:1220px; margin:0 auto; padding:125px 40px 100px; }.trail-back { font-size:12px; color:#a7b398!important; }
.trail-intro { display:flex; justify-content:space-between; align-items:end; gap:50px; margin:54px 0 48px; }.trail-intro h1 { font-size:clamp(38px,4.5vw,64px); font-weight:500; letter-spacing:-.06em; line-height:1.2; margin:18px 0 22px; }.trail-intro h1 em { color:#c4dd91; font-style:normal; }.trail-intro p { max-width:430px; font-size:14px; line-height:1.9; color:#a2b195; }.trail-author { font-size:12px; line-height:1.9; color:#a7b68f; border-left:1px solid #899f6666; padding-left:20px; white-space:nowrap; }.trail-author strong { color:#d8e4ca; font-size:22px; font-weight:500; display:block; }
.trail-page .outdoor-panel { margin:0 0 70px; }.trail-page .outdoor-copy h2 { font-weight:500; font-size:32px; letter-spacing:-.05em; margin:22px 0 15px; }
.route-fields-head { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:25px; }.route-fields-head h2 { font-size:25px; font-weight:500; letter-spacing:-.03em; }.route-fields-head span { font-size:10px; color:#829470; }
.route-fields { display:grid; grid-template-columns:repeat(3,1fr); gap:0 30px; padding:0; list-style:none; counter-reset:route-field; }.route-fields li { border-top:1px solid #abc08e33; padding:22px 0; counter-increment:route-field; }.route-fields li::before { content:counter(route-field,decimal-leading-zero); display:block; color:#9db57d; font-size:10px; margin-bottom:18px; }.route-fields h3 { font-size:17px; font-weight:500; margin:0 0 10px; }.route-fields p { color:#8e9e81; font-size:12px; line-height:1.85; margin:0; }
.trail-community { margin-top:50px; padding:30px 0; border-block:1px solid #abc08e33; display:flex; justify-content:space-between; gap:25px; align-items:center; }.trail-community h2 { font-size:24px; font-weight:500; margin:0 0 9px; }.trail-community p { color:#92a383; font-size:12px; line-height:1.8; margin:0; }
.trail-footer { max-width:1140px; margin:0 auto; padding:26px 0; display:flex; justify-content:space-between; color:#819073; font-size:10px; border-top:1px solid #abc08e22; }
.route-template-dialog { width:min(680px,calc(100vw - 32px)); }.route-template-dialog h2 { font-weight:500; font-size:30px; letter-spacing:-.04em; margin:15px 0; }.route-template-dialog .template-note { color:#a5b596; font-size:13px; line-height:1.8; }.template-title-slot { padding:23px 0; border-block:1px solid #adc7892b; margin:24px 0; }.template-title-slot small { display:block; color:#9db283; font-size:10px; margin-bottom:10px; }.template-title-slot strong { font-size:24px; font-weight:500; color:#cfdebe; }.template-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin:25px 0; }.template-metrics dt { font-size:11px; color:#91a97b; }.template-metrics dd { font-size:19px; margin:10px 0 0; color:#d5e0c8; }.template-details { border-top:1px solid #adc7892b; }.template-details summary { font-size:14px; padding:16px 0; cursor:pointer; }.template-details p { font-size:12px; color:#9baf89; line-height:1.9; margin:0 0 20px; }
@media(max-width:900px) {
  .identity-header { top:10px; padding:0 12px; }.identity-nav { grid-template-columns:1fr auto; gap:8px; min-height:50px; }
  .identity-links { display:none; }.identity-contact { padding:9px 11px; font-size:10px; }
  .mobile-menu { display:block; }.mobile-menu summary { color:#cfdbc3; font-size:11px; padding:9px 11px; border:1px solid #ffffff26; border-radius:99px; }.mobile-menu[open] summary { color:var(--lime); }
  .mobile-menu>div { position:absolute; right:18px; top:60px; width:205px; padding:8px; background:#0e190ff5; border:1px solid #a8bd862e; border-radius:15px; box-shadow:0 16px 60px #0006; }.mobile-menu a { display:block; padding:14px 13px; font-size:12px; color:#d3dec8; border-radius:8px; }.mobile-menu a:hover { background:#ffffff0a; }
  .hero { min-height:840px; }.hero-copy { top:auto; bottom:280px; }.manifesto-context { font-size:16px; margin-bottom:13px; }.manifesto-line { font-size:clamp(27px,4.6vw,40px); }
  .identity-portrait { min-height:360px; }.identity-portrait strong { font-size:105px; }.profile-copy { padding-top:0; }
  .outdoor-panel { grid-template-columns:1fr; }.terrain-art { min-height:310px; }.outdoor-copy { padding:30px; }.connect-layout { grid-template-columns:1fr; gap:30px; }
  .personal-section-head { align-items:start; flex-direction:column; gap:14px; }.community-panel { padding:28px; }
  .trail-main { padding:108px 22px 65px; }.trail-intro { margin:35px 0; flex-direction:column; align-items:start; gap:25px; }.trail-author { display:none; }.trail-intro h1 { font-size:46px; }.route-fields { grid-template-columns:repeat(2,1fr); gap:0 23px; }.route-fields-head { flex-direction:column; align-items:start; gap:0; }.trail-community { align-items:start; flex-direction:column; }.trail-footer { margin:0 22px; gap:20px; line-height:1.8; }
}
@media(max-width:480px) {
  .identity-brand { font-size:11px; padding-right:13px; }.identity-contact { font-size:10px; }.identity-nav-actions { gap:5px; }.mobile-menu summary { padding-inline:9px; }
  .manifesto-line { font-size:27px; }.manifesto-context { font-size:15px; }
  .personal-section-head h2 { font-size:29px; }.section-head h2 span { font-size:13px; }.terrain-art { min-height:260px; }.outdoor-copy { padding:27px 23px; }.outdoor-copy h3 { font-size:32px; }.social-entry { gap:13px; padding-block:23px; }.social-entry strong { font-size:17px; }.social-entry-action { font-size:10px; }.platform-symbol { width:38px; height:38px; font-size:20px; }.community-panel { padding:26px 23px; }
  .personal-dialog-content { padding:23px; }.contact-identity h2 { font-size:23px; }.contact-qr-space { width:190px; height:190px; }.route-fields { grid-template-columns:1fr; }.route-template-dialog h2 { font-size:26px; }.template-metrics { gap:8px; }.template-metrics dt { font-size:10px; }.template-metrics dd { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { .personal-dialog,.terrain-art img { animation:none!important; transition:none!important; }.identity-nav *,.social-entry,.personal-button { transition:none!important; } }
