/* Shared look for Showrunner's inner pages (support, terms, privacy). Matches index.html. */
:root{--bg:#0f0e14;--raised:#17161f;--line:#2a2837;--ink:#f2f0f7;--mute:#9b96b3;--yellow:#ffe500}
*{box-sizing:border-box}
[hidden]{display:none!important} /* a class's display never un-hides a [hidden] element */
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 Inter,system-ui,-apple-system,sans-serif}
a{color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
nav{display:flex;align-items:center;justify-content:space-between;height:68px;border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:10px;font:700 19px 'Space Grotesk',sans-serif;text-decoration:none}
.logo img{width:28px;height:28px;border-radius:7px}
nav .links{display:flex;align-items:center}
nav .links>a{color:var(--mute);text-decoration:none;font-size:15px;margin-left:24px}
nav .links>a:hover{color:var(--ink)}
.acct{position:relative;margin-left:20px}
.acct:empty{display:none}
.av{width:36px;height:36px;border-radius:50%;border:2px solid var(--line);background:#2a2837 center/cover no-repeat;color:var(--ink);font:600 15px Inter,sans-serif;cursor:pointer;display:grid;place-items:center;padding:0}
.av:hover,.av[aria-expanded="true"]{border-color:var(--yellow)}
.menu{position:absolute;right:0;top:46px;min-width:230px;background:var(--raised);border:1px solid var(--line);border-radius:12px;padding:6px;box-shadow:0 18px 40px #0009;z-index:10}
.menu[hidden]{display:none}
.menu .me{padding:10px 10px 8px;border-bottom:1px solid var(--line);margin-bottom:4px}
.menu .me b{display:block;font-size:14px}.menu .me span{font-size:12px;color:var(--mute)}
.menu a,.menu button{display:block;width:100%;text-align:left;padding:9px 10px;border:0;border-radius:8px;background:none;color:var(--ink);font:500 14px Inter,sans-serif;text-decoration:none;cursor:pointer}
.menu a:hover,.menu button:hover{background:#ffffff10}
main.prose{max-width:760px;margin:0 auto;padding:48px 0 64px}
.kicker{font:600 12px Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin:0 0 10px}
h1{font:700 clamp(34px,5vw,48px)/1.05 'Space Grotesk',sans-serif;letter-spacing:-.02em;margin:0 0 10px}
h2{font:700 22px/1.2 'Space Grotesk',sans-serif;margin:40px 0 10px}
h3{font:600 17px/1.3 Inter,sans-serif;margin:24px 0 6px}
.prose p,.prose li{color:#d9d6e6}
.prose .updated{color:var(--mute);font-size:14px;margin-bottom:28px}
.prose a{color:var(--yellow)}
.prose ul{padding-left:20px}
.note{border:1px solid var(--line);background:var(--raised);border-radius:12px;padding:14px 16px;font-size:15px}
.faq details{border-bottom:1px solid var(--line);padding:14px 0}
.faq summary{cursor:pointer;font-weight:600;list-style:none}
.faq summary::after{content:'+';float:right;color:var(--mute)}
.faq details[open] summary::after{content:'–'}
.faq details p{margin:10px 0 0}
form.contact{display:flex;flex-direction:column;gap:10px;margin-top:12px}
form.contact input,form.contact textarea,form.contact select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--raised);color:var(--ink);font:400 15px Inter,sans-serif}
form.contact input:focus,form.contact textarea:focus,form.contact select:focus{outline:2px solid var(--yellow);outline-offset:0}
form.contact input.is-locked{color:var(--mute);cursor:not-allowed;border-style:dashed;padding-left:38px;background:var(--raised) url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%239b96b3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Crect x="5" y="11" width="14" height="10" rx="2"/%3E%3Cpath d="M8 11V7a4 4 0 0 1 8 0v4"/%3E%3C/svg%3E') no-repeat 13px 50%/16px 16px}
form.contact .locked{margin:-4px 0 0;color:var(--mute);font-size:13px}
form.contact .locked b{color:var(--ink);font-weight:600}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:10px;font:600 15px Inter,sans-serif;border:0;cursor:pointer;background:var(--yellow);color:#111}
.btn:disabled{opacity:.6;cursor:default}
.sent{font-size:14px;min-height:20px}.sent[data-ok="1"]{color:#3ddc97}.sent[data-ok="0"]{color:#ff8787}
footer{border-top:1px solid var(--line);padding:32px 0 48px;color:var(--mute);font-size:13px}
footer .row{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between}
footer a{color:var(--mute)}
footer .fl a{margin-right:18px}
@media (max-width:600px){.wrap{padding:0 16px} nav .links>a{display:none} main.prose{padding-top:32px}}

/* Sticky header (owner, 2026-10-23): stays at the top while scrolling. Its
   edge-to-edge background is a pseudo-element, so nothing clips the profile
   menu that drops below it. */
html,body{overflow-x:clip} /* the header background reaches past the edges */
header.wrap{position:sticky;top:0;z-index:50}
header.wrap::before{content:'';position:absolute;top:0;bottom:0;left:-100vmax;right:-100vmax;z-index:-1;background:rgba(15,14,20,.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
section[id],h2[id]{scroll-margin-top:84px}
/* Same-site page changes crossfade instead of flashing (landing -> app hand-off). */
@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.18s}
