/* ===================== AgentPlays redesign v1 (Oct 16, 2026) =====================
   Palette from the new mark: ink + signal lime, cool neutrals. Dark first, light mode tuned separately.
   Type: Inter (display -0.045em), JetBrains Mono for labels. 4px spacing grid. Loaded after style.css. */
:root,[data-theme=dark]{color-scheme:dark;--bg:#09090b;--bg2:#0e0e12;--card:#111115;--card-s:#16161b;--hov:rgba(255,255,255,.045);--line:rgba(255,255,255,.075);--line2:rgba(255,255,255,.13);
 --text:#f4f4f6;--text2:#c0c0ca;--mut:#878791;--acc:#d6f87a;--acc2:#c6f432;--lime:#c6f432;--btn:#c6f432;--btnh:#d6f87a;--btnt:#0b0b0f;--on:#f4f4f6;--onx:#09090b;
 --glow1:rgba(198,244,50,.09);--glow2:rgba(122,140,255,.07);--hdr:rgba(9,9,11,.8);--shadow:0 1px 0 rgba(255,255,255,.035) inset;--lift:0 18px 40px -20px rgba(0,0,0,.7);
 --r:14px;--r-lg:20px;--s3:20px;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--ok:#86efac;--warn:#b8d42e}
[data-theme=light]{color-scheme:light;--bg:#fafaf8;--bg2:#f2f2ef;--card:#ffffff;--card-s:#ffffff;--hov:rgba(12,12,16,.04);--line:rgba(12,12,16,.085);--line2:rgba(12,12,16,.15);
 --text:#0b0b0f;--text2:#3a3a44;--mut:#686873;--acc:#4a6800;--acc2:#5a7d00;--lime:#c6f432;--btn:#0b0b0f;--btnh:#26262d;--btnt:#f4f4f6;--on:#0b0b0f;--onx:#fff;
 --glow1:rgba(150,200,0,.10);--glow2:rgba(90,110,255,.06);--hdr:rgba(250,250,248,.82);--shadow:0 1px 2px rgba(12,12,16,.04);--lift:0 18px 40px -22px rgba(12,12,16,.28);--ok:#15803d;--warn:#3f5800}
body{letter-spacing:-.011em;font-feature-settings:"cv11","ss01","ss03"}
body::before{height:760px;background:radial-gradient(50% 60% at 18% -8%,var(--glow1),transparent 70%),radial-gradient(40% 50% at 92% 0,var(--glow2),transparent 70%)}
body::after{height:640px;background-image:radial-gradient(var(--line2) 1px,transparent 1.2px);background-size:22px 22px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%);opacity:.55}
::selection{background:var(--lime);color:var(--on-accent)}
a{color:var(--acc)}a:hover{color:var(--text)}
h1,h2,h3{font-weight:700;letter-spacing:-.035em}
h2{font-size:clamp(22px,3.6vw,30px);margin:56px 0 18px}
h3{letter-spacing:-.02em}
.meta{color:var(--mut)}
/* header (same markup and link-fit rules as before; colours, height and controls restyled) */
.top{background:var(--hdr);border-bottom:1px solid var(--line);padding-top:12px;padding-bottom:12px}
.dnav a{color:var(--text2);border-radius:8px;transition:background .15s,color .15s}
.dnav a:hover{color:var(--text);background:var(--hov)}
.hsearch input{border-radius:999px;background-color:var(--card);border-color:var(--line2)}
.hsearch input:focus{border-color:var(--acc2);box-shadow:0 0 0 3px color-mix(in srgb,var(--lime) 22%,transparent)}
.tt,.menu summary{border-radius:999px;border-color:var(--line2)}
.menu nav{border-radius:16px;background:var(--card-s)}
.menu nav a:hover{background:var(--hov)}
/* buttons, tags, chips */
.btn,button.btn{background:var(--btn);color:var(--btnt);border-radius:999px;padding:10px 18px;font-weight:650;box-shadow:none;letter-spacing:-.01em}
.btn:hover{background:var(--btnh);color:var(--btnt)}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--line2)}
.btn.ghost:hover{background:var(--hov);color:var(--text);border-color:var(--mut)}
.tag{font-family:var(--mono);font-size:11px;letter-spacing:.02em;text-transform:uppercase;border-radius:6px;background:transparent;border-color:var(--line2);color:var(--text2);padding:2px 8px}
.chip{border-radius:999px;background:transparent;border-color:var(--line2)}
.chip.on,.chip[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}
.sbtn{border-radius:999px}
.ev{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.02em;border-radius:6px}
.badge{border-radius:999px}
/* cards: flat surfaces, hairline border, image on top */
.card{background:var(--card);border-radius:var(--r);border-color:var(--line);box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none}
.card::before{display:none}
.card:hover{border-color:color-mix(in srgb,var(--lime) 38%,var(--line2));box-shadow:var(--shadow),var(--lift)}
[data-theme=light] .card:hover{border-color:var(--line2)}
.card h3{font-size:17px;line-height:1.3}
.card h3 a{color:var(--text);text-decoration:none}.card h3 a:hover{color:var(--acc)}
.cimg,.nimg{background:var(--bg2)}
.nimg::after{display:none}
.nkind{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;border-radius:6px}
.today{background:transparent;border:0;padding:0;margin:64px 0 8px}
.today-head h2{font-size:clamp(22px,3.6vw,30px)}
.hico{display:none!important}
/* section eyebrows */
.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.eyebrow .dot,.live{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px color-mix(in srgb,var(--lime) 18%,transparent)}
/* ---------- homepage ---------- */
.rdhero{display:grid;gap:24px;padding:12px 0 8px;margin-top:0;text-align:left}
@media(max-width:639px){.rdh-cta .xf{display:none}}
.rdhero .hstory{order:-1}
.rdh-copy h1{max-width:none}
.rdh-copy h1{font-size:clamp(40px,10.5vw,84px);line-height:.98;letter-spacing:-.055em;font-weight:760;margin:0 0 18px;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:var(--text)}
.rdh-copy h1 em{font-style:normal;color:var(--lime);background:none;-webkit-text-fill-color:currentColor}
[data-theme=light] .rdh-copy h1 em{color:var(--text);background:linear-gradient(180deg,transparent 62%,var(--lime) 62%);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.rdh-copy .lead{font-size:clamp(17px,2.4vw,20px);line-height:1.55;color:var(--text2);margin:0 0 24px;max-width:36ch}
.rdh-cta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 22px}.rdh-cta .btn{margin:0}
.rdh-copy #q{max-width:none;border-radius:999px;background-color:var(--card);border-color:var(--line2)}
.rdh-copy .status{display:none}
.rdhero .hstory{border-radius:var(--r-lg);background:var(--card);border-color:var(--line2);box-shadow:var(--shadow)}
.rdhero .hstory:hover{border-color:color-mix(in srgb,var(--lime) 40%,var(--line2))}
.hskick{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--lime)}[data-theme=light] .hskick{color:var(--acc)}
.hstory h2{font-size:clamp(22px,5.6vw,30px);letter-spacing:-.035em;line-height:1.12}
.hsupd{font-family:var(--mono);font-size:12px;color:var(--mut)}
.rdbento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0 0}
.rdtile{position:relative;display:flex;flex-direction:column;gap:6px;min-height:132px;padding:16px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--text);text-decoration:none;overflow:hidden;transition:border-color .2s,transform .25s var(--ease),box-shadow .25s}
.rdtile:hover{border-color:color-mix(in srgb,var(--lime) 40%,var(--line2));transform:translateY(-2px);box-shadow:var(--lift);color:var(--text)}
.rdtile .k{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.rdtile b{font-size:30px;line-height:1;letter-spacing:-.04em;font-weight:750}
.rdtile span.d{font-size:13.5px;color:var(--text2);line-height:1.4}
.rdtile .go{position:absolute;right:14px;top:12px;color:var(--mut);font-size:16px;transition:transform .2s,color .2s}.rdtile:hover .go{color:var(--lime);transform:translate(2px,-2px)}
[data-theme=light] .rdtile:hover .go{color:var(--acc)}
@media(min-width:900px){
 .rdhero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:56px;padding:40px 0 8px}
 .rdhero .hstory{order:0}
 .rdh-copy h1{max-width:14ch}
 .rdh-copy h1{font-size:clamp(56px,5.6vw,84px)}
 .rdbento{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:40px}
 .rdtile{min-height:148px;padding:20px}
}
/* ---------- article pages (story, play) ---------- */
.crumb{font-family:var(--mono);font-size:12px;letter-spacing:.02em;color:var(--mut)}.crumb a{color:var(--mut);text-decoration:none}.crumb a:hover{color:var(--text)}
.detail{max-width:760px}
.detail h1{font-size:clamp(32px,6.4vw,54px);line-height:1.04;letter-spacing:-.045em;font-weight:760;margin:14px 0 14px}
.detail>.meta{font-family:var(--mono);font-size:12.5px;letter-spacing:.02em}
.detail .lead{font-size:clamp(17px,2.2vw,19px);line-height:1.7;color:var(--text2)}
.detail p,.detail li{line-height:1.7}
.ucthumb{margin:22px 0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line)}
.ucthumb img{display:block;width:100%;height:auto}
.ucthumb figcaption{padding:8px 14px}
.detail h2{font-size:clamp(20px,3vw,24px);margin:40px 0 14px}
.nuse{border:1px solid var(--line2);border-left:3px solid var(--lime);border-radius:var(--r);background:var(--card);padding:14px 16px}
.srcs{list-style:none;padding:0;display:grid;gap:8px}
.srcs li a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);text-decoration:none;font-weight:550}
.srcs li a:hover{border-color:color-mix(in srgb,var(--lime) 40%,var(--line2))}
.related{list-style:none;padding:0;display:grid;gap:6px}.related a{color:var(--text)}
.share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:28px 0}
.play{border-radius:var(--r-lg);background:var(--card);border-color:var(--line2)}
.detail.wide{max-width:none}
/* ---------- can-i-run-it ---------- */
.hwform{border-radius:var(--r-lg);padding:20px;background:var(--card);border-color:var(--line2)}
.hwform select,.hwform input[type=number]{border-radius:10px;background:var(--bg2)}
.hwsum{font-size:clamp(18px,2.6vw,22px);letter-spacing:-.02em}.hwsum b{color:var(--lime)}[data-theme=light] .hwsum b{color:var(--acc)}
.tablewrap{border-radius:var(--r-lg);background:var(--card)}
th{font-family:var(--mono);font-size:11px}
.fit{font-family:var(--mono);font-size:11px;border-radius:6px}
.fit-yes{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent);background:color-mix(in srgb,var(--ok) 9%,transparent)}
/* ---------- footer ---------- */
footer.rdf{border-top:1px solid var(--line);padding:56px max(20px,calc((100% - 1180px)/2 + 20px)) 40px;text-align:left;color:var(--mut);font-size:14px;background:linear-gradient(180deg,transparent,var(--bg2))}
.rdf-grid{display:grid;gap:32px;grid-template-columns:1fr 1fr}
.rdf-brand{grid-column:1/-1}
.rdf-brand .logo{margin:0 0 10px}
.rdf-brand p{margin:0;max-width:34ch;line-height:1.55}
.rdf h4{margin:0 0 12px;font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text)}
.rdf ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rdf a{color:var(--mut);text-decoration:none}.rdf a:hover{color:var(--text)}
.rdf-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:40px;padding-top:20px;border-top:1px solid var(--line);font-family:var(--mono);font-size:12px}
@media(min-width:900px){.rdf-grid{grid-template-columns:1.6fr repeat(4,1fr)}.rdf-brand{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.rdtile:hover{transform:none}}
/* homepage sections: no tinted boxes; open layout separated by space and a hairline */
#today,#drop,#start,#daily,section[aria-labelledby=tasks-h],section[aria-labelledby=copy-h],#plays,#weekly,#verify,#protect,.movers,.rstrip-sec,.battle,.teasers,section.models,#models{border:0;border-top:1px solid var(--line);border-radius:0;background:none;box-shadow:none;padding:40px 0 0;margin:56px 0 0}
[data-theme=light] :is(#today,#drop,#start,#daily,section[aria-labelledby=tasks-h],section[aria-labelledby=copy-h],#plays,#weekly,#verify,#protect,.movers){background:none;box-shadow:none;border-color:var(--line)}
#today h2,#start h2,#daily h2,#plays h2,#weekly h2,#verify h2,section[aria-labelledby] h2{margin-top:0}
.wkbar{border:1px solid var(--line2);border-radius:var(--r-lg);background:radial-gradient(60% 140% at 0 0,color-mix(in srgb,var(--lime) 12%,transparent),transparent 70%),var(--card);padding:18px 20px;margin-top:40px}
.task{border-radius:var(--r);background:var(--card)}.task:hover{border-color:color-mix(in srgb,var(--lime) 40%,var(--line2))}
.tico{border-radius:10px;color:var(--lime);background:var(--bg2)}[data-theme=light] .tico{color:var(--acc)}
.rstrip li{border-radius:12px}
@media(max-width:639px){.hssum{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.hsfoot .btn{padding:9px 14px;font-size:14px}}
.wrap>.rdhero,main>.rdhero{margin-top:0!important}
/* ---------- public chat widget (preview) ---------- */
.apchat{position:fixed;right:16px;bottom:16px;z-index:40;font-size:14px}
.apc-toggle{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 16px 0 14px;border-radius:999px;border:1px solid var(--line2);background:var(--card-s);color:var(--text);font-weight:650;cursor:pointer;box-shadow:var(--lift)}
.apc-toggle:hover{border-color:color-mix(in srgb,var(--lime) 45%,var(--line2))}
.apc-toggle .live{width:8px;height:8px}
.apchat.open .apc-toggle{display:none}
.apc-panel{position:fixed;right:16px;bottom:16px;width:min(380px,calc(100vw - 32px));height:min(540px,calc(100vh - 100px));display:flex;flex-direction:column;border:1px solid var(--line2);border-radius:18px;background:var(--card-s);box-shadow:0 30px 80px -20px rgba(0,0,0,.6);overflow:hidden}
.apc-panel[hidden]{display:none}
.apc-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}
.apc-head b{font-size:15px}.apc-head .meta{font-size:12px}
.apc-close{margin-left:auto;width:32px;height:32px;border-radius:999px;border:1px solid var(--line2);background:transparent;color:var(--text);cursor:pointer;font-size:16px}
.apc-note{margin:0;padding:8px 14px;font-size:12px;color:var(--mut);background:var(--bg2);border-bottom:1px solid var(--line)}
.apc-list{list-style:none;margin:0;padding:12px 14px;display:grid;gap:12px;overflow-y:auto;flex:1;align-content:start}
.apc-msg{display:grid;gap:2px}.apc-msg .who{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--mut)}.apc-msg .who b{color:var(--text);font-weight:650}
.apc-msg p{margin:0;color:var(--text2);line-height:1.45}
.rep{margin-left:auto;border:0;background:none;color:var(--mut);font:inherit;font-size:12px;cursor:pointer;padding:2px 4px;border-radius:6px}.rep:hover{color:var(--text);background:var(--hov)}
.apc-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--line)}
.apc-form input{flex:1;min-width:0;height:40px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:var(--bg2);color:var(--text);font:inherit;font-size:16px}
.apc-form .btn{margin:0;padding:8px 14px}
.sample{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);border:1px solid var(--line2);border-radius:5px;padding:0 5px}
@media(max-width:639px){.apchat{right:12px;bottom:12px}.apc-panel{right:0;left:0;bottom:0;width:100%;height:72vh;border-radius:18px 18px 0 0}}
/* ---------- forum + discussion (preview) ---------- */
.pvbanner{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;border:1px dashed var(--line2);border-radius:12px;background:var(--bg2);color:var(--text2);font-size:14px;margin:12px 0 20px}
.fgroup{margin:36px 0 0}.fgroup h2{font-size:13px;font-family:var(--mono);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin:0 0 12px}
.boards{display:grid;gap:10px}@media(min-width:900px){.boards{grid-template-columns:repeat(3,minmax(0,1fr))}}
.board{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--text);text-decoration:none;transition:border-color .2s,transform .2s}
.board:hover{border-color:color-mix(in srgb,var(--lime) 40%,var(--line2));transform:translateY(-1px);color:var(--text)}
.board .bl{flex:0 0 36px;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--bg2);border:1px solid var(--line);overflow:hidden}
.board .bl img,.board .bl svg{width:20px;height:20px}
.board b{display:block;font-size:15.5px;letter-spacing:-.01em}.board span.d{display:block;font-size:13px;color:var(--mut);line-height:1.4;margin-top:2px}
.subs{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.subs span{font-size:12px;color:var(--text2);border:1px solid var(--line);border-radius:999px;padding:1px 8px}
.threads{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:hidden}
.thread{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:14px 16px;border-bottom:1px solid var(--line)}.thread:last-child{border-bottom:0}
.thread a.t{color:var(--text);font-weight:650;text-decoration:none;letter-spacing:-.01em}.thread a.t:hover{color:var(--acc)}
.thread .m{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:12.5px;color:var(--mut)}
.thread .r{font-family:var(--mono);font-size:12px;color:var(--mut);align-self:start}
.fromap{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--on-accent);background:var(--lime);border-radius:5px;padding:0 6px}
.ftabs{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0}
.fform{display:grid;gap:12px;padding:18px;border:1px solid var(--line2);border-radius:var(--r-lg);background:var(--card);margin-top:24px}
.fform label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--text2)}
.fform input,.fform select,.fform textarea{font:inherit;font-size:16px;padding:10px 12px;border-radius:10px;border:1px solid var(--line2);background:var(--bg2);color:var(--text)}
.fform textarea{min-height:110px;resize:vertical}
.fform .ts{font-size:12.5px;color:var(--mut);border:1px dashed var(--line2);border-radius:10px;padding:10px 12px}
.fnote{font-size:13px;color:var(--mut);margin-top:28px;border-top:1px solid var(--line);padding-top:16px}
.disc{margin-top:48px;padding-top:28px;border-top:1px solid var(--line)}
.disc .cm{padding:12px 0;border-bottom:1px solid var(--line)}.disc .cm .who{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--mut)}.disc .cm .who b{color:var(--text)}
.disc .cm p{margin:4px 0 0;color:var(--text2)}
.blh{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--bg2);border:1px solid var(--line)}.blh img{width:24px;height:24px}
.modb{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--on-accent);background:var(--lime);border-radius:5px;padding:0 6px}.apc-msg.mod{padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--lime) 8%,transparent);border:1px solid color-mix(in srgb,var(--lime) 30%,transparent)}
.detail .threads{padding:0;margin:0}
.wrap:has(>.detail.story)>.crumb,.wrap:has(>.detail:not(.wide))>.crumb{max-width:760px;margin-left:auto;margin-right:auto}
@media(max-width:639px){.apc-toggle .pc{display:none}.apc-toggle{height:40px;padding:0 14px}}
.pfbar{margin:0 0 12px!important;padding:0!important;background:color-mix(in srgb,var(--bg) 92%,transparent)!important;backdrop-filter:blur(10px)}
.pfbar{margin:0 0 12px!important;padding:0!important;background:color-mix(in srgb,var(--bg) 92%,transparent)!important;backdrop-filter:blur(10px)}
/* 2:10 batch: sign-in modal, upvotes, profile, X row, Seen on X, newsletter */
.apsign{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.6);backdrop-filter:blur(6px)}.apsign[hidden]{display:none}
.aps-card{position:relative;width:min(440px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);padding:26px;box-shadow:var(--lift)}
.aps-card h2{margin:0 0 6px;font-size:22px;letter-spacing:-.02em}.aps-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line2);background:transparent;color:var(--text);font-size:18px;cursor:pointer}
.tsbox{display:flex;align-items:center;gap:10px;border:1px dashed var(--line2);border-radius:10px;padding:12px;color:var(--mut);font-size:13px}.tsc{width:18px;height:18px;border:2px solid var(--mut);border-radius:4px}
.aps-card .btn{width:100%}.fact{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 14px}
.vote{font:600 12px var(--mono);color:var(--text2);background:var(--card-s);border:1px solid var(--line);border-radius:8px;padding:4px 8px;cursor:pointer;margin-right:12px;flex:none}
.thread{display:flex;flex-wrap:wrap;align-items:flex-start}.thread .t{flex:1 1 60%}
.prof{display:flex;gap:18px;align-items:center;margin:8px 0 18px}.pav{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font:700 26px var(--sans,inherit);color:var(--on-accent);background:var(--lime);flex:none}
.prof h1{margin:0}.badges{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 0}.bdg{font:600 11.5px var(--mono);text-transform:uppercase;letter-spacing:.04em;padding:3px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--lime) 45%,transparent);color:var(--acc)}
.xrow{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.xrow svg{width:14px;height:14px;margin-right:6px;vertical-align:-2px}
.seenx{margin:56px 0 0}.sx-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.sx-head h2{margin:0}
.sx-list{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.sx-list li{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;display:flex;flex-direction:column;gap:8px}
.sx-play{color:var(--text);font-weight:600;text-decoration:none;line-height:1.35}.sx-play:hover{color:var(--acc)}.sx-m{font-size:13px;color:var(--mut)}.sx-m a{color:var(--text2)}
.rdnews{max-width:1180px;margin:0 auto 34px;display:flex;flex-wrap:wrap;gap:16px 28px;justify-content:space-between;align-items:center;padding:22px 24px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card)}
.rdnews p{margin:4px 0 0;color:var(--mut);font-size:14px}.rdnews-f{display:flex;gap:8px;flex:1 1 320px;max-width:440px}.rdnews-f input{flex:1;min-width:0;height:42px;border-radius:10px;border:1px solid var(--line2);background:var(--bg2);color:var(--text);padding:0 12px}
.lastck{margin-top:-4px}
.rdnews-f{flex:1 1 260px;min-width:0}.rdnews>div{flex:1 1 260px;min-width:0}
@media(max-width:639px){.rdnews{margin:0 0 28px;padding:18px}.rdnews-f{flex-basis:100%;max-width:none}}
.aps-card .fform{border:0;padding:0;background:none;box-shadow:none;margin:16px 0 12px}.aps-card .fform .ts{border:0;padding:0;background:none}
.linkbtn{background:none;border:0;padding:0;color:var(--acc);font:inherit;text-decoration:underline;cursor:pointer}
/* live chat panel: always open, in the page (2:36-2:37 PM) */
.lchat{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);padding:18px 20px;display:flex;flex-direction:column;gap:12px;min-width:0}
.lc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.lc-head h2{margin:0;font-size:18px;display:flex;align-items:center;gap:8px}.lc-head .meta{margin:4px 0 0}
.lchat .live{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px color-mix(in srgb,var(--lime) 18%,transparent)}
.lc-rules{font-size:13px;color:var(--text2);white-space:nowrap}
.lc-list{list-style:none;margin:0;padding:4px 2px;overflow-y:auto;height:260px;display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 2px;overscroll-behavior:contain}
.lc-wait{color:var(--mut);font-size:14px}.lc-msg p{margin:3px 0 0;font-size:14.5px;line-height:1.45;color:var(--text2)}.lc-msg .who{display:flex;align-items:center;gap:8px;font-size:13.5px;flex-wrap:wrap}
.lc-msg .rep{margin-left:auto}.lc-msg.mod{padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--lime) 8%,transparent);border:1px solid color-mix(in srgb,var(--lime) 30%,transparent)}
.lc-join,.lc-say{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.lc-join input,.lc-say input{flex:1 1 160px;min-width:0;height:40px;border-radius:10px;border:1px solid var(--line2);background:var(--bg2);color:var(--text);padding:0 12px}
.tsmini{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px;border:1px dashed var(--line2);border-radius:10px;color:var(--mut);font-size:13px}
.lc-fine{margin:0;font-size:12.5px;color:var(--mut)}
.lc-forum{margin:18px 0 26px}.lc-forum .lc-list{height:300px}
.rdsplit{display:grid;gap:28px;align-items:start}.rdsplit>.today{min-width:0;margin:0}
@media(min-width:1100px){.rdsplit{grid-template-columns:minmax(0,1fr) 360px}.rdsplit .lc-side{position:sticky;top:84px}.rdsplit .lc-side .lc-list{height:380px}}
@media(max-width:1099px){.rdsplit .lc-side{order:-1}}
@media(max-width:639px){.lc-list{height:230px}.lc-forum .lc-list{height:240px}.lchat{padding:16px}.lc-join .btn,.lc-say .btn{flex:1 1 auto}}
.frules{margin:0;padding-left:20px;color:var(--text2);display:grid;gap:6px}
.rdnews>.btn{flex:none}
/* ===== real forum + live chat (3 PM) ===== */
.forum .fhead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.fhead h1{margin:0}.fhead .lead{margin:.4em 0 0;max-width:640px}
.fbh{display:flex;gap:14px;align-items:center}.fuser{font-size:14px;color:var(--text2);display:flex;align-items:center;gap:8px}.fuser .trust{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--mut)}
.fwelcome{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:16px 0 0;padding:12px 16px;border-radius:12px;background:color-mix(in srgb,var(--lime) 9%,transparent);border:1px solid color-mix(in srgb,var(--lime) 35%,transparent)}
.fwelcome p{margin:0}.fw-x{background:none;border:0;color:var(--text2);font-size:20px;cursor:pointer}
.fstats{margin:16px 0 0;font-size:13.5px;color:var(--text2);font-family:var(--mono);letter-spacing:-.01em}
.lchat.lc-forum{margin:16px 0 22px;padding:14px 18px}.lc-head{align-items:center}.lc-head h2{font-size:17px}.lc-meta{display:flex;gap:10px;margin-left:auto;font:500 12.5px var(--mono);color:var(--mut)}
.lc-slowtag{color:var(--warn)}.lc-collapse{background:none;border:1px solid var(--line2);color:var(--text2);border-radius:8px;padding:4px 10px;font-size:12.5px;cursor:pointer}
.lchat.collapsed{padding-bottom:14px}.lc-pin{margin:0;font-size:13px;color:var(--text2);padding:8px 10px;border-radius:10px;background:var(--card-s);border:1px solid var(--line)}.lc-pin .pin{margin-right:4px}
.lc-wrap{position:relative}.lc-list{height:300px}.lc-forum .lc-list{height:320px}
.lc-pill{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);background:var(--lime);color:var(--on-accent);border:0;border-radius:999px;padding:6px 14px;font-weight:600;font-size:13px;cursor:pointer;box-shadow:var(--lift)}
.lc-msg{display:flex;flex-direction:column;gap:2px}.lc-msg.grp{margin-top:-8px}.lc-msg .who{display:flex;align-items:center;gap:8px;font-size:13.5px}.lc-msg .who time{font-size:11.5px;color:var(--mut)}
.lc-row{display:flex;align-items:flex-start;gap:8px;padding-left:32px}.lc-row p{flex:1;margin:0;font-size:14.5px;line-height:1.45;color:var(--text2);overflow-wrap:anywhere}
.lc-row .rep{opacity:.45;background:none;border:0;color:var(--mut);cursor:pointer;font-size:13px;padding:0 4px}.lc-msg:hover .rep,.lc-row .rep:focus{opacity:1}
.av{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;font:700 12px var(--sans,inherit);background:var(--card-s);border:1px solid var(--line2);color:var(--text);flex:none}
.lc-msg.mod .av{background:var(--lime);color:var(--on-accent);border:0}.lc-msg.held{opacity:.75}.heldnote{margin:4px 0 0 32px;font-size:12.5px;color:var(--warn)}
.lc-sys{font-size:12.5px;color:var(--mut);text-align:center;font-family:var(--mono)}.first{font-size:11.5px;color:var(--acc)}
.apb{font:600 10.5px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--acc);border:1px solid color-mix(in srgb,var(--lime) 45%,transparent);border-radius:5px;padding:0 6px}
.tl{font:600 10.5px var(--mono);text-transform:uppercase;letter-spacing:.04em;border-radius:5px;padding:0 6px;border:1px solid var(--line2);color:var(--mut)}.tl-new{color:#7dd3fc;border-color:rgba(125,211,252,.4)}.tl-regular{color:var(--ok);border-color:rgba(134,239,172,.4)}
.lc-foot{display:flex;flex-direction:column;gap:8px}.lc-join{display:flex;flex-direction:column;gap:8px}.lc-joinhelp{margin:0;font-size:13.5px;color:var(--text2)}
.lc-joinrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.lc-joinrow input{flex:1 1 180px;min-width:0;height:40px;border-radius:10px;border:1px solid var(--line2);background:var(--bg2);color:var(--text);padding:0 12px}
.lc-rules{font-size:13px;color:var(--text2)}.lc-rules ol{margin:6px 0 0;padding-left:20px}.lc-join .btn{align-self:flex-start}
.lc-err{margin:0;font-size:13px;color:#7fb8ff}.lc-err:empty{display:none}.lc-closed{margin:0;font-size:13.5px;color:var(--mut)}
.ts-slot:empty{display:none}.ts-slot{min-height:0}
.ftabs2{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:0 0 18px}.ftabs2 button{background:none;border:0;border-bottom:2px solid transparent;color:var(--text2);padding:10px 12px;font-weight:600;font-size:14px;cursor:pointer}
.ftabs2 button[aria-selected=true]{color:var(--text);border-bottom-color:var(--lime)}
.fsec{margin:0 0 22px}.fsec-h{font:600 12px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--mut);margin:0 0 8px}
.brows{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card)}
.brow{display:grid;grid-template-columns:40px minmax(0,1fr) 130px 260px;gap:14px;align-items:center;padding:14px 16px;border-top:1px solid var(--line);border-left:3px solid transparent}.brow:first-child{border-top:0}
.fsec:nth-of-type(1) .brow{border-left-color:rgba(198,244,50,.55)}.fsec:nth-of-type(2) .brow{border-left-color:rgba(125,211,252,.55)}.fsec:nth-of-type(3) .brow{border-left-color:rgba(167,139,250,.55)}
.brow .bl{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--card-s);border:1px solid var(--line)}.brow .bl svg,.brow .bl img{width:20px;height:20px}
.bname{font-weight:650;color:var(--text);text-decoration:none;font-size:15.5px}.bname:hover{color:var(--acc)}.bdesc{margin:2px 0 0;font-size:13.5px;color:var(--mut)}
.brow .subs{margin:6px 0 0;display:flex;gap:6px;flex-wrap:wrap}.brow .subs span{font-size:11.5px;padding:1px 8px;border-radius:999px;background:var(--card-s);border:1px solid var(--line);color:var(--text2)}
.bcount{display:flex;flex-direction:column;font-size:12.5px;color:var(--text2);font-family:var(--mono)}.blatest{font-size:13px;color:var(--mut);display:flex;flex-direction:column;gap:2px;min-width:0}
.blatest a{color:var(--text2);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.blatest a:hover{color:var(--acc)}.blatest time{font-size:11.5px}
.tlist{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:hidden}.tlist>li{padding:12px 16px;border-top:1px solid var(--line)}.tlist>li:first-child{border-top:0}
.trow{display:flex;gap:14px;align-items:center}.tmain{flex:1;min-width:0}.trow .t{font-weight:600;color:var(--text);text-decoration:none}.trow .t:hover{color:var(--acc)}
.tmeta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12.5px;color:var(--mut);margin:4px 0 0}.tboard{color:var(--text2);text-transform:capitalize}.tsub{color:var(--text2)}
.tcount{display:flex;flex-direction:column;align-items:flex-end;font-size:11.5px;color:var(--mut);min-width:64px}.tcount b{font-size:15px;color:var(--text)}.tlikes{color:var(--text2)}
.solved{font:600 11px var(--mono);color:var(--ok);border:1px solid rgba(134,239,172,.45);border-radius:5px;padding:0 6px}.heldtag{font:600 11px var(--mono);color:var(--warn);border:1px solid rgba(184,212,46,.45);border-radius:5px;padding:0 6px}
.tl-empty{color:var(--mut)}.fnewbtn{margin:0 0 14px}.fsubs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}.fsubs button{background:var(--card);border:1px solid var(--line2);color:var(--text2);border-radius:999px;padding:5px 12px;font-size:13px;cursor:pointer}
.fsubs button[aria-pressed=true]{background:var(--lime);color:var(--on-accent);border-color:var(--lime)}
.fcomp{margin:0 0 20px}.fc-msg{margin:0;font-size:13.5px}.fc-msg.err{color:#7fb8ff}.fc-msg.held{color:var(--warn)}.fc-msg.ok{color:var(--ok)}
.ft-h h1{margin:0 0 6px}.fpost{border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:14px 18px;margin:0 0 12px}.fpost.is-solved{border-color:rgba(134,239,172,.45)}
.pinned-solution{margin-left:24px;box-shadow:inset 3px 0 0 var(--ok)}.fp-h{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13.5px}.fp-name{font-weight:650;color:var(--text);text-decoration:none}
.fp-n{color:var(--mut);margin-left:auto;text-decoration:none;font-family:var(--mono);font-size:12px}.fp-h time{font-size:12px;color:var(--mut)}
.fp-ctx{display:inline-block;margin:8px 0 0;font-size:12.5px;color:var(--text2);text-decoration:none;background:var(--card-s);border-radius:8px;padding:2px 8px}
.fp-body{margin:8px 0 0;color:var(--text2);line-height:1.6;overflow-wrap:anywhere}.fp-body blockquote{margin:8px 0;padding:4px 12px;border-left:3px solid var(--line2);color:var(--mut)}.fp-body pre{overflow:auto;background:var(--bg2);padding:10px;border-radius:8px}
.ldom{font-size:12px;color:var(--mut)}.fp-act{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0 0}
.rx{background:var(--card-s);border:1px solid var(--line);border-radius:999px;padding:2px 9px;font-size:13px;cursor:pointer;color:var(--text2)}.rx.on{border-color:var(--lime)}
.fp-act .rep{margin-left:auto}.repform{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 0;width:100%}.repform select{height:34px;border-radius:8px;background:var(--bg2);color:var(--text);border:1px solid var(--line2)}
.rp-ctx{margin:0;font-size:13px;color:var(--text2)}.frsign{margin:16px 0}
.aps-tabs{display:flex;gap:4px;margin:14px 0 0;border-bottom:1px solid var(--line)}.aps-tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--text2);padding:8px 10px;font-weight:600;cursor:pointer}
.aps-tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--lime)}.aps-msg{margin:0;font-size:13.5px}.aps-msg.ok{color:var(--ok)}.aps-msg.err{color:#7fb8ff}.aps-msg:empty{display:none}.aps-closed{color:var(--mut);margin:16px 0 0}
.aps-name[hidden]{display:none}
@media(max-width:899px){.brow{grid-template-columns:36px minmax(0,1fr)}.bcount{display:none!important}.blatest{grid-column:2}}
@media(max-width:639px){.lc-forum .lc-list{height:min(45vh,300px)}.lc-meta{flex-direction:column;gap:0;align-items:flex-end}.brow{padding:12px}.tcount{min-width:48px}.pinned-solution{margin-left:10px}}
/* ===== forum v2 (layout brief + classic member cards, Oct 16 4 PM) ===== */
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fx{--fx-gap:20px}
.fcrumb ol{display:flex;flex-wrap:wrap;gap:4px 6px;list-style:none;margin:0 0 12px;padding:0;font-size:13.5px;color:var(--mut)}
.fcrumb li{display:flex;align-items:center;gap:6px;min-height:28px}.fcrumb li+li::before{content:"›";color:var(--mut)}.fcrumb li:empty,.fcrumb li[hidden]{display:none}
.fcrumb a{color:var(--text2);text-decoration:none}.fcrumb a:hover{color:var(--text);text-decoration:underline}
.fgrid{display:grid;grid-template-columns:220px minmax(0,1fr) 240px;gap:var(--fx-gap);align-items:start;margin-top:6px}
.frail{display:flex;flex-direction:column;gap:14px;position:sticky;top:84px}
.fcard{border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:14px 16px}.fcard h2{font-size:14px;margin:0 0 8px;letter-spacing:-.01em}
.fnew{display:flex;justify-content:center;min-height:44px;align-items:center}
.fnav h2{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin:6px 0}
.fnav ul{list-style:none;margin:0;padding:0}.fnav li button,.fnav li a{display:block;width:100%;text-align:left;background:none;border:0;padding:7px 10px;border-radius:8px;color:var(--text2);font:inherit;font-size:14px;text-decoration:none;cursor:pointer}
.fnav li button:hover,.fnav li a:hover{background:var(--hov);color:var(--text)}
.fnav details{margin:0 0 2px}.fnav summary{cursor:pointer;padding:7px 10px;border-radius:8px;font-size:14px;font-weight:600;color:var(--text)}.fnav summary:hover{background:var(--hov)}
.fnav details ul{padding-left:8px}
.fchk{margin:0 0 6px;padding-left:18px;font-size:14px}.fchk li{margin:4px 0}.fchk li.done a{color:var(--mut);text-decoration:line-through}
.flinks{list-style:none;margin:0;padding:0;font-size:14px}.flinks li{margin:5px 0}.flinks a{color:var(--text2)}
.fmain{min-width:0}
.ftabs2{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line);margin:0 0 10px}
.ftabs2 [data-tab]{background:none;border:0;border-bottom:2px solid transparent;padding:10px 12px;color:var(--text2);font:600 14px inherit;font-family:inherit;white-space:nowrap;cursor:pointer;min-height:44px}
.ftabs2 [aria-selected=true]{color:var(--text);border-bottom-color:var(--lime)}
.tlist{list-style:none;margin:0;padding:0}
.trow{display:grid;grid-template-columns:48px minmax(0,1fr) 108px 64px 72px;gap:12px;align-items:center;padding:12px 10px;border-bottom:1px solid var(--line)}
.trow.pinned{background:color-mix(in srgb,var(--lime) 5%,transparent)}.tlist.selectable .trow{cursor:pointer}.trow.sel{outline:2px solid var(--lime);outline-offset:-2px;border-radius:8px}
.tscore{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--mut)}.tscore b{font-size:16px;color:var(--text)}
.trow .t{font-weight:600;font-size:15.5px;color:var(--text);text-decoration:none;line-height:1.35}.trow .t:hover{text-decoration:underline}
.tmeta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-top:4px;font-size:12.5px;color:var(--mut)}
.tboard,.tsub{color:var(--text2);text-decoration:none;border:1px solid var(--line2);border-radius:999px;padding:1px 8px}.tsub{border-style:dashed}
.chip{display:inline-flex;align-items:center;gap:4px;font:600 11px var(--mono);letter-spacing:.02em;padding:2px 7px;border-radius:999px;border:1px solid var(--line2);color:var(--text2)}
.chip.solved{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 50%,transparent)}.chip.unsolved{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}
.chip.off{color:#2dd4bf;border-color:rgba(45,212,191,.45)}.chip.pin{color:var(--lime)}.chip.heldtag{color:var(--warn)}
.tpeople{display:flex}.tpeople .av{margin-left:-6px;border:2px solid var(--card)}.tpeople .av:first-child{margin-left:0}
.tcount{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--mut)}.tcount b{font-size:15px;color:var(--text)}
.tact{font-size:12.5px;color:var(--mut);text-align:right}
.av{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;font:700 13px var(--mono);color:var(--on-accent);background:var(--accent);flex:none}
.av.sm{width:26px;height:26px;font-size:11px}.av.lg{width:64px;height:64px;font-size:26px;border-radius:16px}
.av[data-h="1"]{background:#7dd3fc}.av[data-h="2"]{background:#7fb8ff}.av[data-h="3"]{background:#b8d42e}.av[data-h="4"]{background:#a7f3d0}.av[data-h="5"]{background:#c4b5fd}.av[data-h="6"]{background:#b8d42e}.av[data-h="7"]{background:#cbd5e1}
/* badges: staff tags rank first and each has its own look */
.bdgs{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center}
.bdg{display:inline-flex;align-items:center;gap:4px;font:600 11.5px var(--mono);padding:1px 7px 1px 2px;border-radius:999px;border:1px solid var(--line2);background:var(--card-s);color:var(--text2);white-space:nowrap}
.bdg img{display:block}.bdg-staff{color:#fff;border:0}
.bdg.st-owner{background:linear-gradient(90deg,#6d28d9,#c026d3 55%,#b8d42e);box-shadow:0 0 0 1px rgba(184,212,46,.6),0 0 12px rgba(184,212,46,.45)}
.bdg.st-mod,.bdg.st-bot{background:linear-gradient(90deg,#1d4ed8,#0284c7)}.bdg.st-helper{background:linear-gradient(90deg,#15803d,#0e7490)}.bdg.st-team{background:linear-gradient(90deg,#0f766e,#0d9488)}
.bdg-paid{border-color:rgba(184,212,46,.45)}.bdg-rank{background:transparent}
.bdg.rc-c6f432{border-color:var(--accent);color:var(--accent-text)}.bdg.rc-38bdf8{border-color:#38bdf8;color:#38bdf8}.bdg.rc-a78bfa{border-color:#a78bfa;color:#a78bfa}.bdg.rc-f472b6{border-color:#7fb8ff;color:#7fb8ff}
.bdg.rc-fb923c{border-color:#b8d42e;color:#b8d42e}.bdg.rc-facc15{border-color:#b8d42e;color:#b8d42e}.bdg.rc-34d399{border-color:#34d399;color:#34d399}.bdg.rc-f87171{border-color:#7fb8ff;color:#7fb8ff}.bdg.rc-e2e8f0{border-color:#e2e8f0;color:var(--text)}
[data-theme=light] .bdg.rc-c6f432{color:#4a6800}[data-theme=light] .bdg.rc-facc15{color:#3f5800}
.paid-turbo{color:#38bdf8!important}.paid-overclocked{color:#b8d42e!important}.paid-max_compute{background:linear-gradient(90deg,#7fb8ff,#8b5cf6,#3b82f6);-webkit-background-clip:text;background-clip:text;color:transparent!important}.paid-founding{color:#b8d42e!important}
/* boards index */
.fboards .fsec{margin:0 0 18px}.fsec-h{font:600 11.5px var(--mono);text-transform:uppercase;letter-spacing:.07em;color:var(--mut);margin:0 0 6px}
.brows{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card)}
.fboards .brow{display:grid;grid-template-columns:minmax(0,1fr) 110px 220px;gap:14px;align-items:center;padding:14px 16px;border-top:1px solid var(--line);border-left:0}
.fboards .brow:first-child{border-top:0}.bname{font-weight:700;color:var(--text);text-decoration:none;font-size:15.5px}.bname:hover{text-decoration:underline}
.bdesc{margin:3px 0 0;font-size:13.5px;color:var(--text2)}.subs{display:flex;flex-wrap:wrap;gap:4px 10px;margin:6px 0 0;font-size:12.5px}.subs a{color:var(--text2)}.subs a.hid{opacity:.55;font-style:italic}
.bcount{display:flex;flex-direction:column;font-size:12.5px;color:var(--mut)}.blatest{font-size:13px;min-width:0}.blatest a{display:block;color:var(--text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bl-none{color:var(--mut)}
/* board page */
.fbhead .fb-desc{max-width:720px}.fwel-rules{margin:12px 0}
.fsubs2 ul{list-style:none;margin:14px 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.fsubcard{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:12px 14px;display:flex;flex-direction:column;gap:3px}.fsubcard a{font-weight:700;color:var(--text);text-decoration:none}.fsubcard.hid{opacity:.6}
.fbtools{display:flex;align-items:flex-end;gap:12px;justify-content:space-between}.fbtools .ftabs2{flex:1;min-width:0}.fbtools .fnew{margin-bottom:8px}
.fmodbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0;padding:10px 12px;border:1px dashed color-mix(in srgb,var(--warn) 55%,transparent);border-radius:12px}
.fmb-h{font:600 12px var(--mono);color:var(--warn);margin-right:6px}.sbtn.danger,.linkbtn.danger{color:#7fb8ff}
/* thread: classic layout, member card on the left */
.ft-top{display:flex;gap:14px;align-items:flex-start}.ft-tt{min-width:0}.ft-tt h1{margin:0 0 6px;font-size:clamp(22px,2.4vw,30px)}
.fpost{display:grid;grid-template-columns:180px minmax(0,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r);background:var(--card);margin:0 0 12px;padding:0;overflow:hidden}
.mcard{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:16px 12px;background:var(--card-s);border-right:1px solid var(--line)}
.mc-name{font-weight:700;color:var(--text);text-decoration:none;word-break:break-word}.mc-name:hover{text-decoration:underline}.mc-flair{font-size:12px;color:var(--text2);font-style:italic;margin:0}
.mcard .bdgs{justify-content:center}.mc-stats{display:grid;grid-template-columns:auto auto;gap:2px 10px;margin:4px 0 0;font-size:12px;color:var(--mut)}.mc-stats div{display:contents}.mc-stats dt{text-align:right}.mc-stats dd{margin:0;text-align:left;color:var(--text2)}
.fp-col{padding:14px 18px;min-width:0}.fp-h{display:flex;gap:10px;align-items:center;justify-content:flex-end;font-size:12.5px;color:var(--mut)}.fp-n{color:var(--mut);text-decoration:none}
.newhere{font:600 11px var(--mono);color:var(--ok);margin-right:auto}
.fp-body{font-size:16px;line-height:1.6;overflow-wrap:anywhere}.fp-body p{margin:.5em 0}.fp-body pre{overflow-x:auto}
.fp-act{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}.fp-mod{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:auto}
.vote{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line2);border-radius:999px;padding:0 2px}
.vote button{background:none;border:0;color:var(--mut);min-width:34px;min-height:34px;border-radius:999px;cursor:pointer;font-size:12px}.vote button:hover:not(:disabled){color:var(--text);background:var(--hov)}
.vote button.on.vup{color:var(--on-accent);background:var(--lime)}.vote button.on.vdn{color:#fff;background:#6366f1}.vote button:disabled{opacity:.45;cursor:default}.vn{min-width:22px;text-align:center;font-size:14px}
.ft-top .vote{flex-direction:column;border-radius:14px;padding:2px}
.rx{border:1px solid var(--line2);background:none;color:var(--text2);border-radius:999px;padding:4px 10px;min-height:34px;cursor:pointer;font-size:13px}.rx.on{border-color:var(--lime);color:var(--text)}.rx.helpful{font-weight:600}
.solcard{border:1px solid color-mix(in srgb,var(--ok) 55%,transparent);border-radius:calc(var(--r) + 4px);padding:8px 8px 0;margin:0 0 14px;background:color-mix(in srgb,var(--ok) 6%,transparent)}.solcard h2{font:700 12px var(--mono);color:var(--ok);margin:4px 8px 8px;text-transform:uppercase;letter-spacing:.06em}
.fcomp-dock{padding:12px 0;border-top:1px solid var(--line)}
.lc-mb{border:1px solid var(--line2);background:none;color:var(--text2);border-radius:8px;padding:2px 8px;min-height:28px;font-size:12px;cursor:pointer}.lc-mb:hover{color:var(--text);border-color:var(--warn)}
.lc-mod{display:inline-flex;gap:4px;margin-left:6px}.lc-tools{display:flex;gap:6px;margin-left:10px}.lc-msg.held{opacity:.75}
/* composer */
.fcomp-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fkind{border:1px solid var(--line);border-radius:12px;padding:8px 12px;display:flex;flex-wrap:wrap;gap:6px 16px}.fkind legend{font-size:13px;color:var(--mut);padding:0 4px}
.fkind label{display:inline-flex;align-items:center;gap:6px;min-height:36px}.fprev{border:1px solid var(--line);border-radius:12px;padding:8px 12px}.fprev summary{cursor:pointer}
/* profile */
.prof{display:flex;gap:18px;align-items:flex-start;border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:18px}.prof.banner{background:linear-gradient(120deg,rgba(127,184,255,.18),rgba(139,92,246,.18),rgba(59,130,246,.18)),var(--card)}
.pav{display:inline-grid;place-items:center;width:84px;height:84px;border-radius:20px;font:700 34px var(--mono);color:var(--on-accent);background:var(--accent);flex:none}.prof-main h1{margin:0 0 6px}
.prof-stats{display:flex;flex-wrap:wrap;gap:6px 22px;margin:12px 0 0}.prof-stats dt{font-size:12px;color:var(--mut)}.prof-stats dd{margin:0;font-weight:700}
.rankprog{margin:14px 0}.rp-row{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:12px;align-items:center;margin:6px 0;font-size:14px}.rp-row progress{width:100%;height:10px;accent-color:var(--lime)}
.tlist.plain .trow{display:flex;justify-content:space-between}
/* mod queue, roles, gallery, supporter, mod log */
.mq-sec{margin:0 0 14px}.mq-list{list-style:none;margin:0;padding:0}.mq-item{border-top:1px solid var(--line);padding:10px 0}.mq-item:first-child{border-top:0}
.mq-h{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 4px}.mq-x{margin:0 0 6px;font-size:14px;color:var(--text2);white-space:pre-wrap;overflow-wrap:anywhere}.mq-a{display:flex;gap:8px;margin:0}
.froles{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.frole-list{list-style:none;margin:0;padding:0}.frole{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.fbadgepick,.fperms{border:1px solid var(--line);border-radius:12px;padding:8px 10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px}.fbadgepick label,.fperms label{display:flex;align-items:center;gap:6px;min-height:36px;font-size:13.5px}
.fgal{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.fgal li{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:12px}
.fgal p{margin:2px 0 0}.bdgimg{display:block;flex:none}
.fdraft{display:inline-block;font:600 12px var(--mono);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 45%,transparent);border-radius:999px;padding:3px 10px}
.fperiod{display:inline-flex;border:1px solid var(--line2);border-radius:999px;padding:3px;margin:14px 0}.fperiod button{background:none;border:0;border-radius:999px;padding:8px 16px;min-height:40px;color:var(--text2);font:600 14px inherit;font-family:inherit;cursor:pointer}.fperiod [aria-pressed=true]{background:var(--lime);color:var(--on-accent)}
.ftiers{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.ftier{border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:18px;display:flex;flex-direction:column;gap:6px}
.ftier h2{margin:6px 0 0;font-size:18px}.fprice{margin:0;font-size:15px}.fprice b{font-size:24px}.fsave{margin:0;color:var(--ok)!important;font-weight:600}.ftier ul{margin:4px 0 8px;padding-left:18px;font-size:14px;color:var(--text2);flex:1}
.fmlog{width:100%;border-collapse:collapse;font-size:14px}.fmlog th,.fmlog td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}.fmlog th{font:600 11.5px var(--mono);color:var(--mut);text-transform:uppercase}
/* phone bottom bar + floating new-thread button (phones only) */
.fbar,.ffab{display:none}
@media(max-width:1199px){.fgrid{grid-template-columns:200px minmax(0,1fr)}.frail-r{display:none}}
@media(max-width:899px){.fgrid{grid-template-columns:minmax(0,1fr)}.frail-l{display:none}.trow{grid-template-columns:40px minmax(0,1fr) 56px}.tpeople,.tact{display:none}.fboards .brow{grid-template-columns:minmax(0,1fr)}.fboards .bcount,.fboards .blatest{display:none}}
@media(max-width:760px){
 .fx{padding-bottom:72px}.fbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--hdr);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line)}
 .fbar a,.fbar button{display:flex;align-items:center;justify-content:center;min-height:56px;background:none;border:0;color:var(--text2);font:600 13px inherit;font-family:inherit;text-decoration:none}
 .ffab{display:grid;place-items:center;position:fixed;right:16px;bottom:72px;width:56px;height:56px;border-radius:50%;background:var(--lime);color:var(--on-accent);font-size:28px;text-decoration:none;z-index:31;box-shadow:var(--lift)}
 .fsubs2 ul{display:flex;overflow-x:auto;gap:8px;padding-bottom:4px;scrollbar-width:none}.fsubcard{flex:none;padding:8px 12px;border-radius:999px;flex-direction:row;align-items:center;gap:8px;min-height:44px}.fsubcard .meta{font-size:12px}.fsubcard .fsub-last{display:none}
 .fbtools .fnew{display:none}
 .fpost{grid-template-columns:minmax(0,1fr)}
 .mcard{flex-direction:row;flex-wrap:wrap;align-items:center;text-align:left;gap:6px 8px;padding:10px 12px;border-right:0;border-bottom:1px solid var(--line)}
 .mcard .av.lg{width:34px;height:34px;font-size:15px;border-radius:50%}.mcard .bdgs{justify-content:flex-start}.mc-flair{display:none}
 .mc-stats{display:flex;gap:8px;margin:0 0 0 auto}.mc-stats div{display:flex;gap:3px}.mc-stats div:last-child{display:none}.mc-stats dt::after{content:":"}
 .fp-col{padding:12px 14px}.fp-body{font-size:17px}.fcomp-row{grid-template-columns:1fr}.rp-row{grid-template-columns:1fr}.prof{flex-direction:column}.fmlog{font-size:13px}.fmlog th:nth-child(3),.fmlog td:nth-child(3){display:none}
 .vote button,.rx,.lc-mb,.sbtn,.linkbtn{min-height:44px}.vote button{min-width:44px}.ftabs2 [data-tab]{min-height:44px}
}

[hidden]{display:none!important}
/* ===== forum v3 (approved mockup round 3, Oct 16 4:5x PM): Forum first in nav, chat full width ~611px with Online now column, newest at bottom ===== */
.dnav a.fnav,.menu nav a.fnav{display:inline-flex;align-items:center;gap:7px;color:var(--text);font-weight:650;background:color-mix(in srgb,var(--lime) 10%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lime) 30%,transparent)}
.menu nav a.fnav{display:flex}
.fdot{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 0 3px rgba(52,211,153,.22);flex:none}
.fm-on{margin-left:auto;font:600 11.5px var(--mono);color:#6ee7b7}.fm-on[hidden]{display:none}
@media(min-width:1280px){.dnav a:nth-child(9){display:inline-flex}}
/* chat (all variants): avatar column, newest message at the bottom; the list grows upward */
.lchat .lc-list{display:flex;flex-direction:column;gap:0;padding:0 0 10px;border:0}
.lchat .lc-list>:first-child{margin-top:auto}
.lchat .lc-msg{display:grid;grid-template-columns:32px minmax(0,1fr);gap:0 11px;padding:3px 16px 3px 14px;margin-top:7px}
.lchat .lc-msg:hover{background:var(--hov)}
.lchat .lc-msg>.av{grid-row:span 3;width:32px;height:32px;font-size:12px;margin-top:2px}
.lchat .lc-msg .who,.lchat .lc-msg .lc-row,.lchat .lc-msg .heldnote{grid-column:2}
.lchat .lc-msg.grp{margin-top:2px}
.lchat .lc-msg .who{display:flex;align-items:center;gap:7px;line-height:18px;font-size:13.5px;min-width:0}
.lchat .lc-msg .who b{font-weight:680;letter-spacing:-.01em}.lchat .lc-msg .who time{font:500 10.5px var(--mono);color:var(--mut)}
.lchat .lc-row{padding-left:0}.lchat .lc-row p{font-size:13.5px;line-height:1.45;margin:1px 0 0}
.lchat .heldnote{margin:2px 0 0}
.lchat .lc-msg.mod{background:color-mix(in srgb,var(--lime) 5%,transparent);border:0;border-radius:0;padding:3px 16px 3px 14px}
.lchat .lc-sys{margin:8px 0 0;padding:0 14px}
.lchat .lc-wait{padding:0 14px}
.lchat.lc-forum{padding:0;gap:0;margin:0 0 10px;overflow:hidden;border-color:var(--line)}
.lc-forum .lc-head{display:flex;align-items:center;gap:16px;padding:7px 12px 7px 18px;border-bottom:1px solid var(--line);min-height:44px}
.lc-forum .lc-head h2{font-size:15px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.lc-forum .lc-online{color:#6ee7b7;font-weight:600}
.lc-forum .lc-pin{flex:none;display:flex;align-items:center;gap:8px;min-height:30px;margin:0;padding:0 18px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;font-size:12.5px;color:var(--mut);white-space:nowrap;overflow:hidden}
.lc-pin svg{width:13px;height:13px;color:var(--lime);flex:none}.lc-pintext{min-width:0;overflow:hidden;text-overflow:ellipsis}
.lc-forum .lc-grid{display:grid;grid-template-columns:minmax(0,1fr) 264px;height:536px}
.lc-forum .lc-main{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid var(--line)}
.lc-forum .lc-wrap{flex:1;min-height:0;display:flex;flex-direction:column}
.lc-forum .lc-list,.lc-forum .lc-list{height:auto;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;-webkit-mask-image:linear-gradient(rgba(0,0,0,.35),#000 14px);mask-image:linear-gradient(rgba(0,0,0,.35),#000 14px)}
.lc-forum .lc-foot{border-top:1px solid var(--line);padding:10px 12px 8px 14px}
.lc-forum .lc-say{flex-wrap:nowrap}.lc-forum .lc-say input{height:40px;border-radius:12px;font-size:14.5px}.lc-forum .lc-say .btn{height:40px;border-radius:12px}
.lc-forum .lc-say .lc-err{flex-basis:100%}
.lc-sidecol{display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:14px 16px 12px;background:linear-gradient(180deg,var(--card-s),var(--card))}
.lc-sidecol h3{margin:0;font:700 11px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--mut)}
.lc-bigon{display:flex;align-items:center;gap:10px;margin:8px 0 2px}.lc-bigon b{font-size:28px;font-weight:760;letter-spacing:-.04em;color:var(--text);line-height:1}.lc-bigon span:last-child{color:var(--mut);font-size:13px}
.lc-onsub{font:500 11.5px var(--mono);color:var(--mut);margin:0 0 12px}
.lc-olist{list-style:none;margin:0;padding:10px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:7px;overflow:hidden}
.lc-olist:empty{display:none}.lc-olist li{display:flex;align-items:center;gap:9px;min-width:0;font-size:13.5px}.lc-olist .nm{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1 auto}
.lc-onwait{margin:10px 0 0;font-size:13px;color:var(--mut)}
.lc-strip,.lc-back{display:none}
.lchat.collapsed .lc-grid{display:none}
@media(max-width:1100px) and (min-width:721px){.lc-forum .lc-grid{grid-template-columns:minmax(0,1fr) 230px}}
/* forum home layout */
.fhome3 .fh-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}.fhome3 .fh-top .crumb{margin:0}.fhome3 .fh-top .crumb b{color:var(--text2);font-weight:600}
.fbar3{display:flex;align-items:center;gap:10px;margin:6px 0 0}.fbar3 .ftabs3{flex:1;margin:0;border-bottom:0}.fbar3 .fnew{min-height:40px;padding:0 16px}
.ftabs3 button{font-size:15px;font-weight:650;color:var(--mut)}.ftabs3 button[aria-selected=true]{color:var(--text)}
.fhome3 .qstats{display:flex;align-items:center;gap:12px;margin:2px 12px 14px;font-size:13px;color:var(--mut)}.fhome3 .qstats .fstats{display:inline}.fhome3 .qstats .fstats[hidden]{display:none}
.fhome3 .qstats .rl{margin-left:auto}.fhome3 .qstats a{color:var(--mut)}
.fhome3 .fsec{margin:0 0 30px}.fhome3 .fsec-h{padding:0 12px;margin:0 0 4px;font-size:11.5px}
.fhome3 .brows{border:0;border-radius:0;background:none}
.fhome3 .brow{grid-template-columns:36px minmax(0,1fr) 170px 330px;gap:20px;padding:16px 12px;border-left:0!important;border-top:1px solid var(--line)}.fhome3 .brow:first-child{border-top:0}.fhome3 .brow:hover{background:var(--hov)}
.bic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center}.bic svg{width:19px;height:19px}
.bc0{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-text)}.bc1{background:color-mix(in srgb,#7fb8ff 12%,transparent);color:#7fb8ff}.bc2{background:color-mix(in srgb,#a5b4fc 12%,transparent);color:#a5b4fc}
.bc3{background:color-mix(in srgb,#7fb8ff 12%,transparent);color:#7fb8ff}.bc4{background:color-mix(in srgb,#b8d42e 12%,transparent);color:#b8d42e}.bc5{background:color-mix(in srgb,#5eead4 12%,transparent);color:#5eead4}
.bc6{background:color-mix(in srgb,#c4b5fd 12%,transparent);color:#c4b5fd}.bc7{background:color-mix(in srgb,#7dd3fc 12%,transparent);color:#7dd3fc}
.fhome3 .bname{font-size:15.5px}.fhome3 .bdesc{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fhome3 .bcount{flex-direction:row;gap:6px;font-family:inherit;font-size:13px;color:var(--mut)}
.board-foot{font-size:12.5px;color:var(--mut);margin:-8px 12px 0}
.brow .bic{grid-row:auto}
@media (max-width:1100px) and (min-width:721px){.fhome3 .brow{grid-template-columns:36px minmax(0,1fr) 150px 240px}}
/* news boards: source + Last checked, corrections, AI-media badge */
.fsrc{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:-4px 0 14px;font-size:13.5px}.fsrc a{color:var(--acc);overflow-wrap:anywhere}
.fcorr{margin:0 0 14px;padding:10px 14px;border-radius:var(--r);border:1px solid rgba(184,212,46,.45);background:rgba(184,212,46,.07)}.fcorr b{font:700 11px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--warn)}.fcorr p{margin:4px 0;color:var(--text)}
.chip.aimedia{display:inline-block;margin:6px 0 0;font:600 11px var(--mono);color:#c4b5fd;border:1px solid rgba(196,181,253,.45);border-radius:5px;padding:0 6px}
.fai,.aps-age{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:var(--text2)}.fai input,.aps-age input{margin-top:3px}.aps-age[hidden]{display:none}
/* home: Hot in the forum */
.fhot{margin:0 0 18px;padding:14px 18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--card)}
.fhot-h{display:flex;align-items:center;justify-content:space-between;gap:10px}.fhot-h h2{margin:0;font-size:16px;display:flex;align-items:center;gap:8px}.fhot-h a{font-size:13px;color:var(--text2)}
.fhot .live{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px color-mix(in srgb,var(--lime) 18%,transparent)}
.fhot ul{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fh-item{display:flex;flex-direction:column;gap:3px;min-width:0}.fh-t{color:var(--text);font-weight:600;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fh-t:hover{color:var(--acc)}
@media(max-width:720px){.fhot ul{grid-template-columns:1fr;gap:10px}}
/* phones: strip above the boards opens the chat full screen (approved mockup) */
@media (max-width:720px){
 .fhome3 .fh-top .crumb{font-size:12.5px}
 .lc-strip{display:flex;align-items:center;gap:10px;width:100%;height:48px;margin:0 0 18px;padding:0 6px 0 14px;border-radius:14px;border:1px solid var(--line);background:var(--card);color:var(--mut);text-align:left;cursor:pointer;font:inherit;font-size:13.5px}
 .lc-strip .live{flex:none;width:8px;height:8px;border-radius:50%;background:var(--lime)}
 .lc-strip .ls-c{flex:none;font:600 12.5px var(--mono);color:#6ee7b7}.lc-strip .ls-c[hidden]{display:none}
 .lc-strip .ls-m{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lc-strip .ls-m b{font-weight:650;color:var(--text2)}
 .lc-strip .ls-o{flex:none;display:inline-grid;place-items:center;width:36px;height:36px;color:var(--text2)}.lc-strip svg{width:16px;height:16px}
 .lchat.lc-forum{display:none}
 html.lc-open,html.lc-open body{overflow:hidden;height:100%}
 html.lc-open .lchat.lc-forum{display:flex;flex-direction:column;position:fixed;inset:0;z-index:60;margin:0;border:0;border-radius:0;background:var(--bg)}
 html.lc-open .lc-forum .lc-body{display:flex;flex-direction:column;flex:1;min-height:0}
 html.lc-open .lc-strip{visibility:hidden}
 .lc-forum .lc-head{gap:8px;padding:8px 12px;background:var(--card)}.lc-forum .lc-head h2{font-size:16px;flex:1}
 .lc-back{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:10px;border:0;background:none;color:var(--text2)}.lc-back svg{width:18px;height:18px}
 .lc-forum .lc-collapse{display:none}
 .lc-forum .lc-pin{padding:0 14px;background:var(--card)}
 .lc-forum .lc-grid{display:flex;flex:1;min-height:0;height:auto}.lc-forum .lc-main{flex:1;border-right:0}.lc-sidecol{display:none}
 .lchat .lc-msg{padding:3px 14px;gap:0 10px;margin-top:9px}.lchat .lc-row p,.lchat .lc-msg .who{font-size:14px}.lc-forum .lc-say input{font-size:16px}
 .lc-forum .lc-foot{background:var(--card)}
 .fbar3{flex-wrap:wrap}.fbar3 .ftabs3{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.fbar3 .fnew{display:none}
 .fhome3 .qstats{flex-wrap:wrap;gap:2px 10px;margin:0 12px 22px;font-size:12.5px}.fhome3 .qstats .rl{flex-basis:100%;margin:4px 0 0}
 .fhome3 .brow{grid-template-columns:36px minmax(0,1fr);gap:2px 14px;align-items:start;padding:14px 12px}.fhome3 .brow .bic{grid-row:span 3}.fhome3 .bdesc{white-space:normal}
 .fhome3 .bcount{display:flex!important;grid-column:2;font-size:12.5px;margin-top:6px}.fhome3 .blatest{grid-column:2;margin-top:2px}
}
.fhot+.rdsplit{margin-top:28px}
/* nits (Oct 16 5:45 PM): thread Source line clear of the vote box; home side chat list is its own scroll area below the pinned rules */
.fsrc{margin:12px 0 16px;clear:both}
.lc-side .lc-pin{margin:0 0 10px}
.lc-side .lc-wrap{border-top:1px solid var(--line);border-radius:0;overflow:hidden;isolation:isolate}
.lc-side .lc-list{padding-top:6px;scroll-padding-top:6px;-webkit-mask-image:linear-gradient(rgba(0,0,0,.25),#000 18px);mask-image:linear-gradient(rgba(0,0,0,.25),#000 18px)}

/* home: Live in the forum row (8:14 PM owner change; replaces the home chat column). Full width, quick-card look. */
.rdlive{display:flex;align-items:center;gap:18px;margin:14px 0 0;padding:16px 20px;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.rdlive-c{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.rdlive .k{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut);display:flex;align-items:center;gap:8px}
.rdlive .live{width:8px;height:8px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px color-mix(in srgb,var(--lime) 18%,transparent)}
.rdlive h2{margin:0;font-size:18px;letter-spacing:-.02em}
.rdlive .d{margin:0;font-size:13.5px;color:var(--text2);line-height:1.4}
.rdlive-l{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.rdlive-go{flex:none;white-space:nowrap}
.rdlive+.today{margin-top:6px}
@media(min-width:900px){.rdlive{margin-top:14px}}
@media(max-width:720px){.rdlive{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}.rdlive-l{grid-template-columns:1fr;gap:10px}.rdlive-go{justify-content:center;text-align:center}}

/* ---- Homepage topic tints (owner request, Oct 17): each topic section is a rounded panel with its own faded hue + matching border, as on the old site.
   Homepage only (the hero exists only there). Hues: start #b8d42e, tasks fuchsia, copy indigo, daily teal, plays #a8e6ff, weekly blue, verify lime, today sky. */
body:has(.rdhero) #today{--th:56,189,248}
body:has(.rdhero) #start{--th:184,212,46}
body:has(.rdhero) section[aria-labelledby=tasks-h]{--th:217,70,239}
body:has(.rdhero) section[aria-labelledby=copy-h]{--th:110,120,255}
body:has(.rdhero) #daily{--th:45,212,191}
body:has(.rdhero) #plays{--th:127,184,255}
body:has(.rdhero) #weekly{--th:59,130,246}
body:has(.rdhero) #verify{--th:198,244,50}
body:has(.rdhero) :is(#today,#start,#daily,section[aria-labelledby=tasks-h],section[aria-labelledby=copy-h],#plays,#weekly,#verify){position:relative;margin:40px 0 8px;padding:26px;border-radius:var(--r-lg);border:1px solid rgba(var(--th),.26);
 background:radial-gradient(75% 95% at 0 0,rgba(var(--th),.17),transparent 62%),radial-gradient(60% 80% at 100% 100%,rgba(var(--th),.07),transparent 70%),var(--card);box-shadow:0 16px 40px -28px rgba(var(--th),.55)}
body:has(.rdhero) :is(#today,#start,#daily,section[aria-labelledby=tasks-h],section[aria-labelledby=copy-h],#plays,#weekly,#verify) h2 .hico{color:rgb(var(--th));background:linear-gradient(135deg,rgba(var(--th),.30),rgba(var(--th),.10));border-color:rgba(var(--th),.35)}
[data-theme=light] body:has(.rdhero) :is(#today,#start,#daily,section[aria-labelledby=tasks-h],section[aria-labelledby=copy-h],#plays,#weekly,#verify){border-color:rgba(var(--th),.34);
 background:radial-gradient(75% 95% at 0 0,rgba(var(--th),.12),transparent 62%),radial-gradient(60% 80% at 100% 100%,rgba(var(--th),.05),transparent 70%),var(--card);box-shadow:0 14px 36px -28px rgba(var(--th),.45)}
[data-theme=light] body:has(.rdhero) :is(#today,#start,#daily,section[aria-labelledby=tasks-h],section[aria-labelledby=copy-h],#plays,#weekly,#verify) h2 .hico{color:color-mix(in srgb,rgb(var(--th)) 60%,#000)}
@media (max-width:640px){body:has(.rdhero) :is(#today,#start,#daily,section[aria-labelledby=tasks-h],section[aria-labelledby=copy-h],#plays,#weekly,#verify){margin:28px 0 6px;padding:18px 14px;border-radius:16px}}
/* Same tint on the homepage community card (green) and the battle banner (#7fb8ff). Red is kept for the battle banner only. Spacing of both stays as is. */
body:has(.rdhero) #fhot{--th:34,197,94}
body:has(.rdhero) #battle{--th:127,184,255}
body:has(.rdhero) :is(#fhot,#battle){border:1px solid rgba(var(--th),.26);border-radius:var(--r-lg);
 background:radial-gradient(75% 95% at 0 0,rgba(var(--th),.17),transparent 62%),radial-gradient(60% 80% at 100% 100%,rgba(var(--th),.07),transparent 70%),var(--card);box-shadow:0 16px 40px -28px rgba(var(--th),.55)}
body:has(.rdhero) #battle{padding:0}
[data-theme=light] body:has(.rdhero) #fhot{border-color:rgba(var(--th),.34);
 background:radial-gradient(75% 95% at 0 0,rgba(var(--th),.12),transparent 62%),radial-gradient(60% 80% at 100% 100%,rgba(var(--th),.05),transparent 70%),var(--card);box-shadow:0 14px 36px -28px rgba(var(--th),.45)}
@media (max-width:640px){body:has(.rdhero) :is(#fhot,#battle){border-radius:16px}}
/* The battle banner keeps its dark base in light mode so its light text stays readable. */
[data-theme=light] body:has(.rdhero) #battle{border-color:rgba(var(--th),.34);
 background:radial-gradient(75% 95% at 0 0,rgba(var(--th),.17),transparent 62%),radial-gradient(60% 80% at 100% 100%,rgba(var(--th),.07),transparent 70%),#111115;box-shadow:0 14px 36px -28px rgba(var(--th),.45)}

/* ===== K (Oct 17): newsletter / signup card. One row: full-height email input + pill button of the same height;
   Turnstile on its own line under the row; status under that; one "Prefer email?" line with one Copy button. ===== */
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
section.news.nl{text-align:left;padding:32px 36px}
section.news.nl>h2{margin:0 0 8px}
section.news.nl>p:not(.meta):not(.row){margin:0 0 20px;max-width:62ch;color:var(--text2);font-size:15.5px;line-height:1.55}
section.news.nl>.row.center{justify-content:flex-start;margin:16px 0 0}
form.nlform{display:block;background:none;border:0;box-shadow:none;padding:0;margin:0;max-width:620px}
.nlrow{display:flex;gap:10px;align-items:stretch}
.nlrow input[type=email]{flex:1 1 auto;min-width:0;max-width:none;height:52px;margin:0;padding:0 20px;border-radius:999px;border:1px solid var(--line2);background:var(--bg2);color:var(--text);font:inherit;font-size:16px}
.nlrow input[type=email]::placeholder{color:var(--mut)}
.nlrow .btn{flex:none;display:inline-flex;align-items:center;justify-content:center;height:52px;margin:0;padding:0 28px;border-radius:999px;font-size:15.5px;white-space:nowrap}
form.nlform .cf-turnstile,.wkbar-f .cf-turnstile{margin:12px 0 0;max-width:620px}
form.nlform .fstatus,.wkbar-f .fstatus{margin:10px 0 0;font-size:14px;line-height:1.5}
form[data-api] .fstatus:empty{display:none}
.nlalt{margin:16px 0 0;font-size:13.5px;line-height:1.6;color:var(--mut)}
.nlalt a{color:var(--text2)}
.nlalt .mailfb,.fstatus .copyaddr{white-space:nowrap}
/* top-of-home Weekly 5 bar uses the same row */
.wkbar-f{display:block;flex:1 1 380px;max-width:520px}
.wkbar-f .nlrow input[type=email],.wkbar-f .nlrow .btn{height:46px}
/* contact / submit / sponsor forms: same pill button, Turnstile spaced on its own line, status under the button */
form.sp:not(.nlform) .cf-turnstile{margin:4px 0 16px}
form.sp:not(.nlform) button[type=submit]{min-height:48px;padding:0 28px;border-radius:999px}
form.sp:not(.nlform) .fstatus{margin:12px 0 0}
@media(max-width:639px){
 section.news.nl{padding:24px 18px}
 .nlrow{flex-direction:column;gap:10px}
 .nlrow .btn,form.sp:not(.nlform) button[type=submit]{width:100%}
 .wkbar-f{flex-basis:100%;max-width:none}
}

/* ===== L (Oct 17): vertical rhythm on story cards and story pages: callout, "Also" links, source/date footer ===== */
.ncard .nuse{margin:16px 0 0}
.ncard .sum+.nuse{margin-top:0}
.nlinks{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 0;font-size:13px;line-height:1.3}
.nlinks .nlab{color:var(--mut);font-weight:600;margin-right:2px}
.nlinks .sep{display:none}
.nlinks a{display:inline-flex;align-items:center;max-width:100%;padding:6px 12px;border:1px solid var(--line2);border-radius:999px;background:var(--bg2);color:var(--text2);text-decoration:none;overflow-wrap:anywhere}
.nlinks a:hover,.nlinks a:focus-visible{border-color:color-mix(in srgb,var(--lime) 55%,var(--line2));color:var(--text)}
.ncard .nbody>.nfoot{margin-top:auto;padding-top:16px;border-top:1px solid var(--line2);font-size:13.5px}
.ncard .nbody>:has(+.nfoot){margin-bottom:16px}
.ncard .nfoot .nsrc{color:var(--text)}
.ncard .nfoot time{color:var(--text2)}
article.detail .nuse{margin:20px 0 28px}
/* AA on the strongest corner of the E tints: muted text in tinted homepage panels is nudged lighter (>=4.5:1 on every hue) */
:root:not([data-theme=light]) body:has(.rdhero) :is(#today,#start,#daily,section[aria-labelledby=tasks-h],section[aria-labelledby=copy-h],#plays,#weekly,#verify) :is(.meta,.nlalt){color:color-mix(in srgb,var(--mut) 55%,var(--text2))}

/* ===== N (Oct 17): story cards line up across a row (title, summary, callout, Also links, footer). Each card is a 7-row subgrid of the
   news grid: image / chip / title / summary / callout / Also / footer, so a missing callout or Also line leaves its row empty and the
   neighbours still align; footers share the last row (pinned to the bottom, tops aligned). Phone (1 column) keeps the plain stacked card; a card alone in its row is left as is. ===== */
@supports (grid-template-rows:subgrid){
@media(min-width:640px) and (max-width:999px){
 .news-grid>.ncard:not(:nth-child(odd):last-child){display:grid;grid-template-rows:subgrid;grid-row:span 7;row-gap:0;height:auto}
 .news-grid>.ncard:not(:nth-child(odd):last-child)>.nbody{display:contents}
 .news-grid>.ncard:not(:nth-child(odd):last-child)>.nimg{grid-row:1}
 .news-grid>.ncard:not(:nth-child(odd):last-child)>.nbody>.tags{grid-row:2;margin:18px 22px 0}
 .news-grid>.ncard:not(:nth-child(odd):last-child)>.nbody>h3{grid-row:3;margin:12px 22px 8px}
 .news-grid>.ncard:not(:nth-child(odd):last-child)>.nbody>.sum{grid-row:4;margin:0 22px 16px}
 .news-grid>.ncard:not(:nth-child(odd):last-child)>.nbody>.nuse{grid-row:5;align-self:start;margin:0 22px}
 .news-grid>.ncard:not(:nth-child(odd):last-child)>.nbody>.nlinks{grid-row:6;align-self:start;margin:16px 22px 0}
 .news-grid>.ncard:not(:nth-child(odd):last-child)>.nbody>.nfoot{grid-row:7;align-self:stretch;align-content:flex-start;margin:16px 22px 20px}
}
@media(min-width:1000px){
 .news-grid>.ncard:not(:nth-child(3n+1):last-child){display:grid;grid-template-rows:subgrid;grid-row:span 7;row-gap:0;height:auto}
 .news-grid>.ncard:not(:nth-child(3n+1):last-child)>.nbody{display:contents}
 .news-grid>.ncard:not(:nth-child(3n+1):last-child)>.nimg{grid-row:1}
 .news-grid>.ncard:not(:nth-child(3n+1):last-child)>.nbody>.tags{grid-row:2;margin:18px 22px 0}
 .news-grid>.ncard:not(:nth-child(3n+1):last-child)>.nbody>h3{grid-row:3;margin:12px 22px 8px}
 .news-grid>.ncard:not(:nth-child(3n+1):last-child)>.nbody>.sum{grid-row:4;margin:0 22px 16px}
 .news-grid>.ncard:not(:nth-child(3n+1):last-child)>.nbody>.nuse{grid-row:5;align-self:start;margin:0 22px}
 .news-grid>.ncard:not(:nth-child(3n+1):last-child)>.nbody>.nlinks{grid-row:6;align-self:start;margin:16px 22px 0}
 .news-grid>.ncard:not(:nth-child(3n+1):last-child)>.nbody>.nfoot{grid-row:7;align-self:stretch;align-content:flex-start;margin:16px 22px 20px}
}
}
/* fix2 (QC, Oct 17): on phone the floating + (new thread) button sits 72-128px above the bottom (over the 56px forum bar). Reserve the bar
   (72px) plus about 88px clear space plus the safe area under the forum content, so the last thread row can always scroll clear of the button. */
@media(max-width:760px){
 .fx{padding-bottom:calc(72px + 88px + env(safe-area-inset-bottom))}
 .fbar{padding-bottom:env(safe-area-inset-bottom)}
 .ffab{bottom:calc(72px + env(safe-area-inset-bottom))}
}
/* Turnstile interaction-only: no reserved space unless a challenge is actually shown (staging 10/20) */
.cf-turnstile[data-appearance="interaction-only"],.ts-quiet{margin:0!important;min-height:0!important;line-height:0}
.cf-turnstile[data-appearance="interaction-only"]:has(iframe[style*="height: 65px"]),.ts-quiet:has(iframe[style*="height: 65px"]){margin:12px 0 0!important}
/* ---- Owner badge (server role='owner' only: .bdg-staff.st-owner, never flair/custom roles) ---- */
@property --apo{syntax:'<angle>';inherits:false;initial-value:0deg}
.bdg.bdg-staff.st-owner{position:relative;isolation:isolate;overflow:hidden;gap:5px;padding:2px 9px 2px 3px;color:#fff;font-weight:800;letter-spacing:.09em;text-transform:uppercase;border:1px solid transparent;
 background:linear-gradient(115deg,#0f1a00,#2a3d00 38%,#4a6800 70%,#5a7d00) padding-box,conic-gradient(from var(--apo),var(--accent),#d6f87a,#ecfccb,#5a7d00,var(--accent)) border-box;
 box-shadow:0 0 0 1px rgba(198,244,50,.2),0 0 10px rgba(198,244,50,.4),0 0 18px rgba(214,248,122,.22);text-shadow:0 1px 1px rgba(0,0,0,.6);animation:apo-spin 6s linear infinite,apo-glow 3.2s ease-in-out infinite}
.bdg.bdg-staff.st-owner::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(198,244,50,.32) 46%,rgba(255,255,255,.5) 50%,rgba(236,252,203,.35) 54%,transparent 70%);background-size:250% 100%;background-position:120% 0;animation:apo-shine 3.6s ease-in-out infinite}
.bdg.bdg-staff.st-owner img{filter:drop-shadow(0 0 3px rgba(198,244,50,.75))}
.bdg.bdg-staff.st-owner .bdg-t{background:linear-gradient(90deg,#fff,#f7fee7 45%,#ecfccb);-webkit-background-clip:text;background-clip:text;color:#fff;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 1px 0 rgba(0,0,0,.6))}
@keyframes apo-spin{to{--apo:360deg}}
@keyframes apo-shine{0%,35%{background-position:120% 0}75%,100%{background-position:-120% 0}}
@keyframes apo-glow{0%,100%{box-shadow:0 0 0 1px rgba(198,244,50,.18),0 0 8px rgba(198,244,50,.35),0 0 14px rgba(214,248,122,.18)}50%{box-shadow:0 0 0 1px rgba(198,244,50,.35),0 0 14px rgba(198,244,50,.55),0 0 24px rgba(214,248,122,.32)}}
.bdg.bdg-staff.st-owner:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
[data-theme=light] .bdg.bdg-staff.st-owner{box-shadow:0 0 0 1px rgba(74,104,0,.4),0 2px 8px rgba(74,104,0,.3)}
@media (prefers-reduced-motion:reduce){.bdg.bdg-staff.st-owner{animation:none}.bdg.bdg-staff.st-owner::after{animation:none;background-position:50% 0;opacity:.35}}
@media (forced-colors:active){.bdg.bdg-staff.st-owner{border:1px solid CanvasText;background:Canvas;color:CanvasText}.bdg.bdg-staff.st-owner .bdg-t{-webkit-text-fill-color:CanvasText;background:none}.bdg.bdg-staff.st-owner::after{display:none}}
/* ---- end Owner badge ---- */
/* Mobile forum tab row (QC 10/20): no hidden horizontal scroll; tabs wrap into compact pills, action button on its own row. */
@media (max-width:640px){.fbar3{flex-wrap:wrap;gap:8px}.fbar3 .ftabs3{flex:1 1 100%;flex-wrap:wrap;overflow:visible;gap:6px;border-bottom:0}.fbar3 .ftabs3 button[data-tab]{min-height:36px;padding:7px 12px;font-size:14px;border:1px solid #3f3f48;border-radius:999px;background:var(--card)}.fbar3 .ftabs3 button[data-tab][aria-selected=true]{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.fbar3>a{margin-left:auto}}
/* 10/20: Early access CTA stays on one line; floating + never covers the last thread title on phones */
.flock-cta{white-space:nowrap;display:inline-flex;align-items:center;width:auto;flex:0 0 auto}
@media (max-width:760px){.ftl,.fthreads,#tlist,.tlist{padding-bottom:96px}}
