/* Yang Baiyu / Gogs 0.14.3. Presentation only: native auth and permissions are retained. */
:root {
  --yb-paper: #fbfcff;
  --yb-surface: #f1f5ff;
  --yb-ink: #172b50;
  --yb-body: #435776;
  --yb-muted: #586b88;
  --yb-line: #dce5f4;
  --yb-accent: #285cdb;
  --yb-purple: #6554d9;
  --yb-sans: "Helvetica Neue", Helvetica, "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  --yb-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
html { scrollbar-gutter: stable; }
body { background: var(--yb-paper); color: var(--yb-body); font-family: var(--yb-sans); -webkit-font-smoothing: antialiased; }
body > .full.height { background: radial-gradient(ellipse 85% 500px at 85% 0, rgb(232 229 255 / .42), transparent 80%), var(--yb-paper); }
body a { color: var(--yb-accent); }
body a:hover { color: #5148bb; }
body a:focus-visible, body button:focus-visible, body input:focus-visible, body select:focus-visible { outline: 2px solid var(--yb-accent); outline-offset: 3px; }
::selection { background: #dce6ff; color: #172b50; }

/* Keep the original navigation DOM, account dropdown, CSRF form and permissions. */
.following.bar.light { padding: 0; background: rgb(255 255 255 / .92); border-bottom: 1px solid var(--yb-line); box-shadow: 0 1px 4px rgb(23 43 80 / .04); }
.following.bar > .ui.container { box-sizing: border-box; width: 100% !important; max-width: 1248px !important; padding-inline: clamp(20px, 5vw, 48px); margin-inline: auto !important; }
.following.bar > .ui.container > .ui.grid { margin: 0; }
.following.bar > .ui.container > .ui.grid > .column { width: 100%; padding: 0; }
.following.bar .ui.top.secondary.menu { display: flex; align-items: center; gap: 4px; min-height: 60px; margin: 0; padding: 0; border: 0; font-family: var(--yb-sans); }
.following.bar .ui.top.secondary.menu > .item { align-self: center; margin: 0; padding: 9px 12px; font-size: 14px; line-height: 1.5; color: var(--yb-muted); border-radius: 8px; }
.following.bar .ui.top.secondary.menu > .active.item { background: #eaf0ff; color: var(--yb-accent); font-weight: 600; }
.following.bar .ui.top.secondary.menu > .brand { display: inline-flex; flex-shrink: 0; align-items: center; gap: 10px; width: auto; min-width: 0; padding: 0; margin-right: 16px; background: transparent; }
.following.bar .ui.top.secondary.menu .brand img { display: none !important; }
.following.bar .brand::before { content: "杨"; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 28px; width: 28px; height: 28px; border-radius: 8px; background: #285cdb; color: #fff; font: 600 12px/1 var(--yb-sans); }
.following.bar .brand::after { content: "杨白玉"; margin: 0; white-space: nowrap; color: var(--yb-ink); font: 600 17px/1.5 var(--yb-sans); letter-spacing: -.025em; }

/* Native UI components: do not override code highlighting or semantic status colors. */
.ui.header, .ui.menu, .ui.button, .ui.form input:not([type=checkbox]):not([type=radio]), .ui.form textarea { font-family: var(--yb-sans); }
.ui.header { color: var(--yb-ink); }
.ui.segment:not(.inverted), .ui.segments, .ui.attached.header, .ui.table { border-color: var(--yb-line); }
.ui.segment:not(.inverted) { box-shadow: 0 3px 14px rgb(43 75 143 / .035); }
.ui.top.attached.header { background: #f0f4ff; font-weight: 600; }
.ui.table > thead > tr > th { background: #f3f6ff; color: #40597e; border-color: var(--yb-line); }
.ui.form input:not([type=checkbox]):not([type=radio]), .ui.form textarea { border-color: #cfdcf0; border-radius: 8px; color: var(--yb-ink); background: #fff; }
.ui.form input:focus, .ui.form textarea:focus { border-color: #6c8ce5; }
.ui.form label { color: var(--yb-body); }
.ui.primary.button, .ui.blue.button { background: linear-gradient(110deg, #2464dc, #6554d9); color: #fff; border-radius: 8px; }
.ui.primary.button:hover, .ui.blue.button:hover { background: linear-gradient(110deg, #1d53bd, #5343ba); color: #fff; }
.ui.menu .active.item { color: var(--yb-accent); }
.ui.secondary.pointing.menu .active.item { border-color: #5373de; }
.ui.pagination.menu { box-shadow: none; border-color: var(--yb-line); }
.ui.pagination.menu .active.item { background: #eaf0ff; }
.repository .ui.secondary.menu { background: transparent; }
.repository .header-wrapper { background: #f4f7ff; border-color: var(--yb-line); }
.repository .repo-title a { color: var(--yb-accent); }
.repository .file.list .ui.table { border-radius: 10px; overflow: hidden; }
.repository .file.list .ui.table tbody tr:hover { background: #f7f9ff; }
.repository .file-view { border-color: var(--yb-line); }
.repository .file-view .header { background: #f3f6ff; }
.user.signin { padding-block: 48px 64px; }
.user.signin .ui.top.attached.header { padding: 22px; font-size: 22px; background: #edf2ff; border-radius: 16px 16px 0 0; }
.user.signin .ui.attached.segment { padding: 28px; border-radius: 0 0 16px 16px; box-shadow: 0 16px 45px rgb(43 75 143 / .07); }
.user.signin .ui.green.button { background: linear-gradient(110deg, #2464dc, #6554d9); color: #fff; border-radius: 8px; }
.user.signin .ui.green.button:hover { background: linear-gradient(110deg, #1d53bd, #5343ba); }
body > footer { border-top: 1px solid var(--yb-line); background: #f1f5ff; color: var(--yb-muted); font-family: var(--yb-sans); }
body > footer a { color: #586f98; }

/* Anonymous landing page. No Vue, build step, external font or remote dependency. */
.yb-home { color: var(--yb-body); overflow: clip; }
.yb-home *, .yb-home *::before, .yb-home *::after { box-sizing: border-box; }
.yb-shell { width: 100%; max-width: 1248px; padding-inline: clamp(20px, 5vw, 48px); margin-inline: auto; }
.yb-home h1, .yb-home h2, .yb-home h3, .yb-home p { font-family: var(--yb-sans); margin: 0; }
.yb-home h1, .yb-home h2, .yb-home h3 { color: var(--yb-ink); }
.yb-hero { display: grid; grid-template-columns: 1.08fr 1fr; align-items: center; gap: 54px; padding-block: 88px 76px; position: relative; }
.yb-eyebrow { display: inline-flex; gap: 9px; align-items: center; color: #5578bd; font: 11px/1.6 var(--yb-mono); letter-spacing: .11em; }
.yb-eyebrow > span { display: block; width: 6px; height: 6px; border-radius: 50%; background: #6687ef; box-shadow: 0 0 10px #6687ef44; }
.yb-hero h1 { margin-top: 24px; font-size: clamp(30px, 3.7vw, 46px); line-height: 1.4; letter-spacing: -.035em; font-weight: 600; }
.yb-hero h1 > span { background: linear-gradient(110deg, #285cdb, #7655d8, #0089c9); background-clip: text; -webkit-background-clip: text; color: transparent; }
.yb-home .yb-lead { margin-top: 22px; max-width: 500px; font-size: 16px; line-height: 1.95; color: var(--yb-muted); }
.yb-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.yb-button { display: inline-flex; justify-content: center; align-items: center; gap: 16px; padding: 13px 22px; border-radius: 999px; font-size: 14px; font-weight: 600; line-height: 1.5; text-decoration: none; transition: transform .25s, box-shadow .25s; }
.yb-button-primary { background: linear-gradient(110deg, #2464dc, #6554d9); color: white; box-shadow: 0 5px 18px rgb(67 105 220 / .18); }
.yb-button-primary:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 8px 26px rgb(67 105 220 / .23); }
.yb-button-secondary { background: #fff; border: 1px solid #cfdcf6; color: #42639f; }
.yb-button-secondary:hover { background: #f3f6ff; }
.yb-hero-meta { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 10px 20px; color: #7185a4; font-size: 11px; line-height: 1.8; }
.yb-workspace { position: relative; border: 1px solid #d6e1f5; border-radius: 18px; background: rgb(255 255 255 / .92); box-shadow: 0 24px 65px rgb(50 79 145 / .09); animation: yb-float 8s ease-in-out infinite; }
.yb-workspace::before { content: ""; position: absolute; z-index: -1; inset: -25px; border-radius: 60px; background: radial-gradient(ellipse, #cee7ff88, transparent 70%); filter: blur(20px); }
.yb-workspace-bar { display: flex; align-items: center; gap: 14px; border-bottom: 1px solid #e3eaf6; border-radius: 18px 18px 0 0; padding: 16px 20px; background: #f6f8ff; color: #6c80a2; font: 10px/1.5 var(--yb-mono); }
.yb-lights { display: flex; gap: 5px; }
.yb-lights i { display: block; width: 6px; height: 6px; border-radius: 50%; background: #c6d4ec; }
.yb-lights i:first-child { background: #78bde8; }
.yb-workspace-label { margin-left: auto; color: #6c67bf; white-space: nowrap; }
.yb-workspace-body { padding: 24px; }
.yb-code-line { display: flex; align-items: center; gap: 18px; padding: 14px 0; font: 14px/1.5 var(--yb-mono); }
.yb-code-line > span { color: #a3b4d0; font-size: 11px; }
.yb-code-line strong { color: #355a9e; font-weight: 500; }
.yb-code-line em { margin-left: auto; color: #8293ad; font: 12px/1.5 var(--yb-sans); font-style: normal; }
.yb-code-note { border-top: 1px dashed #dce5f4; padding-top: 22px; margin-top: 16px; font-size: 12px; line-height: 1.8; color: #5c78ab; }
.yb-code-note > span:first-child { color: #6d72d0; margin-right: 6px; }
.yb-cursor { animation: yb-blink 1.4s steps(2, start) infinite; }
.yb-workspace-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; border-top: 1px solid #e8edf6; padding: 13px 20px; color: #8795af; font: 9px/1.6 var(--yb-mono); }
.yb-workspace-footer > span:first-child { display: flex; gap: 7px; align-items: center; }
.yb-workspace-footer i { height: 5px; width: 5px; border-radius: 50%; background: #73a5db; }
.yb-discover { margin-bottom: 48px; display: grid; grid-template-columns: 1fr minmax(280px, .8fr); gap: 40px; align-items: center; padding-block: 38px; border-top: 1px solid #dce5f4; }
.yb-home h2 { font-size: clamp(23px, 2.5vw, 30px); line-height: 1.5; font-weight: 600; letter-spacing: -.02em; }
.yb-discover h2 { margin-top: 12px; font-size: 23px; }
.yb-discover p { margin-top: 12px; font-size: 14px; line-height: 1.8; color: var(--yb-muted); }
.yb-search { display: flex; gap: 8px; padding: 7px; border: 1px solid #cfdcf2; border-radius: 12px; background: #fff; }
.yb-search input { min-width: 0; width: 100%; padding: 9px 10px; border: 0; border-radius: 6px; color: var(--yb-ink); font: 14px/1.5 var(--yb-sans); background: transparent; }
.yb-search input::placeholder { color: #8495b0; }
.yb-search button { flex-shrink: 0; display: inline-flex; align-items: center; gap: 12px; padding: 10px 16px; border: 0; border-radius: 8px; background: #eaf0ff; color: #285cdb; font: 600 13px/1.5 var(--yb-sans); cursor: pointer; }
.yb-search button:hover { background: #dde7ff; }
.yb-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@keyframes yb-float { 50% { transform: translateY(-7px); } }
@keyframes yb-blink { 50% { opacity: 0; } }
@media (max-width: 991px) {
  .yb-hero { grid-template-columns: 1fr; gap: 44px; padding-block: 52px; }
  .yb-workspace { max-width: 620px; width: 100%; }
  .yb-discover { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 767px) {
  .following.bar .ui.top.secondary.menu { flex-wrap: wrap; min-height: 60px; }
  .yb-hero h1 { font-size: clamp(27px, 6.8vw, 36px); }
  .yb-home .yb-lead { font-size: 15px; }
  .yb-workspace-body { padding: 18px; }
  .yb-workspace-label { display: none; }
  .yb-code-line { gap: 12px; font-size: 13px; }
  .yb-code-line em { font-size: 11px; }
  .user.signin .ui.attached.segment { padding: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .yb-home *, .yb-home *::before, .yb-home *::after { animation: none !important; transition: none !important; }
}
