/* Shared public website furniture. Namespaced to protect the deck and creator UI. */
.vs-site-header,.vs-site-footer{--vs-green:#a6dc92;--vs-text:#f3f0e7;--vs-muted:#f3f0e7ad;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--vs-text);font-size:14px;line-height:1.5;text-align:left;box-sizing:border-box}
.vs-site-header *,.vs-site-footer *{box-sizing:border-box}
.vs-site-header a,.vs-site-footer a{color:inherit;text-decoration:none;transition:color .18s,background .18s}
.vs-site-header a:hover,.vs-site-footer a:hover{color:var(--vs-green)}
.vs-site-header a:focus-visible,.vs-site-header button:focus-visible,.vs-site-header summary:focus-visible,.vs-site-footer a:focus-visible{outline:2px solid var(--vs-green);outline-offset:5px}
.vs-site-header{position:sticky;top:0;z-index:40;display:block;width:100%;max-width:none;margin:0;padding:0;background:#050805bd;backdrop-filter:blur(18px);border-bottom:1px solid #ffffff0f}
.vs-header-inner{display:flex;align-items:center;gap:clamp(20px,3vw,42px);min-height:76px;padding:0 clamp(24px,3vw,56px);width:100%;margin:0}
.vs-site-header .vs-brand,.vs-site-footer .vs-brand{display:inline-block;flex:none;font-size:clamp(22px,2vw,30px);font-weight:900;letter-spacing:.02em;line-height:1;white-space:nowrap;color:var(--vs-text)}
.vs-site-header .vs-brand span,.vs-site-footer .vs-brand span{font:inherit;color:var(--vs-green)}
.vs-primary-navigation{display:flex;align-items:center;justify-content:space-between;gap:24px;flex:1;min-width:0}
.vs-nav-links{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.6vw,42px);flex:1}
.vs-nav-links a{display:inline-flex;align-items:center;gap:5px;min-height:44px;font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:#f3f0e7db}
.vs-nav-links a[aria-current=page]{color:var(--vs-green)}
.vs-nav-links .vs-create-link{color:var(--vs-green)}
.vs-nav-actions,.vs-nav-socials{display:flex;align-items:center;gap:12px;flex:none}
.vs-nav-socials{gap:8px}
.vs-account{position:relative;flex:none}
.vs-account summary{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:44px;padding:8px 12px;border:1px solid #ffffff24;border-radius:22px;list-style:none;cursor:pointer;font-size:12px;font-weight:650;white-space:nowrap}
.vs-account summary::-webkit-details-marker{display:none}
.vs-account summary span{transition:transform .18s}
.vs-account[open] summary{color:var(--vs-green);background:#ffffff08}
.vs-account[open] summary span{transform:rotate(180deg)}
.vs-account-links{position:absolute;top:calc(100% + 10px);right:0;min-width:190px;padding:8px;border:1px solid #ffffff24;border-radius:16px;background:#111810;box-shadow:0 18px 45px #0008}
.vs-account-links a{display:flex;align-items:center;min-height:44px;padding:9px 12px;border-radius:9px;font-size:13px;white-space:nowrap}
.vs-account-links a:hover,.vs-account-links a[aria-current=page]{background:#ffffff08;color:var(--vs-green)}
.vs-site-header .vs-social-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff14;color:#f3f0e7e0}
.vs-social-icon svg{width:17px;height:17px;display:block}
.vs-site-header .vs-social-icon:hover{color:var(--vs-green);background:#a6dc921f}
.vs-site-header .vs-beta-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:999px;background:linear-gradient(180deg,#c6edb8,#a6dc92);box-shadow:0 12px 30px #a6dc9226;color:#0c1309;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.vs-site-header .vs-beta-link:hover{background:#d5f3cb;color:#0c1309}
.vs-site-header .vs-menu-toggle{display:none}
.vs-site-footer{display:block;width:100%;max-width:none;margin:70px 0 0;padding:42px clamp(24px,4vw,64px) 28px;border-top:1px solid #ffffff14;background:#05080566}
.vs-footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr .8fr 1fr;gap:32px;max-width:1400px;margin:0 auto}
.vs-site-footer h2{margin:0 0 15px;font-size:14px;line-height:1.5;letter-spacing:0;font-weight:650;color:var(--vs-text)}
.vs-site-footer p{font-size:13px;line-height:1.8;color:var(--vs-muted);margin:18px 0 0;max-width:280px}
.vs-site-footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6;color:var(--vs-muted)}
.vs-site-footer .vs-create-link span{font:inherit}
.vs-footer-kicker img{display:block;width:70px;height:70px;object-fit:contain}
.vs-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1400px;margin:32px auto 0;padding-top:20px;border-top:1px solid #ffffff0a;color:var(--vs-muted);font-size:11px}
.vs-footer-bottom small{font:inherit}
.vs-page-context{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1510px;margin:0 auto;padding:18px 36px 0;color:#909b92;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.vs-page-context button,.vs-page-context a{font:inherit;color:#c4d99c;letter-spacing:0;text-transform:none;background:none;border:0;min-height:44px;cursor:pointer;text-decoration:none}
/* Companions must stay below the shared sticky header while editing/listening. */
body:has(.vs-site-header) .creator-companion{top:100px}
body:has(.vs-site-header) .card-preview{top:100px}
body:has(.vs-site-header) .listening-aside{top:76px}
body:has(.vs-site-header) .legal-nav{top:96px}
html:has(.vs-site-header){scroll-padding-top:96px}
@media(max-width:1320px){.vs-nav-links{gap:18px}.vs-nav-socials{display:none}.vs-footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}.vs-footer-kicker{display:none}}
@media(max-width:1240px){
 .vs-header-inner{flex-wrap:wrap;justify-content:space-between;gap:0;min-height:68px;padding:0 24px}
 .vs-site-header .vs-brand{font-size:24px}
 .vs-site-header[data-nav-ready] .vs-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:9px;font:inherit;font-size:12px;min-height:44px;padding:6px 10px;border:1px solid #ffffff24;border-radius:24px;background:#ffffff05;color:var(--vs-text);cursor:pointer}
 .vs-menu-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
 .vs-primary-navigation{flex-basis:100%;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:14px 0 22px}
 .vs-site-header[data-nav-ready] .vs-primary-navigation{display:none}
 .vs-site-header[data-menu-open] .vs-primary-navigation{display:flex;max-height:calc(100dvh - 68px);overflow:auto}
 .vs-nav-links{display:grid;grid-template-columns:1fr 1fr;gap:3px 18px;flex:none}
 .vs-nav-links a{padding:6px 0}
 .vs-nav-links .vs-create-link{grid-column:1 / -1;border-top:1px solid #ffffff14;margin-top:8px;padding-top:14px}
 .vs-nav-actions{justify-content:space-between;flex-wrap:wrap}.vs-nav-socials{display:flex;gap:12px}
 .vs-account{order:3;width:100%}.vs-account-links{position:static;margin-top:8px;min-width:0;box-shadow:none}
 .vs-site-header .vs-beta-link{max-width:100%;white-space:normal;text-align:center}
 .vs-site-header .vs-social-icon{width:40px;height:40px}
 .vs-footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 20px}.vs-footer-intro{grid-column:1 / -1}.vs-site-footer .vs-footer-intro p{max-width:380px}
 .vs-page-context{padding:14px 24px 0;font-size:9px}
 body:has(.vs-site-header) .creator-companion,body:has(.vs-site-header) .card-preview{top:88px}
 body:has(.vs-site-header) .listening-aside{top:68px}
}
@media(max-width:540px){.vs-site-footer{padding:30px 24px 24px}.vs-footer-grid{grid-template-columns:1fr 1fr}.vs-footer-bottom{align-items:flex-start;flex-direction:column}.vs-nav-links a{font-size:11px}}
@media print{.vs-site-header,.vs-site-footer,.vs-page-context{display:none}}

/* The owner has one extra destination; retain the shared desktop breakpoints. */
@media(min-width:1241px){.vs-site-header:has(.vs-admin-link) .vs-nav-links{gap:clamp(14px,1.8vw,28px)}}

/* The Deck adds a destination: give laptop navigation room before collapsing. */
@media(min-width:1241px) and (max-width:1440px){.vs-nav-socials{display:none}.vs-nav-links,.vs-site-header:has(.vs-admin-link) .vs-nav-links{gap:14px}.vs-nav-links a{font-size:11px;letter-spacing:.05em}}

/* Six public destinations, with space retained for the owner's Admin link. */
@media(min-width:1241px){.vs-nav-links{gap:clamp(12px,1.3vw,24px)}.vs-site-header:has(.vs-admin-link) .vs-nav-links{gap:clamp(10px,1vw,18px)}}
@media(min-width:1241px) and (max-width:1600px){.vs-nav-socials{display:none}.vs-header-inner{gap:24px}.vs-nav-links a{font-size:11px;letter-spacing:.035em}}

/* Seven destinations: reserve room for the owner’s Admin link on laptops. */
@media(min-width:1241px) and (max-width:1600px){.vs-header-inner{gap:18px;padding-inline:24px}.vs-nav-links,.vs-site-header:has(.vs-admin-link) .vs-nav-links{gap:12px}.vs-nav-links a{font-size:11px}.vs-primary-navigation{gap:18px}.vs-site-header .vs-beta-link{padding-inline:17px}}
