:root {
    --git-app-bar-height: 58px;
    --git-app-titlebar-height: 0px;
    --git-app-effective-bar-height: calc(var(--git-app-bar-height) + var(--git-app-titlebar-height));
    --git-app-sidebar-width: 252px;
    --git-app-sidebar-collapsed-width: 76px;
    --git-app-surface: color-mix(in srgb, var(--bg-color) 94%, var(--main-color) 6%);
    --git-app-border: color-mix(in srgb, var(--text-color) 14%, transparent);
}

* { box-sizing: border-box; }

body.git-app {
    min-width: 320px;
    min-height: 100vh;
    margin: 0;
    background: var(--bg-color);
    color: var(--text-color);
    font-family: Inter, "Segoe UI", "Microsoft YaHei", sans-serif;
    scrollbar-color: color-mix(in srgb, var(--main-color) 50%, transparent) transparent;
}

.git-app a { color: var(--link-color); }

/* Keep anchor-based primary actions readable inside the Git shell. */
.git-app a.btn-primary {
    color: var(--on-main-color);
    -webkit-text-fill-color: var(--on-main-color);
}
.git-app .dropdown-menu {
    border-color: var(--git-app-border);
    background: var(--bg-color);
    color: var(--text-color);
}
.git-app .dropdown-item { color: var(--text-color); }
.git-app .dropdown-item:hover,
.git-app .dropdown-item:focus {
    background: color-mix(in srgb, var(--main-color) 12%, var(--bg-color));
    color: var(--text-color);
}

.git-app-bar {
    position: sticky;
    z-index: 1040;
    top: 0;
    min-height: var(--git-app-bar-height);
    border-bottom: 1px solid var(--git-app-border);
    background: var(--bg-color);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
}

.git-app-bar__drag { display: none; }
.git-app-bar__inner {
    display: grid;
    grid-template-columns: auto minmax(220px, 680px) auto;
    align-items: center;
    gap: 1rem;
    width: 100%;
    min-height: var(--git-app-bar-height);
    margin: 0;
    padding: .55rem clamp(.8rem, 2vw, 2rem);
}

.git-app-brand {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    color: var(--text-color) !important;
    font-size: 1.08rem;
    font-weight: 650;
    text-decoration: none !important;
    white-space: nowrap;
}
.git-app-brand img { width: 34px; height: 34px; border-radius: 9px; }
.git-app-brand strong { color: var(--main-color); }

.git-app-primary { display: flex; align-items: center; gap: .15rem; }
.git-app-primary > a,
.git-app-primary > .dropdown > button {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    min-height: 38px;
    padding: .45rem .72rem;
    border: 0;
    border-radius: .55rem;
    background: transparent;
    color: var(--text-secondary-color);
    font: inherit;
    font-weight: 550;
    text-decoration: none;
}
.git-app-primary > a:hover,
.git-app-primary > a.active,
.git-app-primary > .dropdown > button:hover {
    background: color-mix(in srgb, var(--main-color) 11%, transparent);
    color: var(--text-color);
}

.git-app-search {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    justify-self: center;
}
.git-app-search > i { position: absolute; left: .8rem; color: var(--text-secondary-color); }
.git-app-search input {
    width: 100%;
    min-height: 39px;
    padding: .45rem 2.6rem .45rem 2.35rem;
    border: 1px solid var(--git-app-border);
    border-radius: .7rem;
    outline: 0;
    background: color-mix(in srgb, var(--bg-color) 84%, var(--text-color) 3%);
    color: var(--text-color);
}
.git-app-search input:focus {
    border-color: var(--main-color);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--main-color) 18%, transparent);
}
.git-app-search kbd {
    position: absolute;
    right: .65rem;
    padding: .08rem .38rem;
    border: 1px solid var(--git-app-border);
    border-radius: .3rem;
    background: transparent;
    color: var(--text-secondary-color);
    font: inherit;
}

.git-search-hints {
    position: absolute;
    z-index: 1080;
    top: calc(100% + .55rem);
    left: 50%;
    display: grid;
    width: min(680px, calc(100vw - 2rem));
    max-height: min(660px, calc(100vh - var(--git-app-effective-bar-height) - 1.5rem));
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid color-mix(in srgb, var(--main-color) 26%, var(--git-app-border));
    border-radius: .9rem;
    background: color-mix(in srgb, var(--bg-color) 97%, var(--main-color) 3%);
    color: var(--text-color);
    box-shadow: 0 1.2rem 3rem color-mix(in srgb, #000 24%, transparent);
    transform: translateX(-50%);
}

.git-search-hints[hidden] { display: none; }

.git-search-hints__header {
    position: sticky;
    z-index: 1;
    top: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: .85rem .9rem .75rem;
    border-bottom: 1px solid var(--git-app-border);
    background: color-mix(in srgb, var(--bg-color) 96%, var(--main-color) 4%);
}

.git-search-hints__header > div,
.git-search-hint__copy { display: grid; min-width: 0; }
.git-search-hints__header strong { display: flex; align-items: center; gap: .42rem; font-size: .88rem; }
.git-search-hints__header strong i { color: var(--main-color); }
.git-search-hints__header span { margin-top: .12rem; color: var(--text-secondary-color); font-size: .7rem; }
.git-search-hints__header > button {
    display: grid;
    width: 1.85rem;
    height: 1.85rem;
    flex: 0 0 auto;
    place-items: center;
    border: 0;
    border-radius: .45rem;
    background: transparent;
    color: var(--text-secondary-color);
    cursor: pointer;
}
.git-search-hints__header > button:hover,
.git-search-hints__header > button:focus-visible {
    outline: 0;
    background: color-mix(in srgb, var(--main-color) 11%, transparent);
    color: var(--main-color);
}

.git-search-hints__section { display: grid; gap: .42rem; padding: .68rem .75rem 0; }
.git-search-hints__label {
    color: var(--text-secondary-color);
    font-size: .64rem;
    font-weight: 750;
    letter-spacing: .08em;
}
.git-search-hints__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .38rem; }
.git-search-hints__grid > button {
    display: grid;
    min-width: 0;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: .55rem;
    padding: .58rem .62rem;
    border: 1px solid transparent;
    border-radius: .65rem;
    background: color-mix(in srgb, var(--text-color) 3%, transparent);
    color: var(--text-color);
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.git-search-hints__grid > button:hover,
.git-search-hints__grid > button:focus-visible {
    border-color: color-mix(in srgb, var(--main-color) 34%, var(--git-app-border));
    outline: 0;
    background: color-mix(in srgb, var(--main-color) 9%, var(--bg-color));
}
.git-search-hint__icon {
    display: grid;
    width: 2rem;
    height: 2rem;
    grid-row: 1 / span 2;
    place-items: center;
    border-radius: .55rem;
    background: color-mix(in srgb, var(--main-color) 12%, var(--bg-color));
    color: var(--main-color);
    font-size: .88rem;
}
.git-search-hint__copy strong { overflow: hidden; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.git-search-hint__copy small { margin-top: .06rem; overflow: hidden; color: var(--text-secondary-color); font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.git-search-hints__grid > button > code {
    grid-column: 2;
    overflow: hidden;
    color: var(--main-color);
    font-size: .62rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.git-search-hints__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .4rem;
    margin-top: .68rem;
    padding: .62rem .85rem;
    border-top: 1px solid var(--git-app-border);
    color: var(--text-secondary-color);
    font-size: .66rem;
}
.git-search-hints__footer > span { display: inline-flex; align-items: center; gap: .4rem; }
.git-search-hints__footer > a {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: .3rem;
    color: var(--main-color);
    font-weight: 650;
    text-decoration: none;
}
.git-search-hints__footer > a:hover,
.git-search-hints__footer > a:focus-visible { text-decoration: underline; }
.git-search-hints__footer i,
.git-search-hints__footer code { color: var(--main-color); }

.git-app-actions { display: flex; align-items: center; justify-content: flex-end; gap: .45rem; }
.git-app-icon-button {
    display: inline-grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid var(--git-app-border);
    border-radius: .6rem;
    background: transparent;
    color: var(--text-color);
}
.git-app-icon-button:hover { background: color-mix(in srgb, var(--main-color) 12%, transparent); }
.git-app-icon-button:focus-visible {
    outline: 0;
    border-color: color-mix(in srgb, var(--main-color) 64%, var(--git-app-border));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--main-color) 20%, transparent);
}
.git-theme-toggle {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(145deg,
        color-mix(in srgb, var(--main-color) 13%, var(--bg-color)),
        color-mix(in srgb, var(--main-color) 4%, var(--bg-color)));
}
.git-theme-toggle::before {
    position: absolute;
    z-index: -1;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: color-mix(in srgb, var(--main-color) 18%, transparent);
    content: "";
    filter: blur(7px);
    opacity: .65;
    transform: translate(9px, 9px);
    transition: transform .25s ease;
}
.git-theme-toggle > i {
    position: absolute;
    color: var(--main-color);
    font-size: 1rem;
    transition: opacity .2s ease, transform .25s ease;
}
.git-theme-toggle__moon { opacity: 1; transform: rotate(0) scale(1); }
.git-theme-toggle__sun { opacity: 0; transform: rotate(-80deg) scale(.45); }
html.dark .git-theme-toggle::before { transform: translate(-9px, -9px); }
html.dark .git-theme-toggle__moon { opacity: 0; transform: rotate(80deg) scale(.45); }
html.dark .git-theme-toggle__sun { opacity: 1; transform: rotate(0) scale(1); }
.git-app-mobile-toggle { display: none; }
.git-app-signin {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 38px;
    padding: .38rem .72rem;
    border: 1px solid var(--git-app-border);
    border-radius: .65rem;
    background: color-mix(in srgb, var(--bg-color) 88%, var(--text-color) 3%);
    color: var(--text-color) !important;
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
}
.git-app-signin:hover,
.git-app-signin:focus-visible {
    border-color: color-mix(in srgb, var(--main-color) 60%, var(--git-app-border));
    background: color-mix(in srgb, var(--main-color) 12%, var(--bg-color));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--main-color) 14%, transparent);
}
.git-app-signin i { color: var(--main-color); font-size: 1rem; }
.git-app-user {
    display: flex;
    align-items: center;
    gap: .45rem;
    min-height: 38px;
    padding: .2rem .55rem .2rem .25rem;
    border: 1px solid var(--git-app-border);
    border-radius: .7rem;
    background: transparent;
    color: var(--text-color);
}
.git-app-user img,
.git-app-user > span:first-child {
    display: grid;
    width: 29px;
    height: 29px;
    place-items: center;
    border-radius: .5rem;
    object-fit: cover;
    border: 1px solid color-mix(in srgb, var(--text-color) 28%, transparent);
    background: transparent;
    color: var(--text-color);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--bg-color) 78%, transparent);
}
.git-app-user img { padding: 1px; }
.git-app-user-menu i,
.git-app-mobile-nav i { width: 1.2rem; margin-right: .45rem; text-align: center; }

.git-app-shell {
    display: grid;
    grid-template-columns: var(--git-app-sidebar-width) minmax(0, 1fr);
    align-items: start;
    min-height: calc(100vh - var(--git-app-effective-bar-height));
    transition: grid-template-columns .18s ease;
}
.git-app-workspace {
    grid-column: 2;
    display: flex;
    min-width: 0;
    min-height: calc(100vh - var(--git-app-effective-bar-height));
    flex-direction: column;
}
.git-app-sidebar {
    position: fixed;
    z-index: 1030;
    top: var(--git-app-effective-bar-height);
    bottom: 0;
    left: 0;
    display: flex;
    width: var(--git-app-sidebar-width);
    height: auto;
    min-width: 0;
    flex-direction: column;
    border-right: 1px solid var(--git-app-border);
    background: color-mix(in srgb, var(--bg-color) 96%, var(--main-color) 4%);
    transition: width .18s ease;
}
.git-app-sidebar__edge-toggle {
    position: absolute;
    z-index: 30;
    top: 50%;
    right: -14px;
    display: grid;
    width: 28px;
    height: 38px;
    place-items: center;
    padding: 0;
    border: 1px solid var(--git-app-border);
    border-radius: 999px;
    background: color-mix(in srgb, var(--bg-color) 94%, var(--main-color) 6%);
    color: var(--text-secondary-color);
    box-shadow: 0 8px 22px rgba(0, 0, 0, .2);
    transform: translateY(-50%);
    transition: color .16s ease, background-color .16s ease, transform .16s ease;
}
.git-app-sidebar__edge-toggle:hover,
.git-app-sidebar__edge-toggle:focus-visible {
    border-color: color-mix(in srgb, var(--main-color) 48%, var(--git-app-border));
    background: color-mix(in srgb, var(--main-color) 15%, var(--bg-color));
    color: var(--text-color);
    outline: 0;
    transform: translateY(-50%) scale(1.04);
}
.git-app-sidebar__scroll {
    display: flex;
    min-height: 0;
    flex: 1;
    padding: 1rem .75rem;
    overflow: visible;
}
.git-app-sidebar__nav {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex: 1;
    flex-direction: column;
    gap: .5rem;
}
.git-app-sidebar__section {
    display: grid;
    gap: .18rem;
    padding: .35rem 0 .7rem;
    border-bottom: 1px solid color-mix(in srgb, var(--git-app-border) 65%, transparent);
}
.git-app-sidebar__section:last-child { border-bottom: 0; }
.git-app-sidebar__eyebrow {
    padding: .2rem .65rem .38rem;
    color: var(--text-secondary-color);
    font-size: .69rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}
.git-app-sidebar__item,
.git-app-sidebar__repo-nav a,
.git-app-sidebar__links a,
.git-app-sidebar__footer button {
    display: flex;
    align-items: center;
    gap: .7rem;
    min-width: 0;
    min-height: 40px;
    padding: .52rem .65rem;
    border: 1px solid transparent;
    border-radius: .62rem;
    background: transparent;
    color: var(--text-secondary-color) !important;
    font-size: .88rem;
    font-weight: 560;
    line-height: 1.15;
    text-decoration: none !important;
}
.git-app-sidebar__item i,
.git-app-sidebar__repo-nav a > i,
.git-app-sidebar__links i,
.git-app-sidebar__footer button > i {
    display: grid;
    width: 1.15rem;
    flex: 0 0 1.15rem;
    place-items: center;
    color: color-mix(in srgb, var(--main-color) 78%, var(--text-color));
    font-size: 1rem;
}
.git-app-sidebar__item > span,
.git-app-sidebar__repo-nav a,
.git-app-sidebar__links span,
.git-app-sidebar__footer button > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.git-app-sidebar__item:hover,
.git-app-sidebar__repo-nav a:hover,
.git-app-sidebar__links a:hover,
.git-app-sidebar__footer button:hover {
    background: color-mix(in srgb, var(--text-color) 6%, transparent);
    color: var(--text-color) !important;
}
.git-app-sidebar__item.active,
.git-app-sidebar__repo-nav a.active {
    border-color: color-mix(in srgb, var(--main-color) 30%, transparent);
    background: color-mix(in srgb, var(--main-color) 13%, transparent);
    color: var(--text-color) !important;
    box-shadow: inset 3px 0 0 var(--main-color);
}
.git-app-sidebar__repository {
    margin: 0 .3rem .3rem;
    padding: .55rem .6rem;
    overflow: hidden;
    border: 1px solid var(--git-app-border);
    border-radius: .62rem;
    background: color-mix(in srgb, var(--text-color) 4%, transparent);
    color: var(--text-color);
    font-size: .8rem;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.git-app-sidebar__repo-nav { display: grid; gap: .18rem; }
.git-app-sidebar__repo-nav .git-count {
    margin-left: auto;
    padding: .1rem .38rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--text-color) 8%, transparent);
    font-size: .67rem;
}
.git-workspace-switcher {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex: 1;
    flex-direction: column;
    gap: .5rem;
}
.git-workspace-switcher > .dropdown {
    z-index: 1085;
    flex: 0 0 auto;
    padding-bottom: .75rem;
    border-bottom: 1px solid color-mix(in srgb, var(--git-app-border) 65%, transparent);
}
.git-workspace-switcher__trigger {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    padding: .55rem .62rem;
    border: 1px solid transparent;
    border-radius: .72rem;
    background: transparent;
    color: var(--text-color);
    text-align: left;
}
.git-workspace-switcher__trigger:hover,
.git-workspace-switcher__trigger[aria-expanded="true"] {
    border-color: var(--git-app-border);
    background: color-mix(in srgb, var(--text-color) 5%, transparent);
}
.git-workspace-avatar {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--text-color) 28%, transparent);
    border-radius: .62rem;
    background: transparent;
    color: var(--text-color);
}
.git-workspace-avatar img { width: 100%; height: 100%; padding: 1px; border-radius: inherit; object-fit: cover; }
.git-workspace-switcher__identity { display: block; min-width: 0; }
.git-workspace-switcher__identity strong,
.git-workspace-switcher__identity small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.git-workspace-switcher__identity strong { font-size: .88rem; }
.git-workspace-switcher__identity small { margin-top: .12rem; color: var(--text-secondary-color); font-size: .68rem; }
.git-workspace-switcher__chevron { color: var(--text-secondary-color); font-size: .78rem; }
.git-workspace-switcher__menu {
    z-index: 1085;
    width: min(300px, calc(100vw - 2rem));
    max-width: calc(100vw - 1rem);
    padding: .45rem;
}
.git-workspace-switcher__menu-title { padding: .45rem .65rem .55rem; color: var(--text-secondary-color); font-size: .7rem; font-weight: 700; letter-spacing: .06em; }
.git-workspace-option {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .65rem;
    min-height: 48px;
    border-radius: .55rem;
}
.git-workspace-option > span:nth-child(2) { min-width: 0; }
.git-workspace-option strong,
.git-workspace-option small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.git-workspace-option strong { font-size: .84rem; }
.git-workspace-option small { margin-top: .12rem; color: var(--text-secondary-color); font-size: .67rem; }
.git-workspace-option__check { visibility: hidden; color: var(--main-color); }
.git-workspace-option.active .git-workspace-option__check { visibility: visible; }
.git-app .git-workspace-option.active,
.git-app .git-workspace-option.active:hover,
.git-app .git-workspace-option.active:focus,
.git-app .git-workspace-option:active {
    border-color: color-mix(in srgb, var(--main-color) 24%, var(--git-app-border));
    background: color-mix(in srgb, var(--text-color) 8%, var(--bg-color));
    color: var(--text-color);
}
.git-app .git-workspace-option.active small { color: var(--text-secondary-color); }
.git-app .git-workspace-option.active .git-workspace-option__check { color: var(--main-color); }
.git-workspace-switcher__menu > .dropdown-item:last-child { display: flex; align-items: center; gap: .55rem; border-radius: .5rem; }
.git-workspace-repositories {
    min-width: 0;
    min-height: 0;
    flex: 1;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-gutter: stable;
}
.git-workspace-pane { min-width: 0; }
.git-workspace-pane[hidden] { display: none !important; }
.git-workspace-repositories__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .4rem .65rem .5rem;
    color: var(--text-secondary-color);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .06em;
}
.git-workspace-repositories__heading span:last-child {
    min-width: 1.35rem;
    padding: .08rem .35rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--text-color) 8%, transparent);
    font-size: .65rem;
    text-align: center;
}
.git-workspace-filter { position: relative; display: flex; align-items: center; margin: 0 .25rem .45rem; }
.git-workspace-filter i { position: absolute; left: .62rem; color: var(--text-secondary-color); font-size: .78rem; }
.git-workspace-filter input {
    width: 100%;
    min-height: 34px;
    padding: .38rem .55rem .38rem 1.95rem;
    border: 1px solid var(--git-app-border);
    border-radius: .55rem;
    outline: 0;
    background: color-mix(in srgb, var(--bg-color) 91%, var(--text-color) 3%);
    color: var(--text-color);
    font-size: .74rem;
}
.git-workspace-filter input:focus { border-color: color-mix(in srgb, var(--main-color) 65%, var(--git-app-border)); }
.git-workspace-repository-list { display: grid; gap: .1rem; min-width: 0; }
.git-workspace-repository {
    display: grid;
    min-width: 0;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .62rem;
    min-height: 42px;
    padding: .38rem .58rem;
    border: 1px solid transparent;
    border-radius: .58rem;
    color: var(--text-secondary-color) !important;
    text-decoration: none !important;
}
.git-workspace-repository:hover,
.git-workspace-repository.active {
    border-color: color-mix(in srgb, var(--main-color) 22%, transparent);
    background: color-mix(in srgb, var(--main-color) 10%, transparent);
    color: var(--text-color) !important;
}
.git-workspace-repository__icon {
    display: grid;
    width: 1.75rem;
    height: 1.75rem;
    flex: 0 0 1.75rem;
    place-items: center;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--text-color) 10%, transparent);
    border-radius: .48rem;
    background: color-mix(in srgb, var(--text-color) 4%, transparent);
    color: color-mix(in srgb, var(--main-color) 72%, var(--text-color));
}
.git-workspace-repository__icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.git-workspace-repository__icon i { font-size: .88rem; }
.git-workspace-repository__name { display: block; min-width: 0; }
.git-workspace-repository__name small,
.git-workspace-repository__name strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.git-workspace-repository__name small { color: var(--text-secondary-color); font-size: .62rem; font-weight: 500; }
.git-workspace-repository__name strong { margin-top: .05rem; font-size: .76rem; font-weight: 630; }
.git-workspace-repository__actions { display: flex; min-width: 0; align-items: center; gap: .35rem; }
.git-workspace-repository__archived { padding: .08rem .3rem; border-radius: .3rem; background: color-mix(in srgb, var(--text-color) 8%, transparent); font-size: .58rem; }
.git-workspace-repository__loading { display: none; width: .88rem; height: .88rem; flex: 0 0 .88rem; place-items: center; }
.git-workspace-empty { display: flex; min-height: 84px; align-items: center; justify-content: center; flex-direction: column; gap: .35rem; color: var(--text-secondary-color); font-size: .72rem; }
.git-workspace-view-all {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: .35rem;
    padding: .48rem .62rem;
    border-radius: .55rem;
    color: var(--text-secondary-color) !important;
    font-size: .7rem;
    font-weight: 600;
    text-decoration: none !important;
}
.git-workspace-view-all:hover { background: color-mix(in srgb, var(--text-color) 5%, transparent); color: var(--text-color) !important; }
.git-app-sidebar__utilities {
    display: grid;
    flex: 0 0 auto;
    gap: .12rem;
    padding: .55rem .75rem;
    overflow: visible;
    border-top: 1px solid var(--git-app-border);
    background: color-mix(in srgb, var(--bg-color) 97%, var(--main-color) 3%);
}
.git-app-sidebar__signin {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .3rem .7rem;
    margin: .45rem .15rem;
    padding: .85rem;
    border: 1px solid var(--git-app-border);
    border-radius: .75rem;
    background: color-mix(in srgb, var(--main-color) 7%, var(--bg-color));
}
.git-app-sidebar__signin > i {
    grid-row: 1 / span 2;
    color: var(--main-color);
    font-size: 1.1rem;
}
.git-app-sidebar__signin strong { display: block; font-size: .85rem; }
.git-app-sidebar__signin p { margin: .16rem 0 0; color: var(--text-secondary-color); font-size: .72rem; line-height: 1.45; }
.git-app-sidebar__signin > a {
    grid-column: 1 / -1;
    margin-top: .35rem;
    padding: .42rem .55rem;
    border-radius: .5rem;
    background: var(--main-color);
    color: var(--on-main-color) !important;
    font-size: .8rem;
    font-weight: 650;
    text-align: center;
    text-decoration: none;
}
.git-app-sidebar__footer {
    flex: 0 0 auto;
    padding: .65rem .75rem max(.65rem, env(safe-area-inset-bottom));
    border-top: 1px solid var(--git-app-border);
}
.git-app-sidebar__links {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: .35rem;
}
.git-app-sidebar__links a {
    position: relative;
    justify-content: center;
    gap: .28rem;
    min-height: 38px;
    padding: .35rem .75rem .35rem .25rem;
    font-size: .72rem;
}
.git-app-sidebar__links a i { width: auto; flex-basis: auto; font-size: .82rem; }
.git-app-sidebar__links .git-app-sidebar__external {
    position: absolute;
    top: .28rem;
    right: .28rem;
    width: auto;
    color: var(--text-secondary-color);
    font-size: .56rem;
    opacity: .82;
}
.git-sidebar-collapsed .git-app-shell { grid-template-columns: var(--git-app-sidebar-collapsed-width) minmax(0, 1fr); }
.git-sidebar-collapsed .git-app-sidebar { width: var(--git-app-sidebar-collapsed-width); }
.git-sidebar-collapsed .git-app-sidebar__scroll { padding-inline: .55rem; }
.git-sidebar-collapsed .git-app-sidebar__eyebrow,
.git-sidebar-collapsed .git-app-sidebar__item > span,
.git-sidebar-collapsed .git-app-sidebar__repository,
.git-sidebar-collapsed .git-app-sidebar__repo-nav a > :not(i),
.git-sidebar-collapsed .git-app-sidebar__signin,
.git-sidebar-collapsed .git-workspace-switcher__identity,
.git-sidebar-collapsed .git-workspace-switcher__chevron,
.git-sidebar-collapsed .git-workspace-repositories__heading,
.git-sidebar-collapsed .git-workspace-filter,
.git-sidebar-collapsed .git-workspace-repository__name,
.git-sidebar-collapsed .git-workspace-repository__actions,
.git-sidebar-collapsed .git-workspace-repository__archived,
.git-sidebar-collapsed .git-workspace-view-all,
.git-sidebar-collapsed .git-app-sidebar__links span,
.git-sidebar-collapsed .git-app-sidebar__footer button > span { display: none; }
.git-sidebar-collapsed .git-app-sidebar__section { padding-block: .2rem; }
.git-sidebar-collapsed .git-app-sidebar__item,
.git-sidebar-collapsed .git-app-sidebar__repo-nav a,
.git-sidebar-collapsed .git-app-sidebar__links a,
.git-sidebar-collapsed .git-app-sidebar__footer button { justify-content: center; padding-inline: .4rem; }
.git-sidebar-collapsed .git-app-sidebar__utilities { padding-inline: .55rem; }
.git-sidebar-collapsed .git-workspace-switcher__trigger { display: flex; justify-content: center; padding-inline: .25rem; }
.git-sidebar-collapsed .git-workspace-switcher > .dropdown { padding-bottom: .45rem; }
.git-sidebar-collapsed .git-workspace-repositories {
    display: block;
    width: 100%;
    padding-inline: 0;
}
.git-sidebar-collapsed .git-workspace-repository-list { gap: .22rem; }
.git-sidebar-collapsed .git-workspace-repository {
    display: flex;
    justify-content: center;
    min-height: 44px;
    padding: .28rem;
}
.git-sidebar-collapsed .git-workspace-repository__icon {
    width: 2rem;
    height: 2rem;
    flex-basis: 2rem;
    border-radius: .55rem;
}
.git-sidebar-collapsed .git-workspace-repository__icon i { font-size: 1rem; }
.git-sidebar-collapsed .git-app-sidebar__links { grid-template-columns: 1fr; }
.git-sidebar-collapsed .git-app-sidebar__links a { min-height: 32px; }
.git-sidebar-collapsed .git-app-sidebar__external { display: none; }
.git-sidebar-collapsed .git-app-sidebar__repo-nav .git-count { display: none; }
.git-app-content { min-height: calc(100vh - var(--git-app-effective-bar-height) - 48px); flex: 1; min-width: 0; }
.git-app-content > .container,
.git-app-content > main.git-page { width: min(100% - 2rem, 1500px); margin-inline: auto; }
.git-portal-home .git-app-content > main.git-page { width: 100%; }
.git-app-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    padding: .75rem clamp(1rem, 3vw, 2.5rem);
    border-top: 1px solid var(--git-app-border);
    color: var(--text-secondary-color);
    font-size: .82rem;
}
.git-app-footer nav { display: flex; gap: 1rem; }
.git-app-footer a { color: inherit; text-decoration: none; }

.git-app-update,
.git-app-connectivity {
    position: fixed;
    z-index: 1090;
    left: 50%;
    bottom: max(1rem, env(safe-area-inset-bottom));
    display: flex;
    align-items: center;
    gap: .7rem;
    max-width: calc(100vw - 2rem);
    padding: .65rem .75rem .65rem 1rem;
    border: 1px solid color-mix(in srgb, var(--main-color) 48%, transparent);
    border-radius: .75rem;
    background: color-mix(in srgb, var(--bg-color) 88%, var(--main-color) 12%);
    color: var(--text-color);
    box-shadow: 0 14px 40px rgba(0, 0, 0, .25);
    transform: translateX(-50%);
}
.git-app-update[hidden], .git-app-connectivity[hidden] { display: none; }
.git-app-update button {
    border: 0;
    border-radius: .45rem;
    padding: .35rem .6rem;
    background: var(--main-color);
    color: var(--on-main-color);
}
.git-app-update button:last-child { padding: .3rem; background: transparent; color: var(--text-color); }

.git-app-recent { min-width: 260px; }
.git-app-recent__item { display: flex; align-items: center; gap: .55rem; }
.git-app-recent__item span { overflow: hidden; text-overflow: ellipsis; }

.git-app-mobile-nav {
    --bs-offcanvas-width: min(320px, calc(100vw - 42px));
    width: var(--bs-offcanvas-width);
    background: var(--bg-color);
    color: var(--text-color);
}
.git-app-mobile-nav .offcanvas-header { border-bottom: 1px solid var(--git-app-border); }
.git-app-mobile-nav .offcanvas-body > a {
    display: flex;
    align-items: center;
    padding: .7rem;
    border-radius: .55rem;
    color: var(--text-color);
    text-decoration: none;
}
.git-app-mobile-nav .offcanvas-body > a:hover,
.git-app-mobile-nav .offcanvas-body > a.active { background: color-mix(in srgb, var(--main-color) 12%, transparent); }
.git-app-mobile-search {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: .8rem;
}
.git-app-mobile-search > i { position: absolute; left: .75rem; color: var(--text-secondary-color); }
.git-app-mobile-search input {
    width: 100%;
    min-height: 42px;
    padding: .55rem .75rem .55rem 2.25rem;
    border: 1px solid var(--git-app-border);
    border-radius: .65rem;
    outline: 0;
    background: color-mix(in srgb, var(--bg-color) 90%, var(--text-color) 4%);
    color: var(--text-color);
}
.git-app-mobile-search input:focus { border-color: var(--main-color); box-shadow: 0 0 0 3px color-mix(in srgb, var(--main-color) 14%, transparent); }
.git-app-mobile-search .git-search-hints {
    right: 0;
    left: 0;
    width: 100%;
    max-height: min(560px, calc(100vh - 8rem));
    transform: none;
}
.git-app-mobile-search .git-search-hints__grid { grid-template-columns: 1fr; }
.git-app-mobile-nav .git-app-mobile-signin {
    justify-content: center;
    margin-top: .7rem;
    background: var(--main-color);
    color: var(--on-main-color) !important;
    font-weight: 650;
}

@media (display-mode: standalone) {
    .git-app-footer { display: none; }
    .git-app-content { min-height: calc(100vh - var(--git-app-effective-bar-height)); }
}

@media (display-mode: window-controls-overlay) {
    :root { --git-app-titlebar-height: env(titlebar-area-height, 0px); }
    .git-app-bar { padding-top: env(titlebar-area-height, 0); }
    .git-app-bar__drag {
        position: fixed;
        z-index: -1;
        display: block;
        inset: env(titlebar-area-y, 0) auto auto env(titlebar-area-x, 0);
        width: env(titlebar-area-width, 100%);
        height: env(titlebar-area-height, 0);
        -webkit-app-region: drag;
    }
    .git-app-bar__inner, .git-app-bar button, .git-app-bar a, .git-app-bar input { -webkit-app-region: no-drag; }
}

@media (max-width: 1200px) {
    .git-app .git-repo-identity { align-items: flex-start; flex-wrap: wrap; }
    .git-app .git-repo-identity > div { flex: 1 1 calc(100% - 4.5rem); }
    .git-app .git-repository-actions { width: 100%; margin-left: 0; flex-wrap: wrap; }
}

@media (max-width: 900px) {
    .git-app-bar__inner { grid-template-columns: auto auto minmax(160px, 1fr) auto; }
    .git-app-mobile-toggle { display: inline-grid; }
    .git-app-shell { display: block; }
    .git-app-sidebar { display: none; }
    .git-app-workspace { grid-column: auto; }
}

@media (max-width: 720px) {
    .git-app-bar__inner { grid-template-columns: auto auto minmax(0, 1fr) auto; gap: .5rem; padding-block: .45rem; }
    .git-app-search { display: none; }
    .git-app-actions { grid-column: 4; }
    .git-app-user__name, .git-app-search kbd { display: none; }
    .git-app-content > .container,
    .git-app-content > main.git-page { width: min(100% - 1rem, 1500px); }
}

@media (max-width: 460px) {
    .git-app-bar__inner { padding-inline: .6rem; }
    .git-app-brand span { display: none; }
    .git-app-brand img { width: 32px; height: 32px; }
    .git-app-icon-button { width: 36px; height: 36px; }
    .git-app-signin { min-height: 36px; padding-inline: .62rem; }
    .git-app-footer { align-items: flex-start; flex-direction: column; gap: .35rem; }
    .git-search-hints { width: calc(100vw - 1.2rem); }
    .git-search-hints__footer { align-items: flex-start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
    .git-theme-toggle::before,
    .git-theme-toggle > i { transition: none; }
}

/* Shared waiting states -------------------------------------------------
   Full-page operations keep their control visible so installed PWA users
   receive the same feedback that a browser tab spinner would provide. */
.git-app .git-wait-control.is-loading,
.git-app .git-wait-control.is-loading:hover,
.git-app .git-wait-control.is-loading:focus,
.git-app .git-wait-control.is-loading:active,
.git-app .git-wait-control.is-loading:disabled {
    border-color: #73777d !important;
    background: #73777d !important;
    color: #fff !important;
    cursor: wait;
    opacity: 1 !important;
    box-shadow: none !important;
    transform: none !important;
}

.git-app a.git-wait-control.is-loading {
    pointer-events: none;
}

.git-app .git-wait-control.is-loading > i.bi {
    display: none;
}

.git-wait-control__spinner {
    width: 1rem;
    height: 1rem;
    margin-inline-end: .42rem;
    border-width: .14em;
    vertical-align: -.12em;
}

.git-wait-control--icon-only .git-wait-control__spinner {
    margin-inline-end: 0;
}

.git-wait-form.is-loading-without-control .form-select,
.git-wait-form.is-loading-without-control input {
    cursor: wait;
    opacity: .72;
}

.git-wait-form-indicator {
    width: 1rem;
    height: 1rem;
    flex: 0 0 1rem;
    border-width: .14em;
    color: var(--main-color);
}

.git-repository-loading-target {
    display: inline-flex !important;
    max-width: 100%;
    align-items: center;
    gap: .42rem;
}

.git-repository-wait-spinner {
    width: .88rem;
    height: .88rem;
    flex: 0 0 .88rem;
    border-width: .13em;
    color: var(--main-color);
}

.git-workspace-repository__loading.git-repository-loading-target {
    display: grid !important;
}

.git-repository-loading-entry {
    cursor: wait !important;
}

.git-repository-loading-entry a,
a.git-repository-loading-entry {
    pointer-events: none;
}

.git-sidebar-collapsed .git-workspace-repository__icon.git-repository-loading-target > :not(.git-repository-wait-spinner) {
    display: none;
}

.git-push-settings { padding-block: clamp(1rem, 3vw, 2.5rem); }
.git-settings-hero {
    display: flex; align-items: center; justify-content: space-between; gap: 2rem;
    margin-bottom: 1rem; padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--git-app-border); border-radius: 1rem;
    background: linear-gradient(120deg, color-mix(in srgb, var(--main-color) 15%, var(--bg-color)), var(--bg-color));
}
.git-settings-hero h1 { margin: .2rem 0; font-size: clamp(1.55rem, 3vw, 2.15rem); }
.git-settings-hero p, .git-settings-card p { margin: 0; color: var(--text-secondary-color); }
.git-settings-hero__icon { display: grid; width: 64px; height: 64px; place-items: center; border-radius: 1rem; background: var(--main-color); color: var(--on-main-color); font-size: 1.65rem; }
.git-settings-card { margin-top: 1rem; padding: clamp(1rem, 2vw, 1.5rem); border: 1px solid var(--git-app-border); border-radius: 1rem; background: var(--git-app-surface); }
.git-settings-card__header, .git-settings-card__footer, .git-push-permission { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.git-settings-card h2 { margin: 0 0 .2rem; font-size: 1.12rem; }
.git-push-permission__copy { display: flex; align-items: center; gap: .9rem; }
.git-push-status-icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: .75rem; background: color-mix(in srgb, var(--main-color) 16%, transparent); color: var(--main-color); font-size: 1.2rem; }
.git-push-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-top: 1.25rem; }
.git-push-category { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: .75rem; padding: .9rem; border: 1px solid var(--git-app-border); border-radius: .75rem; cursor: pointer; }
.git-push-category:has(input:checked) { border-color: color-mix(in srgb, var(--main-color) 55%, transparent); background: color-mix(in srgb, var(--main-color) 8%, transparent); }
.git-push-category__icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: .6rem; background: color-mix(in srgb, var(--main-color) 12%, transparent); color: var(--main-color); }
.git-push-category strong, .git-push-category small { display: block; }
.git-push-category small { margin-top: .15rem; color: var(--text-secondary-color); }
.git-settings-card__footer { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--git-app-border); }
.git-push-device { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .9rem; padding: .9rem 0; border-bottom: 1px solid var(--git-app-border); }
.git-push-device:last-child { border-bottom: 0; }
.git-push-device > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: .65rem; background: color-mix(in srgb, var(--text-color) 7%, transparent); }
.git-push-device small { display: block; color: var(--text-secondary-color); }
.git-push-device.is-disabled { opacity: .65; }
.git-push-empty { display: flex; align-items: center; justify-content: center; gap: .6rem; min-height: 100px; color: var(--text-secondary-color); }
.git-push-privacy, .git-push-unavailable { display: flex; align-items: flex-start; gap: .8rem; }
.git-push-privacy { margin: 1rem .25rem; color: var(--text-secondary-color); }
.git-push-privacy p { margin: 0; }
.git-push-unavailable > i { color: var(--main-color); font-size: 1.2rem; }
@media (max-width: 700px) {
    .git-push-category-grid { grid-template-columns: 1fr; }
    .git-push-permission, .git-settings-card__header { align-items: flex-start; flex-direction: column; }
    .git-push-permission > button { width: 100%; }
}
