/* ArchForge Horizon 12.0 — system-wide visual foundation.
 * Last in cascade, additive and compatible with historic page components.
 * No external fonts or scripts. Supports light, dark and reduced motion. */
:root{
  --h12-bg:#0a101c;--h12-surface:#121e30;--h12-surface2:#19283d;
  --h12-border:#2a3950;--h12-text:#e8effb;--h12-muted:#9baec5;
  --h12-accent:#75a9ff;--h12-accent2:#a48dff;--h12-success:#71d4aa;
  --bg:var(--h12-bg);--surface:var(--h12-surface);--surface2:var(--h12-surface2);
  --surface3:#203149;--border:var(--h12-border);--fg:var(--h12-text);
  --muted:var(--h12-muted);--blue:#477de8;--bright:var(--h12-accent);
  --green:var(--h12-success);--shadow:0 20px 65px #01070f6b;--max:1360px;
}
html{scroll-padding-top:95px}
body.af-body:not(.af-access-body){background:radial-gradient(ellipse 65% 45% at 48% -17%,#253f7a55,transparent),linear-gradient(180deg,#0b1424,var(--h12-bg) 520px);color:var(--fg)}
body:not(.af-access-body) h1,body:not(.af-access-body) h2,body:not(.af-access-body) h3{letter-spacing:-.035em}
body:not(.af-access-body) h1{font-weight:790}
body:not(.af-access-body) a{transition:color .14s ease}
body:not(.af-access-body) a:hover{color:#a8cbff}
:focus-visible{outline:2px solid #82b5ff!important;outline-offset:3px}
button:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed}
.h12-skip{position:fixed;left:14px;top:-100px;z-index:999;background:#d9eaff;color:#10223d;padding:12px 18px;border-radius:10px;font-weight:700}
.h12-skip:focus{top:10px}
/* Navigation consolidated into an intentional, predictable global header. */
body:not(.af-access-body) .topbar{height:auto;position:sticky;top:0;z-index:70;border-bottom:1px solid #34455e9c;background:#0d1829e8;backdrop-filter:blur(20px);box-shadow:0 14px 34px #00000024}
body:not(.af-access-body) .bar-inner{min-height:76px;max-width:1500px;gap:22px;padding:10px clamp(15px,2.7vw,42px)}
body:not(.af-access-body) .brand{font-size:22px;letter-spacing:-1.05px;color:#f5f8ff}
body:not(.af-access-body) .brand-logo{border:1px solid #587bbc66;width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#2352a4,#142b59);box-shadow:0 7px 20px #2563eb24;color:#d6eaff}
body:not(.af-access-body) .top-search{width:min(300px,24vw);min-width:170px}
body:not(.af-access-body) .top-search input{height:42px;border:1px solid #304360;border-radius:12px;background:#142236;color:#e3eefb;padding-left:38px}
body:not(.af-access-body) .h12-nav{gap:5px;margin-left:auto;display:flex;align-items:center}
body:not(.af-access-body) .h12-nav>a,body:not(.af-access-body) .h12-nav>details>summary{display:inline-flex;align-items:center;min-height:39px;padding:8px 13px;border-radius:10px;color:#abc1d9;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}
body:not(.af-access-body) .h12-nav>a:hover,body:not(.af-access-body) .h12-nav>a.nav-active,body:not(.af-access-body) .h12-nav>details>summary:hover{background:#253b5c;color:#eff6ff}
body:not(.af-access-body) .h12-nav>a.nav-active{box-shadow:inset 0 0 0 1px #456eb6}
body:not(.af-access-body) .h12-nav-more{position:relative}
body:not(.af-access-body) .h12-nav-more>summary{list-style:none;cursor:pointer}
body:not(.af-access-body) .h12-nav-more>summary::-webkit-details-marker{display:none}
body:not(.af-access-body) .h12-nav-more .v10-nav-panel{position:absolute;right:0;top:calc(100% + 12px);min-width:224px;max-height:65vh;overflow-y:auto;background:#172439;border:1px solid #3b5574;box-shadow:0 26px 70px #0009;border-radius:14px;padding:9px;z-index:80;display:grid;gap:2px}
body:not(.af-access-body) .h12-nav-more:not([open]) .v10-nav-panel{display:none}
body:not(.af-access-body) .h12-nav-more .v10-nav-panel a{padding:9px 11px;border-radius:8px;color:#d3e0f1;display:block;white-space:nowrap;font-size:12px;font-weight:650}
body:not(.af-access-body) .h12-nav-more .v10-nav-panel a:hover{background:#283f5e;text-decoration:none}
.h12-mobile-menu{display:none;position:relative;margin-left:auto;color:#dceafa}
.h12-mobile-menu summary{list-style:none;cursor:pointer;padding:8px 10px;border:1px solid #324761;border-radius:10px;font-weight:700}
.h12-mobile-menu summary::-webkit-details-marker{display:none}
.h12-mobile-menu nav{position:absolute;top:calc(100% + 12px);right:0;display:grid;gap:3px;width:218px;background:#16243b;border:1px solid #3a5170;border-radius:14px;box-shadow:0 22px 55px #000a;padding:10px;max-height:70vh;overflow-y:auto;z-index:85}
.h12-mobile-menu nav a{padding:9px 10px;border-radius:8px;color:#d0def1;display:block}
.h12-mobile-menu nav a:hover{background:#2b405e;text-decoration:none}
/* Surface language across the entire platform, not just the dashboard. */
body:not(.af-access-body) .page-shell{max-width:1430px;padding-top:34px}
body:not(.af-access-body) .panel,
body:not(.af-access-body) .repo-card,
body:not(.af-access-body) .v11-card,
body:not(.af-access-body) .v11-side-card,
body:not(.af-access-body) .v11-metric,
body:not(.af-access-body) .side-widget{background:#132035;border:1px solid #2a3a54;border-radius:16px;box-shadow:0 12px 33px #050c172a}
body:not(.af-access-body) .panel-head,body:not(.af-access-body) .file-heading{background:#17273e;border-color:#2c405e;padding:15px 19px}
body:not(.af-access-body) .repo-card{background:linear-gradient(145deg,#182a43,#111e30);padding:24px;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}
body:not(.af-access-body) .repo-card:hover{border-color:#698dde;transform:translateY(-3px);box-shadow:0 22px 55px #040a14a3}
body:not(.af-access-body) .btn{border-radius:10px;min-height:39px;padding:9px 15px;font-weight:740;box-shadow:none}
body:not(.af-access-body) .btn-primary{color:#f7faff;background:linear-gradient(125deg,#386edf,#587bec);border-color:#759aff;box-shadow:0 8px 24px #2d62d836}
body:not(.af-access-body) .btn-primary:hover{color:#fff;background:linear-gradient(125deg,#4b81ef,#688bff);border-color:#a0bdff;transform:translateY(-1px)}
body:not(.af-access-body) .btn-secondary{background:#22354e;color:#ddeafe;border-color:#435b79}
body:not(.af-access-body) .btn-small{min-height:32px;padding:7px 11px;font-size:12px}
body:not(.af-access-body) input,body:not(.af-access-body) textarea,body:not(.af-access-body) select{border-radius:10px;background:#0d192a;border:1px solid #3a4d65;color:#e8f0fb}
body:not(.af-access-body) input:focus,body:not(.af-access-body) textarea:focus,body:not(.af-access-body) select:focus{border-color:#679bff;box-shadow:0 0 0 3px #5589f72c}
body:not(.af-access-body) .pill{border-radius:999px;padding:3px 10px;border-color:#3b5474;background:#1b2d45;color:#bed1e9}
body:not(.af-access-body) .flash{border-radius:13px}
body:not(.af-access-body) .footer{background:#0b1524;border-color:#27394f;margin-top:45px}
body:not(.af-access-body) .footer-inner{max-width:1430px;gap:13px 24px;line-height:1.65}
body:not(.af-access-body) .footer-inner a{color:#94adc9}
body:not(.af-access-body) .section-head,body:not(.af-access-body) .page-title{margin-bottom:26px}
body:not(.af-access-body) .eyebrow{color:#9dbfff;letter-spacing:.16em}
/* Homepage with restrained, high-quality gradient accent, consistent with Access 2.0. */
.af11411-home .af11411-hero{border:1px solid #294363;border-radius:26px;background:radial-gradient(circle at 20% 15%,#35549a3d,transparent 54%),linear-gradient(135deg,#10243d,#0e1728);padding:clamp(27px,4vw,66px);box-shadow:0 35px 95px #02091266;overflow:hidden}
.af11411-home .af11411-hero-copy h1{letter-spacing:-.06em;line-height:1.06}
.af11411-home .af11411-hero-panel{border:1px solid #46618b;border-radius:18px;box-shadow:0 30px 70px #0309127a}
.af11411-home .af11411-metrics>div{border-radius:13px}
.af11411-home .af11411-benefits article{border-radius:18px}
/* Dashboard: maintain all old widgets, but present them as one coherent workspace. */
body:not(.af-access-body) .v11-workspace{gap:22px;max-width:1440px}
body:not(.af-access-body) .v11-nav{background:#111e31;border:1px solid #2b3e58;border-radius:17px;padding:14px;box-shadow:0 15px 45px #0209153d}
body:not(.af-access-body) .v11-nav>a{border-radius:9px;color:#adc2da;min-height:38px}
body:not(.af-access-body) .v11-nav>a:hover,body:not(.af-access-body) .v11-nav>a.active{background:#203c65;color:#eff6ff}
body:not(.af-access-body) .v11-nav-caption{font-size:10px;letter-spacing:.14em;color:#8fa6c5}
body:not(.af-access-body) .v11-welcome h1{letter-spacing:-.05em}
body:not(.af-access-body) .v11-metric{padding:18px 16px;background:linear-gradient(160deg,#192943,#121f32)}
body:not(.af-access-body) .v11-metric:hover{border-color:#6386cf;transform:translateY(-2px)}
body:not(.af-access-body) .v11-metric strong{color:#f6f9ff}
body:not(.af-access-body) .v11-card-head{background:linear-gradient(110deg,#1b2b43,#142238);border-bottom:1px solid #2b405c}
body:not(.af-access-body) .v11-side-card{overflow:hidden}
body:not(.af-access-body) .v11-widget{overflow:hidden}
body:not(.af-access-body) .v11-repo-row:hover,body:not(.af-access-body) .v11-feed-row:hover{background:#22375066}
/* Repository navigation: important actions visible; everything else stays accessible. */
body:not(.af-access-body) .h12-repo-context{background:linear-gradient(135deg,#15263c,#101d2d);border:1px solid #2d415e;border-radius:17px;padding:20px 20px 0;margin:0 0 27px}
body:not(.af-access-body) .h12-repo-context .repo-title{padding-bottom:14px;font-size:19px}
body:not(.af-access-body) .h12-repo-tabs{gap:6px;display:flex;flex-wrap:wrap;align-items:center;border:none;overflow:visible}
body:not(.af-access-body) .h12-repo-tabs>a{border:0!important;border-radius:8px 8px 0 0;padding:11px 13px;white-space:nowrap;color:#abc1dc;font-size:12px;font-weight:700}
body:not(.af-access-body) .h12-repo-tabs>a:hover,body:not(.af-access-body) .h12-repo-tabs>a.active{background:#294467;color:#f3f8ff;text-decoration:none}
.h12-repo-more{position:relative;align-self:stretch;margin-left:auto;z-index:12}
.h12-repo-more>summary{list-style:none;padding:11px 13px;cursor:pointer;color:#b7cae3;font-size:12px;font-weight:750;white-space:nowrap}
.h12-repo-more>summary::-webkit-details-marker{display:none}
.h12-repo-more-list{position:absolute;right:0;top:calc(100% + 3px);display:grid;grid-template-columns:repeat(2,minmax(115px,1fr));min-width:310px;max-height:410px;overflow-y:auto;padding:10px;gap:3px;border-radius:13px;border:1px solid #456084;background:#17263e;box-shadow:0 20px 55px #030916d9}
.h12-repo-more:not([open]) .h12-repo-more-list{display:none}
.h12-repo-more-list a{padding:9px 12px;border-radius:8px;color:#cfdded;white-space:nowrap;font-size:12px}
.h12-repo-more-list a:hover{background:#2c4667;text-decoration:none}
/* Account creation: associated Discord identity is intentional and visible. */
.h12-discord-attached{display:flex;gap:13px;align-items:center;padding:15px;border:1px solid #5368b9;background:#1b2347;border-radius:14px;margin-bottom:22px}
.h12-discord-glyph{height:40px;width:40px;display:grid;place-items:center;flex-shrink:0;border-radius:13px;background:#5865f2;color:#fff;font-weight:800;font-size:25px}
.h12-discord-attached>div{flex:1;min-width:0}
.h12-discord-attached strong{display:block;color:#f0f2ff;font-size:13px}
.h12-discord-attached small{display:block;color:#b5c3e1;font-size:11px;line-height:1.5;margin-top:3px}
.h12-discord-attached form{margin:0}
.h12-text-button{border:0!important;background:transparent!important;color:#94baff!important;font-size:12px;font-weight:750;padding:7px 5px;cursor:pointer;width:auto!important;white-space:nowrap}
.h12-text-button:hover{text-decoration:underline}
.h12-center-note{text-align:center;margin-top:14px;font-size:12px;color:#a2b6d3}
/* Guided onboarding screen with real status, no synthetic progress. */
.h12-onboard-wrap{max-width:1100px;margin:20px auto 95px;padding:0 25px}
.h12-onboard-head{max-width:740px;margin:40px 0 30px}
.h12-eyebrow{display:block;font-size:11px;letter-spacing:.15em;font-weight:850;color:#9ebcff;text-transform:uppercase;margin-bottom:10px}
.h12-onboard-head h1{font-size:clamp(32px,4.7vw,57px);font-weight:800;line-height:1.05;letter-spacing:-.06em;margin:0 0 18px}
.h12-onboard-head h1 span{color:#78a9ff}
.h12-onboard-head p{color:#afc0d7;font-size:15px;max-width:680px;line-height:1.7}
.h12-onboard-progress{display:flex;align-items:center;gap:25px;justify-content:space-between;padding:20px 24px;border:1px solid #335078;background:linear-gradient(110deg,#1a2f50,#15253c);border-radius:15px;margin:28px 0}
.h12-onboard-progress strong{font-size:16px;display:block;color:#f3f7ff}
.h12-onboard-progress span{font-size:12px;color:#a9bdd8}
.h12-progress-bar{appearance:none;border:0;background:#2c3d5b;border-radius:999px;overflow:hidden;width:clamp(90px,30%,340px);height:9px;flex-shrink:0}
.h12-progress-bar::-webkit-progress-bar{background:#2c3d5b;border-radius:999px}.h12-progress-bar::-webkit-progress-value{background:linear-gradient(90deg,#4778f7,#9f9cff);border-radius:999px}.h12-progress-bar::-moz-progress-bar{background:linear-gradient(90deg,#4778f7,#9f9cff);border-radius:999px}
.h12-onboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.h12-onboard-step{display:flex;align-items:flex-start;gap:16px;padding:28px;border:1px solid #324560;background:linear-gradient(150deg,#182941,#111e30);border-radius:18px;min-height:204px}
.h12-onboard-step.is-done{border-color:#315d62;background:linear-gradient(145deg,#163633,#12282f)}
.h12-step-index{display:grid;place-items:center;flex:0 0 42px;height:42px;border:1px solid #486db6;background:#24416e;color:#d7eaff;border-radius:12px;font-weight:800}
.h12-onboard-step.is-done .h12-step-index{border-color:#397e6a;background:#205345;color:#b6f9dc}
.h12-onboard-step h2{font-size:20px;margin:0 0 9px;color:#f0f7ff}
.h12-onboard-step p{font-size:12px;line-height:1.7;color:#9eb4ce;margin-bottom:18px}
.h12-onboard-step .btn{font-size:12px;min-height:35px}
.h12-onboard-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;padding:23px 0}
.h12-dashboard-onboarding{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 0 20px;padding:20px 24px;border:1px solid #4266a2;background:linear-gradient(115deg,#1b3358,#1b2546);border-radius:16px}
.h12-dashboard-onboarding h2{font-size:19px;color:#fff;margin:0 0 4px}
.h12-dashboard-onboarding p{font-size:12px;color:#b2c6e4;margin:0 0 14px}
.h12-dashboard-onboarding .h12-progress-bar{width:min(320px,100%);height:7px}
.h12-dashboard-onboarding .btn{flex-shrink:0}
/* The site's existing light theme remains legible when selected. */
body.theme-light:not(.af-access-body){--bg:#f1f5fb;--surface:#fff;--surface2:#eff4fb;--border:#d5e1ee;--fg:#17253a;--muted:#536b88;--bright:#265dcc;background:#f1f5fb;color:#1a2c44}
body.theme-light:not(.af-access-body) .page-shell{color:#1a2c44}
body.theme-light:not(.af-access-body) .panel,body.theme-light:not(.af-access-body) .repo-card,body.theme-light:not(.af-access-body) .v11-card,body.theme-light:not(.af-access-body) .v11-metric,body.theme-light:not(.af-access-body) .v11-side-card,body.theme-light:not(.af-access-body) .v11-nav{background:#fff;border-color:#d9e2ef;color:#182d48}
body.theme-light:not(.af-access-body) .v11-card-head,body.theme-light:not(.af-access-body) .panel-head{background:#f2f6fc;border-color:#d9e3ef;color:#1d304b}
body.theme-light:not(.af-access-body) .v11-card h2,body.theme-light:not(.af-access-body) .v11-welcome h1,body.theme-light:not(.af-access-body) .v11-metric strong{color:#13253e}
body.theme-light:not(.af-access-body) .v11-nav>a{color:#365675}
body.theme-light:not(.af-access-body) input,body.theme-light:not(.af-access-body) textarea,body.theme-light:not(.af-access-body) select{background:#fff;border-color:#c1d3e4;color:#172b43}
body.theme-light:not(.af-access-body) .h12-onboard-step{background:#fff;border-color:#d3deed;color:#1b2d43}
body.theme-light:not(.af-access-body) .h12-onboard-step h2{color:#203653}
body.theme-light:not(.af-access-body) .h12-onboard-step p{color:#526c8a}
/* Layout responsive across all pages: search yields to focused navigation. */
@media(max-width:1200px){body:not(.af-access-body) .h12-nav{gap:1px}body:not(.af-access-body) .h12-nav>a,body:not(.af-access-body) .h12-nav>details>summary{padding:8px 9px}body:not(.af-access-body) .top-search{width:210px;min-width:150px}}
@media(max-width:980px){body:not(.af-access-body) .h12-nav{display:none!important}body:not(.af-access-body) .h12-mobile-menu{display:block}body:not(.af-access-body) .top-search{margin-left:auto;width:min(320px,37vw)}body:not(.af-access-body) .bar-inner{gap:14px}}
@media(max-width:700px){body:not(.af-access-body) .bar-inner{min-height:66px;padding:9px 14px}body:not(.af-access-body) .brand{font-size:19px}body:not(.af-access-body) .brand-logo{width:35px;height:35px}body:not(.af-access-body) .top-search{width:32vw;min-width:88px}body:not(.af-access-body) .top-search input{font-size:11px;padding-right:4px}body:not(.af-access-body) .header-actions{gap:4px}body:not(.af-access-body) .h12-repo-context{padding:12px 10px 0;border-radius:12px}body:not(.af-access-body) .h12-repo-tabs{flex-wrap:wrap;overflow:visible}body:not(.af-access-body) .h12-repo-tabs>a{font-size:11px;padding:10px 8px}body:not(.af-access-body) .h12-repo-more{position:static}body:not(.af-access-body) .h12-repo-more-list{position:absolute;right:20px;width:calc(100vw - 54px);max-width:330px;grid-template-columns:repeat(2,minmax(0,1fr))}.h12-onboard-wrap{padding:0 8px}.h12-onboard-grid{grid-template-columns:1fr}.h12-onboard-progress{padding:17px}.h12-onboard-step{min-height:0;padding:20px}.h12-dashboard-onboarding{align-items:start;flex-direction:column}.h12-onboard-head{margin:24px 0}}
@media(max-width:480px){body:not(.af-access-body) .top-search{display:none}body:not(.af-access-body) .header-actions{margin-left:auto}body:not(.af-access-body) .h12-mobile-menu{margin-left:0}body:not(.af-access-body) .v11-workspace{gap:12px}.h12-onboard-progress{flex-direction:column;align-items:start}.h12-onboard-progress .h12-progress-bar{width:100%}.h12-discord-attached{align-items:flex-start;flex-wrap:wrap}.h12-discord-attached>div{flex-basis:calc(100% - 60px)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
