.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    min-height: var(--header-height);
    background: rgba(5,13,25,.72);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(20px) saturate(135%);
}
.nav-wrap {
    width: min(1380px, calc(100% - 2rem));
    min-height: var(--header-height);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.header-left {
    display:flex;
    align-items:center;
    gap:.85rem;
    min-width:0;
    flex:1 1 auto;
}
.return-aend {
    display:inline-flex;
    align-items:center;
    gap:.48rem;
    flex:0 0 auto;
    white-space:nowrap;
    color:#7b8fa7;
    font-size:.73rem;
    font-weight:650;
    letter-spacing:.01em;
    padding:.42rem 0;
    opacity:.84;
    transition:color .2s var(--ease), opacity .2s var(--ease), transform .2s var(--ease);
}
.return-aend:hover { color:var(--text); opacity:1; transform:translateX(-1px); }
.return-aend-icon {
    width:1rem;
    height:1rem;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--accent);
    opacity:.95;
}
.return-aend-icon svg { width:100%; height:100%; display:block; }
.brand {
    display:flex;
    align-items:center;
    min-width:0;
    gap:.8rem;
    flex:0 1 auto;
}
.brand-logo { width: 104px; height: auto; flex:0 0 auto; }
.brand-divider { width: 1px; height: 34px; background: var(--line-strong); flex:0 0 auto; }
.brand-product { display: grid; gap: .06rem; min-width: 0; }
.brand-product strong { font-size: .98rem; letter-spacing: -.025em; line-height:1.05; }
.brand-product small { font-size: .65rem; white-space: nowrap; }
.site-nav {
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:.15rem;
    flex:0 0 auto;
    margin-left:auto;
}
.site-nav > a:not(.btn) {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    padding:.62rem .72rem;
    border-radius:999px;
    color:var(--muted);
    font-size:.84rem;
    font-weight:650;
    line-height:1;
    white-space:nowrap;
    transition:.2s var(--ease);
}
.site-nav > a:not(.btn):hover, .site-nav > a.active { color: var(--text); background: rgba(119,198,255,.08); }
.user-pill { border: 1px solid var(--line)!important; background: rgba(255,255,255,.025)!important; }
.user-dot { display:inline-block;width:.45rem;height:.45rem;border-radius:50%;background:var(--accent-2);box-shadow:0 0 14px rgba(113,255,209,.7);margin-right:.5rem; }
.nav-avatar { width:18px;height:18px;border-radius:50%;object-fit:cover;border:1px solid var(--line-strong);margin-right:.42rem; }
.nav-toggle { display:none; width:42px;height:42px;border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:12px;padding:10px;cursor:pointer; }
.nav-toggle span { display:block;height:2px;background:var(--text);margin:4px 0;border-radius:2px; }
.btn {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    padding: .72rem 1.15rem;
    border-radius: 999px;
    border: 1px solid transparent;
    font-weight: 750;
    cursor: pointer;
    transition: transform .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease);
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { color:#04111d; background: linear-gradient(115deg, var(--accent), var(--accent-2)); box-shadow: 0 10px 28px rgba(69,192,255,.16); }
.btn-primary:hover { box-shadow: 0 14px 34px rgba(69,192,255,.24); }
.btn-secondary { color:var(--text);border-color:var(--line-strong);background:rgba(255,255,255,.035); }
.btn-ghost { color:var(--muted);border-color:var(--line);background:transparent; }
.btn-nav { min-height: 40px; padding: .5rem .9rem; font-size: .83rem; margin-left: .2rem; }
.tech-card {
    background: linear-gradient(180deg, rgba(16,32,54,.78), rgba(8,20,36,.68));
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
    backdrop-filter: blur(12px);
}
.tech-card.hoverable { transition: transform .22s var(--ease), border-color .22s var(--ease), background .22s var(--ease), box-shadow .22s var(--ease); }
.tech-card.hoverable:hover { transform: translateY(-4px); border-color:var(--line-strong); background:linear-gradient(180deg,rgba(18,38,64,.9),rgba(8,22,39,.8)); box-shadow:var(--shadow); }
.card-body { padding: 1.35rem; }
.badge { display:inline-flex;align-items:center;gap:.35rem;padding:.28rem .58rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.7rem;font-weight:750;letter-spacing:.02em;background:rgba(255,255,255,.025); }
.badge-cyan { color:var(--accent); border-color:rgba(119,198,255,.26); background:rgba(119,198,255,.07); }
.badge-mint { color:var(--accent-2); border-color:rgba(113,255,209,.23); background:rgba(113,255,209,.055); }
.badge-warning { color:var(--warning); border-color:rgba(255,212,119,.25); background:rgba(255,212,119,.06); }
.meta-row { display:flex;flex-wrap:wrap;gap:.55rem 1rem;color:var(--muted);font-size:.78rem; }
.meta-row span { display:inline-flex;align-items:center;gap:.35rem; }
.search-shell {
    display:flex;
    align-items:center;
    gap:.65rem;
    padding:.55rem;
    border:1px solid var(--line-strong);
    border-radius:999px;
    background:rgba(7,18,32,.72);
    backdrop-filter:blur(18px);
    box-shadow:0 18px 60px rgba(0,0,0,.28), 0 0 0 8px rgba(119,198,255,.025);
}
.search-shell input { flex:1;min-width:0;border:0;background:transparent;color:var(--text);outline:none;padding:.65rem .8rem;font-size:1rem; }
.search-shell input::placeholder { color:#7691aa; }
.form-card { max-width:760px;margin-inline:auto;padding:1.55rem; }
.form-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem; }
.form-group { display:grid;gap:.45rem; }
.form-group.full { grid-column:1/-1; }
.form-group label { color:#cfdef0;font-size:.82rem;font-weight:700; }
.input, .select, .textarea {
    width:100%;border:1px solid var(--line);border-radius:14px;background:rgba(5,14,26,.7);color:var(--text);padding:.8rem .9rem;outline:none;transition:border-color .2s, box-shadow .2s;
}
.input:focus, .select:focus, .textarea:focus { border-color:rgba(119,198,255,.62);box-shadow:0 0 0 4px rgba(119,198,255,.08); }
.textarea { min-height:150px;resize:vertical; }
.form-hint { color:var(--muted);font-size:.74rem; }
.upload-zone { border:1px dashed rgba(119,198,255,.38);border-radius:18px;padding:2rem;text-align:center;background:rgba(119,198,255,.025);transition:.2s var(--ease); }
.upload-zone.dragover { border-color:var(--accent-2);background:rgba(113,255,209,.045);transform:scale(1.005); }
.upload-zone input[type=file] { max-width:100%; }
.toast-stack { position:fixed;top:calc(var(--header-height) + 1rem);right:1rem;z-index:100;display:grid;gap:.6rem;width:min(370px,calc(100% - 2rem)); }
.toast { padding:.9rem 1rem;border:1px solid var(--line);border-radius:14px;background:rgba(9,22,38,.94);box-shadow:var(--shadow);backdrop-filter:blur(14px);font-size:.84rem; }
.toast-success { border-color:rgba(113,255,209,.28); }
.toast-warning { border-color:rgba(255,212,119,.32); }
.toast-error { border-color:rgba(255,125,150,.32); }
.empty-state { padding:2.2rem;text-align:center;color:var(--muted); }
.code-hash { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size:.72rem;color:#b8cae0;word-break:break-all; }
.site-footer { position:relative;z-index:1;border-top:1px solid var(--line);background:rgba(5,13,25,.65);margin-top:4rem; }
.footer-wrap { padding:2rem 0 2.4rem;display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center; }
.footer-brand { display:flex;align-items:center;gap:1rem; }
.footer-logo { width:95px;opacity:.92; }
.footer-brand p { margin:0;color:var(--muted);font-size:.78rem; }
.footer-links { display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.85rem;font-size:.8rem;color:var(--muted); }
.footer-links a:hover { color:var(--text); }
.footer-meta { grid-column:1/-1;padding-top:1rem;border-top:1px solid rgba(140,190,255,.08);font-size:.72rem;color:#6f879f; }
@media (max-width: 1240px) {
    .nav-wrap { width:min(1280px, calc(100% - 2rem)); }
    .brand-product small { display:none; }
}
@media (max-width: 1100px) {
    .brand-divider { display:none; }
    .site-nav > a:not(.btn) { padding:.58rem .62rem; font-size:.82rem; }
}
@media (max-width: 980px) {
    .header-left { gap:.7rem; }
    .return-aend { font-size:.68rem; }
    .brand-product { display:none; }
    .brand-logo { width:96px; }
}
@media (max-width: 920px) {
    .nav-wrap { width:min(var(--container), calc(100% - 2rem)); position:relative; }
    .nav-toggle { display:block; }
    .site-nav {
        display:none;
        position:absolute;
        top:calc(100% + .6rem);
        left:1rem;
        right:1rem;
        flex-direction:column;
        align-items:stretch;
        padding:.7rem;
        border:1px solid var(--line);
        border-radius:18px;
        background:rgba(5,13,25,.96);
        box-shadow:var(--shadow);
        backdrop-filter:blur(18px);
    }
    .site-nav.open { display:flex; }
    .site-nav a { text-align:center; }
    .site-nav > a:not(.btn) { min-height:44px; }
    .btn-nav { margin-left:0; }
}
@media (max-width: 680px) {
    .header-left { gap:.6rem; }
    .return-aend { font-size:.64rem; }
    .return-aend span:last-child { display:none; }
    .brand-divider,.brand-product { display:none; }
    .brand-logo { width:96px; }
    .form-grid { grid-template-columns:1fr; }
    .form-group.full { grid-column:auto; }
    .footer-wrap { grid-template-columns:1fr; }
    .footer-links { justify-content:flex-start; }
}
.sidebar-button{width:100%;display:flex;align-items:center;padding:.75rem .8rem;border:0;border-radius:12px;background:transparent;color:var(--muted);font-size:.86rem;font-weight:650;cursor:pointer;text-align:left}.sidebar-button:hover{color:var(--text);background:rgba(255,125,150,.06)}
.detail-list{display:grid;gap:.8rem}.detail-list>div{display:grid;grid-template-columns:120px 1fr;gap:1rem;padding-bottom:.7rem;border-bottom:1px solid rgba(140,190,255,.08)}.detail-list span{color:var(--muted);font-size:.76rem}.detail-list strong{font-size:.84rem;font-weight:650}.version-list{display:grid;gap:.75rem}.version-row{padding:1rem 1.15rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.version-row p{margin:.2rem 0 0;color:var(--muted);font-size:.8rem}.version-actions{display:flex;align-items:center;gap:1rem}@media(max-width:620px){.version-row,.version-actions{align-items:flex-start;flex-direction:column}.detail-list>div{grid-template-columns:1fr}}
.form-error{padding:.72rem .85rem;border:1px solid rgba(255,125,150,.3);background:rgba(255,125,150,.06);border-radius:12px;color:#ffd3dc;font-size:.8rem;margin-bottom:.75rem}
.badge-private { color:#d6c7ff;border-color:rgba(196,170,255,.26);background:rgba(196,170,255,.07); }
.visibility-panel { display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:2rem;align-items:end;padding:1.35rem 1.45rem; }
.visibility-panel h2 { margin:.25rem 0 .5rem; }
.visibility-panel p { max-width:60ch;margin:0; }
.visibility-form { display:flex;align-items:end;gap:.8rem; }
.visibility-form .form-group { flex:1; }
@media (max-width:760px) {
    .visibility-panel { grid-template-columns:1fr;gap:1.2rem; }
    .visibility-form { align-items:stretch;flex-direction:column; }
}

/* Resource management controls */
.card-actions { display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;justify-content:flex-end; }
.immutable-file { padding:.8rem;display:grid;gap:.35rem; }
.owner-control-panel { padding:1.35rem 1.45rem;display:grid;gap:1.25rem; }
.owner-control-head { display:flex;align-items:flex-end;justify-content:space-between;gap:1.2rem; }
.owner-control-head h2 { margin:.25rem 0 .45rem; }
.owner-control-head p { margin:0;max-width:70ch; }
.owner-control-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem; }
.owner-control-card { display:grid;align-content:start;gap:1rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:rgba(4,13,25,.28); }
.owner-control-card h3 { margin:0 0 .3rem;font-size:1rem; }
.owner-control-card p { margin:0;font-size:.82rem;line-height:1.55; }
.danger-zone { border-color:rgba(255,111,128,.22);background:linear-gradient(180deg,rgba(95,23,38,.13),rgba(8,15,27,.3)); }
.btn-danger { color:#ffe8ec;border:1px solid rgba(255,111,128,.35);background:linear-gradient(135deg,rgba(255,111,128,.22),rgba(255,111,128,.09));box-shadow:0 10px 28px rgba(82,18,31,.2); }
.btn-danger:hover { border-color:rgba(255,111,128,.6);background:linear-gradient(135deg,rgba(255,111,128,.31),rgba(255,111,128,.12)); }
@media(max-width:760px){
    .owner-control-head { align-items:flex-start;flex-direction:column; }
    .owner-control-grid { grid-template-columns:1fr; }
    .card-actions { justify-content:flex-start; }
}

/* Documentation cards are shared by Home, Dashboard, Profile and Documentation. */
.wiki-card{min-height:245px}.wiki-card .card-body{display:flex;flex-direction:column;gap:.85rem;height:100%}.wiki-card h3{margin:0}.wiki-card .description{color:var(--muted);font-size:.88rem;line-height:1.65;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.wiki-card .resource-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:end;gap:1rem;border-top:1px solid rgba(140,190,255,.08);padding-top:.8rem}.wiki-read-link{color:var(--accent);font-size:.82rem;font-weight:750;white-space:nowrap}

/* v0.3.1-alpha — grouped primary navigation */
.site-nav {
    position: relative;
    gap: .2rem;
}
.nav-menu {
    position: relative;
    flex: 0 0 auto;
}
.nav-menu-trigger {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .62rem .74rem;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: var(--muted);
    font-size: .84rem;
    font-weight: 650;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: color .2s var(--ease), background .2s var(--ease), border-color .2s var(--ease);
}
.nav-menu-trigger:hover,
.nav-menu.open > .nav-menu-trigger,
.nav-menu.active > .nav-menu-trigger {
    color: var(--text);
    background: rgba(119,198,255,.08);
}
.nav-chevron {
    width: .43rem;
    height: .43rem;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
    opacity: .72;
    transition: transform .2s var(--ease), opacity .2s var(--ease);
}
.nav-menu.open > .nav-menu-trigger .nav-chevron {
    transform: rotate(225deg) translate(-1px,-1px);
    opacity: 1;
}
.nav-dropdown {
    position: absolute;
    top: calc(100% + .65rem);
    left: 50%;
    z-index: 60;
    width: 320px;
    padding: .55rem;
    display: grid;
    gap: .18rem;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(5,13,25,.98);
    box-shadow: var(--shadow);
    backdrop-filter: blur(20px) saturate(135%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translate(-50%, -6px);
    transition: opacity .18s var(--ease), transform .18s var(--ease), visibility .18s;
}
.nav-menu.open > .nav-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translate(-50%, 0);
}
.nav-dropdown-compact { width: 285px; }
.nav-dropdown-wide { width: 390px; }
.nav-account .nav-dropdown { left: auto; right: 0; transform: translateY(-6px); }
.nav-account.open > .nav-dropdown { transform: translateY(0); }
.nav-dropdown > a {
    display: grid;
    gap: .18rem;
    padding: .72rem .78rem;
    border-radius: 12px;
    color: var(--muted);
    transition: background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease);
}
.nav-dropdown > a:hover,
.nav-dropdown > a:focus-visible {
    color: var(--text);
    background: rgba(119,198,255,.075);
    outline: none;
}
.nav-dropdown > a strong {
    color: inherit;
    font-size: .79rem;
    line-height: 1.25;
    font-weight: 720;
}
.nav-dropdown > a small {
    color: #8299b0;
    font-size: .66rem;
    line-height: 1.45;
}
.nav-dropdown-wide > a {
    grid-template-columns: 34px minmax(0,1fr);
    align-items: center;
    gap: .7rem;
}
.nav-dropdown-wide > a > span:last-child { display: grid; gap: .15rem; }
.nav-item-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(119,198,255,.22);
    border-radius: 10px;
    background: rgba(119,198,255,.055);
    color: var(--accent);
    font-size: .72rem;
    font-weight: 800;
}
.user-menu-trigger {
    border: 1px solid var(--line);
    background: rgba(255,255,255,.025);
    padding-left: .58rem;
}
.nav-user-name {
    max-width: 124px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.nav-avatar {
    width: 22px;
    height: 22px;
    margin-right: 0;
}
.user-menu-trigger .user-dot { margin-right: 0; }
.nav-dropdown-account { width: 310px; }
.nav-account-summary {
    display: grid;
    grid-template-columns: 42px minmax(0,1fr);
    align-items: center;
    gap: .7rem;
    padding: .55rem .65rem .65rem;
}
.nav-account-summary img,
.nav-account-placeholder {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    object-fit: cover;
    border: 1px solid var(--line-strong);
    background: rgba(119,198,255,.07);
}
.nav-account-placeholder {
    display: grid;
    place-items: center;
    color: var(--accent);
    font-weight: 800;
}
.nav-account-summary > span:last-child { display: grid; min-width: 0; }
.nav-account-summary strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: .8rem;
}
.nav-account-summary small { font-size: .67rem; }
.nav-dropdown-divider {
    height: 1px;
    background: rgba(140,190,255,.1);
    margin: .3rem .35rem;
}
.nav-admin-link strong { color: var(--accent-2); }
.nav-logout-form { margin: 0; padding: .12rem; }
.nav-logout-form button {
    width: 100%;
    min-height: 40px;
    border: 0;
    border-radius: 11px;
    background: transparent;
    color: #b8c9dc;
    font-size: .78rem;
    font-weight: 700;
    text-align: left;
    padding: .65rem .68rem;
    cursor: pointer;
}
.nav-logout-form button:hover { color: #fff; background: rgba(255,125,150,.07); }

@media (max-width: 1160px) {
    .nav-menu-trigger { padding-inline: .62rem; font-size: .81rem; }
    .nav-user-name { max-width: 96px; }
}
@media (max-width: 1040px) {
    .brand-product { display: none; }
    .brand-divider { display: none; }
}
@media (max-width: 920px) {
    .site-nav {
        gap: .2rem;
        max-height: min(76vh, 680px);
        overflow-y: auto;
    }
    .nav-menu { width: 100%; }
    .nav-menu-trigger {
        width: 100%;
        min-height: 46px;
        justify-content: space-between;
        padding: .75rem .82rem;
        border-radius: 12px;
        font-size: .86rem;
    }
    .user-menu-trigger { justify-content: flex-start; }
    .user-menu-trigger .nav-chevron { margin-left: auto; }
    .nav-user-name { max-width: none; }
    .nav-dropdown,
    .nav-dropdown-compact,
    .nav-dropdown-wide,
    .nav-account .nav-dropdown {
        position: static;
        width: auto;
        margin: .12rem .25rem .45rem;
        padding: .25rem;
        border: 0;
        border-left: 1px solid rgba(140,190,255,.12);
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: none;
        display: none;
    }
    .nav-menu.open > .nav-dropdown,
    .nav-account.open > .nav-dropdown { display: grid; transform: none; }
    .nav-dropdown > a { padding: .66rem .75rem; text-align: left; }
    .nav-dropdown-wide > a { grid-template-columns: 32px minmax(0,1fr); }
    .nav-account-summary { display: none; }
    .nav-dropdown-divider { margin: .22rem .5rem; }
    .nav-logout-form button { text-align: left; }
}
@media (max-width: 680px) {
    .return-aend span:last-child { display: none; }
}
