/* Chronological timeline — "The Chronicle": a bound travel chronicle. Deep forest-green bands with a
   warm brass accent for markers, a soft stone body, a brass spine down the centre with raised date nodes
   and cards zigzagging left and right (single-sided on phones). Pure CSS, no JavaScript.
   Light surfaces come from the site tokens; the forest bands use fixed colours so brass stays readable. */
.t-chronological_timeline{
  --tl-forest:#0f2a1e;--tl-forest2:#174130;--tl-forest3:#1f5a3c;--tl-forest-deep:#0a1d14;
  --tl-brass:#c9a24a;--tl-brass2:#e8c76e;--tl-brass-dim:#9a7a2e;--tl-brass-ink:#7a5a14;
  --tl-stone:var(--bg);--tl-paper:var(--surface);
  --tl-serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --tl-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --tl-glass:rgb(255 255 255/.06);--tl-glass-line:rgb(255 255 255/.14);
  --tl-sh:0 1px 2px rgb(15 42 30/.06),0 12px 30px -14px rgb(15 42 30/.28);
  --tl-sh-lift:0 2px 4px rgb(15 42 30/.06),0 26px 44px -18px rgb(15 42 30/.38);
  --tl-ease:cubic-bezier(.2,.7,.2,1);
  font-family:var(--tl-sans);background:var(--tl-stone);
}
.t-chronological_timeline::before{display:none}
.t-chronological_timeline .wrap{max-width:80rem;padding-inline:2rem}
.t-chronological_timeline .main{padding-bottom:0}
.t-chronological_timeline :where(a){text-decoration:none;color:inherit}
.t-chronological_timeline :where(a,button,input,summary):focus-visible{outline:3px solid var(--tl-brass);outline-offset:2px}
.t-chronological_timeline h1,.t-chronological_timeline h2,.t-chronological_timeline h3,.t-chronological_timeline h4{font-family:var(--tl-serif)}
.tl-label{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 .9rem;color:var(--tl-brass2);font:700 .72rem/1.2 var(--tl-sans);letter-spacing:.18em;text-transform:uppercase}
.tl-label .i{color:var(--tl-brass)}

/* ---------- header ---------- */
.tl-head{position:relative;z-index:20;color:#fff;background:linear-gradient(180deg,var(--tl-forest-deep),var(--tl-forest));border-bottom:1px solid var(--tl-glass-line);box-shadow:0 10px 30px -14px rgb(5 20 12/.6)}
.tl-head-row{display:flex;align-items:center;gap:1.5rem;min-height:4.8rem;padding-block:.75rem}
.tl-brand{display:inline-flex;align-items:center;gap:.85rem;min-width:0;color:#fff}
.tl-mark{display:grid;place-items:center;width:3rem;height:3rem;flex:none;border-radius:50%;color:var(--tl-brass2);background:radial-gradient(circle at 30% 30%,var(--tl-forest3),var(--tl-forest));box-shadow:inset 0 1px 0 rgb(255 255 255/.15),0 0 0 2px var(--tl-brass-dim),0 10px 20px -8px rgb(0 0 0/.7);transition:transform .6s var(--tl-ease)}
.tl-brand:hover .tl-mark{transform:rotate(45deg)}
.tl-mark .i{width:2.1rem;height:2.1rem}
.tl-brand-text{display:grid;min-width:0;line-height:1.1}
.tl-brand-name{font:700 1.4rem/1.1 var(--tl-serif);letter-spacing:-.015em;overflow-wrap:anywhere}
.tl-brand-tag{margin-top:.2rem;color:var(--tl-brass2);font:italic .82rem/1.3 var(--tl-serif)}
.tl-nav{display:flex;gap:.2rem;margin-left:auto}
.tl-nav a{display:inline-flex;align-items:center;min-height:2.5rem;padding:0 .95rem;border-radius:999px;color:#d7e4da;font-weight:700;font-size:.9rem;transition:background .2s,color .2s}
.tl-nav a:hover{color:#fff;background:var(--tl-glass)}
.tl-nav a.is-current{color:var(--tl-forest);background:linear-gradient(180deg,var(--tl-brass2),var(--tl-brass))}
.tl-hsearch{display:flex;align-items:center;width:17rem;height:2.75rem;flex:none;border-radius:999px;background:rgb(255 255 255/.08);border:1px solid var(--tl-glass-line);box-shadow:inset 0 1px 0 rgb(255 255 255/.08);transition:border-color .2s,box-shadow .2s}
.tl-hsearch:focus-within{border-color:var(--tl-brass);box-shadow:0 0 0 4px rgb(201 162 74/.25)}
.tl-hsearch>.i{width:1.05rem;height:1.05rem;margin:0 .55rem 0 .95rem;color:var(--tl-brass)}
.tl-hsearch input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:#fff;font:.9rem var(--tl-sans)}
.tl-hsearch input::placeholder{color:#9db5a5}
.tl-hsearch button{height:calc(100% - .5rem);margin:.25rem;padding:0 .95rem;border:0;border-radius:999px;background:linear-gradient(180deg,var(--tl-brass2),var(--tl-brass));color:var(--tl-forest);font:700 .8rem var(--tl-sans);cursor:pointer}
.tl-hsearch button:hover{background:linear-gradient(180deg,#f3d98a,var(--tl-brass2))}

/* ---------- hero ---------- */
.tl-hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(60rem 30rem at 85% -10%,rgb(201 162 74/.22),transparent 60%),radial-gradient(44rem 28rem at -10% 110%,rgb(31 90 60/.95),transparent 60%),linear-gradient(160deg,var(--tl-forest) 0%,var(--tl-forest3) 100%);padding:4.2rem 0 3.4rem}
.tl-route{position:absolute;inset:0;width:100%;height:100%;color:var(--tl-brass);opacity:.55;pointer-events:none}
.tl-route circle{fill:var(--tl-brass)}
.tl-route-here circle:first-child{fill:none;stroke:var(--tl-brass2);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:tl-pulse 2.8s ease-out infinite}
.tl-route-here circle:last-child{fill:var(--tl-brass2)}
@keyframes tl-pulse{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.6);opacity:0}}
.tl-route-sm{opacity:.35}
.tl-hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(18rem,.75fr);align-items:center;gap:3rem}
.tl-hero-copy{min-width:0}
.tl-display{margin:0;max-width:16ch;font:700 clamp(2.7rem,6.2vw,5.4rem)/.98 var(--tl-serif);letter-spacing:-.035em;color:#fff;text-wrap:balance;text-shadow:0 2px 0 rgb(0 0 0/.25),0 18px 40px rgb(0 0 0/.35)}
.tl-lead{margin:1.2rem 0 0;max-width:42rem;color:#d7e4da;font:1.15rem/1.6 var(--tl-serif)}
.tl-stats{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:0;padding:1rem;list-style:none;border-radius:20px;background:rgb(10 29 20/.45);border:1px solid var(--tl-glass-line);box-shadow:inset 0 1px 0 rgb(255 255 255/.08),0 30px 60px -30px rgb(0 0 0/.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.tl-stats li{display:grid;gap:.15rem;min-width:0;padding:.95rem 1.1rem;border-radius:14px;border:1px solid var(--tl-brass-dim);background:rgb(15 42 30/.5)}
.tl-stats strong{font:700 1.75rem/1.1 var(--tl-serif);color:var(--tl-brass2)}
.tl-stats span{color:#b9cdbf;font-size:.78rem;letter-spacing:.03em}
.tl-hero-empty{padding:3.4rem 0 3rem}
.tl-hero-empty .tl-hero-in{grid-template-columns:1fr}

/* ---------- stage (timeline area) ---------- */
.tl-stage{padding-top:2.4rem;padding-bottom:3.6rem}
.tl-stage-head{display:flex;justify-content:center;margin-bottom:.3rem}
.tl-stage-note{display:inline-flex;align-items:center;gap:.45rem;margin:0;padding:.45rem 1rem;border-radius:999px;background:var(--tl-paper);border:1px solid var(--line);color:var(--muted);font-size:.78rem;font-weight:700;box-shadow:var(--tl-sh)}
.tl-stage-note .i{color:var(--tl-brass-ink)}
.tl-section-head{position:relative;display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:.4rem 1rem;margin-bottom:1.1rem;padding-bottom:.7rem;border-bottom:1px solid var(--line)}
.tl-section-head::after{content:"";position:absolute;left:0;bottom:-1px;width:5rem;height:3px;background:linear-gradient(90deg,var(--tl-brass),var(--tl-brass-dim))}
.tl-section-head h2{margin:0;font:700 1.45rem/1.15 var(--tl-serif);letter-spacing:-.02em;color:var(--text)}
.tl-section-note{color:var(--muted);font:700 .72rem/1.2 var(--tl-sans);letter-spacing:.1em;text-transform:uppercase}
.tl-gap{margin-top:2.8rem}
.tl-hint{display:flex;align-items:center;gap:.6rem;margin:0 0 1.8rem;padding:1rem 1.2rem;border-radius:14px;border:1px dashed var(--tl-brass-dim);background:var(--tl-paper);color:var(--text);font-weight:600}
.tl-hint .i{color:var(--tl-brass-ink)}

/* ---------- the timeline ---------- */
.tl-line{--sp:50%;--nw:4.4rem;--ml:calc(var(--sp) + var(--nw)/2 + .9rem);--cx:calc(var(--ml) - var(--sp));position:relative;padding:1.6rem 0 .6rem}
.tl-line::before{content:"";position:absolute;top:.2rem;bottom:0;left:var(--sp);width:3px;transform:translateX(-50%);border-radius:3px;background:linear-gradient(180deg,var(--tl-brass2),var(--tl-brass) 5rem,color-mix(in srgb,var(--tl-brass) 60%,var(--line)) 45%,color-mix(in srgb,var(--tl-brass) 30%,var(--line)))}
.tl-cap{position:absolute;left:var(--sp);top:0;width:.95rem;height:.95rem;transform:translate(-50%,-50%);border-radius:50%;background:var(--tl-brass2);box-shadow:0 0 0 .4rem rgb(201 162 74/.25),0 0 30px .5rem rgb(201 162 74/.55)}
.tl-month{position:relative;z-index:1;display:flex;justify-content:center;margin:2.6rem 0 .2rem}
.tl-month span{display:inline-flex;align-items:baseline;gap:.45rem;padding:.6rem 1.5rem;border-radius:999px;background:linear-gradient(180deg,var(--tl-forest2),var(--tl-forest));color:#fff;font:700 1.4rem/1 var(--tl-serif);letter-spacing:-.01em;box-shadow:0 0 0 5px var(--tl-stone),0 14px 28px -12px rgb(15 42 30/.6)}
.tl-month b{color:var(--tl-brass2);font-weight:400;font-style:italic}
.tl-day{position:relative}
.tl-daymark{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:0 1rem;margin:1.9rem 0 1rem}
.tl-daymark .tl-node{grid-column:2}
.tl-dow{grid-column:3;display:grid;min-width:0;line-height:1.15;color:var(--text)}
.tl-dow time{display:grid}
.tl-dow-main{font:700 1.08rem/1.2 var(--tl-serif)}
.tl-dow small{color:var(--muted);font-size:.78rem}
.tl-node{display:grid;place-content:center;justify-items:center;width:var(--nw);height:var(--nw);flex:none;border-radius:50%;color:#fff;background:radial-gradient(circle at 30% 25%,var(--tl-forest3),var(--tl-forest) 72%);box-shadow:0 0 0 .3rem var(--tl-stone),0 0 0 calc(.3rem + 2px) var(--tl-brass),0 16px 28px -12px rgb(15 42 30/.7),inset 0 1px 0 rgb(255 255 255/.18)}
.tl-dnum{font:700 1.6rem/1 var(--tl-serif);letter-spacing:-.02em}
.tl-dmon{margin-top:.2rem;color:var(--tl-brass2);font:700 .72rem/1 var(--tl-sans);letter-spacing:.14em;text-transform:uppercase}
.tl-node-pin{background:linear-gradient(150deg,var(--tl-brass2),var(--tl-brass));color:var(--tl-forest);box-shadow:0 0 0 .3rem var(--tl-stone),0 0 0 calc(.3rem + 2px) var(--tl-brass-dim),0 16px 28px -12px rgb(201 162 74/.7),inset 0 1px 0 rgb(255 255 255/.5)}
.tl-node-pin .i,.tl-node-more .i,.tl-node-lone .i{width:1.6rem;height:1.6rem;stroke-width:2}
.tl-pinned .tl-dow-main{color:var(--tl-brass-ink)}
.tl-items{display:flex;flex-direction:column;gap:1.25rem}
.tl-card{position:relative;width:calc(50% - 3rem);min-width:0;padding:1.3rem 1.4rem 1.1rem;border-radius:18px;background:var(--tl-paper);border:1px solid var(--line);border-top:3px solid var(--c,var(--accent));box-shadow:var(--tl-sh);transition:transform .3s var(--tl-ease),box-shadow .3s var(--tl-ease),border-color .3s}
.tl-card:hover{transform:translateY(-4px);box-shadow:var(--tl-sh-lift);border-color:color-mix(in srgb,var(--c,var(--accent)) 40%,var(--line));border-top-color:var(--c,var(--accent))}
.tl-items>.tl-card:nth-child(n+2){margin-top:-3.6rem}
.tl-left{margin-right:auto}
.tl-right{margin-left:auto}
.tl-card::before{content:"";position:absolute;top:2.1rem;width:3rem;height:2px;background:var(--tl-brass);opacity:.75}
.tl-card::after{content:"";position:absolute;top:calc(2.1rem - .4rem);width:.95rem;height:.95rem;border-radius:50%;background:var(--tl-brass);box-shadow:0 0 0 3px var(--tl-stone),0 0 0 4px rgb(201 162 74/.5);transition:box-shadow .3s}
.tl-card:hover::after{box-shadow:0 0 0 3px var(--tl-stone),0 0 0 6px rgb(201 162 74/.45),0 0 18px 4px rgb(201 162 74/.5)}
.tl-left::before{right:-3rem}
.tl-left::after{right:calc(-3rem - .475rem)}
.tl-right::before{left:-3rem}
.tl-right::after{left:calc(-3rem - .475rem)}
.tl-card-pinned{border-top-color:var(--tl-brass);background:linear-gradient(180deg,color-mix(in srgb,var(--tl-brass) 9%,var(--tl-paper)),var(--tl-paper) 40%)}
.tl-card-top{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.7rem}
.tl-time{display:inline-flex;align-items:center;gap:.35rem;color:var(--tl-brass-ink);font:700 .78rem/1 var(--tl-sans);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.tl-chip{position:relative;z-index:1;display:inline-flex;align-items:center;gap:.35rem;min-height:1.75rem;padding:.2rem .7rem .2rem .55rem;border-radius:999px;background:var(--cbg,color-mix(in srgb,var(--accent) 12%,var(--tl-paper)));color:var(--c,var(--accent));font-size:.74rem;font-weight:700;transition:transform .2s}
.tl-chip:hover{transform:translateY(-1px);text-decoration:underline;text-underline-offset:2px}
.tl-pinned-tag{display:inline-flex;align-items:center;gap:.3rem;margin-left:auto;color:var(--tl-brass-ink);font:700 .72rem/1 var(--tl-sans);letter-spacing:.12em;text-transform:uppercase}
.tl-card-hl{margin:0;font:700 1.25rem/1.25 var(--tl-serif);letter-spacing:-.02em;color:var(--text);overflow-wrap:anywhere}
.tl-card-hl a{color:inherit;transition:color .2s}
.tl-card-hl a::after{content:"";position:absolute;inset:0;border-radius:18px}
.tl-card:hover .tl-card-hl a{color:var(--accent)}
.tl-card-pinned .tl-card-hl{font-size:1.5rem}
.tl-card-ex{margin:.6rem 0 0;color:var(--muted);font:.95rem/1.55 var(--tl-serif);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tl-card-foot{display:flex;align-items:center;gap:.55rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.tl-card-foot .avatar{width:1.8rem;height:1.8rem;font-size:.75rem}
.tl-card-by{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tl-author{color:var(--text);font-weight:700}
.tl-card-host{display:inline-flex;align-items:center;gap:.3rem;margin-left:auto;min-width:0;max-width:50%;font-size:.76rem}
.tl-card-host .i{color:var(--tl-brass-ink)}
.tl-host-txt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tl-end{position:relative;z-index:1;margin-top:2.4rem}
.tl-endnode{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:0 1rem;color:var(--text)}
.tl-endnode .tl-node{grid-column:2}
.tl-node-more{--nw:3.4rem;background:linear-gradient(150deg,var(--tl-brass2),var(--tl-brass));color:var(--tl-forest);box-shadow:0 0 0 .3rem var(--tl-stone),0 0 0 calc(.3rem + 2px) var(--tl-brass-dim),0 14px 26px -10px rgb(201 162 74/.7);transition:transform .25s var(--tl-ease)}
a.tl-endnode:hover .tl-node-more{transform:translateY(4px)}
.tl-end-text{grid-column:3;justify-self:start;display:inline-flex;align-items:center;gap:.4rem;min-height:2.75rem;padding:.6rem 1.3rem;border-radius:12px;background:linear-gradient(180deg,var(--tl-forest2),var(--tl-forest));color:#fff;font:700 .95rem var(--tl-sans);box-shadow:0 10px 24px -10px rgb(15 42 30/.7);transition:transform .2s}
a.tl-endnode:hover .tl-end-text{transform:translateX(3px)}
.tl-endnode-start .tl-end-text{background:var(--tl-paper);color:var(--text);border:1px solid var(--line);box-shadow:var(--tl-sh);font-family:var(--tl-serif);font-style:italic}
.tl-stage>.tl-mini{max-width:60rem}
.tl-mini{--sp:1.4rem;--nw:2.9rem;--ml:calc(var(--sp) + var(--nw)/2 + 1rem);padding:1.2rem 0 .3rem}
.tl-mini .tl-daymark,.tl-mini .tl-endnode{grid-template-columns:auto 1fr;gap:0 .9rem;margin:1.1rem 0 .6rem}
.tl-mini .tl-daymark .tl-node,.tl-mini .tl-endnode .tl-node{grid-column:1;margin-left:calc(var(--sp) - var(--nw)/2)}
.tl-mini .tl-dow,.tl-mini .tl-end-text{grid-column:2}
.tl-mini .tl-dnum{font-size:1.15rem}
.tl-mini .tl-dow-main{font-size:.95rem}
.tl-mini .tl-dow small{font-size:.74rem}
.tl-mini .tl-month{justify-content:flex-start}
.tl-mini .tl-month span{padding:.4rem 1rem;font-size:1rem;box-shadow:0 0 0 4px var(--tl-stone)}
.tl-mini .tl-items{gap:.8rem}
.tl-mini .tl-card{width:auto;margin:0 0 0 var(--ml);padding:.95rem 1.05rem .8rem;border-radius:14px}
.tl-mini .tl-card::before{right:auto;left:calc(-1*var(--cx));width:var(--cx);top:1.6rem}
.tl-mini .tl-card::after{right:auto;left:calc(-1*var(--cx) - .475rem);top:calc(1.6rem - .4rem);width:.85rem;height:.85rem}
.tl-mini .tl-card-hl{font-size:1.02rem}
.tl-mini .tl-card-hl a::after{border-radius:14px}
.tl-mini .tl-card-top{margin-bottom:.45rem}
.tl-mini .tl-card-foot{margin-top:.7rem;padding-top:.6rem}
.tl-mini .tl-card-host{display:none}
.tl-mini .tl-items>.tl-card:nth-child(n+2){margin-top:0}

/* ---------- topic band ---------- */
.tl-topicband{position:relative;padding:3.4rem 0 3.8rem;color:#fff;background:radial-gradient(50rem 22rem at 100% 0,rgb(201 162 74/.18),transparent 60%),linear-gradient(180deg,var(--tl-forest2),var(--tl-forest));border-top:3px solid var(--tl-brass)}
.tl-band-head{display:grid;gap:.3rem;margin-bottom:1.7rem}
.tl-band-head .tl-label{margin-bottom:.3rem}
.tl-band-head h2{margin:0;font:700 clamp(1.8rem,3.2vw,2.5rem)/1.1 var(--tl-serif);letter-spacing:-.025em;color:#fff}
.tl-band-note{margin:0;color:#b9cdbf;font-size:.95rem}
.tl-topics ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:.65rem;margin:0;padding:0;list-style:none}
.tl-topics a{display:flex;align-items:center;gap:.65rem;min-height:3.3rem;padding:.6rem .8rem;border-radius:14px;background:var(--tl-paper);border:1px solid var(--line);color:var(--text);font-weight:600;font-size:.9rem;box-shadow:var(--tl-sh);transition:transform .25s var(--tl-ease),box-shadow .25s,border-color .25s}
.tl-topics a:hover{transform:translateY(-3px);box-shadow:var(--tl-sh-lift);border-color:color-mix(in srgb,var(--c,var(--accent)) 45%,var(--line))}
.tl-topic-ico{display:grid;place-items:center;width:2.15rem;height:2.15rem;flex:none;border-radius:10px;background:var(--cbg,var(--tl-stone));color:var(--c,var(--accent))}
.tl-topic-name{flex:1;min-width:0}
.tl-topic-n{padding:.15rem .6rem;border-radius:99px;background:color-mix(in srgb,var(--c,var(--accent)) 10%,var(--tl-paper));color:var(--c,var(--accent));font-size:.74rem;font-weight:700;font-variant-numeric:tabular-nums}

/* ---------- page head (inner pages) ---------- */
.tl-pagehead{position:relative;overflow:hidden;color:#fff;background:radial-gradient(50rem 24rem at 90% -20%,rgb(201 162 74/.2),transparent 60%),linear-gradient(160deg,var(--tl-forest),var(--tl-forest3));padding:3rem 0 2.7rem}
.tl-pagehead::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--tl-brass-dim),var(--tl-brass2),var(--tl-brass-dim))}
.tl-pagehead-in{position:relative}
.tl-title{margin:0;display:flex;align-items:center;gap:.9rem;font:700 clamp(2rem,4.2vw,3.4rem)/1.08 var(--tl-serif);letter-spacing:-.03em;color:#fff;text-wrap:balance;overflow-wrap:anywhere}
.tl-title-ico{display:grid;place-items:center;width:3.3rem;height:3.3rem;flex:none;border-radius:14px;color:#fff;background:linear-gradient(150deg,color-mix(in srgb,var(--c,var(--accent)) 70%,#fff),var(--c,var(--accent)));box-shadow:inset 0 1px 0 rgb(255 255 255/.5),0 10px 22px -8px rgb(0 0 0/.6)}
.tl-title-ico .i{width:1.6rem;height:1.6rem}
.tl-search{display:flex;align-items:center;width:min(100%,36rem);height:3.3rem;margin-top:1.5rem;border-radius:14px;background:rgb(255 255 255/.08);border:1px solid var(--tl-glass-line);box-shadow:inset 0 1px 0 rgb(255 255 255/.1);transition:border-color .2s,box-shadow .2s}
.tl-search:focus-within{border-color:var(--tl-brass);box-shadow:0 0 0 4px rgb(201 162 74/.22)}
.tl-search>.i{width:1.2rem;height:1.2rem;margin:0 .8rem 0 1rem;color:var(--tl-brass)}
.tl-search input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:#fff;font:1rem var(--tl-sans)}
.tl-search input::placeholder{color:#9db5a5}
.tl-search button{align-self:stretch;margin:.35rem;padding:0 1.2rem;border:0;border-radius:10px;background:linear-gradient(180deg,var(--tl-brass2),var(--tl-brass));color:var(--tl-forest);font:700 .88rem var(--tl-sans);cursor:pointer}
.tl-search button:hover{background:linear-gradient(180deg,#f3d98a,var(--tl-brass2))}
.t-chronological_timeline .pager{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:2.4rem}
.t-chronological_timeline .pg{display:inline-flex;align-items:center;gap:.4rem;min-height:2.75rem;padding:.6rem 1.3rem;border:0;border-radius:12px;background:linear-gradient(180deg,var(--tl-brass2),var(--tl-brass));color:var(--tl-forest);font:700 .92rem var(--tl-sans);box-shadow:inset 0 1px 0 rgb(255 255 255/.6),0 10px 24px -8px rgb(201 162 74/.6);transition:transform .2s}
.t-chronological_timeline a.pg:hover{transform:translateY(-2px)}
.t-chronological_timeline .pg .i{display:none}
.t-chronological_timeline .pager>.pg:first-child::before{content:"↑"}
.t-chronological_timeline .pager>.pg:last-child::after{content:"↓"}
.t-chronological_timeline .pg.disabled{opacity:.4;filter:grayscale(1);box-shadow:none}
.t-chronological_timeline .pageno{font:italic 1rem var(--tl-serif);color:var(--muted)}
.tl-btn{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.6rem 1.3rem;border:0;border-radius:12px;font:700 .92rem var(--tl-sans);cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.tl-btn:hover{transform:translateY(-2px)}
.tl-btn-brass{background:linear-gradient(180deg,var(--tl-brass2),var(--tl-brass));color:var(--tl-forest);box-shadow:inset 0 1px 0 rgb(255 255 255/.6),0 10px 24px -8px rgb(201 162 74/.7)}
.tl-btn-brass:hover{background:linear-gradient(180deg,#f3d98a,var(--tl-brass2))}
.tl-btn-forest{background:linear-gradient(180deg,var(--tl-forest2),var(--tl-forest));color:#fff;box-shadow:0 10px 24px -10px rgb(15 42 30/.7)}
.tl-btn-forest:hover{background:linear-gradient(180deg,var(--tl-forest3),var(--tl-forest2))}

/* ---------- a moment (post) ---------- */
.tl-moment-head .wrap{max-width:62rem}
.tl-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.4rem;color:#9db5a5;font-size:.8rem;letter-spacing:.04em}
.tl-crumbs a{display:inline-flex;align-items:center;color:#d7e4da;font-weight:600}
.tl-crumbs a:hover{color:var(--tl-brass2)}
.tl-moment-when{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem}
.tl-node-big{--nw:5.8rem;box-shadow:0 0 0 .35rem rgb(255 255 255/.08),0 0 0 calc(.35rem + 2px) var(--tl-brass),0 20px 34px -14px rgb(0 0 0/.7),inset 0 1px 0 rgb(255 255 255/.18)}
.tl-node-big .tl-dnum{font-size:2.2rem}
.tl-moment-meta{min-width:0}
.tl-moment-meta .tl-label{margin-bottom:.45rem}
.tl-moment-date{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;margin:0;font:700 1.15rem/1.3 var(--tl-serif)}
.tl-moment-time{display:inline-flex;align-items:center;gap:.35rem;color:var(--tl-brass2);font:700 .95rem var(--tl-sans);font-variant-numeric:tabular-nums}
.tl-moment-time small{color:#b9cdbf;font-size:.78rem;font-weight:600}
.tl-moment-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:.65rem 0 0}
.tl-chip-dark{background:rgb(255 255 255/.12);color:#fff;border:1px solid var(--tl-glass-line);min-height:2rem;font-size:.78rem}
.tl-chip-dark:hover{background:var(--tl-brass);color:var(--tl-forest);text-decoration:none}
.tl-readtime{color:#b9cdbf;font-size:.8rem;font-weight:600}
.tl-moment-title{display:block;font-size:clamp(2rem,4.4vw,3.3rem)}
.tl-moment-lead{max-width:46rem}
.tl-moment-by{display:flex;align-items:center;gap:.6rem;margin:1.3rem 0 0;color:#d7e4da;font-size:.9rem}
.tl-moment-by .avatar{width:2rem;height:2rem;font-size:.8rem}
.tl-moment-by .tl-author{color:#fff}
.tl-moment-grid{display:grid;grid-template-columns:minmax(0,1fr) 22rem;gap:3rem;padding-top:2.6rem;padding-bottom:3.6rem}
.tl-moment-main{min-width:0}
.tl-sheet{padding:2rem 2.4rem;border-radius:20px;background:var(--tl-paper);border:1px solid var(--line);box-shadow:var(--tl-sh)}
.tl-body{font:1.12rem/1.85 var(--tl-serif);color:var(--text)}
.tl-body p{margin:0 0 1.2em}
.tl-body p:last-child{margin-bottom:0}
.tl-body>p:first-child::first-letter{float:left;font-size:4em;line-height:.82;padding:.08em .14em 0 0;font-weight:700;color:var(--accent)}
.tl-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:1.6rem 0 0;padding-top:1.2rem;border-top:1px solid var(--line);clear:both}
.tl-tags-label{display:inline-flex;align-items:center;gap:.35rem;margin-right:.3rem;color:var(--tl-brass-ink);font:700 .72rem var(--tl-sans);letter-spacing:.14em;text-transform:uppercase}
.tl-tag{padding:.25rem .75rem;border-radius:999px;background:var(--tl-stone);border:1px solid var(--line);font:600 .8rem var(--tl-sans);color:var(--text)}
.tl-updated{margin:1rem 0 0;color:var(--muted);font:italic .9rem var(--tl-serif)}
.tl-site{position:relative;margin-top:1.6rem;padding:1.5rem 1.7rem;border-radius:20px;color:#fff;background:radial-gradient(30rem 12rem at 100% 0,rgb(201 162 74/.25),transparent 60%),linear-gradient(135deg,var(--tl-forest2),var(--tl-forest));box-shadow:0 30px 50px -28px rgb(15 42 30/.8);overflow:hidden}
.tl-site::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--tl-brass2),var(--tl-brass-dim))}
.tl-site-label{margin:0 0 .8rem;color:var(--tl-brass2);font:700 .72rem var(--tl-sans);letter-spacing:.16em;text-transform:uppercase}
.tl-site-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem}
.tl-site-logo{display:grid;place-items:center;width:3.4rem;height:3.4rem;flex:none;border-radius:12px;object-fit:cover;background:rgb(255 255 255/.1);box-shadow:0 0 0 3px rgb(255 255 255/.15);color:var(--tl-brass2)}
.tl-site-logo .i{width:1.6rem;height:1.6rem}
.tl-site-text{flex:1;min-width:14rem}
.tl-site-host{margin:0;font:700 1.25rem/1.25 var(--tl-serif);overflow-wrap:anywhere}
.tl-site-note{margin:.3rem 0 0;color:#b9cdbf;font-size:.8rem;line-height:1.45}
.tl-visit{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:.7rem 1.2rem;border-radius:12px;background:linear-gradient(180deg,var(--tl-brass2),var(--tl-brass));color:var(--tl-forest);font-weight:700;font-size:.9rem;box-shadow:inset 0 1px 0 rgb(255 255 255/.6),0 10px 24px -8px rgb(201 162 74/.7);max-width:100%;overflow-wrap:anywhere;transition:transform .2s}
.tl-visit:hover{transform:translateY(-2px)}
.tl-moment-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1rem;margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.92rem}
.tl-back,.tl-report{display:inline-flex;align-items:center;gap:.4rem;min-height:2.5rem;color:var(--accent);font-weight:700}
.tl-report{text-decoration:underline;text-underline-offset:3px}
.tl-back:hover,.tl-report:hover{color:var(--tl-brass-ink)}
.tl-moment-side{align-self:start;min-width:0}
.tl-side-empty{margin:0;color:var(--muted)}
.tl-side-empty a{color:var(--accent);font-weight:700}
.tl-side-link{display:inline-flex;align-items:center;gap:.4rem;min-height:2.5rem;margin-top:.8rem;color:var(--accent);font-weight:700;font-size:.9rem}
.tl-side-link:hover{color:var(--tl-brass-ink)}

/* ---------- about ---------- */
.tl-about{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(16rem,.8fr);gap:2.4rem;align-items:start}
.tl-about-lede{font-size:1.3rem;line-height:1.5;color:var(--tl-forest)}
.tl-about-text a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.tl-logbook{padding:1.6rem 1.7rem;border-radius:20px;color:#fff;background:linear-gradient(160deg,var(--tl-forest2),var(--tl-forest));box-shadow:0 30px 50px -28px rgb(15 42 30/.8)}
.tl-logbook h2{margin:0 0 1rem;padding-bottom:.6rem;border-bottom:1px solid var(--tl-brass-dim);color:var(--tl-brass2);font:700 .8rem var(--tl-sans);letter-spacing:.16em;text-transform:uppercase}
.tl-logbook dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.55rem 1rem;font-size:.92rem}
.tl-logbook dt{color:var(--tl-brass2);font:700 .72rem var(--tl-sans);letter-spacing:.14em;text-transform:uppercase;padding-top:.25rem}
.tl-logbook dd{margin:0;color:#d7e4da;overflow-wrap:anywhere}
.tl-logbook a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.tl-side-link-light{color:var(--tl-brass2)}
.tl-side-link-light:hover{color:#fff}

/* ---------- report ---------- */
.tl-form,.tl-sent{max-width:50rem}
.tl-form-error{margin:0 0 1rem;padding:.75rem 1rem;border-radius:10px;border-left:3px solid #b42318;background:#fdecea;color:#7a1a12;font-weight:600}
.tl-form-about{display:grid;gap:.2rem;margin-bottom:1.5rem;padding:1rem 1.2rem;border-radius:14px;border-left:4px solid var(--tl-brass);background:color-mix(in srgb,var(--tl-brass) 10%,var(--tl-paper))}
.tl-form-label{color:var(--tl-brass-ink);font:700 .72rem var(--tl-sans);letter-spacing:.14em;text-transform:uppercase}
.tl-form-about strong{font:700 1.2rem/1.25 var(--tl-serif);overflow-wrap:anywhere}
.tl-form-about span:last-child{color:var(--muted);font-size:.85rem;overflow-wrap:anywhere}
.tl-reasons{display:grid;grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.6rem;margin:0 0 1.3rem;padding:0;border:0}
.tl-reasons legend{margin-bottom:.6rem;font:700 1.15rem var(--tl-serif)}
.tl-reason{display:flex;align-items:center;gap:.6rem;min-height:2.75rem;padding:.75rem .9rem;border-radius:12px;border:1px solid var(--line);background:var(--tl-stone);cursor:pointer;font-size:.92rem;transition:border-color .2s,background .2s}
.tl-reason input{accent-color:var(--accent)}
.tl-reason:hover{border-color:var(--tl-brass)}
.tl-reason:has(input:checked){border-color:var(--tl-brass);background:color-mix(in srgb,var(--tl-brass) 12%,var(--tl-paper))}
.tl-field{display:grid;gap:.4rem;margin-bottom:1.1rem;font-weight:700}
.tl-field em{font-weight:400;color:var(--muted);font-size:.85rem}
.tl-field textarea,.tl-field input{width:100%;padding:.75rem .9rem;border:1px solid var(--line);border-radius:12px;background:var(--tl-stone);font:inherit;font-weight:400;color:var(--text)}
.tl-field textarea:focus,.tl-field input:focus{outline:none;border-color:var(--tl-brass);box-shadow:0 0 0 4px rgb(201 162 74/.25)}
.tl-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem}
.tl-form-actions a{display:inline-flex;align-items:center;min-height:2.5rem;color:var(--muted);font-weight:600}
.tl-form-actions a:hover{color:var(--text)}
.tl-form-note{margin:1rem 0 0;color:var(--muted);font-size:.82rem}
.tl-sent{text-align:center;padding-block:2.8rem}
.tl-sent-mark{display:inline-grid;place-items:center;width:4.2rem;height:4.2rem;border-radius:50%;color:var(--tl-forest);background:linear-gradient(150deg,var(--tl-brass2),var(--tl-brass));box-shadow:0 0 0 .4rem rgb(201 162 74/.2),0 14px 28px -10px rgb(201 162 74/.7)}
.tl-sent-mark .i{width:2rem;height:2rem;stroke-width:2.4}
.tl-sent h2{margin:1rem 0 .4rem;font:700 1.7rem var(--tl-serif)}
.tl-sent p{margin:0 auto 1.4rem;max-width:30rem;color:var(--muted)}

/* ---------- 404 + empty ---------- */
.tl-404-links{margin:0}
.tl-empty{position:relative;padding:2.6rem 1.5rem;text-align:center;border-radius:20px;border:1px dashed var(--tl-brass-dim);background:var(--tl-paper)}
.tl-empty-spine{position:relative;display:grid;justify-items:center;align-items:end;width:4.6rem;height:8rem;margin:0 auto 1.1rem;padding-bottom:.2rem}
.tl-empty-spine::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;transform:translateX(-50%);border-radius:3px;background:linear-gradient(180deg,var(--tl-brass2),transparent)}
.tl-empty-spine .tl-cap{left:50%;top:0}
.tl-node-lone{--nw:3.6rem;position:relative;color:var(--tl-brass2)}
.tl-empty-title{margin:0;font:700 1.45rem/1.25 var(--tl-serif);color:var(--text)}
.tl-empty-text{margin:.5rem auto 1.3rem;max-width:32rem;color:var(--muted)}

/* ---------- footer ---------- */
.tl-foot{color:#c9d8ce;background:linear-gradient(180deg,var(--tl-forest),var(--tl-forest-deep));border-top:3px solid var(--tl-brass)}
.tl-foot-grid{display:grid;grid-template-columns:minmax(16rem,1.1fr) minmax(0,2fr) minmax(12rem,.9fr);gap:2.5rem;padding-top:2.6rem;padding-bottom:2rem}
.tl-foot-plate{color:#fff}
.tl-foot-desc{margin:1rem 0 0;max-width:26rem;color:#b9cdbf;font-size:.9rem;line-height:1.6}
.tl-foot-network{display:inline-flex;align-items:center;gap:.5rem;min-height:2.5rem;margin-top:1.1rem;padding:.5rem .85rem;border-radius:10px;background:var(--tl-glass);border:1px solid var(--tl-glass-line);font-size:.82rem;color:#fff}
.tl-foot-network:hover{border-color:var(--tl-brass-dim)}
.tl-foot-h{margin:0 0 .6rem;color:var(--tl-brass2);font:700 .72rem var(--tl-sans);letter-spacing:.16em;text-transform:uppercase}
.tl-foot ul{margin:0;padding:0;list-style:none}
.tl-foot-topics ul{columns:3;column-gap:1.5rem}
.tl-foot li{break-inside:avoid}
.tl-foot li a{display:inline-flex;align-items:center;min-height:2.1rem;font-size:.88rem;color:#c9d8ce}
.tl-foot li a:hover{color:var(--tl-brass2)}
.tl-foot-fine{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem 2rem;padding-top:1rem;padding-bottom:1.5rem;border-top:1px solid var(--tl-glass-line);color:#9db5a5;font-size:.76rem}
.tl-foot-fine p{margin:0}

/* ---------- responsive ---------- */
@media (max-width:70rem){
  .t-chronological_timeline .wrap{padding-inline:1.5rem}
  .tl-moment-grid{grid-template-columns:1fr;gap:2.4rem}
  .tl-about{grid-template-columns:1fr}
  .tl-foot-grid{grid-template-columns:1fr 1fr}
  .tl-foot-brand{grid-column:1/-1}
  .tl-foot-topics ul{columns:2}
}
@media (max-width:56rem){
  .tl-head-row{flex-wrap:wrap;gap:.6rem 1rem;padding-block:.8rem}
  .tl-brand{flex:1 1 100%}
  .tl-nav{margin-left:-.5rem}
  .tl-hsearch{flex:1 1 10rem;width:auto}
  .tl-hero{padding:3rem 0 2.6rem}
  .tl-hero-in{grid-template-columns:1fr;gap:1.8rem}

  /* single-sided timeline: spine on the left, nodes on the spine, cards to the right */
  .tl-line{--sp:1.7rem;--nw:3.4rem;--ml:calc(var(--sp) + var(--nw)/2 + .9rem)}
  .tl-daymark,.tl-endnode{grid-template-columns:auto 1fr;gap:0 .9rem}
  .tl-daymark .tl-node,.tl-endnode .tl-node{grid-column:1;margin-left:calc(var(--sp) - var(--nw)/2)}
  .tl-dow,.tl-end-text{grid-column:2}
  .tl-dnum{font-size:1.3rem}
  .tl-month{justify-content:flex-start}
  .tl-month span{padding:.5rem 1.2rem;font-size:1.15rem}
  .tl-card,.tl-items>.tl-card:nth-child(n+2){width:auto;margin:0 0 0 var(--ml)}
  .tl-card::before{right:auto;left:calc(-1*var(--cx));width:var(--cx)}
  .tl-card::after{right:auto;left:calc(-1*var(--cx) - .475rem)}
  .tl-card-pinned .tl-card-hl{font-size:1.3rem}
  .tl-moment-when{gap:1.1rem}
}
@media (max-width:40rem){
  .t-chronological_timeline .wrap{padding-inline:1rem}
  .tl-brand-name{font-size:1.2rem}
  .tl-nav{gap:0}
  .tl-nav a{padding:0 .75rem;font-size:.86rem}
  .tl-hsearch{flex:1 1 100%}
  .tl-hero{padding:2.4rem 0 2.2rem}
  .tl-display{font-size:2.5rem}
  .tl-lead{font-size:1.04rem}
  .tl-stats{gap:.5rem;padding:.6rem}
  .tl-stats li{padding:.75rem .9rem}
  .tl-stats strong{font-size:1.4rem}
  .tl-stage{padding-top:1.8rem;padding-bottom:2.6rem}
  .tl-line{--sp:1.4rem;--nw:3rem;--ml:calc(var(--sp) + var(--nw)/2 + .7rem)}
  .tl-mini{--sp:1.2rem;--nw:2.6rem;--ml:calc(var(--sp) + var(--nw)/2 + .7rem)}
  .tl-dnum{font-size:1.15rem}
  .tl-dow-main{font-size:.98rem}
  .tl-card{padding:1rem 1rem .85rem}
  .tl-card-hl{font-size:1.1rem}
  .tl-card-pinned .tl-card-hl{font-size:1.2rem}
  .tl-card-host{display:none}
  .tl-route{opacity:.3}
  .tl-end-text{padding:.55rem 1rem;font-size:.88rem}
  .tl-topicband{padding:2.4rem 0 2.8rem}
  .tl-topics ul{grid-template-columns:1fr}
  .tl-pagehead{padding:2rem 0 1.9rem}
  .tl-title{font-size:1.85rem;gap:.7rem}
  .tl-title-ico{width:2.6rem;height:2.6rem}
  .tl-search{height:3rem}
  .tl-search button{padding:0 .9rem}
  .tl-moment-when{align-items:start}
  .tl-node-big{--nw:4.4rem}
  .tl-node-big .tl-dnum{font-size:1.7rem}
  .tl-moment-title{font-size:1.85rem}
  .tl-moment-date{font-size:1.02rem}
  .tl-sheet{padding:1.3rem 1.1rem}
  .tl-body{font-size:1.04rem}
  .tl-site{padding:1.2rem}
  .tl-site-text{min-width:0;flex-basis:100%}
  .tl-visit{width:100%;justify-content:center}
  .tl-moment-foot{flex-direction:column;align-items:start}
  .tl-logbook dl{grid-template-columns:1fr;gap:.2rem}
  .tl-logbook dd{margin-bottom:.6rem}
  .tl-form-actions{gap:.8rem}
  .tl-foot-grid{grid-template-columns:1fr;gap:1.8rem;padding-top:2rem}
  .tl-foot-topics ul{columns:2}
  .tl-empty{padding:2rem 1rem}
  .t-chronological_timeline .pager{gap:.6rem}
  .t-chronological_timeline .pg{padding:.6rem 1rem}
}
@media (max-width:48rem){
  .tl-crumbs a,.tl-side-empty a,.tl-about-text a,.tl-logbook a,.tl-foot a,.tl-chip{min-height:2.5rem;align-items:center}
  .tl-side-empty a,.tl-about-text a,.tl-logbook a{display:inline-flex}
}
@media (prefers-reduced-motion:reduce){
  .tl-route-here circle:first-child{animation:none!important}
  .t-chronological_timeline *{transition:none!important}
}
@media print{
  .tl-head,.tl-foot,.tl-search,.tl-hsearch,.tl-topicband,.tl-route{display:none!important}
  .tl-hero,.tl-pagehead{background:#fff;color:#000}
}
