/* Cyberplanetary overlay for native Forgejo 15: leave semantic status, diff and code colors intact. */
html[data-theme="forgejo-auto"],html[data-theme="forgejo-light"]{--color-primary:#243ed3;--color-primary-hover:#172ba4;--color-primary-active:#172ba4;--color-primary-contrast:#ffffff;--color-body:#f5f7fb;--color-text:#172b45;--color-text-dark:#172b45;--color-text-light:#455b75;--color-text-light-1:#455b75;--color-text-light-2:#4a607a;--color-text-light-3:#5b6d83;--color-box-header:#e6ecf9;--color-box-body:#edf2fa;--color-box-body-highlight:#dce3ff;--color-card:#edf2fa;--color-menu:#edf2fa;--color-footer:#f5f7fb;--color-nav-bg:#f5f7fb;--color-nav-hover-bg:#dce3ff;--color-header-wrapper:#edf2fa;--color-secondary:#bdcbe0;--color-secondary-bg:#e6ecf9;--color-secondary-hover:#d5ddeb;--color-secondary-active:#d5ddeb;--color-input-background:#ffffff;--color-input-text:#172b45;--color-input-border:#afbdd2;--color-input-border-hover:#405878;--color-button:#e6ecf9;--color-hover:#dce3ff;--color-active:#dce3ff;--color-light-border:#bdcbe0;--color-link:#243ed3;--color-link-hover:#172ba4;--color-focus:#d56c49;--fonts-regular:Arial,Helvetica,sans-serif;--color-primary-dark-1:var(--color-primary-hover);--color-primary-light-1:var(--color-primary);--color-primary-dark-2:var(--color-primary-hover);--color-primary-light-2:var(--color-primary);--color-primary-dark-3:var(--color-primary-hover);--color-primary-light-3:var(--color-primary);--color-primary-dark-4:var(--color-primary-hover);--color-primary-light-4:var(--color-primary);--color-primary-dark-5:var(--color-primary-hover);--color-primary-light-5:var(--color-primary);--color-primary-dark-6:var(--color-primary-hover);--color-primary-light-6:var(--color-primary);--color-primary-dark-7:var(--color-primary-hover);--color-primary-light-7:var(--color-primary);--color-primary-alpha-10:color-mix(in srgb,var(--color-primary) 10%,transparent);--color-primary-alpha-20:color-mix(in srgb,var(--color-primary) 20%,transparent);--color-primary-alpha-30:color-mix(in srgb,var(--color-primary) 30%,transparent);--color-primary-alpha-40:color-mix(in srgb,var(--color-primary) 40%,transparent);--color-primary-alpha-50:color-mix(in srgb,var(--color-primary) 50%,transparent);--color-primary-alpha-60:color-mix(in srgb,var(--color-primary) 60%,transparent);--color-primary-alpha-70:color-mix(in srgb,var(--color-primary) 70%,transparent);--color-primary-alpha-80:color-mix(in srgb,var(--color-primary) 80%,transparent);--color-primary-alpha-90:color-mix(in srgb,var(--color-primary) 90%,transparent);color-scheme:light}
html[data-theme="forgejo-dark"]{--color-primary:#a6b8ff;--color-primary-hover:#c5d0ff;--color-primary-active:#c5d0ff;--color-primary-contrast:#101c2d;--color-body:#101c2d;--color-text:#e6edf7;--color-text-dark:#e6edf7;--color-text-light:#c3d0e1;--color-text-light-1:#c3d0e1;--color-text-light-2:#b5c5df;--color-text-light-3:#b5c5df;--color-box-header:#213654;--color-box-body:#1b2d46;--color-box-body-highlight:#354977;--color-card:#1b2d46;--color-menu:#1b2d46;--color-footer:#101c2d;--color-nav-bg:#101c2d;--color-nav-hover-bg:#213654;--color-header-wrapper:#1b2d46;--color-secondary:#526a8b;--color-secondary-bg:#213654;--color-secondary-hover:#405571;--color-secondary-active:#405571;--color-input-background:#101c2d;--color-input-text:#e6edf7;--color-input-border:#526a8b;--color-input-border-hover:#b5c5df;--color-button:#213654;--color-hover:#354977;--color-active:#354977;--color-light-border:#526a8b;--color-link:#a6b8ff;--color-link-hover:#c5d0ff;--color-focus:#f3a483;--fonts-regular:Arial,Helvetica,sans-serif;--color-primary-dark-1:var(--color-primary-hover);--color-primary-light-1:var(--color-primary);--color-primary-dark-2:var(--color-primary-hover);--color-primary-light-2:var(--color-primary);--color-primary-dark-3:var(--color-primary-hover);--color-primary-light-3:var(--color-primary);--color-primary-dark-4:var(--color-primary-hover);--color-primary-light-4:var(--color-primary);--color-primary-dark-5:var(--color-primary-hover);--color-primary-light-5:var(--color-primary);--color-primary-dark-6:var(--color-primary-hover);--color-primary-light-6:var(--color-primary);--color-primary-dark-7:var(--color-primary-hover);--color-primary-light-7:var(--color-primary);--color-primary-alpha-10:color-mix(in srgb,var(--color-primary) 10%,transparent);--color-primary-alpha-20:color-mix(in srgb,var(--color-primary) 20%,transparent);--color-primary-alpha-30:color-mix(in srgb,var(--color-primary) 30%,transparent);--color-primary-alpha-40:color-mix(in srgb,var(--color-primary) 40%,transparent);--color-primary-alpha-50:color-mix(in srgb,var(--color-primary) 50%,transparent);--color-primary-alpha-60:color-mix(in srgb,var(--color-primary) 60%,transparent);--color-primary-alpha-70:color-mix(in srgb,var(--color-primary) 70%,transparent);--color-primary-alpha-80:color-mix(in srgb,var(--color-primary) 80%,transparent);--color-primary-alpha-90:color-mix(in srgb,var(--color-primary) 90%,transparent);color-scheme:dark}
@media(prefers-color-scheme:dark){html[data-theme="forgejo-auto"]{--color-primary:#a6b8ff;--color-primary-hover:#c5d0ff;--color-primary-active:#c5d0ff;--color-primary-contrast:#101c2d;--color-body:#101c2d;--color-text:#e6edf7;--color-text-dark:#e6edf7;--color-text-light:#c3d0e1;--color-text-light-1:#c3d0e1;--color-text-light-2:#b5c5df;--color-text-light-3:#b5c5df;--color-box-header:#213654;--color-box-body:#1b2d46;--color-box-body-highlight:#354977;--color-card:#1b2d46;--color-menu:#1b2d46;--color-footer:#101c2d;--color-nav-bg:#101c2d;--color-nav-hover-bg:#213654;--color-header-wrapper:#1b2d46;--color-secondary:#526a8b;--color-secondary-bg:#213654;--color-secondary-hover:#405571;--color-secondary-active:#405571;--color-input-background:#101c2d;--color-input-text:#e6edf7;--color-input-border:#526a8b;--color-input-border-hover:#b5c5df;--color-button:#213654;--color-hover:#354977;--color-active:#354977;--color-light-border:#526a8b;--color-link:#a6b8ff;--color-link-hover:#c5d0ff;--color-focus:#f3a483;--fonts-regular:Arial,Helvetica,sans-serif;--color-primary-dark-1:var(--color-primary-hover);--color-primary-light-1:var(--color-primary);--color-primary-dark-2:var(--color-primary-hover);--color-primary-light-2:var(--color-primary);--color-primary-dark-3:var(--color-primary-hover);--color-primary-light-3:var(--color-primary);--color-primary-dark-4:var(--color-primary-hover);--color-primary-light-4:var(--color-primary);--color-primary-dark-5:var(--color-primary-hover);--color-primary-light-5:var(--color-primary);--color-primary-dark-6:var(--color-primary-hover);--color-primary-light-6:var(--color-primary);--color-primary-dark-7:var(--color-primary-hover);--color-primary-light-7:var(--color-primary);--color-primary-alpha-10:color-mix(in srgb,var(--color-primary) 10%,transparent);--color-primary-alpha-20:color-mix(in srgb,var(--color-primary) 20%,transparent);--color-primary-alpha-30:color-mix(in srgb,var(--color-primary) 30%,transparent);--color-primary-alpha-40:color-mix(in srgb,var(--color-primary) 40%,transparent);--color-primary-alpha-50:color-mix(in srgb,var(--color-primary) 50%,transparent);--color-primary-alpha-60:color-mix(in srgb,var(--color-primary) 60%,transparent);--color-primary-alpha-70:color-mix(in srgb,var(--color-primary) 70%,transparent);--color-primary-alpha-80:color-mix(in srgb,var(--color-primary) 80%,transparent);--color-primary-alpha-90:color-mix(in srgb,var(--color-primary) 90%,transparent);color-scheme:dark}}

/* Shared product shell. Native Forgejo owns the workflows and semantic colors. */
html{font-size:16px;--fonts-regular:Arial,Helvetica,sans-serif;--border-radius:3px;--border-radius-medium:3px;--border-radius-large:3px}
body{font-family:Arial,Helvetica,sans-serif;background:var(--color-body);color:var(--color-text);font-size:15px;line-height:1.65}
a{color:var(--color-link);text-underline-offset:.24em}a:hover{color:var(--color-link-hover)}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}
::selection{background:var(--color-active);color:var(--color-text)}
.cp-header{border-bottom:1px solid var(--color-secondary);background:var(--color-body)}
.cp-wrap{max-width:1250px;margin:auto;padding-inline:clamp(1.3rem,5vw,4rem)}
.cp-navigation{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:90px;flex-wrap:wrap}
.cp-brand{display:flex;align-items:center;gap:.8rem;font-size:1rem;font-weight:bold;letter-spacing:-.02em;text-decoration:none;color:var(--color-text)}
.cp-brand svg{flex:none}
.cp-links{display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);font-size:.88rem;flex-wrap:wrap}
.cp-links a{color:var(--color-text);text-decoration:none}.cp-links a:hover,.cp-links a[aria-current=page]{color:var(--color-link)}
#navbar{border-bottom:1px solid var(--color-secondary);box-shadow:none;width:100%;max-width:none;margin:0!important;padding-inline:max(clamp(1.3rem,5vw,4rem),calc((100% - 1122px)/2));min-height:56px;background:var(--color-body);gap:1rem}
#navbar-logo img{display:none}#navbar-logo::after{content:"FORGE";font-size:.72rem;letter-spacing:.14em;font-weight:600;color:var(--color-text-light)}
#navbar .item{font-size:.88rem;border-radius:3px}
#navbar .navbar-right a[href^="/user/login"]{background:#243ed3;color:white;padding-inline:1.2rem}
#navbar .navbar-right a[href^="/user/login"]:hover{background:#172ba4}
.ui.header,h1,h2,h3,h4{font-family:Arial,Helvetica,sans-serif;font-weight:500;letter-spacing:-.035em;color:var(--color-text)}
h1{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.1}h2{line-height:1.15}
.ui.button{border-radius:3px;font-family:Arial,Helvetica,sans-serif;font-weight:400;line-height:1.4;padding:.8em 1.15em}
.ui.primary.button,.ui.green.button,.cp-button{background:#243ed3!important;color:#ffffff!important;border-color:#243ed3!important}
.ui.primary.button:hover,.ui.green.button:hover,.cp-button:hover{background:#172ba4!important;color:white!important}
.ui.basic.button{box-shadow:0 0 0 1px var(--color-secondary) inset!important;background:var(--color-body)!important;color:var(--color-text)!important}
.ui.basic.button:hover{background:var(--color-hover)!important}
.ui.segment,.ui.card,.ui.cards>.card{border-radius:3px;box-shadow:none;border-color:var(--color-secondary)}
.ui.attached.header{background:var(--color-box-header);border-color:var(--color-secondary);font-weight:500}
.ui.form input:not([type=checkbox]):not([type=radio]),.ui.input>input,.ui.form textarea,.ui.form select{font-family:Arial,Helvetica,sans-serif;border-radius:3px;padding:.85em 1em;line-height:1.4;border-color:var(--color-input-border)}
.ui.form .field>label{font-size:.9rem;font-weight:500;margin-bottom:.65rem;color:var(--color-text)}
.ui.form .field{margin-bottom:1.4rem}.ui.form input::placeholder,.ui.input input::placeholder{color:var(--color-text-light-3);opacity:1}
.ui.form .field input:focus,.ui.input input:focus{border-color:var(--color-link)!important}
.ui.secondary.pointing.menu .item{font-weight:400;padding:1rem 1.2rem;letter-spacing:-.01em}
.ui.secondary.pointing.menu .active.item{font-weight:500;border-color:var(--color-link);color:var(--color-link)}
.ui.tabular.menu .active.item{font-weight:500;border-color:var(--color-secondary);background:var(--color-box-body)}
/* Purpose-built forge landing page, with the initiative's grid and type scale. */
.cp-home{padding-block:0 5rem}.cp-home h1,.cp-home h2,.cp-home p{margin-top:0}
.cp-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:3.5rem;align-items:center;padding-block:5rem 4.6rem}
.cp-hero h1{font-size:clamp(3.25rem,6vw,6rem);font-weight:600;line-height:1.1;letter-spacing:-.045em;margin-bottom:1.7rem}
.cp-eyebrow{font-size:.73rem;font-weight:bold;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-light);margin-bottom:1.6rem;display:block}
.cp-lead{font-size:1.15rem;color:var(--color-text-light);max-width:43ch;line-height:1.65}
.cp-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-top:2rem}
.cp-button{display:inline-flex;align-items:center;justify-content:center;gap:1.2rem;padding:.9rem 1.3rem;font-size:.9rem;border-radius:3px;text-decoration:none}
.cp-text-link{font-size:.9rem;text-decoration:underline}
.cp-orbital{position:relative;background:#142a46;border-radius:3px;overflow:hidden;aspect-ratio:1/1.08}
.cp-orbital svg{width:100%;height:100%;display:block}
.cp-diagram-caption{position:absolute;bottom:1.1rem;left:1.3rem;right:1.3rem;display:flex;justify-content:space-between;gap:1rem;color:#bdcde0;font-family:monospace;font-size:.62rem;letter-spacing:.1em}
.cp-source-callout{border-block:1px solid var(--color-secondary);display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-block:2.5rem;margin-bottom:4rem}
.cp-source-callout .cp-eyebrow{margin-bottom:1rem}.cp-source-callout h2{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:.6rem}.cp-source-callout p{color:var(--color-text-light);margin-bottom:0}.cp-source-callout>a{flex:none}
.cp-workflow{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}.cp-workflow article{border-top:1px solid var(--color-secondary);padding-top:1.5rem}
.cp-workflow h2{font-size:1.5rem}.cp-workflow p{color:var(--color-text-light);font-size:.95rem}
/* Repository, discussion and account pages inherit a coherent editorial rhythm. */
.page-content:not(.cp-home)>.ui.container,.page-content>.secondary-nav>.ui.container,.page-content>.secondary-nav>overflow-menu{width:min(calc(100% - 2.6rem),1122px)!important;max-width:1122px!important;margin-inline:auto!important}
.page-content.repository .secondary-nav{padding-top:2rem;background:var(--color-body)}
.repo-header{padding-block:1rem 1.5rem;gap:2rem}.repo-header .flex-item-title{font-size:clamp(1.35rem,3vw,2rem);line-height:1.25;letter-spacing:-.035em}.repo-header .flex-item-title>a{color:var(--color-text)}
.repo-header .repo-buttons .button,.repo-header .repo-buttons .label{font-size:.8rem}
.repository .ui.tabs.divider{border-color:var(--color-secondary);margin-bottom:2rem}
.repository .content>.ui.segment.center{padding:3rem 2rem;font-size:1.05rem;text-align:left;border-left:3px solid var(--color-link)}
.ui.repository.list>.item,.repository-list>.item{padding-block:1.7rem!important;border-color:var(--color-secondary)}
.ui.repository.list .header,.repo-list-link{font-size:1.3rem;font-weight:500;letter-spacing:-.02em}
.explore .ui.container,.user.profile .ui.container{padding-block:2rem}
.page-content.user.signin{padding-block:4rem 5rem}
.page-content.user.signin>.ui.grid{max-width:680px;margin:0 auto;padding-inline:clamp(1.3rem,5vw,3rem)}
.page-content.user.signin>.ui.grid>.column{width:100%!important;padding:0!important}
.user.signin .ui.top.attached.header{font-size:clamp(2.2rem,4vw,3rem);line-height:1.15;text-align:left;background:transparent;border:0;padding:0 0 1.5rem;margin:0!important;letter-spacing:-.045em;font-weight:500}
.user.signin .ui.attached.segment{width:100%;margin:0;border-radius:3px;border-color:var(--color-secondary);padding:2rem;background:var(--color-box-body)}
.user.signin .ui.attached.segment.header{background:transparent;border:0;text-align:left;align-items:flex-start;padding:1rem 0;font-size:.9rem}
.user.signin form>.ui.button{min-height:46px}.user.signin .inline.field{margin-block:1rem 1.5rem}
.repository .issue-title{font-size:clamp(1.8rem,3vw,2.7rem);font-weight:500;letter-spacing:-.035em;line-height:1.2}
.repository .comment-body{line-height:1.65}.repository .comment-header{padding:.9rem 1rem}
.repository .ui.header,.repository .commit-header,.repository .commit-list{font-family:Arial,Helvetica,sans-serif}
.repository .file-header{padding:1rem}.repository .file-view,.repository .diff-file-box{border-color:var(--color-secondary);border-radius:3px}
.repository .issue.list>.item{padding-block:1.25rem}
.user.settings .ui.container,.organization.settings .ui.container{padding-block:2rem}
.page-footer{padding:2rem clamp(1.3rem,5vw,4rem);border-top:1px solid var(--color-secondary);font-size:.8rem;gap:1.5rem;line-height:1.6}
@media(max-width:850px){.cp-hero{grid-template-columns:1fr;gap:2.5rem;padding-block:3.5rem}.cp-hero h1{max-width:12ch}.cp-orbital{aspect-ratio:1.4/1;max-width:600px}.cp-source-callout{align-items:flex-start;flex-direction:column}.cp-workflow{gap:1.5rem}.repo-header{flex-wrap:wrap;gap:1rem}}
@media(max-width:560px){.cp-navigation{padding-block:1rem;gap:1rem;min-height:0}.cp-links{width:100%;justify-content:space-between;gap:1rem}#navbar{padding-inline:1.3rem;gap:0}#navbar .navbar-left{width:100%}#navbar .navbar-right a[href^="/user/login"]{margin-bottom:.5rem}.cp-hero{padding-top:2.7rem}.cp-hero h1{font-size:3.25rem}.cp-orbital{aspect-ratio:1/1}.cp-workflow{grid-template-columns:1fr;gap:2rem}.cp-home{padding-bottom:3.5rem}.cp-source-callout{margin-bottom:3rem}.cp-source-callout>a{flex:auto}.cp-diagram-caption{font-size:.54rem}.page-content.user.signin{padding-block:2.7rem 3.5rem}.user.signin .ui.attached.segment{padding:1.5rem}.page-content.repository .secondary-nav{padding-top:1rem}.repo-header .flex-item-title{overflow-wrap:anywhere}.page-footer{align-items:flex-start}.cp-brand{font-size:1rem}}

#navbar-logo{padding-left:0!important}

/* Keep native code tables scrollable inside the diff instead of widening the page. */
.repository .diff-file-box{min-width:0;max-width:100%;width:100%}
.repository .diff-file-body{max-width:100%;overflow-x:auto}
.repository .diff-file-box .diff-file-header{min-width:0;overflow-wrap:anywhere}
.repository .diff-file-header .diff-file-header-actions{flex-shrink:0}
@media(max-width:560px){.repository .diff-file-box .diff-file-header{gap:.8rem}.repository .sixteen.wide.column{min-width:0}.repository .diff-file-box .file-body{min-width:0}}
