/* git.polymood.net — brand theme on top of Forgejo's native light/dark.
 * Loaded via custom/header.tmpl after Forgejo CSS.
 *
 * DESIGN RULE: prefer overriding Forgejo's own CSS *variables* (colors,
 * radius, fonts) — its components are built to consume them, so we get the
 * brand look WITHOUT breaking any component's internal padding/spacing.
 * We only *add* box-shadow / border-color (layout-neutral). We never force
 * `border`, `background`, `padding` or `margin` on semantic-ui components.
 *
 *   • GLOBAL (light+dark): Berkeley Mono, orange accent, squared corners.
 *   • LIGHT (default): polymood.net grey-canvas + white-box + hard shadow.
 *   • DARK: native Forgejo dark + brand accents. Both selectable in settings. */

@font-face {
  font-family: 'Berkeley Mono';
  src: url('/assets/fonts/BerkeleyMonoTrial-Regular.ttf') format('truetype');
  font-display: swap;
}

/* ═══ GLOBAL brand (both themes) — variables only ═══ */
:root {
  --fonts-regular: 'Berkeley Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --fonts-proportional: 'Berkeley Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --fonts-monospace: 'Berkeley Mono', ui-monospace, SFMono-Regular, Menlo, monospace;

  --border-radius: 0;
  --border-radius-medium: 0;
  --border-radius-full: 0;

  --color-primary:          #ff6600;
  --color-primary-contrast: #ffffff;
  --color-primary-dark-1:   #ec5f00;
  --color-primary-dark-2:   #d45600;
  --color-primary-dark-3:   #b84b00;
  --color-primary-dark-4:   #9c4000;
  --color-primary-dark-5:   #7a3200;
  --color-primary-dark-6:   #5c2600;
  --color-primary-dark-7:   #3d1900;
  --color-primary-light-1:  #ff7a1f;
  --color-primary-light-2:  #ff8f42;
  --color-primary-light-3:  #ffa866;
  --color-primary-light-4:  #ffc08f;
  --color-primary-light-5:  #ffd6b5;
  --color-primary-light-6:  #ffe6d1;
  --color-primary-light-7:  #fff2e8;
  --color-primary-alpha-30: #ff660030;
  --color-primary-alpha-40: #ff660040;
  --color-primary-alpha-50: #ff660050;
  --color-primary-alpha-60: #ff660060;
  --color-primary-alpha-70: #ff660070;
  --color-primary-alpha-80: #ff660080;
  --color-primary-alpha-90: #ff6600e0;
  --color-accent:           #ff6600;
}

/* Breathing room for list rows so the leading status icon isn't jammed
   against the panel edge (applies to both themes). */
.flex-list .flex-item,
.issue.list > .item,
#issue-list .issue-item {
  padding: .8rem 1rem;
}
.flex-item .flex-item-leading,
.issue.list .item .issue-item-icon {
  padding-left: .15rem;
  margin-right: .35rem;
}

/* Berkeley Mono everywhere (font-family only — layout-neutral) */
html, body, button, input, select, textarea,
.ui, .ui.menu, .ui.dropdown, .ui.header, .markup, .file-view,
.repository, .navbar, .page-content, .ui.table, code, pre, .console {
  font-family: 'Berkeley Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* Orange navbar accent + links (color/border-color only) */
#navbar, nav#navbar { border-bottom: 3px solid var(--color-primary); }
a { color: var(--color-primary); }
a:hover { color: var(--color-primary-light-2); }


/* ═══ LIGHT THEME — polymood.net "white brutalist" ═══
   Achieved almost entirely through Forgejo's own variables, so component
   padding stays intact. */
:root[data-theme="forgejo-light"] {
  --color-body:               #eeeeee;  /* grey canvas               */
  --color-box-body:           #ffffff;  /* white cards/segments      */
  --color-box-body-highlight: #faf7f2;
  --color-box-header:         #fafafa;
  --color-secondary:          #888888;  /* default border colour     */
  --color-secondary-dark-1:   #7c7c7c;
  --color-secondary-dark-2:   #6f6f6f;
  --color-text:               #2e2e2e;
  --color-text-light:         #555555;
  --color-text-light-1:       #666666;
  --color-nav-bg:             #ffffff;
  --color-header-bar:         #ffffff;
  --color-footer-bg:          #ffffff;
  --color-input-background:   #ffffff;
  --color-input-border:       #888888;
  --color-shadow:             #cccccc;
  --color-card-shadow:        #cccccc;
}

/* Hard 2px offset shadow on boxes — additive only, no border/padding change */
:root[data-theme="forgejo-light"] .ui.segment,
:root[data-theme="forgejo-light"] .ui.card,
:root[data-theme="forgejo-light"] .ui.attached.segment,
:root[data-theme="forgejo-light"] .repository .ui.segment,
:root[data-theme="forgejo-light"] .ui.repository.list .item,
:root[data-theme="forgejo-light"] #repo-files-table,
:root[data-theme="forgejo-light"] .job-info-header,
:root[data-theme="forgejo-light"] .action-view-left,
:root[data-theme="forgejo-light"] .action-view-right {
  box-shadow: 2px 2px var(--color-shadow);
}

/* grey page background */
:root[data-theme="forgejo-light"] body,
:root[data-theme="forgejo-light"] .full.height { background: var(--color-body); }

/* top navbar: white with hard bottom shadow + orange accent line */
:root[data-theme="forgejo-light"] #navbar,
:root[data-theme="forgejo-light"] nav#navbar {
  background: var(--color-nav-bg);
  box-shadow: 0 2px var(--color-shadow);
  border-bottom: 3px solid var(--color-primary);
}

/* buttons: add the offset shadow, invert on hover (colour-only, keeps padding) */
:root[data-theme="forgejo-light"] .ui.button { box-shadow: 2px 2px var(--color-shadow); }
:root[data-theme="forgejo-light"] .ui.button:hover,
:root[data-theme="forgejo-light"] .ui.basic.button:hover {
  background: var(--color-primary-light-7);   /* soft orange tint */
  color: #011907;
  border-color: var(--color-primary);
  box-shadow: 2px 2px var(--color-shadow);
}
:root[data-theme="forgejo-light"] .ui.primary.button { background: var(--color-primary); color: #fff; }
:root[data-theme="forgejo-light"] .ui.primary.button:hover {
  background: var(--color-primary-dark-2); color: #fff;
}

/* White backgrounds for list surfaces that Forgejo leaves transparent
   (issues, pulls, explore, notifications, etc.). Background-only = no spacing
   impact. The surrounding panel keeps its border + shadow. */
:root[data-theme="forgejo-light"] .flex-list,
:root[data-theme="forgejo-light"] .flex-list .flex-item,
:root[data-theme="forgejo-light"] .issue.list,
:root[data-theme="forgejo-light"] .issue.list > .item,
:root[data-theme="forgejo-light"] #issue-list .issue-item,
:root[data-theme="forgejo-light"] #notification_div .list .item,
:root[data-theme="forgejo-light"] .repository.view.issue .comment-list,
:root[data-theme="forgejo-light"] .ui.attached.segment,
:root[data-theme="forgejo-light"] .ui.attached.table,
:root[data-theme="forgejo-light"] .ui.attached.header,
:root[data-theme="forgejo-light"] .ui.list > .item {
  background: var(--color-box-body);
}

/* Give the whole list one framed panel look (border-color + shadow only) */
:root[data-theme="forgejo-light"] .flex-list,
:root[data-theme="forgejo-light"] .issue.list,
:root[data-theme="forgejo-light"] #issue-list {
  border: 1px solid var(--color-secondary);
  box-shadow: 2px 2px var(--color-shadow);
}
:root[data-theme="forgejo-light"] .flex-list .flex-item {
  border-bottom: 1px solid #eeeeee;
}

/* Issue / PR conversation bubbles get the white-card treatment */
:root[data-theme="forgejo-light"] .repository.view.issue .comment > .content,
:root[data-theme="forgejo-light"] .timeline-item.comment > .content,
:root[data-theme="forgejo-light"] .repository.view.issue .comment-list .comment .content,
:root[data-theme="forgejo-light"] .repository.view.issue .segment.comments .comment .content,
:root[data-theme="forgejo-light"] .repository.view.issue .issue-content-right .ui.segment {
  background: var(--color-box-body);
  border: 1px solid var(--color-secondary);
  box-shadow: 2px 2px var(--color-shadow);
}
/* comment header bar (the little arrow tab) — keep it flush, tint header */
:root[data-theme="forgejo-light"] .repository.view.issue .comment > .content > .header {
  background: var(--color-box-header);
  border-bottom: 1px solid var(--color-secondary);
}

/* Releases: each entry becomes a white card with border + hard shadow */
:root[data-theme="forgejo-light"] #release-list > li,
:root[data-theme="forgejo-light"] .release-list > li,
:root[data-theme="forgejo-light"] #tags-table {
  background: var(--color-box-body);
  border: 1px solid var(--color-secondary);
  box-shadow: 2px 2px var(--color-shadow);
  padding: 1rem 1.25rem;
  margin-bottom: 1.25rem;
}
/* the timeline dot/line down the left of the releases list — hide the rail
   so cards sit cleanly (native rail assumes no card borders) */
:root[data-theme="forgejo-light"] #release-list > li:before,
:root[data-theme="forgejo-light"] #release-list .dot { display: none; }
