/* ==========================================================================
   Kurosek theme for Gitea. Layered on top of the built-in gitea-dark theme:
   only variables and a handful of chrome rules are overridden, so upgrades
   that change Gitea's markup cannot break the instance's styling.
   ========================================================================== */

@font-face {
  font-family: 'Orbitron';
  src: url('/assets/fonts/orbitron-latin.woff2') format('woff2');
  font-weight: 400 900; font-display: swap;
}
@font-face {
  font-family: 'Rajdhani';
  src: url('/assets/fonts/rajdhani-500.woff2') format('woff2');
  font-weight: 500; font-display: swap;
}
@font-face {
  font-family: 'Rajdhani';
  src: url('/assets/fonts/rajdhani-600.woff2') format('woff2');
  font-weight: 600; font-display: swap;
}
@font-face {
  font-family: 'Share Tech Mono';
  src: url('/assets/fonts/sharetechmono-400.woff2') format('woff2');
  font-weight: 400; font-display: swap;
}

:root {
  --kurosek-cyan:    #00e5ff;
  --kurosek-magenta: #ff2d87;
  --kurosek-bg:      #05060b;
  --kurosek-panel:   #0b0e18;
  --kurosek-line:    #1b2233;
}

/* --- palette ---------------------------------------------------------- */
:root,
:root[data-theme="gitea-dark"] {
  --color-primary:            #00e5ff;
  --color-primary-contrast:   #04070d;
  --color-primary-dark-1:     #22ecff;
  --color-primary-dark-2:     #45f0ff;
  --color-primary-dark-3:     #6ff4ff;
  --color-primary-dark-4:     #9af7ff;
  --color-primary-dark-5:     #c8fbff;
  --color-primary-dark-6:     #e2fdff;
  --color-primary-dark-7:     #f4feff;
  --color-primary-light-1:    #00cbe2;
  --color-primary-light-2:    #00b2c6;
  --color-primary-light-3:    #0098a9;
  --color-primary-light-4:    #007f8d;
  --color-primary-light-5:    #006570;
  --color-primary-light-6:    #004c54;
  --color-primary-light-7:    #003238;
  --color-primary-alpha-10:   #00e5ff1a;
  --color-primary-alpha-20:   #00e5ff33;
  --color-primary-alpha-30:   #00e5ff4d;
  --color-primary-alpha-40:   #00e5ff66;
  --color-primary-alpha-50:   #00e5ff80;
  --color-primary-alpha-60:   #00e5ff99;
  --color-primary-alpha-70:   #00e5ffb3;
  --color-primary-alpha-80:   #00e5ffcc;
  --color-primary-alpha-90:   #00e5ffe6;
  --color-primary-hover:      #45f0ff;
  --color-primary-active:     #00cbe2;

  --color-secondary:          #1b2233;
  --color-secondary-dark-1:   #24304a;
  --color-secondary-dark-2:   #2c3a58;
  --color-secondary-dark-3:   #354566;
  --color-secondary-dark-4:   #3d4f74;
  --color-secondary-light-1:  #161c2a;
  --color-secondary-alpha-40: #1b223366;
  --color-secondary-alpha-50: #1b223380;
  --color-secondary-alpha-60: #1b223399;
  --color-secondary-button:   #141a28;
  --color-secondary-hover:    #1e2739;

  --color-body:            #05060b;
  --color-box-body:        #0b0e18;
  --color-box-body-highlight: #0e1220;
  --color-box-header:      #0e1220;
  --color-nav-bg:          #080a12;
  --color-nav-hover-bg:    #131a2a;
  --color-header-wrapper:  #05060b;
  --color-footer:          #05060b;
  --color-menu:            #0b0e18;
  --color-card:            #0b0e18;
  --color-markup-code-block: #0a0d16;
  --color-markup-table-row: #0e1220;
  --color-console-bg:      #05060b;
  --color-console-fg:      #cdd6e6;
  --color-input-background: #0a0d16;
  --color-input-border:    #1b2233;
  --color-input-border-hover: #24304a;
  --color-input-text:      #eaf2ff;
  --color-light-border:    #1b2233;
  --color-border:          #1b2233;
  --color-border-secondary: #24304a;
  --color-shadow:          #00000080;
  --color-secondary-bg:    #0b0e18;

  --color-text:            #cdd6e6;
  --color-text-dark:       #eaf2ff;
  --color-text-light:      #9aa6ba;
  --color-text-light-1:    #8794a8;
  --color-text-light-2:    #7c8799;
  --color-text-light-3:    #6b768a;
  --color-placeholder-text: #5d6779;

  --color-accent:          #ff2d87;
  --color-red:             #ff2d87;
  --color-orange:          #ffb300;
  --color-gold:            #ffb300;
  --color-teal:            #00e5ff;
  --color-blue:            #4c8dff;
  --color-violet:          #8b5cff;
  --color-purple:          #8b5cff;
}

/* --- chrome ----------------------------------------------------------- */
body {
  background:
    radial-gradient(900px 520px at 12% -8%, rgba(139, 92, 255, .10), transparent 70%),
    radial-gradient(760px 460px at 92% 0%, rgba(255, 45, 135, .07), transparent 72%),
    var(--kurosek-bg);
  background-attachment: fixed;
}

#navbar, .ui.secondary.menu.page-content-wrapper, .page-content > .navbar {
  border-bottom: 1px solid var(--kurosek-line);
}

/* Gitea's navbar logo is an image with no wordmark, so add one */
#navbar-logo { display: flex; align-items: center; gap: 11px; }
#navbar-logo::after {
  content: 'KUROSEK GIT';
  font-family: 'Orbitron', system-ui, sans-serif;
  font-weight: 900;
  font-size: 13px;
  letter-spacing: .22em;
  color: var(--color-text-dark);
  white-space: nowrap;
}
@media (max-width: 640px) {
  #navbar-logo::after { display: none; }
}

h1, h2, h3, .ui.header, .repo-title, .flex-item-title {
  font-family: 'Rajdhani', system-ui, sans-serif;
  letter-spacing: .01em;
}

code, pre, .file-view.code-view, .code-inner, .ui.label.mono, .commit-id, tt {
  font-family: 'Share Tech Mono', ui-monospace, Menlo, Consolas, monospace;
}

/* primary buttons get the notched corner used across kurosek.com */
.ui.primary.button, .ui.green.button, .ui.basic.primary.button {
  clip-path: polygon(9px 0, 100% 0, 100% calc(100% - 9px), calc(100% - 9px) 100%, 0 100%, 0 9px);
  font-weight: 600;
  letter-spacing: .06em;
}

.ui.primary.button:focus-visible, a:focus-visible, button:focus-visible {
  outline: 2px solid var(--kurosek-cyan);
  outline-offset: 2px;
}

/* explore page: repo cards read as panels rather than flat rows */
#repo-search-form + .flex-list .flex-item,
.flex-list .flex-item {
  border-bottom: 1px solid var(--kurosek-line);
}

.repository .header-wrapper, .secondary-nav {
  background: linear-gradient(180deg, rgba(11,14,24,.9), rgba(5,6,11,.9));
  border-bottom: 1px solid var(--kurosek-line);
}

/* Password reset needs a mail server and this instance has none, so the link
   is a dead end. Passwords are reset by an admin from the CLI. */
a[href="/user/forgot_password"] { display: none !important; }

/* --- footer ----------------------------------------------------------- */
footer .left-links, footer .right-links { opacity: .85; }

.kurosek-footer {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px;
  justify-content: center;
  padding: 18px 16px 26px;
  border-top: 1px solid var(--kurosek-line);
  margin-top: 10px;
  font-family: 'Share Tech Mono', ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: .1em;
}
.kurosek-footer a { color: var(--color-text-light-2); }
.kurosek-footer a:hover { color: var(--kurosek-cyan); }
.kurosek-footer-mark {
  font-family: 'Orbitron', system-ui, sans-serif;
  font-weight: 900; letter-spacing: .24em; color: var(--color-text-dark);
}
.kurosek-footer-mark span { color: var(--kurosek-magenta); }

/* scanline wash, kept very light so it never fights with code */
body::after {
  content: '';
  position: fixed; inset: 0; z-index: 9999; pointer-events: none;
  background: repeating-linear-gradient(to bottom,
    rgba(255,255,255,.015) 0px, rgba(255,255,255,.015) 1px,
    transparent 1px, transparent 3px);
  mix-blend-mode: overlay;
}

@media (prefers-reduced-motion: reduce) {
  body::after { display: none; }
}
