@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700&family=Inter:wght@400;500;600&display=swap";:root{--c-bg:#f7f8f6;--c-surface:#fff;--c-border:#e2e5de;--c-text:#1a1f16;--c-muted:#6b7460;--c-accent:#3a6b35;--c-accent-lt:#eaf2e8;--c-pin:#c0392b;--f-display:"Playfair Display", Georgia, serif;--f-body:"Inter", system-ui, sans-serif;--r-card:8px;--shadow:0 2px 12px #00000014}[data-theme=dark]{--c-bg:#14180f;--c-surface:#1d2317;--c-border:#2e3627;--c-text:#edefe9;--c-muted:#9ba694;--c-accent:#6fbf63;--c-accent-lt:#253321;--c-pin:#e06553;--shadow:0 2px 16px #0006}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--f-body);background:var(--c-bg);color:var(--c-text);line-height:1.6;transition:background-color .25s,color .25s}a{color:var(--c-accent);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto;display:block}.container{max-width:900px;margin:0 auto;padding:0 1.25rem}.site-header{background:var(--c-surface);border-bottom:1px solid var(--c-border);z-index:1000;background-image:linear-gradient(90deg,#0000 0%,#3a6b3508 50%,#0000 100%),url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 400 80\"><path d=\"M 0 80 L 50 50 L 100 65 L 150 35 L 200 60 L 250 40 L 300 70 L 350 50 L 400 65 L 400 80 Z\" fill=\"rgba(58,107,53,0.05)\"/></svg>");background-position:0 bottom;background-repeat:repeat-x;background-size:400px 80px;height:76px;padding:.75rem 0;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;height:100%;display:flex}.site-logo{align-items:center;height:100%;display:flex}.logo-img{width:auto;height:56px;display:block}.site-nav{align-items:center;display:flex}.site-nav a{color:var(--c-muted);margin-left:1.5rem;font-size:.9rem;font-weight:500}.site-nav a:hover{color:var(--c-accent);text-decoration:none}.site-footer{border-top:1px solid var(--c-border);text-align:center;color:var(--c-muted);background-image:linear-gradient(135deg,#0000 0% 49.5%,#3a6b3505 49.5% 50.5%,#0000 50.5% 100%);background-position:0 0;background-size:20px 20px;margin-top:4rem;padding:2rem 0;font-size:.85rem}.badge{letter-spacing:.05em;text-transform:uppercase;background:var(--c-accent-lt);color:var(--c-accent);border-radius:4px;padding:.2em .65em;font-size:.72rem;font-weight:600;display:inline-block;position:relative;overflow:hidden}.badge:before{content:"";pointer-events:none;background-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path d=\"M10 12L10 24C10 25.1 10.9 26 12 26C13.1 26 14 25.1 14 24V16M10 12C9 11 8 10 8 8C8 6.9 8.9 6 10 6C11.1 6 12 6.9 12 8V16M14 16V22C14 23.1 14.9 24 16 24C17.1 24 18 23.1 18 22V12M18 12V20C18 21.1 18.9 22 20 22C21.1 22 22 21.1 22 20V8M22 8C22 6.9 22.9 6 24 6C25.1 6 26 6.9 26 8V18C26 22 22 26 16 26\" stroke=\"%233A6B35\" stroke-width=\"1.5\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\" opacity=\"0.15\"/>");background-repeat:no-repeat;background-size:20px 20px;width:24px;height:24px;position:absolute;top:-8px;right:-8px}.map-layout{grid-template-columns:1fr 360px;height:calc(100vh - 76px);display:grid}.map-col{background-image:linear-gradient(45deg,#3a6b3505 25%,#0000 25% 75%,#3a6b3505 75%,#3a6b3505),linear-gradient(45deg,#3a6b3505 25%,#0000 25% 75%,#3a6b3505 75%,#3a6b3505);background-position:0 0,20px 20px;background-size:40px 40px;background-color:var(--c-bg);height:100%;position:relative}#map{width:100%;height:calc(100vh - 76px)}.sidebar{background:var(--c-surface);border-left:1px solid var(--c-border);overflow-y:auto}.sidebar-header{border-bottom:1px solid var(--c-border);background:var(--c-surface);z-index:10;background-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 200 80\"><g opacity=\"0.1\" stroke=\"%233A6B35\" stroke-width=\"1.2\" fill=\"none\"><path d=\"M 30 20 Q 50 40 40 70 T 60 120\"/><path d=\"M 80 15 Q 90 45 75 80 T 100 140\"/><circle cx=\"40\" cy=\"70\" r=\"3\"/><circle cx=\"75\" cy=\"80\" r=\"3\"/></g></svg>");background-position:100% 0;background-repeat:no-repeat;background-size:100px 60px;padding:1.25rem 1.25rem .75rem;position:sticky;top:0}.sidebar-header h2{font-family:var(--f-display);font-size:1.1rem;font-weight:700}.sidebar-header p{color:var(--c-muted);margin-top:.2rem;font-size:.8rem}.poi-list{padding:.75rem}.poi-card{border-radius:var(--r-card);border:1px solid var(--c-border);background:var(--c-bg);cursor:pointer;color:inherit;margin-bottom:.6rem;padding:.9rem 1rem;transition:border-color .15s,box-shadow .15s,background .15s,transform .15s;display:block;position:relative;overflow:hidden}.poi-card:before{content:"🧗";opacity:0;pointer-events:none;font-size:32px;transition:opacity .2s;position:absolute;top:-10px;right:-6px}.poi-card:hover{border-color:var(--c-accent);background:var(--c-surface);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-2px)}.poi-card:hover:before{opacity:.08}.poi-card.active{border-color:var(--c-accent);background:var(--c-accent-lt)}.poi-card-title{margin-bottom:.35rem;font-size:.95rem;font-weight:600}.poi-card-desc{color:var(--c-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}.poi-card-footer{justify-content:space-between;align-items:center;margin-top:.5rem;display:flex}.poi-card-link{color:var(--c-accent);font-size:.78rem;font-weight:600}.leaflet-popup-content-wrapper{border:1px solid var(--c-border);border-radius:var(--r-card)!important;box-shadow:var(--shadow)!important}.leaflet-popup-content{min-width:200px;margin:1rem!important}.popup-title{font-family:var(--f-display);margin-bottom:.3rem;font-size:1rem;font-weight:700}.popup-desc{color:var(--c-muted);margin-bottom:.7rem;font-size:.8rem;line-height:1.4}.popup-link{background:var(--c-accent);border-radius:4px;padding:.35em .9em;font-size:.8rem;font-weight:600;display:inline-block;color:#fff!important}.popup-link:hover{background:#2d5229;text-decoration:none}.article-header{padding:2.5rem 0 1.5rem}.article-header h1{font-family:var(--f-display);letter-spacing:-.02em;margin-top:.75rem;font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.15}.article-meta{color:var(--c-muted);margin-top:.75rem;font-size:.85rem}.article-body{padding-bottom:3rem;position:relative}.article-body:before{content:"";pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><g opacity=\"0.08\"><path d=\"M 20 60 Q 20 40 30 35 L 50 30 L 70 35 Q 75 45 75 60 Q 75 75 60 80 L 40 80 Q 25 75 20 60 Z\" fill=\"%231A1F16\"/><line x1=\"30\" y1=\"70\" x2=\"65\" y2=\"70\" stroke=\"%231A1F16\" stroke-width=\"0.8\"/><line x1=\"28\" y1=\"75\" x2=\"67\" y2=\"75\" stroke=\"%231A1F16\" stroke-width=\"0.8\"/></g></svg>");background-repeat:repeat;background-size:100px 100px;width:150px;height:150px;position:absolute;top:-60px;right:-40px}.article-body h2{font-family:var(--f-display);z-index:1;margin:2rem 0 .75rem;font-size:1.4rem;position:relative}.article-body p{margin-bottom:1rem}.article-body ul,.article-body ol{margin-bottom:1rem;padding-left:1.5rem}.article-body li{margin-bottom:.25rem}.back-link{color:var(--c-muted);align-items:center;gap:.4rem;margin:1.5rem 0;font-size:.875rem;display:inline-flex}.back-link:hover{color:var(--c-accent);text-decoration:none}@media (width<=700px){.map-layout{grid-template-rows:55vh auto;grid-template-columns:1fr;height:auto}#map{height:100%}.sidebar{border-left:none;border-top:1px solid var(--c-border)}}.theme-toggle{border:1px solid var(--c-border);background:var(--c-bg);width:34px;height:34px;color:var(--c-text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;margin-left:1rem;transition:background .2s,border-color .2s,transform .15s;display:inline-flex}.theme-toggle:hover{border-color:var(--c-accent);transform:rotate(15deg)}.icon-moon,[data-theme=dark] .icon-sun{display:none}[data-theme=dark] .icon-moon{display:block}.footer-links{justify-content:center;gap:.5rem;margin-top:.75rem;font-size:.9rem;display:flex}.footer-links a{color:var(--c-text);text-decoration:none;transition:color .2s}.footer-links a:hover{color:var(--c-accent)}.footer-links .separator{color:var(--c-text);opacity:.5}
