/* RCPilot. RCMarket's tokens (his call: one red family across both sites) and the Kranitz style guide:
   one accent for a primary action and a selected state, never a hover; neutral focus rings. */
:root{
  --brand:#f42200; --brand-hover:#d81d00; --brand-soft:#fff1ec; --brand-line:#f6c8bc; --brand-ink:#b81a05;
  --bar:#0e1116; --charcoal:#1a1d23; --ink:#1f2329; --muted:#6b7280; --faint:#9aa0aa;
  --page:#f3f4f6; --card:#ffffff; --line:#e6e7ea; --line-2:#d7d9dd; --chip:#f6f7f9;
  --hover-line:#C9CDD6; --ring:#AEB4BE; --danger:#c0392b; --live:#1f9254;
}
*{box-sizing:border-box}
[hidden]{display:none !important}   /* a display rule must never beat the hidden attribute */
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--page);color:var(--ink);font:14px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%}
h1,h2{text-wrap:balance;letter-spacing:-.01em}
p{text-wrap:pretty}
.muted{color:var(--muted)}

/* the bar */
.bar{background:var(--bar);position:sticky;top:0;z-index:20}
.bar-in{display:flex;align-items:center;gap:24px;padding:12px 24px;min-height:68px}
.logo{flex:none}
.logo img{height:44px;width:auto;display:block}   /* never shrinks: the bar gives way, not the logo */
/* the world selector beside the logo (the mockup's switch) */
.wsel{position:relative}
.wbtn{list-style:none;height:32px;padding:0 10px 0 12px;border-radius:8px;border:1px solid #2c3038;background:#1b1e24;color:#e7e9ee;font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;cursor:pointer;user-select:none}
.wbtn::-webkit-details-marker{display:none}
.wbtn:hover{border-color:#3a3f48}
.wchev{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.wsel[open] .wchev{transform:translateY(1px) rotate(-135deg)}
.wmenu{position:absolute;top:40px;left:0;width:260px;background:#fff;border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.28);padding:8px;z-index:30}
.wh{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:8px 10px 6px}
.wm{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;font-size:13.5px;font-weight:600;text-decoration:none;color:var(--ink);border:1px solid transparent}
.wm:hover{border-color:var(--hover-line)}
.wm em{font-style:normal;font-weight:500;font-size:12px;color:var(--faint)}
.wm.on{background:rgba(244,34,0,.10);border-color:rgba(244,34,0,.55);color:var(--brand-ink)}
.bar-me{margin-left:auto}
.me{display:flex;align-items:center;gap:8px;color:#fff;text-decoration:none;font-weight:600}

/* buttons and fields */
.btn{display:inline-flex;align-items:center;justify-content:center;height:38px;padding:0 16px;border-radius:9px;border:1px solid var(--line-2);background:#fff;color:var(--ink);font-family:inherit;font-weight:600;font-size:13.5px;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer}
.btn:hover{border-color:var(--hover-line)}
.btn:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--ring);outline-offset:1px}
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-brand:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
.btn[disabled]{opacity:.55;cursor:default}

/* layout: anchored left with a gutter */
.main{padding:24px 28px 48px;max-width:1180px}
.page-h{margin:4px 0 16px}
.page-h h1{font-size:24px;font-weight:800;margin:0}
.page-h h2{font-size:20px;font-weight:800;margin:24px 0 0}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink);margin-bottom:4px}
.empty{background:#fff;border:1px dashed var(--line-2);border-radius:12px;padding:22px;color:var(--muted)}

/* feed cards */
.feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.card{background:#fff;border:1px solid #eaeaea;border-radius:14px;box-shadow:0 1px 3px rgba(20,22,26,.06),0 6px 18px rgba(20,22,26,.04);overflow:hidden;display:flex;flex-direction:column}
.card-link{text-decoration:none;color:inherit;display:block}
.card-img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--chip)}
.card-txt{padding:14px 16px 0}
.kind{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-ink);margin-bottom:4px}
.card-h{font-size:16px;font-weight:700;line-height:1.3;margin:0}
.card-x{color:#4b525b;margin:6px 0 0;font-size:13.5px}
.chips{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px 0}
.post .chips{padding:12px 0 0}
.chips-flat{padding:0;margin-bottom:8px}
.chip{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:8px;background:var(--chip);border:1px solid var(--line);font-size:12.5px;font-weight:600;text-decoration:none;color:var(--ink);white-space:nowrap}
.chip:hover{border-color:var(--hover-line)}
.chip-model{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-ink)}
.card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:12px 16px 14px;margin-top:auto;color:var(--muted);font-size:12.5px}
.post .card-meta{padding:8px 0 0}
.who{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:var(--ink);font-weight:600}

/* avatars */
.av{border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;flex:none}
.av-blank{background:#2a2f38;color:#fff;font-weight:700}
.av-xs{width:24px;height:24px;font-size:10px}
.av-sm{width:30px;height:30px;font-size:12px}
.av-md{width:44px;height:44px;font-size:15px}
.av-lg{width:84px;height:84px;font-size:28px}

/* a post */
.post{background:#fff;border:1px solid #eaeaea;border-radius:14px;padding:28px 32px;max-width:860px;box-shadow:0 1px 3px rgba(20,22,26,.06),0 6px 18px rgba(20,22,26,.04)}
.post h1{font-size:28px;font-weight:800;margin:0;line-height:1.2}
.post-b{font-size:15.5px;line-height:1.65;margin-top:18px;overflow-wrap:anywhere}
.post-b a{color:var(--brand-ink)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-top:18px}
.gallery img,.gallery video{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block;background:var(--chip)}
.chapter{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}
.chapter h2{font-size:21px;font-weight:800;margin:0}
.ratings,.poll{background:var(--chip);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-top:24px;max-width:460px}
.ratings-h{font-weight:700;margin-bottom:8px}
.rate,.poll-o{display:grid;grid-template-columns:110px 1fr 36px;align-items:center;gap:10px;font-size:13px;padding:3px 0}
.poll-o{grid-template-columns:minmax(0,1fr) 140px 36px}
.rate b,.poll-o b{text-align:right}
.rate-bar{height:8px;background:#e3e5e9;border-radius:6px;overflow:hidden}
.rate-bar i{display:block;height:100%;background:var(--brand)}
.comments{margin-top:30px}
.comments h2{font-size:18px;font-weight:800}
.cmt{padding:12px 0;border-top:1px solid var(--line)}
.cmt-reply{margin-left:32px;border-top:0;padding-top:4px}
.cmt-b{margin-top:4px;overflow-wrap:anywhere}
.cmt-b p{margin:4px 0}

/* a member */
.profile{background:#fff;border:1px solid #eaeaea;border-radius:14px;overflow:hidden;max-width:860px}
/* the profile banner: one shape everywhere (3:1, taller than the old 160px strip, his ask 2026-10-11), so where the member
   slid it on /me is exactly what the public page shows */
.banner{aspect-ratio:3/1;background:var(--bar) center/cover no-repeat}
.profile-h{display:flex;gap:18px;align-items:flex-start;padding:20px 24px 0}
.profile-h > div:not(.pf-acts){flex:1 1 auto;min-width:0;padding-top:6px}
/* the actions: one matched pair at the top right, level with the name; Report and Block live in the ... menu (2026-10-12) */
.pf-acts{flex:none;display:flex;align-items:center;gap:8px;margin-top:6px}
.pf-acts .btn{height:38px}
.pf-acts .btn.follow.on{background:rgba(244,34,0,.10);border-color:rgba(244,34,0,.55);color:var(--brand-ink)}
@media (max-width:640px){ .profile-h{flex-wrap:wrap} .pf-acts{width:100%;margin-top:0} .pf-acts .btn:not(.dots-b){flex:1 1 0} }
.profile-h h1{margin:0;font-size:24px;font-weight:800}
.bio{padding:4px 24px 0}
.facts{display:flex;flex-wrap:wrap;gap:10px;padding:16px 24px 22px}
.fact{background:var(--chip);border:1px solid var(--line);border-radius:10px;padding:9px 14px;min-width:110px}
.fact-l{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.fact-v{font-size:13.5px;font-weight:700}

/* panels and forms */
.panel{background:#fff;border:1px solid #eaeaea;border-radius:14px;padding:26px 28px;max-width:640px;box-shadow:0 1px 3px rgba(20,22,26,.06),0 6px 18px rgba(20,22,26,.04)}
.panel h1{margin:0 0 6px;font-size:24px;font-weight:800}
.panel-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.form{margin-top:16px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;min-width:0}
.field label{font-size:13px;font-weight:700}
.field input,.field textarea{height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 11px;font-family:inherit;font-size:13.5px;color:var(--ink);background:#fff;width:100%}
.field textarea{height:auto;padding:10px 11px;line-height:1.5;resize:vertical}
.field input.num{width:100px}
.prefix{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:9px;overflow:hidden;background:#fff}
.prefix span{padding:0 4px 0 11px;color:var(--muted);font-size:13px;white-space:nowrap}
.prefix input{border:0;border-radius:0;padding-left:0}
/* minmax(0,1fr), never a bare 1fr: WebKit will not shrink a date input below its own text, so on an iPad a bare
   1fr pair of dates overran the modal (his report 2026-10-12, Banner Ads). Chrome never shows it. */
.row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 16px}
.row2 > .field,.field input{min-width:0}
/* iOS draws its own date control: centered, taller, wider than its column. Make it an ordinary field. */
@supports (-webkit-touch-callout: none) {
  .field input[type=date],.field input[type=time]{-webkit-appearance:none;appearance:none;display:flex;align-items:center;min-height:38px;text-align:left}
  .field input[type=date]::-webkit-date-and-time-value,.field input[type=time]::-webkit-date-and-time-value{text-align:left;margin:0}
}
.row3{display:grid;grid-template-columns:1fr 1fr auto;gap:0 16px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.form-msg{min-height:20px;margin:-6px 0 12px;font-size:13px;font-weight:600}
.form-msg.bad{color:var(--danger)}
.form-msg.good{color:var(--live)}

.foot{padding:20px 24px 32px;color:var(--muted);font-size:12.5px}

@media (max-width:760px){
  .bar-in{flex-wrap:wrap;gap:10px;padding:10px 16px}
  .logo img{height:30px}
  .wbtn{padding:0 8px 0 10px}
  .bar-me .btn{height:34px;padding:0 12px}
  .main{padding:16px 16px 40px}
  .post{padding:20px 18px}
  .row2,.row3{grid-template-columns:1fr}
}

/* ---------- a build story: contents rail, the two reading views, pager ---------- */
.chapter{scroll-margin-top:80px}                     /* the 68px sticky bar + a few px */
.ch-date{font-size:12.5px;margin-top:2px}
.h-link{text-decoration:none}
.post-wrap.has-toc{display:grid;grid-template-columns:minmax(0,860px) minmax(250px,290px);gap:20px;align-items:start}
.post-wrap .post{max-width:none}
.toc-rail{position:sticky;top:84px}
.toc{background:#fff;border:1px solid #eaeaea;border-radius:14px;overflow:hidden;box-shadow:0 1px 3px rgba(20,22,26,.06),0 6px 18px rgba(20,22,26,.04);display:flex;flex-direction:column;max-height:calc(100vh - 100px)}
.toc-h{list-style:none;display:flex;align-items:center;gap:10px;min-height:46px;padding:11px 16px 12px;background:#E5E5E5;border-bottom:1px solid #C2C2C2;cursor:pointer;font-weight:800;font-size:14px;user-select:none}
.toc-h::-webkit-details-marker{display:none}
.toc-count{color:var(--muted);font-weight:600;font-size:12.5px}
.chev{margin-left:auto;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}
.chev::before{content:"";width:8px;height:8px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.toc[open] .chev::before{transform:translateY(2px) rotate(-135deg)}   /* down when collapsed, up when open */
.toc:not([open]) .toc-h{border-bottom:0}
.toc-body{padding:12px;overflow:auto;background:#F8F8F8;flex:1 1 auto;min-height:0}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.seg-b{display:flex;align-items:center;justify-content:center;height:34px;border-radius:9px;border:1px solid var(--line-2);background:#fff;font-weight:600;font-size:13px;text-decoration:none;white-space:nowrap;color:var(--ink)}
.seg-b:hover{border-color:var(--hover-line)}
.seg-b.on{background:rgba(244,34,0,.10);border-color:rgba(244,34,0,.55);color:var(--brand-ink)}
.toc-findrow{margin:10px 0 8px}
.toc-find{width:100%;height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 11px;font-family:inherit;font-size:13.5px;background:#fff}
.toc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}
.toc-list a{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px;padding:7px 8px;border-radius:9px;border:1px solid transparent;text-decoration:none;color:var(--ink);background:#fff}
.toc-list a:hover{border-color:var(--hover-line)}
.toc-list li.on a{background:rgba(244,34,0,.10);border-color:rgba(244,34,0,.55)}
.toc-n{font-weight:800;color:var(--muted);font-size:12.5px;text-align:right;padding-top:1px}
.toc-list li.on .toc-n{color:var(--brand-ink)}
.toc-t{font-weight:600;font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.toc-m{display:block;font-weight:500;font-size:11.5px;color:var(--faint);margin-top:1px}
.toc-m:empty{display:none}
.toc-snip{display:block;font-weight:400;font-size:12px;color:#4b525b;margin-top:3px}
.toc-snip:empty{display:none}
.toc-snip mark{background:rgba(244,34,0,.16);color:inherit;border-radius:3px;padding:0 1px}
.toc-none{color:var(--muted);font-size:13px;padding:10px 6px}
.pager{display:flex;justify-content:space-between;gap:12px;margin-top:22px}
.pager-top{margin:18px 0 0}
.pager .btn{height:auto;min-height:50px;padding:7px 14px;flex-direction:column;align-items:flex-start;gap:2px;max-width:48%;line-height:1.25}
.pager .pg-next{align-items:flex-end;margin-left:auto}
.pg-dir{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.pg-t{font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:1023px){   /* his call 2026-10-11: the contents stays on the right rail on a laptop (it stacked under 1280 and he missed it); it stacks only where the story column would drop under ~450px */
  .post-wrap.has-toc{grid-template-columns:minmax(0,1fr)}
  .toc-rail{position:static;order:-1}
  .toc{max-height:none}
  .toc-body{max-height:60vh}
}

/* members */
.members{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;max-width:1100px}
.mcard{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #eaeaea;border-radius:12px;padding:12px 14px;text-decoration:none;color:var(--ink)}
.mcard:hover{border-color:var(--hover-line)}
.mtxt{display:flex;flex-direction:column;min-width:0;font-size:12.5px}
.mtxt b{font-size:14px}
.faint{color:var(--faint)}

/* ---------- the photo viewer ---------- */
html.lb-open{overflow:hidden}
.lb{position:fixed;inset:0;z-index:100;background:rgba(10,12,16,.97);display:flex;flex-direction:column;color:#fff}
.lb[hidden]{display:none}
.lb-top{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 0 20px;min-height:60px}
.lb-count{font-size:13px;font-weight:600;color:#c9cdd6}
.lb-stage{position:relative;flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;padding:8px 76px}
.lb-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;user-select:none;-webkit-user-drag:none}
.lb-cap{min-height:52px;padding:10px 20px 18px;text-align:center;font-size:13.5px;font-weight:600;color:#e7e9ee}
.lb-btn{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(27,30,36,.85);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.lb-btn:hover{border-color:rgba(255,255,255,.5);background:#22262d}
.lb-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.lb-btn[hidden]{display:none}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%)}
.lb-prev{left:16px}.lb-next{right:16px}
.lb-spin{position:absolute;width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;animation:lbspin .8s linear infinite;display:none}
.lb.loading .lb-spin{display:block}
.lb.loading .lb-img{opacity:.35}
@keyframes lbspin{to{transform:rotate(360deg)}}
@media (max-width:760px){
  .lb-stage{padding:8px 0}
  .lb-prev,.lb-next{top:auto;bottom:-56px;transform:none}
  .lb-prev{left:16px}.lb-next{right:16px}
  .lb-cap{padding:12px 76px 22px}
}

/* ---------- posting ---------- */
.btn-post{margin-right:12px;height:34px}
.bar-me{display:flex;align-items:center}
.compose{background:#fff;border:1px solid #eaeaea;border-radius:14px;padding:22px 28px 24px;max-width:760px;box-shadow:0 1px 3px rgba(20,22,26,.06),0 6px 18px rgba(20,22,26,.04)}
.compose h1{font-size:22px;font-weight:800;margin:14px 0 14px}
.csub{margin:-8px 0 16px}
.steps{display:flex;gap:8px}
.steps span{flex:1;height:4px;border-radius:2px;background:var(--line)}
.steps span.on{background:var(--brand)}
.seg-3{grid-template-columns:repeat(3,1fr);margin-bottom:18px;max-width:460px}
button.seg-b{font-family:inherit;cursor:pointer}
.compose .field input,.compose .field textarea{font-size:14px}
.flabel{font-size:13px;font-weight:700}
.hint{font-size:12px;color:var(--faint)}
.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;border-radius:12px;padding:2px}
.photos.drop{outline:2px dashed var(--brand-line);outline-offset:4px;background:var(--brand-soft)}
.addphoto,.ph{aspect-ratio:1;border-radius:10px;position:relative;overflow:hidden}
.addphoto{border:1.5px dashed var(--line-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:12.5px;font-weight:600;cursor:pointer;background:var(--chip)}
.addphoto:hover{border-color:var(--hover-line)}
.addphoto[hidden]{display:none}
.addphoto .plus{font-size:26px;line-height:1;font-weight:400}
.ph img{width:100%;height:100%;object-fit:cover;display:block;background:var(--chip)}
.ph-busy img{opacity:.45}
.ph .spin{position:absolute;left:50%;top:50%;margin:-11px 0 0 -11px}
.ph-bad{outline:2px solid var(--danger);outline-offset:-2px}
.ph-err{position:absolute;inset:auto 0 0 0;background:rgba(192,57,43,.92);color:#fff;font-size:10.5px;line-height:1.25;padding:4px 6px}
.ph-x{position:absolute;top:5px;right:5px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(14,17,22,.75);color:#fff;font-size:17px;line-height:1;cursor:pointer}
.btn.busy{opacity:1}
.adc-ctl .btn.on{background:rgba(244,34,0,.10);border-color:rgba(244,34,0,.55);color:var(--brand-ink)}
.btn.busy::before{content:"";display:inline-block;width:14px;height:14px;margin-right:8px;vertical-align:-2px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:lbspin .7s linear infinite}
.spin{display:inline-block;width:22px;height:22px;border-radius:50%;border:3px solid rgba(0,0,0,.12);border-top-color:var(--brand);animation:lbspin .8s linear infinite}
.cfoot{display:flex;justify-content:space-between;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.working{display:flex;align-items:center;gap:12px;padding:22px 16px;background:var(--chip);border-radius:12px;color:var(--muted);font-weight:600}
.working[hidden]{display:none}
.ai-note{background:#fdf6e7;border:1px solid #f0dfb8;color:#7a5410;border-radius:10px;padding:10px 14px;margin-bottom:14px;font-size:13px}
.fgrp{background:#F8F8F8;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.fgrp + .fgrp{margin-top:12px}
.fgrp-h{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:8px}
.fgrp-h .muted{text-transform:none;letter-spacing:0;font-weight:500}
.chip-pick{font-family:inherit;cursor:pointer;background:#fff;height:30px}
.chip-pick.on{background:rgba(244,34,0,.10);border-color:rgba(244,34,0,.55);color:var(--brand-ink)}
.chips-flat{padding:0;align-items:center}
.linkbtn{border:0;background:none;color:var(--brand-ink);font:600 13px inherit;font-family:inherit;cursor:pointer;padding:4px 6px;text-decoration:underline;text-underline-offset:2px}
.small{font-size:12.5px}
.pad{padding:8px 4px}
.pick{margin-top:10px}
.pick input{width:100%;height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 11px;font-family:inherit;font-size:13.5px;background:#fff}
.picklist{margin-top:6px;display:flex;flex-direction:column;gap:4px;max-height:280px;overflow:auto}
.pickrow{text-align:left;border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px;font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
.pickrow:hover{border-color:var(--hover-line)}
.pickgrp{padding:6px 0}
.pickgrp-h{font-size:11.5px;font-weight:700;color:var(--muted);margin-bottom:5px}
.askq{background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:12px;padding:12px 14px;margin-bottom:12px}
.askq[hidden]{display:none}
.askq-h{font-weight:700;margin-bottom:8px}
.owbox{margin:18px 0 6px;gap:8px;max-width:none}
.ow-chips{margin:2px 0 0}
.ow-warn{margin:4px 0 2px;font-size:12.5px;line-height:1.45;color:#7a3b00;background:#fff6e5;border:1px solid #f0d9a8;border-radius:9px;padding:9px 11px}
.owbox .set-in{display:flex;align-items:center;gap:12px;margin-top:4px}
.done-hero{display:flex;align-items:center;gap:10px;background:#e9f5ee;border:1px solid #bfe0cd;color:#16683c;border-radius:12px;padding:12px 14px;margin-top:16px;font-weight:600}
.tick{width:20px;height:20px;border-radius:50%;background:var(--live);position:relative;flex:none}
.tick::after{content:"";position:absolute;left:7px;top:4px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.sharerow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.share-l{font-weight:600}
.btn.done{color:var(--live);border-color:#bfe0cd}
@media (max-width:760px){ .compose{padding:16px 16px 18px} .btn-post{margin-right:8px} }

/* ---------- back link ---------- */
.back{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;color:var(--muted);font-weight:600;font-size:13.5px;text-decoration:none;padding:6px 10px 6px 4px;border-radius:9px;border:1px solid transparent}
.back:hover{color:var(--ink);border-color:var(--hover-line)}
.back-arrow{width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-left:6px}

/* ---------- filter bar ---------- */
.fbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-4px 0 16px}
.fdrop{position:relative}
.fbtn{list-style:none;display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px;border-radius:9px;border:1px solid var(--line-2);background:#fff;font-weight:600;font-size:13px;cursor:pointer;user-select:none}
.fbtn::-webkit-details-marker{display:none}
.fbtn:hover{border-color:var(--hover-line)}
.fbtn.on{background:rgba(244,34,0,.10);border-color:rgba(244,34,0,.55);color:var(--brand-ink)}
.fdrop[open] .wchev{transform:translateY(1px) rotate(-135deg)}
.fmenu{position:absolute;top:40px;left:0;z-index:25;width:320px;max-height:420px;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 14px 40px rgba(20,22,26,.22);padding:8px}
.fm-grp{padding:4px 0}
.fm-h{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:6px 8px 4px}
.fm-i{display:block;padding:6px 8px;border-radius:8px;font-size:13.5px;font-weight:600;text-decoration:none;color:var(--ink);border:1px solid transparent}
.fm-i:hover{border-color:var(--hover-line)}
.fm-i.on{background:rgba(244,34,0,.10);border-color:rgba(244,34,0,.55);color:var(--brand-ink)}
.fm-find{width:100%;height:36px;border:1px solid var(--line-2);border-radius:9px;padding:0 10px;font-family:inherit;font-size:13.5px;margin-bottom:6px}
.fsort{display:flex;gap:6px;margin-left:auto}
.fsort .seg-b{padding:0 12px}
a.chip-pick{text-decoration:none}
.morebar{display:flex;justify-content:center;margin:22px 0 4px}
.card{scroll-margin-top:84px}

/* ---------- articles, lessons, events ---------- */
.article-banner{width:100%;max-height:340px;object-fit:cover;border-radius:10px;margin-bottom:18px;display:block}
.rich img{max-width:100%;height:auto;border-radius:8px;margin:8px 0}
.rich h1,.rich h2,.rich h3{font-size:19px;margin:22px 0 6px}
.rich blockquote{margin:12px 0;padding:6px 14px;border-left:3px solid var(--brand-line);color:#4b525b}
.player{margin-top:16px;border-radius:12px;overflow:hidden;background:#000}
.player video{width:100%;display:block;aspect-ratio:16/9;background:#000}
.month{font-size:16px;font-weight:800;margin:22px 0 8px}
.evlist{display:flex;flex-direction:column;gap:8px;max-width:860px}
.ev{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #eaeaea;border-radius:12px;padding:10px 14px;text-decoration:none;color:var(--ink)}
.ev:hover{border-color:var(--hover-line)}
.ev-d{flex:none;width:54px;border-radius:10px;background:#fff;border:1px solid #e2e2e4;box-shadow:0 1px 2px rgba(20,22,26,.08),0 2px 0 -1px #f1f1f2;overflow:hidden;display:flex;flex-direction:column;align-items:center;line-height:1;color:var(--ink);text-align:center}
.ev-dm{align-self:stretch;background:var(--brand);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 0 3px}
.ev-d b{font-size:22px;font-weight:800;letter-spacing:-.02em;padding:6px 0 2px}
.ev-dw{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-bottom:6px}
.ev-t{display:flex;flex-direction:column;min-width:0;font-size:12.5px}
.ev-t b{font-size:14px}
.ev-src{margin-left:auto;flex:none;font-size:10.5px;font-weight:700;color:var(--muted);border:1px solid var(--line-2);border-radius:6px;padding:2px 6px}
.facts-flat{padding:14px 0 0}
.ev-acts{margin-top:16px}
.ev-logo{max-height:90px;max-width:220px;display:block;margin-bottom:12px}
@media (max-width:760px){ .fsort{margin-left:0;width:100%;overflow-x:auto} .fmenu{width:min(320px,calc(100vw - 32px))} }
.access-in{margin:14px 0 4px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}

/* ---------- the shell: left nav + content (his call 2026-10-11) ---------- */
.shell{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:start}
@media (max-width:1100px){ .shell{grid-template-columns:212px minmax(0,1fr)} .rl em{padding:1px 4px} .main{padding:22px 20px 44px} }
.col{min-width:0}
.rail{position:sticky;top:68px;height:calc(100vh - 68px);overflow:auto;padding:18px 12px 24px 14px;border-right:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:2px}
.rail-top{display:none}
.rl{flex:none;display:flex;align-items:center;gap:11px;height:40px;padding:0 12px;border-radius:9px;border:1px solid transparent;color:#3a4049;font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap}
.rl svg{flex:none;color:#7a808a}
.rl:hover{border-color:var(--hover-line);color:var(--ink)}
.rl.on{background:rgba(244,34,0,.10);border-color:rgba(244,34,0,.55);color:var(--brand-ink)}
.rl.on svg{color:var(--brand)}
.rl em{margin-left:auto;font-style:normal;font-size:10.5px;font-weight:700;color:var(--faint);border:1px solid var(--line-2);border-radius:5px;padding:1px 5px}
.rail hr{border:0;border-top:1px solid var(--line);margin:10px 4px}
.navbtn{display:none;flex:none;width:40px;height:40px;border-radius:9px;border:1px solid #2c3038;background:#1b1e24;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.navbtn span{display:block;width:18px;height:2px;border-radius:1px;background:#e7e9ee}
.scrim{position:fixed;inset:0;background:rgba(10,12,16,.45);z-index:39}
@media (max-width:899px){
  .shell{grid-template-columns:minmax(0,1fr)}
  .navbtn{display:inline-flex}
  .rail{position:fixed;top:0;left:0;bottom:0;height:auto;width:280px;max-width:85vw;z-index:40;transform:translateX(-102%);transition:transform .2s ease;padding-top:10px}
  .rail.open{transform:none;box-shadow:0 10px 40px rgba(0,0,0,.25)}
  .rail-top{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 10px 12px}
  .rail-t{font-weight:800;font-size:15px}
  .rail-x{width:36px;height:36px;border-radius:9px;border:1px solid var(--line-2);background:#fff;font-size:22px;line-height:1;cursor:pointer}
  html.nav-open{overflow:hidden}
}
@media (max-width:760px){
  .bar-in{flex-wrap:nowrap}
  .logo img{height:32px}
  .wbtn{max-width:120px;overflow:hidden;text-overflow:ellipsis}
  .me span{display:none}
}

/* ---------- Share It (ported from RCMarket sell.css, 2026-10-11) ---------- */
.share{max-width:860px}
.ptitle{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:6px 0 14px}
.ptitle h1{font-size:24px;font-weight:800;margin:0}
.spanel{max-width:none;padding:20px 22px;margin-bottom:16px}
.sh2{font-size:18px;font-weight:800;margin:0 0 10px}
.dlead{font-size:15px;line-height:1.5;color:var(--ink);margin:0 0 14px}
.dtiles{display:grid;gap:10px}
.dtile{display:grid;grid-template-columns:48px minmax(0,1fr) 20px;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;text-decoration:none;color:var(--ink);box-shadow:0 1px 3px rgba(20,22,26,.06),0 6px 18px rgba(20,22,26,.04);text-align:left;font:inherit;cursor:pointer;width:100%}
.dtile:hover{border-color:var(--hover-line)}
.dtile.slim{grid-template-columns:minmax(0,1fr) 20px;padding:14px 16px;box-shadow:none}
.dic{width:48px;height:48px;border-radius:12px;background:var(--brand-soft);display:grid;place-items:center}
.dic svg{width:26px;height:26px;fill:none;stroke:var(--brand);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.dtx{min-width:0;display:flex;flex-direction:column;gap:3px}
.dtx b{font-size:16px;line-height:1.3}
.dtx span{font-size:13.5px;color:var(--muted);line-height:1.45}
.dtx em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--brand-ink)}
.dgo svg{width:20px;height:20px;fill:none;stroke:var(--faint);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;display:block}
.dback{display:inline-flex;align-items:center;gap:8px;margin:-4px 0 14px;font-size:14px;font-weight:600;color:var(--brand-ink);text-decoration:none}
.dlink{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--chip);border-radius:12px;padding:12px;margin-bottom:16px}
.dlink code{flex:1;min-width:0;font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cardwrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.cardwrap img{width:100%;height:auto;border-radius:12px;background:#15171b}
.ghead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 10px}
.ghead h3{font-size:14px;margin:0}
.gempty{background:#fff;border:1px dashed var(--line-2);border-radius:10px;padding:18px;font-size:13.5px;color:var(--muted);line-height:1.5;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.gempty b{color:var(--ink);font-size:15px}
.gempty .btn{margin-top:10px}
.btn.gbig{height:46px;font-size:15px;padding:0 20px}
.gintro{font-size:15px;line-height:1.5;margin:0 0 14px;color:var(--ink)}
.gadd{background:var(--chip);border-radius:12px;padding:16px;display:grid;gap:12px;justify-items:start}
.gadd .field{width:100%;margin:0}
.gadd .field input{height:46px;font-size:16px}
.grow{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 10px 10px 12px}
.grow + .grow{margin-top:8px}
.grow.mine{grid-template-columns:minmax(0,1fr) 28px}
.gtick{width:24px;height:24px;border-radius:50%;border:2px solid var(--line-2);background:#fff;color:#fff;font-size:13px;font-weight:800;line-height:1;display:grid;place-items:center}
.grow.done .gtick{background:var(--live);border:2px solid var(--live)}
.grow.post{grid-template-columns:minmax(0,1fr) auto;position:relative;padding:12px 50px 12px 14px}
.grow.post .gtick{position:absolute;top:12px;right:12px;width:26px;height:26px;border:2px dashed var(--faint);font-size:14px}
.grow.post.done .gtick{border:2px solid var(--live)}
.gacts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.gname{min-width:0}
.gname b{display:block;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gname span{display:block;font-size:12px;color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gname span.ask{color:#a4690f;font-weight:600}
.grow.done .gname span{color:var(--live);font-weight:600}
.gx{width:28px;height:28px;border:0;background:none;color:var(--faint);font-size:20px;line-height:1;cursor:pointer;border-radius:6px}
.gx:hover{background:var(--chip);color:var(--ink)}
.gtiles{margin:0 0 20px;padding:0;list-style:none;counter-reset:g;display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:10px}
.gtiles li{counter-increment:g;position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 12px 13px;display:flex;flex-direction:column}
.gtiles li::before{content:counter(g);position:absolute;top:8px;left:8px;width:22px;height:22px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;font-size:12px;display:grid;place-items:center;z-index:1}
.gtiles .gart{background:var(--chip);border-radius:9px;padding:10px 8px 8px;margin-bottom:10px}
.gtiles .gart svg{display:block;width:100%;max-width:190px;height:auto;margin:0 auto}
.gtiles b{font-size:13.5px;line-height:1.3;color:var(--ink);text-wrap:balance}
.gtiles span{font-size:12px;line-height:1.4;color:var(--muted);margin-top:3px;text-wrap:pretty}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:#1b1e24;color:#fff;font-weight:600;font-size:14px;padding:12px 18px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:all .2s;z-index:120;max-width:calc(100vw - 32px);pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}
.mscrim{position:fixed;inset:0;background:rgba(10,12,16,.5);z-index:110;display:flex;align-items:center;justify-content:center;padding:16px}
.modal{background:#fff;border-radius:16px;max-width:560px;width:100%;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.modal .mh{padding:20px 22px 0}.modal .mh h2{margin:0;font-size:19px;font-weight:800}
.modal .mb{padding:10px 22px 4px;font-size:15px;line-height:1.5}
.modal .mf{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px 20px}
@media (max-width:1100px){ .gtiles{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:760px){
  .gtiles{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:72%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}
  .gtiles li{scroll-snap-align:start}
  .cardwrap{grid-template-columns:1fr}
  .cardwrap img{order:-1}
  .grow{grid-template-columns:28px minmax(0,1fr);row-gap:10px}
  .grow .gacts{grid-column:2;grid-row:2}
  .grow.mine .gx{grid-column:2}
  .grow.post{grid-template-columns:minmax(0,1fr)}
  .grow.post .gacts{grid-column:1;grid-row:2}
  .ptitle{flex-wrap:wrap}
}
.msearch{display:flex;gap:8px;max-width:620px;margin:-4px 0 14px}
.msearch input{flex:1;min-width:0;height:40px;border:1px solid var(--line-2);border-radius:9px;padding:0 12px;font-family:inherit;font-size:14px;background:#fff}
.msearch input:focus-visible{outline:2px solid var(--ring);outline-offset:1px}
.mcount{margin:0 0 12px;font-size:13px}

/* ---------- comments, ratings, follows ---------- */
.cmt{scroll-margin-top:84px}
.cmt-a{display:flex;align-items:center;gap:10px;margin-top:4px;min-height:24px}
.cmt-a .linkbtn{padding:2px 0;font-size:12.5px}
.linkbtn.danger{color:var(--danger)}
.helpful{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:8px;border:1px solid var(--line-2);background:#fff;font-family:inherit;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--ink)}
.helpful:hover:not([disabled]){border-color:var(--hover-line)}
.helpful[disabled]{cursor:default;opacity:.7}
.helpful.on{background:rgba(244,34,0,.10);border-color:rgba(244,34,0,.55);color:var(--brand-ink)}
.hv-ic{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:7px solid currentColor}
.cform{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.cform textarea{border:1px solid var(--line-2);border-radius:9px;padding:10px 11px;font-family:inherit;font-size:14px;line-height:1.5;resize:vertical;width:100%}
.cform .btn{align-self:flex-start}
.cform-to{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--brand-ink)}
.ratebox{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;margin-top:24px}
.ratebox .ratings{margin-top:0;flex:1 1 300px}
.rateform{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;flex:1 1 300px;max-width:520px;display:flex;flex-direction:column;gap:4px}
/* The four reaction sliders, after the LiveJudge judging slider (his ask 2026-10-13: "like the hero section of
   livejudge.com"): the label and the score chip on one line, under them a tall red-to-green pill with a big dark
   thumb. A native range input underneath, so the keyboard, the screen reader and the existing input handler all
   keep working; only the track and thumb are drawn here (WebKit and Firefox each need their own selectors). */
.rs{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 10px;font-size:14px;padding:4px 0 6px}
.rs .rate-l{grid-area:1/1;font-weight:700;color:var(--ink)}
.rs b{grid-area:1/2;justify-self:end;font-variant-numeric:tabular-nums;font-size:14px;font-weight:700;line-height:1;color:#fff;background:#0C0D10;border:1px solid rgba(255,255,255,.34);border-radius:8px;padding:6px 10px;min-width:40px;text-align:center;box-shadow:0 3px 10px -2px rgba(0,0,0,.45)}
.rs input{grid-area:2/1/3/3;width:100%;height:44px;margin:0;padding:0;border:0;background:none;box-shadow:none;-webkit-appearance:none;appearance:none;cursor:pointer;touch-action:pan-y}
.rs input:focus{outline:none}
.rs input:focus-visible{outline:2px solid var(--ring);outline-offset:4px;border-radius:999px}
.rs input::-webkit-slider-runnable-track{height:34px;border-radius:999px;background:linear-gradient(90deg,#ef1c1c 0%,#f6631a 16%,#fbb00d 32%,#fff000 48%,#c6e800 62%,#63d21a 80%,#17b52e 100%);box-shadow:inset 0 1px 2px rgba(0,0,0,.18)}
.rs input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:40px;height:40px;margin-top:-3px;border-radius:50%;background:#15171A;border:2px solid #E7E7EA;box-shadow:0 2px 6px rgba(0,0,0,.55)}
.rs input:active::-webkit-slider-thumb{box-shadow:0 0 0 6px rgba(21,23,26,.14),0 2px 6px rgba(0,0,0,.55)}
.rs input::-moz-range-track{height:34px;border-radius:999px;background:linear-gradient(90deg,#ef1c1c 0%,#f6631a 16%,#fbb00d 32%,#fff000 48%,#c6e800 62%,#63d21a 80%,#17b52e 100%);box-shadow:inset 0 1px 2px rgba(0,0,0,.18)}
.rs input::-moz-range-thumb{width:40px;height:40px;border-radius:50%;background:#15171A;border:2px solid #E7E7EA;box-shadow:0 2px 6px rgba(0,0,0,.55)}
.rs input::-moz-range-progress{background:transparent}
.rateform .btn{align-self:flex-start;margin-top:4px}
.rateform .form-msg{margin:0;min-height:18px}
.follow-w{display:inline-flex;align-items:center;gap:8px}
.btn.follow.on{background:rgba(244,34,0,.10);border-color:rgba(244,34,0,.55);color:var(--brand-ink)}
.follow-n{font-size:12.5px;color:var(--muted);white-space:nowrap}
.page-hf{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.profile-h .follow-w,.profile-h .follow-own{margin-left:auto}
.post-acts{display:inline-flex;align-items:center;gap:8px;margin-left:auto}

/* ---------- notifications ---------- */
.bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:9px;color:#e7e9ee;margin-right:10px;border:1px solid transparent}
.bell:hover{border-color:#3a3f48}
.bell.on{background:rgba(244,34,0,.18);border-color:rgba(244,34,0,.7)}
.bell-n{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--brand);color:#fff;font-size:11px;font-weight:800;line-height:18px;text-align:center}
.notes{display:flex;flex-direction:column;gap:6px;max-width:760px}
.note{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:12px;align-items:center;background:#fff;border:1px solid #eaeaea;border-radius:12px;padding:11px 14px;text-decoration:none;color:var(--ink)}
.note:hover{border-color:var(--hover-line)}
.note.unread{background:#fff7f4;border-color:var(--brand-line)}
.note-t{display:flex;flex-direction:column;min-width:0;font-size:13px}
.note-t b{font-size:14px}
.note-t span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.note-d{font-size:12px;color:var(--faint);white-space:nowrap}
/* a setting box (the Kranitz style guide's .setbox) holding the device's push switch */
.setbox{display:flex;flex-direction:column;background:#ebebec;border:1px solid #d9d9db;border-radius:12px;padding:14px 15px 15px;max-width:760px;margin:0 0 18px}
.set-hrow{display:flex;align-items:center;gap:10px}
.set-h{flex:1;font-size:13.5px;font-weight:700}
.set-note{margin:7px 0 0;font-size:12.5px;line-height:1.5;color:var(--muted);text-wrap:pretty}
.set-in{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.set-in:has(> [hidden]:only-child){display:none}
.sw{position:relative;display:inline-flex;cursor:pointer}
.sw input{position:absolute;opacity:0;width:1px;height:1px}
.sw-t{width:40px;height:24px;border-radius:12px;background:#c9cdd6;position:relative;transition:background .15s}
.sw-t::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.sw input:checked + .sw-t{background:var(--brand)}
.sw input:checked + .sw-t::after{transform:translateX(16px)}
.sw input:disabled + .sw-t{opacity:.5;cursor:default}
.sw input:focus-visible + .sw-t{outline:2px solid var(--ring);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]),select,textarea{font-size:16px !important}}

/* the private preview's own sign-in (src/gate.js previewSignInPage): the bar's dark ground, the brand, one card */
body.gate{background:var(--bar);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.gate-in{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center}
.gate-logo{height:64px;width:auto;margin:0 0 26px}
.gate-card{width:100%;max-width:none}
.gate-card .btn{width:100%}
.gate-foot{margin:18px 0 0;color:#9aa0aa;font-size:13px}

/* ---- edit, delete, report and moderation (2026-10-11) ---- */
.btn-danger{color:var(--danger)}
.btn-danger:hover{border-color:var(--danger)}
.more .more-b{list-style:none;gap:8px;padding:0 12px}
.more .more-b::-webkit-details-marker{display:none}
.more[open] .wchev{transform:translateY(1px) rotate(-135deg)}
.fmenu-r{left:auto;right:0;width:230px}
button.fm-i{width:100%;text-align:left;background:none;font-family:inherit;cursor:pointer}
.fm-danger{color:var(--danger)}
.modnote{background:#fdf6e7;border:1px solid #f0dfb8;color:#7a4f0b;border-radius:10px;padding:11px 15px;margin:0 0 16px;font-weight:600;font-size:13.5px;max-width:760px}
.addch{margin:26px 0 0;padding-top:20px;border-top:1px solid var(--line)}
.ch-edit{font-size:12.5px;padding:0 0 0 8px}
.rl-n{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--brand);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.report-m{margin-left:4px;font-size:12.5px;color:var(--muted)}
.cfoot-l{display:inline-flex;align-items:center;gap:14px}
/* the report modal: the reasons are chips (a small set, all visible), the note sits under them with air */
.rp-sub{margin:0 0 14px;font-size:13.5px}
.rp-rs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.rp-note{margin:0}
.rp-note textarea{height:auto;padding:10px 11px;line-height:1.5}
.modal .form-msg{margin:10px 0 0}
/* the queue */
.mtabs{grid-template-columns:repeat(3,auto);justify-content:start;margin:0 0 18px}
.mtabs .seg-b{padding:0 16px;gap:8px}
.mtab-n{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--brand);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.mqlist{display:flex;flex-direction:column;gap:14px;max-width:860px}
.mq{background:#fff;border:1px solid #eaeaea;border-radius:14px;box-shadow:0 1px 3px rgba(20,22,26,.06),0 6px 18px rgba(20,22,26,.04);overflow:hidden}
.mq-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;background:#f3f4f6;border-bottom:1px solid var(--line);padding:10px 16px;min-height:46px}
.mq-head .eyebrow{margin:0}
.mq-n{font-size:12.5px;font-weight:600;color:var(--muted)}
.mq-rs{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.mq-body{padding:14px 16px 4px}
.mq-t{display:flex;align-items:flex-start;gap:10px}
.mq-h{font-size:15px;font-weight:700;text-decoration:none}
a.mq-h:hover{text-decoration:underline}
.mq-q{white-space:pre-wrap;font-size:14px}
.mq-x{margin-top:4px;color:var(--muted);font-size:13.5px}
.mq-by{margin-top:6px;font-size:12.5px;color:var(--muted)}
.mq-by a{color:var(--ink);font-weight:600}
.mq-state{flex:none;margin-left:auto;font-size:11.5px;font-weight:700;border-radius:6px;padding:2px 8px;background:#fdf6e7;color:#7a4f0b;border:1px solid #f0dfb8}
.mq-removed{background:#fbecea;color:var(--danger);border-color:#f1c7c1}
.mq-notes{list-style:none;margin:12px 0 0;padding:10px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;font-size:13px}
.mq-notes div{margin-top:2px;color:var(--ink)}
.mq-acts{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 16px}
.mq-done{background:#e9f5ee;border:1px solid #bfe3cd;color:#1f6f45;border-radius:12px;padding:16px 18px;font-weight:600}
.mlog{background:#fff;border:1px solid #eaeaea;border-radius:14px;max-width:860px}
.mlog-r{display:flex;gap:16px;padding:10px 16px;border-top:1px solid var(--line);font-size:13.5px}
.mlog-r:first-child{border-top:0}
.mlog-d{flex:none;width:96px;color:var(--muted);font-size:12.5px}

/* the bar on a phone (2026-10-11: signed in it needed 463px, so the page scrolled sideways). The logo keeps its
   size and carries the world's name, so the world selector shrinks to its chevron; the picture moves into the menu. */
.rl-phone{display:none}
@media (max-width:899px){ .rl-phone{display:flex} .rl-phone .av{width:20px;height:20px;font-size:9px} }
@media (max-width:560px){
  .bar-in{gap:8px;padding:10px 12px}
  .wbtn{padding:0 9px;max-width:none}
  .wbtn .wl{display:none}
  .bell{margin-right:2px;width:34px}
  .btn-post{margin-right:4px}
  .bar-me .btn{padding:0 11px}
}
@media (max-width:420px){ .bar-me .me{display:none} .btn-post{margin-right:0} }

/* ---- the tray: photos, videos, ratings and comments folded into icon buttons (his call 2026-10-11) ---- */
.tray-w{margin-top:18px}
.tray-end{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.tray{display:flex;flex-wrap:wrap;gap:8px}
.tray-b{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 13px;border-radius:9px;border:1px solid var(--line-2);background:#fff;color:var(--ink);font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap}
.tray-b:hover{border-color:var(--hover-line)}
.tray-b svg{color:var(--muted);flex:none}
.tray-b b{font-weight:700}
.tray-l{font-weight:500;color:var(--muted)}
.tray-b.on{background:rgba(244,34,0,.10);border-color:rgba(244,34,0,.55);color:var(--brand-ink)}
.tray-b.on svg,.tray-b.on .tray-l{color:var(--brand-ink)}
.tray-p{margin-top:16px}
.tray-p .ratebox{margin-top:0}
.comments.tray-p{margin-top:16px}
.tray-p.gallery{margin-top:14px}
@media (max-width:560px){
  .tray-l{display:none}
  .tray-b{padding:0 12px;gap:6px}
  .post-acts{margin-left:0;width:100%}
}

/* Save to Home Screen (RCMarket's, 2026-10-11): the strip at the top of a feed, the App Icon box on the profile */
.appstrip{max-width:760px;margin:0 0 14px}
.appstrip .pwa-install{margin:0}
.appbox{margin:4px 0 18px}
/* the pwa-kit dialogs, strip and switch in RCPilot's colors (the kit ships indigo) */
html:root{--pwa-brand:var(--brand);--pwa-ink:var(--ink);--pwa-mut:var(--muted);--pwa-card:var(--card);--pwa-line:var(--line);--pwa-font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}

/* ---- the taxonomy tool (admins, 2026-10-11): a panel per section or maker, a row per topic or model ---- */
.tx{max-width:900px}
.tx-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 16px}
.tx-bar .btn{margin-left:auto}
.tx-find{height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 11px;font-family:inherit;font-size:13.5px;width:280px;max-width:100%}
.tx-wait{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:#ebebec;border-radius:10px;padding:12px 15px;margin:0 0 16px;font-size:13.5px}
.tx-panel{background:#fff;border:1px solid #eaeaea;border-radius:14px;box-shadow:0 1px 3px rgba(20,22,26,.06),0 6px 18px rgba(20,22,26,.04);margin:0 0 14px;overflow:visible}
.tx-ph{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#e5e5e5;border-bottom:1px solid #c2c2c2;padding:9px 12px 9px 16px;min-height:50px;border-radius:14px 14px 0 0}
.tx-ph:last-child{border-bottom:0;border-radius:14px}
.tx-ph h2{margin:0;font-size:16px;font-weight:800}
.tx-ph h2 a{text-decoration:none}
.tx-acts{margin-left:auto;display:inline-flex;align-items:center;gap:6px}
.tx-pb{background:#f8f8f8;padding:6px 8px;border-radius:0 0 14px 14px}
.tx-row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px 6px 6px 12px;margin:4px 0;min-height:44px}
.tx-row[hidden]{display:none}
.tx-l{flex:1;min-width:0;display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px}
.tx-l a{text-decoration:none}
.tx-l a:hover,.tx-ph h2 a:hover{text-decoration:underline}
.tx-w{flex:none;font-size:11.5px;font-weight:600;color:var(--muted);background:var(--chip);border:1px solid var(--line);border-radius:6px;padding:1px 7px;white-space:nowrap}
.tx-w-all{color:var(--faint);background:none;border-color:transparent}
.tx-n{flex:none;font-size:12.5px;color:var(--muted);min-width:64px;text-align:right;white-space:nowrap}
.tx-ph .tx-n{min-width:0}
.tx-sm{height:32px;padding:0 12px;font-size:12.5px}
.tx-more{position:relative}
.tx-mb{list-style:none;width:32px;height:32px;border-radius:8px;border:1px solid var(--line-2);background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:800;color:var(--muted)}
.tx-mb::-webkit-details-marker{display:none}
.tx-mb:hover{border-color:var(--hover-line)}
.tx-more .fmenu{top:38px;width:250px}
.tx-empty{color:var(--muted);font-size:13px;padding:10px 8px}
.tx-review .tx-ph{background:#fdf6e7;border-color:#f0dfb8}
/* the change modal: fields, then the dry run's answer */
.tx-modal .mb{display:flex;flex-direction:column}
.tx-modal .field{margin-bottom:16px}
.tx-modal .field input{height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 11px;font-family:inherit;font-size:14px;width:100%}
.tx-ctx{margin:0 0 14px;font-size:13.5px}
.tx-chips{gap:6px}
.tx-dest{max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:10px}
.tx-dest .pickgrp-h{margin:10px 0 6px}
.tx-ai{margin-bottom:4px}
.tx-pick .picklist{max-height:200px;overflow:auto}
.tx-pick .chips{margin-bottom:8px}
.tx-chosen{font-size:12.5px;font-weight:600;color:var(--brand-ink);margin-top:6px;min-height:18px}
.tx-prev{font-size:13.5px;line-height:1.5;border-radius:10px;padding:0;min-height:20px}
.tx-prev.ok{background:#ebebec;padding:10px 12px}
.tx-prev.bad{background:#fbecea;color:var(--danger);padding:10px 12px;font-weight:600}
.tx-prev.busy{color:var(--muted)}
.btn.tx-danger{background:var(--danger);border-color:var(--danger)}
.tx-runlog{max-height:240px;overflow:auto;font-size:13px;margin:6px 0 12px;padding-left:22px}
.tx-log .mlog-r{align-items:center}
.tx-lt{flex:1}
.tx-undone{opacity:.55}
.pickrow.on{background:rgba(244,34,0,.10);border-color:rgba(244,34,0,.55);color:var(--brand-ink)}

/* Moderate Post (2026-10-11): the current owner or event, then a search to change it */
.mo-cur{font-weight:600;font-size:14px;padding:2px 0}
.mo-pick{display:flex;gap:8px;align-items:center}
.mo-pick input{flex:1;min-width:0;height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 11px;font-family:inherit;font-size:14px}
.mo-quiet{max-width:none;margin:4px 0 18px}
.chip-event{background:#ebebec;border-color:#d9d9db}


/* ---- the feed: one column (his pick 2026-10-11), and the column beside it (src/rail.js) ---- */
.main-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
@media (min-width:1180px){ .main-wrap{grid-template-columns:minmax(0,700px) 300px;gap:28px} .side{position:sticky;top:92px;align-self:start;padding-top:24px} }
@media (max-width:1179px){ .side{padding:0 0 32px} }
.scs{display:flex;flex-direction:column;gap:14px;max-width:700px}
.sc{background:#fff;border:1px solid #eaeaea;border-radius:14px;box-shadow:0 1px 3px rgba(20,22,26,.06),0 6px 18px rgba(20,22,26,.04);padding:14px 18px 16px;scroll-margin-top:84px}
.sc-pin{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:#d81d00;margin-right:8px}
.sc-pin svg{width:14px;height:14px;fill:currentColor}
.sc-h{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;font-size:13px}
.sc-h .kind{margin:0 0 0 auto}
.sc-t{margin:8px 0 0;font-size:18px;font-weight:800;line-height:1.28;text-wrap:balance}
.sc-t a{text-decoration:none}
.sc-t a:hover{text-decoration:underline}
.sc-x{color:#3d434b;margin:6px 0 0;font-size:14.5px;line-height:1.55}
.sc-ph{position:relative;display:block;margin-top:12px;border-radius:10px;overflow:hidden;background:var(--chip)}
.sc-ph img{display:block;width:100%;max-height:440px;object-fit:cover}
.sc-more{position:absolute;right:10px;bottom:10px;background:rgba(14,17,22,.78);color:#fff;font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:8px}
.sc-play{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:rgba(14,17,22,.7)}
.sc-play::after{content:"";position:absolute;left:23px;top:18px;border-left:18px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent}
.sc .chips{padding:12px 0 0;margin:0}
.sc-f{margin-top:10px;font-size:13px}
.sc-f a{color:var(--muted);text-decoration:none;font-weight:600}
.sc-f a:hover{color:var(--ink);text-decoration:underline}
.main-wrap .fbar,.main-wrap .page-h,.main-wrap .appstrip{max-width:700px}
/* the column beside it: one panel per block, real data or nothing */
.rb{background:#fff;border:1px solid #eaeaea;border-radius:14px;padding:12px 14px 14px;margin:0 0 14px}
.rb-h{display:flex;align-items:baseline;justify-content:space-between;margin:0 0 6px}
.rb h2{margin:0;font-size:14px;font-weight:800}
.rb-h a{font-size:12.5px;font-weight:600;color:var(--brand-ink);text-decoration:none}
.rb-ev{display:flex;flex-direction:column;gap:1px;padding:8px 0;border-top:1px solid var(--line);text-decoration:none;font-size:13.5px}
.rb-ev:first-of-type{border-top:0}
.rb-evd{font-size:11.5px;font-weight:700;color:var(--brand-ink);text-transform:uppercase;letter-spacing:.04em}
.rb-ev .muted,.rb-ad .muted{font-size:12px}
.rb-ad{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:start;padding:8px 0;border-top:1px solid var(--line);text-decoration:none}
.rb-ad:first-of-type{border-top:0}
.rb-ad img,.rb-noimg{width:64px;height:64px;object-fit:cover;border-radius:8px;background:var(--chip);display:block}
.rb-adt{display:flex;flex-direction:column;gap:1px;font-size:13.5px;min-width:0}
.rb-adt b{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.rb-price{font-weight:800;color:var(--ink)}
.rb-feat{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--brand-ink)}
.rb-promo{background:var(--bar);border-color:var(--bar);color:#e7e9ee}
.rb-promo h2{color:#fff;font-size:15px}
.rb-promo p{margin:6px 0 12px;font-size:13px;color:#c9cdd6;line-height:1.5}
.side-in{padding:0 !important}
.side-in .rb{margin:0 0 14px}
/* top alignment (his standing rule): the heading and filters are row 1, the posts row 2, and the side column starts in
   row 2, level with the first post, whatever the heading holds */
.main-grid{display:grid;grid-template-columns:minmax(0,1fr);row-gap:0;column-gap:28px}
.main-grid > .feed-head,.main-grid > .feed-body{grid-column:1;min-width:0}
.feed-head{max-width:700px}
@media (min-width:1180px){
  .main-grid{grid-template-columns:minmax(0,700px) 300px}
  .main-grid > .side{grid-column:2;grid-row:2 / span 2;position:sticky;top:92px;align-self:start;padding:0}
  .main-grid > .ann ~ .side{grid-row:3 / span 2}
}
@media (max-width:1179px){ .main-grid > .side{grid-column:1;padding:0 0 32px} }

/* the world chooser (his call 2026-10-11): a window of tiles on arrival, closed only by picking one */
.choose{z-index:120}
.choose-m{max-width:720px}
.choose-sub{margin:6px 0 0;font-size:14px}
.choose-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:6px 0 10px}
.choose-t{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 10px 16px;border:1px solid var(--line-2);border-radius:12px;background:#fff;text-decoration:none;color:var(--ink);text-align:center}
.choose-t:hover{border-color:var(--hover-line)}
.choose-t:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.choose-t .wicon{display:block;width:76px;height:76px;background:var(--ink);-webkit-mask:var(--wi) center/contain no-repeat;mask:var(--wi) center/contain no-repeat}
.choose-t b{font-size:15px}
.choose-t .muted{font-size:12.5px}
@media (max-width:560px){ .choose-g{grid-template-columns:repeat(2,minmax(0,1fr))} .choose-t{padding:14px 8px} .choose-t .wicon{width:64px;height:64px} }
.rail-h{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:4px 12px 6px}

/* ---- events: the map on top, the filters, the list (his ask 2026-10-11) ---- */
.evmap-w{position:relative;max-width:860px;margin:0 0 14px}
.evmap{height:380px;border-radius:14px;overflow:hidden;border:1px solid #eaeaea;background:#e8eaed}
.evmap-area{position:absolute;top:12px;left:50%;transform:translateX(-50%);box-shadow:0 4px 14px rgba(20,22,26,.18)}
.evmap-info{font:13px/1.45 Inter,system-ui,sans-serif;max-width:240px}
.evmap-info a{font-weight:700;color:var(--ink);text-decoration:none;display:block;margin-bottom:2px}
.evmap-info a:hover{text-decoration:underline}
.evf{max-width:860px;background:#fff;border:1px solid #eaeaea;border-radius:14px;padding:12px 14px;margin:0 0 6px;display:flex;flex-direction:column;gap:10px}
.evf-row{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap}
.evf-l{flex:none;width:84px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.evf-seg{display:flex;flex-wrap:wrap;gap:6px}
.evf-seg .seg-b{padding:0 12px;height:32px;font-size:13px}
.evf .chips{gap:6px;flex:1;min-width:0;margin:0}
.evf .chip-pick{height:32px;padding:0 12px;font-size:13px}
.evf-near{margin-left:auto;height:34px}
.evf-near.on{background:rgba(244,34,0,.10);border-color:rgba(244,34,0,.55);color:var(--brand-ink)}
.evf-count{font-size:13px;font-weight:600}
.ev-side{margin-left:auto;flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.ev-side .ev-src{margin-left:0}
.ev-mi{font-size:12.5px;font-weight:700;color:var(--ink)}
.evbody .month[hidden],.evbody .evlist[hidden]{display:none}
@media (max-width:760px){ .evmap{height:260px} .evf-l{width:100%} .evf-near{margin-left:0} }
.evf-worlds a.chip-pick{display:inline-flex;align-items:center}

/* ---- an event: banner, worlds, edit (src/content.js eventPage) and the member form (src/eventedit.js) ---- */
.ev-banner{display:block;width:100%;aspect-ratio:16/5;object-fit:cover;border-radius:12px;margin:0 0 18px;background:var(--chip)}
.ev-headrow{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ev-worlds{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.evx{max-width:760px;background:#fff;border:1px solid #eaeaea;border-radius:14px;box-shadow:0 1px 3px rgba(20,22,26,.06),0 6px 18px rgba(20,22,26,.04);padding:22px 22px 18px}
.evx-note{max-width:760px;margin:0 0 14px;color:var(--muted)}
.evx-l{font-size:13px;font-weight:700}
.evx .chips{padding:0}
.evx-row{display:flex;gap:16px;flex-wrap:wrap}
.evx-row > .field{flex:0 1 200px}
.evx-row > .field input[type=date]{width:100%}
.evx-linkrow > .field:first-child{flex:1 1 300px}
.evx-linkrow > .field:last-child{flex:0 0 auto}
.evx-banner{position:relative;width:100%;aspect-ratio:16/5;border:1.5px dashed var(--line-2);border-radius:12px;background:var(--chip);display:flex;align-items:center;justify-content:center;overflow:hidden}
.evx-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.evx-banner.has{border-style:solid}
.evx-banner.has .evx-bempty{display:none}
.evx-bempty{font-size:13px;color:var(--faint);padding:0 16px;text-align:center}
.evx-bacts{display:flex;gap:10px;flex-wrap:wrap}
.evx-msg{margin:0 0 14px;padding:10px 14px;border-radius:10px;background:#fdecea;color:var(--danger);font-size:13.5px;font-weight:600}
.evx-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;margin-top:6px}
.evx-sp{flex:1}
.fgrp-fact{font-size:15px;font-weight:700;color:var(--ink);padding:2px 0}

/* moderator chips (his ask 2026-10-11): one quiet row under a post, only for moderators and admins */
.modchips{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:10px;border-top:1px dashed var(--line-2)}
.post .modchips{margin:10px 0 2px;border-top:0;padding-top:0}
.modchips-l{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-right:2px}
.modchip{height:26px;padding:0 10px;font-size:12px;text-decoration:none}
.modchip-danger{color:var(--danger)}

/* ---- the personal area (/me): its own left nav, boxes, lists and messages (src/me.js, src/messages.js) ---- */
.rl-back{color:var(--ink);border-color:var(--line-2);margin-bottom:10px}
.me-who{display:flex;align-items:center;gap:10px;padding:8px 10px 12px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line);margin-bottom:6px}
.me-who b{display:block;font-size:14px;line-height:1.25}
.me-who .faint{font-size:12px}
.rail-me .rail-h{padding-top:12px}
.setgrid{display:flex;flex-wrap:wrap;gap:12px;max-width:900px;margin:0 0 18px;align-items:stretch}
.setgrid > .setbox{flex:1 1 240px;margin:0;max-width:none}
.setgrid > .setbox .set-in{margin-top:auto;padding-top:16px}
.setbox-danger .set-h{color:var(--danger)}
.setband{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;background:#ebebec;border-radius:10px;padding:11px 15px 12px;font-size:13px;color:var(--muted);max-width:900px;margin:0 0 18px}
.setband b{color:var(--ink);font-size:13.5px}
.setband .fact-l{margin-right:6px}
.mebox{background:#fff;border:1px solid #eaeaea;border-radius:14px;box-shadow:0 1px 3px rgba(20,22,26,.06),0 6px 18px rgba(20,22,26,.04);padding:0 20px 18px;max-width:900px;margin:0 0 18px}
.mebox-h{margin:0 -20px 18px;padding:12px 20px;min-height:46px;background:#E5E5E5;border-bottom:1px solid #C2C2C2;border-radius:14px 14px 0 0;font-size:14px;font-weight:800}
.mebox-f{display:flex;align-items:center;justify-content:flex-end;gap:14px}
.mebox-f .form-msg{margin:0;min-height:0}
.mebox .set-note{margin:-6px 0 12px}
.field select{height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 9px;font-family:inherit;font-size:13.5px;color:var(--ink);background:#fff;width:100%}
.me-tabs{margin:0 0 16px}
.ptitle .actions{display:flex;gap:10px}
/* a list row: thumb, title and facts, actions to the right */
.mrows{display:flex;flex-direction:column;gap:8px;max-width:900px}
.mrow{display:flex;align-items:flex-start;gap:14px;background:#fff;border:1px solid #eaeaea;border-radius:12px;padding:12px 14px}
.mrow-img{flex:none;width:72px;height:54px;border-radius:8px;object-fit:cover;background:var(--chip)}
.mrow-blank{display:block;border:1px solid var(--line)}
.mrow-b{flex:1;min-width:0}
.mrow-t{font-weight:700;font-size:15px;color:var(--ink);text-decoration:none}
.mrow-t:hover{text-decoration:underline}
.mrow-x{font-size:14px;line-height:1.5;color:var(--ink)}
.mrow-m{margin-top:4px;font-size:12.5px;color:var(--muted)}
.mrow-m a{color:var(--ink);font-weight:600}
.mrow-a{flex:none;display:flex;gap:8px}
.st{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:7px;font-size:11.5px;font-weight:700;background:#fdf6e7;border:1px solid #f0dfb8;color:#7a5410;margin-left:6px}
.sents{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sent{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 9px;border-radius:8px;background:var(--chip);border:1px solid var(--line);font-size:12px;color:var(--muted)}
.sent b{color:var(--ink)}
.mcard-act{align-items:center}
.mcard-l{display:flex;gap:12px;align-items:center;flex:1;min-width:0;text-decoration:none;color:var(--ink)}
.mcard-act .follow-w{flex:none}
.mcard-act .follow-n:empty{display:none}
.frow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line)}
.frow:first-of-type{border-top:0}
.frow a{font-weight:600;color:var(--ink);text-decoration:none}
.frow .follow-n:empty{display:none}
/* email per kind: label, then three choices */
.ekind{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--line)}
.ekind-l{font-weight:600}
.seg{display:inline-flex;gap:6px}
.seg .seg-b{padding:0 12px}
.slogan{font-style:italic;color:var(--muted);margin-top:2px}
.des{padding:12px 24px 0}
/* messages: the list beside the open conversation */
.inbox{display:grid;grid-template-columns:320px minmax(0,1fr);background:#fff;border:1px solid #eaeaea;border-radius:14px;overflow:hidden;height:calc(100vh - 190px);min-height:460px;box-shadow:0 1px 3px rgba(20,22,26,.06)}
.tlist{border-right:1px solid var(--line);overflow:auto;background:#fafafb}
.tl{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);border-left:3px solid transparent}
.tl:hover{background:#fff}
.tl.on{background:rgba(244,34,0,.07);border-left-color:var(--brand)}
.tl-b{flex:1;min-width:0;display:flex;flex-direction:column}
.tl-n{font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-x{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl.unread .tl-n,.tl.unread .tl-x{color:var(--ink);font-weight:700}
.tl-r{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.tl-d{font-size:11px;color:var(--faint);white-space:nowrap}
.tl-empty,.tv-empty{padding:22px;color:var(--muted)}
.tview{display:flex;flex-direction:column;min-width:0;min-height:0}
.th-h{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line)}
.th-back{display:none}
.th-who{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.th-n{font-size:15px}
.th-more{margin-left:auto}
.msgs{flex:1;overflow:auto;padding:16px 18px;display:flex;flex-direction:column;gap:8px;background:#f6f7f9}
.msgs-more{text-align:center;font-size:12.5px;margin-bottom:6px}
.bub{max-width:min(560px,78%);padding:9px 13px 7px;border-radius:14px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.bub p{margin:0 0 6px}
.bub p:last-child{margin:0}
.bub-them{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:5px}
.bub-me{align-self:flex-end;background:var(--brand-soft);border:1px solid var(--brand-line);border-bottom-right-radius:5px}
.bub-d{display:block;font-size:11px;color:var(--faint);margin-top:2px}
.msgs .day{align-self:center;font-size:11.5px;font-weight:700;color:var(--muted);background:#e9ebef;border-radius:8px;padding:3px 10px;margin:6px 0 2px}
.bub-me .bub-d{text-align:right}
.th-start,.th-closed{color:var(--muted);text-align:center;padding:12px;font-size:13px}
.th-closed{border-top:1px solid var(--line);background:#fff}
.composer{display:flex;align-items:flex-end;gap:10px;padding:12px 14px;border-top:1px solid var(--line);background:#fff}
.composer textarea{flex:1;min-height:40px;max-height:180px;resize:none;border:1px solid var(--line-2);border-radius:10px;padding:9px 12px;font:inherit;font-size:14px;line-height:1.45}
.composer textarea:focus,.field select:focus{outline:2px solid var(--ring);outline-offset:1px}
.tview > .form-msg{margin:0;padding:0 14px}
.tview > .form-msg:empty{display:none}
.nm-list{display:flex;flex-direction:column;gap:4px;min-height:40px}
.nm-i{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid transparent;text-decoration:none;color:var(--ink)}
.nm-i:hover{border-color:var(--hover-line)}
.nm-i span{display:flex;flex-direction:column;font-size:12.5px}
.nm-i b{font-size:14px}
.mq li > div{white-space:pre-line}
@media (max-width:760px){
  .inbox{grid-template-columns:1fr;height:calc(100vh - 150px)}
  .inbox.open .tlist{display:none}
  .inbox:not(.open) .tview{display:none}
  .th-back{display:inline-flex}
  .mrow{flex-wrap:wrap}
  .mrow-a{width:100%;justify-content:flex-end}
  .ekind{flex-direction:column;align-items:flex-start}
}
/* Report on every post: quiet, at the end of the card's footer line */
.sc-f{display:flex;align-items:center;gap:12px}
.flag{margin-left:auto;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 8px;border-radius:7px;border:1px solid transparent;background:none;color:var(--faint);font:600 12px inherit;font-family:inherit;text-decoration:none;cursor:pointer}
.flag:hover{border-color:var(--hover-line);color:var(--muted)}
.card-meta .flag{margin-left:0}
/* the photo strip: the main photo, then one row of thumbs; a grey dashed +N tile when there are more */
.pstrip{margin-top:14px}
.ps-main{display:block;border-radius:10px;overflow:hidden;background:var(--chip)}
.ps-main img{display:block;width:100%;max-height:520px;object-fit:cover}
.sc .ps-main img{max-height:440px}
.ps-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:8px}
.ps-t{display:block;border-radius:8px;overflow:hidden;background:var(--chip);aspect-ratio:1}
.ps-t img{display:block;width:100%;height:100%;object-fit:cover}
.ps-t:hover,.ps-main:hover{opacity:.92}
.ps-more{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:2px dashed var(--line-2);border-radius:8px;background:#f1f2f4;color:var(--muted);text-decoration:none;font-family:inherit;cursor:pointer;padding:0}
.ps-more b{font-size:18px;font-weight:800;color:var(--ink)}
.ps-more span{font-size:12px;font-weight:600}
.ps-more:hover{border-color:var(--hover-line);background:#eceef1}
/* Videos: a gallery, one video per tile, its post and poster underneath */
.vgal{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.vt{background:#fff;border:1px solid #eaeaea;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(20,22,26,.06)}
.vt-b{padding:11px 14px 13px;display:flex;flex-direction:column;gap:3px;flex:1}
.vt-t{font-weight:700;font-size:14.5px;line-height:1.35;color:var(--ink);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vt-t:hover{text-decoration:underline}
.vt-ch{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vt-m{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:6px;font-size:12.5px;color:var(--muted)}
.vt-m .who{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:600;text-decoration:none}
/* the video viewer: the photo viewer's frame, the player's own controls, the post's title and words underneath */
.lb-video{background:#0b0d11}
.lb-vid{width:100%;height:100%;object-fit:contain;border-radius:6px;background:#000;outline:0}
.lb-vcap{padding:12px 24px 20px;max-width:900px;margin:0 auto;width:100%;text-align:center}
.lb-vt{display:inline-block;font-size:16px;font-weight:800;color:#fff;text-decoration:none}
.lb-vt:hover{text-decoration:underline}
.lb-vch{font-size:12.5px;font-weight:600;color:#c9cdd6;margin-top:2px}
.lb-vch[hidden],.lb-vd[hidden]{display:none}
.lb-vd{margin:8px 0 0;font-size:13.5px;line-height:1.55;color:#c9cdd6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-wrap:pretty}
.vt-p{position:relative;display:block;aspect-ratio:16/9;background:#0e1116;overflow:hidden}
.vt-p img{display:block;width:100%;height:100%;object-fit:cover}
.vt-p:hover img{opacity:.9}
@media (max-width:760px){ .lb-video .lb-stage{padding:8px 0 64px} .lb-video .lb-prev,.lb-video .lb-next{top:auto;bottom:8px;transform:none} }
/* a page with no side column (the Videos gallery): the head spans the content, so the sort buttons sit at its right edge */
.main:not(.main-grid) .feed-head{max-width:none}
img[data-missing]{object-fit:cover}
/* Moderate Post on one screen: the filing sits under What it is */
.mo-filing{margin:0 0 18px}
.mo-filing .csub{margin:4px 0 10px}
/* taxonomy drag: the grip leads each topic row and section head; ghost, drop zone, the source out of the flow */
.tx-grip{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:30px;margin-left:-6px;border-radius:6px;color:#9aa0aa;cursor:grab;touch-action:none;user-select:none}
.tx-grip:hover{color:var(--ink);background:rgba(0,0,0,.05)}
.tx-ph .tx-grip{margin-left:-8px}
.tx-ghost{position:fixed;z-index:120;pointer-events:none;margin:0;transform:rotate(1.5deg);box-shadow:0 16px 40px rgba(20,22,26,.28);opacity:.96;overflow:hidden}
.tx-panel.tx-ghost{-webkit-mask-image:linear-gradient(#000 62%,rgba(0,0,0,.15));mask-image:linear-gradient(#000 62%,rgba(0,0,0,.15))}
.tx-zone{border:2px dashed rgba(244,34,0,.55);background:rgba(244,34,0,.07);border-radius:10px;margin:4px 0;box-sizing:border-box}
.tx-zone-sec{border-radius:14px;margin:0 0 14px;background:rgba(244,34,0,.04)}
.tx-drag-src{display:none !important}
body.dragging,body.dragging *{cursor:grabbing !important}
body.dragging{user-select:none}
/* the taxonomy's world tabs, above Topics / Makers & Models / Change Log */
.tx-worlds{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 16px}
/* a tab row is never butted against what it opens (his standing rule, again 2026-10-12 on Admin > Community) */
.tx-tabs{margin:0 0 22px}
.tx-worlds .seg-b{padding:0 14px}
/* ---- the admin tools (src/admin.js, public/assets/staff.js) ---- */
.adm-f{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 10px;max-width:1000px}
.adm-f input[type=search]{flex:1 1 260px;height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 11px;font:inherit;font-size:13.5px}
.adm-l{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--muted)}
.adm-l select,.field select{height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 9px;font:inherit;font-size:13.5px;color:var(--ink);background:#fff}
.adm-count{margin:0 0 12px}
.adm-pager{display:flex;gap:10px;justify-content:center;margin:18px 0}
.mrow-btn{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;align-items:center}
.mrow-btn:hover{border-color:var(--hover-line)}
.mrow-btn .mrow-t{text-decoration:none}
.mrow-go{flex:none;font-size:12.5px;font-weight:700;color:var(--muted);border:1px solid var(--line-2);border-radius:8px;padding:5px 10px}
.rchip{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:7px;font-size:11.5px;font-weight:700;background:var(--chip);border:1px solid var(--line);color:var(--ink);margin-left:4px}
.rchip-admin{background:rgba(244,34,0,.10);border-color:rgba(244,34,0,.45);color:var(--brand-ink)}
.rchip-moderator{background:#eaf1fb;border-color:#c9d9f2;color:#1d4f91}
.st-removed{background:#fdecea;border-color:#f3c3bd;color:#a5281b}
.st-quiet{background:var(--chip);border-color:var(--line);color:var(--muted)}
.st-live{background:#e9f5ee;border-color:#bfe1cc;color:#1f6f43}
.modal.modal-wide{max-width:880px}
.mc-who{display:flex;align-items:center;gap:12px;width:100%}
.mc-who h2{margin:0}
.mc-pub{margin-left:auto}
.mc-b{overflow:auto}
.mc-band{max-width:none}
.mc-grid{max-width:none}
.mc-grid .setbox{flex-basis:240px}
.mc-grid .setbox-w{flex-basis:100%}
.mc-seg{display:inline-flex;gap:6px}
.mc-seg .seg-b{padding:0 12px}
.mc-seg .seg-b:disabled{opacity:.45;cursor:default}
.mc-perms{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin-top:12px}
.mc-perm{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer}
.mc-perm > span:last-child{display:flex;flex-direction:column;gap:2px;font-size:12.5px}
.mc-perm b{font-size:13.5px}
.mc-sub{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:18px 0 6px}
.set-in .set-n{width:88px;height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 10px;font:inherit}
.set-in .set-t{flex:1 1 160px;min-width:0;height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 10px;font:inherit}
.mebox-h2{margin-top:6px;border-radius:0;border-top:1px solid #C2C2C2}
.seg-more{margin-top:16px}
/* the announcement over the feed */
/* the bulletin (his redesign 2026-10-12): header band in the brand red, white body, lifted with a shadow, full width */
.ann{background:#fff;border:1px solid #e6e6e8;border-radius:14px;overflow:hidden;margin:0 0 22px;box-shadow:0 1px 2px rgba(20,22,26,.06),0 8px 24px -6px rgba(20,22,26,.16)}
.ann[hidden]{display:none}
.ann-h{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 16px;background:linear-gradient(100deg,#d81d00 0%,#f42200 55%,#ff5a1f 100%);color:#fff}
.ann-ic{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ann-k{flex:1;min-width:0;font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ann-w{font-weight:600;letter-spacing:.06em;opacity:.92}
.ann-x{flex:none;width:30px;height:30px;border:0;border-radius:8px;background:rgba(255,255,255,.14);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.ann-x:hover{background:rgba(255,255,255,.26)}
.ann-x svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.ann-t{padding:14px 18px 16px;font-size:15px;line-height:1.55;color:var(--ink)}
.ann-t a{font-weight:700;color:var(--brand-ink)}
/* full width over the feed and the side column; explicit rows so a dismissed bulletin leaves no gap */
.main-grid > .ann{grid-column:1 / -1;grid-row:1}
.main-grid > .ann ~ .feed-head{grid-row:2}
.main-grid > .ann ~ .feed-body{grid-row:3}
/* Activity */
.act-t{display:flex;flex-direction:column;font-size:13.5px}
.act-r{display:grid;grid-template-columns:1.3fr repeat(5,1fr);gap:8px;padding:7px 0;border-top:1px solid var(--line)}
.act-r span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.act-h{border-top:0;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.act-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:900px}
@media (max-width:760px){ .act-2{grid-template-columns:1fr} .act-r{grid-template-columns:1.4fr repeat(5,1fr);font-size:12px} }

/* ---- Your Picture and Banner (/me): previews, and the two editors (slide the banner, size the picture) ---- */
.pics{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;align-items:start}
.pic-side,.pic-main{display:flex;flex-direction:column;gap:14px}
.pic-side{align-items:center}
.pic-av .av-lg{width:120px;height:120px;font-size:40px}
.pic-banner{aspect-ratio:3/1;border-radius:10px;background:#dcdcdd center/cover no-repeat;border:1px solid #d9d9db}
.pic-none{display:flex;align-items:center;justify-content:center;background:#ebebec;border-style:dashed;color:var(--muted);font-size:13px}
.pic-acts{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:640px){.pics{grid-template-columns:1fr}.pic-side{align-items:flex-start}}
.crop{position:relative;overflow:hidden;touch-action:none;cursor:grab;background:#1a1d23;user-select:none;-webkit-user-select:none}
.crop.grabbing{cursor:grabbing}
.crop img{position:absolute;left:0;top:0;max-width:none;pointer-events:none;-webkit-user-drag:none}
.crop-bn{aspect-ratio:3/1;border-radius:10px;width:100%}
.crop-bn img{width:100%;height:100%;object-fit:cover}
.crop-av{width:300px;height:300px;margin:0 auto;border-radius:12px}
.crop-av::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle closest-side,transparent calc(100% - 2px),rgba(255,255,255,.85) calc(100% - 2px),rgba(255,255,255,.85) 100%,rgba(10,12,16,.62) 100%)}
.crop-size{display:flex;align-items:center;gap:12px;max-width:300px;margin:18px auto 0}
.crop-size label{font-size:13px;font-weight:700;white-space:nowrap}
.crop-size input[type=range]{flex:1;height:auto;padding:0;border:0;background:none;box-shadow:none;accent-color:var(--brand)}
.crop-tip{margin:0 0 14px;color:var(--muted);font-size:13.5px}

/* ---- a member's country flag beside their name, and association logos (his ask 2026-10-11) ---- */
.cflag{display:inline-block;width:16px;height:12px;margin-left:6px;border-radius:2px;vertical-align:-1px;box-shadow:0 0 0 1px rgba(20,22,26,.12);object-fit:cover;flex:none}
.as-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:10px}
.as-badges img{height:30px;width:auto;max-width:120px;object-fit:contain}
.as-badge-t{font-size:12px;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:5px 9px}
.as-pick{margin-top:6px}
.as-chip{display:inline-flex;align-items:center;gap:7px}
.as-chip img{height:18px;width:auto;max-width:46px;object-fit:contain}
.as-logo{flex:none;width:104px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:12px}
.as-logo img{max-width:90px;max-height:36px;object-fit:contain}
.as-ed{display:flex;align-items:center;gap:14px;margin-top:6px}

/* ---- Community Leaders (src/community.js) ---- */
.ld{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.feed-body > .ld:first-child{margin-top:16px}
.ld-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:700px){.ld-grid{grid-template-columns:1fr}}
.ld-row{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #eaeaea;border-radius:14px;box-shadow:0 1px 3px rgba(20,22,26,.06);padding:12px 16px}
.ld-top{padding:16px 18px}
.ld-who{display:flex;align-items:center;gap:12px;min-width:0;flex:1;color:inherit;text-decoration:none}
.ld-who b{display:flex;align-items:center;gap:0;font-size:15px}
.ld-who > span{display:flex;flex-direction:column;min-width:0}
.ld-badge{height:20px;width:auto;margin-left:7px;vertical-align:-3px}
h1 .ld-badge{height:24px;vertical-align:-2px}
.ld-n{flex:none;min-width:34px;text-align:center;font-size:20px;font-weight:800;color:var(--muted)}
.ld-m1,.ld-m2,.ld-m3{width:40px;height:40px;min-width:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:18px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.18)}
.ld-m1{background:linear-gradient(#f2c94c,#d4a017)}.ld-m2{background:linear-gradient(#d5d9e0,#9aa1ad)}.ld-m3{background:linear-gradient(#e0a774,#b87333)}
.ld-how ul{margin:6px 0 10px;padding-left:18px;font-size:13.5px;line-height:1.5}
.ld-how li{margin-bottom:6px}
.ld-badges{list-style:none;padding:0 !important}
.ld-badges li{display:flex;align-items:center;gap:8px}
.ld-badges img{height:20px;width:auto}
.ld-badges .muted{margin-left:auto}

/* ---- Pilot Poker (src/poker.js) ---- */
.pk-intro{max-width:720px;margin:4px 0 22px}   /* breathing room above the poker table (his ask 2026-10-12) */
.pk{background:#fff;border:1px solid #eaeaea;border-radius:14px;box-shadow:0 1px 3px rgba(20,22,26,.06),0 6px 18px rgba(20,22,26,.04);padding:18px;margin-bottom:24px}
.pk-stats{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:flex-end;margin-bottom:18px}   /* pills + chips, after helistorm.com (his ask 2026-10-12) */
.pk-stat{display:flex;flex-direction:column;align-items:center;gap:8px}
.pk-sl{font-size:14px;font-weight:700;color:var(--ink);white-space:nowrap}
.pk-sl #pk-betn{font-weight:600;color:var(--muted);margin-left:4px}
.pk-pill{display:flex;align-items:center;justify-content:center;min-width:128px;height:60px;padding:0 22px;border:1.5px solid #8a8f98;border-radius:999px;background:#fff;font-size:34px;font-weight:800;line-height:1;color:#1f9254;font-variant-numeric:tabular-nums}
.pk-bet{margin-left:auto}
.pk-pill.neg{color:var(--ink)}
.pk-stat{position:relative}
.pk-stats:has(.pk-bn:not([hidden])){margin-bottom:38px}
.pk-bn{position:absolute;top:100%;left:50%;transform:translateX(-50%);margin-top:8px;padding:3px 10px;border-radius:999px;background:rgba(211,160,59,.18);border:1px solid rgba(211,160,59,.6);color:#8c6300;font-size:12.5px;font-weight:700;white-space:nowrap}
.pk-bn[hidden]{display:none}
.pk-chips{display:flex;gap:6px;padding:5px 8px;border:2.5px solid #1f9254;border-radius:999px}
.pk-chip{position:relative;width:46px;height:46px;border-radius:50%;border:0;padding:0;cursor:pointer;font-family:inherit;
  background:radial-gradient(circle,#fff 0 56%,transparent 57%),repeating-conic-gradient(#1a1d23 0 15deg,#fff 15deg 30deg);box-shadow:0 0 0 2px #1a1d23 inset,0 2px 5px rgba(0,0,0,.25);transition:transform .12s,filter .12s}
.pk-chip::before{content:"";position:absolute;inset:10px;border-radius:50%;border:1.5px dashed #1a1d23}
.pk-chip::after{content:"";position:absolute;inset:15px 8px;background:url(/brand/rcpilot-wordmark.svg) center/contain no-repeat}
.pk-chipn{position:absolute;right:-3px;bottom:-3px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#fff;border:1.5px solid #1a1d23;font-size:11px;font-weight:800;line-height:15px;color:var(--ink)}
.pk-chip.on{filter:brightness(.78);transform:translateY(-2px)}
.pk-chip:disabled{cursor:default}
@media (max-width:640px){.pk-pill{min-width:0;height:52px;font-size:28px;padding:0 20px}.pk-stat:not(.pk-bet){flex:1 1 0}.pk-stat:not(.pk-bet) .pk-pill{align-self:stretch}.pk-bet{margin-left:0;width:100%}.pk-chip{width:44px;height:44px}.pk-chip::before{inset:9px}.pk-chip::after{inset:14px 8px}}
.pk-table{background:radial-gradient(ellipse at center,#1f6b45,#134a2f);border-radius:12px;padding:22px 16px 18px}
.pk-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;max-width:620px;margin:0 auto}
.pk-card{position:relative;aspect-ratio:5/7;border-radius:7%/5%;border:0;background:#fff;box-shadow:0 1px 1.5px rgba(0,0,0,.28),0 4px 10px -2px rgba(0,0,0,.3);cursor:pointer;padding:0;font-family:inherit;transition:transform .14s ease,box-shadow .14s}
.pk-card:disabled{cursor:default}
.pk-card.back{background:#0e1116 url(/brand/rcpilot-logo-dark.svg) center/78% auto no-repeat;border:4px solid #fff}   /* black, the RCPilot logo in the middle (his call 2026-10-11) */
.pk-card.flip{transform:rotateY(90deg)}
.pk-card.held{box-shadow:0 0 0 3px #f2c94c,0 4px 10px -2px rgba(0,0,0,.3)}
.pk-card.won{box-shadow:0 0 0 3px #f2c94c,0 4px 10px -2px rgba(0,0,0,.3)}
.pk-face{position:absolute;inset:0;border-radius:inherit;background:#fff center/100% 100% no-repeat}
.pk-card.back .pk-face{opacity:0}   /* a back stays a back: the logo, never a blank white card (his call 2026-10-12) */   /* a real card face, /cards/AS.svg (his call 2026-10-12: as on helistorm.com) */



.pk-held{position:absolute;inset:0;margin:auto;width:64%;aspect-ratio:1;border-radius:50%;background:rgba(203,5,5,.92);color:#fff;display:flex;align-items:center;justify-content:center;font:900 clamp(12px,2.4vw,22px) inherit;font-family:inherit;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 4px 14px rgba(0,0,0,.35);opacity:0;transition:opacity .12s;pointer-events:none}   /* KEEP, as on helistorm.com */
.pk-card.held .pk-held{opacity:1}
.pk-result{min-height:64px;margin:22px 0 14px;text-align:center;color:#fff;font-size:16px;display:flex;flex-direction:column;align-items:center;gap:2px}
.pk-done{display:flex;flex-direction:column;align-items:center;gap:2px;margin-top:14px;font-size:16px;font-weight:400;color:#fff}   /* under the last hand's result, no refresh (his rule 2026-10-13) */
.pk-earn{max-width:520px;margin-top:8px;font-size:14.5px;color:rgba(255,255,255,.85);line-height:1.45}
.pk-acts{display:flex;justify-content:center}
.pk-go{min-width:160px;height:44px;font-size:15px}
.pk-pay table{width:100%;border-collapse:collapse;font-size:13.5px}
.pk-pay td{padding:5px 4px;border-bottom:1px solid var(--line)}
.pk-pay td:last-child{text-align:right;font-weight:700}
.pk-pay tr.on td{background:#fdf3d0;font-weight:800}
.pk-lb .mrow{align-items:center}
.pk-net{flex:none;font-weight:800;font-size:16px;color:#1f9254}
.pk-net.neg{color:var(--muted)}
/* merge two members (his flow 2026-10-13): hits under the search, then the two records side by side */
.mg-find{display:flex;flex-direction:column;gap:4px;margin-top:8px}
.mg-hit{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#fff;text-align:left;font:inherit;color:var(--ink);cursor:pointer}
.mg-hit:hover{border-color:var(--brand-line);background:var(--brand-soft)}
.mg-hit > span{display:flex;flex-direction:column;font-size:12.5px;min-width:0}
.mg-hit b{font-size:14px}
.modal.modal-w{max-width:760px}
.mg-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.mg-col{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff}
.mg-col.on{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.mg-who{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.mg-who > div{display:flex;flex-direction:column;font-size:12.5px}
.mg-who b{font-size:15px}
.mg-list{margin:0 0 12px;padding-left:18px;font-size:13.5px;line-height:1.6}
.mg-keep{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;cursor:pointer}
.mg-keep input{position:absolute;opacity:0;width:1px;height:1px}
.mg-keep .cb{width:22px;height:22px;border-radius:6px;border:2px solid #8a8f98;background:#fff;display:inline-flex;align-items:center;justify-content:center}
.mg-keep input:checked + .cb{background:var(--brand);border-color:var(--brand)}
.mg-keep input:checked + .cb::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg);margin-top:-3px}
.mg-keep input:focus-visible + .cb{outline:2px solid var(--ring);outline-offset:2px}
@media (max-width:640px){.mg-cols{grid-template-columns:1fr}}
.sent-rows{display:flex;flex-direction:column;gap:10px;margin:8px 0 16px}
.sent-row{display:grid;grid-template-columns:28px minmax(0,320px) auto;align-items:center;gap:12px}
.sent-n{font-size:13px;font-weight:700;color:var(--muted);text-align:center}
.sent-l{height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 11px;font-family:inherit;font-size:14px;color:var(--ink);background:#fff;width:100%}
.sent-state{font-size:13px;color:var(--muted);margin-left:6px}
.pk-payset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 24px;margin:6px 0 16px}
.pk-payrow{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13.5px;font-weight:600}
.pk-payrow .set-n{width:88px;height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 10px;font:inherit}

/* ---- Admin > Community: the rubric ---- */
.rv-in{gap:8px 10px}
.rv-in select{height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 10px;font:inherit;background:#fff}
.rv-in .rv-points{margin-left:6px}
.rv-pl{display:inline-flex;align-items:center;gap:8px 10px;white-space:nowrap}
.rv-add{margin:4px 0 18px}
.rv-add .chips{margin-top:8px}
.rv-foot{max-width:900px;margin:0 0 18px}
.rv-t{width:100%;border-collapse:collapse;font-size:13.5px;margin:14px 0}
.rv-t th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);padding:6px 8px;border-bottom:1px solid var(--line)}
.rv-t td{padding:7px 8px;border-bottom:1px solid var(--line)}
.rv-t td:not(:first-child),.rv-t th:not(:first-child){text-align:right;white-space:nowrap}
.btn-sm{height:30px;padding:0 10px;font-size:12.5px}
.sw{align-items:center;gap:10px}
.rv-rules > .rv-rule{flex:1 1 100%}
.set-in .set-d{width:176px;height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 10px;font:inherit;background:#fff}

/* ---- feed cards, the card pass (his rules 2026-10-11): the words, More, a video in the card, a link tile ---- */
.sc-x p{margin:0 0 8px}.sc-x p:last-of-type{margin-bottom:0}
.sc-x a{word-break:break-word}
.sc-morebtn{margin-top:4px;font-weight:700}
.sc-d{text-decoration:none}.sc-d:hover{text-decoration:underline}
.sc > .pstrip,.sc > .sc-ph,.sc > .vx,.sc > .lt{margin-top:10px}
.vx{border-radius:12px;overflow:hidden;background:#000;max-width:720px}
.vx-go{position:relative;display:block;width:100%;aspect-ratio:16/9;padding:0;border:0;background:#000;cursor:pointer}
.vx-go img{width:100%;height:100%;object-fit:cover;display:block}
.vx-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);filter:drop-shadow(0 2px 6px rgba(0,0,0,.4));transition:transform .12s}
.vx-go:hover .vx-play{transform:translate(-50%,-50%) scale(1.08)}
.vx-frame{display:block;width:100%;aspect-ratio:16/9;border:0}
.vx-t{display:flex;flex-direction:column;gap:2px;padding:9px 12px;background:#14171c;color:#fff;font-size:13.5px;font-weight:700;text-decoration:none;line-height:1.35}
.vx-t span{color:#aab0bb;font-weight:500;font-size:12px}
.lt{display:flex;border:1px solid #e3e5e9;border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;background:#fafbfc;max-width:720px}
.lt:hover{border-color:#c9cdd6;background:#f5f6f8}
.lt-img{flex:none;width:34%;max-width:240px;background:#e9ebef}
.lt-img img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:1.91/1}
.lt-b{display:flex;flex-direction:column;gap:3px;padding:11px 14px;min-width:0;justify-content:center}
.lt-site{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--faint)}
.lt-b b{font-size:14.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lt-d{font-size:13px;color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lt-u{font-weight:600;color:var(--brand-ink);word-break:break-all}
@media (max-width:560px){.lt{flex-direction:column}.lt-img{width:100%;max-width:none}}
.post-b + .vx,.post-b + .lt{margin:4px 0 14px}

/* ---- the post modal over a feed: the post itself, chrome-free (layout embed), in a frame ---- */
html.pm-open,html.pm-open body{overflow:hidden}
.pm-scrim{position:fixed;inset:0;z-index:120;background:rgba(10,12,16,.55);display:flex;align-items:center;justify-content:center;padding:20px}
.pm{background:var(--page);border-radius:16px;width:min(1080px,100%);height:min(92vh,100%);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.pm-h{display:flex;justify-content:flex-end;gap:10px;padding:10px 14px;background:#fff;border-bottom:1px solid #e3e5e9}
.pm-f{flex:1;width:100%;border:0;background:var(--page)}
@media (max-width:640px){.pm-scrim{padding:0}.pm{border-radius:0;height:100%}}
body.embed{background:var(--page)}
.main-embed{max-width:1040px;margin:0 auto;padding:20px 20px 40px}
.sc > .vx + .sc-x,.sc > .lt + .sc-x,.sc > .pstrip + .sc-x,.sc > .sc-ph + .sc-x{margin-top:12px}

/* ---- Admin > Left Menu ---- */
.mn-list{max-width:620px}
.mn-row{align-items:center;gap:12px;padding-top:10px;padding-bottom:10px}
.mn-row .sw{flex:none;margin-left:auto}
.mn-st{min-width:24px;font-size:13px;font-weight:600;color:var(--muted)}
.mn-off .mrow-t{color:var(--faint)}

/* ---- the block editor (ported from WDYE Studio portal.css .rte-*, the pattern he approved) ---- */
.rte-doc { border: 1.5px solid var(--line); border-radius: 12px; background: #fff; padding: 8px 12px 14px; min-height: 300px; font-family: inherit; }
.rte-blk { position: relative; display: flow-root; padding: 1px 30px 1px 26px; border-radius: 8px; }   /* flow-root: a list block contains its floated bullet picker */
.rte-blk:hover, .rte-blk:focus-within { background: #fafafd; }
.rte-blk .rte-grip { position: absolute; left: 5px; top: 50%; margin-top: 0; transform: translateY(-50%); opacity: 0; cursor: grab; color: #b6bac8; transition: opacity .12s; }
.rte-blk .rte-x { position: absolute; right: 3px; top: 50%; transform: translateY(-50%); opacity: 0; border: 0; background: transparent; color: #b6bac8; cursor: pointer; font-size: 12.5px; padding: 4px 7px; border-radius: 6px; transition: opacity .12s; }
.rte-blk:hover .rte-grip, .rte-blk:hover .rte-x, .rte-blk:focus-within .rte-grip, .rte-blk:focus-within .rte-x { opacity: 1; }
.rte-blk .rte-x:hover { color: #dc2626; background: #fdecec; }
.rte-blk.dragging { opacity: .45; }
.rte-ed { outline: none; min-height: 26px; font-size: 14.5px; line-height: 1.6; padding: 4px 0; color: var(--ink); }
.rte-ed.rte-h { font-family: inherit; font-size: 18.2px; font-weight: 600; letter-spacing: -.01em; line-height: 1.25; }
.rte-ed.rte-h strong, .rte-ed.rte-h b { font-weight: 700; }
.rte-ed a { color: var(--brand); text-decoration: underline; }
.rte-ed ul, .rte-ed ol { margin: 0; padding-left: 22px; }
.rte-ed li { margin: 2px 0; }
.rte-ed.rte-cl ul { list-style: none; padding-left: 0; }
.rte-ed.rte-cl li { display: block; position: relative; padding: 3px 0 3px 27px; margin: 0; line-height: 1.5; }
.rte-ed.rte-cl li::before { content: "\2713"; position: absolute; left: 0; top: 5px; width: 17px; height: 17px; border-radius: 50%; background: #e6f4ef; color: #0d7a55; font-size: 10px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.rte-ed.rte-cl.mk-dot li::before, .rte-ed.rte-cl.mk-square li::before, .rte-ed.rte-cl.mk-dash li::before, .rte-ed.rte-cl.mk-arrow li::before { content: ""; background: none; color: transparent; border-radius: 0; }
.rte-ed.rte-cl.mk-dot li::before { background: #0d7a55; border-radius: 50%; width: 7px; height: 7px; left: 5px; top: 10px; }
.rte-ed.rte-cl.mk-square li::before { background: #0d7a55; border-radius: 2px; width: 7px; height: 7px; left: 5px; top: 10px; }
.rte-ed.rte-cl.mk-dash li::before { background: #0d7a55; border-radius: 2px; width: 11px; height: 2.5px; left: 3px; top: 12px; }
.rte-ed.rte-cl.mk-arrow li::before { width: 0; height: 0; border-top: 4.5px solid transparent; border-bottom: 4.5px solid transparent; border-left: 7px solid #0d7a55; left: 5px; top: 9px; }
.rte-marks { float: right; margin: 2px 0 0 12px; display: flex; justify-content: flex-end; align-items: center; gap: 4px; height: 22px; opacity: .5; transition: opacity .12s; }
.rte-blk:hover .rte-marks, .rte-blk:focus-within .rte-marks { opacity: 1; }
.rte-marks button { width: 24px; height: 20px; border: 1px solid transparent; border-radius: 6px; background: transparent; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.rte-marks button:hover { background: var(--brand-soft); }
.rte-marks button.on { border-color: var(--brand); background: var(--brand-soft); }
.rte-marks i { display: block; background: #0d7a55; }
.rte-marks i.mk-check { width: 13px; height: 13px; border-radius: 50%; background: #e6f4ef; color: #0d7a55; font-size: 8px; font-weight: 800; line-height: 13px; text-align: center; font-style: normal; }
.rte-marks i.mk-dot { width: 7px; height: 7px; border-radius: 50%; }
.rte-marks i.mk-square { width: 7px; height: 7px; border-radius: 2px; }
.rte-marks i.mk-dash { width: 11px; height: 2.5px; border-radius: 2px; }
.rte-marks i.mk-arrow { width: 0; height: 0; background: none; border-top: 4.5px solid transparent; border-bottom: 4.5px solid transparent; border-left: 7px solid #0d7a55; }
.rte-tl { display: flex; flex-direction: column; gap: 9px; }
.rte-tlrow { display: flex; gap: 9px; align-items: flex-start; }
..rte-tly { flex: 0 0 84px; width: 84px; margin-top: 0; height: 40px; padding: 0 10px; border: 1.5px solid var(--line); border-radius: 10px; font: inherit; font-weight: 700; font-size: 14px; }
.rte-tlt { flex: 1 1 auto; min-height: 40px; padding: 8px 12px; border: 1.5px solid var(--line); border-radius: 10px; line-height: 1.5; font-size: 14.5px; color: var(--ink); background: #fff; }
.rte-tly:focus, .rte-tlt:focus { outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-soft); }
.rte-tlx { flex: none; background: none; border: none; color: var(--faint); cursor: pointer; padding: 8px 4px; margin-top: 6px; font-size: 12px; line-height: 1; }
.rte-tlx:hover { color: #c0392b; }
.rte-tladd { align-self: flex-start; background: none; border: 1px dashed var(--line); border-radius: 8px; padding: 6px 13px; color: var(--muted); font-size: 13px; font-weight: 600; cursor: pointer; }
.rte-tladd:hover { border-color: var(--brand); color: var(--brand); background: var(--brand-soft); }
.rte-q { border-left: 3px solid var(--line); padding: 2px 0 2px 14px; }
.rte-q .rte-ed.rte-qtext { font-style: italic; }
..rte-qcite { display: block; width: 100%; margin-top: 6px; border: none; border-top: 1px dashed var(--line); border-radius: 0; padding: 6px 0 0; font: inherit; font-size: 13px; font-weight: 600; color: var(--muted); background: transparent; }
.rte-hint { background: color-mix(in srgb, var(--brand, #4f46e5) 6%, #fff); border: 1px solid color-mix(in srgb, var(--brand, #4f46e5) 20%, transparent); border-radius: 12px; padding: 12px 14px; display: grid; gap: 8px; }
.rte-hinthead { border: 0; background: none; font: inherit; font-weight: 750; font-size: 15px; color: var(--ink); outline: none; width: 100%; }
.rte-hinthead::placeholder { color: var(--faint); font-weight: 600; }
.rte-hinttext { min-height: 40px; }
.rte-qcite:focus { outline: none; color: var(--brand); }
.rte-gap { height: 14px; position: relative; display: flex; align-items: center; justify-content: center; }
.rte-gap::before { content: ""; position: absolute; left: 6px; right: 6px; top: 50%; height: 1.5px; background: var(--brand-soft); opacity: 0; transition: opacity .12s; }
.rte-gapbtn { position: relative; z-index: 1; opacity: 0; pointer-events: none; border: 0; background: var(--brand-soft); color: var(--brand); font-size: 11px; font-weight: 800; border-radius: 999px; padding: 3px 12px; cursor: pointer; transition: opacity .12s; }
.rte-gap:hover::before { opacity: 1; }
.rte-gap:hover .rte-gapbtn { opacity: 1; pointer-events: auto; }
.rte-float[hidden], .rte-pick[hidden] { display: none; }
.rte-float { position: fixed; z-index: 200; display: flex; align-items: center; gap: 2px; background: #1c1e26; border-radius: 10px; padding: 4px; box-shadow: 0 8px 24px rgba(20,22,28,.35); }
.rte-float button { border: 0; background: transparent; color: #fff; min-width: 30px; height: 28px; border-radius: 7px; cursor: pointer; font-size: 13px; display: inline-flex; align-items: center; justify-content: center; padding: 0 6px; }
.rte-float button:hover { background: rgba(255,255,255,.14); }
.rte-float button.on { background: rgba(255,255,255,.22); }
.rte-float-url.bad { box-shadow: 0 0 0 2px #f42200 inset; }
/* the post words editor (app.js fmtEditor): looks like the textarea it paints over; highlight words for the bubble */
.fmt-ed { min-height: 220px; border: 1px solid var(--line-2); border-radius: 9px; padding: 10px 11px; font-family: inherit; font-size: 14px; line-height: 1.5; color: var(--ink); background: #fff; width: 100%; white-space: pre-wrap; overflow-wrap: anywhere; outline: none; cursor: text; }
.fmt-ed:focus-visible { outline: 2px solid var(--ring); outline-offset: 1px; }
.fmt-ed.empty::before { content: attr(data-ph); color: var(--muted); pointer-events: none; }
.fmt-ed a { color: var(--brand, #f42200); text-decoration: underline; }
@media (pointer:coarse) { .fmt-ed { font-size: 16px; } }
.rte-float-url { border: 0; outline: none; background: rgba(255,255,255,.12); color: #fff; border-radius: 7px; height: 28px; padding: 0 10px; font-size: 12.5px; width: 220px; }
.rte-lmode { display: inline-flex; gap: 2px; background: rgba(255,255,255,.10); border-radius: 7px; padding: 2px; margin-right: 5px; flex: none; }
.rte-lmode button { min-width: 0; height: 24px; padding: 0 9px; font-size: 11.5px; font-weight: 600; border-radius: 5px; color: rgba(255,255,255,.62); }
.rte-lmode button:hover { background: rgba(255,255,255,.10); color: #fff; }
.rte-lmode button.on, .rte-lmode button.on:hover { background: var(--brand); color: #fff; }
.rte-float-url::placeholder { color: rgba(255,255,255,.55); }
.rte-pick { position: fixed; z-index: 210; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 12px 32px rgba(20,22,28,.18); padding: 6px; display: flex; flex-direction: column; min-width: 168px; }
.rte-pick button { border: 0; background: transparent; text-align: left; padding: 8px 12px; border-radius: 8px; font-size: 13.5px; font-weight: 600; cursor: pointer; color: var(--ink); }
.rte-pick button:hover { background: var(--brand-soft); color: var(--brand); }
.rte-blk .rte-grip svg{display:block}
.rte-ed.rte-cl li::before{background:var(--brand-soft);color:var(--brand-ink)}
.rte-ed.rte-cl.mk-dot li::before,.rte-ed.rte-cl.mk-square li::before,.rte-ed.rte-cl.mk-dash li::before{background:var(--brand-ink)}
.rte-ed.rte-cl.mk-arrow li::before{border-left-color:var(--brand-ink)}
.rte-tly,.rte-qcite{border:1.5px solid var(--line);border-radius:10px;padding:8px 10px;font:inherit;font-size:14px;background:#fff}
.rte-qcite{border:0;border-top:1px dashed var(--line);border-radius:0;padding:6px 0 0;margin-top:4px;width:100%;color:var(--muted);font-size:13px}
/* PHOTOS (RCPilot's block): several pictures in one place, each with its own caption and remove */
.rte-pics{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding:6px 0}
.rte-pic{position:relative;margin:0;display:flex;flex-direction:column;gap:6px}
.rte-pic img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:#eef0f3;display:block}
.rte-picx{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(14,17,22,.72);color:#fff;font-size:12px;cursor:pointer}
.rte-picx:hover{background:#c0392b}
.rte-cap{border:1px solid var(--line);border-radius:8px;padding:6px 8px;font:inherit;font-size:12.5px;background:#fff}
.rte-picadd{min-height:110px;aspect-ratio:4/3;border:2px dashed #c9cdd6;border-radius:8px;background:#fafbfc;color:var(--muted);font:700 13px inherit;font-family:inherit;cursor:pointer}
.rte-picadd:hover{border-color:var(--brand);color:var(--brand-ink);background:var(--brand-soft)}

/* ---- the editor pages: the editor left, the live preview right (sticky), one footer of actions ---- */
.ae-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:24px;align-items:start}
@media (max-width:1180px){.ae-cols{grid-template-columns:1fr}}
.ae-ed .field{margin:0 0 18px}
.ae-tip{margin:2px 0 8px}
.ae-prev{position:sticky;top:84px;background:#fff;border:1px solid #eaeaea;border-radius:14px;box-shadow:0 1px 3px rgba(20,22,26,.06),0 6px 18px rgba(20,22,26,.04);overflow:hidden;max-height:calc(100vh - 110px);display:flex;flex-direction:column}
.ae-prev-h{padding:10px 16px;background:#E5E5E5;border-bottom:1px solid #C2C2C2;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ae-prev-b{overflow:auto;padding:0 0 16px}
.ae-prev-b .post{box-shadow:none;border:0;margin:0}
.ae-prev-b .article-banner{display:block;width:100%;aspect-ratio:3/1;object-fit:cover}
.ae-picbox{max-width:none;margin:0 0 18px}
.ae-pic{aspect-ratio:3/1;border-radius:10px;overflow:hidden;background:#eef0f3;margin-top:10px}
.ae-pic img{width:100%;height:100%;object-fit:cover;display:block}
.ae-pic-none{display:flex;align-items:center;justify-content:center;border:1.5px dashed #c9cdd6;color:var(--muted);font-size:13px}
.ae-foot{position:sticky;bottom:0;z-index:5;display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:18px;padding:12px 0;background:var(--page);border-top:1px solid var(--line)}
.ae-foot .form-msg{margin:0 auto 0 0}
.ae-vid{padding:30px;text-align:center;background:#14171c;color:#fff;border-radius:12px;font-weight:700}
.ae-vid-bad{background:#fdecec;color:#c0392b}
.ae-course{max-width:none}
.ae-course .ae-cbox{flex:2 1 420px}
.ae-course > #ae-thumb{flex:1 1 300px;display:flex}
.ae-course > #ae-thumb .setbox{flex:1;margin:0}
.ae-cbox .field{margin:12px 0 0}
.ae-lessons{max-width:900px}
.ae-lrow{align-items:center;gap:12px}
.ae-ladd{margin-top:12px}
.lesson-acts{margin:4px 0 12px}

/* ---- the blocks as readers see them (src/rich.js renderRichBlocks), on articles and lessons ---- */
.article-sub{margin:-4px 0 10px;font-size:17px;color:var(--muted)}
.rich .rich-h{font-size:20px;font-weight:800;margin:22px 0 8px;line-height:1.3}
.rich-cl{list-style:none;padding-left:0}
.rich-cl li{position:relative;padding:3px 0 3px 28px}
.rich-cl li::before{content:"\2713";position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:50%;background:var(--brand-soft);color:var(--brand-ink);font-size:10px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.rich-cl.cl-dot li::before,.rich-cl.cl-square li::before,.rich-cl.cl-dash li::before,.rich-cl.cl-arrow li::before{content:"";background:var(--brand-ink)}
.rich-cl.cl-dot li::before{width:7px;height:7px;left:6px;top:12px}
.rich-cl.cl-square li::before{width:7px;height:7px;border-radius:2px;left:6px;top:12px}
.rich-cl.cl-dash li::before{width:11px;height:2.5px;border-radius:2px;left:4px;top:14px}
.rich-cl.cl-arrow li::before{width:0;height:0;background:none;border-radius:0;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;border-left:7px solid var(--brand-ink);left:6px;top:10px}
.rich-q{margin:16px 0;padding:4px 0 4px 18px;border-left:3px solid var(--brand);font-style:italic;color:#3d434b}
.rich-q cite{display:block;margin-top:6px;font-style:normal;font-size:13px;color:var(--muted)}
.rich-hint{margin:16px 0;padding:14px 16px;border-radius:12px;background:var(--brand-soft);border:1px solid var(--brand-line)}
.rich-hint p{margin:0}.rich-hint .rich-hint-h{font-weight:800;margin-bottom:4px}
.rich-tl{border-left:2px solid var(--line);padding-left:20px;margin:16px 0;display:flex;flex-direction:column;gap:14px}
.rtl-y{font-weight:800;color:var(--brand-ink)}
.rich-pics{display:grid;gap:10px;margin:16px 0}
.rich-pics-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rich-pics-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:560px){.rich-pics-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rich-pics figure{margin:0}
.rich-pics img{display:block;width:100%;border-radius:10px;background:#eef0f3}
.rich-pics-2 img,.rich-pics-3 img{aspect-ratio:4/3;object-fit:cover}
.rich-pics figcaption{font-size:13px;color:var(--muted);margin-top:5px}
.st-draft{display:inline-block;padding:1px 8px;border-radius:6px;background:#fdf6e7;color:#a4690f;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.rte-marks{position:relative;z-index:2}   /* above the list items (position:relative), or a click on a mark lands in the text */

/* ---- a lesson's video box: the file it has, the upload's progress, or a link ---- */
.ae-vbox{max-width:none;margin:0 0 18px}
.ae-vfile{display:flex;align-items:center;gap:12px;margin-top:12px}
.ae-vfile img,.ae-vph{width:112px;aspect-ratio:16/9;object-fit:cover;border-radius:8px;background:#14171c;flex:none}
.ae-vfile > span{display:flex;flex-direction:column;gap:2px;font-size:13.5px}
.ae-vprog{display:flex;align-items:center;gap:12px;margin-top:14px}
.ae-vbar{flex:1;height:8px;border-radius:4px;background:#dfe2e8;overflow:hidden}
.ae-vbar span{display:block;height:100%;width:0;background:var(--brand);transition:width .2s}
.ae-vacts{padding-top:14px}
.ae-vlink{margin:16px 0 0}

/* the hand's result, big (his call 2026-10-12), and fireworks for a flush or better */
.pk-win{font-size:clamp(30px,6vw,58px);font-weight:900;line-height:1.05;color:#ffd54a;text-shadow:0 2px 0 rgba(0,0,0,.35);letter-spacing:-.01em}
.pk-win.pk-lose{color:#fff;opacity:.85}
.pk-pays{font-size:clamp(17px,2.6vw,26px);font-weight:800;color:#fff}
.pk-table{position:relative;overflow:hidden}
.pk-fw{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}

/* ===== My Hangar (src/hangar.js, public/assets/hangar.js): RCCheckList moved in ===== */
.hg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;max-width:1180px}
.hg-card{background:#fff;border:1px solid #eaeaea;border-radius:14px;box-shadow:0 1px 3px rgba(20,22,26,.06),0 6px 18px rgba(20,22,26,.04);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.hg-card:hover{border-color:var(--hover-line)}
.hg-ph,.hg-hero{position:relative;display:block;background:var(--bar)}
.hg-img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.hg-nophoto{display:flex;align-items:center;justify-content:center;background:var(--bar)}
.hg-nophoto img{width:46%;max-width:200px;opacity:.55}
.hg-chips{position:absolute;left:10px;bottom:10px;display:flex;gap:6px;flex-wrap:wrap}
.hg-c{background:rgba(255,255,255,.94);border-color:transparent;height:24px;font-size:11.5px}
.hg-bd{display:flex;flex-direction:column;padding:13px 16px 14px;gap:3px;flex:1}
.hg-nm{font-size:16px;font-weight:800;line-height:1.3}
.hg-mk{font-size:12.5px;color:var(--muted);min-height:18px}
.hg-st{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}
.hg-st span{display:flex;flex-direction:column;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.hg-st b{font-size:15px;color:var(--ink);letter-spacing:0;text-transform:none}
.hg-last{font-size:12px;color:var(--muted);margin-top:8px}
.hg-empty{background:#fff;border:1px dashed var(--line-2);border-radius:14px;padding:30px 28px;max-width:640px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.hg-empty b{font-size:17px}.hg-empty span{color:var(--muted);margin-bottom:8px}
.hg-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px;max-width:900px;margin:0 0 18px;align-items:start}
.hg-hero{border-radius:14px;overflow:hidden}
.hg-heroimg{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.hg-side{display:flex;flex-direction:column;gap:12px}
.hg-mk2{font-size:13.5px;font-weight:600;color:var(--muted)}
.hg-mk2 a{color:var(--brand-ink)}
.hg-start{width:100%}
.hg-sell{width:100%}
.hg-ready{font-size:12.5px;color:var(--muted);text-align:center;margin-top:-4px}
.hg-band{margin:0;gap:8px 18px}
.hg-band2{margin:0 0 12px;gap:8px 22px;max-width:none}
.hg-code{font-size:13px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.hg-code b{font-family:ui-monospace,Menlo,monospace;letter-spacing:.06em}
.hg-hrow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:6px;padding-bottom:6px}
.btn.hg-sm{height:30px;padding:0 11px;font-size:12.5px}
.hg-none{color:var(--muted);margin:0 0 4px}
.hg-strip{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.hg-th{position:relative;width:150px;border-radius:10px;overflow:hidden;background:var(--chip);border:1px solid var(--line)}
.hg-th img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.hg-th.cover{border-color:rgba(244,34,0,.55)}
.hg-th .hg-sm{position:absolute;left:6px;bottom:6px}
.hg-tag{position:absolute;left:6px;bottom:6px;background:var(--brand);color:#fff;font-size:11px;font-weight:700;border-radius:6px;padding:2px 7px}
.hg-x{width:28px;height:28px;border-radius:8px;border:1px solid var(--line-2);background:#fff;color:var(--ink);cursor:pointer;font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex:none}
.hg-x:hover{border-color:var(--hover-line)}
.hg-th .hg-x{position:absolute;top:6px;right:6px}
.hg-log{display:flex;flex-direction:column}
.hg-lr{display:grid;grid-template-columns:150px 150px 70px minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.hg-lr:first-child{border-top:0;padding-top:0}
.hg-ld{display:flex;flex-direction:column;font-size:13px}.hg-ld span{font-size:12px;color:var(--muted)}
.hg-lt{display:flex;flex-direction:column;gap:5px;font-size:14px}
.hg-bar{display:block;height:6px;border-radius:3px;background:var(--chip);border:1px solid var(--line);overflow:hidden}
.hg-bar i{display:block;height:100%;background:var(--live)}.hg-bar i.low{background:var(--danger)}
.hg-lp{font-size:12.5px;font-weight:700;color:var(--muted)}
.hg-ln{font-size:12.5px;color:var(--muted);white-space:pre-line}
.hg-cl{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.hg-ph2{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-weight:800;font-size:14px;margin-bottom:6px}
.hg-ph2 .faint{font-size:12px;font-weight:600}
.hg-cl ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px}
.hg-cl li{font-size:13.5px}.hg-cl li b{font-weight:600;display:block}.hg-cl li span{font-size:12.5px;color:var(--muted)}
.hg-specs{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 16px}
.hg-scan p{margin:0 0 10px}
.hg-who{display:flex;gap:12px;align-items:center}
/* the modals */
.modal.hg-modal{max-width:620px}.modal.hg-wide{max-width:760px}
.hg-mb{overflow-y:auto;font-size:14px}
.hg-mb .field{margin-bottom:16px}
.hg-in input{width:100%}
.field select{height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 10px;font-family:inherit;font-size:13.5px;background:#fff}
.hg-chiprow{gap:6px}
.hg-hint{margin:0;font-size:12px;color:var(--muted)}
.hg-picked{display:flex;align-items:center;gap:10px}
.hg-hits{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.hg-hit{border:0;border-top:1px solid var(--line);background:#fff;text-align:left;padding:9px 12px;font-family:inherit;font-size:13.5px;cursor:pointer}
.hg-hit:first-child{border-top:0}.hg-hit:hover{background:var(--chip)}
.hg-more{border-top:1px solid var(--line);padding-top:16px}
.modal .mf .hg-left{margin-right:auto}
.hg-clph{margin-bottom:18px}
.hg-clh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.hg-clh b{font-size:15px}
.hg-clr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;gap:8px;align-items:center;margin-bottom:8px}
.hg-clr input{height:36px;border:1px solid var(--line-2);border-radius:9px;padding:0 10px;font-family:inherit;font-size:13.5px;width:100%;min-width:0}
/* the flightline, full screen */
body.hg-flying{overflow:hidden}
.hg-fly{position:fixed;inset:0;z-index:100;background:var(--page);display:flex;flex-direction:column;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
.hg-runhead{background:var(--bar);color:#fff;padding:16px 20px 14px;position:relative;flex:none}
.hg-xx{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:10px;border:1px solid #2c3038;background:#1b1e24;color:#fff;font-size:14px;cursor:pointer}
.hg-t1{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#aab0bb}
.hg-t2{font-size:20px;font-weight:800;margin-top:2px;padding-right:44px}
.hg-prog{height:6px;border-radius:3px;background:#2c3038;margin-top:12px;overflow:hidden}.hg-prog i{display:block;height:100%;background:var(--brand);transition:width .2s}
.hg-progtx{display:flex;justify-content:space-between;font-size:12px;color:#aab0bb;margin-top:6px}
.hg-flyscroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px 16px 20px;max-width:720px;width:100%;margin:0 auto}
.hg-phl{display:flex;align-items:baseline;gap:10px;margin:18px 2px 8px}.hg-phl b{font-size:15px}.hg-phl span{font-size:12px;color:var(--muted)}
.hg-ci{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 14px;margin-bottom:8px;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent}
.hg-ci.done{background:#f3faf6;border-color:#bfe0cd}
.hg-bx{width:24px;height:24px;border-radius:7px;border:2px solid var(--line-2);flex:none;margin-top:1px;position:relative;background:#fff}
.hg-ci.done .hg-bx{background:var(--live);border-color:var(--live)}
.hg-ci.done .hg-bx::after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.hg-tx{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.hg-tx b{font-size:15px;font-weight:600}.hg-tx>span{font-size:13px;color:var(--muted)}
.hg-ci.done .hg-tx b{color:var(--muted)}
.hg-cap{display:flex;flex-direction:column;gap:6px;margin-top:10px;font-size:12px;font-weight:700;color:var(--muted);cursor:default}
.hg-cap input,.hg-cap select{height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 10px;font-family:inherit;font-size:16px;background:#fff;color:var(--ink)}
.hg-cap input{width:120px}
.hg-ref{background:#fff;border:1px solid var(--line);border-radius:12px;padding:4px 14px}
.hg-refr{display:flex;flex-direction:column;padding:10px 0;border-top:1px solid var(--line)}.hg-refr:first-child{border-top:0}
.hg-refr b{font-size:14.5px;font-weight:600}.hg-refr span{font-size:13px;color:var(--muted)}
.hg-foot{flex:none;background:#fff;border-top:1px solid var(--line);padding:12px 16px 14px;display:flex;flex-direction:column;align-items:center;gap:8px}
.hg-foot .btn{width:100%;max-width:688px}
.hg-remain{font-size:12.5px;font-weight:600;color:var(--muted)}
.hg-post{padding-top:14px}
.hg-post .setband{max-width:none}
.hg-air{flex:1;background:var(--bar);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}
.hg-lab{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#aab0bb}
.hg-pulse{width:10px;height:10px;border-radius:50%;background:var(--brand);animation:hgp 1.4s infinite}
@keyframes hgp{0%{box-shadow:0 0 0 0 rgba(244,34,0,.6)}70%{box-shadow:0 0 0 12px rgba(244,34,0,0)}100%{box-shadow:0 0 0 0 rgba(244,34,0,0)}}
.hg-clock{font-size:clamp(72px,22vw,140px);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1.05;margin:14px 0 4px}
.hg-clock.over{color:#ffb199}
.hg-airnm{font-size:18px;font-weight:700}.hg-tgt{color:#aab0bb;margin:4px 0 26px}
.hg-land{width:100%;max-width:420px}
.hg-awake{font-size:12px;color:rgba(255,255,255,.45);margin-top:14px}
.hg-abort{margin-top:26px;background:none;border:1px solid #3a3f48;color:#c9ced8;border-radius:9px;height:36px;padding:0 16px;font-family:inherit;font-weight:600;cursor:pointer}
.hg-abort.armed{border-color:var(--brand);color:#fff;background:rgba(244,34,0,.25)}
@media (max-width:760px){
  .hg-top{grid-template-columns:1fr}
  .hg-cl{grid-template-columns:1fr}
  .hg-lr{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}
  .hg-lr .hg-lt{grid-column:1}.hg-lr .hg-lp{grid-column:2;grid-row:2;text-align:right}.hg-lr .hg-ln{grid-column:1/-1}.hg-lr .btn{grid-column:2;grid-row:1}
  .hg-clr{grid-template-columns:minmax(0,1fr) 28px}.hg-clr .hg-n{grid-column:1;grid-row:2}.hg-clr .hg-x{grid-column:2;grid-row:1}
  .hg-th{width:calc(50% - 5px)}
}
body.hg-flying .toast{bottom:150px}
/* one sign-in with RCMarket (src/sso.js): the second way in on both sign-in pages */
.sso-or{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin:20px 0 14px}
.sso-or::before,.sso-or::after{content:"";flex:1;height:1px;background:var(--line)}
.btn.sso-btn{width:100%}
.sso-note{margin:8px 0 0;font-size:12.5px;color:var(--muted);text-align:center}

/* ===== 2026-10-12 tweak batch ===== */
/* search above the filter bar (posts, build stories, questions, videos) */
.fsearch{display:flex;gap:8px;max-width:560px;margin:0 0 10px}
.fsearch input{flex:1;min-width:0;height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 12px;font:inherit;font-size:13.5px;background:#fff;color:var(--ink)}
.fsearch input:focus-visible{outline:2px solid var(--ring);outline-offset:1px}
/* ONE sort menu at the right end of the bar */
.fsortd{margin-left:auto}
/* on a phone a menu opens under the whole bar, full width, never past the screen's edge */
@media (max-width:760px){
  .fbar{position:relative}
  .fbar>.fdrop{position:static}
  .fbar>.fdrop>.fmenu{left:0;right:0;width:auto;top:calc(100% + 6px)}
  .fsearch{max-width:none}
}
/* the ... menu: posts, chapters, feed cards */
.dots{display:inline-block}
.btn.dots-b{list-style:none;width:38px;padding:0;color:var(--muted)}
.btn.dots-b::-webkit-details-marker{display:none}
.dots[open] .dots-b{border-color:var(--hover-line);color:var(--ink)}
.sc .btn.dots-b{width:32px;height:30px;border-color:transparent}
.sc .btn.dots-b:hover,.sc .dots[open] .dots-b{border-color:var(--hover-line)}
.fm-danger{color:var(--danger)}
button.fm-i{width:100%;text-align:left;background:none;font-family:inherit;cursor:pointer}
.ch-date .dots{margin-left:6px;vertical-align:middle}
.ch-date .btn.dots-b{height:28px;width:32px}
/* a feed card's header: who and when, then the eyebrow and the menu at the right */
.sc-hr{margin-left:auto;display:inline-flex;align-items:center;gap:6px}
.sc-h .sc-hr .kind{margin:0}
/* a build story's eyebrow opens its chapters */
.kind-b{list-style:none;display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;border-radius:8px;border:1px solid var(--brand-line);background:var(--brand-soft);cursor:pointer;user-select:none;margin:0}
.kind-b::-webkit-details-marker{display:none}
.kind-b:hover{border-color:rgba(244,34,0,.55)}
.kind-b .wchev{width:6px;height:6px}
.chdrop[open] .kind-b{border-color:rgba(244,34,0,.55)}
.chmenu{width:300px;top:34px}
.chmenu .fm-i{display:flex;gap:10px;align-items:baseline;line-height:1.35}
.chn{flex:none;min-width:18px;font-weight:800;color:var(--brand-ink)}
.fm-all{border-top:1px solid var(--line);border-radius:0 0 8px 8px;margin-top:4px;color:var(--brand-ink)}
/* a feed card's footer: the score and Rate It first, the talk after */
.sc-f{flex-wrap:wrap}
.sc-score{display:inline-flex;align-items:baseline;gap:6px;font-size:13.5px}
.sc-score b{font-size:15px;color:var(--ink)}
.star{display:inline-block;width:14px;height:14px;background:var(--brand);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4l-5.9 3.1 1.2-6.5-4.8-4.6 6.6-.9z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4l-5.9 3.1 1.2-6.5-4.8-4.6 6.6-.9z'/%3E%3C/svg%3E") center/contain no-repeat;align-self:center}
.btn.sc-rate{height:30px;padding:0 12px;font-size:12.5px;border-color:var(--brand-line);color:var(--brand-ink);background:var(--brand-soft)}
.btn.sc-rate:hover{border-color:rgba(244,34,0,.55)}
.btn.sc-rate.on{background:rgba(244,34,0,.10);border-color:rgba(244,34,0,.55);color:var(--brand-ink)}   /* you reacted: the Following look */
.sc-feel-n{margin-left:8px;font-size:12.5px;font-weight:600;color:var(--muted)}
.sc-feel-n:empty{display:none}
.sc-feel-me{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-left:auto;min-width:0}
@media (max-width:640px){.sc-feel-me{flex-basis:100%;justify-content:space-between;margin-left:0}}   /* a phone: your numbers left, the button right, on their own line */
.feel-me{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}

.sc-f .sc-talk{margin-left:auto}
.rate-m{margin-top:4px}
/* comments: each thread in its own rounded box, the shades alternating (no rules between them) */
.cthread{border-radius:12px;padding:10px 14px 8px;margin-top:10px;background:#f6f7f9}
.cthread:nth-of-type(even){background:#fdf7f4}
.cthread .cmt{border-top:0;padding:6px 0}
.cthread .cmt-reply{margin-left:28px;padding-left:12px;border-left:2px solid rgba(20,22,26,.07)}
/* the story contents in the post window start level with the post (the window has no bar to clear) */
.embed .toc-rail{top:16px}
/* the product question in the posting form */
.prod-picked{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.btn.prod-sm{height:32px;padding:0 12px;font-size:12.5px}
.prod-acts{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px}
.prod-list:empty{display:none}
.prod-list{margin-top:8px}
.prod-type{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px}
@media (max-width:560px){ .prod-type{grid-template-columns:1fr} }
/* the world menu on a phone (his catch 2026-10-12): it opens under the whole bar, the screen's width less the gutters,
   never past the right edge (it hung off the selector at a fixed 260px) */
@media (max-width:760px){
  .bar-in{position:relative}
  .wsel{position:static}
  .wmenu{left:16px;right:16px;width:auto;top:calc(100% - 6px)}
}
/* the dots (2026-10-12): an aircraft's community posts and RCMarket ads; a model page's hangar line */
.hg-dots{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;max-width:900px;margin:0 0 18px}
.hg-dots .mebox{margin:0}
.hg-posts{display:flex;flex-direction:column}
.hg-post{display:flex;flex-direction:column;gap:2px;padding:9px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}
.hg-post:first-child{border-top:0;padding-top:0}
.hg-post b{font-size:14px;font-weight:700;line-height:1.35}
.hg-post:hover b{text-decoration:underline}
.hg-post .muted{font-size:12.5px}
.hg-adlist{display:flex;flex-direction:column}
.mhangar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:-4px 0 16px;font-size:13.5px;color:var(--muted)}
.mhangar b{color:var(--ink)}
@media (max-width:760px){ .hg-dots{grid-template-columns:1fr} }

/* the aircraft's RCMarket ad, as RCMarket has it now (2026-10-12) */
.hg-ad{display:flex;flex-direction:column;gap:10px;background:#f6f7f9;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13.5px}
.hg-ad .btn{align-self:flex-start}
.hg-adb{display:flex;gap:8px;flex-wrap:wrap}
.hg-ad-sold{background:#e9f5ee;border-color:#bfe0cd}
.hg-c.hg-sale{background:var(--brand);color:#fff}
.hg-c.hg-sold{background:#1f9254;color:#fff}

/* /hangar, the public page (rcchecklist.com lands here at launch) */
.hi{background:#fff;border:1px solid #eaeaea;border-radius:16px;box-shadow:0 1px 3px rgba(20,22,26,.06),0 6px 18px rgba(20,22,26,.04);padding:32px 34px 30px;max-width:860px}
.hi h1{font-size:30px;font-weight:800;margin:6px 0 8px}
.hi-lead{font-size:16px;color:var(--muted);margin:0 0 22px;max-width:620px}
.hi-g{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.hi-i{background:#ebebec;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:5px}
.hi-i b{font-size:14.5px}.hi-i span{font-size:13.5px;color:var(--muted);line-height:1.5}
.hi-from{background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:12px;padding:12px 16px;font-size:14px;margin-bottom:20px}
@media (max-width:760px){ .hi{padding:22px 18px} .hi h1{font-size:24px} .hi-g{grid-template-columns:1fr} .hi-go .btn{width:100%} }

/* How People Feel About This Post (2026-10-12, as on helistorm.com): a face per sentiment, its average's verdict */
.sc-f{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.sc-feel-h{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:8px}
.sc-feel-r{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}
.feel{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--ink)}
.feel svg{flex:none}
.feel-good svg{color:#3cb54a}.feel-meh svg{color:#e0b31b}.feel-poor svg{color:#d93a2b}
.sc-acts{display:flex;align-items:center;gap:18px;padding-left:18px;border-left:1px solid var(--line-2);align-self:stretch}
.sc-acts a{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--ink);text-decoration:none}
.sc-acts a:hover{text-decoration:underline}
.sc-f .sc-talk{margin-left:0}
@media (max-width:560px){ .sc-acts{border-left:0;padding-left:0;width:100%;justify-content:flex-start} }
.sc-f{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end}
@media (max-width:560px){ .sc-f{grid-template-columns:1fr} }

/* ---- the Field Kit (src/hangar.js kitPage, public/assets/fieldkit.js) and its card on My Hangar ---- */
.kitcard{display:flex;align-items:center;gap:14px;max-width:720px;margin:0 0 18px;padding:14px 16px;background:#15171b;color:#fff;border-radius:14px;text-decoration:none}
.kitcard:hover{background:#1f2227}
.kitcard-ic{flex:none;width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.13);display:flex;align-items:center;justify-content:center}
.kitcard-ic svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.kitcard-t{flex:1;min-width:0}
.kitcard-t b{display:block;font-size:14px}
.kitcard-t span{display:block;font-size:12.5px;color:rgba(255,255,255,.72);margin-top:2px}
.kitcard-go{flex:none;font-size:24px;line-height:1;color:rgba(255,255,255,.6)}
.kit-intro{margin:-6px 0 16px}
.kit{max-width:720px}
.kit-sec{margin-bottom:14px}
.kit-lab{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.kit .chips{padding:0}
.kit-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--brand-soft);border-radius:11px;padding:10px 14px;margin:0 0 12px}
.kit-bar b{font-size:13.5px;color:var(--brand-ink)}
.kit-list{background:#fff;border:1px solid #eaeaea;border-radius:14px;box-shadow:0 1px 3px rgba(20,22,26,.06);overflow:hidden}
.kit-row{display:flex;align-items:center;border-bottom:1px solid var(--line)}
.kit-row:last-child{border-bottom:0}
.kit-tick{flex:1;min-width:0;display:flex;align-items:flex-start;gap:12px;padding:13px 14px;background:none;border:0;text-align:left;font:inherit;color:var(--ink);cursor:pointer}
.kit-bx{flex:none;width:24px;height:24px;border-radius:7px;border:2px solid var(--line-2);display:flex;align-items:center;justify-content:center;margin-top:-1px}
.kit-bx svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.kit-row.on .kit-bx{background:#1f9254;border-color:#1f9254}
.kit-row.on .kit-bx svg{opacity:1}
.kit-row.on .kit-tt{color:var(--muted);text-decoration:line-through}
.kit-tx{display:flex;flex-direction:column;gap:3px;min-width:0}
.kit-tt{font-size:14.5px;font-weight:600}
.kit-from{font-size:12px;color:var(--faint)}
.kit-x{flex:none;width:40px;height:40px;margin-right:6px;border:0;background:none;border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.kit-x svg{width:15px;height:15px;fill:none;stroke:var(--faint);stroke-width:2;stroke-linecap:round}
.kit-x:hover{background:var(--chip)}
.kit-empty{display:flex;flex-direction:column;gap:6px;padding:26px 18px;text-align:center;background:#fff;border:1px dashed var(--line-2);border-radius:14px;color:var(--muted)}
.kit-empty b{color:var(--ink)}
.kit-add{margin-top:18px}
.kit-add label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}
.kit-addrow{display:flex;gap:8px}
.kit-addrow input{flex:1;min-width:0;height:44px;border:1px solid var(--line-2);border-radius:9px;padding:0 13px;font:inherit;font-size:14px}
.kit-addrow .btn{height:44px}
.kit-add .hint{margin-top:8px;line-height:1.5}
.kit-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.kit-er{display:flex;gap:8px;margin-bottom:8px}
.kit-er input{flex:1;min-width:0;height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 11px;font:inherit;font-size:13.5px}

/* ---- Print Cockpit Labels (src/hangar.js labelsPage, public/assets/labels.js). The label geometry is RCCheckList's,
   balanced against the QR quiet zone, not looks: change the code box or the padding and re-measure. ---- */
.lbl-wrap{display:flex;gap:26px;align-items:flex-start}
.lbl-ctl{width:360px;flex:none}
.lbl-prev{flex:1;min-width:0}
.lbl-pick #lbl-rows{margin-top:6px}
.lbl-row{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding:6px 0}
.lbl-row:first-child{border-top:0}
.lbl-tick{flex:1;min-width:0;display:flex;align-items:center;gap:12px;background:none;border:0;padding:6px 0;text-align:left;font:inherit;color:var(--ink);cursor:pointer}
.lbl-row.on .kit-bx{background:#1f9254;border-color:#1f9254}
.lbl-row.on .kit-bx svg{opacity:1}
.lbl-tx{display:flex;flex-direction:column;min-width:0}
.lbl-tx b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lbl-tx span{font-size:12px;color:var(--faint)}
.lbl-explain{background:#ebebec;border:1px solid #d9d9db;border-radius:12px;padding:13px 15px;margin:0 0 14px}
.lbl-explain p{margin:0;font-size:12.5px;line-height:1.6;color:var(--muted)}
.lbl-explain p + p{margin-top:9px}
.lbl-go{width:100%;height:44px}
.lbl-hint{text-align:center;margin-top:8px}
.lbl-cap{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
/* a letter page is 8.5in, wider than the preview column: zoom shrinks the LAYOUT box too, and print resets it */
.lbl-prev .lsheet{zoom:.62}
.lsheet{background:#fff;width:8.5in;min-height:11in;padding:.5in;margin:0 0 18px;box-shadow:0 2px 8px rgba(20,22,26,.1),0 18px 44px rgba(20,22,26,.09)}
.lgrid{display:grid;grid-template-columns:repeat(3,2in);gap:.25in;justify-content:start;align-content:start}
.lab{width:2in;height:2in;border:1px dashed #b9bec6;border-radius:.06in;padding:.06in .07in;display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:#fff;break-inside:avoid;page-break-inside:avoid;overflow:hidden}
.lab-nm{font:700 8.6pt Inter,system-ui,sans-serif;letter-spacing:-.01em;line-height:1.15;text-align:center;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#111}
.lab-qz{width:1.21in;height:1.21in;flex:none}
.lab-qz img{width:100%;height:100%;display:block}
.lab-ft{width:100%;text-align:center}
.lab-id{font:700 7pt ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em;color:#111}
.lab-mk{font:800 5.4pt Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8d939b;margin-top:1px}
.calib{margin-top:.28in;display:flex;align-items:center;gap:.12in}
.calib-bar{width:1in;height:.09in;background:#111;flex:none}
.calib span{font:600 6.6pt Inter,system-ui,sans-serif;color:#6b7280;line-height:1.35}
@media (max-width:900px){ .lbl-wrap{flex-direction:column} .lbl-ctl{width:100%} .lbl-prev .lsheet{zoom:.42} }
@media print{
  @page{ size:letter; margin:.5in; }
  html,body{background:#fff !important;min-width:0}
  .bar,.rail,.scrim,.foot,.noprint,.toast{display:none !important}
  .shell,.col,.main{display:block !important;padding:0 !important;margin:0 !important;max-width:none !important;border:0 !important}
  .lbl-wrap{display:block}
  .lbl-prev .lsheet{zoom:1}
  .lsheet{width:auto;min-height:0;padding:0;margin:0;box-shadow:none}
  .lsheet + .lsheet{ break-before:page; page-break-before:always; }
  *{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}

/* ---- Admin > Checklists (src/hangaradmin.js, public/assets/checklists-admin.js) ---- */
.cla-pick{display:flex;flex-direction:column;gap:10px;max-width:900px;background:#fff;border:1px solid #eaeaea;border-radius:14px;padding:14px 16px;margin:0 0 16px}
.cla-prow{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap}
.cla-l{flex:none;width:64px;font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.cla-pick .chips{padding:0}
.cla-box{max-width:900px}
.cla-mine{background:var(--brand-soft);border-color:var(--brand-line);color:var(--brand-ink)}
.cla-rows{display:flex;flex-direction:column;gap:8px;margin:14px 0 10px}
.cla-r{display:grid;grid-template-columns:24px minmax(0,1fr) minmax(0,1.2fr) auto;gap:8px;align-items:center}
.cla-n{font-size:12px;font-weight:700;color:var(--faint);text-align:right}
.cla-r input{height:38px;border:1px solid var(--line-2);border-radius:9px;padding:0 11px;font:inherit;font-size:13.5px;min-width:0}

/* ---- drag to reorder My Hangar (public/assets/hangar.js): the grip on each card's photo, ghost, drop zone ---- */
.hg-grip{position:absolute;top:10px;left:10px;z-index:2;width:30px;height:34px;border-radius:9px;background:rgba(255,255,255,.92);box-shadow:0 1px 4px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.hg-grid .hg-card{-webkit-user-drag:none}
.hg-grip svg{width:16px;height:16px;fill:#6b7280}
.hg-grip:hover svg{fill:var(--ink)}
.hg-ghost{position:fixed;z-index:120;pointer-events:none;margin:0;transform:rotate(2deg);box-shadow:0 18px 44px rgba(20,22,26,.3);opacity:.96}
.hg-zone{border:2px dashed rgba(244,34,0,.55);background:rgba(244,34,0,.07);border-radius:14px;box-sizing:border-box}
.hg-drag-src{display:none !important}

/* ---- a member's page: the Club line under the bio, Posts | Comments tabs with their search (src/render.js memberPage) ---- */
.pf-club{padding:10px 24px 0;font-size:14px;color:var(--ink)}
.pf-club .fact-l{margin-right:6px}
.pf-tabs{display:flex;align-items:center;gap:12px 16px;flex-wrap:wrap;margin:24px 0 14px}
.pf-tabs .seg{flex:none}
.pf-n{font-weight:600;color:var(--faint);margin-left:4px}
.seg-b.on .pf-n{color:inherit;opacity:.75}
.pf-search{flex:1 1 280px;margin:0}
a.pf-c{text-decoration:none;color:inherit}
a.pf-c:hover{border-color:var(--hover-line)}

/* Editor requests (2026-10-12): the ask on Articles / Learn, and Admin > Editor Requests */
.modal.er-modal .mb .field{margin:16px 0 0}
.er-lead{margin:0;color:var(--muted)}
.er-row .av{flex:none}
.er-kind{margin-left:8px;vertical-align:2px}
.er-row .st{margin-left:6px;vertical-align:2px}
.st.er-yes{background:#e9f5ee;border-color:#bfe3cc;color:#1f6b40}
.st.er-no{background:var(--chip);border-color:var(--line);color:var(--muted)}
.er-exp{margin-top:10px;font-size:14px;line-height:1.55;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.er-link{margin-top:6px;font-size:13.5px;overflow-wrap:anywhere}
.er-link a{color:var(--ink);font-weight:600}
.er-empty{background:#e9f5ee;border-color:#bfe3cc;color:#1f6b40}
.ae-worlds{margin-top:6px}
/* Members list: the join date as its own block beside Open (his ask 2026-10-12: "make the join date more noticeable") */
.mrow-join{flex:none;align-self:center;display:flex;flex-direction:column;align-items:flex-end;min-width:118px;padding:6px 12px;border-radius:10px;background:var(--chip);border:1px solid var(--line);text-align:right;line-height:1.25}
.mrow-join .mj-l{font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.mrow-join b{font-size:14px;font-weight:700;color:var(--ink);white-space:nowrap}
.mrow-join .mj-s{font-size:11.5px;color:var(--muted);white-space:nowrap}
/* Impersonate (super admin, look only, 2026-10-12): the bar stays on screen on every page, bottom center */
.mc-acts{margin-left:auto;display:flex;gap:8px}
.mc-acts .mc-pub{margin-left:0}
.as-bar{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:2147483000;white-space:nowrap;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:8px 8px 8px 16px;border-radius:12px;background:#1a1d23;color:#fff;font-size:13.5px;box-shadow:0 10px 30px rgba(0,0,0,.35);border:2px solid #f0b429}
.as-bar b{color:#f0b429}
.as-bar .as-e{color:#aeb4be}
.as-bar .btn{flex:none}
.as-bar>span{min-width:0;overflow:hidden;text-overflow:ellipsis}
body[data-as]{padding-bottom:72px}

/* ---- polls (his ask 2026-10-12, src/polls.js) ---- */
.seg-4{grid-template-columns:repeat(4,1fr);margin-bottom:18px;max-width:600px}
@media (max-width:520px){.seg-4{grid-template-columns:repeat(2,1fr)}}
/* the builder: numbered choices, each with its own remove; how people vote; top N */
.pollb-list{display:flex;flex-direction:column;gap:8px}
.pollb-row{display:grid;grid-template-columns:26px minmax(0,1fr) 34px;align-items:center;gap:8px}
.pollb-n{width:24px;height:24px;border-radius:50%;background:var(--chip);border:1px solid var(--line);font-size:11.5px;font-weight:800;color:var(--muted);display:inline-flex;align-items:center;justify-content:center}
.pollb .pollb-row input{height:38px}
.pollb-x{width:34px;height:34px;border:1px solid var(--line-2);border-radius:9px;background:#fff;color:var(--muted);font-size:18px;line-height:1;cursor:pointer}
.pollb-x:hover:not(:disabled){border-color:var(--hover-line);color:var(--danger)}
.pollb-x:disabled{opacity:.35;cursor:default}
#c-polladd{align-self:flex-start;margin:4px 0 0 34px}
.pollb-kh{margin-top:16px}
.pollb .seg-3{margin:0;max-width:520px}
.pollb-top{display:flex;align-items:center;gap:10px;margin-top:12px}
.pollb-top label{font-size:13px;font-weight:600}
.pollb .pollb-top input{width:88px}
/* on the post: the ballot, then the results graph */
.pollbox{border:1px solid var(--line);border-radius:14px;background:#fff;padding:14px 16px 16px;margin:16px 0 4px;box-shadow:0 1px 3px rgba(20,22,26,.05)}
.poll-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.poll-k{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-ink);background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:999px;padding:3px 10px}
.poll-n{font-size:12.5px;font-weight:600;color:var(--muted)}
.poll-how{margin:0 0 10px;font-size:13px;color:var(--muted)}
.po-list{display:flex;flex-direction:column;gap:8px}
.po{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line-2);border-radius:10px;background:#fff;font:inherit;font-size:14.5px;font-weight:600;color:var(--ink);text-align:left;cursor:pointer}
.po:hover:not(:disabled){border-color:var(--hover-line)}
.po.on{background:rgba(244,34,0,.07);border-color:rgba(244,34,0,.55)}
.po:disabled{opacity:.45;cursor:default}
.po-off .po{cursor:default}
.po-t{flex:1;min-width:0}
.po-m{flex:none;width:22px;height:22px;border:2px solid var(--line-2);background:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#fff}
.po-m-one{border-radius:50%}
.po-m-top{border-radius:6px}
.po-m-rank{border-radius:50%;border-style:dashed}
.po.on .po-m{background:var(--brand);border-color:var(--brand)}
.po.on .po-m-one{box-shadow:inset 0 0 0 3px #fff}
.po.on .po-m-top::after{content:"";width:6px;height:10px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:translateY(-1px) rotate(45deg)}
.po.on .po-m-rank{border-style:solid}
.poll-f{display:flex;align-items:center;justify-content:flex-end;gap:14px;margin-top:12px}
.poll-f .form-msg{margin-right:auto}
.pr{display:flex;flex-direction:column;gap:12px}
.pr-l{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:5px}
.pr-t{font-size:14px;font-weight:600}
.pr-you{flex:none;font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--brand-ink)}
.pr-b{display:grid;grid-template-columns:minmax(0,1fr) 56px;align-items:center;gap:10px}
.pr-bar{height:12px;border-radius:999px;background:#eceef2;overflow:hidden}
.pr-bar i{display:block;height:100%;border-radius:999px;background:#9aa0aa;transition:width .5s ease}
.pr-lead .pr-bar i{background:var(--brand)}
.pr-v{font-size:13.5px;text-align:right}
.pr-note{margin-top:12px;font-size:12px;color:var(--faint)}
/* on a feed card: the kind, the votes, the way in */
.sc-poll{display:flex;align-items:center;gap:12px;margin:12px 0 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--chip);text-decoration:none;color:var(--ink);font-size:13.5px}
.sc-poll:hover{border-color:var(--hover-line)}
.sc-poll-i{flex:none;display:flex;flex-direction:column;gap:3px;width:22px}
.sc-poll-i i{display:block;height:4px;border-radius:2px;background:var(--brand)}
.sc-poll-i i:nth-child(1){width:100%}.sc-poll-i i:nth-child(2){width:65%;opacity:.6}.sc-poll-i i:nth-child(3){width:40%;opacity:.35}
.sc-poll-go{margin-left:auto;font-weight:700;color:var(--brand-ink);white-space:nowrap}
@media (max-width:520px){.sc-poll{flex-wrap:wrap}.sc-poll-go{margin-left:34px}}

/* ---- shared files (his ask 2026-10-12): the File kind's picker, and a file as a row on cards and posts ---- */
.seg-5{grid-template-columns:repeat(5,1fr);margin-bottom:18px;max-width:700px}
@media (max-width:620px){.seg-5{grid-template-columns:repeat(3,1fr)}}
.filedrop{border:2px dashed var(--line-2);border-radius:12px;min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;padding:16px;cursor:pointer;background:#fff;color:var(--muted);font-size:12.5px}
.filedrop b{color:var(--ink);font-size:14px}
.filedrop.over,.filedrop:hover{border-color:var(--brand-line);background:var(--brand-soft)}
.filedrop[hidden]{display:none}
.files{display:flex;flex-direction:column;gap:8px;margin:12px 0 0}
.file{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;color:var(--ink);min-width:0}
a.file:hover{border-color:var(--hover-line)}
.file-x{flex:none;width:44px;height:44px;border-radius:9px;background:var(--brand-soft);border:1px solid var(--brand-line);color:var(--brand-ink);font-size:11px;font-weight:800;letter-spacing:.04em;display:inline-flex;align-items:center;justify-content:center}
.file-n{flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-s{flex:none;font-size:12.5px;color:var(--muted)}
.file-d{flex:none;height:34px;padding:0 14px;border-radius:9px;background:var(--brand);color:#fff;font-size:13px;font-weight:700;display:inline-flex;align-items:center}
.file-c{background:var(--chip)}
.file-t{flex:none;width:44px;height:58px;object-fit:cover;object-position:top;border-radius:6px;border:1px solid var(--line);background:#fff}
/* a PDF shown like a picture (2026-10-13): its first page, then the name and page count; the whole tile opens the PDF */
.doc{display:block;margin:12px 0 0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;text-decoration:none;color:var(--ink)}
.doc:hover{border-color:rgba(20,22,26,.3)}
.doc-img{display:block;width:100%;max-height:520px;object-fit:cover;object-position:top;background:#f3f4f6}
.doc-bar{display:flex;align-items:center;gap:12px;padding:10px 12px;border-top:1px solid var(--line)}
.doc-n{flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-p{flex:none;font-size:12.5px;color:var(--muted);white-space:nowrap}
.file-bad .file-s{color:var(--danger)}
@media (max-width:520px){.file-s{display:none}}
/* Left Menu: each item's own name, edited in place (2026-10-12) */
.mn-name{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mn-in{width:220px;max-width:100%;height:36px;border:1px solid var(--line-2);border-radius:9px;padding:0 11px;font:inherit;font-size:14px;font-weight:600;color:var(--ink);background:#fff}
.mn-in:hover{border-color:var(--hover-line)}
.mn-in:focus{outline:none;border-color:var(--brand-line);box-shadow:0 0 0 3px rgba(244,34,0,.12)}
.mn-off .mn-in{color:var(--faint)}
.mn-reset{font-size:12.5px}
.mn-row .mrow-m{margin-top:5px}
#mn-msg{margin:18px 0 0;max-width:620px}
/* the search tucked into the filter row after Model (his ask 2026-10-12): a short box and a spyglass, never reaching the sort */
.fsearch.fsearch-in{position:relative;flex:0 1 240px;min-width:150px;max-width:240px;margin:0;gap:0}
.fsearch-in input{height:38px;padding:0 40px 0 12px}
.fsearch-go{position:absolute;right:3px;top:3px;width:32px;height:32px;border:0;border-radius:7px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.fsearch-go:hover{background:var(--chip);color:var(--ink)}
.fsearch-in input::-webkit-search-cancel-button{display:none}
@media (max-width:760px){ .fsearch.fsearch-in{flex:1 1 160px;max-width:none} }
.fsearch-in input{height:34px;font-size:13px}   /* the height of Topic, Model and the sort (.fbtn), his ask 2026-10-12 */
.fsearch-go{top:2px;width:30px;height:30px}
/* page headings: a heading's own line height (it took the body's, so a two-line title stood far apart), balanced lines */
.page-h h1{line-height:1.18;letter-spacing:-.01em;text-wrap:balance}
@media (max-width:760px){ .page-h h1{font-size:22px} }
/* on a phone (his ask 2026-10-12): Topic, Model and the sort on the top row, the search a full row under them */
@media (max-width:760px){
  .fbar .fsearch.fsearch-in{order:10;flex:1 1 100%;max-width:none}
  .fbar>.chip{order:11}
}
/* the Post Type picker (his ask 2026-10-12): a heading over it, and every choice on the page (a later .seg{inline-flex}
   had made it one row running off a phone) */
.seg.seg-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));max-width:700px;margin:0}
.seg.seg-5 .seg-b{padding:0 8px;min-width:0}
@media (max-width:620px){.seg.seg-5{grid-template-columns:repeat(3,minmax(0,1fr))}}
.kindf{margin-bottom:18px}
/* the member's picture over the banner (his ask 2026-10-12): half on it, half off (94px with its ring: up by 47px plus the
   header's 20px top pad), framed by a thick white ring and a soft shadow so it reads against any banner */
.profile-h > .av-lg{width:94px;height:94px;border:5px solid #fff;box-shadow:0 2px 12px rgba(20,22,26,.22);background-color:#fff;position:relative;z-index:1}
.banner + .profile-h > .av-lg{margin-top:-67px}
.banner + .profile-h{padding-top:20px}

/* the playing cards (his ask 2026-10-12): the card art no longer draws its own outline (public/cards/*.svg, stroke none), so
   one edge only, rounded like a real card (7%/5% of its size) with a crisp contact shadow under a soft one */

/* Pilot Poker: World vs World (his ask 2026-10-12, mockup/poker-worlds): world badges on the board, a World filter,
   and World vs World under the payoffs. A world icon is his silhouette as a mask (public/brand/worldicons). */
.wb-i,.wvw-i,.wvw-ci{display:inline-block;flex:none;background:var(--ink);-webkit-mask:var(--wi) center/contain no-repeat;mask:var(--wi) center/contain no-repeat}
.wb-i{width:20px;height:20px}
.pkw-row{gap:12px}
.pkw-row .ld-who{flex:1;min-width:0}
.pkw-best{font-size:12.5px;color:var(--muted)}.ld-who .pkw-best b{display:inline;font-size:inherit;font-weight:700;color:var(--ink)}   /* Best Hand, all time (his ask 2026-10-12) */
.pkw-top{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin-top:3px;padding:2px 9px;border-radius:999px;background:linear-gradient(#f7dc7a,#e3b23c);border:1px solid #c9971f;color:#5c4200;font-weight:600;white-space:nowrap}.ld-who .pkw-top b{color:#3d2c00}   /* Top Hand: the best hand in the list on screen, first to hit it on a tie */
.wb{flex:none;display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px 0 8px;border-radius:999px;background:var(--chip);border:1px solid var(--line);font-size:12.5px;font-weight:700;color:var(--ink);white-space:nowrap}
.pkw-filter{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-4px 0 18px}
.pkw-filter .chip{padding:0 9px}
.pkw-filter .chip{gap:6px}
.pkw-filter .chip.on .wb-i{background:var(--brand-ink)}
.wvw{margin-top:16px}
.wvw-champ{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:12px;background:radial-gradient(120% 140% at 0% 0%,#22744c,#123e29);color:#fff;margin:4px 0 14px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.wvw-ci{width:56px;height:56px;background:#f2c94c}
.wvw-champ div{display:flex;flex-direction:column;gap:2px;min-width:0}
.wvw-champ b{font-size:18px;font-weight:800;line-height:1.2}
.wvw-s{color:rgba(255,255,255,.75);font-size:12.5px}
.wvw-k{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#f2c94c}
.wvw-bars{display:flex;flex-direction:column;gap:9px}
.wvw-row{display:grid;grid-template-columns:22px 70px minmax(0,1fr) 44px;align-items:center;gap:8px;font-size:12.5px}
.wvw-i{width:22px;height:22px}
.wvw-n{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wvw-bar{height:8px;border-radius:999px;background:#eceef2;overflow:hidden}
.wvw-bar i{display:block;height:100%;border-radius:999px;background:#b7bcc5}
.wvw-lead .wvw-bar i{background:#1f9254}
.wvw-row b{text-align:right}
.wvw-h2{margin-top:16px}
.wvw-ws{display:flex;flex-direction:column;gap:8px}
.wvw-w{border:1px solid var(--line);border-radius:10px;padding:8px 11px;background:#fff;min-width:0}
.wvw-wh{display:flex;align-items:center;gap:7px;margin-bottom:5px;font-size:12.5px}
.wvw-wh .wvw-i{width:18px;height:18px}
.wvw-p{display:flex;align-items:center;gap:5px;font-size:12px;padding:2px 0;min-width:0}
.wvw-pn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wvw-p b{margin-left:auto;color:#1f9254}
.wvw-r{flex:none;width:12px;color:var(--faint);font-weight:700}
.wvw-p .cflag{width:14px;height:10px;flex:none}
.pkw-subw{display:none}
@media (max-width:600px){
  .pkw-row .wb{display:none}
  .pkw-subw{display:inline-flex;align-items:center;gap:5px;color:var(--ink);font-weight:600}
  .pkw-subw .wb-i{width:16px;height:16px}
  .pkw-row .ld-who b{white-space:nowrap}
}
a.wvw-row,a.wvw-w{text-decoration:none;color:inherit}
a.wvw-row:hover .wvw-n,a.wvw-w:hover .wvw-wh b{text-decoration:underline}
a.wvw-w:hover{border-color:var(--hover-line)}
.wvw .neg,.wvw-p b.neg{color:var(--danger)}
.pkw-row .pk-net{flex:none;min-width:52px;text-align:right}

/* the bulletin atop a new post: what earns extra Pilot Poker plays (his ask 2026-10-12) */
.ann-earn{margin:0 0 22px}
.ann-earn .ann-t p{margin:0}
.earn-l{list-style:none;margin:12px 0;padding:0;display:grid;gap:6px}
.earn-l li{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 12px;border-radius:10px;background:#f6f7f9;font-size:14px}
.earn-l b{flex:none;padding:3px 10px;border-radius:999px;background:rgba(211,160,59,.18);border:1px solid rgba(211,160,59,.6);color:#8c6300;font-size:12.5px;white-space:nowrap}
.earn-me{font-size:13.5px;color:var(--muted)}
.earn-me b{color:var(--ink)}

/* banner ads (src/ads.js): the top strip above the header and the side box atop the right column */
.adtop{background:#0f1115;display:flex;justify-content:center}
.adtop .ad-a{display:block;width:100%;max-width:1200px;line-height:0}
.adtop img{display:block;width:100%;height:auto}   /* its own aspect-ratio rides inline: Standard 8:1 or Tall 16:3 */
.adside{margin:0 0 14px}
.adside .ad-a{display:block;line-height:0;border-radius:14px;overflow:hidden;box-shadow:0 1px 3px rgba(20,22,26,.06),0 6px 18px rgba(20,22,26,.06)}
.adside img{display:block;width:100%;height:auto;aspect-ratio:6/5}
.ad-k{display:block;margin:0 0 6px 2px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--faint,#9aa0aa)}
/* Admin > Banner Ads */
.ad-tw{flex:none;width:200px;display:flex;align-items:center}
.ad-thumb{flex:none;display:block;border-radius:8px;overflow:hidden;background:#f3f4f6;border:1px solid var(--line)}
.ad-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.ad-thumb-top{width:200px;height:25px}
.ad-hrow{margin-top:14px}
.ad-nopic{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:10.5px;font-weight:600;color:var(--muted);white-space:nowrap}
.ad-thumb-top:has(.ad-nopic){height:32px}
.st-draft{background:#fdf6e7;color:#a4690f;border-color:#f0dfb8}
.ad-hrow[hidden]{display:none}
.ad-hrow .flabel{display:block;margin-bottom:6px}
.ad-thumb-side{width:72px;height:60px}
.ad-row{align-items:center}
.ad-stats{display:flex;flex-wrap:wrap;gap:4px 18px}
.ad-link{overflow-wrap:anywhere}
.adc-stage{position:relative;width:100%;overflow:hidden;border-radius:10px;border:1px solid var(--line-2);touch-action:none;cursor:grab;background:#fff}
.adc-stage.grabbing{cursor:grabbing}
.adc-stage img{position:absolute;left:0;top:0;max-width:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
.adc-stage-top{aspect-ratio:8/1}
.adc-stage-side{aspect-ratio:6/5;max-width:360px}
.adc-empty{position:absolute;inset:0;display:flex;flex-direction:column;gap:4px;padding:8px 12px;text-align:center;align-items:center;justify-content:center;color:var(--muted);font-size:13.5px;cursor:pointer}
.adc-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:12px}
.adc-ctl label{font-size:13px;font-weight:700}
.adc-ctl input[type=range]{width:200px}
.adc-ctl input[type=color]{width:38px;height:32px;padding:2px;border:1px solid var(--line-2);border-radius:8px;background:#fff}
.adc-ctl[hidden],.adc-note[hidden]{display:none}
.modal.ad-modal .mb{overflow-y:auto;min-height:0}
.adc-pick{font-weight:600;color:var(--ink)}
.adc-dim{display:flex;flex-direction:column;gap:2px;font-size:12.5px;color:var(--faint,#9aa0aa);white-space:nowrap}
#c-alsof .c-also-n{margin:0 0 10px}
#c-alsof .ow-warn{margin-top:14px}
#c-alsof[hidden]{display:none}
/* the feed's right rail (events, RCMarket, the side banner) on a tablet: dropped under the posts it looked broken (his
   call 2026-10-12, iPad app). Hidden between phone and desktop widths; a page whose column is its own content (Pilot
   Poker's payoffs, Leaders' How Points Are Earned) keeps it. Phones keep it below the posts. */
@media (min-width:641px) and (max-width:1179px){ .side.side-rail{display:none} }   /* app.js tucks it after the 5th post here */

/* the file viewer (app.js data-fv): over everything, Close and Download at the top */
html.fv-open,html.fv-open body{overflow:hidden}
.fv{position:fixed;inset:0;z-index:120;background:#2a2d33;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
.fv-bar{flex:none;display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border-bottom:1px solid var(--line)}
.fv-n{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.fv-n b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fv-n span{font-size:12.5px;color:var(--muted)}
.fv-body{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;display:flex;justify-content:center;padding:16px 12px 28px}
.fv-pages{width:100%;max-width:1000px;display:flex;flex-direction:column;gap:12px}
.fv-pg{display:block;width:100%;height:auto;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.35);border-radius:2px}
.fv-wait{color:#d9dce2;text-align:center;padding:24px 0;font-size:14px}
.fv-img{max-width:100%;max-height:100%;object-fit:contain;align-self:center}
.fv-none{align-self:center;background:#fff;border-radius:14px;padding:28px 24px;max-width:420px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.fv-none p{margin:0;color:var(--muted);font-size:14px}
.fv-ext{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:12px;background:var(--chip);color:var(--brand-ink);font-weight:800;letter-spacing:.04em}
@media (max-width:520px){.fv-bar{flex-wrap:wrap}.fv-bar .file-x{display:none}.fv-n{flex-basis:100%}}
.pollbox-card{margin:12px 0 0;box-shadow:none}
.aw-note{flex-basis:100%;margin:6px 0 0}
.mfilter{margin:0 0 14px}
.mfilter .mtab-n{margin-left:6px}
.tx-acc{display:inline-flex;align-items:center;margin-left:8px;padding:2px 8px;border-radius:999px;background:rgba(244,34,0,.08);color:var(--brand-ink);font-size:11.5px;font-weight:700;white-space:nowrap}
