/* 1000-world: Wanderkarte mit GR-Wegzeichen */
:root{
  --paper:#f3f6f4;--panel:#e4ebe7;--ink:#14302a;--muted:#51665f;--line:#b9c8c1;
  --blaze:#d71302;--contour:#7fa093;--s2:#00729e;--note:#fff3c9;--note-ink:#5a4300;--white:#ffffff;
  --display:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --data:ui-monospace,"Cascadia Mono",Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#101c19;--panel:#192925;--ink:#e7f0ec;--muted:#a2b6ae;--line:#34493f;
  --blaze:#e85d50;--s2:#249cc4;--contour:#3f6155;--note:#3b3115;--note-ink:#ffe6a1;--white:#e7f0ec;color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#101c19;--panel:#192925;--ink:#e7f0ec;--muted:#a2b6ae;--line:#34493f;
  --blaze:#e85d50;--s2:#249cc4;--contour:#3f6155;--note:#3b3115;--note-ink:#ffe6a1;--white:#e7f0ec;color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:1rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--body)}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:60rem;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
a{color:inherit;text-underline-offset:.18em}
a:hover{color:var(--blaze)}
a:focus-visible,button:focus-visible{outline:3px solid var(--blaze);outline-offset:2px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--paper);padding:.5rem;z-index:5}
.top{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;justify-content:space-between;padding-block:1rem}
.brand{display:block;text-decoration:none}
.logo{height:46px;width:auto}
.logo.dark{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo.light{display:none}:root:not([data-theme="light"]) .logo.dark{display:block}}
:root[data-theme="dark"] .logo.light{display:none}
:root[data-theme="dark"] .logo.dark{display:block}
nav ul{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin:0;padding:0;list-style:none}
nav a{text-decoration:none}nav a:hover{text-decoration:underline}
.hero{position:relative;overflow:hidden;border-block:1px solid var(--line)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%}
.hero .wrap{position:relative;padding-block:4rem}
.hero.compact .wrap{padding-block:2.25rem}
h1,h2,h3{font-family:var(--display);line-height:1.15;text-wrap:balance}
h1{font-size:clamp(2.3rem,7vw,4.2rem);margin:0;max-width:14em}
.hero.compact h1{font-size:clamp(2rem,5.5vw,3.2rem)}
.lead{max-width:36em;margin:1.25rem 0 0;font-size:1.15rem}
.kicker{margin:0 0 .4rem;font-size:.95rem;color:var(--muted)}
h2{font-size:clamp(1.7rem,4vw,2.3rem);margin:0 0 .75rem}
h3{font-size:1.2rem;margin:0 0 .25rem}
section{padding-block:2.5rem}
.band{background:var(--panel)}
.head{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:end;margin-bottom:1.25rem}
.head h2{margin:0}
.filter{display:flex;gap:.4rem}
.filter button{font:inherit;font-size:.95rem;color:var(--ink);background:none;border:1px solid var(--line);padding:.3rem .8rem;cursor:pointer}
.filter button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.trips{list-style:none;margin:0;padding:0;border-top:2px solid var(--ink)}
.trip{display:grid;grid-template-columns:minmax(0,14rem) minmax(0,1fr) auto;gap:.3rem 1.5rem;padding-block:1.1rem;border-bottom:1px solid var(--line)}
.trip h3{font-size:1.35rem;margin:0}
.trip h3 a{text-decoration:none}
.mode{margin:.1rem 0 0;color:var(--muted);font-size:.9rem}
.trip p.text{margin:0;max-width:34em}
.trip>a{white-space:nowrap;font-weight:600}
.sub{border-bottom:1px solid var(--line)}
.sub ul{padding-block:.6rem}
.prose{max-width:38em}
.prose p{margin:0 0 .9rem}
.thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-top:1.25rem}
.thumbs img{width:100%}
.thumbs a,.hl a{display:block}
.thumbs img,.hl img{width:100%;aspect-ratio:3/2;object-fit:cover}
.top4{margin-top:1.5rem}
.hl{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:.5rem;margin-bottom:1rem}
dialog.lb{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;color:#fff}
dialog.lb::backdrop{background:rgba(5,12,10,.92)}
.lbf{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:1rem;gap:.5rem}
.lbf img{max-width:100%;max-height:calc(100vh - 5rem);width:auto;height:auto}
.lbf p{margin:0;font-size:.95rem}
.lb button{position:absolute;background:rgba(0,0,0,.55);color:#fff;border:0;font-size:1.6rem;line-height:1;width:2.75rem;height:2.75rem;cursor:pointer}
.lb .x{top:.75rem;right:.75rem}.lb .p{left:.5rem;top:50%}.lb .n{right:.5rem;top:50%}
.update{background:var(--note);color:var(--note-ink);padding:.9rem 1rem;margin-top:1.5rem;max-width:44em}
.update p{margin:0}
.items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1.25rem 2rem}
.items>div{min-width:0}
.items p{margin:0}
.tablewrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
th{font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;text-align:left;color:var(--muted);padding:.35rem .75rem .35rem 0;border-bottom:2px solid var(--ink)}
td{padding:.55rem .75rem .55rem 0;border-bottom:1px solid var(--line);vertical-align:top}
td small{display:block;color:var(--muted);font-size:.92rem;line-height:1.45}
td.n,th.n{font-family:var(--data);text-align:right;white-space:nowrap}
.small{font-size:.92rem;color:var(--muted);max-width:42em}
.src{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:.3rem 2rem}
.gal h2{font-size:1.5rem;margin-top:1.5rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.4rem}
.grid img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--panel)}
.packs{columns:2 18rem;column-gap:2rem}
.packs>div{break-inside:avoid;margin-bottom:1.25rem}
.packs ul{margin:.25rem 0 0;padding-left:1.1rem}
.chart,.profile{max-width:640px;margin:0 0 .75rem}
.geo{width:100%;height:auto;display:block}
.geo path{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.geo .r1{stroke:var(--blaze)}.geo .r2{stroke:var(--s2)}
.geo .sc{stroke:var(--muted);stroke-width:2}
.pt{fill:var(--paper);stroke:var(--ink);stroke-width:1.5}
.band .pt{fill:var(--panel)}
.lb{font:600 13px var(--body);fill:var(--ink);paint-order:stroke;stroke:var(--panel);stroke-width:3px}
.ax{font:11.5px var(--body);fill:var(--muted)}
.legend{display:flex;gap:1.25rem;margin:0 0 .5rem;font-size:.92rem}
.legend i{display:inline-block;width:1.2rem;height:3px;margin-right:.4rem;vertical-align:middle;border-radius:2px}
.legend .s1{background:var(--blaze)}.legend .s2{background:var(--s2)}
.gap{margin-top:2rem}
.profile{position:relative;touch-action:pan-y}
.profile svg{width:100%;height:auto;display:block}
.gr{stroke:var(--line);stroke-width:1;opacity:.7}
.tk{stroke:var(--muted);stroke-width:1}
.pl{fill:none;stroke:var(--blaze);stroke-width:2;stroke-linejoin:round}
.ar{fill:var(--blaze);opacity:.12}
.cx{stroke:var(--ink);stroke-width:1}
.cross circle{fill:var(--blaze);stroke:var(--paper);stroke-width:2}
.tip{position:absolute;top:0;transform:translateX(-50%);background:var(--ink);color:var(--paper);font-size:.85rem;padding:.15rem .5rem;white-space:nowrap;pointer-events:none}
footer{border-top:1px solid var(--line);color:var(--muted);font-size:.92rem}
footer .wrap{padding-block:1.25rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between}
footer nav ul{gap:.25rem 1rem}
@media (max-width:42rem){
  .trip{grid-template-columns:minmax(0,1fr)}
  .hero .wrap{padding-block:2.75rem}
  .thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
