/* 智雾 Git · 墨雾主题
   覆盖 Semantic UI / Gogs 默认皮：墨色顶栏、雾灰页面、登录分栏。 */

:root {
  --zww-ink: #122027;
  --zww-ink-2: #1a3038;
  --zww-mist: #d7e0e3;
  --zww-paper: #f4f7f6;
  --zww-card: #ffffff;
  --zww-line: #c9d4d8;
  --zww-text: #1c2a2f;
  --zww-muted: #5e7178;
  --zww-accent: #3a7d7a;
  --zww-accent-2: #c45c26;
  --zww-font: "Source Han Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;
  --zww-display: "Songti SC", "Noto Serif SC", "STSong", "SimSun", serif;
}

html,
body {
  font-family: var(--zww-font) !important;
}

body:not(.full-width) {
  min-width: 0;
  background: var(--zww-paper) !important;
  color: var(--zww-text);
}

.full.height {
  background: transparent;
}

/* —— 顶栏 —— */
.following.bar.light {
  background: var(--zww-ink) !important;
  border-bottom: 1px solid #0b161a !important;
  box-shadow: none !important;
}

.following.bar .top.menu a.item,
.following.bar .top.menu .item {
  color: #d5e0e3 !important;
}

.following.bar .top.menu a.item:hover,
.following.bar .top.menu .dropdown.item:hover {
  color: #fff !important;
  background: transparent !important;
}

.following.bar .top.menu a.item.active {
  color: #fff !important;
  box-shadow: inset 0 -2px 0 var(--zww-accent);
}

.following.bar .item.brand {
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: none;
}

.following.bar .item.brand .brand-text {
  margin-left: 10px;
  color: #f3f6f5 !important;
  font-size: 13px;
}

.zww-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 2px;
  background: #ead7c3;
  color: var(--zww-ink);
  font-family: var(--zww-display);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}

.following.bar .avatar > .ui.image {
  border: 1px solid #3d555c;
}

.following.bar .menu .menu {
  border-radius: 4px !important;
  border-color: var(--zww-line) !important;
}

/* —— 页脚 —— */
footer {
  background: var(--zww-ink) !important;
  border-top: none !important;
  color: #8aa0a6 !important;
  height: auto !important;
  padding: 14px 0 18px;
  margin-top: 48px !important;
}

footer .container .fa {
  color: #8aa0a6 !important;
}

footer a {
  color: #b7c6ca !important;
}

footer .container .links > * {
  border-left-color: #31464c !important;
}

/* —— 按钮 / 链接 —— */
.ui.green.button,
.ui.primary.button,
.zww-btn-primary.ui.button {
  background: var(--zww-ink-2) !important;
  color: #f4f7f6 !important;
  font-weight: 600 !important;
  border-radius: 3px !important;
  text-shadow: none !important;
}

.ui.green.button:hover,
.ui.primary.button:hover,
.zww-btn-primary.ui.button:hover {
  background: #243e47 !important;
  color: #fff !important;
}

a {
  color: var(--zww-accent);
}

a:hover {
  color: #2f6764;
}

/* —— 通用卡片 / 表格 —— */
.ui.attached.header {
  background: #eef3f2 !important;
  border-color: var(--zww-line) !important;
  font-weight: 600 !important;
}

.ui.segment,
.ui.tabular.menu,
.ui.table {
  border-color: var(--zww-line) !important;
}

.repository .header-wrapper {
  background: #e8eef0 !important;
  border-bottom: 1px solid var(--zww-line);
}

.dashboard.feeds .filter.menu .item .text,
.ui.vertical.menu .header.item {
  background: #eef3f2;
}

.feeds .list ul li.private {
  background-color: #f3eee6;
}

/* —— 登录分栏 —— */
body.zww-page-auth,
body:has(.zww-auth) {
  background: var(--zww-ink) !important;
}

body.zww-page-auth .following.bar,
body:has(.zww-auth) .following.bar,
.full.height:has(.zww-auth) > .following.bar {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

body.zww-page-auth footer,
body:has(.zww-auth) footer {
  display: none;
}

body.zww-page-auth .full.height,
body:has(.zww-auth) .full.height {
  margin: 0;
  min-height: 100vh;
}

.user.signin.zww-auth {
  padding: 0 !important;
  margin: 0;
}

.zww-auth-stage {
  display: grid;
  grid-template-columns: minmax(260px, 0.92fr) minmax(340px, 1.08fr);
  min-height: 100vh;
}

.zww-auth-panel {
  position: relative;
  overflow: hidden;
  background: #0e1c22;
  color: #e8eef0;
  padding: 56px 64px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.zww-fog {
  position: absolute;
  inset: -20%;
  background:
    radial-gradient(ellipse 80% 50% at 20% 20%, rgba(196, 92, 38, 0.18), transparent 55%),
    radial-gradient(ellipse 70% 60% at 80% 80%, rgba(58, 125, 122, 0.28), transparent 50%),
    radial-gradient(ellipse 50% 40% at 50% 50%, rgba(255, 255, 255, 0.06), transparent 70%);
  pointer-events: none;
}

.zww-auth-panel-inner {
  position: relative;
  z-index: 1;
  max-width: 380px;
}

.zww-auth-panel .zww-mark {
  width: 52px;
  height: 52px;
  font-size: 24px;
  margin-bottom: 20px;
}

.zww-kicker {
  margin: 0 0 10px;
  font-size: 11px;
  letter-spacing: 0.22em;
  color: #c45c26;
  font-weight: 600;
}

.zww-auth-panel h1 {
  margin: 0 0 14px;
  font-family: var(--zww-display);
  font-size: 36px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.25;
  color: #f6f3ee;
  white-space: nowrap;
}

.zww-lead {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: #9db0b5;
}

.zww-auth-form {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--zww-paper);
  padding: 48px 40px;
}

.zww-form {
  width: 100% !important;
  max-width: 360px !important;
  margin: 0 !important;
}

.zww-form h2 {
  margin: 0 0 6px;
  font-size: 22px;
  font-weight: 600;
  color: var(--zww-ink);
}

.zww-form-hint {
  margin: 0 0 28px;
  color: var(--zww-muted);
  font-size: 13px;
}

.zww-form .field {
  margin-bottom: 18px;
}

.zww-form .field > label {
  display: block;
  width: auto !important;
  text-align: left !important;
  margin: 0 0 8px !important;
  color: var(--zww-text);
  font-weight: 600;
}

.user.signin .zww-form input,
.user.signin .zww-form input[type="text"],
.user.signin .zww-form input[type="password"],
.user.signin .zww-form textarea {
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 3px !important;
  border: 1px solid var(--zww-line) !important;
  padding: 11px 12px !important;
  background: #fff !important;
}

.zww-form input:focus {
  border-color: var(--zww-accent) !important;
}

.zww-form-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 22px;
}

.zww-muted-link {
  font-size: 13px;
  color: var(--zww-muted) !important;
}

.zww-btn-primary.ui.button {
  width: 100%;
  padding: 12px 16px !important;
  margin-top: 4px;
}

.zww-form-foot {
  margin-top: 16px;
  text-align: center;
}

/* —— 首页 —— */
.zww-home {
  max-width: 980px;
  margin: 0 auto;
  padding: 56px 24px 80px;
}

.zww-home-hero {
  margin-bottom: 48px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--zww-line);
}

.zww-home-hero h2 {
  margin: 0 0 10px;
  font-family: var(--zww-display);
  font-size: 34px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--zww-ink);
}

.zww-home-hero .large {
  margin: 0;
  color: var(--zww-muted);
  font-size: 16px;
}

.zww-home-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.zww-home-grid article {
  background: var(--zww-card);
  border: 1px solid var(--zww-line);
  padding: 22px 22px 20px;
}

.zww-home-grid .octicon {
  color: var(--zww-accent-2);
  font-size: 22px;
}

.zww-home-grid h3 {
  margin: 10px 0 8px;
  font-size: 16px;
  color: var(--zww-ink);
}

.zww-home-grid p {
  margin: 0;
  color: var(--zww-muted);
  line-height: 1.65;
  font-size: 14px;
}

.home .logo {
  display: none;
}

/* —— 登录后：菜单 / 按钮 / 表格 —— */
.ui.menu,
.ui.button:not(.label),
.ui.header,
.ui.input input {
  font-family: var(--zww-font) !important;
}

.ui.tabular.menu {
  border-bottom-color: var(--zww-line) !important;
}

.ui.tabular.menu .item {
  color: var(--zww-muted) !important;
}

.ui.tabular.menu .item:hover {
  color: var(--zww-ink) !important;
}

.ui.tabular.menu .active.item {
  color: var(--zww-ink) !important;
  border-color: var(--zww-line) !important;
  font-weight: 600;
  background: var(--zww-card) !important;
}

.ui.secondary.pointing.menu {
  border-bottom-color: var(--zww-line) !important;
}

.ui.secondary.pointing.menu .active.item {
  border-color: var(--zww-accent) !important;
  color: var(--zww-ink) !important;
}

.ui.vertical.menu {
  border-color: var(--zww-line) !important;
  box-shadow: none !important;
}

.ui.vertical.menu .header.item {
  background: #e8eef0 !important;
  color: var(--zww-ink) !important;
}

.ui.vertical.menu .active.item {
  background: #eef3f2 !important;
  color: var(--zww-ink) !important;
  font-weight: 600;
}

.ui.basic.button,
.ui.basic.label {
  color: var(--zww-ink) !important;
  background: #fff !important;
  box-shadow: 0 0 0 1px var(--zww-line) inset !important;
}

.ui.basic.button:hover,
.ui.labeled.button:hover .ui.basic.button {
  background: #eef3f2 !important;
  color: var(--zww-ink) !important;
}

.ui.blue.button,
.ui.blue.label {
  background-color: var(--zww-accent) !important;
  color: #fff !important;
}

.ui.blue.button:hover {
  background-color: #2f6764 !important;
}

.ui.orange.button {
  background: var(--zww-accent-2) !important;
}

.ui.pagination.menu {
  box-shadow: none !important;
  border-color: var(--zww-line) !important;
}

.ui.pagination.menu .active.item {
  background: var(--zww-ink) !important;
  color: #fff !important;
}

.ui.breadcrumb a {
  color: var(--zww-accent) !important;
}

.ui.breadcrumb .active.section {
  color: var(--zww-ink);
}

.ui.dropdown .menu {
  border-color: var(--zww-line) !important;
  box-shadow: none !important;
}

.ui.info.message {
  background: #e7f1f0 !important;
  color: var(--zww-ink) !important;
  box-shadow: 0 0 0 1px var(--zww-accent) inset !important;
}

.ui.positive.message,
.ui.success.message {
  background: #e7f1f0 !important;
  box-shadow: 0 0 0 1px var(--zww-accent) inset !important;
}

.ui.warning.message {
  background: #f6eee6 !important;
  box-shadow: 0 0 0 1px var(--zww-accent-2) inset !important;
}

.ui.input input:focus,
.ui.form input:focus,
.ui.form textarea:focus {
  border-color: var(--zww-accent) !important;
}

.ui.checkbox label {
  color: var(--zww-text) !important;
}

/* —— 仓库 —— */
.repository {
  color: var(--zww-text);
}

.repository .header-wrapper {
  background: #e4ecee !important;
  margin-top: -15px;
  padding-top: 18px;
  border-bottom: 1px solid var(--zww-line);
}

.repository .head .ui.huge.breadcrumb {
  color: var(--zww-ink);
}

.repository .head .mega-octicon {
  color: var(--zww-ink-2);
}

.repository .ui.tabs.divider {
  border-bottom-color: var(--zww-line) !important;
}

.repository.file.list #repo-files-table thead th {
  background: #eef3f2;
  color: var(--zww-muted);
}

.repository.file.list #repo-files-table tbody .octicon.octicon-file-directory,
.repository.file.list #repo-files-table tbody .octicon.octicon-file-submodule {
  color: var(--zww-accent) !important;
}

.repository.file.list #repo-files-table tr:hover {
  background-color: #eef5f4 !important;
}

.repository.file.list #file-content .header {
  background: #eef3f2;
  border-color: var(--zww-line);
}

.repository.file.list #file-content .code-view .lines-num {
  background: #eef3f2 !important;
  color: #7a8d93 !important;
}

.repository.file.list #file-content .code-view .lines-code .hljs,
.repository.file.list #file-content .code-view .lines-code pre {
  background-color: #fbfcfc !important;
}

.repository #clone-panel .clone.button {
  background: #fff !important;
  color: var(--zww-ink) !important;
  border: 1px solid var(--zww-line);
}

.repository #clone-panel input {
  border-color: var(--zww-line) !important;
  background: #fff;
}

.repository .filter.menu {
  border-color: var(--zww-line);
}

.repository.diff-file-box .header {
  background-color: #eef3f2 !important;
}

.repository .diff-file-box .code-diff .lines-num {
  background: #f3f7f6;
}

.issue.list > .item {
  border-bottom-color: var(--zww-line) !important;
}

.issue.list > .item .title {
  color: var(--zww-ink) !important;
}

.issue.list > .item .title:hover {
  color: var(--zww-accent) !important;
}

.repository.view.issue .title h1 {
  color: var(--zww-ink);
}

.repository.view.issue .comment-list .comment .content .header {
  background-color: #eef3f2 !important;
  border-bottom-color: var(--zww-line) !important;
  color: var(--zww-muted) !important;
}

.repository.release #release-list {
  border-top-color: var(--zww-line) !important;
}

.repository.wiki.view .markdown {
  color: var(--zww-text);
}

/* —— 仪表盘 / 探索 / 用户 —— */
.dashboard.feeds .ui.right .head.menu .item.active,
.dashboard.issues .ui.right .head.menu .item.active {
  color: var(--zww-accent-2) !important;
}

.feeds .news a {
  color: var(--zww-accent);
}

.feeds .list ul li:not(:last-child) {
  border-bottom-color: var(--zww-line) !important;
}

.feeds .list ul li a .octicon {
  color: var(--zww-muted) !important;
}

.feeds .list ul li.private {
  background-color: #f6eee6 !important;
}

.explore .navbar .item.active {
  color: var(--zww-ink);
}

.ui.repository.list .item:not(:first-child),
.ui.user.list .item:not(:first-child) {
  border-top-color: var(--zww-line) !important;
}

.ui.repository.list .item .ui.header .name {
  color: var(--zww-ink);
}

.user.profile .ui.card,
.organization.profile #org-info {
  border-color: var(--zww-line);
}

.user.settings .list .item,
.settings .key.list .item:not(:first-child),
.settings .hook.list > .item:not(:last-child) {
  border-color: var(--zww-line) !important;
}

.admin .table.segment {
  border-color: var(--zww-line);
}

.ui .text.blue,
.ui .text.blue a {
  color: var(--zww-accent) !important;
}

.ui .text.red {
  color: #a33b2b !important;
}

#search-repo-box .results,
#search-user-box .results {
  border: 1px solid var(--zww-line);
}

.markdown:not(code) a {
  color: var(--zww-accent);
}

.markdown:not(code) h1,
.markdown:not(code) h2 {
  border-bottom-color: var(--zww-line) !important;
}

@media only screen and (max-width: 900px) {
  .zww-auth-stage {
    grid-template-columns: 1fr;
  }

  .zww-auth-panel {
    min-height: 220px;
    padding: 36px 28px;
    align-items: flex-end;
  }

  .zww-auth-panel h1 {
    font-size: 32px;
  }
}

@media only screen and (max-width: 767px) {
  .ui.container:not(.fluid) {
    width: auto !important;
    margin-left: 12px !important;
    margin-right: 12px !important;
  }

  .following.bar .ui.secondary.menu {
    flex-wrap: wrap;
  }

  .zww-home-grid {
    grid-template-columns: 1fr;
  }

  footer .ui.left,
  footer .ui.right {
    float: none;
    display: block;
    margin-bottom: 8px;
  }
}
