:root { color-scheme: dark; --bg:#0b0d12; --panel:#12151c; --panel-2:#171b23; --line:#282d37; --text:#f1f3f7; --muted:#a6adb9; --soft:#737c8d; --accent:#a9e5d6; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--text); font:15px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
button,a,summary { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
img { max-width:100%; }
[hidden] { display:none !important; }
section[id],div[id] { scroll-margin-top:90px; }

.sidebar { position:fixed; inset:0 auto 0 0; width:274px; background:#0e1117; border-right:1px solid var(--line); z-index:30; }
.sidebar-inner { height:100%; display:flex; flex-direction:column; overflow-y:auto; padding:25px 15px 19px; scrollbar-width:thin; }
.brand { display:flex; align-items:center; gap:12px; margin:0 8px 33px; }
.brand-icon { width:43px; height:43px; flex:none; object-fit:cover; border-radius:11px; }
.brand strong { display:block; font-size:15px; letter-spacing:.01em; }
.brand small { display:block; color:#7f8998; font-size:11px; font-weight:500; letter-spacing:.02em; }
.sidebar-label { color:#667181; margin:0 11px 10px; font-size:10px; font-weight:800; letter-spacing:.18em; }
.side-nav { display:grid; gap:3px; }
.side-nav a,.side-nav summary { min-height:39px; display:flex; align-items:center; gap:10px; padding:8px 11px; border-radius:8px; color:#c3c9d3; cursor:pointer; font-size:13px; font-weight:650; }
.side-nav a:hover,.side-nav summary:hover { color:var(--text); background:#1a2029; }
.side-nav summary { list-style:none; }
.side-nav summary::-webkit-details-marker { display:none; }
.side-nav summary::after { content:"+"; margin-left:auto; color:#737d8c; }
.side-nav details[open] summary::after { content:"−"; }
.side-nav details:first-child summary { color:#dbf8ee; background:#1b2c2a; }
.side-nav .nav-root span,.side-nav summary span { display:inline-grid; place-items:center; width:25px; height:25px; flex:none; color:#8ca69f; font-size:11px; font-weight:800; font-variant-numeric:tabular-nums; }
.side-nav details>div { margin:2px 0 7px 23px; border-left:1px solid #29323c; padding-left:10px; }
.side-nav details>div a { min-height:30px; padding:5px 10px; color:#8e98a8; font-size:12px; font-weight:500; }
.sidebar-bottom { display:flex; align-items:center; gap:7px; margin-top:auto; padding:19px 10px 0; border-top:1px solid var(--line); font-size:10px; color:#788392; white-space:nowrap; }
.sidebar-bottom a { margin-left:auto; color:#b3c9c3; }
.status-light { display:inline-block; width:6px; height:6px; flex:none; border-radius:50%; background:#7cdbc0; box-shadow:0 0 11px #7cdbc080; }
.menu-button,.sidebar-scrim { display:none; }

.site-shell { margin-left:274px; min-width:0; }
.topbar { height:62px; display:flex; justify-content:flex-end; align-items:center; padding:0 clamp(22px,5vw,74px); border-bottom:1px solid var(--line); color:#84909f; font-size:11px; font-weight:800; letter-spacing:.1em; }
.topbar-actions { display:flex; align-items:center; gap:10px; }
.topbar-actions button,.topbar-actions a { display:inline-flex; align-items:center; gap:7px; padding:7px 12px; border:1px solid var(--line); border-radius:7px; background:var(--panel); color:var(--text); font-size:12px; font-weight:700; letter-spacing:0; cursor:pointer; }
.topbar-actions button:hover,.topbar-actions a:hover { border-color:var(--accent); color:var(--accent); }
.topbar i,.footer i { color:#48525e; font-style:normal; margin:0 8px; }
.topbar strong { color:#d8dfeb; }
.topbar a { color:#acb8c6; letter-spacing:0; }
.topbar a:hover { color:var(--accent); }
.content { width:min(1180px,100%); padding:31px clamp(22px,5vw,74px) 0; margin:auto; }

.hero { position:relative; min-height:468px; display:flex; align-items:center; overflow:hidden; border:1px solid #273039; border-radius:17px; background:radial-gradient(circle at 78% 42%,#1c3a3b 0%,#172327 28%,transparent 55%),linear-gradient(135deg,#151a22,#0f131a 70%); }
.hero::before { content:""; position:absolute; inset:0; opacity:.23; background-image:linear-gradient(#84979a18 1px,transparent 1px),linear-gradient(90deg,#84979a18 1px,transparent 1px); background-size:35px 35px; mask-image:linear-gradient(90deg,transparent 28%,#000 100%); }
.hero-copy { position:relative; z-index:2; max-width:670px; padding:63px 55px 73px; }
.eyebrow,.section-heading>span,.discussion>span { margin:0 0 20px; color:var(--accent); font:800 11px/1.4 ui-monospace,Consolas,monospace; letter-spacing:.2em; }
.eyebrow .status-light { margin-right:9px; vertical-align:2px; }
.hero h1 { margin:0; font-size:clamp(34px,4.24vw,64px); line-height:1.1; letter-spacing:.015em; font-weight:850; }
.hero h1 em { font-style:normal; letter-spacing:.025em; }
.hero h1 em span { color:var(--accent); }
.hero-copy>p:not(.eyebrow) { max-width:510px; margin:25px 0 30px; color:#bac6ca; font-size:15px; line-height:1.85; }
.hero-actions { display:flex; flex-wrap:wrap; gap:11px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:10px 19px; border-radius:8px; font-weight:800; font-size:13px; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-2px); }
.button.primary { background:#c8eee2; color:#13211d; }
.button.primary:hover { background:#e0fff4; }
.button.quiet { border:1px solid #526660; color:#c6d6d2; }
.hero-art { position:absolute; width:330px; aspect-ratio:1; right:69px; top:50%; transform:translateY(-50%); border-radius:50%; }
.hero-art img { display:block; width:100%; height:100%; object-fit:cover; border-radius:50%; }
.quick-sites { margin:18px 0 66px; }

.page-section { padding:0 0 74px; border-bottom:1px solid #252a33; margin-bottom:64px; }
.section-heading { margin:0 0 29px; }
.section-heading>span { display:block; margin-bottom:10px; }
.section-heading h2,.discussion h2 { margin:0; font-size:clamp(29px,3.2vw,42px); line-height:1.2; letter-spacing:-.045em; }
.section-heading p { margin:10px 0 0; color:var(--muted); font-size:14px; }
.subsection { margin-top:33px; }
.subsection>h3 { display:flex; gap:13px; align-items:baseline; margin:0 0 16px; font-size:18px; letter-spacing:-.025em; }
.subsection>h3 small { color:#6f7b88; font:700 10px ui-monospace,Consolas,monospace; letter-spacing:.12em; }
.subsection>p { color:var(--muted); line-height:1.85; margin:0 0 18px; }
#interests>p { margin-bottom:4px; }
.intro-panel { display:grid; grid-template-columns:1.6fr 1fr; gap:32px; padding:34px; border:1px solid var(--line); border-radius:13px; background:linear-gradient(140deg,#171c24,#11151b); }
.intro-panel small { color:var(--accent); font:800 10px ui-monospace,Consolas,monospace; letter-spacing:.18em; }
.intro-panel h3 { margin:12px 0 20px; font-size:clamp(20px,2.2vw,29px); line-height:1.4; letter-spacing:-.04em; }
.intro-panel p { max-width:600px; margin:0; color:#aeb8c4; line-height:1.85; }
.intro-panel dl { margin:0; border-left:1px solid var(--line); padding-left:30px; }
.intro-panel dl div { display:flex; justify-content:space-between; gap:15px; padding:11px 0; border-bottom:1px solid #2b3139; }
.intro-panel dl div:last-child { border:0; }
.intro-panel dt { color:#7f8998; white-space:nowrap; }
.intro-panel dd { margin:0; text-align:right; font-weight:700; }

.site-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.site-grid a { display:flex; flex-direction:column; min-width:0; min-height:188px; padding:20px; border:1px solid var(--line); border-radius:11px; background:var(--panel); transition:transform .2s,border-color .2s,background .2s; }
.site-grid a:hover { transform:translateY(-3px); border-color:#578478; background:#182520; }
.site-grid b { display:grid; place-items:center; width:34px; height:34px; margin-bottom:16px; border-radius:7px; background:#21342e; color:#b6f0dd; font-size:18px; }
.site-grid strong { margin-bottom:8px; font-size:19px; line-height:1.3; }
.site-grid small { color:var(--muted); font-size:12px; }
.site-grid span { color:#7fae9f; margin-top:8px; font:700 10px ui-monospace,Consolas,monospace; overflow-wrap:anywhere; }
.resource-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.resource-list a { display:flex; flex-direction:column; min-width:0; min-height:185px; padding:19px; background:var(--panel); border:1px solid var(--line); border-radius:10px; }
.resource-list a::before,.identity-item::before { content:attr(data-icon); display:grid; place-items:center; width:36px; height:36px; flex:none; margin-bottom:13px; border-radius:8px; background:#223831; font-size:20px; }
.resource-list a:hover { background:#1b2828; border-color:#578478; }
.resource-list strong { margin-bottom:8px; font-size:19px; line-height:1.3; }
.resource-list span { color:#a6afbd; font-size:12px; }
.resource-list small { margin-top:8px; color:#75aa9a; font:700 10px ui-monospace,Consolas,monospace; overflow-wrap:anywhere; }
.group-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.group-card { display:grid; grid-template-columns:30px minmax(0,1fr); align-content:center; column-gap:9px; row-gap:4px; min-height:86px; width:100%; padding:12px; text-align:left; color:var(--text); background:var(--panel); border:1px solid var(--line); border-radius:9px; }
.group-card::before { content:"👥"; display:grid; grid-column:1; grid-row:1 / span 2; place-items:center; width:30px; height:30px; border-radius:8px; background:#223831; font-size:16px; }
.group-card[data-icon]::before { content:attr(data-icon); }
button.group-card { cursor:pointer; }
button.group-card:hover,a.group-card:hover,.group-card.copied { border-color:#608e7e; background:#1a2827; }
.group-card.featured { border-color:#5c8779; background:#1a2927; }
.group-card strong { grid-column:2; font-size:10.8px; line-height:1.35; }
.group-card span { grid-column:2; color:#a4b1bb; font:600 9.9px/1.35 ui-monospace,Consolas,monospace; overflow-wrap:anywhere; }
.community-more { margin:28px 0 0; color:var(--muted); font-size:13px; }
.community-more a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.contact-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.contact-card { min-width:0; min-height:175px; display:flex; flex-direction:column; align-items:flex-start; gap:7px; padding:20px; border:1px solid var(--line); border-radius:10px; background:var(--panel); text-align:left; color:var(--text); }
button.contact-card { cursor:pointer; }
.contact-card:hover,.contact-card.copied { border-color:#608e7e; background:#192522; }
.contact-card img { width:36px; height:36px; flex:none; margin-bottom:13px; object-fit:contain; }
.contact-card span { color:#75aa9a; font:800 20px ui-monospace,Consolas,monospace; letter-spacing:.06em; }
.contact-card strong { font-size:20px; overflow-wrap:anywhere; line-height:1.35; }
.contact-card small { margin-top:auto; color:#8f9eaa; font-size:15px; }
.social-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.social-grid a,.social-grid button { min-width:0; min-height:58px; display:flex; align-items:center; gap:10px; padding:10px 14px; text-align:left; border:1px solid var(--line); border-radius:7px; background:var(--panel); color:#cbd1da; font-size:12px; }
.social-grid img { width:26px; height:26px; flex:none; object-fit:contain; }
.social-grid img[src$="/github.svg"] { filter:invert(1); }
.social-text { display:block; min-width:0; }
.social-text strong,.social-text small { display:block; line-height:1.35; }
.social-text small { color:var(--muted); font-size:10px; overflow-wrap:anywhere; }
.social-grid em { margin-left:auto; color:var(--accent); font-size:10px; font-style:normal; }
.social-grid button { cursor:pointer; }
.social-grid a:hover,.social-grid button:hover { color:var(--accent); border-color:#4b786c; }
.identity-list { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.identity-item { display:flex; flex-direction:column; align-items:flex-start; gap:5px; min-height:190px; padding:19px; text-align:left; border:1px solid var(--line); border-radius:9px; background:var(--panel); color:var(--text); cursor:pointer; }
.identity-item:hover,.identity-item.copied { border-color:#5e8d80; }
.identity-item span { color:#86c7b4; font:800 18px ui-monospace,Consolas,monospace; }
.identity-item strong { font-size:13.2px; line-height:1.35; }
.identity-item small { margin-top:auto; color:#84909d; font-size:9.6px; }
.release { display:grid; grid-template-columns:170px 1fr; gap:22px; padding:25px; border:1px solid #3d695b; border-radius:10px; background:#15221f; }
.release + .release { margin-top:10px; border-color:var(--line); background:var(--panel); }
.release>div:first-child { display:flex; flex-direction:column; gap:5px; }
.release>div:first-child strong { color:#a3e8d0; font:800 20px ui-monospace,Consolas,monospace; }
.release time { color:#819a92; font:700 11px ui-monospace,Consolas,monospace; }
.release h4 { margin:0 0 6px; font-size:16px; }
.release p { color:#b1c0ba; margin:0; }
.changelog { margin:22px 0 28px; border:1px solid var(--line); border-radius:10px; background:var(--panel); }
.changelog summary { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:19px 22px; cursor:pointer; list-style:none; }
.changelog summary::-webkit-details-marker { display:none; }
.changelog summary strong { display:block; font-size:17px; }
.changelog summary small { display:block; color:var(--soft); font:700 10px ui-monospace,Consolas,monospace; letter-spacing:.12em; }
.changelog-toggle { color:var(--accent); font-size:12px; }
.changelog-body { padding:0 22px 22px; }
.changelog-note { margin:17px 0 0; color:var(--muted); font-size:12px; }
.changelog-note a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.discussion { padding:36px; border:1px solid #457261; border-radius:13px; background:radial-gradient(circle at 95% 5%,#28524777,transparent 45%),#14211e; }
.discussion>span { display:block; margin-bottom:14px; }
.discussion p { max-width:600px; margin:13px 0 23px; color:#b4c6c0; }
.discussion-grid { display:grid; grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr); gap:20px; margin-top:28px; }
.discussion-composer,.discussion-board { min-width:0; padding:22px; border:1px solid var(--line); border-radius:10px; background:var(--panel); }
.discussion h3 { margin:0 0 17px; font-size:18px; }
.discussion-composer label { display:block; margin:0 0 13px; color:var(--muted); font-size:12px; font-weight:700; }
.discussion-composer input,.discussion-composer textarea { display:block; width:100%; margin-top:6px; padding:11px 12px; border:1px solid var(--line); border-radius:7px; color:var(--text); background:var(--bg); font:inherit; resize:vertical; }
.discussion-composer input:focus,.discussion-composer textarea:focus { outline:2px solid var(--accent); outline-offset:1px; }
.discussion-form-actions { display:flex; gap:9px; margin-top:14px; }
.discussion-form-actions button { border:0; cursor:pointer; }
.discussion-form-actions .quiet { background:transparent; border:1px solid #526660; }
.discussion-form-status,.discussion #discussion-status { min-height:1.5em; margin:12px 0 0; color:var(--muted); font-size:12px; }
.discussion-board-head { display:flex; justify-content:space-between; gap:10px; align-items:start; }
.discussion-board-head button,.discussion-back,.discussion-delete { padding:5px 9px; border:1px solid var(--line); border-radius:6px; background:transparent; color:var(--muted); cursor:pointer; font-size:11px; }
.discussion-board-head button:hover,.discussion-back:hover,.discussion-delete:hover { color:var(--accent); border-color:var(--accent); }
.thread-card,.message-card { padding:17px 0; border-top:1px solid var(--line); }
.thread-open { display:block; width:100%; padding:0; border:0; text-align:left; color:var(--text); background:none; cursor:pointer; font:inherit; }
.thread-open:hover { color:var(--accent); }
.thread-card strong,.message-card strong { display:block; font-size:15px; line-height:1.4; }
.thread-meta { display:block; margin:5px 0 8px; color:var(--soft); font-size:11px; }
.thread-card p,.message-card p { max-width:none; margin:6px 0 0; color:var(--muted); font-size:13px; white-space:pre-wrap; overflow-wrap:anywhere; }
.discussion-delete { margin-top:11px; }
.discussion-back { margin-bottom:15px; }
.footer { display:flex; justify-content:space-between; gap:12px; padding:12px 0 30px; color:#778391; font-size:11px; }
.footer a:hover { color:var(--accent); }
.toast { position:fixed; left:50%; bottom:20px; z-index:60; transform:translate(-50%,12px); padding:10px 15px; border:1px solid #557e71; border-radius:7px; background:#182823; color:#e5fff5; opacity:0; pointer-events:none; transition:opacity .2s,transform .2s; font-size:12px; box-shadow:0 12px 30px #0008; }
.toast.show { opacity:1; transform:translate(-50%,0); }

html[data-theme="light"] { color-scheme:light; --bg:#f5f8f6; --panel:#fff; --panel-2:#eef4f0; --line:#d7e2dc; --text:#172720; --muted:#52665c; --soft:#687d72; --accent:#146b52; }
html[data-theme="light"] .sidebar { background:#edf3ef; }
html[data-theme="light"] .sidebar-label,html[data-theme="light"] .sidebar-bottom,html[data-theme="light"] .side-nav details>div a { color:#5c7168; }
html[data-theme="light"] .side-nav a,html[data-theme="light"] .side-nav summary,html[data-theme="light"] .topbar,html[data-theme="light"] .topbar strong { color:#273d32; }
html[data-theme="light"] .side-nav a:hover,html[data-theme="light"] .side-nav summary:hover,html[data-theme="light"] .side-nav details:first-child summary { background:#dbeee4; color:#164b38; }
html[data-theme="light"] .side-nav .nav-root span,html[data-theme="light"] .side-nav summary span,html[data-theme="light"] .side-nav summary::after,html[data-theme="light"] .topbar i { color:#59766a; }
html[data-theme="light"] .sidebar-bottom a,html[data-theme="light"] .topbar a { color:#27624c; }
html[data-theme="light"] .hero { background:radial-gradient(circle at 79% 43%,#d3eae0,transparent 57%),linear-gradient(135deg,#fff,#eaf4ee); border-color:#cbded2; }
html[data-theme="light"] .hero::before { opacity:.15; }
html[data-theme="light"] .hero-copy>p:not(.eyebrow),html[data-theme="light"] .intro-panel p,html[data-theme="light"] .subsection>p,html[data-theme="light"] .discussion p { color:#42594e; }
html[data-theme="light"] .section-heading p,html[data-theme="light"] .subsection>h3 small { color:#65796d; }
html[data-theme="light"] .button.primary { background:#176f53; color:#fff; }
html[data-theme="light"] .button.primary:hover { background:#0f5841; }
html[data-theme="light"] .button.quiet { border-color:#96b9a4; color:#27533f; }
html[data-theme="light"] .intro-panel { background:#fff; color:#234735; }
html[data-theme="light"] .resource-list a:hover,html[data-theme="light"] .site-grid a:hover { background:#e7f4ec; }
html[data-theme="light"] .intro-panel dl div { border-color:var(--line); }
html[data-theme="light"] .intro-panel dt,html[data-theme="light"] .site-grid small,html[data-theme="light"] .resource-list span,html[data-theme="light"] .contact-card small,html[data-theme="light"] .identity-item small,html[data-theme="light"] .group-card span { color:#597067; }
html[data-theme="light"] .resource-list a::before,html[data-theme="light"] .group-card::before,html[data-theme="light"] .identity-item::before { background:#e1f2e8; color:#185940; }
html[data-theme="light"] .site-grid b { background:#e1f2e8; color:#185940; }
html[data-theme="light"] .site-grid span,html[data-theme="light"] .resource-list small,html[data-theme="light"] .contact-card span,html[data-theme="light"] .identity-item span { color:#176f53; }
html[data-theme="light"] .group-card.featured,html[data-theme="light"] .release,html[data-theme="light"] .discussion { background:#e6f4eb; border-color:#9ccbb2; }
html[data-theme="light"] .discussion-form-actions .quiet { border-color:#8fac9b; color:#27533f; }
html[data-theme="light"] button.group-card:hover,html[data-theme="light"] .group-card.copied,html[data-theme="light"] .contact-card:hover,html[data-theme="light"] .contact-card.copied { background:#e7f4ec; }
html[data-theme="light"] .social-grid a,html[data-theme="light"] .social-grid button { color:#34483c; }
html[data-theme="light"] .social-grid img[src$="/github.svg"] { filter:none; }
html[data-theme="light"] .release>div:first-child strong,html[data-theme="light"] .release time,html[data-theme="light"] .release p { color:#315c45; }
html[data-theme="light"] .footer { color:#64786e; }
html[data-theme="light"] .toast { background:#effaf3; color:#185439; box-shadow:0 12px 30px #16402430; }
html[data-theme="light"] .menu-button { background:#fff; color:#234335; }

@media (max-width:1150px) { .site-grid,.resource-list,.group-grid,.identity-list { grid-template-columns:repeat(2,minmax(0,1fr)); } .hero-art { width:280px; right:94px; } .hero-copy { padding-right:30px; } }
@media (max-width:1050px) { .discussion-grid { grid-template-columns:1fr; } }
@media (max-width:800px) {
  .sidebar { width:min(300px,84vw); transform:translateX(-100%); transition:transform .22s; box-shadow:15px 0 40px #0008; }
  .sidebar.is-open { transform:translateX(0); }
  .sidebar-scrim:not([hidden]) { display:block; position:fixed; inset:0; background:#000a; z-index:25; }
  .menu-button { position:fixed; display:inline-flex; align-items:center; gap:8px; top:10px; left:12px; z-index:35; padding:8px 11px; border:1px solid #3b474b; border-radius:8px; color:#d9e5e1; background:#1a2425; cursor:pointer; font-size:12px; }
  .site-shell { margin-left:0; }
  .topbar { padding-left:97px; height:55px; }
  .content { padding-top:16px; }
  .hero { min-height:680px; align-items:flex-start; }
  .hero-copy { padding:42px 30px 56px; }
  .hero-art { width:300px; right:calc(50% - 150px); top:auto; bottom:25px; transform:none; }
}
@media (max-width:600px) {
  .topbar { padding-right:15px; font-size:9px; }
  .topbar a { font-size:9px; }
  .content { padding-left:16px; padding-right:16px; }
  .hero { min-height:690px; }
  .hero h1 { font-size:clamp(31px,8.8vw,46px); }
  .hero-copy { padding:38px 25px 55px; }
  .hero-copy>p:not(.eyebrow) { font-size:13px; }
  .hero-art { width:280px; right:calc(50% - 140px); bottom:30px; }
  .quick-sites { margin-bottom:55px; }
  .page-section { margin-bottom:53px; padding-bottom:55px; }
  .intro-panel { grid-template-columns:1fr; padding:23px; gap:20px; }
  .intro-panel dl { padding-left:0; padding-top:14px; border-left:0; border-top:1px solid var(--line); }
  .site-grid,.contact-grid,.identity-list { grid-template-columns:1fr; }
  .site-grid a { min-height:150px; }
  .resource-list a { min-height:175px; padding:15px; }
  .resource-list strong { font-size:19px; }
  .resource-list small { font-size:9px; }
  .social-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .release { grid-template-columns:1fr; gap:15px; }
  .discussion { padding:27px; }
  .footer { flex-direction:column; }
}
@media (max-width:420px) { .social-grid { grid-template-columns:1fr; } }
.mobile-page .site-shell { margin-left:0; }
.mobile-page .topbar { width:min(640px,100%); height:62px; margin:auto; padding:0 16px; justify-content:space-between; }
.mobile-page .topbar .brand { min-width:0; margin:0; gap:8px; letter-spacing:0; }
.mobile-page .topbar .brand-icon { width:36px; height:36px; }
.mobile-page .topbar .brand strong { font-size:12px; }
.mobile-page .topbar .brand small { font-size:10px; }
.mobile-page .topbar-actions { gap:6px; }
.mobile-page .topbar-actions button,.mobile-page .topbar-actions a { padding:7px 8px; font-size:11px; }
.mobile-page .topbar-actions button span { display:none; }
.mobile-page .content { width:min(640px,100%); padding:16px 16px 0; }
.mobile-page .hero { min-height:690px; align-items:flex-start; }
.mobile-page .hero-copy { padding:38px 25px 55px; }
.mobile-page .hero h1 { font-size:clamp(31px,8.8vw,46px); }
.mobile-page .hero-copy>p:not(.eyebrow) { font-size:13px; }
.mobile-page .hero-art { width:min(280px,calc(100% - 50px)); right:50%; top:auto; bottom:30px; transform:translateX(50%); }
.mobile-page .quick-sites { margin-bottom:55px; }
.mobile-page .page-section { margin-bottom:53px; padding-bottom:55px; }
.mobile-page .intro-panel { grid-template-columns:1fr; padding:23px; gap:20px; }
.mobile-page .intro-panel dl { padding-left:0; padding-top:14px; border-left:0; border-top:1px solid var(--line); }
.mobile-page .site-grid,.mobile-page .contact-grid,.mobile-page .identity-list,.mobile-page .discussion-grid { grid-template-columns:1fr; }
.mobile-page .site-grid a { min-height:150px; }
.mobile-page .resource-list,.mobile-page .group-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.mobile-page .social-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.mobile-page .release { grid-template-columns:1fr; gap:15px; }
.mobile-page .discussion { padding:27px; }
.mobile-page .footer { flex-direction:column; }
@media (max-width:420px) { .mobile-page .social-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms !important; animation-duration:.01ms !important; } }
