/* cdusr theme: dark neon by default, light when the OS asks. No fonts; optional JS toggle sets data-theme. */
:root{--bg:#07080d;--bg2:#0e1018;--card:#121522;--line:#23283a;--fg:#e8ebf4;--mut:#9aa3b8;--acc:#00e5ff;--acc2:#ff3fd8;--on-acc:#03141a;--glow:0 0 0 1px #00e5ff55,0 0 24px #00e5ff22;
--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans","PingFang HK","Noto Sans HK","Microsoft JhengHei",sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;color-scheme:dark}
@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f5f6fa;--bg2:#eceef5;--card:#fff;--line:#d9dce6;--fg:#12141c;--mut:#525a6e;--acc:#00707f;--acc2:#a1118a;--on-acc:#fff;--glow:0 0 0 1px #00707f44,0 6px 20px #00707f14;color-scheme:light}}
:root[data-theme=light]{--bg:#f5f6fa;--bg2:#eceef5;--card:#fff;--line:#d9dce6;--fg:#12141c;--mut:#525a6e;--acc:#00707f;--acc2:#a1118a;--on-acc:#fff;--glow:0 0 0 1px #00707f44,0 6px 20px #00707f14;color-scheme:light}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.65 var(--sans);text-rendering:optimizeLegibility}
a{color:var(--acc);text-underline-offset:3px}a:hover{color:var(--acc2)}
:focus-visible{outline:2px solid var(--acc2);outline-offset:3px;border-radius:4px}
img{max-width:100%;height:auto}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}.narrow{max-width:760px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:9;background:var(--acc);color:var(--on-acc);padding:8px 12px}
.bar-note{background:repeating-linear-gradient(-45deg,var(--bg2) 0 12px,var(--card) 12px 24px);border-bottom:1px solid var(--line);color:var(--mut);font:13px var(--mono);text-align:center;padding:6px}
.bar-note details{display:inline}
.top{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:20px;min-height:60px;flex-wrap:wrap}
.logo{font:700 18px/1 var(--mono);letter-spacing:.04em;color:var(--fg);text-decoration:none;text-transform:uppercase;white-space:nowrap}
.logo .mark{color:var(--acc);margin-right:8px}.logo.small{font-size:14px}
.nav{display:flex;gap:18px;flex:1}.nav a,.langs a{color:var(--mut);text-decoration:none;font-size:15px}.nav a:hover{color:var(--fg)}
.langs{display:flex;gap:4px;border:1px solid var(--line);border-radius:999px;padding:3px}
.langs a{padding:2px 10px;border-radius:999px;font:600 13px var(--sans)}.langs a[aria-current]{background:var(--acc);color:var(--on-acc)}
.hero{position:relative;overflow:hidden;padding:96px 0 72px;border-bottom:1px solid var(--line);
background:linear-gradient(var(--line) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,var(--line) 1px,transparent 1px) 0 0/40px 40px;background-color:var(--bg)}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 80% 0,color-mix(in srgb,var(--acc2) 18%,transparent),transparent 70%),linear-gradient(transparent 40%,var(--bg));pointer-events:none}
.hero .wrap{position:relative;z-index:1}
.kicker{font:600 13px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin:0 0 14px}.kicker a{text-decoration:none}
h1,h2,h3{line-height:1.15;letter-spacing:-.01em;margin:0 0 .5em}
.hero h1{font-size:clamp(34px,6vw,64px);max-width:16ch;font-weight:800}
.hero h1,.page-head h1{background:linear-gradient(90deg,var(--fg) 55%,var(--acc));-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{font-size:clamp(18px,2.2vw,21px);color:var(--mut);max-width:62ch}.lead p{margin:0 0 .8em}.lead p:first-child{color:var(--fg)}
.cta{margin:28px 0 0;display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:11px 20px;border-radius:10px;background:var(--acc);color:var(--on-acc);font-weight:700;text-decoration:none;box-shadow:var(--glow)}
.btn:hover{color:var(--on-acc);filter:brightness(1.1)}.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--line);box-shadow:none}.btn.ghost:hover{border-color:var(--acc);color:var(--acc)}
.sec{padding:64px 0;border-bottom:1px solid var(--line)}.sec:last-child{border:0}
.h{font:700 13px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:24px}.h::before{content:"// ";color:var(--acc)}
.h-row{display:flex;justify-content:space-between;align-items:baseline}.more{font-size:15px}
.sub{margin:-12px 0 24px}
.grid{display:grid;gap:16px;padding:0;margin:0;list-style:none}
.divs{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.team{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}
.div{position:relative;display:flex;flex-direction:column;color:var(--fg);text-decoration:none;min-height:230px;transition:border-color .15s,box-shadow .15s,transform .15s}
.div:hover{color:var(--fg);border-color:var(--acc);box-shadow:var(--glow);transform:translateY(-2px)}
.div .num{font:700 13px var(--mono);color:var(--acc2)}.div h3{font-size:22px;margin:6px 0 8px}.div p{color:var(--mut);margin:0;font-size:15px;flex:1}
.div .row{display:flex;justify-content:space-between;align-items:flex-start;min-height:64px}.div img{width:64px;height:64px;object-fit:contain;margin:-6px -6px 0 0}
.div .go{color:var(--acc);font-size:20px;margin-top:14px}
.member{display:flex;gap:14px;align-items:center;padding:16px}.member strong{display:block}.member span{color:var(--mut);font-size:15px}
.av{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:10px;font:700 18px var(--mono);color:var(--acc);background:var(--bg2);border:1px solid var(--line)}
.member:nth-child(3n+2) .av{color:var(--acc2)}
.posts{display:grid;gap:12px}
.post{display:flex;gap:18px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px}
.post time{font:13px var(--mono);color:var(--mut)}.post h3{font-size:21px;margin:4px 0 6px}.post h3 a{color:var(--fg);text-decoration:none}.post h3 a:hover{color:var(--acc)}.post p{margin:0;color:var(--mut)}
.post-img{width:72px;height:72px;object-fit:contain;flex:none}
.page-head{padding:64px 0 28px;border-bottom:1px solid var(--line);background:linear-gradient(var(--bg2),var(--bg))}.page-head h1{font-size:clamp(30px,5vw,48px)}.page-head .lead{margin:0}
.prose{padding:36px 20px 72px}.prose p{margin:0 0 1.1em}.cover{float:right;width:200px;margin:0 0 16px 24px}.back{clear:both;padding-top:16px}
.nf{text-align:left;padding:120px 0}.glitch{font-size:64px;letter-spacing:.06em;text-shadow:2px 0 var(--acc2),-2px 0 var(--acc)}
.foot{border-top:1px solid var(--line);padding:28px 0;font-size:14px}.foot-in{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.muted{color:var(--mut)}
@media (max-width:640px){body{font-size:16px}.top-in{gap:10px 16px;padding:10px 20px}.nav{order:3;flex-basis:100%;gap:16px}.hero{padding:56px 0 48px}.sec{padding:44px 0}
.cover{float:none;display:block;margin:0 auto 20px}.post{padding:16px}.post-img{width:56px;height:56px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.mode{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:999px;background:none;color:var(--fg);cursor:pointer}.mode:hover{color:var(--acc);border-color:var(--acc)}.mode[hidden]{display:none}
.mode svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.mode .i-moon{fill:currentColor;stroke:none}.mode[aria-pressed=true] .i-sun,.mode[aria-pressed=false] .i-moon{display:none}

/* rc8 content blocks */
.b-h { margin: 1.6em 0 .5em; line-height: 1.25; }
.b-list { padding-left: 1.4em; margin: 1em 0; } .b-list li { margin: .3em 0; }
.b-quote { margin: 1.4em 0; padding: .4em 0 .4em 1.1em; border-left: 3px solid currentColor; opacity: .92; font-style: italic; }
.b-quote footer { font-style: normal; font-size: .9em; opacity: .7; margin-top: .4em; }
.b-code { overflow-x: auto; padding: 1em; border-radius: 10px; background: rgba(127, 127, 127, .12); font-size: .9em; line-height: 1.5; }
.b-code code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }
p code { font-family: ui-monospace, monospace; font-size: .92em; padding: .1em .35em; border-radius: 5px; background: rgba(127, 127, 127, .14); }
.b-image { margin: 1.6em 0; } .b-image img { max-width: 100%; height: auto; border-radius: 10px; display: block; }
.b-image figcaption, .b-gallery figcaption { font-size: .88em; opacity: .7; margin-top: .5em; text-align: center; }
.b-gallery { margin: 1.6em 0; } .b-gallery ul { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 12px; }
.b-gallery img { width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; display: block; }
.b-button { margin: 1.4em 0; }
.b-btn { display: inline-block; padding: .7em 1.3em; border-radius: 999px; text-decoration: none; font-weight: 600; border: 2px solid currentColor; }
.b-btn-primary { background: #4f46e5; border-color: #4f46e5; color: #fff; }
.b-btn-link { border: 0; padding: 0; text-decoration: underline; }
.b-divider { border: 0; border-top: 1px solid rgba(127, 127, 127, .3); margin: 2.2em 0; }
.b-shared > :first-child { margin-top: 0; }
.b-gallery li { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.b-ph { display: flex; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1; border: 1px dashed currentColor; border-radius: 10px; opacity: .6; font-size: .8em; text-align: center; padding: 6px; box-sizing: border-box; }
.b-dl { font-size: .78em; text-align: center; line-height: 1.3; }
.b-image .b-dl { display: inline-block; margin-top: .4em; }
.pager { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 2em auto 0; max-width: 100%; flex-wrap: wrap; }
.pager-n { opacity: .7; font-size: .9em; }
