:root{--red:#8e150e;--red2:#6b100b;--orange:#ea850d;--yellow:#f6c14e;--cream:#fffaf2;--paper:#fff;--sand:#f6ecdc;--text:#40291f;--muted:#756556;--border:#e8dbcb;--green:#326956;--blue:#285987;--purple:#70518c;--shadow:0 3px 15px #58371d0a}*{box-sizing:border-box}body{margin:0;font:15px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--text);background:var(--cream)}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}.layout{display:flex;min-height:100vh}.sidebar{width:248px;background:var(--red);color:#fff;flex-shrink:0;display:flex;flex-direction:column;padding:25px 15px 20px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:0 10px}.sunmark{font-size:39px;color:var(--yellow);line-height:1}.brand b{display:block;font-size:21px;letter-spacing:1.5px;line-height:1.1}.brand small{letter-spacing:2.9px;font-size:11px;color:#f9dba8}.tagline{font-size:11px;letter-spacing:.5px;color:#f7ceb5;padding:2px 10px 17px;border-bottom:1px solid #ffffff30}.sidebar nav{margin-top:14px}.sidebar nav>a{display:flex;align-items:center;gap:12px;margin:4px 0;padding:11px 13px;border-radius:7px;text-decoration:none;font-weight:650;font-size:14px}.sidebar nav>a:hover,.sidebar nav>a.active{background:var(--orange);color:#251108}.subnav{margin:2px 0 12px 30px;border-left:1px solid #ffffff40;display:grid;gap:1px}.subnav a{font-size:12px;color:#ffead4;text-decoration:none;padding:6px 12px}.subnav a:hover{text-decoration:underline}.sidebar-bottom{margin-top:auto;display:grid;gap:12px;padding:10px}.mini-label{font-size:10px;letter-spacing:2px;color:#ffd79a}.discord{font-size:13px;text-decoration:none;border:1px solid #ffffff50;padding:10px;border-radius:6px}.sidebar-bottom small{font-size:11px;color:#e9bbab}.workarea{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:57px;background:#fff;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 35px;color:#796658;font-size:11px;letter-spacing:1.5px;font-weight:750}.top-meta{letter-spacing:0;font-weight:500;font-size:12px}.mobile-menu{display:none}main{width:min(1190px,100%);padding:36px 42px 60px;margin:0 auto;flex:1}footer{padding:18px 42px;border-top:1px solid var(--border);color:var(--muted);display:flex;justify-content:space-between;gap:20px;font-size:12px}footer a{color:var(--red)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(27px,3vw,39px);line-height:1.18;letter-spacing:-.7px;margin-bottom:12px}h2{font-size:23px;line-height:1.25}.eyebrow{color:var(--red);font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}.intro{font-size:16px;color:var(--muted);max-width:740px}.page-head{margin-bottom:26px}.home-hero{background:linear-gradient(115deg,#fff3d9,#fffaf2 62%);border:1px solid #efdbc1;border-radius:12px;padding:36px;margin-bottom:24px}.home-hero h1{max-width:690px}.home-hero p{max-width:700px;color:#67513d}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:37px;padding:8px 13px;background:#fff;border:1px solid #d5c8b6;border-radius:6px;text-decoration:none;font-size:13px;font-weight:700;color:#5a392b}.btn:hover{border-color:var(--orange);background:#fff8ed}.btn.primary{background:var(--red);border-color:var(--red);color:white}.btn.primary:hover{background:var(--red2)}.btn:disabled{opacity:.52;cursor:not-allowed}.statrow{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0}.stat{border:1px solid var(--border);background:#fff;border-radius:9px;padding:18px 20px}.stat b{display:block;font-size:26px;color:var(--red)}.stat small{color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 15px}.section-head h2{margin:0}.textlink{color:var(--red);font-size:13px;font-weight:700;text-decoration:none}.textlink:hover{text-decoration:underline}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.tile{background:white;border:1px solid var(--border);border-radius:9px;padding:20px;text-decoration:none;box-shadow:var(--shadow)}.tile:hover{border-color:var(--orange)}.tile b{font-size:16px}.tile p{margin:8px 0 0;font-size:13px;color:var(--muted)}.searchbox{display:flex;gap:10px;align-items:center;background:white;border:1px solid #cfbda8;border-radius:8px;padding:0 14px;min-height:49px}.searchbox input{border:0;outline:0;width:100%;background:transparent;font-size:15px}.searchbox:focus-within{outline:2px solid var(--orange)}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:13px 0}.filters select{padding:9px 26px 9px 11px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);max-width:100%}.filter-title{font-weight:700;color:var(--muted);font-size:12px;padding-top:9px}.resultbar{margin:16px 0;display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--muted);font-size:13px}.reset{background:none;border:none;color:var(--red);font-weight:750;text-decoration:underline}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.card{border:1px solid var(--border);border-radius:9px;overflow:hidden;background:#fff;box-shadow:var(--shadow);display:flex;flex-direction:column}.photo{height:155px;background:linear-gradient(130deg,#f3e5ce,#e6ddce);position:relative;display:grid;place-items:center;overflow:hidden}.photo img{width:100%;height:100%;object-fit:cover}.photo .missing{font-size:12px;text-align:center;color:#887260;padding:15px}.card-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}.card h3{font-size:17px;margin:0;line-height:1.25}.card p{font-size:13px;color:var(--muted);margin:0;flex:1}.labels{display:flex;gap:5px;flex-wrap:wrap}.label{font-size:10px;line-height:1.45;padding:3px 7px;border-radius:4px;font-weight:800;letter-spacing:.2px;border:1px solid transparent;background:#f2e6d6;color:#69472f}.label.destination{background:#e4f0e6;color:#22573d}.label.history{background:#efe8f7;color:#5d3978}.label.update{background:#fff0db;color:#90540a}.label.music{background:#e4edf8;color:#265586}.label.region{background:#f5ece2;color:#785133}.label.topic{background:#f7f6f2;border-color:#e7dfd1;color:#5f6157}.card-actions{display:flex;gap:7px;margin-top:6px;flex-wrap:wrap}.card-actions .btn{font-size:12px;min-height:33px;padding:6px 10px}.note{background:#fff4db;border:1px solid #f1d8a8;border-radius:8px;padding:13px 16px;color:#75552b;font-size:13px;margin:18px 0}.empty{background:#fff;border:1px dashed #d1bfa7;border-radius:8px;padding:30px;text-align:center;color:var(--muted)}.list-item{background:#fff;border:1px solid var(--border);border-radius:8px;padding:20px;margin:12px 0}.list-item h3{margin:8px 0}.list-item p{color:var(--muted);margin:8px 0}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.stream-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stream{background:#fff;border:1px solid var(--border);border-radius:9px;padding:18px}.stream h3{font-size:16px;margin:0 0 5px}.stream p{font-size:13px;color:var(--muted);margin:0 0 13px}.status{font-size:11px;color:#976018}.audio-bar{position:sticky;bottom:12px;background:#fff;box-shadow:0 5px 25px #39201020;border:1px solid var(--border);padding:12px;border-radius:8px;margin-top:18px;display:none}.audio-bar.visible{display:block}.detail{border:1px solid var(--border);border-radius:12px;box-shadow:0 20px 70px #28150a66;padding:28px;max-width:740px;width:calc(100% - 25px);max-height:88vh;color:var(--text)}.detail::backdrop{background:#24170ec0}.detail h2{font-size:29px;margin:8px 0}.detail .detail-photo{height:260px;background:#f3e7d7;display:grid;place-items:center;color:var(--muted);margin:16px 0;border-radius:7px;overflow:hidden}.detail-photo img{width:100%;height:100%;object-fit:cover}.detail .close{float:right;border:none;background:#f6eee4;border-radius:5px;padding:7px 11px}.kv{display:grid;grid-template-columns:125px 1fr;gap:8px;font-size:13px;margin:14px 0}.kv dt{font-weight:800}.kv dd{margin:0;overflow-wrap:anywhere}.copyrow{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.copyrow code{background:#f7edde;padding:8px;border-radius:5px;font-size:12px;overflow-wrap:anywhere}.loading{padding:50px;color:var(--muted)}@media(max-width:1100px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tiles{grid-template-columns:repeat(2,1fr)}main{padding:30px 26px}}@media(max-width:750px){.sidebar{position:fixed;left:-270px;z-index:20;transition:left .2s}.sidebar.open{left:0}.topbar{padding:0 18px}.mobile-menu{display:block;border:0;background:none;font-size:22px;color:var(--red)}.top-title{font-size:10px}.top-meta{display:none}main{padding:25px 16px}footer{padding:17px;flex-wrap:wrap}.grid,.stream-grid,.two-col{grid-template-columns:1fr}.tiles{grid-template-columns:1fr}.statrow{grid-template-columns:repeat(3,1fr);gap:7px}.stat{padding:12px}.stat b{font-size:19px}.home-hero{padding:23px}.detail{padding:18px}.detail .detail-photo{height:180px}.kv{grid-template-columns:95px 1fr}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* V0.4 — expandable OpenSim regions; content comes from destinations.json */
.sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ffffff55 transparent}
.region-group{min-width:0}
.region-row{display:flex;align-items:center;min-width:0}
.subnav .region-link{flex:1;min-width:0;padding:7px 2px 7px 12px;overflow-wrap:anywhere}
.region-toggle{flex:0 0 28px;min-height:29px;padding:0;border:0;border-radius:5px;background:transparent;color:#ffe4c4;font-size:17px;cursor:pointer}
.region-toggle:hover,.region-toggle:focus-visible{background:#ffffff22;outline-offset:2px}
.region-places{padding:0 0 6px 12px;margin-left:12px;border-left:1px solid #ffffff45}
.region-places[hidden]{display:none!important}
.region-places a{display:block;font-size:11.5px;padding:5px 5px 5px 9px;line-height:1.35;overflow-wrap:anywhere}
.region-places a:hover{color:#fff;text-decoration:underline}

/* V0.5 - One assigned music stream on cards and destination detail panels */
.destination-music{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;color:#685039;font-size:12px;border-top:1px solid var(--border);padding-top:9px;margin-top:3px}
.destination-music strong{color:var(--red);font-size:12px;letter-spacing:.2px}
.destination-music.expanded{border-top:none;padding-top:0;margin-top:0;font-size:13px}
.destination-music.expanded strong{font-size:13px}
.destination-music .music-description{flex-basis:100%;color:var(--muted);font-size:12px}

/* V0.6 — branding, footer and navigable music labels */
.brand{padding:0 4px;gap:9px}
.brand-logo{width:95px;max-width:48%;height:auto;object-fit:contain;flex:0 0 auto}
.brand-wordmark{min-width:0}
.brand-wordmark b{font-size:18px;letter-spacing:.8px}
.brand-wordmark small{letter-spacing:2px}
.sidebar-bottom{gap:8px}
.hero-quote{font-family:Georgia,serif;font-style:italic;font-size:clamp(17px,1.7vw,23px);color:var(--red)!important;margin-bottom:16px!important;max-width:750px}
.footer-lines{display:flex;flex-direction:column;gap:5px}
.footer-motto{font-size:12px;color:#755442}
.stream-link{font-weight:800;color:var(--red);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.stream-link:hover,.stream-link:focus-visible{color:#ba5a0b}
.stream-selected{border:2px solid var(--orange);box-shadow:0 0 0 3px #ea850d24}
.stream-selected:before{content:'YOUR SELECTED STATION';display:block;font-size:10px;letter-spacing:1px;color:var(--red);font-weight:800;margin-bottom:8px}
@media(max-width:750px){.brand-logo{width:90px}}

/* V0.6.1: white navigation sidebar, logo-only branding */
.sidebar{background:#fff;color:var(--text);border-right:1px solid var(--border)}
.brand{padding:8px 12px 18px;justify-content:center;border-bottom:1px solid var(--border)}
.brand>a{display:block;text-align:center;width:100%}
.brand-logo{display:block;width:min(198px,100%);max-width:100%;margin:0 auto;height:auto}
.sidebar nav>a{color:var(--red)}
.sidebar nav>a:hover,.sidebar nav>a.active{background:#fff0da;color:var(--red)}
.subnav{border-left-color:#dfcfc0}
.subnav a{color:#5b4438}
.subnav a:hover{color:var(--red)}
.region-places{border-left-color:#dfcfc0}
.region-toggle{color:var(--red)}
.region-toggle:hover,.region-toggle:focus-visible{background:#fff1e0}
.mini-label{color:#7d685b}
.sidebar-bottom{border-top:1px solid var(--border)}
.sidebar-bottom small{color:#806b5e}
.sidebar-bottom .discord{border-color:#dbcaba;color:var(--red);background:#fff}
.sidebar-bottom .discord:hover{background:#fff5e6}
.top-discord{letter-spacing:0;font-size:13px;font-weight:700;color:var(--red);text-decoration:none}
.top-discord:hover{text-decoration:underline}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.contact-grid .list-item{margin:0}
@media(max-width:750px){.contact-grid{grid-template-columns:1fr}}

/* V0.6.2 — About-only sections */
.about-intro{background:#fffaf1;border:1px solid var(--border);border-radius:14px;padding:clamp(20px,3vw,34px);margin:14px 0 30px}
.about-intro h2{margin:0 0 10px;color:var(--red)}
.about-intro p{max-width:76ch;line-height:1.65}
.about-avatars{display:grid;grid-template-columns:repeat(2,minmax(0,210px));gap:20px;margin:22px 0}
.about-avatars figure{margin:0;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.about-avatars img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.about-avatars figcaption{font-weight:700;color:var(--red);font-size:13px;padding:10px}
.about-note{font-style:italic;color:#765c4b}
.about-section-lead{margin:-2px 0 20px;color:#715b4d;line-height:1.55}
.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 30px}
.archive-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0}
.archive-card h3{margin:0}.archive-card p{flex:1;line-height:1.5;margin:0 0 12px}.archive-card small{color:#735b4e}
.archive-icon{font-size:26px}.archive-link{margin-top:auto}
@media(max-width:1000px){.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.archive-grid,.about-avatars{grid-template-columns:1fr}.about-avatars figure{max-width:240px}}

/* V0.6.3: music search results behave as whole-card links */
.music-search-result { display:block; color:inherit; text-decoration:none; cursor:pointer; }
.music-search-result:hover, .music-search-result:focus-visible { border-color:#9f502a; background:#fff9ee; }
.music-search-result:focus-visible { outline:3px solid #9f502a; outline-offset:3px; }
