/* Anything marked hidden stays hidden, whatever its other styles say. */
[hidden]{display:none!important}
/* PAPO app styles, version 3. Follows the PAPO brand guide: Ink first, Bone, Ember, Lilac.
   Headlines Bricolage Grotesque, body DM Sans. Dark by default (the brand), light on request. */
:root{
  --ink:#0E0D12; --bone:#F4F1EA; --ember:#FF5A36; --lilac:#B9A8FF;
  --bg:#0E0D12; --bg-2:#121118; --surface:#17151D; --surface-2:#211E29; --surface-3:#2B2735; --line:#2E2A38; --line-2:#3A3546;
  --fg:#F4F1EA; --fg-2:#DCD7CC; --muted:#A8A3B3; --faint:#8F8A9C; --accent-ink:#FF8A6E; --on-accent:#0E0D12;
  --ok:#6FD39C; --ok-bg:#12301F; --bad:#FF8F84; --bad-bg:#3A1814; --wait:#C9BCFF; --wait-bg:#2A2342; --warn:#FFD27A; --warn-bg:#3A2D10;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 18px 40px -20px rgba(0,0,0,.85); --shadow-lg:0 30px 80px -30px rgba(0,0,0,.9);
  --glass:rgba(14,13,18,.9);
  --display:"Bricolage Grotesque","Inter Display","Inter","Segoe UI",system-ui,sans-serif;
  --body:"DM Sans","Inter","Segoe UI",system-ui,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --r:22px; --r-sm:14px; --r-xs:10px;
  --ease:cubic-bezier(.2,.8,.2,1);
  color-scheme:dark;
}
:root[data-theme="light"]{
  --bg:#F4F1EA; --bg-2:#EFEBE2; --surface:#FBFAF6; --surface-2:#ECE8DE; --surface-3:#E3DED2; --line:#DCD6C9; --line-2:#CFC8B9;
  --fg:#0E0D12; --fg-2:#2A2733; --muted:#625E6B; --faint:#6C6877; --accent-ink:#C7361A;
  --ok:#1E7A4C; --ok-bg:#DDF1E5; --bad:#B4231B; --bad-bg:#FBE1DD; --wait:#6A4BD8; --wait-bg:#E9E3FF; --warn:#8A5A00; --warn-bg:#FFF1CC;
  --shadow:0 1px 2px rgba(14,13,18,.06),0 14px 34px -18px rgba(14,13,18,.28); --shadow-lg:0 30px 70px -30px rgba(14,13,18,.35);
  --glass:rgba(244,241,234,.92); color-scheme:light;
}
@media (prefers-color-scheme:light){:root[data-theme="system"]{
  --bg:#F4F1EA; --bg-2:#EFEBE2; --surface:#FBFAF6; --surface-2:#ECE8DE; --surface-3:#E3DED2; --line:#DCD6C9; --line-2:#CFC8B9;
  --fg:#0E0D12; --fg-2:#2A2733; --muted:#625E6B; --faint:#6C6877; --accent-ink:#C7361A;
  --ok:#1E7A4C; --ok-bg:#DDF1E5; --bad:#B4231B; --bad-bg:#FBE1DD; --wait:#6A4BD8; --wait-bg:#E9E3FF; --warn:#8A5A00; --warn-bg:#FFF1CC;
  --shadow:0 1px 2px rgba(14,13,18,.06),0 14px 34px -18px rgba(14,13,18,.28); --shadow-lg:0 30px 70px -30px rgba(14,13,18,.35);
  --glass:rgba(244,241,234,.92); color-scheme:light}}

html{-webkit-text-size-adjust:100%;background:var(--bg)}
body{background:var(--bg);color:var(--fg);font:0.9375rem/1.5 var(--body);margin:0;min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden}
*{box-sizing:border-box}
img{max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--lilac);outline-offset:2px;border-radius:6px}
h1,h2,h3,h4{text-wrap:balance}
p{text-wrap:pretty}
.tnum{font-variant-numeric:tabular-nums}
::selection{background:var(--ember);color:#0E0D12}

/* ---------- Brand marks ---------- */
.logo{font-family:var(--display);font-weight:800;font-size:1.75rem;letter-spacing:-.065em;display:inline-flex;align-items:baseline;line-height:1;background:none;border:0;padding:0;color:inherit;text-decoration:none}
.dot{display:inline-block;width:.5em;height:.5em;border-radius:50%;background:var(--ember);margin-left:.03em;flex:none;transform:translateY(-.02em)}
/* The logo is one master drawing (public/js/logo.js, from tools/papo_logo.py): "papo" with the ember "o". It takes the text colour. */
.papo-mark{display:inline-block;height:.711em;width:auto;vertical-align:-.169em;overflow:visible}
.logo .papo-mark{height:.711em}

/* ---------- Buttons, pills, fields ---------- */
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:999px;border:1.5px solid var(--line-2);background:transparent;font-weight:700;text-decoration:none;font-size:0.9375rem;color:var(--fg);transition:transform .15s var(--ease),background .15s,border-color .15s,opacity .15s}
.btn:active{transform:scale(.97)}
.btn:hover{border-color:var(--fg)}
.btn.primary{background:var(--ember);border-color:var(--ember);color:#0E0D12}
.btn.primary:hover{background:#FF6B4A;border-color:#FF6B4A}
.btn.dark,.btn.light{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.btn.ghost{border-color:var(--line)}
.btn.soft{background:var(--surface-2);border-color:transparent}
.btn.soft:hover{background:var(--surface-3)}
.btn.danger{border-color:var(--bad);color:var(--bad)}
.btn.sm{min-height:36px;padding:0 14px;font-size:0.8438rem}
.btn.xs{min-height:30px;padding:0 11px;font-size:0.7812rem}
.btn.lg{min-height:54px;padding:0 26px;font-size:1rem}
.btn.block{width:100%}
.btn.icon{width:44px;padding:0}
.btn.icon.sm{width:36px}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.btn svg,.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
a.btn{color:var(--fg)} a.btn.primary{color:#0E0D12} a.btn.dark,a.btn.light{color:var(--bg)}
.pill{display:inline-flex;align-items:center;gap:5px;font-size:0.75rem;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--surface-2);color:var(--fg);white-space:nowrap;line-height:1.5}
.pill.ok{background:var(--ok-bg);color:var(--ok)} .pill.bad{background:var(--bad-bg);color:var(--bad)} .pill.wait{background:var(--wait-bg);color:var(--wait)} .pill.warn{background:var(--warn-bg);color:var(--warn)} .pill.ember{background:var(--ember);color:#0E0D12} .pill.lilac{background:var(--lilac);color:#0E0D12} .pill.ink{background:#0E0D12;color:#F4F1EA} .pill.bone{background:#F4F1EA;color:#0E0D12}
.pill.live{background:var(--ember);color:#0E0D12;letter-spacing:.06em;text-transform:uppercase;font-size:0.6875rem}
.pill.live::before{content:"";width:7px;height:7px;border-radius:50%;background:#0E0D12;animation:pulse 1.4s ease infinite}
@keyframes pulse{50%{opacity:.25}}
.field{display:grid;gap:6px;font-weight:700;font-size:0.875rem}
.field small{font-weight:400;color:var(--muted)}
.in{width:100%;padding:12px 14px;border:1.5px solid var(--line);border-radius:14px;background:var(--bg-2);font-size:0.9375rem;transition:border-color .15s,background .15s}
.in:focus{outline:none;border-color:var(--ember);background:var(--surface)}
.in::placeholder{color:var(--faint)}
select.in{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
textarea.in{resize:vertical;line-height:1.45}
.stack{display:grid;gap:12px}
.stack.sm{gap:8px} .stack.lg{gap:20px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row.nw{flex-wrap:nowrap}
.between{display:flex;justify-content:space-between;align-items:center;gap:12px}
.grow{flex:1;min-width:0}
.muted{color:var(--muted)} .faint{color:var(--faint)} .small{font-size:0.8125rem} .xsmall{font-size:0.75rem}
.center{text-align:center}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:0.875rem}
.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--ember);flex:none}
.hr{height:1px;background:var(--line);margin:16px 0}
.empty{padding:28px 22px;text-align:center;color:var(--muted);border:1.5px dashed var(--line);border-radius:var(--r);display:grid;gap:10px;justify-items:center}
.empty .em{font-size:1.875rem;line-height:1}
.code{font-family:var(--mono);font-size:0.7812rem;background:var(--surface-2);border-radius:10px;padding:12px;overflow-x:auto;white-space:pre;line-height:1.5}
code{font-family:var(--mono);font-size:.92em;background:var(--surface-2);padding:1px 5px;border-radius:5px}
.sum{display:grid;gap:7px;font-size:0.875rem}
.sum div{display:flex;justify-content:space-between;gap:10px}
.sum .tot{font-weight:800;font-size:1.0625rem;border-top:1px solid var(--line);padding-top:9px}
.powered{display:inline-flex;align-items:center;gap:6px;font-size:0.75rem;color:var(--muted);font-weight:500}
.powered b{font-family:var(--display);font-weight:800;letter-spacing:-.05em;font-size:0.875rem;color:var(--fg);display:inline-flex;align-items:baseline}
.codebox{display:flex;gap:8px;justify-content:center}
.codebox input{width:46px;height:58px;text-align:center;font:800 24px var(--display);border:1.5px solid var(--line);border-radius:14px;background:var(--bg-2)}
.codebox input:focus{outline:none;border-color:var(--ember)}
.hint{background:var(--wait-bg);color:var(--wait);border-radius:14px;padding:11px 14px;font-size:0.8438rem;font-weight:600}
.hint a{color:inherit}
.err{background:var(--bad-bg);color:var(--bad);border-radius:14px;padding:11px 14px;font-weight:700;font-size:0.875rem}
.ok-box{background:var(--ok-bg);color:var(--ok);border-radius:14px;padding:11px 14px;font-weight:700;font-size:0.875rem}
.warn-box{background:var(--warn-bg);color:var(--warn);border-radius:14px;padding:11px 14px;font-weight:600;font-size:0.875rem}
.linkish{border:0;background:none;padding:0;font-weight:700;text-decoration:underline;text-underline-offset:3px;color:inherit;cursor:pointer}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:0.875rem}
.kv dt{color:var(--muted)} .kv dd{margin:0;min-width:0;overflow-wrap:anywhere}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.toggle{position:relative;width:48px;height:28px;flex:none}
.toggle input{opacity:0;width:100%;height:100%;margin:0;position:absolute;cursor:pointer;z-index:1}
.toggle span{position:absolute;inset:0;background:var(--line-2);border-radius:999px;transition:.2s}
.toggle span::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:.2s var(--ease);box-shadow:0 1px 3px rgba(0,0,0,.3)}
.toggle input:checked+span{background:var(--ember)}
.toggle input:checked+span::after{left:23px}
.toggle input:focus-visible+span{outline:3px solid var(--lilac);outline-offset:2px}
.seg{display:inline-flex;background:var(--surface-2);border-radius:999px;padding:4px;gap:2px;max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.seg::-webkit-scrollbar{display:none}.seg>a,.seg>button{white-space:nowrap;flex:none}
.seg button,.seg a{border:0;background:none;border-radius:999px;padding:7px 14px;font-weight:700;font-size:0.8438rem;color:var(--muted);text-decoration:none;white-space:nowrap}
.seg [aria-pressed="true"],.seg [aria-current="page"],.seg [aria-current="true"]{background:var(--fg);color:var(--bg)}

/* ---------- App frame ---------- */
.pa{min-height:100vh;background:var(--bg);padding-bottom:96px}
.pa-top{position:sticky;top:0;z-index:20;background:var(--glass);backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);padding-top:env(safe-area-inset-top,0px)}
.pa-top-in{max-width:1180px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px;min-height:60px}
.top-nav{display:none;gap:2px;margin-left:14px}
.top-nav a{text-decoration:none;color:var(--muted);font-weight:700;font-size:0.875rem;padding:8px 13px;border-radius:999px;transition:color .15s,background .15s}
.top-nav a:hover{color:var(--fg)}
.top-nav a[aria-current="page"]{color:var(--fg);background:var(--surface-2)}
.top-search{display:none;flex:1;max-width:380px;margin-left:auto}
.top-search .ask{margin:0;padding:4px 4px 4px 14px}
.top-right{display:flex;align-items:center;gap:8px;margin-left:auto}
.avatar{width:36px;height:36px;border-radius:50%;background:var(--lilac);color:#0E0D12;display:inline-grid;place-items:center;font-weight:800;font-size:0.8125rem;border:0;overflow:hidden;flex:none;padding:0;text-decoration:none;font-family:var(--body)}
.avatar img{width:100%;height:100%;object-fit:cover}
a.avatar{color:#0E0D12}
.avatar.lg{width:88px;height:88px;font-size:1.75rem}
.avatar.xl{width:112px;height:112px;font-size:2.25rem}
.avatar.sm{width:28px;height:28px;font-size:0.6875rem}
.avatar.xs{width:22px;height:22px;font-size:0.5625rem}
.faces{display:flex;align-items:center}
.faces .avatar{border:2.5px solid var(--bg);margin-left:-9px}
.faces .avatar:first-child{margin-left:0}
.pa-main{max-width:1180px;margin:0 auto;padding:18px 16px}
.pa h1,.pa h2,.pa h3{font-family:var(--display);letter-spacing:-.03em;margin:0}
.pa h1{font-size:clamp(2rem,7vw,3.25rem);line-height:.98;font-weight:800}
.pa h2{font-size:1.4375rem;font-weight:700;margin:30px 0 12px;line-height:1.1}
.pa h3{font-size:1.1875rem;font-weight:700;line-height:1.15}
.eyebrow{font-size:0.7188rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}
.lead{font-size:1.0625rem;color:var(--fg-2);max-width:62ch}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:34px 0 14px}
.sec-h h2{margin:0}
.sec-h a{color:var(--fg);font-weight:700;font-size:0.875rem;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:25;display:grid;grid-template-columns:repeat(var(--tabs,5),1fr);background:var(--glass);backdrop-filter:saturate(1.4) blur(18px);-webkit-backdrop-filter:saturate(1.4) blur(18px);border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);padding:6px 4px calc(8px + env(safe-area-inset-bottom,0px))}
.tabbar a{border:0;background:none;display:grid;justify-items:center;gap:3px;font-size:0.6875rem;font-weight:700;color:var(--muted);padding:5px 0;text-decoration:none;position:relative}
.tabbar a[aria-current="page"]{color:var(--fg)}
.tabbar a[aria-current="page"] svg{stroke:var(--ember)}
.tabbar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tabbar .nd{position:absolute;top:2px;left:calc(50% + 8px);width:8px;height:8px;border-radius:50%;background:var(--ember)}
@media (min-width:960px){.top-nav{display:flex}.top-search{display:block}.top-right{margin-left:12px}.tabbar{display:none}.pa{padding-bottom:40px}}
.foot{max-width:1180px;margin:56px auto 0;padding:28px 16px 110px;border-top:1px solid var(--line);color:var(--muted);font-size:0.8125rem;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}
.foot a{color:inherit}
.foot .logo{font-size:1.375rem;color:var(--fg)}
.testbar{background:var(--warn-bg);color:var(--warn);text-align:center;font-size:0.7812rem;font-weight:700;padding:6px 12px}
.banner{background:var(--lilac);color:#0E0D12;text-align:center;font-size:0.8438rem;font-weight:700;padding:9px 14px}
.banner a{color:inherit}
.loading{padding:48px 0;text-align:center;color:var(--muted)}
.loading::before{content:"";display:block;width:28px;height:28px;margin:0 auto 12px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--ember);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.skel{background:linear-gradient(90deg,var(--surface) 0,var(--surface-2) 40%,var(--surface) 80%);background-size:200% 100%;animation:sk 1.3s ease infinite;border-radius:var(--r)}
@keyframes sk{to{background-position:-200% 0}}
.fade-in{animation:fadeup .35s var(--ease) both}
@keyframes fadeup{from{opacity:0;transform:translateY(8px)}}

/* ---------- Search / ask ---------- */
.ask{display:flex;gap:8px;background:var(--surface);border:1.5px solid var(--line);border-radius:999px;padding:6px 6px 6px 16px;align-items:center;margin-top:16px;transition:border-color .15s}
.ask:focus-within{border-color:var(--line-2)}
.ask svg{width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;flex:none}
.ask input{border:0;background:transparent;flex:1;min-width:0;padding:7px 0;font-size:0.9375rem}
.ask input:focus{outline:none}
.ask input::placeholder{color:var(--faint)}
.ask button{border:0;background:var(--fg);color:var(--bg);border-radius:999px;padding:9px 15px;font-weight:700;font-size:0.8125rem;white-space:nowrap}
.answer{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-top:12px;font-size:0.9375rem}

/* ---------- Chips ---------- */
.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 0 4px;scrollbar-width:none;scroll-snap-type:x proximity}
.chips::-webkit-scrollbar{display:none}
.chips.wrap{flex-wrap:wrap;overflow:visible}
.chip{display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--line-2);background:transparent;border-radius:999px;padding:8px 15px;font-weight:700;font-size:0.875rem;white-space:nowrap;color:var(--fg);text-decoration:none;scroll-snap-align:start;transition:background .15s,border-color .15s,color .15s}
.chip:hover{border-color:var(--fg)}
.chip[aria-pressed="true"],a.chip[aria-current="true"],a.chip[aria-current="page"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
a.chip{color:var(--fg)} a.chip[aria-pressed="true"],a.chip[aria-current="true"],a.chip[aria-current="page"]{color:var(--bg)}
.chip .e{font-size:0.9375rem}
.chip.sm{padding:5px 11px;font-size:0.8125rem}

/* ---------- Posters (event and programme artwork) ---------- */
.poster{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;color:#fff;isolation:isolate;container-type:inline-size;background:var(--p1,#FF5A36)}
.poster.wide{aspect-ratio:16/9}
.poster.sq{aspect-ratio:1}
.poster.tall{aspect-ratio:3/4}
.poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.poster.photo::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,13,18,0) 35%,rgba(14,13,18,.72) 100%)}
.poster .pt{position:absolute;left:7%;right:7%;bottom:7%;font-family:var(--display);font-weight:800;letter-spacing:-.04em;line-height:.9;font-size:clamp(1.125rem,13cqi,4rem);text-wrap:balance;overflow-wrap:anywhere;hyphens:auto}
.poster.photo .pt{font-size:clamp(1.0625rem,10cqi,3rem)}
.poster .pb{position:absolute;left:7%;top:7%;font-size:clamp(0.5625rem,3.4cqi,0.8125rem);font-weight:700;letter-spacing:.14em;text-transform:uppercase;opacity:.9;max-width:70%}
.poster .pd{position:absolute;right:7%;top:6.5%;font-family:var(--display);font-weight:800;text-align:center;line-height:.85;font-size:clamp(0.75rem,6cqi,1.625rem);letter-spacing:-.02em}
.poster .pd small{display:block;font-family:var(--body);font-size:.42em;letter-spacing:.14em;font-weight:700;text-transform:uppercase;margin-bottom:.25em}
.poster .orb{position:absolute;border-radius:50%;z-index:-1}
.poster .grain{position:absolute;inset:0;z-index:-1;opacity:.18;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='.9'/></svg>")}
.poster .ring{position:absolute;border-radius:50%;border:2px solid currentColor;opacity:.35;z-index:-1}
.poster .stripe{position:absolute;z-index:-1}
.poster .badge-tl{position:absolute;left:5%;top:5%;z-index:2}
.art{display:none}

/* ---------- Event cards ---------- */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,78%);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 16px 8px;margin:0 -16px;scrollbar-width:none;overscroll-behavior-x:contain}
.rail::-webkit-scrollbar{display:none}
.rail>*{scroll-snap-align:start}
@media (min-width:700px){.rail{grid-auto-columns:minmax(260px,40%)}}
@media (min-width:1100px){.rail{grid-auto-columns:minmax(260px,calc(25% - 11px));margin:0;padding:2px 0 8px}}
.rail.wide{grid-auto-columns:minmax(280px,88%)}
@media (min-width:700px){.rail.wide{grid-auto-columns:minmax(300px,60%)}}
@media (min-width:1100px){.rail.wide{grid-auto-columns:calc(50% - 7px)}}
.grid-ev{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}
@media (min-width:760px){.grid-ev{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}}
.evcard{display:grid;gap:10px;background:none;border:0;padding:0;text-align:left;text-decoration:none;color:inherit;position:relative}
.evcard .poster{transition:transform .25s var(--ease)}
.evcard:hover .poster{transform:translateY(-3px)}
.evcard .meta{font-size:0.8125rem;color:var(--muted);line-height:1.35}
.evcard .nm{font-weight:700;font-size:1rem;line-height:1.22;letter-spacing:-.01em}
.evcard .price{font-weight:700;font-size:0.8438rem}
.save-btn{position:absolute;right:10px;bottom:10px;z-index:3;width:38px;height:38px;border-radius:50%;border:0;background:rgba(14,13,18,.55);backdrop-filter:blur(8px);display:grid;place-items:center;color:#fff}
.save-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2}
.save-btn[aria-pressed="true"] svg{fill:var(--ember);stroke:var(--ember)}
/* The big "this week" card from the brand concept */
.fcard{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;position:relative;transition:transform .25s var(--ease),border-color .2s}
.fcard:hover{transform:translateY(-3px);border-color:var(--line-2)}
.fcard .poster{border-radius:0;aspect-ratio:16/10}
.fcard .fbody{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 16px}
.fcard .fbody b{display:block;font-family:var(--display);font-size:1.3125rem;letter-spacing:-.03em;line-height:1.05}
.fcard .fbody span{color:var(--muted);font-size:0.875rem}
.fcard .fbody .pricetag{background:var(--fg);color:var(--bg);font-weight:800;border-radius:999px;padding:10px 16px;white-space:nowrap;font-size:0.875rem}
.fcard .when-tag{position:absolute;left:14px;top:14px;z-index:3;background:#0E0D12;color:#F4F1EA;border-radius:999px;padding:6px 12px;font-weight:700;font-size:0.8125rem}
/* Compact card (two up) */
.ccard{display:grid;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px;text-decoration:none;color:inherit;align-content:start;transition:border-color .2s}
.ccard:hover{border-color:var(--line-2)}
.ccard .poster{border-radius:12px;aspect-ratio:16/9}
.ccard b{font-size:0.9688rem;line-height:1.2}
.ccard span{font-size:0.8125rem;color:var(--muted)}
.two-up{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (min-width:760px){.two-up{grid-template-columns:repeat(4,1fr)}}
/* Row card (list) */
.rcard{display:flex;gap:14px;align-items:center;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:18px;text-decoration:none;color:inherit}
.rcard .poster{width:84px;flex:none;aspect-ratio:1;border-radius:12px}
.rcard .poster .pt,.rcard .poster .pb,.rcard .poster .pd{display:none}
.rcard b{display:block;font-size:0.9688rem;line-height:1.2}
.rcard .s{font-size:0.8125rem;color:var(--muted)}

/* ---------- Home ---------- */
.hello{display:grid;gap:4px;margin:6px 0 0}
.hello h1{font-size:clamp(2.125rem,8vw,3.5rem)}
.cat-ic{width:20px;height:20px}
.hero-feature{position:relative;border-radius:28px;overflow:hidden;display:block;text-decoration:none;color:#fff;isolation:isolate;min-height:360px;margin-top:18px}
.hero-feature .poster{position:absolute;inset:0;aspect-ratio:auto;border-radius:0;height:100%}
.hero-feature .poster .pt{display:none}
.hero-feature .hf-in{position:relative;z-index:2;display:grid;align-content:end;gap:10px;min-height:360px;padding:26px;background:linear-gradient(180deg,rgba(14,13,18,0) 25%,rgba(14,13,18,.85))}
.hero-feature h2{margin:0;font-size:clamp(2rem,6vw,3.625rem);line-height:.95;color:#fff}
.hero-feature p{margin:0;color:#E9E5DC;font-size:0.9375rem}
@media (min-width:900px){.hero-feature,.hero-feature .hf-in{min-height:440px}}
.promo{display:grid;gap:10px;padding:22px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.promo.ember{background:var(--ember);color:#0E0D12;border-color:var(--ember)}
.promo.lilac{background:var(--lilac);color:#0E0D12;border-color:var(--lilac)}
.promo.bone{background:#F4F1EA;color:#0E0D12;border-color:#F4F1EA}
.promo h3{font-size:1.5rem;line-height:1.05;margin:0}
.promo p{margin:0;opacity:.85}
.promo .btn{justify-self:start}
.promo.ember .btn,.promo.lilac .btn,.promo.bone .btn{background:#0E0D12;color:#F4F1EA;border-color:#0E0D12}
.two{display:grid;gap:16px}
@media (min-width:760px){.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.three{display:grid;gap:14px}
@media (min-width:760px){.three{grid-template-columns:repeat(3,minmax(0,1fr))}}
.brand-tile{display:grid;justify-items:center;text-align:center;gap:8px;padding:18px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:inherit}
.brand-tile b{font-size:0.9375rem;line-height:1.2}
.brand-tile span{font-size:0.7812rem;color:var(--muted)}

/* ---------- Event page ---------- */
.ev{display:grid;gap:22px}
.ev-cover{position:relative;margin:-18px -16px 0;isolation:isolate}
.ev-cover .poster{border-radius:0;aspect-ratio:4/3;max-height:62vh;width:100%}
.ev-cover .poster .pt{display:none}
.ev-cover::after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(180deg,transparent,var(--bg));z-index:1;pointer-events:none}
.ev-cover .back{position:absolute;left:14px;top:14px;z-index:3}
.ev-cover .acts{position:absolute;right:14px;top:14px;z-index:3;display:flex;gap:8px}
.round{width:42px;height:42px;border-radius:50%;border:0;background:rgba(14,13,18,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;display:grid;place-items:center;text-decoration:none}
.round svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.round[aria-pressed="true"] svg{fill:var(--ember);stroke:var(--ember)}
.ev-head{position:relative;z-index:2;margin-top:-64px;display:grid;gap:10px}
.ev-head h1{font-size:clamp(2.25rem,8vw,4rem)}
.ev-date{display:flex;gap:14px;align-items:center}
.cal{width:58px;flex:none;border-radius:14px;overflow:hidden;background:var(--fg);color:var(--bg);text-align:center;font-weight:800;line-height:1}
.cal small{display:block;background:var(--ember);color:#0E0D12;font-size:0.6875rem;letter-spacing:.1em;padding:4px 0;text-transform:uppercase}
.cal b{display:block;font-family:var(--display);font-size:1.625rem;padding:6px 0 7px}
.ev-grid{display:grid;gap:26px}
@media (min-width:960px){
  .ev-cover{margin:0;border-radius:28px;overflow:hidden}
  .ev-cover .poster{aspect-ratio:21/9;max-height:none}
  .ev-cover::after{display:none}
  .ev-head{margin-top:6px}
  .ev-grid{grid-template-columns:minmax(0,1fr) 380px;align-items:start}
  .buybox{position:sticky;top:84px}
}
.facts{display:grid;gap:2px;margin:6px 0 0;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}
.fact{display:flex;gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.fact:last-child{border-bottom:0}
.fact .fi{width:40px;height:40px;border-radius:12px;background:var(--surface-2);display:grid;place-items:center;flex:none}
.fact .fi svg{width:20px;height:20px;fill:none;stroke:var(--fg);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fact b{display:block;font-size:0.9375rem}
.fact span{font-size:0.8438rem;color:var(--muted)}
.fact a{color:inherit}
.prose{font-size:1rem;line-height:1.6;color:var(--fg-2);white-space:pre-line}
.buybox{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px;display:grid;gap:12px}
.tier{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px;border:1.5px solid var(--line);border-radius:16px;background:var(--bg-2)}
.tier .nm{font-weight:700}
.tier.sold{opacity:.7}
.qty{display:flex;align-items:center;gap:8px}
.qty button{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line-2);background:var(--surface);font-weight:800;font-size:1rem;color:var(--fg)}
.qty span{min-width:20px;text-align:center;font-weight:800}
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:26;background:var(--glass);backdrop-filter:saturate(1.4) blur(18px);-webkit-backdrop-filter:saturate(1.4) blur(18px);border-top:1px solid var(--line);padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:12px}
.buybar .p b{display:block;font-family:var(--display);font-size:1.375rem;letter-spacing:-.02em;line-height:1}
.buybar .p span{font-size:0.75rem;color:var(--muted)}
.buybar .btn{margin-left:auto;min-width:46%}
.has-buybar .tabbar{display:none}
@media (min-width:960px){.buybar{display:none}}
.host{display:flex;gap:14px;align-items:center;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.host .grow b{display:block;font-size:1rem}
.lineup{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}
.lineup .li-p{display:grid;justify-items:center;text-align:center;gap:6px}
.lineup .li-p b{font-size:0.875rem;line-height:1.2}
.lineup .li-p span{font-size:0.75rem;color:var(--muted)}
.sched{display:grid;gap:0;border-left:2px solid var(--line);margin-left:6px}
.sched div{position:relative;padding:4px 0 14px 20px}
.sched div::before{content:"";position:absolute;left:-7px;top:9px;width:12px;height:12px;border-radius:50%;background:var(--ember);border:3px solid var(--bg)}
.sched b{font-variant-numeric:tabular-nums;margin-right:8px}
.faq{border:1px solid var(--line);border-radius:16px;background:var(--surface);overflow:hidden}
.faq details{border-bottom:1px solid var(--line)}
.faq details:last-child{border-bottom:0}
.faq summary{cursor:pointer;padding:14px 16px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:10px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.25rem;line-height:1;color:var(--muted)}
.faq details[open] summary::after{content:"–"}
.faq p{margin:0;padding:0 16px 14px;color:var(--fg-2)}
.mapcard{display:grid;gap:12px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.mapart{height:150px;border-radius:14px;background:radial-gradient(circle at 50% 46%,var(--ember) 0 9px,transparent 10px),radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--ember) 30%,transparent) 0 26px,transparent 27px),repeating-linear-gradient(0deg,transparent 0 23px,var(--line) 23px 24px),repeating-linear-gradient(90deg,transparent 0 23px,var(--line) 23px 24px),linear-gradient(135deg,var(--surface-2),var(--bg-2))}

/* ---------- Tickets ---------- */
.wallet{display:grid;gap:14px}
@media (min-width:760px){.wallet{grid-template-columns:repeat(2,minmax(0,1fr))}}
.wcard{display:flex;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;position:relative}
.wcard .poster{width:112px;flex:none;aspect-ratio:auto;border-radius:0}
.wcard .poster .pt,.wcard .poster .pb,.wcard .poster .pd{display:none}
.wcard .wb{padding:14px 16px;display:grid;gap:4px;align-content:center;min-width:0}
.wcard .wb b{font-family:var(--display);font-size:1.1875rem;letter-spacing:-.02em;line-height:1.1}
.wcard .wb span{font-size:0.8125rem;color:var(--muted)}
.ticket{background:#F4F1EA;color:#0E0D12;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-lg);max-width:420px;position:relative}
.ticket .top{padding:22px 22px 6px;display:grid;gap:4px}
.ticket .top h2{color:#0E0D12;font-size:1.75rem;margin:0;line-height:1}
.ticket .top .muted{color:#625E6B}
.ticket .tlogo{position:absolute;right:20px;top:22px;font-size:1.25rem;color:#0E0D12}
.ticket .qrw{display:grid;justify-items:center;gap:8px;padding:14px 22px 22px;position:relative}
.ticket .qrw::before,.ticket .qrw::after{content:"";position:absolute;top:-12px;width:24px;height:24px;border-radius:50%;background:var(--bg)}
.ticket .qrw::before{left:-12px} .ticket .qrw::after{right:-12px}
.ticket .perf{position:absolute;left:24px;right:24px;top:0;border-top:2px dashed #CFC8B9}
canvas.qr{width:212px;height:212px;image-rendering:pixelated;background:#fff;border-radius:18px;padding:12px;box-shadow:0 1px 0 rgba(0,0,0,.04)}
.ticket .holder{font-family:var(--display);font-weight:800;font-size:1.375rem;letter-spacing:-.02em;margin-top:8px}
.ticket .btn.dark{background:#0E0D12;color:#F4F1EA;border-color:#0E0D12}
.ticket .btn.ghost{border-color:#CFC8B9;color:#0E0D12}
.ticket .small.muted,.ticket .muted{color:#625E6B}
.ticket .pill{background:#E3DED2;color:#0E0D12}
.ticket .pill.ok{background:#DDF1E5;color:#1E7A4C}
.pickup{display:grid;justify-items:center;gap:2px;margin-top:8px}
.pickup small{font-weight:800;letter-spacing:.1em;color:#625E6B;font-size:0.6875rem}
.pickup b{font-family:var(--display);font-size:2.75rem;letter-spacing:.2em}
.addon{display:flex;gap:14px;align-items:center;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:18px}
.addon .sw{width:52px;height:52px;border-radius:14px;flex:none}

/* ---------- Brand page ---------- */
.bhero{position:relative;margin:-18px -16px 0;height:220px;background-size:cover;background-position:center}
.bhero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,var(--bg))}
@media (min-width:960px){.bhero{margin:0;border-radius:28px;height:300px;overflow:hidden}}
.bhead{position:relative;z-index:2;margin-top:-56px;display:grid;gap:12px}
.blogo{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-weight:900;color:#fff;font-size:0.875rem;flex:none;overflow:hidden;font-family:var(--display)}
.blogo img{width:100%;height:100%;object-fit:cover}
.blogo.ring{border:4px solid var(--bg)}
.brandrow{display:flex;gap:12px;align-items:center}
.vtick{display:inline-grid;place-items:center;width:1.05em;height:1.05em;border-radius:50%;background:var(--lilac);color:#0E0D12;font-size:.55em;font-weight:900;margin-left:.3em;vertical-align:.2em;font-family:var(--body)}
.stat-row{display:flex;gap:22px;flex-wrap:wrap}
.stat-row div b{display:block;font-family:var(--display);font-size:1.375rem;letter-spacing:-.02em}
.stat-row div span{font-size:0.7812rem;color:var(--muted)}
.anchors{position:sticky;top:60px;z-index:15;background:var(--glass);backdrop-filter:blur(14px);margin:18px -16px 0;padding:8px 16px;border-bottom:1px solid var(--line)}

/* ---------- Generic cards and lists ---------- */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.card.flat{background:transparent}
.card.pad-lg{padding:24px}
.list{display:grid;gap:10px}
.li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:18px;text-decoration:none;color:inherit}
a.li:hover,button.li:hover{border-color:var(--line-2)}
button.li{width:100%;font:inherit;text-align:left;cursor:pointer}
.li .t{font-weight:700} .li .s{font-size:0.8125rem;color:var(--muted)}
.li>div{min-width:0}
.menu-list{display:grid;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}
.menu-list>a,.menu-list>button,.menu-list>div{display:flex;align-items:center;gap:14px;padding:15px 16px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;text-decoration:none;color:inherit;font:inherit;width:100%}
.menu-list>*:last-child{border-bottom:0}
.menu-list>a:hover,.menu-list>button:hover{background:var(--surface-2)}
.menu-list .mi{width:36px;height:36px;border-radius:11px;background:var(--surface-2);display:grid;place-items:center;flex:none}
.menu-list .mi svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.menu-list .grow b{display:block;font-weight:700}
.menu-list .grow span{font-size:0.8125rem;color:var(--muted)}
.menu-list .chev{color:var(--faint)}
.tiers3{display:grid;gap:14px}
@media (min-width:760px){.tiers3{grid-template-columns:repeat(3,1fr)}}
.plan{border:1.5px solid var(--line);border-radius:var(--r);padding:20px;background:var(--surface);display:grid;gap:10px;align-content:start}
.plan.star{border-color:var(--ember);box-shadow:0 0 0 4px color-mix(in srgb,var(--ember) 18%,transparent)}
.plan .pr{font-family:var(--display);font-weight:800;font-size:2.25rem;letter-spacing:-.04em}
.plan ul{margin:0;padding-left:18px;font-size:0.875rem;display:grid;gap:5px;color:var(--fg-2)}
.steps{display:flex;gap:6px;margin-bottom:18px}
.steps i{flex:1;height:4px;border-radius:4px;background:var(--line)}
.steps i.on{background:var(--ember)}
.sess{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 15px;background:var(--surface);border:1px solid var(--line);border-radius:16px}
.sess.bible{border-left:4px solid var(--ember)}
.sess .when{font-weight:800;font-variant-numeric:tabular-nums;min-width:56px;font-family:var(--display);font-size:1.0625rem}
.daylabel{font-size:0.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px}

/* ---------- Sheets, toasts ---------- */
.overlay{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;background:rgba(8,7,11,.62);backdrop-filter:blur(3px);animation:fade .18s ease}
.sheet{background:var(--surface);color:var(--fg);width:100%;max-width:560px;max-height:92vh;overflow-y:auto;border-radius:28px 28px 0 0;padding:10px 20px calc(26px + env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-lg);animation:up .28s var(--ease);border:1px solid var(--line);border-bottom:0}
.sheet::before{content:"";display:block;width:40px;height:5px;border-radius:5px;background:var(--line-2);margin:0 auto 12px}
.sheet.wide{max-width:760px}
@media (min-width:760px){.overlay{align-items:center}.sheet{border-radius:28px;border-bottom:1px solid var(--line);padding-top:20px}.sheet::before{display:none}}
.sheet-h{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.sheet-h h3{margin:0;font-family:var(--display);font-size:1.5rem;letter-spacing:-.03em}
.x{border:0;background:var(--surface-2);width:36px;height:36px;border-radius:50%;font-size:1.1875rem;line-height:1;flex:none;color:var(--fg)}
@keyframes up{from{transform:translateY(40px);opacity:0}}
@keyframes fade{from{opacity:0}}
.toast{position:fixed;left:50%;top:calc(14px + env(safe-area-inset-top,0px));bottom:auto;max-width:calc(100vw - 32px);text-align:center;transform:translateX(-50%);z-index:60;background:var(--fg);color:var(--bg);padding:12px 18px;border-radius:999px;font-weight:700;font-size:0.875rem;box-shadow:var(--shadow-lg);max-width:calc(100% - 32px);text-align:center;animation:fadeup .25s var(--ease)}
@media (min-width:960px){.toast{top:24px}}

/* ---------- Splash and onboarding ---------- */
.splash{position:fixed;inset:0;z-index:70;background:#0E0D12;color:#F4F1EA;display:grid;place-content:center;justify-items:center;gap:14px;animation:splash-out .4s ease 1.7s forwards}
.splash .m{font-family:var(--display);font-weight:800;font-size:5.75rem;letter-spacing:-.065em;line-height:1;display:flex;align-items:baseline}
.splash .w{display:inline-block;overflow:hidden;max-width:0;white-space:nowrap;animation:sw .55s var(--ease) .35s forwards}
.splash .d{width:.52em;height:.52em;border-radius:50%;background:#FF5A36;margin-left:.03em;transform:scale(0);animation:sd .45s cubic-bezier(.3,1.6,.5,1) .05s forwards}
.splash p{margin:0;color:#CFC9DA;letter-spacing:.02em;font-family:var(--display);font-weight:700;font-size:1.25rem;opacity:0;animation:sf .45s ease .95s forwards}
@keyframes sd{to{transform:scale(1)}} @keyframes sw{to{max-width:3em}} @keyframes sf{to{opacity:1}} @keyframes splash-out{to{opacity:0;visibility:hidden}}
.onb{position:fixed;inset:0;z-index:50;background:var(--bg);overflow-y:auto;animation:fade .2s ease}
.onb-in{max-width:520px;margin:0 auto;min-height:100%;padding:calc(20px + env(safe-area-inset-top,0px)) 20px calc(24px + env(safe-area-inset-bottom,0px));display:grid;grid-template-rows:auto 1fr auto;gap:18px}
.onb h1{font-family:var(--display);font-size:clamp(2.125rem,9vw,3rem);letter-spacing:-.04em;line-height:.98;margin:0}
.onb .opts{display:flex;flex-wrap:wrap;gap:10px}
.onb .opt{border:1.5px solid var(--line-2);background:var(--surface);border-radius:18px;padding:12px 16px;font-weight:700;font-size:0.9375rem;display:inline-flex;align-items:center;gap:8px;color:var(--fg)}
.onb .opt[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.onb .follow-row{display:flex;gap:12px;align-items:center;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:18px}

/* ---------- Brand desk + HQ ---------- */
.dk{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr);background:var(--bg)}
@media (max-width:959px){.dk{grid-template-columns:1fr}}
.dk-side{background:var(--bg-2);border-right:1px solid var(--line);padding:16px 12px 24px;display:grid;align-content:start;gap:2px;position:sticky;top:var(--top-h,60px);height:calc(100vh - var(--top-h,60px));overflow-y:auto;scrollbar-width:thin}
.dk-who{display:flex;gap:11px;align-items:center;padding:6px 10px 16px}
.dk-who .blogo{width:40px;height:40px;border-radius:12px;font-size:0.75rem}
.dk-who b{display:block;font-size:0.9062rem;line-height:1.2}
.dk-who small{color:var(--muted);font-size:0.75rem}
.dk-nav{display:flex;align-items:center;gap:10px;border:0;background:none;text-align:left;padding:9px 12px;border-radius:12px;font-weight:600;font-size:0.875rem;color:var(--muted);white-space:nowrap;text-decoration:none;transition:background .15s,color .15s}
.dk-nav:hover{color:var(--fg);background:var(--surface)}
.dk-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.dk-nav[aria-current="page"]{background:var(--surface-2);color:var(--fg)}
.dk-nav .cnt{margin-left:auto;background:var(--ember);color:#0E0D12;font-size:0.6875rem;font-weight:800;border-radius:999px;padding:1px 7px}
.dk-group{display:grid;gap:1px;margin-bottom:12px}
.dk-gl{font-size:0.6875rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);padding:8px 12px 4px}
.dk-main{padding:26px 28px 100px;min-width:0;max-width:1180px;width:100%}
@media (max-width:959px){.dk-side{display:none}.dk-main{padding:16px 16px 100px}}
.dk-mob{display:none}
@media (max-width:959px){.dk-mob{display:block;position:sticky;top:var(--top-h,60px);z-index:12;background:var(--glass);backdrop-filter:blur(14px);padding:10px 16px;border-bottom:1px solid var(--line)}.dk-mob select{font-weight:700}}
.dk h1{font-family:var(--display);font-size:clamp(1.75rem,4vw,2.375rem);letter-spacing:-.035em;margin:0 0 4px;font-weight:800;line-height:1.02}
.dk h2{font-family:var(--display);font-size:1.25rem;margin:30px 0 12px;letter-spacing:-.02em}
.dk h3{font-family:var(--display);font-size:1.0625rem;margin:0;letter-spacing:-.01em}
.page-h{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.page-h p{margin:4px 0 0}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:18px 0}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px}
.stat small{display:block;color:var(--muted);font-weight:700;font-size:0.7188rem;letter-spacing:.06em;text-transform:uppercase}
.stat b{display:block;font-family:var(--display);font-size:1.75rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:4px;line-height:1.1}
.stat em{display:block;font-style:normal;font-size:0.7812rem;font-weight:700;color:var(--ok);margin-top:2px}
.stat em.down{color:var(--bad)}
.stat.accent{background:var(--ember);border-color:var(--ember);color:#0E0D12}
.stat.accent small{color:#0E0D12;opacity:.85}
.tbl-w{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:var(--surface)}
table.tbl{width:100%;border-collapse:collapse;font-size:0.875rem;min-width:560px}
.tbl th{text-align:left;font-size:0.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:11px 14px;border-bottom:1px solid var(--line);font-weight:700;white-space:nowrap}
.tbl td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}
.tbl tr.neg td.num{color:var(--bad)}
.tt{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:8px;min-width:920px}
.tt-col h4{margin:0 0 6px;font-size:0.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.slot{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--lilac);border-radius:12px;padding:9px;font-size:0.7812rem;margin-bottom:6px}
.slot.bible{border-left-color:var(--ember)}
.slot b{display:block;font-size:0.8125rem}
.drop{border:2px dashed var(--line-2);border-radius:var(--r);padding:24px;text-align:center;display:grid;gap:8px;justify-items:center;background:var(--surface)}
.drop.small{padding:14px}
.check-row{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-bottom:1px solid var(--line)}
.check-row:last-child{border-bottom:0}
.tick{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:0.8125rem;flex:none;background:var(--surface-2)}
.tick.ok{background:var(--ok-bg);color:var(--ok)} .tick.warn{background:var(--warn-bg);color:var(--warn)} .tick.bad{background:var(--bad-bg);color:var(--bad)} .tick.run{background:var(--wait-bg);color:var(--wait)}
.map{display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);gap:8px;align-items:center;font-size:0.875rem}
.map .from{font-family:var(--mono);font-size:0.7812rem;background:var(--surface-2);border-radius:8px;padding:8px}
.swatches{display:flex;gap:8px;flex-wrap:wrap}
.sw{width:36px;height:36px;border-radius:50%;border:3px solid transparent;padding:0}
.sw[aria-pressed="true"]{border-color:var(--fg)}
.builder-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.today{display:grid;gap:12px}
@media (min-width:900px){.today{grid-template-columns:1.4fr 1fr}}
.timeline{display:grid;gap:0}
.timeline .tl{display:grid;grid-template-columns:62px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.timeline .tl:last-child{border-bottom:0}
.timeline .tl b.t{font-family:var(--display);font-size:1.0625rem;font-variant-numeric:tabular-nums}
.setup{background:linear-gradient(135deg,var(--surface),var(--surface-2));border:1px solid var(--line);border-radius:var(--r);padding:20px}
.setup ol{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}
.setup li{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:14px;background:var(--bg-2)}
.setup li.done{opacity:.6}
.setup li .tick{width:26px;height:26px}
.setup li a{margin-left:auto}

/* ---------- Version 2 bits ---------- */
.prog{height:8px;border-radius:8px;background:var(--surface-3);overflow:hidden;min-width:80px}
.prog i{display:block;height:100%;background:var(--ember);border-radius:8px;transition:width .4s var(--ease)}
.prog.big{height:12px}
.prog.ok i{background:var(--ok)} .prog.warn i{background:var(--warn)} .prog.bad i{background:var(--bad)}
.meter{display:grid;gap:5px}
.grid-in{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.incard{display:grid;justify-items:center;text-align:center;gap:6px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:inherit}
.badge{display:flex;gap:12px;align-items:center;background:var(--ok-bg);color:var(--ok);border-radius:18px;padding:14px 16px;margin:12px 0}
.badge>span{width:46px;height:46px;border-radius:50%;background:var(--ok);color:var(--bg);display:grid;place-items:center;font-weight:900;font-size:1.25rem;flex:none}
.day{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:13px 15px;opacity:.7}
.day.open{opacity:1}
.day.done{border-color:var(--ok)}
.day .dn{font-size:0.6875rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.vthumb{position:relative;aspect-ratio:16/9;border-radius:var(--r);background-size:cover;background-position:center;display:grid;place-items:center;overflow:hidden}
.vthumb .play{width:48px;height:48px;border-radius:50%;background:rgba(14,13,18,.6);backdrop-filter:blur(6px);color:#fff;display:grid;place-items:center;font-size:1rem}
.vthumb .dur{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.65);color:#fff;font-size:0.6875rem;font-weight:700;padding:2px 7px;border-radius:6px}
.vthumb .lock{position:absolute;left:8px;top:8px;background:rgba(0,0,0,.55);border-radius:8px;padding:2px 7px;font-size:0.75rem}
.player{margin-top:14px;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#000;max-width:100%}
.player iframe{width:100%;height:100%;border:0}
.player .locked{color:#fff}
.locked{display:grid;justify-items:center;text-align:center;gap:10px;padding:40px 16px}
.locked>span{font-size:2.125rem}
.giftcard{aspect-ratio:1.6;max-width:360px;border-radius:22px;color:#fff;padding:22px;display:flex;flex-direction:column;justify-content:space-between;margin-top:14px;box-shadow:var(--shadow)}
.giftcard span{font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:0.75rem}
.giftcard b{font-family:var(--display);font-size:3.375rem;letter-spacing:-.03em;line-height:1}
.giftcard small{opacity:.8;font-size:0.75rem}
.grid-v{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.vcard{display:flex;gap:14px;align-items:flex-start;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;color:inherit}
.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px}
.bigname{font-family:var(--display);font-size:1.875rem;letter-spacing:-.02em;line-height:1.1;margin-bottom:4px}
details summary{list-style-position:inside}
.scan-box{width:min(340px,100%);aspect-ratio:1;border-radius:24px;overflow:hidden;background:#000;position:relative;margin:0 auto}
.scan-box video{width:100%;height:100%;object-fit:cover}
.scan-result{border-radius:18px;padding:16px;font-weight:800;text-align:center;font-size:1.125rem}
.scan-result.ok{background:var(--ok-bg);color:var(--ok)} .scan-result.bad{background:var(--bad-bg);color:var(--bad)} .scan-result.warn{background:var(--warn-bg);color:var(--warn)}
#stripe-mount{min-height:300px}
.hidden-file{position:absolute;inset:0;opacity:0;cursor:pointer}
.filebtn{position:relative;overflow:hidden}
.pa-main a:not(.btn):not(.chip):not(.li):not(.evcard):not(.dk-nav):not(.fcard):not(.ccard):not(.rcard):not(.wcard):not(.brand-tile):not(.incard):not(.vcard):not(.avatar):not(.round):not(.hero-feature):not(.logo):not(.menu-list a):not(.fr-next):not(.fr-section):not(.fr-connect):not(.fr-plan):not(.fr-search){color:var(--accent-ink);font-weight:700}
.sec-h a{color:var(--fg)!important}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01s!important;transition:none!important}}
.ev-hero{display:grid;gap:20px}
@media (min-width:760px){.ev-hero{grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start}}
.poster .fade{position:absolute;left:0;right:0;bottom:0;height:52%;z-index:-1;background:linear-gradient(180deg,transparent,var(--p1) 42%)}
.cat-ic{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.li{flex-wrap:wrap}
.li>div:first-child{flex:1 1 180px}
.li>.row.nw{margin-left:auto}
@media (min-width:960px){.ev-cover{border:1px solid var(--line)}}
.pa-main .seg a{color:var(--muted)!important;font-weight:700}
.pa-main .seg a[aria-current="page"]{color:var(--bg)!important}
.pa-main .menu-list a{color:inherit!important;font-weight:inherit}

/* ===================== Community (v3 part 3) ===================== */
.radio{display:flex;gap:10px;align-items:center;font-weight:500;font-size:0.9062rem;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer}
.radio:has(input:checked){border-color:var(--ember);background:var(--surface-2)}
.radio input{accent-color:var(--ember);width:17px;height:17px}
.seg label{border-radius:999px;padding:7px 14px;font-weight:700;font-size:0.8438rem;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center}
.seg label input{position:absolute;opacity:0;pointer-events:none}
.seg label:has(input:checked){background:var(--fg);color:var(--bg)}
.swatch{width:34px;height:34px;border-radius:50%;cursor:pointer;border:2px solid var(--line-2);position:relative}
.swatch input{position:absolute;opacity:0}
.swatch:has(input:checked){outline:3px solid var(--fg);outline-offset:2px}
.comm-hero{max-width:640px;margin:20px auto;display:grid;gap:16px;padding:30px 24px;border-radius:var(--r);background:radial-gradient(120% 90% at 100% 0%,rgba(185,168,255,.28),transparent 60%),var(--surface);border:1px solid var(--line)}
.comm-hero h1{font-size:clamp(2.25rem,7vw,3.5rem);line-height:.95;margin:0}
.comm-hero p{margin:0;color:var(--muted);font-size:1rem}
.comm-hero .btn{justify-self:start}
.promises{display:grid;gap:10px}
.promises>div{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;padding:12px 14px;border-radius:var(--r-sm);background:var(--surface-2)}
.promises svg{grid-row:span 2;width:22px;height:22px;fill:none;stroke:var(--lilac);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.promises span{font-size:0.8438rem;color:var(--muted)}
.comm-top h1{margin:0}
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:18px}
.quick a{position:relative;display:grid;justify-items:center;gap:8px;padding:16px 8px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);color:var(--fg);text-decoration:none;font-size:0.8125rem;text-align:center}
.quick a:hover{border-color:var(--line-2)}
.quick svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.quick .dotn{position:absolute;top:8px;right:8px}
.dotn{min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:var(--ember);color:#0E0D12;font-size:0.75rem;font-weight:800;display:inline-grid;place-items:center}
.faces{display:inline-flex;flex:none}
.faces .avatar{border:2px solid var(--bg);margin-left:-8px}
.faces .avatar:first-child{margin-left:0}
.faces .more{background:var(--surface-3);color:var(--fg)}
.fgcard{display:grid;gap:8px;color:var(--fg);text-decoration:none;font-size:0.875rem}
.fgcard .poster{aspect-ratio:16/10;border-radius:var(--r-sm)}
.fgcard .s{font-size:0.8125rem;color:var(--muted)}
.grid-c{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.circ{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);color:var(--fg);text-decoration:none}
.circ:hover{border-color:var(--line-2)}
.circ>div{flex:1}
.circ b{display:block;font-weight:700}
.circ span:not(.circ-dot):not(.pill){font-size:0.8125rem;color:var(--muted)}
.circ-dot{width:44px;height:44px;border-radius:14px;display:inline-grid;place-items:center;font-weight:800;font-size:0.9375rem;flex:none;font-family:var(--display)}
.circ-dot.xs{width:12px;height:12px;border-radius:4px}
.circ-head{display:grid;gap:10px;justify-items:start;padding:20px;border-radius:var(--r);background:radial-gradient(100% 120% at 100% 0%,color-mix(in srgb,var(--cc) 35%,transparent),transparent 65%),var(--surface);border:1px solid var(--line)}
.circ-head h1{margin:0;font-size:clamp(1.75rem,5vw,2.5rem)}
.circ-head p{margin:0;color:var(--muted)}
.circ-dot.lg{width:64px;height:64px;border-radius:20px;font-size:1.375rem;background:var(--cc);color:var(--ct)}
.badge{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:99px;background:var(--surface-2);font-weight:700;font-size:0.8125rem}
.badge svg{width:16px;height:16px;fill:none;stroke:var(--lilac);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.prof{display:grid;gap:14px;background:linear-gradient(135deg,var(--surface),var(--surface-2))}
.pill.sm{font-size:0.6562rem;padding:1px 7px}
/* chat */
.chat{display:flex;flex-direction:column;height:calc(100dvh - var(--top-h,60px) - 92px);max-width:760px;margin:0 auto}
@media (min-width:900px){.chat{height:calc(100dvh - var(--top-h,60px) - 40px)}}
.chat-h{display:flex;align-items:center;gap:8px;padding:6px 0 10px;border-bottom:1px solid var(--line)}
.chat-h b{display:block;font-family:var(--display);font-size:1.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-h span{font-size:0.8125rem;color:var(--muted)}
.chat-list{flex:1;overflow-y:auto;padding:14px 2px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.chat-empty{margin:auto;display:grid;justify-items:center;gap:6px;text-align:center;color:var(--muted);max-width:300px}
.chat-empty svg{width:34px;height:34px;fill:none;stroke:var(--lilac);stroke-width:1.6}
.chat-empty b{color:var(--fg)}
.msg{display:flex;gap:8px;align-items:flex-end;max-width:86%;position:relative}
.msg.me{align-self:flex-end;flex-direction:row-reverse}
.msg .bub{background:var(--surface-2);border-radius:18px 18px 18px 6px;padding:8px 12px;min-width:0}
.msg.me .bub{background:var(--ember);color:#0E0D12;border-radius:18px 18px 6px 18px}
.msg .who{display:flex;gap:8px;align-items:center;font-size:0.75rem;font-weight:700;margin-bottom:2px}
.msg .who span:last-child{font-weight:500;opacity:.6}
.msg .txt{white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;font-size:0.9375rem;line-height:1.4}
.msg-more{opacity:0;border:0;background:none;color:var(--muted);padding:4px;cursor:pointer;align-self:center}
.msg-more svg{width:16px;height:16px;fill:currentColor}
.msg:hover .msg-more,.msg:focus-within .msg-more{opacity:1}
@media (pointer:coarse){.msg-more{opacity:.55}}
.msg.gone{font-size:0.8125rem;color:var(--faint);font-style:italic;align-self:center}
.chat-in{display:flex;gap:8px;align-items:flex-end;padding:10px 0 4px;border-top:1px solid var(--line)}
.chat-in textarea{resize:none;border-radius:20px;min-height:44px;max-height:140px}
.chat-closed{padding:12px;text-align:center;color:var(--muted);border-top:1px solid var(--line);font-size:0.875rem}
/* prayer */
.pcard{display:grid;gap:10px;padding:16px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.pcard.testimony{border-color:color-mix(in srgb,var(--lilac) 45%,var(--line))}
.pcard p{margin:0;font-size:0.9688rem;line-height:1.5;white-space:pre-line}
.pcard .s{display:block;font-size:0.7812rem;color:var(--muted)}
.pcard b{font-weight:700}
.avatar.anon{background:var(--surface-3);color:var(--lilac)}
.avatar.anon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.chip svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.answered{display:flex;gap:10px;padding:10px 12px;border-radius:var(--r-sm);background:color-mix(in srgb,var(--lilac) 18%,transparent)}
.answered svg{width:20px;height:20px;fill:none;stroke:var(--lilac);stroke-width:2;flex:none}
.answered b{display:block}
.answered span{font-size:0.875rem}
.replies{display:grid;gap:8px;padding-top:8px;border-top:1px solid var(--line)}
.reply{display:flex;gap:8px;align-items:flex-start;font-size:0.875rem}
.reply>div{flex:1}
.reply .linkish svg{width:13px;height:13px;fill:none;stroke:var(--faint);stroke-width:2}
/* year */
.year{max-width:720px;margin:10px auto;display:grid;gap:18px}
.year h1{font-size:clamp(2.5rem,8vw,4.25rem);line-height:.95;margin:0}
.year h1 em{font-style:normal;color:var(--ember)}
.year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.year-grid>div{display:grid;gap:4px;padding:18px 14px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line)}
.year-grid svg{width:22px;height:22px;fill:none;stroke:var(--lilac);stroke-width:1.8}
.year-grid b{font-family:var(--display);font-size:2.125rem;letter-spacing:-.03em;line-height:1}
.year-grid span{font-size:0.8125rem;color:var(--muted)}
@media (max-width:520px){.year-grid{grid-template-columns:repeat(2,1fr)}.quick{grid-template-columns:repeat(2,1fr)}}
/* event page social + album */
.ev-social{display:grid;gap:12px;padding:16px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);margin:18px 0}
.ev-social .s{display:block;font-size:0.8125rem;color:var(--muted)}
.album{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.album figure{margin:0;display:grid;gap:6px}
.album img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:var(--r-xs)}
.album figcaption{font-size:0.7812rem;color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.quote{padding:12px 14px;border-left:3px solid var(--line-2);background:var(--bg-2);border-radius:0 var(--r-xs) var(--r-xs) 0;overflow-wrap:anywhere;white-space:pre-line}
.note{padding:10px 12px;border-radius:var(--r-xs);background:color-mix(in srgb,var(--lilac) 16%,transparent)}
.card.urgent{border-color:var(--bad)}

/* ===================== Live (v3 part 4) ===================== */
.live-hero{display:grid;gap:12px;padding:28px 22px;border-radius:var(--r);background:radial-gradient(90% 120% at 100% 0%,rgba(255,90,54,.30),transparent 60%),var(--surface);border:1px solid var(--line);margin-top:6px}
.live-hero h1{margin:0;font-size:clamp(2rem,6vw,3.25rem);line-height:.98;max-width:16ch}
.live-hero p{margin:0;color:var(--muted);max-width:52ch}
.live-hero .pill{justify-self:start}
.grid-rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.room-card{display:grid;gap:10px;color:var(--fg);text-decoration:none}
.room-art{position:relative;aspect-ratio:16/9;border-radius:var(--r-sm);display:grid;place-items:center;align-content:center;gap:6px;background:radial-gradient(120% 120% at 20% 0%,color-mix(in srgb,var(--bc) 70%,transparent),transparent 60%),radial-gradient(100% 100% at 100% 100%,rgba(255,90,54,.35),transparent 60%),var(--surface-2);overflow:hidden}
.room-art svg{width:34px;height:34px;fill:none;stroke:#F4F1EA;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.room-art span{font-family:var(--display);font-weight:700;color:#F4F1EA;font-size:0.9375rem;letter-spacing:.02em}
.room-art em{position:absolute;left:10px;bottom:10px;font-style:normal;font-size:0.75rem;font-weight:700;background:rgba(14,13,18,.7);color:#F4F1EA;padding:3px 9px;border-radius:99px}
.room-card.is-live .room-art{outline:2px solid var(--ember);outline-offset:-2px}
.room-b{display:grid;gap:3px}
.room-b .meta{font-size:0.8125rem;color:var(--muted)}
.room-b b{font-weight:700;font-size:1rem;line-height:1.25}
.room-b span{font-size:0.8125rem;color:var(--muted)}
.room-gate{max-width:640px;margin:20px auto;display:grid;gap:10px}
.room-gate h1{margin:0;font-size:clamp(1.875rem,6vw,2.875rem)}
.room-gate .pill{justify-self:start}
.room{display:grid;gap:16px;grid-template-columns:1fr;max-width:1240px;margin:0 auto}
@media (min-width:980px){.room{grid-template-columns:minmax(0,1fr) 360px;align-items:start}}
.room-main{display:grid;gap:12px;min-width:0}
.room-top{display:flex;align-items:center;gap:8px}
.room-top b{display:block;font-family:var(--display);font-size:1.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.room-top span{font-size:0.8125rem;color:var(--muted)}
.stage{position:relative;aspect-ratio:16/9;border-radius:var(--r);overflow:hidden;background:#09080C;border:1px solid var(--line)}
.stage iframe,.stage video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.stage-tag{position:absolute;left:12px;top:12px}
.stage-sim{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;padding:20px;color:#F4F1EA;background:radial-gradient(80% 90% at 30% 10%,color-mix(in srgb,var(--bc) 55%,transparent),transparent 65%),radial-gradient(80% 80% at 90% 100%,rgba(255,90,54,.35),transparent 60%),#0E0D12}
.stage-sim svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.5}
.stage-sim b{font-family:var(--display);font-size:clamp(1.25rem,3vw,1.75rem)}
.stage-sim span{opacity:.75;font-size:0.875rem;max-width:44ch}
.sim-wave{display:flex;gap:5px;align-items:center;height:70px}
.sim-wave i{width:6px;border-radius:3px;background:#F4F1EA;opacity:.85;animation:wave 1s ease-in-out infinite alternate;height:20%}
@keyframes wave{from{height:12%}to{height:95%}}
.tiles{position:absolute;inset:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:8px;align-content:center;overflow:auto;background:#0E0D12}
.tile{position:relative;aspect-ratio:4/3;border-radius:14px;background:var(--surface-2);display:grid;place-items:center;overflow:hidden;border:2px solid transparent}
.tile.host{border-color:color-mix(in srgb,var(--bc) 60%,transparent)}
.tile.speaking{border-color:var(--ember)}
.tile>span{position:absolute;left:8px;bottom:8px;font-size:0.75rem;font-weight:700;background:rgba(14,13,18,.72);color:#F4F1EA;padding:2px 8px;border-radius:99px}
.tile .tv{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}
.tile video{width:100%;height:100%;object-fit:cover}
.sim-note{position:absolute;right:10px;bottom:10px;font-size:0.7188rem;color:#F4F1EA;background:rgba(14,13,18,.72);padding:4px 10px;border-radius:99px}
.room-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.host-bar{display:grid;gap:10px;padding:12px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line)}
.hb-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:0.875rem}
.room-sponsors{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:0.7812rem;color:var(--muted)}
.room-sponsors img{height:26px;border-radius:6px}
.room-sponsors a{color:var(--fg);font-weight:700}
.room-side{display:grid;gap:10px;grid-template-rows:auto 1fr;min-height:0}
@media (min-width:980px){.room-side{position:sticky;top:calc(var(--top-h,60px) + 12px);height:calc(100dvh - var(--top-h,60px) - 40px)}}
.room-panel{min-height:360px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);padding:0 10px;overflow:hidden}
@media (min-width:980px){.room-panel{min-height:0}}
.room-panel .chat-list{min-height:280px}
.qa-ask{display:flex;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
.qa-list{overflow-y:auto;flex:1;display:grid;align-content:start;gap:6px;padding:8px 0}
.qa{display:flex;gap:10px;align-items:flex-start;padding:8px;border-radius:12px}
.qa.done{opacity:.55}
.qa p{margin:0;font-size:0.9062rem}
.qa span{font-size:0.75rem;color:var(--muted)}
.qa-vote{display:grid;justify-items:center;border:1px solid var(--line-2);background:none;color:var(--fg);border-radius:10px;padding:4px 8px;font-size:0.6875rem;cursor:pointer}
.qa-vote[aria-pressed="true"]{background:var(--ember);color:#0E0D12;border-color:var(--ember)}
.qa .linkish svg{width:13px;height:13px;fill:none;stroke:var(--faint);stroke-width:2}
.conf{margin-top:8px}
.sess{display:flex;gap:14px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);color:var(--fg);text-decoration:none}
.sess:last-child{border-bottom:0}
.sess .t{font-weight:800;font-family:var(--display);width:62px;flex:none}
.sess b{display:block}
.sess span:not(.pill):not(.t){font-size:0.8125rem;color:var(--muted)}
#agenda{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);margin-top:10px}
.spons{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.spon{display:grid;gap:8px;padding:14px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line)}
.spon img{width:44px;height:44px;border-radius:10px;object-fit:cover}
.spon b{display:block}
.spon p{margin:0;font-size:0.875rem;color:var(--muted)}
.grid-2{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.radio svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;flex:none}
.circ,.circ b,.fgcard,.fgcard b,.room-card,.room-card b,.sess,.sess b,.quick a{color:var(--fg)!important}
.rsteps{list-style:none;padding:0;margin:16px 0 0;display:flex;gap:6px;flex-wrap:wrap;counter-reset:s}
.rsteps li{counter-increment:s;font-size:0.7812rem;font-weight:700;padding:6px 11px;border-radius:99px;background:var(--surface-2);color:var(--muted)}
.rsteps li::before{content:counter(s) ". "}
.rsteps li.done{background:color-mix(in srgb,var(--ok) 22%,transparent);color:var(--fg)}
.rsteps li.now{background:var(--ember);color:#0E0D12}
ol.timeline{list-style:none;padding:0;margin:0}
ol.timeline li{display:grid;gap:2px;padding:10px 0 10px 16px;border-left:2px solid var(--line);margin-left:4px}
ol.timeline li span{font-size:0.7812rem;color:var(--muted)}
.diff{display:grid;gap:4px;margin:4px 0 8px}
.diff pre{margin:0;padding:8px 10px;border-radius:8px;font-size:0.75rem;white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto}
.diff .del{background:color-mix(in srgb,var(--bad) 14%,transparent);border-left:3px solid var(--bad)}
.diff .add{background:color-mix(in srgb,var(--ok) 14%,transparent);border-left:3px solid var(--ok)}
.room{grid-template-columns:minmax(0,1fr)}@media (min-width:980px){.room{grid-template-columns:minmax(0,1fr) 360px}}
/* Version 4: plans and pricing */
.tiers4{display:grid;gap:14px}
@media (min-width:760px){.tiers4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1180px){.tiers4{grid-template-columns:repeat(4,1fr)}}
.tiers4 .plan ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:0.875rem}
.grid2{display:grid;gap:10px}
@media (min-width:620px){.grid2{grid-template-columns:repeat(2,1fr)}}
.grid2 .field .in + .in{margin-top:6px}
@media print{.noprint,.side,.dk-nav,header,nav,.tabbar{display:none!important}.invoice{border:0;box-shadow:none}}

/* ---------- Version 5 ---------- */
.terms-box{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:14px 16px;max-height:46vh;overflow:auto;font-size:0.875rem;line-height:1.6;color:var(--fg-2);white-space:normal}
.wpv{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:90;display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:center;
  background:var(--lilac);color:var(--ink);border-radius:999px;padding:9px 16px;font-size:0.8125rem;font-weight:700;box-shadow:var(--shadow-lg);max-width:calc(100vw - 32px)}
.wpv a,.wpv .linkish{color:var(--ink);font-weight:800;text-decoration:underline;background:none;border:0;padding:0;cursor:pointer}
.wordrow{width:100%;background:none;border:0;color:inherit;cursor:pointer;text-align:left;font:inherit}
.wordrow:hover .t{color:var(--accent-ink)}
.wordrow s{color:var(--faint)}
@media (min-width:900px){.wpv{bottom:22px}}
.grid-cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.hq-bell{margin-left:auto;position:relative;display:inline-flex;align-items:center;gap:4px;background:var(--surface-2);border:1px solid var(--line);color:var(--fg);border-radius:999px;padding:6px 10px;cursor:pointer}
.hq-bell svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}
.hq-bell b{font-size:0.75rem;min-width:14px;text-align:center}
.hq-bell.some{border-color:var(--warn)} .hq-bell.hot{background:var(--bad-bg);border-color:var(--bad);color:var(--bad);animation:bellpulse 2s var(--ease) infinite}
@keyframes bellpulse{0%,100%{box-shadow:0 0 0 0 rgba(255,143,132,.4)}50%{box-shadow:0 0 0 6px rgba(255,143,132,0)}}
@media (prefers-reduced-motion:reduce){.hq-bell.hot{animation:none}}
.sev{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--lilac);margin-right:8px;vertical-align:1px}
.sev.warn{background:var(--warn)} .sev.bad{background:var(--bad)}
.alert-row.done{opacity:.6}
.flag.on{border-color:color-mix(in srgb,var(--ok) 45%,var(--line))}
.flag .needs{display:grid;gap:6px;background:var(--surface-2);border-radius:var(--r-xs);padding:10px 12px}
@media (max-width:959px){.dk-mob.with-bell{display:flex;gap:8px;align-items:center} .dk-mob.with-bell select{flex:1} .dk-mob .hq-bell{margin-left:0}}
.alert-row{flex-wrap:wrap;align-items:flex-start} .alert-row>.row{width:100%;justify-content:flex-start!important;margin-top:8px}

/* Version 5, Block 1: official badges, partners, fake reports, chat rules */
.pill.official{background:#0E0D12;color:#F4F1EA;box-shadow:inset 0 0 0 1px var(--ember)}
.pill.official::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ember)}
.official-note{display:flex;gap:6px;align-items:flex-start;margin:10px 0 0;line-height:1.45}
.official-note .ic{width:14px;height:14px;flex:none;margin-top:1px}
.official-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.official-card{display:flex;flex-direction:column;gap:10px;margin:18px 0 6px}
.official-card>.row>.ic{width:22px;height:22px;flex:none;color:var(--ember)}
.partner-strip{display:flex;gap:10px;flex-wrap:wrap}
.partner-chip{display:flex;gap:10px;align-items:center;padding:8px 14px 8px 8px;border:1px solid var(--line);border-radius:16px;color:inherit;text-decoration:none;background:var(--surface);min-width:0;max-width:100%}
.partner-chip span{display:flex;flex-direction:column;min-width:0}.partner-chip small{color:var(--muted);font-size:0.75rem}
.grid-partners{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:16px}
.partner-card{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:inherit;text-decoration:none;transition:border-color .15s}
.partner-card:hover{border-color:var(--line-2)}.partner-card p{margin:6px 0}.partner-card .grow{display:flex;flex-direction:column;gap:2px;min-width:0}
.chat-rules{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:0.7812rem;color:var(--muted);border-bottom:1px solid var(--line)}
.chat-rules .ic{width:13px;height:13px;vertical-align:-2px}
.fake-card .between{flex-wrap:nowrap}
a.partner-card,a.partner-chip{color:var(--fg)!important}a.partner-card .muted,a.partner-chip small{color:var(--muted)!important}
.partner-card p,.partner-card .small{font-weight:500}

/* Version 5, Block 2: reviews, stars, visitor charts, Wallet buttons */
.stars{display:inline-flex;gap:2px;vertical-align:middle}.stars i{width:14px;height:14px;background:var(--line-2);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.stars i.on{background:var(--ember)}.stars.sm i{width:12px;height:12px}
.star-pick{display:flex;gap:8px}.star-pick button{width:40px;height:40px;border:0;cursor:pointer;background:var(--line-2);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);transition:background .12s}
.star-pick button.on{background:var(--ember)}.star-pick button:focus-visible{outline:2px solid var(--fg);outline-offset:2px}
.review{padding:12px 0;border-bottom:1px solid var(--line)}.review:last-child{border-bottom:0}.review .ic{width:12px;height:12px;vertical-align:-1px}
.review-reply{margin-top:8px;padding:8px 12px;border-left:2px solid var(--ember);background:var(--surface-2);border-radius:0 10px 10px 0}
.vbars{display:flex;align-items:flex-end;gap:2px;height:140px;margin:12px 0 6px;border-bottom:1px solid var(--line)}
.vbar{flex:1;height:100%;display:flex;align-items:flex-end;cursor:default;outline:none}.vbar i{display:block;width:100%;min-height:2px;background:var(--ember);border-radius:4px 4px 0 0;opacity:.85}
.vbar:hover i,.vbar:focus-visible i{opacity:1;box-shadow:0 0 0 2px var(--surface)}
.share-row{position:relative;display:flex;gap:8px;align-items:center;padding:5px 8px;border-radius:8px;overflow:hidden}.share-row i{position:absolute;left:0;top:0;bottom:0;background:var(--surface-2);z-index:0;border-radius:8px}
.share-row span{position:relative;z-index:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wallet-btn{justify-content:center}.human-slot:empty{display:none}
/* Block 3: arrive together, pay it forward, connect card, networks */
.seg [aria-checked="true"]{background:var(--fg);color:var(--bg)}
.b3kinds{margin:2px 0 4px}
.b3meet{display:flex;flex-direction:column;gap:6px;margin:10px 0}.b3meet span{display:flex;gap:8px;align-items:center;font-size:0.875rem}.b3meet .ic{width:16px;height:16px;flex:none;color:var(--ember)}
.b3people{display:flex;flex-wrap:wrap;gap:8px}.b3p{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);border-radius:999px;padding:3px 10px 3px 3px;font-size:0.8438rem;font-weight:700}
.b3fwd{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.b3fwd .ic{width:15px;height:15px;vertical-align:-2px;color:var(--ember)}
.b3wrap{max-width:560px}
.b3qr{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.b3qr canvas{width:min(240px,70vw);height:auto;aspect-ratio:1;background:#fff;border-radius:14px;padding:10px;image-rendering:pixelated}
.b3code{font-family:var(--display);font-size:1.5rem;letter-spacing:.14em}
.b3acts .btn{flex:1;justify-content:center}
.b3card .avatar.lg{width:64px;height:64px;font-size:1.375rem}
.b3vid{width:100%;border-radius:14px;background:#000;aspect-ratio:3/4;object-fit:cover}
.b3net{display:flex;gap:12px;align-items:flex-start;text-decoration:none;color:inherit;border-left:4px solid var(--nc)}
.b3em{font-size:1.625rem;line-height:1;width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--nc) 22%,transparent)}.b3em.big{font-size:2.25rem;width:68px;height:68px;border-radius:18px}
.b3nethead{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:6px 0 10px}.b3nethead>div{flex:1;min-width:200px}.b3nethead h1{margin:0}
.b3x section{border-top:1px solid var(--line);padding-top:14px}.b3x section:first-child{border-top:0;padding-top:0}
/* Block 4: help centre and assistant */
.b4hero{max-width:760px}.b4hero h1{margin:0 0 14px}
.b4search{position:relative}.b4search>span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);display:flex}.b4search .ic{width:18px;height:18px}.b4search .in{padding-left:42px;height:52px;font-size:1rem}
.b4results{margin-top:6px;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden}.b4results a{display:flex;flex-direction:column;gap:2px;padding:10px 14px;text-decoration:none;color:inherit;border-top:1px solid var(--line)}.b4results a:first-child{border-top:0}.b4results a:hover,.b4results a:focus-visible{background:var(--surface-2)}
.b4grid{display:grid;gap:18px;margin-top:20px}@media (min-width:900px){.b4grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}
.b4ask{display:flex;flex-direction:column;gap:10px}.b4ask .ic{width:16px;height:16px;vertical-align:-3px}
.b4log{display:flex;flex-direction:column;gap:10px;max-height:min(460px,58vh);overflow-y:auto;padding:4px 2px;overscroll-behavior:contain}
.b4m{display:flex;gap:8px;align-items:flex-end}.b4m.me{justify-content:flex-end}
.b4b{max-width:86%;padding:10px 13px;border-radius:16px;background:var(--surface-2);font-size:0.9062rem;line-height:1.45}.b4b p{margin:0 0 6px}.b4b p:last-child{margin-bottom:0}.b4b ul{margin:4px 0;padding-left:18px}
.b4m.me .b4b{background:var(--fg);color:var(--bg);border-bottom-right-radius:6px}.b4m.papo .b4b{border-bottom-left-radius:6px}
.b4av{width:26px;height:26px;flex:none;border-radius:50%;background:var(--ember);color:#fff;display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:0.875rem}
.b4typing{display:flex;gap:4px;padding:14px}.b4typing i{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:b4dot 1s infinite ease-in-out}.b4typing i:nth-child(2){animation-delay:.15s}.b4typing i:nth-child(3){animation-delay:.3s}
@keyframes b4dot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.b4typing i{animation:none}}
.b4in{display:flex;gap:8px}.b4in .in{flex:1;min-width:0;font-size:1rem}.b4in .btn{flex:none}
.b4fb{display:flex;gap:6px;align-items:center;margin-top:8px;flex-wrap:wrap}
.b4links{display:flex;flex-direction:column;margin-top:6px}.b4links a{padding:9px 0;border-top:1px solid var(--line);color:inherit;text-decoration:none;font-size:0.9062rem}.b4links a:first-child{border-top:0}.b4links a:hover{color:var(--ember)}
.b4cats{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.b4safe .ic{width:16px;height:16px;vertical-align:-3px;color:var(--ember)}
.b4art{max-width:720px}.b4art h1{margin:4px 0 14px}.b4body{font-size:1rem;line-height:1.6}.b4body ul{padding-left:20px}
.b4helpful{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin:22px 0}
.b4grid>*{min-width:0}.b4b .chip{white-space:normal;text-align:left;max-width:100%}.b4b{overflow-wrap:anywhere}
.room-main,.room-main>*{min-width:0}

/* ---------- The app map (Block 6b): calm pages, one clear thing at a time ---------- */
.bell{position:relative;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--fg);text-decoration:none}
.bell:hover{background:var(--surface-2)}
.bell svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bell-n{position:absolute;top:3px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--ember);color:#0E0D12;font-size:.6875rem;font-weight:800;line-height:18px;text-align:center;border:2px solid var(--bg)}
.bell-n[hidden]{display:none}
.fr-head{display:flex;align-items:center;gap:10px;margin:6px 0 14px}
.fr-head h1{font-size:clamp(1.75rem,6vw,2.5rem);flex:1;margin:0}
.fr-col{max-width:720px}
.fr-search{display:flex;align-items:center;gap:10px;margin:16px 0 4px;padding:13px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--muted);text-decoration:none;font-weight:600;max-width:560px}
.fr-search svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.fr-search:hover{border-color:var(--muted)}
@media (min-width:960px){.fr-search{display:none}}
.fr-block{margin-top:26px}
.fr-block:first-child{margin-top:20px}
.fr-next{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:center;padding:12px;border-radius:var(--r);background:linear-gradient(135deg,var(--surface),var(--surface-2));border:1px solid var(--line);color:inherit;text-decoration:none;max-width:720px}
.fr-next:hover{border-color:var(--muted)}
.fr-next-art{aspect-ratio:1;border-radius:14px;overflow:hidden;background:var(--surface-2)}
.fr-next-art>*{width:100%;height:100%}
.fr-next-ic{display:grid;place-items:center;height:100%;color:var(--ember)}
.fr-next-ic svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fr-next-b{display:grid;gap:4px;min-width:0}
.fr-next-b b{font-size:1.25rem;line-height:1.15;overflow-wrap:anywhere}
.fr-next-btn{justify-self:start;margin-top:6px}
@media (min-width:700px){.fr-next{grid-template-columns:150px minmax(0,1fr);padding:14px}}
.fr-seg{display:flex;width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none;margin:0 0 18px}
.fr-seg::-webkit-scrollbar{display:none}
.fr-plans{display:grid;gap:10px}
.fr-plan{display:flex;align-items:center;gap:14px;padding:14px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);color:inherit;text-decoration:none}
.fr-plan:hover{border-color:var(--muted)}
.fr-plan .grow{display:grid;gap:2px;min-width:0}
.fr-plan .grow b{font-size:1.0625rem;overflow-wrap:anywhere}
.fr-plan-ic{width:42px;height:42px;border-radius:13px;background:var(--surface-2);display:grid;place-items:center;flex:none;color:var(--ember)}
.fr-plan-ic svg,.fr-plan .chev svg,.fr-section-ic svg,.fr-connect-ic svg,.fr-connect .chev svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fr-plan .chev,.fr-connect .chev{color:var(--faint);flex:none}
.fr-connect{display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--r);background:var(--lilac);color:#0E0D12;text-decoration:none;max-width:720px}
.fr-connect .grow{display:grid;gap:2px}
.fr-connect .chev{color:#0E0D12;opacity:.6}
.fr-connect-ic{width:44px;height:44px;border-radius:13px;background:#0E0D12;color:#F4F1EA;display:grid;place-items:center;flex:none}
.fr-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;max-width:720px}
.fr-section{display:grid;gap:4px;align-content:start;padding:16px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);color:inherit;text-decoration:none;min-height:124px}
.fr-section:hover{border-color:var(--muted)}
.fr-section b{font-size:1.0625rem;margin-top:6px}
.fr-section-ic{width:40px;height:40px;border-radius:12px;background:var(--surface-2);display:grid;place-items:center;color:var(--ember)}
.fr-section:last-child:nth-child(odd){grid-column:1/-1;min-height:0}
@media (min-width:760px){.fr-sections{grid-template-columns:repeat(3,minmax(0,1fr))}.fr-section:last-child:nth-child(odd){grid-column:auto;min-height:124px}}
.fr-group{margin-top:22px;max-width:720px}
.fr-group h2{font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:0 0 8px 4px}
.fr-switch{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 16px}
.fr-me{display:flex;gap:16px;align-items:center;max-width:720px}
.fr-me h1{font-size:clamp(1.625rem,6vw,2.25rem);margin:0;overflow-wrap:anywhere}
.fr-foot{margin:30px 0 0;text-align:center}
.menu-list a.fr-new{background:color-mix(in srgb,var(--ember) 8%,var(--surface))}
.menu-list a.fr-new b::after{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ember);margin-left:8px;vertical-align:middle}
.menu-list a[aria-current="page"]{background:var(--surface-2)}
/* Desk and HQ menus: groups fold away; the one you're in stays open */
details.dk-group>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;border-radius:10px}
details.dk-group>summary::-webkit-details-marker{display:none}
details.dk-group>summary:hover{color:var(--muted)}
details.dk-group>summary svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .15s}
details.dk-group[open]>summary svg{transform:rotate(90deg)}
.dk-create{justify-self:stretch;margin:0 4px 14px}
.dk-create svg,.dk-mob .btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:959px){.dk-mob{display:flex;gap:8px;align-items:center}}
.dk-menu{flex:1;justify-content:flex-start;gap:10px;min-width:0}
.dk-menu span{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dk-menu svg:last-child{transform:rotate(90deg);opacity:.6}
@media (min-width:960px){.fr-week{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}.fr-week .two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.fr-week .hero-feature,.fr-week .hero-feature .hf-in{min-height:380px}}
.fr-comm a{padding:7px 12px}
.fr-connect,.fr-connect b{color:#0E0D12}

/* Accessibility (Block 7): a "Skip to content" button for keyboard users, and less movement for people who ask for it. */
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--fg);color:var(--bg);border:0;border-radius:999px;padding:10px 16px;font-weight:800}
.skip:focus{top:12px}
.pa-main:focus{outline:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.sheet:focus{outline:none}
/* The fair queue for big releases */
.queue-n{display:grid;justify-items:center;gap:2px;padding:18px;border-radius:var(--r);background:var(--surface-2)}
.queue-n b{font-family:var(--display);font-size:2.75rem;line-height:1}

/* Block 9: Studio tab */
.st-sess .small a { color: var(--fg); text-decoration: none; font-weight: 700; }
.st-sess .small a:hover { text-decoration: underline; }
.st-mine { gap: 14px; padding-bottom: 4px; }
.st-logo { display: grid; justify-items: center; gap: 4px; min-width: 72px; max-width: 84px; text-align: center; text-decoration: none; color: var(--fg); }
.st-logo .xsmall { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.st-days { margin: 12px 0 4px; }
.runs-pick { border: 0; padding: 0; margin: 0; display: grid; gap: 8px; }
.runs-pick legend { font-weight: 700; margin-bottom: 6px; font-size: 0.875rem; }
.opt-card { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 14px; cursor: pointer; }
.opt-card:has(input:checked) { border-color: var(--ember); background: color-mix(in srgb, var(--ember) 8%, transparent); }
.opt-card input { margin-top: 3px; accent-color: var(--ember); }
.opt-card span { display: grid; gap: 2px; }
.opt-card small { color: var(--muted); font-size: 0.8125rem; }
.runs-line { margin: 4px 0 10px; }
.jm-pick { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.jm-opt { display: grid; justify-items: center; gap: 4px; padding: 10px 6px; border: 1.5px solid var(--line); border-radius: 14px; cursor: pointer; text-align: center; font-size: 0.8125rem; font-weight: 700; }
.jm-opt input { position: absolute; opacity: 0; pointer-events: none; }
.jm-opt svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.jm-opt:has(input:checked) { border-color: var(--ember); background: color-mix(in srgb, var(--ember) 10%, transparent); }
.jm-opt:has(input:focus-visible) { outline: 2px solid var(--ember); outline-offset: 2px; }
.one-times { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.grid-p { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.pcard { display: grid; text-align: left; padding: 0; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; background: var(--surface); color: var(--fg); cursor: pointer; font: inherit; }
.pcard img, .pcard .pimg { width: 100%; aspect-ratio: 1; object-fit: cover; display: grid; place-items: center; background: var(--surface-2); }
.pcard .pimg svg { width: 34px; height: 34px; fill: none; stroke: var(--muted); stroke-width: 1.6; }
.pcard .pb { display: grid; gap: 2px; padding: 10px 12px 12px; }
.bskbar { position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(var(--tabbar-h, 70px) + 12px); z-index: 60; display: flex; gap: 10px; align-items: center; background: var(--surface-3); border: 1px solid var(--line-2); border-radius: 999px; padding: 8px 8px 8px 18px; box-shadow: 0 10px 30px #0006; max-width: calc(100vw - 32px); }
@media (min-width: 900px) { .bskbar { bottom: 24px; } }
.bsk-btn { width: 34px; height: 34px; padding: 0; }
.door-types { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; }
.door-type { display: grid; gap: 2px; text-align: left; padding: 12px; border-radius: 16px; border: 1.5px solid var(--line); background: var(--surface); color: var(--fg); font: inherit; cursor: pointer; }
.door-type[aria-pressed="true"] { border-color: var(--ember); background: color-mix(in srgb, var(--ember) 10%, transparent); }
.door-type:disabled { opacity: .45; cursor: not-allowed; }
.door-type small { color: var(--muted); }
.door-pay { display: grid; gap: 8px; }
.one-card .small a { color: var(--fg); text-decoration: none; font-weight: 700; }
.oh-row { display: grid; grid-template-columns: minmax(78px, 92px) minmax(0, 1fr) auto minmax(0, 1fr) auto; gap: 6px; align-items: center; }
.oh-row .in { min-width: 0; width: 100%; padding-left: 10px; padding-right: 10px; }
.oh-row input[type=time]::-webkit-calendar-picker-indicator { display: none; }
.oh-row input[type=time] { font-variant-numeric: tabular-nums; text-align: center; }
body:has(#overlay) .bskbar { display: none; }

/* Camera check (green room): see yourself, choose camera, mic and background before going on */
.gr-sheet{max-width:640px}
.gr{display:grid;gap:12px}
.gr-view{position:relative;aspect-ratio:16/9;width:100%;min-height:0;contain:size layout paint;border-radius:16px;overflow:hidden;background:#0b0a0e;border:1px solid var(--line)}
.gr-view video{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;display:block}
.gr-off{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:6px;color:var(--muted);font-size:.875rem}
.gr-off[hidden]{display:none}
.gr-off .ic{width:28px;height:28px}
.gr-tag{position:absolute;left:10px;bottom:10px;font-size:.75rem;padding:3px 9px;border-radius:999px;background:rgba(0,0,0,.55);color:#fff}
.gr-meter{display:flex;align-items:center;gap:10px;color:var(--muted)}
.gr-meter .ic{width:18px;height:18px}
.gr-bar{flex:1;height:8px;border-radius:99px;background:var(--bg-2);overflow:hidden}
.gr-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#2F7D57,#7bd88f);transition:width .08s linear}
.gr-toggles{align-items:center}
.gr-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.gr-bgs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 6px;scrollbar-width:thin}
.gr-bg{flex:none;width:84px;height:58px;border-radius:12px;border:2px solid var(--line);background:var(--bg-2) center/cover no-repeat;display:grid;place-content:center;justify-items:center;gap:2px;position:relative;color:var(--fg);cursor:pointer;padding:0}
.gr-bg span{font-size:.6875rem;font-weight:600;position:absolute;left:0;right:0;bottom:0;padding:2px 4px;background:rgba(0,0,0,.45);color:#fff;border-radius:0 0 10px 10px}
.gr-bg .ic{width:18px;height:18px;margin-bottom:12px}
.gr-bg[aria-pressed="true"]{border-color:var(--ember);box-shadow:0 0 0 2px rgba(255,90,54,.25)}
.gr-bg.busy{opacity:.55;pointer-events:none}
.gr-bg[hidden]{display:none}
.gr-up{border-style:dashed}
.stage .tiles .tv video{width:100%;height:100%;object-fit:cover}
.stage-ribbon{position:absolute;top:10px;left:50%;transform:translateX(-50%);z-index:2;font-size:.8125rem;padding:5px 12px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;white-space:nowrap}
.stage-ready{display:grid;place-content:center;justify-items:center;gap:10px;text-align:center;height:100%;padding:20px}
.tile.me .tv video{transform:var(--mirror,none)}
.tile.cam-off .tv video{display:none}
.tile.cam-off .tv{background:var(--surface-2)}
.tile.screen{grid-column:1/-1;aspect-ratio:16/9;background:#000}
.tile.screen .stage-sim{display:grid;justify-items:center;gap:6px;text-align:center;padding:12px}
.gr-bg.busy::after{content:'';position:absolute;top:8px;right:8px;width:12px;height:12px;border-radius:50%;border:2px solid #fff;border-top-color:transparent;animation:grspin .8s linear infinite}
@keyframes grspin{to{transform:rotate(360deg)}}

/* ---- Phones: the page stays put (October 2026) ----
   iPhone Safari zooms in when you tap a box whose text is under 16px, and the page then slides about. 16px stops that. */
input,select,textarea,.in{font-size:16px}
html{overflow-x:hidden}
html,body{max-width:100%;overscroll-behavior-x:none}
body{overflow-x:clip}
img,video,iframe,canvas,svg{max-width:100%}
.field,.grid2>*,.row>*,.row.nw>*{min-width:0}
/* Date and time boxes: Safari gives them a fixed minimum width; let them shrink to fit. */
input[type=date].in,input[type=time].in,input[type=datetime-local].in{-webkit-appearance:none;appearance:none;min-width:0;max-width:100%;display:block;min-height:48px;text-align:left}
input[type=datetime-local].in::-webkit-date-and-time-value{text-align:left}
.sheet .in,.sheet .row,.sheet .field,.sheet img{max-width:100%}
.sheet{overflow-x:hidden}
/* Taps answer at once: no double-tap-to-zoom wait, and a visible press. */
a,button,label,summary,[data-act],.chip,.btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.btn:active,.chip:active,button:active{transform:scale(.97);transition:transform .05s}
.btn[aria-busy=true],.btn.busy{opacity:.75}

/* ---- Live rooms: a big player, and full screen like YouTube (one video) or Zoom (a meeting) ---- */
.stage-wrap{position:relative;display:grid;gap:10px;min-width:0}
.stage-fs{position:absolute;top:10px;right:10px;z-index:4;background:rgba(14,13,18,.6)!important;color:#fff!important;border:0;backdrop-filter:blur(6px)}
.stage-fs .ic,.stage-fs svg{width:20px;height:20px}
@media (max-width:979px){.room .stage{margin:0 -16px;border-radius:0;border-left:0;border-right:0}}
.tiles[data-n="0"]::before{content:'Waiting for the host\2019s camera\2026';grid-column:1/-1;justify-self:center;color:#F4F1EA;opacity:.7;font-size:.9375rem}
.tiles[data-n="1"]{grid-template-columns:1fr;padding:0;gap:0}
.tiles[data-n="1"] .tile{aspect-ratio:auto;height:100%;border-radius:0;border:0}
.tiles[data-n="1"] .tile video,.tiles[data-n="1"] .tile.screen video{object-fit:contain;background:#000}
.tiles[data-n="2"]{grid-template-columns:1fr 1fr}
.stage-wrap.fs{position:fixed;inset:0;z-index:2000;background:#000;display:flex;flex-direction:column;gap:0;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}
.stage-wrap.fs .stage{flex:1;aspect-ratio:auto;margin:0;border:0;border-radius:0}
.stage-wrap.fs .tiles{grid-template-columns:repeat(auto-fit,minmax(min(240px,45vw),1fr))}
.stage-wrap.fs .tiles[data-n="1"]{grid-template-columns:1fr}
.stage-wrap.fs .tiles[data-n="2"]{grid-template-columns:1fr 1fr}
@media (orientation:portrait){.stage-wrap.fs .tiles[data-n="2"]{grid-template-columns:1fr;grid-auto-rows:1fr}.stage-wrap.fs .tiles[data-n="2"] .tile{aspect-ratio:auto;height:100%}}
.stage-wrap.fs .room-bar{justify-content:center;padding:10px 12px;background:rgba(14,13,18,.85)}
.stage-wrap.fs .stage-fs{top:calc(10px + env(safe-area-inset-top,0))}
body.fs-lock{overflow:hidden}
body.fs-lock .tabbar,body.fs-lock .testbar{display:none}

/* ---- Home for first-time visitors: say what PAPO is, boldly ---- */
.vhero{position:relative;display:grid;gap:14px;padding:30px 22px 26px;margin:4px 0 6px;border-radius:var(--r);overflow:hidden;color:#F4F1EA;
  background:radial-gradient(90% 120% at 0% 0%,rgba(185,168,255,.42),transparent 60%),radial-gradient(70% 90% at 100% 100%,rgba(255,90,54,.5),transparent 62%),#14121A;border:1px solid rgba(244,241,234,.08)}
.vhero .eyebrow{color:#B9A8FF;margin:0}
.vhero h1{margin:0;font-size:clamp(2.125rem,7.4vw,4rem);line-height:1.02;letter-spacing:-.02em;max-width:17ch}
.vhero h1 em{font-style:normal;color:#FF5A36;display:block}
.vhero-sub{margin:0;font-size:clamp(1rem,2.4vw,1.1875rem);line-height:1.5;opacity:.86;max-width:56ch}
.vhero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.vhero-cta .btn{flex:1 1 200px;justify-content:center}
@media (min-width:760px){.vhero{padding:52px 48px 46px}.vhero-cta .btn{flex:0 0 auto}}
.vgrid{display:grid;gap:10px;grid-template-columns:1fr 1fr}
@media (min-width:900px){.vgrid{grid-template-columns:repeat(5,1fr)}}
.vcard{display:grid;gap:6px;align-content:start;padding:16px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);color:var(--fg)!important;text-decoration:none;transition:border-color .15s,transform .15s}
.vcard:hover{border-color:var(--ember);transform:translateY(-2px)}
.vcard b{font-family:var(--display);font-size:1.0625rem}
.vcard>span:last-child{font-size:.8125rem;color:var(--muted);line-height:1.4}
.vcard-ic{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--ember) 16%,transparent);color:var(--ember);flex:none}
.vcard-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.brand-cta{display:flex;gap:16px;padding:26px 22px;border-radius:var(--r);background:#F4F1EA;color:#0E0D12}
.brand-cta .eyebrow{color:#5E5A66;margin:0 0 6px}
.brand-cta h2{margin:0 0 12px;font-size:clamp(1.625rem,5vw,2.5rem);line-height:1.05;letter-spacing:-.015em;max-width:22ch}
.brand-cta ul{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:8px}
.brand-cta li{position:relative;padding-left:24px;font-size:.9375rem}
.brand-cta li::before{content:'';position:absolute;left:0;top:.45em;width:12px;height:12px;border-radius:50%;background:#FF5A36}
.brand-cta .row{align-items:center;gap:12px}
@media (min-width:760px){.brand-cta{padding:40px 44px}}
.vendor-cta{display:flex;gap:12px;align-items:center;margin-top:10px;padding:14px 16px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);color:var(--fg)!important;text-decoration:none}
.vendor-cta b{display:block}.vendor-cta .grow>span{font-size:.8125rem;color:var(--muted)}
.soon-box{display:grid;gap:10px;justify-items:start;padding:24px 20px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line)}
.soon-box h3{margin:0;font-size:clamp(1.375rem,4vw,1.875rem);line-height:1.1}
.soon-box p{margin:0;color:var(--muted);max-width:52ch}
.brand-peek{display:none}
@media (min-width:900px){.brand-peek{display:grid;gap:10px;align-content:center;width:300px;flex:none}
  .brand-peek>div{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;padding:14px 16px;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(14,13,18,.08)}
  .brand-peek>div:nth-child(2){transform:translateX(-18px)}
  .brand-peek b{font-size:.9375rem}.brand-peek small{grid-column:2;color:#5E5A66;font-size:.75rem}
  .brand-peek .pill{grid-row:span 2}
  .bp-dot{grid-row:span 2;width:12px;height:12px;border-radius:50%;background:#FF5A36}.bp-dot.ok{background:#2F7D57}}
@media (max-width:520px){.vendor-cta{flex-wrap:wrap}.vendor-cta .grow{flex:1 1 60%}.vendor-cta .btn{width:100%;justify-content:center}}
/* One person on stage fills it (the row must stretch, or the picture collapses to nothing). */
.tiles[data-n="1"]{grid-template-rows:minmax(0,1fr);align-content:stretch}
.tiles[data-n="1"] .tile{min-height:0}
@media (orientation:portrait){.stage-wrap.fs .tiles[data-n="2"]{grid-template-rows:minmax(0,1fr) minmax(0,1fr);align-content:stretch}}
.stage-ribbon{left:12px;right:60px;transform:none;white-space:normal;text-align:left;width:auto;max-width:max-content;line-height:1.3}

/* ---- Moving marketing pages ---- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease,ease),transform .6s var(--ease,ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.vhero-rot{margin:0;font-family:var(--display);font-size:clamp(1.25rem,3.4vw,1.75rem);font-weight:700;opacity:.92}
.rot{display:inline-block;color:#B9A8FF;transition:opacity .28s,transform .28s}
.rot.out{opacity:0;transform:translateY(-8px)}
.fb-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 0 14px;padding:2px}
.fb-tabs::-webkit-scrollbar{display:none}
.fb-tabs button{flex:none;padding:10px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--fg);font-weight:700;font-size:.9375rem;cursor:pointer}
.fb-tabs button[aria-selected=true]{background:var(--ember);border-color:var(--ember);color:#0E0D12}
.fb-pane{display:grid;gap:18px;padding:22px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);animation:fbIn .4s var(--ease,ease)}
@keyframes fbIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (min-width:860px){.fb-pane{grid-template-columns:1.2fr 1fr;align-items:center;padding:30px}}
.fb-copy h3{margin:0 0 12px;font-size:clamp(1.375rem,3.4vw,1.875rem)}
.fb-ticks{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px}
.fb-ticks li{position:relative;padding-left:26px}
.fb-ticks li::before{content:'';position:absolute;left:0;top:.25em;width:16px;height:16px;border-radius:50%;background:color-mix(in srgb,var(--ember) 22%,transparent);box-shadow:inset 0 0 0 5px var(--ember)}
.fb-words{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fb-words>span:first-child{width:100%}
.fb-mock{display:grid;place-items:center;padding:18px;border-radius:var(--r-sm);background:radial-gradient(90% 90% at 20% 0%,rgba(185,168,255,.35),transparent 60%),radial-gradient(80% 80% at 100% 100%,rgba(255,90,54,.35),transparent 60%),#14121A;min-height:240px}
.fb-ticket,.fb-list,.fb-course{width:min(100%,300px);background:#F4F1EA;color:#0E0D12;border-radius:18px;padding:16px;display:grid;gap:8px;box-shadow:0 18px 40px rgba(0,0,0,.35);animation:fbFloat 6s ease-in-out infinite}
@keyframes fbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.fb-ticket,.fb-list,.fb-course,.fb-pane{animation:none}}
.fb-ticket .muted,.fb-course .muted{color:#5E5A66}
.fb-qr{display:grid;grid-template-columns:repeat(5,1fr);gap:3px;width:96px;margin:4px auto}
.fb-qr i{aspect-ratio:1;background:#0E0D12;border-radius:2px}
.fb-list>div{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #DCD6C9;font-size:.875rem}
.fb-list>div:last-child{border-bottom:0}
.fb-list em{font-style:normal;font-size:.75rem;font-weight:700;color:#2F7D57}
.fb-list em.full{color:#B04A2E}
.fb-course hr{border:0;border-top:1px solid #DCD6C9;margin:4px 0}
.fb-bar{height:8px;border-radius:99px;background:#DCD6C9;overflow:hidden}.fb-bar i{display:block;height:100%;background:#FF5A36;border-radius:99px}
.fb-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.fb-track{display:flex;gap:10px;width:max-content;animation:fbMarq 38s linear infinite}
.fb-marquee:hover .fb-track{animation-play-state:paused}
.fb-track span{flex:none;padding:10px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-weight:700;font-size:.875rem;white-space:nowrap}
@keyframes fbMarq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.fb-track{animation:none;flex-wrap:wrap;width:auto}}
.fb-addons{display:grid;gap:10px;margin-top:14px;padding:16px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line)}
@media (min-width:860px){.fb-addons{grid-template-columns:auto repeat(3,1fr);align-items:center}}
.fb-addons>div{display:grid;gap:2px}.fb-addons>div>span{font-size:.8125rem;color:var(--muted)}
.fb-faq{display:grid;gap:8px}
.fb-faq details{padding:14px 16px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line)}
.fb-faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:10px}
.fb-faq summary::after{content:'+';font-size:1.25rem;line-height:1;color:var(--ember)}
.fb-faq details[open] summary::after{content:'–'}
.fb-faq p{margin:10px 0 0;color:var(--fg-2,var(--muted))}
.fb-end{background:#14121A;color:#F4F1EA;border:1px solid rgba(244,241,234,.08)}
.fb-end h2{color:#F4F1EA}

/* =====================================================================================
   Live rooms: a full-screen call, like Meet, Zoom or Teams (October 2026 rebuild)
   ===================================================================================== */
body.in-call{overflow:hidden}
.call{position:fixed;inset:0;z-index:30;background:#0B0A0F;color:#F4F1EA;display:flex;flex-direction:column}
.call-top{display:flex;align-items:center;gap:10px;padding:calc(8px + env(safe-area-inset-top,0px)) 12px 8px}
.call-title{flex:1;min-width:0;display:grid}
.call-title b{font-family:var(--display);font-size:1.0625rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.call-title span{font-size:.75rem;opacity:.65;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.call-meta{display:flex;gap:8px;align-items:center;font-size:.8125rem;white-space:nowrap}
.call-time{font-variant-numeric:tabular-nums;opacity:.85}
.call-n{display:inline-flex;gap:4px;align-items:center;opacity:.85}.call-n svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8}
.cbtn{width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;background:rgba(244,241,234,.09);color:#F4F1EA;border:0;cursor:pointer;font-size:1.25rem;line-height:1}
.cbtn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cbtn:hover{background:rgba(244,241,234,.16)}
.call-body{flex:1;min-height:0;display:flex;gap:10px;padding:0 10px}
.call-stage{position:relative;flex:1;min-width:0;display:flex}
.call .stage{flex:1;position:relative;width:100%;height:100%;aspect-ratio:auto;margin:0;border:0;border-radius:18px;background:#121117;overflow:hidden}
.call .stage-fs{top:12px;right:12px}
.call .tiles{position:absolute;inset:0;padding:10px;gap:10px;background:transparent;align-content:center}
.call .tile{border-radius:16px;background:#1B1A21;border:2px solid transparent;transition:border-color .2s}
.call .tile.speaking{border-color:#3DDC97;box-shadow:0 0 0 3px rgba(61,220,151,.25)}
.call .tile .tv .avatar,.call .tile .tv .av{transform:scale(1.25)}
.tl{position:absolute;left:8px;bottom:8px;display:flex;gap:6px;align-items:center;max-width:calc(100% - 16px);background:rgba(14,13,18,.72);color:#F4F1EA;padding:3px 9px;border-radius:99px;font-size:.75rem;font-weight:700}
.tl .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl .micoff{display:none;color:#FF6B6B}.tl .micoff svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2}
.tile.muted .tl .micoff{display:inline-flex}
.tl .q{display:inline-flex;gap:2px;align-items:flex-end;height:12px}
.tl .q b{width:3px;border-radius:1px;background:rgba(244,241,234,.3)}
.tl .q b:nth-child(1){height:5px}.tl .q b:nth-child(2){height:8px}.tl .q b:nth-child(3){height:12px}
.tl .q[data-q=excellent] b{background:#3DDC97}
.tl .q[data-q=good] b:nth-child(-n+2){background:#3DDC97}
.tl .q[data-q=poor] b:nth-child(1){background:#FF6B6B}
.tl .q[data-q=lost] b{background:rgba(244,241,234,.18)}
/* Focus layouts: the shared screen, the spotlit person or the speaker big; everyone else in a strip */
.call .tiles.focus{display:flex;align-items:flex-end;gap:8px;overflow-x:auto;scrollbar-width:none}
.call .tiles.focus .tile{flex:none;width:156px;height:96px;aspect-ratio:auto}
.call .tiles.focus .tile.main{position:absolute;top:10px;left:10px;right:10px;bottom:116px;width:auto;height:auto}
.call .tiles.focus .tile.main video{object-fit:contain;background:#000}
.call .tiles.focus .tile:not(.main) .tl{font-size:.6875rem;padding:2px 7px}
/* Banners, reactions and "wants to join" requests over the stage */
.call-banner{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:3;max-width:calc(100% - 120px);display:flex;gap:8px;align-items:center;padding:8px 14px;border-radius:99px;background:rgba(14,13,18,.82);backdrop-filter:blur(8px);font-size:.8125rem;text-align:center}
.call-banner svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;flex:none}
.call-react{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:4}
.call-react span{position:absolute;bottom:10px;font-size:2rem;animation:reactUp 2.6s ease-out forwards}
@keyframes reactUp{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:1;transform:translateY(-30px) scale(1.1)}100%{transform:translateY(-260px) scale(1);opacity:0}}
.call-asks{position:absolute;top:62px;right:12px;z-index:5;display:grid;gap:8px;width:min(340px,calc(100% - 24px))}
.ask{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:14px;background:#F4F1EA;color:#0E0D12;box-shadow:0 10px 30px rgba(0,0,0,.4);font-size:.875rem;animation:fbIn .3s ease}
.ask .btn.ghost{color:#0E0D12}
/* Side panel: chat, Q&A, people */
.call-panel{width:360px;flex:none;display:flex;flex-direction:column;background:var(--surface);color:var(--fg);border-radius:18px;overflow:hidden}
.cp-head{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:10px;border-bottom:1px solid var(--line)}
.cp-head .cbtn{background:var(--surface-2);color:var(--fg)}
.call .room-panel{flex:1;min-height:0;border:0;border-radius:0;background:transparent;overflow-y:auto}
.cp-sec{display:grid;gap:6px;padding:10px 6px;border-bottom:1px solid var(--line)}
.cp-sec:last-child{border-bottom:0}
.cp-row{display:flex;gap:10px;align-items:center;padding:6px 4px;border-radius:10px;font-size:.875rem;color:var(--fg);background:none;border:0;width:100%;text-align:left}
.cp-btn{cursor:pointer}.cp-btn:hover{background:var(--surface-2)}
/* The control bar */
.call-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}
.cbar-l,.cbar-m,.cbar-r{display:flex;gap:6px;align-items:center}
.cb{position:relative;display:grid;justify-items:center;gap:3px;min-width:62px;padding:8px 10px;border-radius:14px;background:rgba(244,241,234,.09);color:#F4F1EA;border:0;font-size:.6875rem;font-weight:600;cursor:pointer;font-family:inherit}
.cb svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cb:hover{background:rgba(244,241,234,.16)}
.cb.off{background:#E5484D;color:#fff}
.cb.on{background:#F4F1EA;color:#0E0D12}
.cb.leave{background:#E5484D;color:#fff;min-width:72px}
.cb-badge{position:absolute;top:3px;right:8px;min-width:18px;height:18px;display:grid;place-items:center;background:var(--ember);color:#0E0D12;border-radius:99px;font-size:.625rem;font-style:normal;font-weight:800;padding:0 5px}
.call .btn.primary{white-space:nowrap}
.react-row{display:flex;justify-content:space-between;gap:6px;padding:6px 0 4px}
.react-b{font-size:2rem;background:var(--surface-2);border:0;border-radius:16px;width:54px;height:54px;cursor:pointer}
.call.fs .call-top,.call.fs .call-bar{display:none}
.call.fs .call-body{padding:0}.call.fs .stage{border-radius:0}
.call.fs .call-stage:hover~.call-bar,.call.fs .call-bar:hover{display:flex}
/* Phones: the bar fits one row of icons; the panel slides up from the bottom */
@media (max-width:760px){
  .cb{min-width:44px;padding:10px;border-radius:50%}
  .cb span{display:none}
  .cb.leave{min-width:44px}
  .cb-badge{top:-2px;right:-2px}
  .call-bar{gap:4px;padding-left:8px;padding-right:8px}
  .cbar-l,.cbar-m,.cbar-r{gap:4px}
  .call-body{padding:0 6px}
  .call .stage{border-radius:14px}
  .call-meta .call-n{display:none}
  .call-panel{position:absolute;left:0;right:0;bottom:0;height:74%;width:auto;border-radius:22px 22px 0 0;z-index:6;box-shadow:0 -10px 40px rgba(0,0,0,.5)}
  .call-banner{max-width:calc(100% - 70px);font-size:.75rem;top:10px}
}
@media (orientation:landscape) and (max-height:500px){.call-top{display:none}.call-bar{padding-top:6px;padding-bottom:6px}}
/* The joining page: full screen, big preview of yourself */
.overlay.gr-page-ov{align-items:stretch;padding:0;background:var(--bg)}
.sheet.gr-page{max-width:none;width:100%;height:100%;max-height:none;border-radius:0;border:0;padding:calc(14px + env(safe-area-inset-top,0px)) 16px calc(24px + env(safe-area-inset-bottom,0px));animation:fade .2s ease}
.sheet.gr-page::before{display:none}
.sheet.gr-page .sheet-h,.sheet.gr-page .gr{max-width:1100px;margin-left:auto;margin-right:auto;width:100%}
.sheet.gr-page .sheet-h h3{font-size:clamp(1.5rem,4vw,2.25rem)}
@media (min-width:900px){
  .sheet.gr-page{display:flex;flex-direction:column;justify-content:center}
  .sheet.gr-page .gr{grid-template-columns:1.5fr 1fr;column-gap:28px;align-items:start}
  .sheet.gr-page .gr>.gr-view{grid-column:1;grid-row:1 / span 8}
  .sheet.gr-page .gr>*:not(.gr-view){grid-column:2}
  .sheet.gr-page #grgo{padding:14px 28px;font-size:1rem}
}
@media (max-width:760px){.cb[data-act=rreact]{display:none}}
.call-panel[hidden],.call-banner[hidden]{display:none!important}
/* Two people on a phone held upright: one above the other, filling the screen */
@media (orientation:portrait) and (max-width:760px){.call .tiles[data-n="2"]:not(.focus){grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr);align-content:stretch}.call .tiles[data-n="2"]:not(.focus) .tile{aspect-ratio:auto;height:100%}
  .call .tiles[data-n="3"]:not(.focus),.call .tiles[data-n="4"]:not(.focus){grid-template-columns:1fr 1fr;grid-auto-rows:minmax(0,1fr);align-content:stretch}.call .tiles[data-n="3"]:not(.focus) .tile,.call .tiles[data-n="4"]:not(.focus) .tile{aspect-ratio:auto;height:100%}}

/* More tools */
.tl-row{flex-wrap:wrap;gap:10px}
.tl-row .mi{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--surface-2)}
.tl-row .mi svg{width:18px;height:18px}
.tl-row[hidden],.tl-sec[hidden]{display:none!important}
.dk-find{margin:10px 0 4px}.dk-find .in{width:100%;font-size:16px;padding:9px 12px;border-radius:12px}
.seg [aria-selected="true"]{background:var(--fg);color:var(--bg)}
/* Courses */
.cb-mod{margin:14px 0 0;font-size:1rem;color:var(--accent-ink,var(--accent))}
.cs-sec h3{margin:18px 0 8px;font-size:1rem}
.cs-sec .mi,.cb-lesson .mi{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--surface-2)}
.cs-sec .mi svg{width:17px;height:17px}
.lesson-body{white-space:pre-line;font-size:1.0625rem;line-height:1.65;max-width:68ch;margin-top:14px}
.qz-ask{border:1px solid var(--line)}.qz-ask legend{padding:0 4px}
.qz-ask.ok{border-color:var(--ok)}.qz-ask.bad{border-color:var(--bad)}
.cert{max-width:860px;margin:10px auto 0;padding:14px;border-radius:26px;background:linear-gradient(135deg,var(--bc),#0E0D12)}
.cert-in{background:#FFFDF8;color:#17151C;border-radius:18px;padding:clamp(22px,5vw,56px);text-align:center;display:grid;gap:8px}
.cert-in .muted{color:#5d5866!important}.cert-in .eyebrow{color:var(--bc)}
.cert-brand{display:flex;gap:10px;align-items:center;justify-content:center}
.cert-name{font-size:clamp(2rem,7vw,3.4rem);margin:4px 0;color:#17151C}.cert-course{font-size:clamp(1.3rem,4vw,1.9rem);margin:4px 0;color:#17151C}
.cert-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:18px;border-top:1px solid #e6e1d8;padding-top:12px}
@media print{body *{visibility:hidden!important}.cert,.cert *{visibility:visible!important}.cert{position:absolute;left:0;top:0;width:100%;margin:0;-webkit-print-color-adjust:exact;print-color-adjust:exact}.no-print{display:none!important}}
.k3{border:1px solid var(--line);border-radius:14px;padding:10px 12px;background:var(--surface-2)}
/* Sign-up and sales pages */
.gopage{max-width:760px;margin:0 auto;display:grid;gap:12px}
.go-img{width:100%;max-height:380px;object-fit:cover;border-radius:22px;margin-top:8px}
.go-h{font-size:clamp(2rem,6vw,3rem);margin:6px 0 0}
/* Promo pictures */
.vcard-pic{padding:0!important;overflow:hidden}
.vcard-pic .vcard-img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border-bottom:1px solid var(--line)}
.vcard-pic .vcard-ic,.vcard-pic b,.vcard-pic > span:last-child{margin-left:16px;margin-right:16px}
.vcard-pic .vcard-ic{margin-top:-30px;position:relative;border:3px solid var(--surface)}
.vcard-pic > span:last-child{margin-bottom:16px}
.vendor-cta{position:relative;overflow:hidden}
.vendor-cta-img{width:120px;height:68px;object-fit:cover;border-radius:12px;flex:none}
@media (max-width:560px){.vendor-cta-img{display:none}}
.promo-hero{width:100%;max-height:340px;object-fit:cover;border-radius:22px;display:block;margin-bottom:18px}
.vcard-pic .vcard-ic{background:var(--surface);box-shadow:inset 0 0 0 40px color-mix(in srgb,var(--ember) 16%,transparent)}
.runs-pick legend{display:block;width:100%;float:left;grid-column:1/-1;padding:0}
.runs-pick legend small{display:block;font-weight:400}
.runs-pick legend + *{clear:both}
fieldset > legend{float:left;width:100%;padding:0}
fieldset > legend + *{clear:both}
/* Explore: four tabs above Events, Classes, Online and Spaces */
.ex-bar{max-width:1180px;margin:0 auto;padding:14px 16px 0}
.ex-bar-in{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--line,rgba(127,127,127,.2))}
.ex-bar-in::-webkit-scrollbar{display:none}
.ex-bar a{flex:none;padding:10px 14px;font-weight:800;font-size:0.9375rem;color:var(--muted);text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-1px}
.ex-bar a[aria-current="page"]{color:var(--fg);border-bottom-color:var(--accent,#FF5A36)}
.ex-bar + .pa-main{padding-top:12px}
/* What are you here for? */
.hf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.hf-opt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:14px;border-radius:16px;border:2px solid var(--line,rgba(127,127,127,.25));background:var(--surface,transparent);color:var(--fg);font:inherit;cursor:pointer;min-width:0}
.hf-opt b{font-size:1rem}.hf-opt span:last-child{font-size:0.8125rem;color:var(--muted)}
.hf-opt[aria-pressed="true"]{border-color:var(--accent,#FF5A36);background:color-mix(in srgb,var(--accent,#FF5A36) 10%,transparent)}
@media (max-width:360px){.hf-grid{grid-template-columns:1fr}}
.vcard-go{margin-top:auto;font-weight:800;font-size:0.875rem;color:var(--accent-ink,var(--accent,#FF5A36))}
.fr-going{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:var(--surface,var(--surface-2));border:1px solid var(--line,rgba(127,127,127,.18));text-decoration:none;color:inherit}
.fr-going .grow{display:flex;flex-direction:column;gap:2px}
.fr-going .prog{display:block;height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden;max-width:240px}.fr-going .prog i{display:block;height:100%;background:var(--accent,#FF5A36)}
.pa-main a.fr-going{color:inherit!important;font-weight:inherit}

/* Opening moment: "We are together." flips to "We are PAPO." */
.intro{position:fixed;inset:0;z-index:70;background:#0E0D12;color:#F4F1EA;display:grid;place-items:center;cursor:pointer;transition:background-color .55s ease,opacity .4s ease;-webkit-tap-highlight-color:transparent}
.intro.out{opacity:0}
.intro.glide{background-color:rgba(14,13,18,0)}
.in-line{font-family:var(--display);font-weight:800;font-size:clamp(2.1rem,9vw,5.25rem);letter-spacing:-.045em;line-height:1.1;display:flex;align-items:baseline;justify-content:center;white-space:nowrap;padding:0 16px;opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
.intro.show .in-line{opacity:1;transform:none}
.in-we{display:inline-block;overflow:hidden;max-width:6em;transition:max-width .5s cubic-bezier(.65,0,.35,1),opacity .35s ease}
.intro.solo .in-we{max-width:0;opacity:0}
.in-flip{display:inline-grid;perspective:600px;justify-items:start;transition:width .5s cubic-bezier(.65,0,.35,1)}
.in-a,.in-b{grid-area:1/1;backface-visibility:hidden;transition:transform .55s cubic-bezier(.65,0,.35,1),opacity .3s ease;transform-origin:50% 50% -.3em}
.in-a{color:#FF5A36}
.in-b{transform:rotateX(-90deg);opacity:0;display:block;line-height:1.1}
.intro.flipped .in-a{transform:rotateX(90deg);opacity:0}
.intro.flipped .in-b{transform:none;opacity:1}
.in-b .papo-mark{height:.711em;vertical-align:-.169em;transform-origin:0 0}
.intro.glide .in-line{transition:none}
.intro.calm .in-line,.intro.calm .in-a,.intro.calm .in-b,.intro.calm .in-we{transition:none}
/* Picture cards: every line of text sits inside the card's padding */
.vcard-pic > *:not(.vcard-img){margin-left:16px;margin-right:16px;min-width:0}
.vcard-pic > *:last-child{margin-bottom:16px}
.vcard-pic > span:not(.vcard-ic):not(.vcard-go){font-size:0.875rem;line-height:1.45;color:var(--muted)}
.vcard-pic .vcard-go{margin-top:4px}
@media (max-width:420px){.vcard-pic > *:not(.vcard-img){margin-left:12px;margin-right:12px}.vcard-pic > *:last-child{margin-bottom:14px}}
@media (min-width:900px){.vgrid:has(> .vcard-pic:nth-child(4):last-child){grid-template-columns:repeat(4,1fr)}}
.foot-tag{display:flex;flex-direction:column;line-height:1.25}.foot-tag b{font-weight:700}.foot-tag small{font-size:0.75rem;opacity:.7}
/* Watching as a guest */
.gwatch{display:grid;gap:14px}
.gstage{position:relative;aspect-ratio:16/9;width:100%;background:#000;border-radius:var(--r,18px);overflow:hidden;display:grid;place-items:center}
.gstage .stage-sim{position:static}
.gtiles{width:100%;height:100%;display:grid;place-items:center}.gtiles video{width:100%;height:100%;object-fit:contain;background:#000}
.ghead h1{font-size:clamp(1.4rem,4vw,2rem);margin:6px 0 2px}
.gnudge{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--accent,#FF5A36) 12%,var(--surface,#16151b));border:1px solid color-mix(in srgb,var(--accent,#FF5A36) 35%,transparent)}
.gnudge span{flex:1;min-width:200px;font-size:0.9rem}
.gstage .call-banner{position:absolute;top:10px;left:10px;right:10px;z-index:2}
/* Visitor Home: Everything on PAPO (six cards), See it in action, trust line */
.vgrid6{grid-template-columns:repeat(2,minmax(0,1fr))}
.vgrid6>a:first-child{grid-column:1/-1}
@media (min-width:760px){.vgrid6{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:900px){.vgrid.vgrid6{grid-template-columns:repeat(3,minmax(0,1fr))}}
.act3{display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:760px){.act3{grid-template-columns:repeat(3,minmax(0,1fr))}}
.act-card{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}
.act-card > b{margin-top:8px}
.act-scr{position:relative;height:190px;border-radius:14px;background:#F4F1EA;color:#0E0D12;padding:14px;overflow:hidden;display:flex;flex-direction:column;gap:4px}
.act-scr .muted{color:#5e5a66!important}
.act-qr{width:74px;height:74px;margin-top:6px;border-radius:6px;background:repeating-linear-gradient(90deg,#0E0D12 0 6px,transparent 6px 10px),repeating-linear-gradient(0deg,#0E0D12 0 6px,transparent 6px 11px);background-blend-mode:multiply;opacity:.9}
.act-scan{position:absolute;left:14px;width:74px;height:3px;background:#FF5A36;box-shadow:0 0 12px #FF5A36;top:96px;animation:actscan 2.4s ease-in-out infinite}
.act-ok{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:4px;font-weight:800;font-size:.8rem;color:#1d7a4a;opacity:0;animation:actok 4.8s ease infinite}
.act-ok svg{width:16px;height:16px}
.act-live{background:#1B1530;color:#F4F1EA}.act-live .muted{color:#CFC9DA!important}
.act-q{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.act-q span{font-size:.75rem;background:rgba(255,255,255,.1);padding:6px 9px;border-radius:10px;opacity:0;transform:translateY(8px);animation:actq 6s ease infinite}
.act-q span:nth-child(2){animation-delay:1.2s}.act-q span:nth-child(3){animation-delay:2.4s}
.act-time{gap:8px;justify-content:center}
.act-time > div{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;font-size:.78rem;background:#fff;border-radius:10px;padding:8px 10px}
.act-time em{font-style:normal;font-weight:800;color:#fff;background:#FF5A36;border-radius:99px;padding:3px 10px}
.act-time em.act-booked{background:#1d7a4a;animation:actbook 4s ease infinite}
@keyframes actscan{0%,100%{top:96px}50%{top:160px}}
@keyframes actok{0%,45%{opacity:0}55%,90%{opacity:1}100%{opacity:0}}
@keyframes actq{0%,10%{opacity:0;transform:translateY(8px)}20%,85%{opacity:1;transform:none}100%{opacity:0}}
@keyframes actbook{0%,40%{background:#FF5A36}50%,100%{background:#1d7a4a}}
.trust-line{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:22px 0 6px;color:var(--muted);font-weight:700;font-size:.85rem;text-align:center}
.trust-line svg{width:16px;height:16px}.trust-line span{opacity:.5}
@media (prefers-reduced-motion:reduce){.act-scan,.act-ok,.act-q span,.act-time em.act-booked{animation:none!important;opacity:1!important;transform:none!important}}
.fair-use{max-width:760px;margin:12px 0 0;line-height:1.5}
/* Groups: one simple page */
.glist{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.gcard{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line);color:var(--fg);text-decoration:none;min-width:0}
.gcard .grow{display:grid;gap:2px}
.gcard b{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gpage{max-width:680px}
.gmeet{display:grid;gap:10px;margin:14px 0 0;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface)}
.gmeet>div{display:flex;gap:12px;align-items:flex-start}
.gmeet>div>span{display:grid;gap:2px;min-width:0}
.gmeet svg{width:20px;height:20px;flex:none;margin-top:2px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gnotice{margin:14px 0 0;padding:12px 16px;border-radius:var(--r-sm);background:var(--wait-bg);color:var(--wait)}
.gnotice p{margin:2px 0 0;font-weight:600;white-space:pre-line;color:var(--fg)}
.glead{margin:16px 0;padding:14px 16px;border-radius:var(--r-sm);border:1px dashed var(--line-2)}
.glead-btns{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:8px}
.glead-btns .btn{min-height:44px;padding:0 12px}
.center{text-align:center}
a.gcard,a.gcard b,a.gcard .small{color:var(--fg)}
a.gcard .muted{color:var(--muted)}
/* Host desk home: one simple page */
.dk-sec{margin:16px 0 0}
.dk-sec h2{margin:0 0 8px}
.stats.stats3{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}
@media (max-width:640px){.stats.stats3{grid-template-columns:1fr 1fr}.stats.stats3 .stat:last-child{grid-column:1/-1}}
@media (max-width:959px){.dk-wide{display:none}}
@media (min-width:760px){.vgrid6>a:first-child{grid-column:span 2}}
@media (min-width:760px){.vgrid6 .vcard-img{aspect-ratio:auto;height:200px;object-fit:cover}}

.stage-logo{position:absolute;top:20px;right:22px;height:18px;max-width:12%;object-fit:contain;z-index:5;pointer-events:none;filter:drop-shadow(0 1px 3px rgba(0,0,0,.55));opacity:.85}
.call.fs .stage-logo{top:28px;right:32px;height:24px}
@media (max-width:600px){.stage-logo{top:12px;right:12px;height:13px}}
.call .stage-fs{top:auto!important;bottom:12px;right:12px}
.room-tap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:12;font-size:1.2rem;padding:18px 30px;min-height:64px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.45);white-space:nowrap}

/* Community posts (posts.js) */
.fp-feed{display:grid;gap:12px}
.fp-write{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);color:var(--muted);font:inherit;text-align:left;cursor:pointer}
.fp-write .avatar{flex:none}.fp-write .fp-wt{flex:1}.fp-write svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.fp{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:12px 14px;display:grid;gap:6px;min-width:0}
.fp-h{display:flex;gap:10px;align-items:center}
.fp-name{font-weight:700;color:var(--fg);text-decoration:none}
.fp-body{margin:0;white-space:pre-line;overflow-wrap:anywhere;line-height:1.5}
.fp-photos{display:grid;gap:4px;border-radius:12px;overflow:hidden}
.fp-photos.n2,.fp-photos.n4{grid-template-columns:1fr 1fr}.fp-photos.n3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.fp-photos.n3 .fp-ph:first-child{grid-row:span 2}
.fp-ph{border:0;padding:0;background:var(--surface-2);cursor:zoom-in;display:block;min-height:0}
.fp-ph img{width:100%;height:100%;max-height:420px;object-fit:cover;display:block}
.fp-photos.n2 .fp-ph img,.fp-photos.n3 .fp-ph img,.fp-photos.n4 .fp-ph img{aspect-ratio:1/1}
.fp-acts{display:flex;gap:6px;border-top:1px solid var(--line);padding-top:6px;margin-top:2px}
.fp-act{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--muted);font:inherit;font-weight:700;font-size:.8438rem;padding:6px 10px;border-radius:999px;cursor:pointer}
.fp-act:hover{background:var(--surface-2)}.fp-act.on{color:var(--ember)}
.fp-act svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.fp-act.on svg{fill:currentColor;fill-opacity:.15}
.fp-coms{display:grid;gap:8px;padding-top:4px}.fp-coms.full{margin:12px 0}
.fp-com{display:flex;gap:8px;align-items:flex-start}
.fp-com-b{flex:1;min-width:0;background:var(--surface-2);border-radius:14px;padding:7px 11px}
.fp-com-b p{margin:2px 0 0;white-space:pre-line;overflow-wrap:anywhere;font-size:.9063rem}
.fp-reply{display:flex;gap:8px;position:sticky;bottom:0;background:var(--surface);padding-top:8px}
.fp-reply .in{flex:1}
.fp-pick{display:flex;gap:8px;flex-wrap:wrap}.fp-pick:empty{display:none}
.fp-thumb{position:relative;width:72px;height:72px}.fp-thumb img{width:100%;height:100%;object-fit:cover;border-radius:10px}
.fp-thumb button{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border-radius:50%;border:0;background:var(--fg);color:var(--bg);font-weight:700;cursor:pointer;line-height:1}
.c-tabs{display:flex;width:max-content;max-width:100%}

/* ---------- On screen: logo, corner label and words over live video (onscreen.js) ---------- */
.os{position:absolute;inset:0;z-index:5;pointer-events:none;--osh:360px;--osw:.06;--ospad:calc(var(--osh) * .045)}
.os-logo{position:absolute;max-width:26%;object-fit:contain;filter:drop-shadow(0 calc(var(--osh) * .004) calc(var(--osh) * .012) rgba(0,0,0,.45))}
.os[data-size="s"] .os-logo{height:calc(var(--osh) * .05)} .os[data-size="m"] .os-logo{height:calc(var(--osh) * .07)} .os[data-size="l"] .os-logo{height:calc(var(--osh) * .1)}
.os[data-pos="tl"] .os-logo{top:var(--ospad);left:var(--ospad)} .os[data-pos="tr"] .os-logo{top:var(--ospad);right:var(--ospad)}
.os[data-pos="bl"] .os-logo{bottom:var(--ospad);left:var(--ospad)} .os[data-pos="br"] .os-logo{bottom:var(--ospad);right:var(--ospad)}
.os.os-white .os-logo,.os-white-img{filter:brightness(0) invert(1) drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.os-tag{position:absolute;left:var(--ospad);bottom:var(--ospad);display:flex;align-items:stretch;max-width:50%;background:rgba(14,13,18,.82);color:#fff;border-radius:calc(var(--osh) * .02);overflow:hidden;
  font:800 calc(var(--osh) * .034)/1.15 "Bricolage Grotesque",system-ui,sans-serif;animation:os-in .35s cubic-bezier(.2,.8,.2,1)}
.os-tag i{width:calc(var(--osh) * .0095);background:var(--bc,var(--ember));flex:none}
.os-tag span{padding:calc(var(--osh) * .018) calc(var(--osh) * .019);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.os[data-pos="bl"] .os-tag{bottom:auto;top:var(--ospad)}
.os-words{position:absolute;left:50%;bottom:calc(var(--osh) * var(--osw));transform:translateX(-50%);width:max-content;max-width:80%;text-align:center;animation:os-in .3s ease-out}
.os-words span{display:inline-block;background:rgba(0,0,0,.55);color:#fff;border-radius:calc(var(--osh) * .016);padding:calc(var(--osh) * .013) calc(var(--osh) * .026);
  font:800 calc(var(--osh) * .052)/1.22 "Bricolage Grotesque",system-ui,sans-serif;text-shadow:0 1px 6px rgba(0,0,0,.6);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@keyframes os-in{from{opacity:0;transform:translateY(6px)}to{opacity:1}}
.os-words{animation-name:os-in-c}@keyframes os-in-c{from{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%,0)}}
@media (prefers-reduced-motion:reduce){.os-tag,.os-words{animation:none}}
/* The host's quick controls for stepping through pasted lines */
.os-remote{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:9;display:flex;align-items:center;gap:6px;background:rgba(14,13,18,.86);color:#F4F1EA;border-radius:999px;padding:5px 6px 5px 12px;font-size:.8125rem;box-shadow:0 6px 24px rgba(0,0,0,.35)}
.os-remote b{max-width:34vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
.os-remote button{border:0;background:#2a2833;color:#F4F1EA;border-radius:999px;height:30px;min-width:30px;padding:0 10px;font:inherit;cursor:pointer}
.os-remote button.next{background:var(--ember);color:#0E0D12;font-weight:700}
/* One camera fills the picture (no black strips) unless it would cut off too much, e.g. a wide camera on an upright phone */
.tiles[data-n="1"] .tile video.fill,.tiles.focus .tile.main video.fill{object-fit:cover}
/* The logo tidy-up */
.lt-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lt-fr{margin:0;aspect-ratio:16/9;border-radius:12px;display:grid;place-items:center;padding:10%;overflow:hidden}
.lt-fr img{max-width:100%;max-height:100%;object-fit:contain}
.lt-dark{background:radial-gradient(circle at 30% 30%,#6b4f3a,#1d1a24 60%,#0b0a10)}
.lt-light{background:radial-gradient(circle at 70% 40%,#fff6e0,#d9e4f2 55%,#9fb3c8)}
.os-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.os-pick button{aspect-ratio:16/9;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);position:relative;cursor:pointer}
.os-pick button::after{content:'';position:absolute;width:26%;height:22%;border-radius:3px;background:var(--muted)}
.os-pick button[data-v="tl"]::after{top:10%;left:8%} .os-pick button[data-v="tr"]::after{top:10%;right:8%} .os-pick button[data-v="bl"]::after{bottom:10%;left:8%} .os-pick button[data-v="br"]::after{bottom:10%;right:8%}
.os-pick button[aria-pressed="true"]{border-color:var(--ember);background:var(--surface)} .os-pick button[aria-pressed="true"]::after{background:var(--ember)}
/* Breakout rooms */
.bk-pill{display:inline-flex;align-items:center;gap:6px;background:var(--lilac);color:#0E0D12;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:700;white-space:nowrap}
.bk-room{border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;gap:6px}
.bk-room .between b{font-size:.9375rem}
.bk-person{display:flex;align-items:center;gap:8px;font-size:.875rem}
.bk-person select{height:30px;padding:0 6px;max-width:130px;margin-left:auto}

/* ---------- Channels (channels.js) ---------- */
.vgrid6:has(>a:nth-child(6))>a:first-child{grid-column:auto}
.topic-chips{margin:4px 0 6px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.topic-chips::-webkit-scrollbar{display:none}
.topic-chips .chip[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.fol-live{display:flex;gap:16px;overflow-x:auto;padding:4px 2px 8px}
.fol-av{display:grid;justify-items:center;gap:6px;font-size:.75rem;color:var(--fg-2);text-decoration:none;width:76px;text-align:center}
.fol-av span:last-child{max-width:76px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.live-ring{box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--ember)}
.gift-alert{position:absolute;left:50%;top:16%;transform:translateX(-50%);z-index:12;display:flex;align-items:center;gap:12px;max-width:min(560px,88%);background:rgba(14,13,18,.92);color:#F4F1EA;border:1px solid var(--ember);border-radius:18px;padding:12px 18px;box-shadow:0 10px 40px rgba(0,0,0,.45);animation:gift-in .5s cubic-bezier(.2,1.4,.4,1)}
.gift-alert b{display:block;font-size:1.0625rem}.gift-alert span{display:block;font-size:.875rem;opacity:.9;overflow-wrap:anywhere}
.gift-burst{width:44px;height:44px;border-radius:50%;background:var(--ember);color:#0E0D12;display:grid;place-items:center;flex:none}
.gift-burst svg{width:24px;height:24px}
@keyframes gift-in{from{opacity:0;transform:translate(-50%,-14px) scale(.9)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@media (prefers-reduced-motion:reduce){.gift-alert{animation:none}}
.gift-claim{position:absolute;left:12px;bottom:12px;z-index:9;display:flex;align-items:center;gap:8px;background:rgba(14,13,18,.88);color:#F4F1EA;border-radius:999px;padding:6px 6px 6px 12px;font-size:.8125rem}
.gift-claim.static{position:static;display:inline-flex;margin:8px 0}
.gift-amts{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.gift-amts .chip[aria-pressed="true"]{background:var(--ember);border-color:var(--ember);color:#0E0D12}
.gift-other{display:flex;align-items:center;gap:4px;font-weight:600}.gift-other .in{width:96px}
.cb.gift-b{color:var(--ember)}
.msg.gift{display:flex;gap:10px;align-items:flex-start;background:color-mix(in srgb,var(--ember) 14%,transparent);border:1px solid color-mix(in srgb,var(--ember) 40%,transparent);border-radius:12px;padding:8px 10px;margin:4px 0}
.msg.gift.gm{background:color-mix(in srgb,var(--lilac) 16%,transparent);border-color:color-mix(in srgb,var(--lilac) 45%,transparent)}
.msg.gift b{display:block;font-size:.875rem}.msg.gift span{font-size:.875rem;overflow-wrap:anywhere}
.gift-ic{color:var(--ember);flex:none;margin-top:2px}
.stage.sound-only iframe{opacity:0;pointer-events:none}
.stage.sound-only::after{content:'Sound only';position:absolute;inset:0;display:grid;place-items:center;color:#F4F1EA;opacity:.75;font-weight:600}
.ch-head{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:18px 0 12px}
.ch-head h1{margin:0;font-size:clamp(1.6rem,5vw,2.4rem)}.ch-head p{margin:4px 0 0}
.ch-acts{gap:8px;flex-wrap:wrap}
.ch-live{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:center;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px;margin:10px 0}
.ch-live-pic{aspect-ratio:16/9;border-radius:12px;background:var(--surface-2);display:grid;place-items:center;position:relative}
.ch-live-pic .pill{position:absolute;top:10px;left:10px}.ch-live-pic svg{width:44px;height:44px;opacity:.8}
.ch-live b{display:block;font-size:1.125rem}
@media (max-width:640px){.ch-live{grid-template-columns:1fr}}
.ch-off{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px dashed var(--line-2);border-radius:16px;padding:14px;margin:10px 0}
.ch-off b{display:block}
.ch-card{display:grid;gap:4px;justify-items:start;text-decoration:none;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px;margin:6px 0 14px}
.ch-past{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.cr-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:14px 0 6px}
.cr-plan.feat{border:2px solid var(--ember)}
.cr-price{font-size:1.75rem;font-weight:800;font-family:"Bricolage Grotesque",system-ui,sans-serif}.cr-price small{font-size:.875rem;font-weight:500;color:var(--muted)}
.kit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kit-grid figure{margin:0;display:grid;gap:8px;justify-items:center}
.kit-grid img{width:100%;border-radius:10px;border:1px solid var(--line)}
.ch-meter{height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden;margin:6px 0 4px}.ch-meter i{display:block;height:100%;background:var(--ember)}
.pill.lilac{background:var(--lilac);color:#0E0D12}
/* ---------- Channel streams (like Twitch and Kick): video and chat side by side, info underneath ---------- */
.call.chan .call-body{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-rows:auto minmax(0,1fr);gap:10px;align-items:start;overflow:hidden}
.call.chan .call-stage{grid-column:1;grid-row:1;flex:none;aspect-ratio:16/9;width:min(100%,calc((100vh - 250px) * 16 / 9));justify-self:center}
.call.chan .call-stage .stage{border-radius:14px}
.call.chan .ch-info{grid-column:1;grid-row:2;width:100%}
.call.chan .call-panel{grid-column:2;grid-row:1 / span 2;width:auto;align-self:stretch;min-height:0}
.call.chan-view:not(.chan-guest) .call-body{padding-bottom:10px}
.call.chan-view:not(.chan-guest) .call-bar,.call.chan-view .stage-fs,.call.chan .cp-head [data-act=cpclose]{display:none}
.call.chan.theatre .call-body{grid-template-columns:1fr}
.call.chan.theatre .call-panel,.call.chan.theatre .ch-info{display:none!important}
.call.chan.theatre .call-stage{width:min(100%,calc((100vh - 90px) * 16 / 9))}
.call.chan.fs .call-body{display:flex}.call.chan.fs .call-panel,.call.chan.fs .ch-info{display:none!important}.call.chan.fs .call-stage{width:100%;aspect-ratio:auto}
.pl-ctl{position:absolute;left:12px;top:12px;z-index:6;display:flex;gap:6px;opacity:0;transition:opacity .2s}
.call-stage:hover .pl-ctl,.pl-ctl:focus-within{opacity:1}
@media (hover:none){.pl-ctl{opacity:1}}
.pl-ctl button{width:38px;height:38px;border-radius:50%;border:0;display:grid;place-items:center;background:rgba(14,13,18,.68);color:#fff;cursor:pointer;backdrop-filter:blur(6px)}
.pl-ctl button.on{background:var(--ember)}
.pl-ctl svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.ch-info{background:var(--surface);color:var(--fg);border-radius:16px;padding:12px 14px}
.ch-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ch-row>.grow{display:grid;gap:1px}
.ch-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ch-name{font-weight:700;color:inherit;text-decoration:none}
.ch-t{font-family:var(--display);font-size:1.0625rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis}
.ch-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:10px}
.ch-stats.sum{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}
.ch-stat{background:var(--surface-2);border-radius:12px;padding:8px 10px;display:grid;gap:2px;min-width:0}
.ch-stat span{font-size:.72rem;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-stat b{font-size:1.125rem;font-variant-numeric:tabular-nums}.ch-stat small{font-size:.75rem;opacity:.7;font-weight:500}
.pr-item{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border-radius:12px;background:var(--surface-2);margin-top:6px}
.pr-item p{margin:2px 0 0;font-size:.875rem;overflow-wrap:anywhere}
.pr-item.onscreen{outline:2px solid var(--ember)}.pr-item.prayed{opacity:.6}
.pr-acts{display:flex;flex-direction:column;gap:4px;flex:none}
.chat-pin{display:flex;gap:8px;align-items:center;margin:6px 0;padding:8px 10px;border-radius:12px;background:var(--surface-2);font-size:.8125rem}
.chat-pin svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8}
.chat-pin .grow{overflow-wrap:anywhere}
.msg.prayer{display:flex;gap:10px;align-items:flex-start;background:color-mix(in srgb,var(--lilac) 14%,transparent);border:1px solid color-mix(in srgb,var(--lilac) 40%,transparent);border-radius:12px;padding:8px 10px;margin:4px 0;position:relative}
.msg.prayer b{display:block;font-size:.875rem}.msg.prayer span{font-size:.875rem;overflow-wrap:anywhere}.msg.prayer>div{flex:1;min-width:0}
.chat-in .btn.icon.ghost{flex:none}
@media (max-width:760px){
  .call.chan .call-body{display:flex;flex-direction:column;gap:6px;overflow:hidden}
  .call.chan .call-stage{width:100%;flex:none}
  .call.chan .ch-info{padding:8px 10px;border-radius:14px}
  .call.chan .ch-info .ch-t{font-size:.9375rem}
  .call.chan .call-panel{position:static;flex:1;height:auto;min-height:0;border-radius:16px;box-shadow:none;z-index:auto}
  .ch-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:6px}
  .ch-stat{padding:6px 8px}.ch-stat b{font-size:1rem}
  .call.chan-host .ch-row .grow{display:none}
}
.chat-in .btn.primary.icon{flex:none}
.call.chan .room-panel{min-height:0}.call.chan .room-panel .chat-list{min-height:0;flex:1;overflow-y:auto}
@media (max-width:760px){.pl-ctl [data-act=rtheatre]{display:none}.call.chan-view .ch-acts .btn{padding:7px 11px;font-size:.8125rem}.call.chan-view .ch-row{gap:8px}}
@media (max-width:760px){.call.chan-host .ch-stat:nth-child(n+4){display:none}}
.toast.tick{width:52px;height:52px;padding:0;border-radius:50%;display:grid;place-items:center;background:#3DDC97;color:#0B0A0F;animation:tickPop .25s ease-out}
.toast.tick svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
@keyframes tickPop{from{transform:translateX(-50%) scale(.6);opacity:0}to{transform:translateX(-50%) scale(1);opacity:1}}
/* Channel streams in full screen: the video fills the whole screen (phones and computers) */
.call.chan.fs .call-body{display:flex!important;flex-direction:column;padding:0;gap:0}
.call.chan.fs .call-stage{flex:1 1 auto!important;width:100%!important;height:100%;aspect-ratio:auto!important;min-height:0}
.call.chan.fs .call-stage .stage{height:100%;width:100%;border-radius:0}
/* Meetings: cameras fill the frame (no black bars); shared screens are still shown whole */
.call[data-kind="interactive"] .tiles[data-n="1"] .tile:not(.screen) video,.call[data-kind="interactive"] .tiles.focus .tile.main:not(.screen) video{object-fit:cover;background:none}
