[hidden]{display:none!important}
/* hellohibye design system — tokens + components reproducing the JSX/shadcn mocks without React/Tailwind. */
:root{
  --bg:#fafafa;--fg:#0a0a0a;--card:#fff;--muted:#f4f4f5;--muted-fg:#63636b;--border:#e4e4e7;--ring:#0ea5e9;--link:#0369a1;
  --primary:#18181b;--primary-fg:#fff;--brand-a:#0ea5e9;--brand-b:#8b5cf6;--sky:#0ea5e9;--sky-soft:#f0f9ff;--emerald:#10b981;--amber:#f59e0b;--rose:#f43f5e;
  --r:.75rem;--r-lg:1rem;--r-xl:1.25rem;--shadow:0 1px 2px rgb(0 0 0/.05);--shadow-md:0 8px 24px -12px rgb(0 0 0/.18);
  --font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","Noto Sans Devanagari","Noto Sans Ol Chiki","Noto Sans Meetei Mayek",sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#09090b;--fg:#fafafa;--card:#111114;--muted:#1c1c21;--muted-fg:#a1a1aa;--border:#27272a;--primary:#fafafa;--primary-fg:#111;--sky-soft:rgba(14,165,233,.12);--link:#38bdf8}}
:root[data-theme=dark]{--bg:#09090b;--fg:#fafafa;--card:#111114;--muted:#1c1c21;--muted-fg:#a1a1aa;--border:#27272a;--primary:#fafafa;--primary-fg:#111;--sky-soft:rgba(14,165,233,.12);--link:#38bdf8}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}
button,input,textarea,select{font:inherit;color:inherit}
h1,h2,h3{margin:0;letter-spacing:-.01em;line-height:1.2}h1{font-size:1.5rem;font-weight:600}@media(min-width:768px){h1{font-size:1.875rem}}
.muted{color:var(--muted-fg)}.xs{font-size:.75rem}.sm{font-size:.875rem}.lg{font-size:1.125rem;font-weight:600;line-height:1.35}
.truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row{display:flex;align-items:center;gap:.5rem}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:.75rem}
.grow{flex:1;min-width:0}.ml-auto{margin-inline-start:auto}.gap1{gap:.25rem}.gap3{gap:.75rem}.mt2{margin-top:.5rem}.mt3{margin-top:.75rem}.mt4{margin-top:1rem}.mb3{margin-bottom:.75rem}
.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.ic{width:1rem;height:1rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.ic.lg{width:1.25rem;height:1.25rem}.ic.sky{color:var(--sky)}

/* ---- layout ---- */
.topnav{position:sticky;top:0;z-index:40;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 75%,transparent);backdrop-filter:blur(12px)}
.topnav .in{max-width:80rem;margin:0 auto;padding:.7rem 1rem;display:flex;align-items:center;gap:.75rem}
.brand{display:flex;align-items:center;gap:.5rem;font-weight:600;letter-spacing:-.02em;font-size:1.05rem}
.brand i{width:2rem;height:2rem;border-radius:.75rem;background:linear-gradient(to top right,var(--brand-a),var(--brand-b));display:block;box-shadow:0 4px 12px -4px var(--brand-b)}
.brand b{background:linear-gradient(90deg,var(--brand-a),var(--brand-b));-webkit-background-clip:text;background-clip:text;color:transparent}
.search{position:relative;flex:1;max-width:36rem}.search .ic{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);opacity:.6}.search input[type=search]{padding-left:2.25rem}   /* 1.4: beats the generic input[type=search] rule (icon overlapped the placeholder) */
.iconnav{display:none;align-items:center;gap:.25rem}@media(min-width:768px){.iconnav{display:flex}}
.avatar{width:2.5rem;height:2.5rem;border-radius:999px;background:linear-gradient(135deg,var(--sky-soft),#ede9fe);display:inline-flex;align-items:center;justify-content:center;font-weight:600;color:var(--fg);overflow:hidden;flex:none;font-size:.9rem}
.avatar img{width:100%;height:100%;object-fit:cover}.avatar.sm{width:2.25rem;height:2.25rem;font-size:.8rem}.avatar.xs{width:1.5rem;height:1.5rem;font-size:.65rem}.avatar.xl{width:6rem;height:6rem;font-size:2rem;border:4px solid var(--card)}
main.wrap{max-width:80rem;margin:0 auto;padding:0 1rem}
.grid3{display:grid;grid-template-columns:1fr;gap:1rem;padding-top:1.5rem}
@media(min-width:1024px){.grid3{grid-template-columns:18rem minmax(0,1fr)}}@media(min-width:1280px){.grid3{grid-template-columns:18rem minmax(0,1fr) 20rem}}
.rail{display:none}@media(min-width:1024px){.rail.left{display:block}}@media(min-width:1280px){.rail.right{display:block}}
.rail>.sticky{position:sticky;top:5rem;display:flex;flex-direction:column;gap:.75rem;max-height:calc(100vh - 6rem);overflow-y:auto;scrollbar-width:thin}
.center{display:flex;flex-direction:column;gap:1rem;min-width:0}
footer.site{margin-top:2.5rem;border-top:1px solid var(--border);padding:1.5rem 0;font-size:.75rem;color:var(--muted-fg)}
.mobilenav{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;justify-content:space-around;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(12px);padding:.4rem 0 max(.4rem,env(safe-area-inset-bottom))}
.mobilenav a{display:flex;flex-direction:column;align-items:center;gap:.1rem;font-size:.65rem;color:var(--muted-fg);padding:.25rem .75rem;border-radius:.5rem}.mobilenav a.active{color:var(--fg)}
@media(min-width:768px){.mobilenav{display:none}}@media(max-width:767px){body{padding-bottom:3.75rem}}

/* ---- primitives ---- */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow)}
.card.dashed{border-style:dashed}.card .hd{padding:1.25rem 1.25rem .5rem}.card .hd h3{font-size:1rem;font-weight:600}.card .bd{padding:0 1.25rem 1.25rem}.card .ft{padding:.5rem .75rem .75rem;display:flex;align-items:center;gap:.25rem}
.card .bd+.bd{padding-top:0}.p3{padding:.75rem}.p4{padding:1rem}.p5{padding:1.25rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:2.5rem;padding:0 1rem;border-radius:.5rem;border:1px solid transparent;background:var(--primary);color:var(--primary-fg);font-weight:500;font-size:.875rem;cursor:pointer;white-space:nowrap;transition:filter .15s,background .15s,transform .05s}
.btn:hover{filter:brightness(.92);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.btn.sm{height:2.25rem;padding:0 .75rem;font-size:.8rem}.btn.icon{width:2.5rem;padding:0}.btn.icon.sm{width:2.25rem}.btn.full{width:100%}
.btn.secondary{background:var(--muted);color:var(--fg)}.btn.outline{background:var(--card);border-color:var(--border);color:var(--fg)}.btn.ghost{background:transparent;color:var(--fg)}.btn.ghost:hover{background:var(--muted)}
.btn.brand{background:linear-gradient(90deg,var(--brand-a),var(--brand-b));color:#fff;border:0}.btn.danger{background:#e11d48;color:#fff}.btn.link{background:none;color:var(--link);padding:0;height:auto}
.btn.justify{justify-content:flex-start}.btn.active,.btn[aria-current]{background:var(--muted)}
.input,input[type=text],input[type=email],input[type=password],input[type=search],input[type=url],input[type=datetime-local],input[type=number],input[type=date],input[type=tel],textarea,select{width:100%;height:2.5rem;padding:0 .75rem;border:1px solid var(--border);border-radius:.5rem;background:var(--card);color:var(--fg)}
textarea{height:auto;min-height:3rem;padding:.6rem .75rem;resize:vertical}label{font-size:.85rem;font-weight:500}.field{display:flex;flex-direction:column;gap:.35rem}
.badge{display:inline-flex;align-items:center;gap:.25rem;border-radius:999px;padding:.1rem .6rem;font-size:.75rem;font-weight:600;background:var(--primary);color:var(--primary-fg);line-height:1.4}
.badge.secondary{background:var(--muted);color:var(--fg)}.badge.outline{background:transparent;border:1px solid var(--border);color:var(--fg);font-weight:500}.badge.ai{background:linear-gradient(90deg,var(--brand-a),var(--brand-b));color:#fff}
.badge.sky{background:var(--sky-soft);color:var(--link)}.badge.amber{background:#fef3c7;color:#92400e}.badge.emerald{background:#d1fae5;color:#065f46}
a.badge:hover{text-decoration:none;filter:brightness(.95)}
.tabs{display:inline-flex;background:var(--muted);border-radius:.5rem;padding:.25rem;gap:.15rem}
.tabs a,.tabs button{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:.375rem;font-size:.85rem;font-weight:500;color:var(--muted-fg);background:none;border:0;cursor:pointer}
.tabs .on{background:var(--card);color:var(--fg);box-shadow:var(--shadow)}.tabs a:hover{text-decoration:none;color:var(--fg)}
.sep{height:1px;background:var(--border);border:0;margin:.5rem 0}.sep.v{width:1px;height:1.5rem;margin:0 .25rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.menu{position:relative}.menu .pop{position:absolute;right:0;top:100%;margin-top:.25rem;min-width:11rem;background:var(--card);border:1px solid var(--border);border-radius:.5rem;box-shadow:var(--shadow-md);padding:.25rem;z-index:30}
.menu .pop a,.menu .pop button{display:block;width:100%;text-align:left;padding:.45rem .6rem;border-radius:.375rem;background:none;border:0;cursor:pointer;font-size:.85rem}.menu .pop a:hover,.menu .pop button:hover{background:var(--muted);text-decoration:none}
.menu .pop .lbl{padding:.35rem .6rem;font-size:.7rem;font-weight:600;color:var(--muted-fg);text-transform:uppercase}
.switch{appearance:none;width:2.25rem;height:1.25rem;border-radius:999px;background:var(--border);position:relative;cursor:pointer;transition:.15s}.switch:checked{background:var(--sky)}
.switch::after{content:"";position:absolute;top:2px;left:2px;width:1rem;height:1rem;border-radius:50%;background:#fff;transition:.15s}.switch:checked::after{left:1.1rem}
.toast{position:fixed;bottom:4.5rem;left:50%;transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:.6rem 1rem;border-radius:.6rem;box-shadow:var(--shadow-md);z-index:60;animation:fade 4s forwards}
@keyframes fade{0%,80%{opacity:1}100%{opacity:0}}
.progress{height:.4rem;background:var(--muted);border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--brand-a),var(--brand-b))}.progress.warn i{background:var(--amber)}.progress.over i{background:var(--rose)}
kbd{font:.75rem ui-monospace,monospace;background:var(--muted);border:1px solid var(--border);border-radius:.25rem;padding:0 .3rem}
.empty{padding:2rem;text-align:center;color:var(--muted-fg)}

/* ---- hero (per-page gradient like the mocks) ---- */
.hero{position:relative;overflow:hidden;border-radius:var(--r-xl);border:1px solid var(--border);padding:2rem 1.5rem}@media(min-width:768px){.hero{padding:2.5rem 2rem}}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(48px);pointer-events:none}
.hero::before{width:15rem;height:15rem;right:-4rem;top:-4rem}.hero::after{width:14rem;height:14rem;left:-2.5rem;bottom:-2.5rem}
.hero.home{background:linear-gradient(135deg,#f0f9ff,#fdf4ff)}.hero.home::before{background:rgba(125,211,252,.45)}.hero.home::after{background:rgba(240,171,252,.5)}
.hero.explore{background:linear-gradient(135deg,#f5f3ff,#ecfdf5)}.hero.explore::before{background:rgba(196,181,253,.45)}.hero.explore::after{background:rgba(167,243,208,.55)}
.hero.blogs{background:linear-gradient(135deg,#fffbeb,#f0f9ff)}.hero.blogs::before{background:rgba(253,230,138,.45)}.hero.blogs::after{background:rgba(186,230,253,.55)}
.hero.safety{background:linear-gradient(135deg,#fff1f2,#fffbeb)}.hero.safety::before{background:rgba(253,164,175,.45)}.hero.safety::after{background:rgba(253,230,138,.5)}
:root[data-theme=dark] .hero,:root:not([data-theme=light]) .hero{--_d:1}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .hero.home{background:linear-gradient(135deg,rgba(14,165,233,.1),rgba(217,70,239,.08))}:root:not([data-theme=light]) .hero.explore{background:linear-gradient(135deg,rgba(139,92,246,.1),rgba(16,185,129,.08))}:root:not([data-theme=light]) .hero.blogs{background:linear-gradient(135deg,rgba(245,158,11,.1),rgba(14,165,233,.08))}:root:not([data-theme=light]) .hero.safety{background:linear-gradient(135deg,rgba(244,63,94,.12),rgba(245,158,11,.08))}}
.hero .kicker{display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;color:var(--muted-fg);margin-bottom:.5rem}.hero p{max-width:42rem;color:var(--muted-fg);margin:.5rem 0 0}.hero .actions{margin-top:1rem;display:flex;gap:.5rem;flex-wrap:wrap}.hero>*{position:relative;z-index:1}

/* ---- feed cards ---- */
.post .who{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem .5rem}.post .name{display:flex;align-items:center;gap:.25rem;font-weight:500;font-size:.875rem}
.post .body{padding:0 1.25rem;display:flex;flex-direction:column;gap:.75rem}.post .text{line-height:1.6;white-space:pre-wrap;word-break:break-word}
.media{overflow:hidden;border-radius:var(--r);background:var(--muted);position:relative}.media img{width:100%;object-fit:cover;transition:transform .3s}.media.hover:hover img{transform:scale(1.01)}
.media .dur{position:absolute;right:.75rem;bottom:.75rem;background:rgba(0,0,0,.7);color:#fff;font-size:.7rem;padding:.15rem .5rem;border-radius:.3rem}
.media .play{position:absolute;left:.75rem;bottom:.75rem;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--card);color:var(--fg);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);border:0;cursor:pointer}
.media.grid2{display:grid;grid-template-columns:1fr 1fr;gap:2px;border-radius:var(--r)}.media.grid2 img{aspect-ratio:1;height:100%}
.post .quote{border:1px solid var(--border);border-radius:var(--r);padding:.75rem;background:var(--muted)}
.post .reason{font-size:.7rem;color:var(--muted-fg);display:flex;align-items:center;gap:.25rem;padding:0 1.25rem}
.post video{width:100%;border-radius:var(--r);background:#000;max-height:70vh}
.mention,.tag{color:var(--link);font-weight:500}
.comment{display:flex;gap:.6rem;padding:.6rem 0}.comment .bubble{display:block;background:var(--muted);border-radius:var(--r);padding:.5rem .75rem;flex:1;min-width:0;overflow-wrap:anywhere}.comment>.avatar{margin-top:.35rem;flex:none}.comment .replies{margin-left:2.75rem;border-left:2px solid var(--border);padding-left:.75rem}
.counter{font-size:.7rem;color:var(--muted-fg)}.counter.warn{color:var(--amber)}.counter.over{color:var(--rose);font-weight:600}
.unseen{display:flex;align-items:center;gap:.5rem;margin:.5rem 0;font-size:.75rem;color:var(--muted-fg)}.unseen hr{flex:1;border:0;height:1px;background:var(--border)}
.banner{border:1px solid #bae6fd;background:rgba(240,249,255,.6);border-radius:var(--r);padding:.75rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.875rem}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .banner{background:rgba(14,165,233,.1);border-color:rgba(14,165,233,.3)}}

/* ---- explore grids ---- */
.g2{display:grid;gap:.75rem;grid-template-columns:1fr}@media(min-width:640px){.g2{grid-template-columns:1fr 1fr}}.g3{display:grid;gap:.75rem;grid-template-columns:1fr}@media(min-width:640px){.g3{grid-template-columns:1fr 1fr}}@media(min-width:1280px){.g3{grid-template-columns:1fr 1fr 1fr}}
.g4{display:grid;gap:.75rem;grid-template-columns:1fr 1fr}@media(min-width:640px){.g4{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.g4{grid-template-columns:repeat(4,1fr)}}
.tile{overflow:hidden}.tile .cov{height:10rem;overflow:hidden;background:var(--muted)}.tile .cov.s{height:7rem}.tile .cov img{width:100%;height:100%;object-fit:cover}
.vmini{display:flex;align-items:center;gap:.75rem}.vmini .th{position:relative;width:6rem;height:3.5rem;border-radius:.5rem;overflow:hidden;flex:none;background:var(--muted)}.vmini .th img{width:100%;height:100%;object-fit:cover}.vmini .th .dur{right:.25rem;bottom:.25rem;padding:.05rem .35rem;font-size:.6rem}
.strip{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:thin}.strip>*{min-width:14rem;flex:none}
.series .th{display:flex;gap:.5rem;margin-top:.5rem}.series .th img{width:6rem;height:3.5rem;border-radius:.4rem;object-fit:cover}
.reels{display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}@media(min-width:768px){.reels{grid-template-columns:repeat(4,1fr)}}.reels .media{aspect-ratio:9/16}.reels img{height:100%}

/* ---- article ---- */
.reader{border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;background:var(--card)}.reader .top{position:sticky;top:3.6rem;z-index:10;background:color-mix(in srgb,var(--card) 80%,transparent);backdrop-filter:blur(8px);padding:.6rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem}
.reader .rp{position:sticky;top:3.6rem;z-index:11;height:4px;background:var(--muted)}.reader .rp i{display:block;height:100%;width:0;background:var(--sky);transition:width .1s}
.reader .cols{display:flex;flex-direction:column}@media(min-width:1024px){.reader .cols{flex-direction:row}}
.prose{flex:1;padding:1.25rem 1.25rem 2.5rem;max-width:48rem;margin:0 auto;font-size:1.05rem;line-height:1.75}.prose h1{font-size:2rem;margin:.5rem 0 1rem}.prose h2{font-size:1.4rem;margin:2rem 0 .75rem;scroll-margin-top:6rem}.prose h3{font-size:1.15rem;margin:1.5rem 0 .5rem}
.prose p{margin:0 0 1rem}.prose blockquote{border-left:3px solid var(--brand-b);margin:1.25rem 0;padding:.25rem 1rem;color:var(--muted-fg);font-style:italic}.prose pre{background:#0b0f19;color:#e5e7eb;padding:1rem;border-radius:var(--r);overflow:auto;font-size:.85rem}
.prose figure{margin:1.25rem 0}.prose figcaption{font-size:.8rem;color:var(--muted-fg);text-align:center;margin-top:.4rem}.prose img{border-radius:var(--r)}.prose iframe{width:100%;aspect-ratio:16/9;border:0;border-radius:var(--r)}
.toc{display:none;width:18rem;border-left:1px solid var(--border);padding:1.25rem}@media(min-width:1024px){.toc{display:block}}.toc>div{position:sticky;top:6rem}.toc .lbl{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-fg)}.toc nav{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.toc nav a{color:var(--muted-fg);font-size:.85rem}.toc nav a:hover{color:var(--fg)}

/* ---- chat (3-pane) ---- */
.chat{display:grid;grid-template-columns:1fr;gap:0;padding-top:1rem;height:calc(100vh - 4.5rem)}@media(min-width:1024px){.chat{grid-template-columns:18rem minmax(0,1fr);gap:1rem}}@media(min-width:1280px){.chat{grid-template-columns:18rem minmax(0,1fr) 20rem}}
.pane{display:flex;flex-direction:column;min-height:0;border:1px solid var(--border);border-radius:var(--r);background:var(--card);overflow:hidden}.pane.side{display:none}@media(min-width:1024px){.pane.side.l{display:flex}}@media(min-width:1280px){.pane.side.r{display:flex}}
.pane .ph{padding:.75rem;border-bottom:1px solid var(--border)}.pane .scroll{flex:1;overflow-y:auto;min-height:0}
.chatitem{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;border-radius:.5rem;background:none;border:0;text-align:left;cursor:pointer}.chatitem:hover,.chatitem.on{background:var(--muted);text-decoration:none}
.dot{width:.5rem;height:.5rem;border-radius:50%;background:#a1a1aa;display:inline-block}.dot.on{background:var(--emerald)}
.calldock{margin:.75rem 1rem 0;border:1px solid var(--border);border-radius:var(--r);padding:.5rem;background:color-mix(in srgb,var(--card) 80%,transparent);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.msgs{padding:.75rem;display:flex;flex-direction:column;gap:.75rem}
.bubble{display:flex}.bubble.me{justify-content:flex-end}.bubble .bx{max-width:70%;border-radius:1rem;padding:.5rem .75rem;background:var(--muted)}.bubble.me .bx{background:var(--sky-soft)}.bubble .meta{font-size:.7rem;color:var(--muted-fg);display:flex;gap:.5rem;align-items:center}
.bubble .acts{display:flex;gap:.1rem;margin-top:.35rem;opacity:.75}.bubble .acts .btn{height:1.75rem;padding:0 .5rem;font-size:.75rem}.bubble .rq{border-left:2px solid var(--sky);padding-left:.5rem;font-size:.8rem;color:var(--muted-fg);margin-bottom:.25rem}
.bubble.ai .bx{border:1px dashed var(--brand-b)}.capsule{margin:0 auto;width:fit-content;border-radius:999px;background:#fef3c7;color:#78350f;font-size:.75rem;padding:.25rem .75rem}
.composer{border-top:1px solid var(--border);padding:.5rem}.composer textarea{min-height:44px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
[x-cloak]{display:none!important}
/* ---- realtime badges, sheet dialog, incoming call ---- */
.nb{position:relative}.nbadge{position:absolute;top:.1rem;right:.1rem;min-width:1.05rem;height:1.05rem;padding:0 .25rem;border-radius:999px;background:var(--rose);color:#fff;font-size:.65rem;font-weight:700;line-height:1.05rem;text-align:center}.nbadge[hidden]{display:none}
.mobilenav .nb .nbadge{top:0;right:20%}
.toast+.toast{bottom:7.5rem}.toast.error{background:var(--rose);color:#fff}
.sheet{border:1px solid var(--border);border-radius:var(--r-xl,1rem);background:var(--card);color:var(--fg);padding:1rem;width:min(40rem,calc(100vw - 2rem));max-height:85vh;overflow:auto}.sheet::backdrop{background:rgba(0,0,0,.45)}
.sheet .sheet-hd{margin-bottom:.5rem}.only-sheet{display:none}.sheet .only-sheet{display:inline-flex}.sheet .scroll{overflow:visible}
.incoming{position:fixed;inset:auto 1rem 5rem auto;z-index:80;width:min(22rem,calc(100vw - 2rem));animation:pop .2s ease-out}.incoming .card{box-shadow:var(--shadow-md);border:2px solid var(--emerald)}
@media(max-width:640px){.incoming{inset:auto .75rem 4.5rem .75rem;width:auto}}@keyframes pop{from{transform:translateY(1rem);opacity:0}to{transform:none;opacity:1}}
.only-mobile{display:inline-flex}@media(min-width:1024px){.only-mobile{display:none}}
@media(max-width:1023px){.chat.noroom .pane.side.l{display:flex}.chat.noroom #room{display:none}}
/* ---- chat extras ---- */
.capsule.sys{background:var(--muted);color:var(--muted-fg);margin:.4rem auto}
.poll{display:flex;flex-direction:column;gap:.35rem;min-width:14rem}.pollopt{position:relative;display:flex;justify-content:space-between;gap:.5rem;padding:.4rem .6rem;border:1px solid var(--border);border-radius:.5rem;background:var(--card);cursor:pointer;overflow:hidden;text-align:left;color:var(--fg)}
.pollopt i{position:absolute;inset:0 auto 0 0;background:var(--sky-soft);z-index:0}.pollopt span{position:relative;z-index:1}.pollopt.on{border-color:var(--sky)}
.reacts{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.3rem}.chip{border:1px solid var(--border);background:var(--card);border-radius:999px;padding:0 .45rem;font-size:.8rem;cursor:pointer;color:var(--fg)}
.emoji-pop{display:flex;gap:.1rem;min-width:auto!important;left:0;right:auto}.emoji-pop button{font-size:1.1rem;width:auto!important;padding:.25rem!important}
.menu .pop.emoji-grid{display:grid;grid-template-columns:repeat(9,2rem);gap:.1rem;min-width:auto!important;left:0;right:auto}.emoji-grid button{font-size:1.15rem;padding:.2rem!important;text-align:center!important}.menu .pop.up{top:auto;bottom:100%;margin-bottom:.25rem}
.vault-cipher{font-style:italic;color:var(--muted-fg)}.vault-cipher.decrypted{font-style:normal;color:var(--fg);white-space:pre-wrap}
.transcript{margin-top:.25rem;font-style:italic}.tr:empty{display:none}.tr{margin-top:.25rem;border-left:2px solid var(--brand-b);padding-left:.4rem}
.callrow{flex-wrap:wrap;gap:.35rem}.msgs.thread{display:flex;flex-direction:column;gap:.5rem}
/* ---- call page ---- */
.callpage{display:flex;flex-direction:column;gap:.75rem;padding:1rem 0;min-height:calc(100vh - 6rem)}
.callhead{gap:.5rem;flex-wrap:wrap}
.stage{flex:1;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));align-content:start;min-height:18rem}
#stage .tile{position:relative;background:#18181b;border-radius:var(--r,.75rem);overflow:hidden;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;border:2px solid transparent}
#stage .tile.speaking{border-color:var(--emerald)}#stage .tile.screen{grid-column:1/-1;aspect-ratio:auto;min-height:20rem;background:#000}
#stage .tile video{width:100%;height:100%;object-fit:cover}#stage .tile.screen video{object-fit:contain}#stage .tile video.mirror{transform:scaleX(-1)}
#stage .tile .name{position:absolute;left:.5rem;bottom:.5rem;z-index:2;background:rgba(0,0,0,.55);color:#fff;font-size:.75rem;padding:.1rem .5rem;border-radius:999px}
#stage .tile.muted .name::after{content:" 🔇"}#stage .tile .ph-avatar{width:4.5rem;height:4.5rem;border-radius:50%;background:linear-gradient(135deg,var(--brand-a),var(--brand-b));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:600}
#stage .tile.has-video .ph-avatar{display:none}#stage .tile audio{display:none}
.captions{align-self:center;max-width:48rem;background:rgba(0,0,0,.75);color:#fff;border-radius:.6rem;padding:.5rem .9rem;font-size:1rem;line-height:1.4}
.controls{justify-content:center;flex-wrap:wrap;gap:.5rem;position:sticky;bottom:4rem;background:color-mix(in srgb,var(--bg) 80%,transparent);padding:.5rem;border-radius:999px}
.btn.round{border-radius:999px}.btn.round.off{background:var(--rose);color:#fff}.btn.round.on{background:var(--emerald);color:#fff}
.callnote{text-align:center;min-height:1.2em}.txt-center{text-align:center}   /* 1.4: was .center, which also matched the layout column (slides 1–3 misalignment) */
#stage .tile:not(.has-video) video{display:none}#stage .tile.screen video{display:block}
.vph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;aspect-ratio:16/9;background:var(--muted);color:var(--muted-fg);border-radius:.6rem}.cbtn{height:1.6rem;padding:0 .4rem}.listen audio{width:100%;margin:.5rem 0}figure{margin:1rem 0}figure img{border-radius:.6rem}
/* ---- phone width fixes (390px): no horizontal page scroll ---- */
.tabs{max-width:100%;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs>*{flex:0 0 auto}
.mobilenav a{padding:.25rem .35rem;flex:1 1 0;min-width:0}
.card.dashed .row,.card.dashed>.row{flex-wrap:wrap}
.strip{max-width:100%}.strip>.series{flex:0 0 auto;max-width:15rem}
.center{min-width:0}
@media(max-width:640px){.tile .ft{flex-wrap:wrap}.hero h1{font-size:1.35rem}}
/* calls: level meter, reconnecting state, quality hint, captions partials, settings, fallback banner */
#stage .tile .lvl{position:absolute;left:0;bottom:0;height:3px;width:calc(var(--lvl,0)*100%);background:var(--emerald);transition:width .25s;z-index:3}
#stage .tile.reconnecting{opacity:.55}#stage .tile.reconnecting .name::after{content:" · reconnecting…"}
#stage .tile .q{position:absolute;right:.5rem;top:.5rem;z-index:2;font-size:.7rem;color:#fbbf24}
#stage .tile[data-quality="1"],#stage .tile[data-quality="2"]{border-color:#f59e0b}
.captions .cap.partial{opacity:.7;font-style:italic}
.callsettings{max-width:42rem;margin:.75rem auto 0;gap:.6rem}.callsettings select{width:100%}
#call-banner[data-level="warn"]{border-color:#f59e0b}
#call-mode[data-level="3"],#call-mode[data-level="4"],#call-mode[data-level="5"]{border-color:#f59e0b;color:#b45309}
/* ---- bot check (apps/humancheck) ---- */
.hc{display:flex;flex-direction:column;gap:.35rem;text-align:left}.hc[data-state=ok] .hc-status{color:var(--green,#15803d)}.hc[data-state=error] .hc-status{color:var(--rose)}
.hc details.hc-alt summary{cursor:pointer;color:var(--link)}.hc-dialog{max-width:26rem;width:calc(100% - 2rem);border:1px solid var(--line,#ddd)}.hc-dialog::backdrop{background:rgba(0,0,0,.45)}
/* ---- 1.4 connections pages ---- */
.countlink{color:inherit}.countlink:hover b,.countlink:focus-visible b{text-decoration:underline}
.people .person{align-items:center;padding:.35rem 0;border-bottom:1px solid var(--line,#eee)}.people .person:last-child{border-bottom:0}
.btn.icon.active{color:var(--sky,#0284c7)}
/* ---- 1.4 adaptive photo galleries (feed, composer preview, Create › Photo): 1 full width · 2 side by side ·
   3 one large + two · 4 a 2×2 grid · 5+ a 2×2 grid with "+N" on the last tile (slides 1 and 5) ---- */
.gallery{display:grid;gap:.25rem;border-radius:.6rem;overflow:hidden;background:var(--muted)}
.gallery>*{position:relative;display:block;min-width:0;min-height:0;overflow:hidden}
.gallery img{width:100%;height:100%;object-fit:cover;display:block}
/* 1.4 gallery layouts (§36): 1 scaled · 2 side by side · 3 mosaic · 4 grid · 5+ two-over-three with an overflow count.
   data-shape (portrait / landscape / mixed) picks tile proportions so photos are cropped no harder than needed. */
.gallery[data-n="1"]{grid-template-columns:1fr;background:none;justify-items:center}
/* one photo: its own aspect ratio, reserved before it loads (width/height from the server), at most 34rem tall */
.gallery[data-n="1"]>a{aspect-ratio:var(--w,4)/var(--h,3);width:min(100%,calc(34rem * var(--w,4) / var(--h,3)));max-height:34rem;border-radius:.6rem}
.gallery[data-n="1"] img{width:100%;height:100%;object-fit:contain}
.gallery[data-n="2"]{grid-template-columns:1fr 1fr;aspect-ratio:3/2}
.gallery[data-n="2"][data-shape="portrait"]{aspect-ratio:4/3}.gallery[data-n="2"][data-shape="landscape"]{aspect-ratio:2/1}
.gallery[data-n="3"]{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;aspect-ratio:3/2}.gallery[data-n="3"]>:first-child{grid-row:1/3}
.gallery[data-n="3"][data-shape="landscape"]{grid-template-columns:1fr 1fr;grid-template-rows:2fr 1fr;aspect-ratio:1/1}
.gallery[data-n="3"][data-shape="landscape"]>:first-child{grid-row:auto;grid-column:1/3}
.gallery[data-n="4"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;aspect-ratio:1/1}
.gallery[data-n="4"][data-shape="landscape"]{aspect-ratio:3/2}.gallery[data-n="4"][data-shape="portrait"]{aspect-ratio:4/5}
.gallery[data-n="5"]{grid-template-columns:repeat(6,1fr);grid-template-rows:3fr 2fr;aspect-ratio:1/1}
.gallery[data-n="5"]>:nth-child(-n+2){grid-column:span 3}.gallery[data-n="5"]>:nth-child(n+3){grid-column:span 2}
.gallery[data-n="5"][data-shape="landscape"]{aspect-ratio:4/3}
.gallery>:nth-child(n+6){display:none}
.gallery .cap{position:absolute;left:0;right:0;bottom:0;padding:1.2rem .5rem .35rem;color:#fff;font-size:.75rem;line-height:1.25;
  background:linear-gradient(transparent,rgba(0,0,0,.6));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.gallery .more+.cap,.gallery .cap:has(+.more){display:none}
.gcap{margin:.35rem 0 0;text-align:center}
.gallery .more{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.45);color:#fff;font-size:1.6rem;font-weight:600}
.gallery .rm{position:absolute;top:.35rem;right:.35rem;width:1.8rem;height:1.8rem;border-radius:999px;border:0;background:rgba(0,0,0,.6);color:#fff;cursor:pointer;display:grid;place-items:center;font-size:1rem;line-height:1}
.gallery .rm:focus-visible{outline:2px solid #fff;outline-offset:1px}
.vmini .th .ph{display:grid;place-items:center;width:100%;height:100%;color:var(--muted-fg)}   /* 1.4: no poster yet → placeholder, not a broken image */
/* ---- 1.4 content warnings picker + chips (slide 1) ---- */
.cw{display:flex;flex-direction:column;gap:.4rem}.cw-pop{min-width:17rem;max-width:22rem;padding:.6rem;display:flex;flex-direction:column;gap:.35rem}
.menu .pop.cw-pop{left:0;right:auto;max-height:min(70vh,28rem);overflow:auto}.menu .pop .info-dot{display:inline-grid;width:1.15rem;height:1.15rem;padding:0;flex:none;text-align:center;border:1px solid var(--border);border-radius:999px;background:var(--card)}
.cw-opt{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cw-opt label{cursor:pointer}
.info-dot{width:1.15rem;height:1.15rem;border-radius:999px;border:1px solid var(--border);background:var(--card);font:600 .7rem/1 inherit;display:inline-grid;place-items:center;cursor:pointer;color:var(--muted-fg)}
.cw-info{background:var(--muted);border-radius:.4rem;padding:.4rem .5rem;margin:0}.cw-sub{padding-left:1.6rem;display:flex;flex-direction:column;gap:.2rem}
.chip{position:relative;display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .65rem;border:1px solid var(--border);border-radius:999px;font-size:.8rem;background:var(--card)}
.chip .chip-x{position:absolute;top:-.45rem;right:-.45rem;width:1.1rem;height:1.1rem;border-radius:999px;border:1px solid var(--border);background:var(--card);font-size:.75rem;line-height:1;display:grid;place-items:center;cursor:pointer;padding:0}
.cw-chips{gap:.6rem;padding-top:.3rem}
.wtags{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.wtag{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;padding:.1rem .5rem;border-radius:999px;background:var(--muted);color:var(--fg)}
.wtag.mature{background:#fde2e2;color:#9f1239}.wtag.ai{background:#e0e7ff;color:#3730a3}
.cover{position:relative}.cover>.veil{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;background:rgba(15,23,42,.45);color:#fff;text-align:center;padding:1rem;border-radius:.6rem;z-index:2}
.cover.revealed>.veil{display:none}.post .wtags{padding:0 1.25rem .6rem}.post .body.cover>.veil{inset:0 .75rem}
.btn.static{cursor:default}.btn.static:hover{background:none}.cover>.veil{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(15,23,42,.62)}.cover img[data-covered]{filter:blur(2px)}.cover.revealed img[data-covered]{filter:none}
/* 1.4 groups */
.gcards{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem}
.gcard{border:1px solid var(--border);border-radius:var(--r);padding:.85rem;background:var(--card);display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.gcard:hover{border-color:var(--sky)}.gcard a:hover{text-decoration:none}
.gicon{width:2.75rem;height:2.75rem;border-radius:.75rem;flex:none;display:grid;place-items:center;overflow:hidden;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--brand-a),var(--brand-b))}
.gicon img{width:100%;height:100%;object-fit:cover}.gicon.lg{width:4.5rem;height:4.5rem;border-radius:1rem;font-size:1.5rem;border:3px solid var(--card)}
.gcover{height:9rem;background:linear-gradient(135deg,var(--sky-soft),#ede9fe);overflow:hidden}.gcover img{width:100%;height:100%;object-fit:cover;display:block}
.gcover.sm{height:5rem;border-radius:var(--r);border:1px dashed var(--border)}
.gdl{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1rem;margin:0}.gdl dt{color:var(--muted-fg)}.gdl dd{margin:0}
.gevent{display:flex;gap:.85rem;align-items:flex-start;border-top:1px solid var(--border);padding-top:.75rem}.gevent.cancelled{opacity:.65}
.gdate{flex:none;width:3.2rem;border:1px solid var(--border);border-radius:.6rem;text-align:center;padding:.3rem 0;display:flex;flex-direction:column;line-height:1.1}
.gdate b{font-size:1.25rem}.gdate span{font-size:.7rem;text-transform:uppercase;color:var(--muted-fg)}
.gphotos{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.4rem}.gphotos a{aspect-ratio:1;border-radius:.5rem;overflow:hidden;background:var(--muted);display:grid;place-items:center}
.gphotos img{width:100%;height:100%;object-fit:cover}.gp-veil{font-size:.7rem;color:var(--muted-fg);padding:.4rem;text-align:center}
.gaudit{width:100%;border-collapse:collapse}.gaudit th{text-align:left;font-weight:600;font-size:.75rem;color:var(--muted-fg)}.gaudit td,.gaudit th{padding:.35rem .4rem;border-bottom:1px solid var(--border);vertical-align:top}
.joinbox>summary{list-style:none;cursor:pointer}.joinbox>summary::-webkit-details-marker{display:none}.joinbox[open]>form{position:absolute;right:1rem;z-index:20;max-width:22rem;margin-top:.4rem}
fieldset{border:1px solid var(--border);border-radius:var(--r);padding:.6rem .85rem;margin:0}
/* 1.4 share */
.refp{display:flex;flex-direction:column;gap:.35rem;color:inherit}.refp:hover{text-decoration:none;border-color:var(--sky)}
.refp-img{width:100%;max-height:14rem;object-fit:cover;border-radius:.5rem}.refp-veil{border-radius:.5rem;background:var(--muted);padding:1rem;text-align:center;color:var(--muted-fg)}
.clamp3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.menu .pop.share-pop{left:0;right:auto;min-width:13rem}.menu .pop.share-pop button{display:flex;align-items:center;gap:.5rem}
.quote.refp,.sheet .quote{border:1px solid var(--border);border-radius:var(--r);padding:.75rem;background:var(--muted)}.quote.refp{display:flex}
/* 1.4 quotes */
.qbar{position:absolute;z-index:60;display:flex;gap:.15rem;background:var(--fg);color:var(--bg);border-radius:.6rem;padding:.2rem;box-shadow:var(--shadow-md)}
.qbar button{background:none;border:0;color:inherit;font-size:.8rem;padding:.4rem .6rem;border-radius:.4rem;cursor:pointer;white-space:nowrap}.qbar button:hover,.qbar button:focus-visible{background:rgba(255,255,255,.15)}
.qlist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}
.qitem{border:1px solid var(--border);border-radius:var(--r);padding:.6rem .75rem;display:flex;flex-direction:column;gap:.4rem;background:var(--card)}
.qitem blockquote{border-left:3px solid var(--sky);padding-left:.6rem;font-size:.9rem}.qitem.off{opacity:.7}.qlist .qitem{cursor:grab}
/* 1.4 rich text — rendered documents (.rd) */
.rd>*:first-child{margin-top:0}.rd>*:last-child{margin-bottom:0}.rd p{margin:.4rem 0;line-height:1.65}.rd .al-center{text-align:center}.rd .al-right{text-align:right}.rd .al-justify{text-align:justify}
.rd ul,.rd ol{padding-left:1.4rem;margin:.4rem 0}.rd blockquote{border-left:3px solid var(--border);margin:.6rem 0;padding:.1rem .9rem;color:var(--muted-fg)}
.rd pre{background:var(--muted);border-radius:.5rem;padding:.75rem;overflow-x:auto;font-size:.85rem}.rd code{background:var(--muted);border-radius:.25rem;padding:0 .25rem;font-size:.9em}.rd pre code{background:none;padding:0}
.rd hr{border:0;border-top:1px solid var(--border);margin:1.2rem 0}.rd a{color:var(--link);text-decoration:underline}
.rd::after,.rd-long::after{content:"";display:table;clear:both}
.rd figure{margin:1rem 0}.rd figcaption{font-size:.8rem;color:var(--muted-fg);margin-top:.35rem;text-align:center}
.rd-img img{display:block;width:100%;height:auto;border-radius:.6rem}.rd-img{width:var(--w,100%)}
.rd-img.al-center{margin-left:auto;margin-right:auto}.rd-img.al-left{float:left;margin:.3rem 1.25rem .8rem 0;max-width:60%}.rd-img.al-right{float:right;margin:.3rem 0 .8rem 1.25rem;max-width:60%}
.rd-img.al-inline{display:inline-block;vertical-align:top;margin:.3rem .5rem .3rem 0}.rd-img.al-wide,.rd-video.al-wide,.rd-embed.al-wide{width:100%}
.rd-img.al-full,.rd-video.al-full,.rd-embed.al-full{width:auto;margin-left:-1.25rem;margin-right:-1.25rem}.rd-img.al-full img{border-radius:0}
.rd-img[data-ratio="1:1"] img{aspect-ratio:1}.rd-img[data-ratio="4:3"] img{aspect-ratio:4/3}.rd-img[data-ratio="3:2"] img{aspect-ratio:3/2}.rd-img[data-ratio="16:9"] img{aspect-ratio:16/9}
.rd-img.fit-cover img{object-fit:cover}.rd-img.fit-contain img{object-fit:contain;background:var(--muted)}
.rd-gallery>div{display:grid;gap:.35rem;grid-template-columns:repeat(2,1fr)}.rd-gallery[data-n="1"]>div{grid-template-columns:1fr}.rd-gallery[data-n="3"]>div{grid-template-columns:repeat(3,1fr)}
.rd-gallery figure{margin:0}.rd-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:.4rem;display:block}
.rd-video,.rd-embed{width:var(--w,100%)}.rd-video.al-center,.rd-embed.al-center{margin-left:auto;margin-right:auto}
.rd-video.al-left,.rd-embed.al-left{float:left;margin:.3rem 1.25rem .8rem 0;max-width:60%}.rd-video.al-right,.rd-embed.al-right{float:right;margin:.3rem 0 .8rem 1.25rem;max-width:60%}
.rd-video video{width:100%;border-radius:.6rem;background:#000;display:block}.rd-video[data-ratio="9:16"] video{aspect-ratio:9/16;max-height:80vh}
.rd-embed .emb,.rd-embed iframe{width:100%;border:0;border-radius:.6rem;display:block}
.rd-embed.kind-video .emb,.rd-embed.kind-video iframe{aspect-ratio:16/9}.rd-embed[data-ratio="4:3"] .emb,.rd-embed[data-ratio="4:3"] iframe{aspect-ratio:4/3}
.rd-embed[data-ratio="1:1"] .emb,.rd-embed[data-ratio="1:1"] iframe{aspect-ratio:1}.rd-embed[data-ratio="9:16"] .emb,.rd-embed[data-ratio="9:16"] iframe{aspect-ratio:9/16;max-height:80vh}
.rd-embed.kind-audio iframe{height:166px}.rd-embed .emb{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:1rem;text-align:center;background:linear-gradient(135deg,#0f172a,#334155);color:#e2e8f0}
.rd-embed.kind-audio .emb{min-height:7rem;background:linear-gradient(135deg,#1e1b4b,#0f766e)}.rd-embed .emb a{color:#bae6fd}.rd-embed .emb-load{border:0;border-radius:999px;padding:.55rem 1.1rem;font-weight:600;cursor:pointer;background:#fff;color:#0f172a}
.rd-audio audio{width:100%}
.rd-table{overflow-x:auto;margin:1rem 0}.rd-table table,.rt-edit table{border-collapse:collapse;width:100%;font-size:.9rem}.rd-table td,.rd-table th,.rt-edit td,.rt-edit th{border:1px solid var(--border);padding:.4rem .55rem;vertical-align:top}
.rd-table th,.rt-edit th{background:var(--muted);text-align:left}
/* pull quotes (slide 7) */
.pullquote{margin:.5rem 0 1rem;padding:.6rem 0;border-top:3px solid var(--brand-b,#8b5cf6);border-bottom:1px solid var(--border)}
.pullquote blockquote{border:0;margin:0;padding:0;color:var(--fg)}.pullquote p{font-size:1.3rem;line-height:1.35;font-weight:600;margin:0;font-style:italic}
.pullquote cite{display:block;font-size:.8rem;color:var(--muted-fg);margin-top:.4rem;font-style:normal}
.pullquote.pq-left{float:left;width:42%;margin:.3rem 1.5rem .8rem 0}.pullquote.pq-right{float:right;width:42%;margin:.3rem 0 .8rem 1.5rem}.pullquote.pq-center{text-align:center;margin:1.2rem 8%}
@media(max-width:640px){.rd-img.al-left,.rd-img.al-right,.rd-video.al-left,.rd-video.al-right,.rd-embed.al-left,.rd-embed.al-right,.pullquote.pq-left,.pullquote.pq-right{float:none;width:auto;max-width:100%;margin:.8rem 0}
 .rd-img.al-inline{display:block;width:100%}.pullquote.pq-center{margin:1rem 0}.rd-img.al-full,.rd-video.al-full,.rd-embed.al-full{margin-left:-1rem;margin-right:-1rem}}
/* link cards */
.lcard{display:flex;gap:.75rem;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;color:inherit;background:var(--card);position:relative}.lcard:hover{text-decoration:none;border-color:var(--sky)}
.lc-img{width:8.5rem;flex:none;object-fit:cover;background:var(--muted)}.lc-body{display:flex;flex-direction:column;gap:.15rem;padding:.6rem .75rem;min-width:0}
.lc-x{position:absolute;top:.3rem;right:.3rem}.composer-card{margin-top:.25rem}.lp-slot:empty{display:none}
@media(max-width:520px){.lcard{flex-direction:column}.lc-img{width:100%;max-height:11rem}}
/* editors */
.rt-hidden{display:none!important}.rt{border:1px solid var(--border);border-radius:.6rem;background:var(--card)}.rt:focus-within{border-color:var(--sky);box-shadow:0 0 0 3px rgba(14,165,233,.15)}
.rt-bar{display:flex;flex-wrap:wrap;gap:.1rem;align-items:center;padding:.25rem;border-bottom:1px solid var(--border);position:relative}
.rt-b{min-width:2rem;height:2rem;border:0;background:none;border-radius:.4rem;cursor:pointer;color:var(--fg);font-size:.85rem;padding:0 .35rem}
.rt-b:hover{background:var(--muted)}.rt-b.on{background:var(--sky-soft,#e0f2fe);color:var(--sky,#0369a1)}.rt-b:focus-visible{outline:2px solid var(--sky)}
.rt-bold{font-weight:700}.rt-it{font-style:italic}.rt-u{text-decoration:underline}.rt-s{text-decoration:line-through}
.rt-sep{width:1px;height:1.3rem;background:var(--border);margin:0 .2rem}.rt-sel{width:auto;height:2rem;font-size:.8rem;padding:0 .4rem}
.rt-pop{position:absolute;z-index:40;top:100%;left:.25rem;background:var(--card);border:1px solid var(--border);border-radius:.5rem;box-shadow:var(--shadow-md);padding:.35rem;display:flex;flex-wrap:wrap;gap:.2rem;max-width:18rem}
.rt-pop[hidden]{display:none}.rt-pop button{border:0;background:none;font-size:1.1rem;cursor:pointer;border-radius:.3rem;padding:.15rem .25rem}.rt-pop button:hover{background:var(--muted)}
.rt-link{max-width:24rem;width:calc(100% - .5rem);align-items:center}.rt-link input{flex:1;min-width:10rem;height:2rem}.rt-link .btn{font-size:.8rem}
.rt-host{position:relative}.rt-edit{min-height:4.5rem;padding:.6rem .75rem;outline:none;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}
.rt-simple .rt-edit p{margin:0 0 .35rem}.rt-host.empty .rt-edit>p:first-child::before{content:attr(data-placeholder);color:var(--muted-fg);float:left;height:0;pointer-events:none}
.rt-edit[data-placeholder] p:only-child:empty::before{content:attr(data-placeholder)}
.rt-adv .rt-edit{min-height:22rem;padding:1rem 1.25rem}.rt-adv .rt-edit::after{content:"";display:table;clear:both}
.ProseMirror{position:relative}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-selectednode{outline:2px solid var(--sky)}
.ProseMirror-gapcursor{display:none;pointer-events:none;position:absolute}.ProseMirror-gapcursor:after{content:"";display:block;position:absolute;top:-2px;width:20px;border-top:1px solid var(--fg);animation:pm-cursor 1.1s steps(2,start) infinite}
.ProseMirror-focused .ProseMirror-gapcursor{display:block}@keyframes pm-cursor{to{visibility:hidden}}
.rt-edit .tableWrapper{overflow-x:auto}.rt-edit .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background:var(--sky);pointer-events:none}.rt-edit .selectedCell{background:rgba(14,165,233,.12)}
.rt-edit td,.rt-edit th{position:relative}
.rt-ins{gap:.3rem;padding:.4rem}.rt-ins .btn{font-size:.78rem}.rt-table{background:var(--muted)}.rt-modes{padding:.35rem .5rem;border-bottom:1px solid var(--border)}.rt-status{margin-inline-start:auto}
.rt-media{position:relative;border:1px dashed transparent;border-radius:.6rem;padding:.25rem}.rt-media:hover,.rt-media.sel{border-color:var(--sky)}
.rt-mbar{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;font-size:.75rem;margin-bottom:.3rem}.rt-mbar select{width:auto;height:1.8rem;font-size:.75rem;padding:0 .3rem}.rt-mbar input[type=range]{width:7rem}
.rt-cap{height:2rem!important;font-size:.8rem!important;margin-top:.3rem}.rt-ph{padding:1.2rem;background:var(--muted);border-radius:.5rem;text-align:center;font-size:.85rem;color:var(--muted-fg)}
.rt-gal{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem}.rt-gal img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:.3rem}
.rt-drag{position:absolute;left:-1.1rem;top:.3rem;cursor:grab;color:var(--muted-fg);font-size:.9rem}.rt-pq{position:relative}.rt-pq .rt-mbar .on{background:var(--muted)}
.rt-full{position:fixed;inset:0;z-index:80;border-radius:0;overflow:auto;display:flex;flex-direction:column}.rt-full .rt-host{flex:1;max-width:48rem;margin:0 auto;width:100%}
html.rt-noscroll{overflow:hidden}.rt-preview{padding:1rem 1.25rem}.rt-recover{margin:.5rem}
.audiopost{display:flex;gap:.85rem;align-items:center;border:1px solid var(--border);border-radius:var(--r);padding:.6rem;background:linear-gradient(135deg,rgba(14,165,233,.06),rgba(139,92,246,.08))}
.ap-art{width:4.5rem;height:4.5rem;border-radius:.6rem;object-fit:cover;flex:none}.ap-ph{display:grid;place-items:center;background:var(--muted);color:var(--muted-fg)}.audiopost audio{width:100%}
.reader .cols>*{min-width:0}.reader .cols>.prose{width:100%;box-sizing:border-box}.prose{min-width:0;overflow-wrap:anywhere}.rd iframe,.rd video,.rd img{max-width:100%}
.ccomp select.input{max-width:100%;min-width:0;flex:1 1 12rem}

/* ---------------------------------------------------------------- 1.4 multi-photo composer (§36) */
.dropzone{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:1rem;border:1.5px dashed var(--border);border-radius:var(--r);background:var(--card)}
.dropzone.on{border-color:var(--sky);background:var(--sky-soft)}
.pgrid{list-style:none;margin:.75rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:.75rem}
.ptile{display:flex;flex-direction:column;gap:.4rem;padding:.5rem;border:1px solid var(--border);border-radius:var(--r);background:var(--card);min-width:0}
.ptile.dragging{opacity:.45}.ptile.over{outline:2px dashed var(--sky);outline-offset:2px}
.ptile.err{border-color:var(--rose)}
.pimg{position:relative;aspect-ratio:4/3;border-radius:.5rem;overflow:hidden;background:var(--muted);cursor:grab}
.pimg img{width:100%;height:100%;object-fit:contain;display:block}
.pimg .pcover{position:absolute;top:.35rem;left:.35rem;background:var(--primary);color:var(--primary-fg);font-size:.7rem;padding:.1rem .45rem;border-radius:999px}
.pimg .pidx{position:absolute;top:.35rem;right:.35rem;background:rgba(0,0,0,.6);color:#fff;font-size:.7rem;padding:.1rem .45rem;border-radius:999px}
.pimg .pprog{position:absolute;left:.5rem;right:.5rem;bottom:.5rem;height:.35rem;border-radius:999px;background:rgba(255,255,255,.6);overflow:hidden}
.pimg .pprog i{display:block;height:100%;background:linear-gradient(90deg,var(--brand-a),var(--brand-b))}
.pimg .perr{position:absolute;inset:auto .4rem .4rem;font-size:.72rem;background:var(--rose);color:#fff;padding:.15rem .4rem;border-radius:.35rem}
.ptools{display:flex;flex-wrap:wrap;gap:.25rem}.ptools .btn{height:1.9rem;padding:0 .5rem;font-size:.78rem}
.ptile input[type=text]{height:2rem;font-size:.82rem}
.gprev{margin-top:.75rem;max-width:36rem}
/* ---------------------------------------------------------------- 1.4 photo / video / reel editors (§23–24) */
.me-dialog{width:min(56rem,calc(100vw - 1rem))}
.me-stage{position:relative;margin:0 auto;touch-action:none;user-select:none;max-width:100%}
.me-canvas{display:block;width:100%;height:100%}
.me-crop{position:absolute;box-shadow:0 0 0 9999px rgba(0,0,0,.5);outline:2px solid #fff;cursor:move;touch-action:none}
.me-crop:focus-visible{outline:3px solid var(--sky)}
.me-crop::before,.me-crop::after{content:"";position:absolute;inset:33.33% 0;border-top:1px solid rgba(255,255,255,.45);border-bottom:1px solid rgba(255,255,255,.45);pointer-events:none}
.me-crop::after{inset:0 33.33%;border:0;border-left:1px solid rgba(255,255,255,.45);border-right:1px solid rgba(255,255,255,.45)}
.me-h{position:absolute;width:1.1rem;height:1.1rem;background:#fff;border-radius:.2rem;box-shadow:0 0 0 1px rgba(0,0,0,.4)}
.me-nw{left:-.55rem;top:-.55rem;cursor:nwse-resize}.me-ne{right:-.55rem;top:-.55rem;cursor:nesw-resize}
.me-sw{left:-.55rem;bottom:-.55rem;cursor:nesw-resize}.me-se{right:-.55rem;bottom:-.55rem;cursor:nwse-resize}
.me-panel{border:1px solid var(--border);border-radius:var(--r);padding:.75rem;background:var(--card)}
.me-vstage{position:relative;overflow:hidden;border-radius:.4rem;background:#000;margin:0 auto;max-width:100%;touch-action:none}
.me-vstage .me-video{position:absolute;left:50%;top:50%;max-width:none;transform:translate(-50%,-50%) rotate(var(--rot,0deg))}
.me-texts{position:absolute;pointer-events:none;overflow:hidden;z-index:3}
.me-play{min-width:2.6rem}
.me-guide{position:absolute;box-shadow:0 0 0 9999px rgba(0,0,0,.45);outline:2px dashed rgba(255,255,255,.85);pointer-events:none;z-index:2}
.me-text{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;cursor:move;font-weight:700;line-height:1.15;white-space:pre;touch-action:none;
  text-shadow:0 1px 2px rgba(0,0,0,.7)}
.me-text.box{background:rgba(0,0,0,.45);padding:.1em .35em;border-radius:.2em;text-shadow:none}
.me-timeline{position:relative;height:3rem;border-radius:.5rem;background:var(--muted);cursor:pointer;touch-action:none}
.me-seg{position:absolute;top:.35rem;bottom:.35rem;border:0;border-radius:.35rem;background:linear-gradient(90deg,rgba(14,165,233,.55),rgba(139,92,246,.55));padding:0;cursor:pointer}
.me-seg.sel{outline:2px solid var(--fg);outline-offset:1px}
.me-trim{position:absolute;top:0;bottom:0;width:.7rem;background:var(--fg);cursor:ew-resize;touch-action:none}
.me-trim.l{left:0;border-radius:.35rem 0 0 .35rem}.me-trim.r{right:0;border-radius:0 .35rem .35rem 0}
.me-playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--rose);pointer-events:none;z-index:2}
.me-trow input[type=text]{flex:1 1 10rem;min-width:8rem}
.me-result video{width:100%;max-height:60vh;border-radius:.5rem;background:#000}.me-result video.reel{max-width:22rem;margin:0 auto;display:block}
.danger-text{color:var(--rose);font-weight:600}
.gate-note{padding:.5rem .75rem;border-radius:.5rem;background:var(--sky-soft);font-size:.82rem}
/* ---------------------------------------------------------------- 1.4 photo viewer */
.lightbox{border:0;padding:0;margin:auto;width:100vw;height:100vh;max-width:100vw;max-height:100vh;background:rgba(0,0,0,.92);color:#fff}
.lightbox[open]{display:grid;grid-template-columns:3rem 1fr 3rem;grid-template-rows:1fr auto;align-items:center}
.lightbox::backdrop{background:rgba(0,0,0,.6)}
.lightbox figure{margin:0;grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;height:100%}
.lightbox img{max-width:100%;max-height:calc(100vh - 7rem);object-fit:contain}
.lb-cap{margin:.6rem 1rem 0;font-size:.9rem;text-align:center;max-width:48rem}
.lb-nav{grid-row:1;width:2.6rem;height:2.6rem;border-radius:999px;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:1.6rem;cursor:pointer;justify-self:center}
.lb-prev{grid-column:1}.lb-next{grid-column:3}
.lb-x{position:fixed;top:.75rem;right:.75rem;width:2.4rem;height:2.4rem;border-radius:999px;border:0;background:rgba(255,255,255,.15);color:#fff;font-size:1.4rem;cursor:pointer;z-index:2}
.lb-nav:focus-visible,.lb-x:focus-visible{outline:2px solid #fff;outline-offset:2px}
.lb-bar{grid-column:1/4;grid-row:2;display:flex;justify-content:center;gap:1rem;padding:.6rem;font-size:.8rem;color:#d4d4d8}.lb-bar a{color:#bae6fd}
@media (max-width:640px){.lightbox[open]{grid-template-columns:2.4rem 1fr 2.4rem}.lb-nav{width:2rem;height:2rem;font-size:1.2rem}}
.card.dropping{outline:2px dashed var(--sky);outline-offset:-4px}
/* 1.4 reels in the feed: a portrait 9:16 card (the video plays in the same frame), centred on wide screens */
.post .media.reel{aspect-ratio:9/16;max-height:36rem;width:auto;max-width:100%;margin:0 auto;background:#000}
.post .media.reel img,.post .media.reel video{width:100%;height:100%;object-fit:cover}
.post .media.reel video:not(.hidden){object-fit:contain}
/* ---------------------------------------------------------------- 1.4 search (Part X) */
.search.big input[type=search]{height:2.9rem;font-size:1rem}
.suggest{position:absolute;left:0;right:0;top:calc(100% + .35rem);z-index:60;background:var(--card);color:var(--fg);border:1px solid var(--border);
  border-radius:var(--r);box-shadow:var(--shadow-md);max-height:min(70vh,30rem);overflow:auto;padding:.3rem}
#search-form{position:relative}
.sg-sec+.sg-sec{border-top:1px solid var(--border);margin-top:.25rem;padding-top:.25rem}
.sg-h{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-fg);padding:.3rem .5rem .1rem}
.sg-row{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:.4rem;color:inherit;text-decoration:none;min-width:0}
.sg-row:hover,.sg-row[aria-selected=true]{background:var(--muted)}
.sg-main{font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.sg-sub{font-size:.75rem;color:var(--muted-fg);white-space:nowrap;margin-inline-start:auto;flex:0 0 auto}
.sg-av{width:1.4rem;height:1.4rem;border-radius:999px;object-fit:cover}
details.adv>summary{cursor:pointer;font-size:.88rem;font-weight:500;display:inline-flex;gap:.35rem;align-items:center;list-style:none}
details.adv>summary::-webkit-details-marker{display:none}
.advgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.75rem}
.advgrid .span2{grid-column:1/-1}
.advgrid fieldset{border:0;padding:0;margin:0}
.chip-check{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .6rem;border:1px solid var(--border);border-radius:999px;font-size:.8rem;cursor:pointer}
.chip-check:has(input:checked){background:var(--sky-soft);border-color:var(--sky)}
.chip-check input{margin:0}
/* ---------------------------------------------------------------- 1.4 creator analytics (charts: dataviz reference palette) */
.viz-root{--series-1:#2a78d6;--series-2:#eb6834;--chart-grid:#e7e6e2;--chart-ink:#52514e}
@media (prefers-color-scheme:dark){:root:where(:not([data-theme="light"])) .viz-root{--series-1:#3987e5;--series-2:#d95926;--chart-grid:#2d2d2b;--chart-ink:#c3c2b7}}
:root[data-theme="dark"] .viz-root{--series-1:#3987e5;--series-2:#d95926;--chart-grid:#2d2d2b;--chart-ink:#c3c2b7}
.viz-root>*+*{margin-top:.9rem}
.kpis{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr))}
.kpi{display:flex;flex-direction:column;gap:.15rem;padding:1rem;border:1px solid var(--border);border-radius:var(--r);background:var(--card)}
.kpi b{font-size:1.5rem;font-weight:650;line-height:1.2}
.chart{width:100%;min-height:220px;outline:none;border-radius:.4rem}.chart:focus-visible{box-shadow:0 0 0 2px var(--ring)}
.viz{display:block;max-width:100%;height:auto;overflow:visible}
.viz .grid{stroke:var(--chart-grid);stroke-width:1}
.viz .tick{fill:var(--chart-ink);font-size:10px}
.viz .line{stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.viz .line.s1{stroke:var(--series-1)}.viz .line.s2{stroke:var(--series-2)}
.viz .dlabel{fill:var(--chart-ink);font-size:10.5px;font-weight:600}
.viz .bar.s1{fill:var(--series-1)}
.viz .hair{stroke:var(--chart-ink);stroke-width:1;stroke-dasharray:3 3}
.viz .dot{stroke:var(--card);stroke-width:2}.viz .dot.s1{fill:var(--series-1)}.viz .dot.s2{fill:var(--series-2)}
.viz-tip{position:absolute;min-width:9rem;padding:.45rem .6rem;border:1px solid var(--border);border-radius:.5rem;background:var(--card);
  color:var(--fg);font-size:.78rem;box-shadow:var(--shadow-md);pointer-events:none}
.viz-tip .sw{display:inline-block;width:.6rem;height:.6rem;border-radius:2px;margin-right:.35rem}.viz-tip .sw.s1{background:var(--series-1)}.viz-tip .sw.s2{background:var(--series-2)}
.legend{display:flex;gap:.9rem}.legend span{display:inline-flex;align-items:center;gap:.35rem}.legend i{width:.75rem;height:.2rem;border-radius:2px;display:inline-block}
.scrollx{overflow-x:auto;max-width:100%}
.dtable{width:100%;border-collapse:collapse;font-size:.82rem}.dtable th,.dtable td{padding:.4rem .5rem;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}
.dtable th:first-child,.dtable td:first-child{text-align:left;white-space:normal;min-width:10rem}.dtable th{font-weight:600;color:var(--muted-fg)}
.hbars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}
.hbars li{display:grid;grid-template-columns:7.5rem 1fr auto;gap:.6rem;align-items:center}
.hb{height:.55rem;background:var(--muted);border-radius:999px;overflow:hidden}.hb i{display:block;height:100%;background:var(--series-1);border-radius:999px}
.vbadge{display:inline-flex;align-items:center;cursor:help}.vbadge.inst .ic{color:var(--emerald)}
.plan-badge{font-size:.7rem;border:1px dashed var(--border);border-radius:999px;padding:.05rem .45rem;color:var(--muted-fg)}
/* 1.4 chat delivery states: shape + label carry the meaning, colour only reinforces it */
.rcpt{display:inline-flex;align-items:center;margin-left:.25rem;cursor:help}.rcpt .rc{width:.95rem;height:.95rem}
.rcpt.sent{color:var(--muted-fg)}.rcpt.delivered{color:var(--fg)}.rcpt.viewed{color:var(--sky)}
.liveloc{display:flex;flex-direction:column;gap:.25rem}
.welcome-banner{margin:.75rem auto 0;max-width:64rem;width:calc(100% - 2rem)}
/* 1.4 Trust & Safety: key/value lists, case timelines, alert banners, staff console */
.err-text{color:#be123c}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .err-text{color:#fda4af}}
.kv{display:grid;grid-template-columns:minmax(7rem,max-content) 1fr;gap:.35rem 1rem;margin:0}.kv dt{color:var(--muted-fg);font-weight:600}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}
@media(max-width:560px){.kv{grid-template-columns:1fr;gap:.1rem}.kv dd{margin-bottom:.45rem}}
.timeline{list-style:none;margin:0;padding:0 0 0 1rem;border-left:2px solid var(--border)}.timeline li{position:relative;padding:.2rem 0 .5rem .45rem}
.timeline li::before{content:"";position:absolute;left:-1.4rem;top:.55rem;width:.6rem;height:.6rem;border-radius:50%;background:var(--brand-a);box-shadow:0 0 0 3px var(--card, #fff)}
.timeline time{display:block;color:var(--muted-fg);font-size:.76rem}
.banner.danger{border-color:#fecdd3;background:#fff1f2;color:#9f1239}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .banner.danger{background:rgba(225,29,72,.12);border-color:rgba(225,29,72,.4);color:#fecdd3}}
:root[data-theme=dark] .banner.danger{background:rgba(225,29,72,.12);border-color:rgba(225,29,72,.4);color:#fecdd3}
.console{max-width:76rem;margin:0 auto;padding:1rem}.console h1{font-size:1.35rem;margin:0}.console .tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.6rem}
.console .tile{border:1px solid var(--border);border-radius:var(--r);padding:.7rem .8rem;background:var(--card, transparent)}.console .tile b{display:block;font-size:1.35rem;font-variant-numeric:tabular-nums}.console .tile span{font-size:.78rem;color:var(--muted-fg)}
.console nav.cnav{display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:1px solid var(--border);padding-bottom:.5rem;margin-bottom:1rem}.console nav.cnav a{padding:.35rem .6rem;border-radius:.4rem;font-size:.85rem}.console nav.cnav a[aria-current=page]{background:var(--muted);font-weight:600}
.console .dtable td,.console .dtable th{text-align:left}.console .prio-urgent{color:#be123c;font-weight:700}.console .prio-high{color:#b45309;font-weight:600}
.console details.act{border:1px solid var(--border);border-radius:var(--r);padding:.5rem .7rem}.console details.act summary{cursor:pointer;font-weight:600;font-size:.9rem}
.badge.danger{background:#ffe4e6;color:#9f1239}

/* 1.4 languages: self-hosted script fonts (SIL OFL 1.1, static/fonts/OFL-1.1.txt). unicode-range: a browser downloads a
   font only when the page contains those characters. Devanagari, Bengali, Tamil … use the device's fonts. */
@font-face{font-family:"Noto Sans Ol Chiki";font-style:normal;font-display:swap;font-weight:400;src:url("/static/fonts/noto-sans-ol-chiki-ol-chiki-400-normal.a4b1db89dcbe.woff2") format("woff2");unicode-range:U+1C50-1C7F,U+20B9}
@font-face{font-family:"Noto Sans Ol Chiki";font-style:normal;font-display:swap;font-weight:700;src:url("/static/fonts/noto-sans-ol-chiki-ol-chiki-700-normal.4a887d366c86.woff2") format("woff2");unicode-range:U+1C50-1C7F,U+20B9}
@font-face{font-family:"Noto Sans Meetei Mayek";font-style:normal;font-display:swap;font-weight:400;src:url("/static/fonts/noto-sans-meetei-mayek-meetei-mayek-400-normal.3da889493eaf.woff2") format("woff2");unicode-range:U+200C-200D,U+25CC,U+AAE0-AAF6,U+ABC0-ABFF}
@font-face{font-family:"Noto Sans Meetei Mayek";font-style:normal;font-display:swap;font-weight:700;src:url("/static/fonts/noto-sans-meetei-mayek-meetei-mayek-700-normal.b8c611ff9391.woff2") format("woff2");unicode-range:U+200C-200D,U+25CC,U+AAE0-AAF6,U+ABC0-ABFF}
@font-face{font-family:"Noto Nastaliq Urdu";font-style:normal;font-display:swap;font-weight:400;src:url("/static/fonts/noto-nastaliq-urdu-arabic-400-normal.1d9ba7ff26a9.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Noto Nastaliq Urdu";font-style:normal;font-display:swap;font-weight:700;src:url("/static/fonts/noto-nastaliq-urdu-arabic-700-normal.05bf8c16d8dd.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
/* Urdu and Kashmiri are written in Nastaliq, which needs taller lines; Arabic, Persian and Sindhi keep the system Naskh */
:lang(ur),:lang(ks){font-family:"Noto Nastaliq Urdu",var(--font);line-height:2.1}
:lang(ur) .btn,:lang(ks) .btn,:lang(ur) input,:lang(ks) input{line-height:1.9}
[dir=rtl] .timeline{border-left:0;border-right:2px solid var(--border);padding:0 1rem 0 0}[dir=rtl] .timeline li{padding:.2rem .45rem .5rem 0}
[dir=rtl] .timeline li::before{left:auto;right:-1.4rem}
[dir=rtl] .kv dt{text-align:right}
/* Settings → Language & region */
.langgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:.4rem}
.langopt{display:flex;gap:.5rem;align-items:flex-start;border:1px solid var(--border);border-radius:var(--r);padding:.5rem .6rem;cursor:pointer;min-width:0}
.langopt.on,.langopt:has(input:checked){border-color:var(--ring);box-shadow:0 0 0 1px var(--ring)}
.langopt input{margin-top:.25rem;flex:0 0 auto}.langopt .lnative{font-size:1rem;font-weight:600;overflow-wrap:anywhere}
.langlist fieldset{border:0;padding:0;margin:0}.langlist legend{padding:0;margin-bottom:.35rem}
.lang-st{color:var(--muted-fg)}.lang-st.lang-draft{color:#b45309}.lang-st.lang-verified,.lang-st.lang-complete,.lang-st.lang-source{color:#047857}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .lang-st.lang-draft{color:#fbbf24}:root:not([data-theme=light]) .lang-st.lang-verified,:root:not([data-theme=light]) .lang-st.lang-complete,:root:not([data-theme=light]) .lang-st.lang-source{color:#6ee7b7}}
footer.site select.input{padding:.2rem .4rem;font-size:.78rem;max-width:11rem}
