:root {
  --ink: #101a2c;
  --ink-soft: #536078;
  --paper: #f6f8fc;
  --white: #ffffff;
  --line: #dce3ef;
  --blue: #3158d4;
  --blue-dark: #223d9a;
  --blue-pale: #e8edff;
  --cyan: #75d5e8;
  --green: #17865b;
  --red: #c6404b;
  --viewer: #111a2b;
  --shadow: 0 18px 50px rgba(21, 40, 82, .11);
}

* { box-sizing: border-box; }
html { background: var(--paper); }
body { margin: 0; color: var(--ink); font-family: "Segoe UI", Arial, sans-serif; line-height: 1.5; }
a { color: inherit; }
button, input, select { font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
.wordmark { font-family: Georgia, serif; font-size: 22px; font-weight: 700; letter-spacing: -.04em; text-decoration: none; }
.wordmark span { color: var(--blue); }
.wordmark-light { color: white; }
.wordmark-light span { color: var(--cyan); }
.eyebrow, .step-label { margin: 0 0 9px; color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.button { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; padding: 0 18px; border: 1px solid transparent; border-radius: 7px; font-weight: 700; text-decoration: none; cursor: pointer; }
.button-primary { background: var(--blue); color: white; box-shadow: 0 6px 18px rgba(49, 88, 212, .2); }
.button-primary:hover { background: var(--blue-dark); }
.button-secondary { border-color: var(--line); background: white; color: var(--ink); }
.button-danger { border-color: #cf222e; background: #cf222e; color: white; }
.button-danger:hover { background: #a40e26; }
.button-small { min-height: 34px; padding: 0 12px; font-size: 12px; }
.button:disabled { opacity: .45; cursor: not-allowed; }
.text-link { color: var(--blue); font-weight: 700; text-decoration: none; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; }

.owner-page { min-height: 100vh; background: radial-gradient(circle at 82% 10%, rgba(117, 213, 232, .2), transparent 24%), var(--paper); }
.owner-header { height: 74px; display: flex; align-items: center; justify-content: space-between; padding: 0 5vw; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.82); }
.owner-header-actions { display: flex; align-items: center; gap: 18px; }
.owner-identity { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.owner-identity img { width: 32px; height: 32px; border-radius: 50%; }
.owner-header-actions form { margin: 0; }
.owner-signout { padding: 0; border: 0; background: transparent; color: var(--ink-soft); font-weight: 600; cursor: pointer; }
.owner-signout:hover { color: var(--ink); }
.owner-shell { width: min(1180px, 90vw); margin: 64px auto; }
.welcome-panel { width: min(730px, 65vw); padding: 70px; border: 1px solid var(--line); border-radius: 20px; background: rgba(255,255,255,.94); box-shadow: var(--shadow); }
.welcome-panel h1 { max-width: 620px; margin: 0; font: 700 54px/1.05 Georgia, serif; letter-spacing: -.045em; }
.lede { max-width: 590px; margin: 24px 0 34px; color: var(--ink-soft); font-size: 19px; }
.privacy-note { display: flex; gap: 10px; margin-top: 34px; padding-top: 23px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: 14px; }
.privacy-note strong { color: var(--ink); }
.notice { padding: 13px 16px; border: 1px solid #c7d6f3; border-radius: 7px; background: #edf3ff; }
.notice-error { border-color: #f0b9bf; background: #fff0f1; color: #8d2631; }
.notice-success { border-color: #a9d6b8; background: #dafbe1; color: #116329; }
.setup-panel { max-width: 660px; padding: 50px; border: 1px solid var(--line); border-radius: 16px; background: white; box-shadow: var(--shadow); }
.setup-panel h1, .workspace-heading h1 { margin: 0 0 12px; font: 700 40px/1.1 Georgia, serif; letter-spacing: -.035em; }
.setup-panel p:not(.step-label) { color: var(--ink-soft); font-size: 17px; }
.setup-panel .button { margin-top: 15px; }
.workspace-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 28px; }
.share-form { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 28px; align-items: start; }
.share-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.repo-selection { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.repo-choice { position: relative; display: flex; min-height: 142px; gap: 15px; padding: 21px; border: 1px solid var(--line); border-radius: 11px; background: white; cursor: pointer; transition: border-color .15s, transform .15s; }
.repo-choice:hover { border-color: #97a9d6; transform: translateY(-1px); }
.repo-choice:has(input:checked) { border-color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue); background: #f8faff; }
.repo-choice:has(input:focus-visible) { outline: 3px solid var(--cyan); outline-offset: 3px; }
.repo-choice input { position: absolute; opacity: 0; }
.choice-mark { width: 20px; height: 20px; flex: 0 0 auto; border: 1.5px solid #a8b4c8; border-radius: 5px; }
.repo-choice input:checked + .choice-mark { border-color: var(--blue); background: var(--blue); box-shadow: inset 0 0 0 4px white; }
.repo-choice-copy { display: flex; min-width: 0; flex: 1; flex-direction: column; }
.repo-choice-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.repo-choice-title strong { overflow: hidden; text-overflow: ellipsis; font-size: 17px; }
.visibility { padding: 2px 7px; border: 1px solid var(--line); border-radius: 20px; color: var(--ink-soft); font-size: 10px; text-transform: uppercase; }
.repo-description { margin: 10px 0; color: var(--ink-soft); font-size: 14px; }
.repo-meta { margin-top: auto; color: #738098; font-size: 12px; }
.publish-panel { position: sticky; top: 25px; padding: 26px; border-radius: 12px; background: var(--ink); color: white; box-shadow: var(--shadow); }
.publish-panel .step-label { color: var(--cyan); }
.publish-panel label { display: block; font-weight: 700; }
.duration-input { display: flex; align-items: center; margin: 9px 0 15px; border: 1px solid #41506a; border-radius: 7px; background: #19243a; }
.duration-input input { width: 100%; padding: 12px; border: 0; outline: 0; background: transparent; color: white; font-size: 19px; }
.duration-input span { padding-right: 13px; color: #b6c1d5; }
.publish-panel p:not(.step-label) { color: #b6c1d5; font-size: 13px; }
.publish-panel .selection-count { color: white; font-weight: 700; }
.publish-panel .button { width: 100%; margin-top: 8px; }
.snapshot-list-section { margin-top: 62px; scroll-margin-top: 24px; }
.snapshot-list-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 14px; }
.snapshot-list-heading h2 { margin: 0; font: 700 30px/1.2 Georgia, serif; }
.snapshot-list-heading > span { color: var(--ink-soft); font-size: 13px; }
.snapshot-list { overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: white; }
.snapshot-list-item { min-height: 132px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px; border-bottom: 1px solid var(--line); }
.snapshot-list-item:last-child { border-bottom: 0; }
.snapshot-list-main { min-width: 0; }
.snapshot-list-title { display: flex; align-items: center; gap: 10px; }
.snapshot-list-title h3 { margin: 0; overflow: hidden; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
.snapshot-status { padding: 2px 7px; border: 1px solid var(--line); border-radius: 20px; color: var(--ink-soft); font-size: 10px; font-weight: 700; text-transform: capitalize; }
.snapshot-status-active { border-color: #a9d6b8; background: #dafbe1; color: #116329; }
.snapshot-status-revoked { border-color: #f0b9bf; background: #ffebe9; color: #a40e26; }
.snapshot-list-main p { margin: 7px 0; color: var(--ink-soft); font-size: 12px; }
.snapshot-list-main code { display: block; max-width: 620px; overflow: hidden; color: #57606a; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.snapshot-list-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 7px; }
.snapshot-list-actions form { margin: 0; }
.center-shell { min-height: 100vh; display: grid; place-items: center; padding: 50px; }
.created-panel { width: min(720px, 80vw); padding: 56px; border: 1px solid var(--line); border-radius: 18px; background: white; box-shadow: var(--shadow); }
.created-panel h1 { margin: 15px 0; font: 700 44px/1.1 Georgia, serif; }
.snapshot-seal { display: inline-block; margin: 0; padding: 6px 10px; border: 1px solid var(--blue); color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; transform: rotate(-1.5deg); }
.copy-row { display: flex; gap: 8px; margin: 28px 0 15px; }
.copy-row input { min-width: 0; flex: 1; padding: 0 13px; border: 1px solid var(--line); border-radius: 7px; background: var(--paper); }
.created-actions { display: flex; align-items: center; gap: 20px; }
.review-summary { margin: 28px 0; padding: 20px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); }
.review-summary h2 { margin: 0; font: 700 20px Georgia, serif; }
.review-summary p { margin: 6px 0 15px; color: var(--ink-soft); font-size: 13px; }
.review-summary ul { margin: 0; padding: 0; list-style: none; }
.review-summary li { display: flex; justify-content: space-between; padding: 8px 0; border-top: 1px solid var(--line); font-size: 13px; }
.review-summary li span { color: var(--ink-soft); }

.viewer-page { min-height: 100vh; background: #f4f6fa; }
.viewer-header { height: 68px; display: flex; align-items: center; justify-content: space-between; padding: 0 4vw; background: var(--viewer); color: #b8c3d7; }
.viewer-header > .wordmark { flex: 0 0 auto; }
.snapshot-search { width: min(440px, 40vw); height: 34px; display: flex; align-items: center; gap: 8px; margin: 0 28px; border: 1px solid #526078; border-radius: 6px; background: #0c1422; color: #8c98ad; }
.snapshot-search:focus-within { border-color: #75d5e8; box-shadow: 0 0 0 2px rgba(117, 213, 232, .18); }
.snapshot-search svg { flex: 0 0 auto; margin-left: 10px; fill: currentColor; }
.snapshot-search input:not([type="hidden"]) { min-width: 0; height: 100%; flex: 1; padding: 0; border: 0; outline: 0; background: transparent; color: white; font-size: 13px; }
.snapshot-search input::placeholder { color: #8c98ad; opacity: 1; }
.snapshot-search kbd { margin-right: 7px; padding: 0 5px 1px; border: 1px solid #526078; border-radius: 4px; color: #9eabc0; font: 11px/17px "Segoe UI", Arial, sans-serif; }
.snapshot-search button:not(.sr-only) { align-self: stretch; padding: 0 13px; border: 0; border-left: 1px solid #526078; background: #202b3d; color: white; font-size: 12px; font-weight: 600; cursor: pointer; }
.snapshot-search button:not(.sr-only):hover { background: #2b384d; }
.snapshot-meta, .top-nav { display: flex; align-items: center; gap: 10px; font-size: 12px; }
.snapshot-meta, .top-nav { flex: 0 0 auto; }
.top-nav a { color: white; font-weight: 700; text-decoration: none; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 4px rgba(117, 213, 232, .1); }
.meta-divider { width: 1px; height: 15px; background: #40506b; }
.profile-tabs { height: 52px; border-bottom: 1px solid #d8dee4; background: #fff; }
.profile-tabs > div { width: min(1180px, 92vw); height: 100%; display: flex; align-items: stretch; gap: 4px; margin: 0 auto; padding-left: 292px; }
.profile-tabs a { position: relative; display: flex; align-items: center; gap: 7px; padding: 0 14px; color: #1f2328; font-size: 14px; text-decoration: none; }
.profile-tabs a:hover { background: #f6f8fa; }
.profile-tabs a.active:after { position: absolute; right: 9px; bottom: -1px; left: 9px; height: 2px; border-radius: 2px; background: #fd8c73; content: ""; }
.profile-tabs a span { min-width: 22px; padding: 0 6px; border-radius: 20px; background: #eaeef2; font-size: 12px; font-weight: 600; text-align: center; }
.profile-shell { width: min(1180px, 92vw); display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 32px; margin: 32px auto 90px; align-items: start; }
.profile-card { position: sticky; top: 24px; }
.profile-avatar { width: 260px; height: 260px; display: block; margin-bottom: 18px; border: 1px solid #d0d7de; border-radius: 50%; object-fit: cover; }
.profile-card h1 { margin: 0; color: #1f2328; font: 600 26px/1.25 "Segoe UI", Arial, sans-serif; }
.profile-login { margin: 0 0 17px; color: #636c76; font-size: 20px; font-weight: 300; }
.profile-bio { margin: 0; color: #1f2328; font-size: 14px; }
.profile-count { display: flex; align-items: baseline; gap: 6px; margin-top: 18px; color: #636c76; font-size: 12px; }
.profile-count strong { color: #1f2328; font-size: 14px; }
.profile-content { min-width: 0; }
.section-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.section-heading h2 { margin: 0; color: #1f2328; font: 500 16px/1.4 "Segoe UI", Arial, sans-serif; }
.profile-section-link { color: #0969da; font-size: 12px; text-decoration: none; }
.read-only-badge { padding: 5px 9px; border: 1px solid #bfd1c9; border-radius: 20px; color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.repo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.repo-card { display: flex; min-height: 150px; flex-direction: column; padding: 16px; border: 1px solid #d0d7de; border-radius: 6px; background: white; color: inherit; text-decoration: none; }
.repo-card:hover { border-color: #0969da; }
.repo-card-top { display: flex; justify-content: space-between; color: #636c76; }
.language { display: inline-flex; align-items: center; gap: 6px; color: #636c76; font-size: 12px; }
.language i { width: 10px; height: 10px; border-radius: 50%; background: #8b949e; }
/* GitHub linguist colors. The base gray above is the fallback for anything unmapped. */
.language i.lang-javascript { background: #f1e05a; }
.language i.lang-typescript { background: #3178c6; }
.language i.lang-java { background: #b07219; }
.language i.lang-python { background: #3572A5; }
.language i.lang-html { background: #e34c26; }
.language i.lang-css { background: #663399; }
.language i.lang-scss { background: #c6538c; }
.language i.lang-php { background: #4F5D95; }
.language i.lang-csharp { background: #178600; }
.language i.lang-cpp { background: #f34b7d; }
.language i.lang-c { background: #555555; }
.language i.lang-go { background: #00ADD8; }
.language i.lang-rust { background: #dea584; }
.language i.lang-kotlin { background: #A97BFF; }
.language i.lang-swift { background: #F05138; }
.language i.lang-ruby { background: #701516; }
.language i.lang-shell { background: #89e051; }
.language i.lang-dockerfile { background: #384d54; }
.language i.lang-vue { background: #41b883; }
.language i.lang-lua { background: #000080; }
.language i.lang-jupyter { background: #DA5B0B; }
.language i.lang-ejs { background: #a91e50; }
.repo-card h3 { margin: 14px 0 7px; color: #0969da; font: 600 14px/1.4 "Segoe UI", Arial, sans-serif; }
.repo-card p { margin: 0; color: #636c76; font-size: 12px; }
.repo-card-foot { display: flex; gap: 16px; margin-top: auto; padding-top: 15px; color: #636c76; font-size: 12px; }
.activity-section { margin-top: 38px; }
.activity-list { position: relative; margin: 0; padding: 0; list-style: none; }
.activity-list:before { position: absolute; top: 11px; bottom: 11px; left: 5px; width: 1px; background: #d0d7de; content: ""; }
.activity-list li { position: relative; display: flex; gap: 19px; padding: 0 0 22px; }
.activity-node { z-index: 1; width: 11px; height: 11px; flex: 0 0 auto; margin-top: 6px; border: 3px solid #f4f6fa; border-radius: 50%; background: #1f883d; box-shadow: 0 0 0 1px #1f883d; }
.activity-list strong, .activity-list span { display: block; }
.activity-list a { color: inherit; text-decoration: none; }
.activity-list a:hover strong { color: #0969da; }
.activity-list strong { font-size: 14px; }
.activity-list span { margin-top: 3px; color: #636c76; font-size: 12px; }
.repository-heading { margin-bottom: 16px; padding-bottom: 8px; border-bottom: 1px solid #d8dee4; }
.repository-filter { display: grid; grid-template-columns: minmax(0, 1fr) 150px 160px auto; gap: 8px; padding-bottom: 16px; border-bottom: 1px solid #d8dee4; }
.repository-filter input, .repository-filter select { min-width: 0; height: 32px; padding: 0 10px; border: 1px solid #d0d7de; border-radius: 6px; background: #fff; color: #1f2328; font-size: 13px; }
.repository-filter input:focus, .repository-filter select:focus { border-color: #0969da; outline: 2px solid rgba(9, 105, 218, .2); outline-offset: -1px; }
.repository-filter .quiet-button { border-color: #1f883d; background: #1f883d; color: #fff; cursor: pointer; }
.repository-list article { min-height: 134px; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 24px 0; border-bottom: 1px solid #d8dee4; }
.repository-list-main { min-width: 0; }
.repository-list-title { display: flex; align-items: center; gap: 9px; }
.repository-list-title > a { color: #0969da; font-size: 20px; font-weight: 600; text-decoration: none; }
.repository-list-main > p { margin: 8px 0 16px; color: #636c76; font-size: 13px; }
.repository-list-meta { display: flex; flex-wrap: wrap; gap: 18px; color: #636c76; font-size: 12px; }
.repository-list article > .quiet-button { flex: 0 0 auto; margin-top: 3px; }
.repository-list .empty-state { border-bottom: 1px solid #d8dee4; }
.repository-list .empty-state a { display: block; margin-top: 6px; color: #0969da; text-decoration: none; }

.repository-page { background: #f6f8fa; color: #1f2328; }
.repo-mast { border-bottom: 1px solid #d8dee4; background: #fff; }
.repo-mast-inner { width: min(1180px, 92vw); margin: 0 auto; padding: 20px 0 18px; }
.repo-identity { display: flex; align-items: center; gap: 9px; }
.repo-mark { width: 20px; height: 20px; color: #636c76; }
.repo-icon { display: block; flex: none; fill: currentColor; overflow: visible; }
.repo-icon-mark { width: 20px; height: 20px; max-width: 20px; max-height: 20px; }
.repo-icon-tab, .repo-icon-file { width: 16px; height: 16px; max-width: 16px; max-height: 16px; }
.repo-icon-branch { width: 14px; height: 14px; max-width: 14px; max-height: 14px; }
.repo-identity h1 { display: flex; align-items: baseline; gap: 7px; margin: 0; font: 400 22px/1.3 "Segoe UI", Arial, sans-serif; letter-spacing: -.02em; }
.repo-identity h1 a { color: #0969da; text-decoration: none; }
.repo-identity h1 span { color: #636c76; }
.repo-identity h1 strong { color: #0969da; font-weight: 650; }
.repo-visibility { padding: 2px 8px; border: 1px solid #d0d7de; border-radius: 20px; color: #636c76; font-size: 12px; font-weight: 600; }
.repo-summary { max-width: 760px; margin: 12px 0 14px; color: #4d5661; font-size: 14px; }
.repo-facts { display: flex; gap: 22px; color: #636c76; font-size: 12px; }
.repo-facts strong { color: #1f2328; font-weight: 600; }
.repo-tabs { border-bottom: 1px solid #d8dee4; background: #fff; }
.repo-tabs-inner { width: min(1180px, 92vw); height: 49px; display: flex; align-items: stretch; gap: 4px; margin: 0 auto; }
.repo-tabs a { position: relative; display: flex; align-items: center; gap: 7px; padding: 0 14px; color: #1f2328; font-size: 14px; text-decoration: none; }
.repo-tabs a:hover { background: #f6f8fa; border-radius: 6px 6px 0 0; }
.repo-tabs a.active:after { position: absolute; right: 9px; bottom: -1px; left: 9px; height: 2px; border-radius: 2px; background: #fd8c73; content: ""; }
.repo-tabs .repo-icon { color: #636c76; }
.tab-count { min-width: 22px; padding: 0 6px; border-radius: 20px; background: #eaeef2; font-size: 12px; font-weight: 600; text-align: center; }
.repository-shell { width: min(1180px, 92vw); margin: 24px auto 80px; }
.code-toolbar { position: relative; height: 34px; display: flex; align-items: center; gap: 14px; margin-bottom: 12px; }
.branch-pill, .quiet-button { height: 32px; display: inline-flex; align-items: center; gap: 7px; padding: 0 12px; border: 1px solid #d0d7de; border-radius: 6px; background: #f6f8fa; color: #24292f; font-size: 13px; font-weight: 600; line-height: 1; text-decoration: none; box-shadow: 0 1px 0 rgba(27,31,36,.04); }
.ref-switcher { position: relative; }
.ref-switcher summary { list-style: none; cursor: pointer; }
.ref-switcher summary::-webkit-details-marker { display: none; }
.ref-switcher[open] summary { background: #eef1f4; }
.ref-chevron { margin-left: 3px; fill: #636c76; }
.ref-switcher[open] .ref-chevron { transform: rotate(180deg); }
.ref-menu { position: absolute; z-index: 20; top: 38px; left: 0; width: 340px; overflow: hidden; border: 1px solid #d0d7de; border-radius: 7px; background: #fff; box-shadow: 0 8px 24px rgba(140, 149, 159, .2); }
.ref-menu > header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 13px 14px; border-bottom: 1px solid #d8dee4; }
.ref-menu > header strong { font-size: 13px; }
.ref-menu > header span { color: #636c76; font-size: 11px; }
.ref-menu > input { width: calc(100% - 24px); height: 32px; margin: 12px; padding: 0 10px; border: 1px solid #d0d7de; border-radius: 6px; font-size: 12px; }
.ref-menu > input:focus { border-color: #0969da; outline: 2px solid rgba(9, 105, 218, .2); outline-offset: -1px; }
.ref-options { max-height: 330px; padding-bottom: 6px; overflow-y: auto; border-top: 1px solid #eaeef2; }
.ref-options > p:not(.ref-no-results) { margin: 0; padding: 9px 13px 5px; color: #636c76; font-size: 11px; font-weight: 600; text-transform: uppercase; }
.ref-options > a { min-height: 36px; display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 7px; align-items: center; padding: 0 13px; color: #1f2328; font-size: 12px; text-decoration: none; }
.ref-options > a:hover { background: #f6f8fa; }
.ref-options > a.selected { font-weight: 600; }
.ref-options > a > span:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ref-options small { padding: 1px 5px; border: 1px solid #d0d7de; border-radius: 20px; color: #636c76; font-size: 9px; font-weight: 500; }
.ref-check { position: relative; width: 14px; height: 14px; }
.ref-options > a.selected .ref-check:after { position: absolute; top: 0; left: 4px; width: 5px; height: 9px; border-right: 2px solid #1f883d; border-bottom: 2px solid #1f883d; content: ""; transform: rotate(45deg); }
.ref-no-results { margin: 0; padding: 22px 13px; color: #636c76; font-size: 12px; text-align: center; }
.head-reference { color: #636c76; font-size: 12px; }
.head-reference code { color: #24292f; }
.commit-shortcut { display: flex; align-items: center; gap: 6px; margin-left: auto; color: #57606a; font-size: 13px; text-decoration: none; }
.commit-shortcut:hover { color: #0969da; }
.browser-card, .readme-card, .commits-page, .file-view-card, .commit-detail-card { overflow: hidden; border: 1px solid #d0d7de; border-radius: 7px; background: #fff; box-shadow: 0 1px 0 rgba(27,31,36,.03); }
.latest-commit { min-height: 52px; display: grid; grid-template-columns: 28px auto minmax(120px, 1fr) auto auto; gap: 9px; align-items: center; padding: 0 16px; border-bottom: 1px solid #d8dee4; color: #1f2328; font-size: 12px; text-decoration: none; }
.latest-commit:hover .latest-message { color: #0969da; }
.commit-avatar { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: #dde7ff; color: #3158d4; font-size: 11px; font-weight: 750; }
.latest-message { overflow: hidden; color: #4d5661; text-overflow: ellipsis; white-space: nowrap; }
.latest-commit code, .latest-commit time { color: #636c76; white-space: nowrap; }
.path-bar, .repo-breadcrumbs { min-height: 43px; display: flex; align-items: center; gap: 7px; padding: 0 16px; border-bottom: 1px solid #d8dee4; color: #636c76; font-size: 13px; }
.path-bar a, .repo-breadcrumbs a { color: #0969da; font-weight: 600; text-decoration: none; }
.repo-breadcrumbs { width: fit-content; min-height: auto; margin-bottom: 14px; padding: 0; border: 0; }
.file-row { min-height: 44px; display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 7px; padding: 0 16px; border-bottom: 1px solid #eaeef2; color: #1f2328; font-size: 13px; text-decoration: none; }
.file-row:last-child { border-bottom: 0; }
.file-row:hover { background: #f6f8fa; }
.file-row strong { color: #0969da; font-weight: 500; }
.file-row > span:last-child { color: #636c76; font-size: 12px; }
.file-symbol { width: 16px; height: 16px; display: grid; place-items: center; color: #54aeff; }
.file-symbol-document { color: #636c76; }
.back-symbol { color: #636c76; font-size: 17px; }
.readme-card { margin-top: 20px; }
.readme-card > header { height: 49px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; border-bottom: 1px solid #d8dee4; background: #f6f8fa; font-size: 13px; }
.readme-card > header div { display: flex; align-items: center; gap: 8px; }
.readme-card > header .repo-icon { color: #636c76; }
.readme-card > header a { color: #0969da; font-size: 12px; text-decoration: none; }
.markdown-body { max-width: 980px; padding: 34px 42px 50px; color: #1f2328; font-size: 16px; line-height: 1.6; overflow-wrap: anywhere; }
.markdown-body > :first-child { margin-top: 0 !important; }
.markdown-body > :last-child { margin-bottom: 0 !important; }
.markdown-body h1, .markdown-body h2 { margin: 24px 0 16px; padding-bottom: 9px; border-bottom: 1px solid #d8dee4; font-family: "Segoe UI", Arial, sans-serif; line-height: 1.25; letter-spacing: -.025em; }
.markdown-body h1 { font-size: 30px; }
.markdown-body h2 { font-size: 24px; }
.markdown-body h3 { margin: 24px 0 12px; font-size: 19px; }
.markdown-body p, .markdown-body ul, .markdown-body ol, .markdown-body blockquote, .markdown-body table, .markdown-body pre { margin: 0 0 16px; }
.markdown-body a { color: #0969da; text-decoration: none; }
.markdown-body a:hover { text-decoration: underline; }
.markdown-body code { padding: 2px 5px; border-radius: 4px; background: rgba(175,184,193,.2); font: 85% Consolas, monospace; }
.markdown-body pre { padding: 16px; border-radius: 6px; background: #f6f8fa; overflow: auto; }
.markdown-body pre code { padding: 0; background: transparent; font-size: 13px; }
.markdown-body blockquote { padding: 0 16px; border-left: 4px solid #d0d7de; color: #636c76; }
.markdown-body table { width: max-content; max-width: 100%; border-collapse: collapse; overflow: auto; }
.markdown-body th, .markdown-body td { padding: 7px 13px; border: 1px solid #d0d7de; }
.markdown-body tr:nth-child(2n) { background: #f6f8fa; }
.markdown-body hr { height: 4px; margin: 24px 0; border: 0; background: #d8dee4; }
.readme-empty { margin-top: 20px; padding: 30px; border: 1px dashed #afb8c1; border-radius: 7px; background: #fff; text-align: center; }
.readme-empty p { margin: 5px 0 0; color: #636c76; font-size: 13px; }
.section-title-row { min-height: 84px; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; border-bottom: 1px solid #d8dee4; }
.section-title-row h2 { margin: 0; font: 650 22px/1.2 "Segoe UI", Arial, sans-serif; }
.section-kicker { margin: 0 0 3px; color: #636c76; font-size: 12px; }
.commit-feed { margin: 0; padding: 0; list-style: none; }
.commit-feed li { min-height: 72px; display: grid; grid-template-columns: 34px minmax(0, 1fr) auto 68px; gap: 12px; align-items: center; padding: 10px 18px; border-bottom: 1px solid #eaeef2; }
.commit-feed li:last-child { border-bottom: 0; }
.commit-feed li:hover { background: #f6f8fa; }
.commit-main { min-width: 0; color: #1f2328; text-decoration: none; }
.commit-main strong, .commit-main span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.commit-main strong { font-size: 14px; }
.commit-main span { margin-top: 4px; color: #636c76; font-size: 12px; }
.commit-feed code { padding: 3px 6px; border: 1px solid #d0d7de; border-radius: 5px; color: #0969da; font-size: 11px; text-align: center; }
.commit-change { display: flex; gap: 7px; font: 600 11px Consolas, monospace; }
.commit-change b { color: #1a7f37; }
.commit-change i { color: #cf222e; font-style: normal; }
.file-view-header { min-height: 54px; display: flex; align-items: center; justify-content: space-between; padding: 0 17px; border-bottom: 1px solid #d8dee4; background: #f6f8fa; font-size: 13px; }
.file-view-header div { display: flex; gap: 10px; }
.file-view-header span { color: #636c76; }
.file-view-header a { color: #0969da; font-weight: 600; text-decoration: none; }
.file-view-actions { align-items: center; }
.file-view-actions .copy-path { height: 30px; min-height: 30px; padding: 0 10px; cursor: pointer; }
.file-view-actions a.quiet-button { color: #24292f; }
.file-view-tabs { display: flex; gap: 4px; padding: 8px 12px 0; border-bottom: 1px solid #d8dee4; }
.file-view-tabs a { margin-bottom: -1px; padding: 8px 12px 9px; border-bottom: 2px solid transparent; color: #636c76; font-size: 13px; font-weight: 600; text-decoration: none; }
.file-view-tabs a:hover { color: #1f2328; }
.file-view-tabs a.active { border-bottom-color: #fd8c73; color: #1f2328; }
.markdown-file-preview { max-width: none; min-height: 180px; }
.image-file-preview { min-height: 260px; display: grid; place-items: center; padding: 28px; background-color: #f6f8fa; background-image: linear-gradient(45deg, #eaeef2 25%, transparent 25%), linear-gradient(-45deg, #eaeef2 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #eaeef2 75%), linear-gradient(-45deg, transparent 75%, #eaeef2 75%); background-position: 0 0, 0 8px, 8px -8px, -8px 0; background-size: 16px 16px; }
.image-file-preview img { display: block; max-width: 100%; max-height: 720px; }
.file-history-page .section-title-row h2 code { font: 13px Consolas, monospace; }
.code-view { max-height: 760px; overflow: auto; background: #fff; color: #24292f; font: 13px/1.65 Consolas, monospace; tab-size: 2; }
.code-table { width: max-content; min-width: 100%; border-spacing: 0; }
.code-table th { width: 1%; min-width: 52px; padding: 0 12px; background: #f6f8fa; color: #8c959f; font-weight: 400; text-align: right; user-select: none; vertical-align: top; }
.code-table th a { color: inherit; text-decoration: none; }
.code-table td { min-width: 100%; padding: 0 18px; white-space: pre; }
.code-table td code { font: inherit; }
.code-table tr:first-child th, .code-table tr:first-child td { padding-top: 18px; }
.code-table tr:last-child th, .code-table tr:last-child td { padding-bottom: 18px; }
.code-table tr:target th, .code-table tr:target td { background: #fff8c5; }
.commit-detail-heading { min-height: 112px; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 20px 22px; border-bottom: 1px solid #d8dee4; background: #f6f8fa; }
.commit-detail-main { min-width: 0; }
.commit-detail-heading h2 { margin: 2px 0 10px; font: 650 22px/1.3 "Segoe UI", Arial, sans-serif; overflow-wrap: anywhere; }
.commit-detail-heading p { margin: 0; color: #636c76; font-size: 12px; }
.commit-message-body { max-width: 760px; margin: 0 0 14px; padding: 12px 14px; border: 1px solid #d8dee4; border-radius: 6px; background: #fff; color: #4d5661; font: 12px/1.65 Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.commit-detail-byline { display: flex; align-items: center; gap: 8px; }
.commit-detail-byline strong { color: #1f2328; }
.commit-detail-side { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }
.commit-sha { display: inline-flex; align-items: center; gap: 7px; padding: 5px 10px; border: 1px solid #d0d7de; border-radius: 6px; background: #fff; color: #636c76; font-size: 11px; }
.commit-sha code { color: #0969da; font: 12px Consolas, monospace; }
.commit-detail-side .quiet-button { cursor: pointer; }

.diff-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; padding: 14px 22px; border-bottom: 1px solid #d8dee4; }
.diff-summary p { margin: 0; color: #636c76; font-size: 13px; }
.diff-summary p strong { color: #1f2328; }
.diff-added { color: #1a7f37; font: 650 12px Consolas, monospace; }
.diff-removed { color: #cf222e; font: 650 12px Consolas, monospace; }
.diff-actions { display: flex; gap: 8px; }
.diff-actions .quiet-button { cursor: pointer; }
.diff-actions .quiet-button[aria-pressed="true"] { border-color: #0969da; background: #ddf4ff; color: #0550ae; }
.diff-index { margin: 16px 22px 0; border: 1px solid #d0d7de; border-radius: 6px; background: #fff; }
.diff-index > summary { min-height: 38px; display: flex; align-items: center; padding: 0 13px; color: #57606a; font-size: 12px; font-weight: 600; cursor: pointer; list-style: none; }
.diff-index > summary::-webkit-details-marker { display: none; }
.diff-index > summary:before { margin-right: 8px; color: #8c959f; content: "\25B8"; }
.diff-index[open] > summary { border-bottom: 1px solid #eaeef2; }
.diff-index[open] > summary:before { content: "\25BE"; }
.diff-index ol { margin: 0; padding: 6px 0 10px; list-style: none; }
.diff-index li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; padding: 3px 13px; }
.diff-index a { overflow: hidden; color: #0969da; font: 12px Consolas, monospace; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.diff-index a:hover { text-decoration: underline; }

.diff-file { margin: 16px 22px; overflow: hidden; border: 1px solid #d0d7de; border-radius: 6px; background: #fff; }
.diff-file > summary { display: grid; grid-template-columns: 12px auto minmax(0, 1fr) auto auto; gap: 10px; align-items: center; padding: 9px 12px; background: #f6f8fa; font-size: 12px; cursor: pointer; list-style: none; }
.diff-file > summary::-webkit-details-marker { display: none; }
.diff-file > summary:hover { background: #eef1f5; }
.diff-file[open] > summary { border-bottom: 1px solid #d0d7de; }
.diff-chevron { fill: #636c76; }
.diff-file[open] .diff-chevron { transform: rotate(90deg); }
.diff-status { padding: 1px 8px; border: 1px solid #d0d7de; border-radius: 20px; color: #636c76; font-size: 10px; font-weight: 650; text-transform: capitalize; }
.diff-status-added { border-color: #aceebb; background: #dafbe1; color: #116329; }
.diff-status-removed { border-color: #ffcecb; background: #ffebe9; color: #a40e26; }
.diff-status-renamed, .diff-status-copied { border-color: #b6d7f7; background: #ddf4ff; color: #0550ae; }
.diff-status-modified, .diff-status-changed { border-color: #eedfa6; background: #fff8c5; color: #7d4e00; }
.diff-file-name { min-width: 0; display: flex; align-items: center; gap: 6px; overflow: hidden; color: #1f2328; font: 600 12px Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
.diff-file-path { overflow: hidden; text-overflow: ellipsis; }
.diff-rename-from { overflow: hidden; color: #8c959f; text-overflow: ellipsis; }
.diff-rename-arrow { color: #8c959f; }
.diff-file-stat { display: flex; align-items: center; gap: 8px; }
.diff-blocks { display: flex; gap: 2px; }
.diff-blocks i { width: 8px; height: 8px; border-radius: 2px; background: #d8dee4; }
.diff-blocks i.added { background: #1f883d; }
.diff-blocks i.removed { background: #cf222e; }
.diff-copy { height: 26px; padding: 0 9px; border: 1px solid #d0d7de; border-radius: 5px; background: #fff; color: #24292f; font-size: 11px; font-weight: 600; cursor: pointer; }
.diff-copy:hover { background: #f3f4f6; }
.diff-body { overflow-x: auto; background: #fff; }
.diff-table { width: max-content; min-width: 100%; border-collapse: separate; border-spacing: 0; color: #1f2328; font: 12px/1.7 Consolas, monospace; tab-size: 2; }
.diff-col-num { width: 54px; }
.diff-gutter { position: sticky; z-index: 1; width: 54px; min-width: 54px; padding: 0 8px; border-right: 1px solid #eaeef2; background: #fff; color: #8c959f; font-size: 11px; text-align: right; vertical-align: top; white-space: nowrap; user-select: none; }
.diff-gutter:first-child { left: 0; }
.diff-gutter:nth-child(2) { left: 54px; }
.diff-code { width: 100%; padding: 0 16px 0 12px; vertical-align: top; white-space: pre; }
.diff-row-addition .diff-code { background: #e6ffec; }
.diff-row-addition .diff-gutter { background: #ccffd8; color: #24292f; }
.diff-row-deletion .diff-code { background: #ffebe9; }
.diff-row-deletion .diff-gutter { background: #ffd7d5; color: #24292f; }
.diff-row-hunk .diff-code, .diff-row-hunk .diff-gutter { background: #f1f6fc; color: #57606a; }
.diff-row-hunk .diff-code { border-top: 1px solid #eaeef2; border-bottom: 1px solid #eaeef2; }
.diff-row-hunk .diff-gutter { border-top: 1px solid #eaeef2; border-bottom: 1px solid #eaeef2; }
.diff-row:first-child .diff-code, .diff-row:first-child .diff-gutter { border-top: 0; }
.hunk-heading { margin-left: 16px; color: #8c959f; }
.diff-row-note .diff-code { background: #f6f8fa; color: #8c959f; font-style: italic; }
body.diff-wrapped .diff-table { width: 100%; }
body.diff-wrapped .diff-code { white-space: pre-wrap; overflow-wrap: anywhere; }
.empty-state { margin: 0; padding: 32px; color: var(--ink-soft); text-align: center; }

.work-list-page, .discussion-page { color: #1f2328; }
.work-list-page { overflow: hidden; border: 1px solid #d0d7de; border-radius: 7px; background: #fff; }
.work-list-header { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 16px 20px; border-bottom: 1px solid #d8dee4; background: #f6f8fa; }
.work-list-header h2 { margin: 0; font-size: 20px; }
.work-list-header p { margin: 3px 0 0; color: #636c76; font-size: 12px; }
.work-list-header nav { display: flex; gap: 5px; }
.work-list-header nav a { display: flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 6px; color: #636c76; font-size: 12px; text-decoration: none; }
.work-list-header nav a:hover, .work-list-header nav a.active { background: #eaeef2; color: #1f2328; }
.work-list-header nav a.active { font-weight: 600; }
.work-list-header nav span { min-width: 20px; padding: 0 5px; border-radius: 20px; background: #d8dee4; font-size: 10px; text-align: center; }
.work-list article { min-height: 92px; display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 15px 18px; border-bottom: 1px solid #eaeef2; }
.work-list article:last-child { border-bottom: 0; }
.work-list article:hover { background: #f6f8fa; }
.work-state-icon { width: 16px; height: 16px; margin-top: 3px; border: 2px solid #1f883d; border-radius: 50%; }
.work-state-icon.closed { border-color: #8250df; background: #8250df; box-shadow: inset 0 0 0 3px white; }
.work-state-icon.merged { border-color: #8250df; transform: rotate(45deg); }
.work-state-icon.draft { border-color: #8c959f; border-style: dashed; }
.work-title { color: #1f2328; font-size: 15px; font-weight: 650; text-decoration: none; }
.work-title:hover { color: #0969da; }
.work-list article p { margin: 7px 0 0; color: #636c76; font-size: 11px; }
.work-labels { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.work-label { display: inline-flex; min-height: 20px; align-items: center; padding: 1px 7px; border: 1px solid #b6c7d9; border-radius: 20px; background: #f1f6fb; color: #334968; font-size: 10px; font-weight: 600; }
.work-comments { align-self: center; color: #636c76; font-size: 11px; text-align: right; }
.work-comments strong { color: #1f2328; }
.work-detail-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; padding-bottom: 20px; border-bottom: 1px solid #d8dee4; }
.work-detail-heading h2 { margin: 0 0 10px; font: 500 28px/1.3 "Segoe UI", Arial, sans-serif; }
.work-detail-heading h2 span { color: #636c76; font-weight: 300; }
.work-detail-heading p { margin: 0; color: #636c76; font-size: 12px; }
.work-detail-heading p strong { color: #1f2328; }
.state-badge { display: inline-flex; min-height: 26px; align-items: center; margin-right: 7px; padding: 2px 10px; border-radius: 20px; background: #1f883d; color: white; font-size: 11px; font-weight: 650; text-transform: capitalize; }
.state-badge.closed, .state-badge.merged { background: #8250df; }
.state-badge.draft { background: #636c76; }
.discussion-layout { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: 24px; margin-top: 24px; align-items: start; }
.discussion-timeline { min-width: 0; }
.discussion-card { margin-bottom: 16px; overflow: hidden; border: 1px solid #d0d7de; border-radius: 7px; background: #fff; }
.discussion-card > header { min-height: 42px; display: flex; align-items: center; gap: 6px; padding: 0 14px; border-bottom: 1px solid #d8dee4; background: #f6f8fa; font-size: 12px; }
.discussion-card > header span { color: #636c76; }
.discussion-body { padding: 18px; color: #1f2328; font-size: 14px; overflow-wrap: anywhere; }
.discussion-body > :first-child { margin-top: 0; }
.discussion-body > :last-child { margin-bottom: 0; }
.discussion-body a { color: #0969da; }
.discussion-body code { padding: 2px 4px; border-radius: 4px; background: #f0f2f4; font: 12px Consolas, monospace; }
.discussion-body pre { padding: 13px; overflow: auto; border-radius: 6px; background: #f6f8fa; }
.discussion-body pre code { padding: 0; background: transparent; }
.work-sidebar { border-top: 1px solid #d8dee4; color: #636c76; font-size: 12px; }
.work-sidebar section { padding: 14px 0; border-bottom: 1px solid #d8dee4; }
.work-sidebar section > strong, .work-sidebar section > span { display: block; }
.work-sidebar section > strong { margin-bottom: 8px; color: #1f2328; }
.pull-summary { min-height: 48px; display: flex; align-items: center; gap: 20px; margin-top: 14px; padding: 0 14px; border: 1px solid #d0d7de; border-radius: 7px; background: #f6f8fa; color: #636c76; font-size: 11px; }
.pull-summary code { color: #0969da; font: 11px Consolas, monospace; }
.pull-summary .commit-change { margin-left: auto; }
.pull-files { margin-top: 24px; }
.pull-files > h3 { display: flex; align-items: center; gap: 7px; margin: 0 0 12px; font-size: 16px; }
.pull-files > h3 span { min-width: 22px; padding: 1px 6px; border-radius: 20px; background: #eaeef2; font-size: 11px; text-align: center; }
.pull-files .diff-summary { padding: 0 0 12px; border-bottom: 0; }
.pull-files .diff-index { margin: 0 0 16px; }
.pull-files .diff-file { margin: 0 0 16px; }
.release-list-page, .release-detail { color: #1f2328; }
.release-list-page { overflow: hidden; border: 1px solid #d0d7de; border-radius: 7px; background: #fff; }
.release-list-page > header { min-height: 84px; display: flex; align-items: center; justify-content: space-between; padding: 15px 20px; border-bottom: 1px solid #d8dee4; background: #f6f8fa; }
.release-list-page > header h2 { margin: 0; font-size: 20px; }
.release-list-page > header p { margin: 3px 0 0; color: #636c76; font-size: 12px; }
.release-list-page > header > span { color: #636c76; font-size: 12px; }
.release-list-page > header > span strong { color: #1f2328; }
.release-list article { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 26px; padding: 24px 20px; border-bottom: 1px solid #d8dee4; }
.release-list article:last-child { border-bottom: 0; }
.release-list article > aside { display: flex; align-items: flex-start; flex-direction: column; gap: 8px; }
.release-list time { color: #636c76; font-size: 11px; }
.release-tag { display: inline-flex; min-height: 24px; align-items: center; padding: 2px 8px; border: 1px solid #b6c7d9; border-radius: 5px; background: #f1f6fb; color: #334968; font: 600 11px Consolas, monospace; }
.release-list-title { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.release-list-title > a { color: #0969da; font-size: 18px; font-weight: 650; text-decoration: none; }
.latest-release, .release-status { display: inline-flex; min-height: 20px; align-items: center; padding: 1px 7px; border: 1px solid #1f883d; border-radius: 20px; color: #1f883d; font-size: 9px; font-weight: 650; }
.release-status { border-color: #bf8700; color: #9a6700; }
.release-list article > div > p { margin: 10px 0; color: #4d5661; font-size: 13px; white-space: pre-line; }
.release-list article > div > span { color: #636c76; font-size: 11px; }
.release-detail { overflow: hidden; border: 1px solid #d0d7de; border-radius: 7px; background: #fff; }
.release-detail > header { min-height: 118px; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 22px; border-bottom: 1px solid #d8dee4; background: #f6f8fa; }
.release-kicker { display: flex; align-items: center; gap: 7px; }
.release-detail h2 { margin: 10px 0 6px; font-size: 24px; }
.release-detail > header p { margin: 0; color: #636c76; font-size: 12px; }
.release-body { padding: 28px 34px; border-bottom: 1px solid #d8dee4; font-size: 15px; }
.release-assets { padding: 22px 34px 28px; }
.release-assets h3 { display: flex; align-items: center; gap: 7px; margin: 0 0 12px; font-size: 15px; }
.release-assets h3 span { min-width: 22px; padding: 1px 6px; border-radius: 20px; background: #eaeef2; font-size: 11px; text-align: center; }
.release-assets ul { margin: 0; padding: 0; border: 1px solid #d8dee4; border-radius: 6px; list-style: none; }
.release-assets li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; padding: 11px 13px; border-bottom: 1px solid #eaeef2; }
.release-assets li:last-child { border-bottom: 0; }
.release-assets li strong { font-size: 12px; }
.release-assets li code { color: #636c76; font: 11px Consolas, monospace; }
.release-assets li span { grid-row: 1 / span 2; grid-column: 2; align-self: center; color: #636c76; font-size: 10px; }
.release-assets > p { margin: 10px 0 0; color: #636c76; font-size: 11px; }
.repository-overview-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 24px; align-items: start; }
.repository-code-column { min-width: 0; }
.repository-about { color: #1f2328; font-size: 12px; }
.repository-about > h2 { margin: 0 0 8px; font-size: 16px; }
.repository-about > p { margin: 0 0 10px; color: #4d5661; font-size: 13px; }
.about-homepage { display: block; margin-bottom: 12px; color: #0969da; overflow-wrap: anywhere; }
.about-topics { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 16px; }
.about-topics span { padding: 2px 8px; border-radius: 20px; background: #ddf4ff; color: #0969da; font-size: 10px; font-weight: 600; }
.archived-badge { display: inline-flex; margin-bottom: 14px; padding: 3px 8px; border: 1px solid #bf8700; border-radius: 5px; color: #9a6700; font-size: 10px; font-weight: 600; }
.about-stats { margin: 0; padding: 14px 0; border-top: 1px solid #d8dee4; border-bottom: 1px solid #d8dee4; list-style: none; }
.about-stats li { padding: 3px 0; color: #636c76; }
.about-stats strong { color: #1f2328; }
.about-section { padding: 16px 0; border-bottom: 1px solid #d8dee4; }
.about-section h3 { margin: 0 0 8px; font-size: 13px; }
.about-section p { margin: 0; color: #636c76; }
.language-breakdown { display: grid; gap: 6px; }
.language-breakdown > div { display: flex; justify-content: space-between; gap: 10px; color: #636c76; font-size: 11px; }
.language-breakdown span { color: #1f2328; }

.search-shell { width: min(1180px, 92vw); display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 34px; margin: 36px auto 80px; align-items: start; }
.search-filters { position: sticky; top: 24px; display: flex; flex-direction: column; padding: 8px 0; }
.search-filters h2 { margin: 0 12px 10px; color: #636c76; font-size: 12px; font-weight: 600; }
.search-filters > a { min-height: 38px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px; border-radius: 6px; color: #1f2328; font-size: 13px; text-decoration: none; }
.search-filters > a:hover { background: #eaeef2; }
.search-filters > a.active { background: #0969da; color: white; font-weight: 600; }
.search-filters > a span { min-width: 24px; padding: 1px 6px; border-radius: 20px; background: rgba(175, 184, 193, .25); font-size: 11px; text-align: center; }
.search-filters > a.active span { background: rgba(255, 255, 255, .22); }
.search-scope { margin: 20px 12px 0; padding-top: 17px; border-top: 1px solid #d8dee4; font-size: 12px; }
.search-scope strong, .search-scope span { display: block; }
.search-scope span { margin: 3px 0 9px; color: #636c76; }
.search-scope a { color: #0969da; text-decoration: none; }
.search-heading { margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid #d8dee4; }
.search-heading p { margin: 0 0 3px; color: #636c76; font-size: 12px; }
.search-heading h1 { margin: 0; font: 500 20px/1.4 "Segoe UI", Arial, sans-serif; }
.search-heading h1 strong { font-weight: 650; }
.search-empty { padding: 70px 30px; border: 1px dashed #afb8c1; border-radius: 7px; background: #fff; text-align: center; }
.search-empty strong { font-size: 17px; }
.search-empty p { margin: 5px 0 0; color: #636c76; font-size: 13px; }
.result-group { margin-bottom: 24px; overflow: hidden; border: 1px solid #d0d7de; border-radius: 7px; background: #fff; }
.result-group > header { height: 44px; display: flex; align-items: center; gap: 8px; padding: 0 16px; border-bottom: 1px solid #d8dee4; background: #f6f8fa; }
.result-group > header h2 { margin: 0; font-size: 14px; }
.result-group > header span { padding: 1px 7px; border-radius: 20px; background: #eaeef2; font-size: 11px; }
.code-result, .commit-result, .repository-result, .work-search-result { padding: 16px 18px; border-bottom: 1px solid #eaeef2; }
.code-result:last-child, .commit-result:last-child, .repository-result:last-child, .work-search-result:last-child { border-bottom: 0; }
.result-path { display: flex; gap: 5px; color: #0969da; font-size: 13px; text-decoration: none; }
.result-path span:last-child { overflow-wrap: anywhere; }
.code-result-line { display: grid; grid-template-columns: 46px minmax(0, 1fr); margin-top: 10px; overflow: hidden; border: 1px solid #eaeef2; border-radius: 5px; color: #1f2328; font: 12px/1.6 Consolas, monospace; text-decoration: none; }
.code-result-line > span { padding: 7px 10px; background: #f6f8fa; color: #8c959f; text-align: right; }
.code-result-line code { overflow: hidden; padding: 7px 12px; text-overflow: ellipsis; white-space: pre; }
.code-result > p { margin: 8px 0 0; color: #636c76; font-size: 12px; }
.commit-result { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.commit-result a { min-width: 0; color: #1f2328; text-decoration: none; }
.commit-result strong, .commit-result span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.commit-result strong { font-size: 13px; }
.commit-result span { margin-top: 4px; color: #636c76; font-size: 12px; }
.commit-result > code { flex: 0 0 auto; color: #0969da; font-size: 11px; }
.repository-result > a { color: #0969da; font-size: 15px; font-weight: 650; text-decoration: none; }
.repository-result p { margin: 5px 0 9px; color: #4d5661; font-size: 13px; }
.repository-result > span { color: #636c76; font-size: 11px; }
.work-search-result { position: relative; padding-right: 95px; }
.work-search-result > a { color: #0969da; text-decoration: none; }
.work-search-result > a strong, .work-search-result > a span { display: block; }
.work-search-result > a strong { font-size: 14px; }
.work-search-result > a span { margin-top: 2px; color: #636c76; font-size: 11px; }
.work-search-result > p { margin: 9px 0 0; color: #4d5661; font-size: 12px; }
.work-search-result > .state-badge { position: absolute; top: 16px; right: 18px; min-height: 22px; padding: 1px 8px; font-size: 10px; }
.work-search-result > .release-tag { position: absolute; top: 16px; right: 18px; }

.state-page { min-height: 100vh; display: grid; place-items: center; background: var(--viewer); color: white; }
.state-shell { max-width: 620px; padding: 50px; text-align: center; }
.state-code { color: var(--cyan); font-size: 12px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.state-shell h1 { margin: 10px 0 15px; font: 700 46px/1.1 Georgia, serif; }
.state-shell > p:not(.state-code) { color: #b8c3d7; }
.state-shell .text-link { color: var(--cyan); }

@media (max-width: 900px) {
  .owner-shell { width: min(720px, 92vw); margin: 40px auto; }
  .share-form { grid-template-columns: 1fr; }
  .publish-panel { position: static; }
  .snapshot-list-item { align-items: flex-start; flex-direction: column; }
  .viewer-header { height: auto; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px 20px; padding: 12px 4vw; }
  .snapshot-search { width: 100%; grid-row: 2; grid-column: 1 / -1; margin: 0; }
  .top-nav { justify-self: end; }
  .profile-tabs > div { padding-left: 0; overflow-x: auto; }
  .profile-shell { grid-template-columns: 180px minmax(0, 1fr); gap: 24px; }
  .profile-avatar { width: 180px; height: 180px; }
  .repo-tabs-inner { overflow-x: auto; }
  .repo-tabs a { flex: 0 0 auto; }
  .repository-overview-layout, .discussion-layout, .search-shell { grid-template-columns: 1fr; }
  .repository-about { padding-top: 20px; border-top: 1px solid #d8dee4; }
  .search-filters { position: static; flex-direction: row; overflow-x: auto; }
  .search-filters h2 { display: none; }
  .search-filters > a { flex: 0 0 auto; }
  .search-scope { margin: 0 0 0 12px; padding: 0 0 0 17px; border-top: 0; border-left: 1px solid #d8dee4; }
}

@media (max-width: 640px) {
  .owner-header { height: auto; gap: 16px; padding: 14px 4vw; }
  .owner-header-actions { gap: 10px; }
  .owner-header-actions > .text-link, .owner-identity span { display: none; }
  .welcome-panel, .setup-panel, .created-panel { width: 100%; padding: 30px 24px; }
  .welcome-panel h1, .created-panel h1 { font-size: 36px; }
  .setup-panel h1, .workspace-heading h1 { font-size: 31px; }
  .owner-shell { margin-top: 30px; }
  .workspace-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .repo-selection { grid-template-columns: 1fr; }
  .snapshot-list-actions { flex-wrap: wrap; }
  .center-shell { padding: 20px; }
  .copy-row, .created-actions { align-items: stretch; flex-direction: column; }
  .copy-row input { min-height: 44px; }
  .viewer-header > .wordmark { justify-self: start; }
  .top-nav { grid-row: 1; grid-column: 2; justify-self: end; }
  .top-nav span { display: none; }
  .profile-shell { grid-template-columns: 1fr; margin-top: 24px; }
  .profile-card { position: static; }
  .profile-avatar { width: 104px; height: 104px; }
  .repo-grid { grid-template-columns: 1fr; }
  .repository-filter { grid-template-columns: 1fr 1fr; }
  .repository-filter input { grid-column: 1 / -1; }
  .repository-list article { flex-direction: column; gap: 12px; }
  .repo-mast-inner, .repo-tabs-inner, .repository-shell { width: 92vw; }
  .repo-identity { align-items: flex-start; flex-wrap: wrap; }
  .repo-identity h1 { min-width: calc(100% - 32px); font-size: 19px; }
  .repo-facts { flex-wrap: wrap; gap: 7px 16px; }
  .repo-tabs-inner { height: 47px; }
  .repo-tabs a { padding: 0 10px; white-space: nowrap; }
  .code-toolbar { height: auto; flex-wrap: wrap; }
  .commit-shortcut { margin-left: 0; }
  .latest-commit { grid-template-columns: 28px minmax(0, 1fr) auto; }
  .latest-commit > code, .latest-commit > time { display: none; }
  .file-row { grid-template-columns: 24px minmax(0, 1fr); }
  .file-row > span:last-child { display: none; }
  .markdown-body { padding: 26px 18px 34px; }
  .markdown-body h1 { font-size: 25px; }
  .file-view-header, .section-title-row, .commit-detail-heading, .work-list-header, .work-detail-heading, .release-detail > header { align-items: flex-start; flex-direction: column; gap: 12px; padding: 15px; }
  .file-view-actions { flex-wrap: wrap; }
  .commit-feed li { grid-template-columns: 28px minmax(0, 1fr) auto; }
  .commit-feed .commit-change { display: none; }
  .commit-detail-side { width: 100%; justify-content: space-between; }
  .diff-summary { padding: 12px 15px; }
  .diff-index { margin: 12px 12px 0; }
  .diff-file { margin: 12px; }
  .diff-file > summary { grid-template-columns: 12px auto minmax(0, 1fr); row-gap: 8px; }
  .diff-file-stat { grid-column: 2 / -1; }
  .diff-copy { display: none; }
  .diff-col-num { width: 42px; }
  .diff-gutter { width: 42px; min-width: 42px; padding: 0 6px; }
  .diff-gutter:nth-child(2) { left: 42px; }
  .work-list-header nav { width: 100%; overflow-x: auto; }
  .work-list-header nav a { flex: 0 0 auto; }
  .work-list article { grid-template-columns: 22px minmax(0, 1fr); }
  .work-comments { display: none; }
  .pull-summary { align-items: flex-start; flex-wrap: wrap; padding: 12px; }
  .pull-summary .commit-change { margin-left: 0; }
  .release-list article { grid-template-columns: 1fr; gap: 14px; }
  .release-body, .release-assets { padding: 22px 18px; }
  .search-shell { width: 92vw; margin-top: 22px; }
  .search-scope { display: none; }
  .search-filters > a { min-height: 34px; }
  .state-shell { padding: 30px 20px; }
  .state-shell h1 { font-size: 35px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after { scroll-behavior: auto !important; transition: none !important; }
}
