.chroma .bp{color:#fabd2f}.chroma .c,.chroma .c1,.chroma .ch,.chroma .cm{color:#777e94}.chroma .cp{color:#8ec07c}.chroma .cpf{color:#649bc4}.chroma .cs{color:#9075cd}.chroma .dl{color:#649bc4}.chroma .gd{color:#fff;background-color:#5f3737}.chroma .ge{color:#ddee30}.chroma .gh{color:#ffaa10}.chroma .gi{color:#fff;background-color:#3a523a}.chroma .go{color:#777e94}.chroma .gp{color:#ebdbb2}.chroma .gr{color:#f43}.chroma .gs{color:#ebdbb2}.chroma .gt{color:#ff7540}.chroma .gu{color:#b8bb26}.chroma .il{color:#649bc4}.chroma .k{color:#ff7540}.chroma .kc{color:#649bc4}.chroma .kd{color:#ff7540}.chroma .kn{color:#ffaa10}.chroma .kp{color:#5f8700}.chroma .kr{color:#ff7540}.chroma .kt{color:#ff7b72}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .mo{color:#649bc4}.chroma .n{color:#c9d1d9}.chroma .na,.chroma .nb{color:#fabd2f}.chroma .nc{color:#ffaa10}.chroma .nd{color:#8ec07c}.chroma .ne{color:#ff7540}.chroma .nf,.chroma .ni{color:#fabd2f}.chroma .nl{color:#ff7540}.chroma .nn{color:#c9d1d9}.chroma .no{color:#649bc4}.chroma .nt{color:#ff7540}.chroma .nv{color:#ebdbb2}.chroma .nx{color:#b6bac5}.chroma .o{color:#ff7540}.chroma .ow{color:#5f8700}.chroma .p{color:#d2d4db}.chroma .s,.chroma .s1,.chroma .s2{color:#b8bb26}.chroma .sa{color:#ffaa10}.chroma .sb{color:#b8bb26}.chroma .sc{color:#ffaa10}.chroma .sd{color:#b8bb26}.chroma .se{color:#ff8540}.chroma .sh{color:#b8bb26}.chroma .si{color:#ffaa10}.chroma .sr{color:#9075cd}.chroma .ss{color:#ff8540}.chroma .sx{color:#ffaa10}.chroma .vc,.chroma .vg,.chroma .vi{color:#649bee}.chroma .w{color:#7f8699}.CodeMirror.cm-s-default .cm-property,.CodeMirror.cm-s-paper .cm-property{color:#a0cc75}.CodeMirror.cm-s-default .cm-header,.CodeMirror.cm-s-paper .cm-header{color:#9daccc}.CodeMirror.cm-s-default .cm-quote,.CodeMirror.cm-s-paper .cm-quote{color:#090}.CodeMirror.cm-s-default .cm-keyword,.CodeMirror.cm-s-paper .cm-keyword{color:#cc8a61}.CodeMirror.cm-s-default .cm-atom,.CodeMirror.cm-s-paper .cm-atom{color:#ef5e77}.CodeMirror.cm-s-default .cm-number,.CodeMirror.cm-s-paper .cm-number{color:#ff5656}.CodeMirror.cm-s-default .cm-def,.CodeMirror.cm-s-paper .cm-def{color:#e4e4e4}.CodeMirror.cm-s-default .cm-variable-2,.CodeMirror.cm-s-paper .cm-variable-2{color:#00bdbf}.CodeMirror.cm-s-default .cm-variable-3,.CodeMirror.cm-s-paper .cm-variable-3{color:#085}.CodeMirror.cm-s-default .cm-comment,.CodeMirror.cm-s-paper .cm-comment{color:#8e9ab3}.CodeMirror.cm-s-default .cm-string,.CodeMirror.cm-s-paper .cm-string{color:#a77272}.CodeMirror.cm-s-default .cm-string-2,.CodeMirror.cm-s-paper .cm-string-2{color:#f50}.CodeMirror.cm-s-default .cm-meta,.CodeMirror.cm-s-paper .cm-meta,.CodeMirror.cm-s-default .cm-qualifier,.CodeMirror.cm-s-paper .cm-qualifier{color:#ffb176}.CodeMirror.cm-s-default .cm-builtin,.CodeMirror.cm-s-paper .cm-builtin{color:#b7c951}.CodeMirror.cm-s-default .cm-bracket,.CodeMirror.cm-s-paper .cm-bracket{color:#997}.CodeMirror.cm-s-default .cm-tag,.CodeMirror.cm-s-paper .cm-tag{color:#f1d273}.CodeMirror.cm-s-default .cm-attribute,.CodeMirror.cm-s-paper .cm-attribute{color:#bfcc70}.CodeMirror.cm-s-default .cm-hr,.CodeMirror.cm-s-paper .cm-hr{color:#999}.CodeMirror.cm-s-default .cm-url,.CodeMirror.cm-s-paper .cm-url{color:#c5cfd0}.CodeMirror.cm-s-default .cm-link,.CodeMirror.cm-s-paper .cm-link{color:#d8c792}.CodeMirror.cm-s-default .cm-error,.CodeMirror.cm-s-paper .cm-error{color:#dbdbeb}.markup [src$="#gh-light-mode-only"],.markup [src$="#light-mode-only"],.markup [href$="#gh-light-mode-only"],.markup [href$="#light-mode-only"]{display:none}.markup [src$="#gh-dark-mode-only"],.markup [src$="#dark-mode-only"],.markup [href$="#gh-dark-mode-only"],.markup [href$="#dark-mode-only"]{display:unset}:root{--steel-900: #101014;--steel-850: #14141b;--steel-800: #16161e;--steel-750: #1a1b26;--steel-700: #1e202e;--steel-650: #24283b;--steel-600: #292e42;--steel-550: #3b4261;--steel-500: #565f89;--steel-450: #6a7399;--steel-400: #787c99;--steel-350: #8a93b3;--steel-300: #9aa5ce;--steel-250: #a9b1d6;--steel-200: #b4bce0;--steel-150: #c0caf5;--steel-100: #c0caf5;--is-dark-theme: true;--color-primary: #7aa2f7;--color-primary-contrast: #1a1b26;--color-primary-dark-1: #8aadf7;--color-primary-dark-2: #9ab7f8;--color-primary-dark-3: #aac2f9;--color-primary-dark-4: #bacdf9;--color-primary-dark-5: #cad8fa;--color-primary-dark-6: #dae3fb;--color-primary-dark-7: #eaedfc;--color-primary-light-1: #6a93e8;--color-primary-light-2: #3d59a1;--color-primary-light-3: #334d8c;--color-primary-light-4: #2a3f75;--color-primary-light-5: #22325e;--color-primary-light-6: #1a2547;--color-primary-light-7: #121830;--color-primary-alpha-10: #7aa2f719;--color-primary-alpha-20: #7aa2f733;--color-primary-alpha-30: #7aa2f74b;--color-primary-alpha-40: #7aa2f766;--color-primary-alpha-50: #7aa2f780;--color-primary-alpha-60: #7aa2f799;--color-primary-alpha-70: #7aa2f7b3;--color-primary-alpha-80: #7aa2f7cc;--color-primary-alpha-90: #7aa2f7e1;--color-primary-hover: var(--color-primary-light-1);--color-primary-active: var(--color-primary-light-2);--color-secondary: var(--steel-600);--color-secondary-dark-1: var(--steel-550);--color-secondary-dark-2: var(--steel-500);--color-secondary-dark-3: var(--steel-450);--color-secondary-dark-4: var(--steel-400);--color-secondary-dark-5: var(--steel-350);--color-secondary-dark-6: var(--steel-300);--color-secondary-dark-7: var(--steel-250);--color-secondary-dark-8: var(--steel-200);--color-secondary-dark-9: var(--steel-150);--color-secondary-dark-10: var(--steel-100);--color-secondary-dark-11: var(--steel-100);--color-secondary-dark-12: var(--steel-100);--color-secondary-dark-13: var(--steel-100);--color-secondary-light-1: var(--steel-650);--color-secondary-light-2: var(--steel-700);--color-secondary-light-3: var(--steel-750);--color-secondary-light-4: var(--steel-800);--color-secondary-alpha-10: #292e4219;--color-secondary-alpha-20: #292e4233;--color-secondary-alpha-30: #292e424b;--color-secondary-alpha-40: #292e4266;--color-secondary-alpha-50: #292e4280;--color-secondary-alpha-60: #292e4299;--color-secondary-alpha-70: #292e42b3;--color-secondary-alpha-80: #292e42cc;--color-secondary-alpha-90: #292e42e1;--color-secondary-hover: var(--color-secondary-light-1);--color-secondary-active: var(--color-secondary-light-2);--color-console-fg: #c0caf5;--color-console-fg-subtle: #787c99;--color-console-bg: #16161e;--color-console-border: #292e42;--color-console-hover-bg: #ffffff16;--color-console-active-bg: #3b4261;--color-console-menu-bg: #24283b;--color-console-menu-border: #3b4261;--color-red: #f7768e;--color-orange: #ff9e64;--color-yellow: #e0af68;--color-olive: #c0ca6a;--color-green: #9ece6a;--color-teal: #73daca;--color-blue: #7aa2f7;--color-violet: #bb9af7;--color-purple: #9d7cd8;--color-pink: #f7768e;--color-brown: #ff9e64;--color-grey: var(--steel-500);--color-black: #1a1b26;--color-red-light: #ff8a9e;--color-orange-light: #ffb07a;--color-yellow-light: #e8bf78;--color-olive-light: #cfd67a;--color-green-light: #b0d97c;--color-teal-light: #8ae0d4;--color-blue-light: #8aadf7;--color-violet-light: #c5a8f8;--color-purple-light: #b094e0;--color-pink-light: #ff8a9e;--color-brown-light: #ffb07a;--color-grey-light: var(--steel-300);--color-black-light: #1e202e;--color-red-dark-1: #a71919;--color-orange-dark-1: #d34f0b;--color-yellow-dark-1: #b67c04;--color-olive-dark-1: #839311;--color-green-dark-1: #137337;--color-teal-dark-1: #0c857a;--color-blue-dark-1: #1554e0;--color-violet-dark-1: #6a1feb;--color-purple-dark-1: #8519e7;--color-pink-dark-1: #c7216b;--color-brown-dark-1: #94674a;--color-black-dark-1: #0f1623;--color-red-dark-2: #941616;--color-orange-dark-2: #bb460a;--color-yellow-dark-2: #ca8a04;--color-olive-dark-2: #91a313;--color-green-dark-2: #15803d;--color-teal-dark-2: #0a766d;--color-blue-dark-2: #2563eb;--color-violet-dark-2: #5c14d8;--color-purple-dark-2: #7c3aed;--color-pink-dark-2: #b11d5f;--color-brown-dark-2: #a47252;--color-black-dark-2: #111827;--color-ansi-black: #101014;--color-ansi-red: #f7768e;--color-ansi-green: #73daca;--color-ansi-yellow: #e0af68;--color-ansi-blue: #7aa2f7;--color-ansi-magenta: #bb9af7;--color-ansi-cyan: #7dcfff;--color-ansi-white: #787c99;--color-ansi-bright-black: #363b54;--color-ansi-bright-red: #ff8a9e;--color-ansi-bright-green: #9ece6a;--color-ansi-bright-yellow: #e8bf78;--color-ansi-bright-blue: #8aadf7;--color-ansi-bright-magenta: #c5a8f8;--color-ansi-bright-cyan: #8ad5ff;--color-ansi-bright-white: #c0caf5;--color-gold: #b1983b;--color-white: #ffffff;--color-pure-black: #000000;--color-diff-removed-word-bg: #914c54aa;--color-diff-added-word-bg: #449dabaa;--color-diff-removed-row-bg: #3f2d3a;--color-diff-moved-row-bg: #3d3b2e;--color-diff-added-row-bg: #1e3336;--color-diff-removed-row-border: #914c54;--color-diff-moved-row-border: #e0af68;--color-diff-added-row-border: #449dab;--color-diff-inactive: var(--steel-650);--color-error-border: #f7768e;--color-error-bg: #3f2d3a;--color-error-bg-active: #4a3540;--color-error-bg-hover: #4a3540;--color-error-text: #fde8ec;--color-success-border: #9ece6a;--color-success-bg: #1e3330;--color-success-text: #c3e88d;--color-warning-border: #e0af68;--color-warning-bg: #3d3b2e;--color-warning-text: #e0af68;--color-info-border: #7aa2f7;--color-info-bg: #1e2745;--color-info-text: #c0caf5;--color-red-badge: #f7768e;--color-red-badge-bg: #f7768e22;--color-red-badge-hover-bg: #f7768e44;--color-green-badge: #9ece6a;--color-green-badge-bg: #9ece6a22;--color-green-badge-hover-bg: #9ece6a44;--color-yellow-badge: #e0af68;--color-yellow-badge-bg: #e0af6822;--color-yellow-badge-hover-bg: #e0af6844;--color-orange-badge: #ff9e64;--color-orange-badge-bg: #ff9e6422;--color-orange-badge-hover-bg: #ff9e6444;--thin-lightness: .68;--regular-chroma: .19;--color-thin-green: oklch(var(--thin-lightness) var(--regular-chroma) 145deg);--color-thin-red: oklch(var(--thin-lightness) var(--regular-chroma) 27deg);--color-thin-purple: oklch(var(--thin-lightness) var(--regular-chroma) 298deg);--color-thin-orange: oklch(var(--thin-lightness) var(--regular-chroma) 41deg);--thin-lightness-highlight: .75;--color-thin-red-highlight: oklch(var(--thin-lightness-highlight) var(--regular-chroma) 27deg);--bg-lightness: .26;--bg-chroma: .05;--color-danger-bg: oklch(var(--bg-lightness) var(--bg-chroma) 27deg);--color-body: #1a1b26;--color-box-header: #16161e;--color-box-body: #1a1b26;--color-box-body-highlight: #1e202e;--color-text-dark: #c0caf5;--color-text: #a9b1d6;--color-text-light: #787c99;--color-text-light-1: #787c99;--color-text-light-2: #565f89;--color-text-light-3: #565f89;--color-footer: #101014;--color-timeline: #292e42;--color-input-text: #a9b1d6;--color-input-background: #14141b;--color-input-toggle-background: #24283b;--color-input-border: #292e42;--color-input-border-hover: #3b4261;--color-header-wrapper: #16161e;--color-header-wrapper-transparent: #16161e00;--color-light: #ffffff10;--color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled)));--color-light-border: #ffffff18;--color-hover: #202330;--color-active: #1e202e;--color-menu: #16161e;--color-card: #16161e;--fancy-card-bg: #24283b;--fancy-card-border: #292e42;--color-markup-table-row: #ffffff06;--color-markup-code-block: #16161e;--color-markup-code-inline: #14141b;--color-button: #24283b;--color-code-bg: #1a1b26;--color-shadow: #00000080;--color-secondary-bg: #16161e;--color-text-focus: #c0caf5;--color-expand-button: #292e42;--color-placeholder-text: #565f89;--color-editor-line-highlight: #1e202e;--color-project-board-bg: var(--color-secondary-light-3);--color-project-board-dark-label: var(--color-text-light-3);--color-caret: var(--color-text);--color-reaction-bg: #ffffff12;--color-reaction-active-bg: var(--color-primary-alpha-30);--color-reaction-hover-bg: var(--color-primary-alpha-40);--color-tooltip-text: #ffffff;--color-tooltip-bg: #000000f0;--color-nav-bg: #16161e;--color-nav-hover-bg: #202330;--color-secondary-nav-bg: #1a1b26;--color-label-text: #a9b1d6;--color-label-bg: #7e83b230;--color-label-hover-bg: #7e83b245;--color-label-active-bg: #7e83b260;--color-label-bg-alt: #292e42;--color-accent: #7aa2f7;--color-small-accent: #3d59a1;--color-highlight-fg: #7dcfff;--color-highlight-bg: #7aa2f733;--color-overlay-backdrop: #080808c0;--color-selection-bg: #515c7e80;--color-selection-fg: #c0caf5;--checkerboard-color-1: #474747;--checkerboard-color-2: #313131;--color-indicator-offline: #a1a1aa;--color-indicator-offline-20: #a1a1aa1a;--color-indicator-idle: #16a34a;--color-indicator-idle-20: #16a34a1a;--color-indicator-active: #2185d0;--color-indicator-active-20: #2185d033;accent-color:var(--color-accent);color-scheme:dark;}.emoji[aria-label="check mark"],.emoji[aria-label="currency exchange"],.emoji[aria-label="TOP arrow"],.emoji[aria-label="END arrow"],.emoji[aria-label="ON! arrow"],.emoji[aria-label="SOON arrow"],.emoji[aria-label="heavy dollar sign"],.emoji[aria-label=copyright],.emoji[aria-label=registered],.emoji[aria-label="trade mark"],.emoji[aria-label=multiply],.emoji[aria-label=plus],.emoji[aria-label=minus],.emoji[aria-label=divide],.emoji[aria-label="curly loop"],.emoji[aria-label="double curly loop"],.emoji[aria-label="wavy dash"],.emoji[aria-label="paw prints"],.emoji[aria-label="musical note"],.emoji[aria-label="musical notes"]{filter:invert(100%) hue-rotate(180deg)}i.grey.icon.icon.icon.icon{color:var(--steel-350)!important}.ui.secondary.vertical.menu{border-radius:.28571429rem!important;overflow:hidden}.ui.basic.primary.button.item{background-color:var(--color-active)!important;color:var(--color-text)!important;box-shadow:none!important}.ui.red.label.notification_count,.ui.primary.label,.ui.primary.labels .label{background-color:var(--color-primary-light-3)!important}.ui.labeled.icon.buttons>.button>.icon,.ui.labeled.icon.button>.icon{background-color:var(--color-light)!important}#review-box .review-comments-counter{background-color:var(--color-shadow)!important;color:var(--color-white)!important;margin-inline-start:.5em}.ui.basic.labels .primary.label,.ui.ui.ui.basic.primary.label{color:var(--color-text-dark)!important}.ui.yellow.label.pending-label{color:var(--color-warning-text)!important}strong.attention-important,svg.attention-important{color:var(--color-violet-light)}strong.attention-note,svg.attention-note{color:var(--color-blue-light)}strong.attention-caution,svg.attention-caution{color:var(--color-red-light)}.ui.basic.red.button{background-color:var(--color-red);color:var(--color-white)}.ui.basic.red.button:hover,.ui.basic.red.button:focus{background-color:var(--color-red-dark-1);color:var(--color-white)}.ui.basic.red.button:active{background-color:var(--color-red-dark-2);color:var(--color-white)}


/* Tokyo Night syntax accents */
.chroma .c,.chroma .c1,.chroma .ch,.chroma .cm{color:#565f89}
.chroma .k,.chroma .kd,.chroma .kr,.chroma .kp{color:#bb9af7}
.chroma .kn{color:#7dcfff}
.chroma .kt{color:#2ac3de}
.chroma .s,.chroma .s1,.chroma .s2,.chroma .sb,.chroma .sd,.chroma .sh{color:#9ece6a}
.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .mo,.chroma .il{color:#ff9e64}
.chroma .nf,.chroma .ni{color:#7aa2f7}
.chroma .na,.chroma .nb{color:#7dcfff}
.chroma .nc{color:#e0af68}
.chroma .n,.chroma .nx{color:#a9b1d6}
.chroma .nv,.chroma .vc,.chroma .vg,.chroma .vi{color:#c0caf5}
.chroma .nt{color:#f7768e}
.chroma .o,.chroma .ow{color:#7dcfff}
.chroma .bp{color:#ff9e64}
.chroma .gd{color:#c0caf5;background-color:#3f2d3a}
.chroma .gi{color:#c0caf5;background-color:#1e3336}

/* Home activity feed: smaller list icons */
.dashboard.feeds .flex-item-trailing svg,
.dashboard.feeds .flex-item-trailing .svg,
#activity-feed .flex-item-trailing svg {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
}
.dashboard.feeds .flex-item-leading img.avatar,
#activity-feed .flex-item-leading img.avatar {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  min-height: 26px !important;
}

/* Rounder chrome — tokens + joined-control-aware radii.
 * Do NOT blanket-radius every .button/.input: groups need outer corners only.
 */
:root {
  --border-radius: 10px;
  --border-radius-medium: 12px;
  --border-radius-large: 18px;
}

/* Native radios / checkboxes — dark-theme friendly (accent-color alone stays too “OS white”) */
input[type="radio"],
input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  margin: 0 0.35em 0 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  vertical-align: -0.1em !important;
  box-sizing: border-box !important;
  border: 1.5px solid var(--color-secondary-dark-2) !important;
  background-color: var(--color-input-background) !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: border-color 0.12s ease, background-color 0.12s ease, box-shadow 0.12s ease !important;
}
input[type="radio"] {
  border-radius: 50% !important;
}
input[type="checkbox"] {
  border-radius: 4px !important;
}
input[type="radio"]:hover,
input[type="checkbox"]:hover {
  border-color: var(--color-primary) !important;
}
input[type="radio"]:focus-visible,
input[type="checkbox"]:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 55%, transparent) !important;
  outline-offset: 2px !important;
}
input[type="radio"]:checked {
  border-color: var(--color-primary) !important;
  background-image: radial-gradient(
    circle at center,
    var(--color-primary) 0 38%,
    transparent 40%
  ) !important;
}
input[type="checkbox"]:checked {
  border-color: var(--color-primary) !important;
  background-color: var(--color-primary) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%231a1b26' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") !important;
  background-size: 11px 11px !important;
}
input[type="checkbox"]:indeterminate {
  border-color: var(--color-primary) !important;
  background-color: var(--color-primary) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%231a1b26' stroke-width='2.2' stroke-linecap='round' d='M3.5 8h9'/%3E%3C/svg%3E") !important;
  background-size: 11px 11px !important;
}
input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
}


/* Standalone controls (Fomantic still hardcodes ~4px in many places) */
.ui.button {
  border-radius: var(--border-radius) !important;
}
.ui.input:not(.action) > input,
.ui.form textarea,
.ui.form select,
.ui.search > .prompt {
  border-radius: var(--border-radius) !important;
}
/* Forgejo often nests inputs in <label>, not .field > input (e.g. repo create).
   Do NOT use a bare `.ui.form input` rule — it beats joined `.action.input` radii. */
.ui.form .field > input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.ui.form .inline.field > input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.ui.form label > input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]) {
  border-radius: var(--border-radius) !important;
}
/* Standalone text inputs that are direct form/segment children (not action groups) */
.ui.form > input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
.ui.form .ui.attached.segment > input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
.ui.form fieldset > input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]) {
  border-radius: var(--border-radius) !important;
}
/* Selection dropdowns (owner, template, …) — Fomantic default is ~4px */
.ui.selection.dropdown,
.ui.search.selection.dropdown,
.ui.multiple.search.selection.dropdown {
  border-radius: var(--border-radius) !important;
}
.ui.segment:not(.attached),
.ui.card,
.ui.cards > .card,
.ui.message:not(.attached),
.ui.table,
.ui.menu:not(.secondary):not(.tabular):not(.text):not(.pagination),
.dashboard.feeds .flex-list,
#activity-feed.flex-list {
  border-radius: var(--border-radius) !important;
}
.ui.dropdown .menu,
.ui.modal,
.ui.g-modal-confirm.modal,
.tippy-box {
  border-radius: var(--border-radius-medium) !important;
}
/* Fomantic paints .header/.actions with their own ~4px radius — match the shell */
.ui.modal > .header:first-child,
.ui.modal > .content:first-child {
  border-radius: var(--border-radius-medium) var(--border-radius-medium) 0 0 !important;
}
.ui.modal > .actions,
.ui.modal > .content:last-child {
  border-radius: 0 0 var(--border-radius-medium) var(--border-radius-medium) !important;
}
.ui.modal > .content:only-child,
.ui.modal > .header:only-child {
  border-radius: var(--border-radius-medium) !important;
}

/* Native <dialog> modals (e.g. -/demo/modal) — not .ui.modal */
dialog {
  border-radius: var(--border-radius-medium) !important;
  overflow: hidden !important;
  border: 1px solid var(--color-secondary) !important;
  background: var(--color-body) !important;
  color: var(--color-text) !important;
  box-shadow: 0 12px 40px var(--color-shadow) !important;
}
dialog > article {
  border-radius: 0 !important;
  overflow: hidden !important;
}
dialog > article > header,
dialog > article > .content:first-child {
  border-radius: 0 !important;
}
dialog > article > footer.actions,
dialog > article > .actions,
dialog > article > .content:last-child {
  border-radius: 0 !important;
}
dialog::backdrop {
  background: var(--color-overlay-backdrop) !important;
}

/* ---- Joined: button groups ---- */
.ui.buttons .button {
  border-radius: 0 !important;
}
.ui.buttons .button:first-child {
  border-start-start-radius: var(--border-radius) !important;
  border-end-start-radius: var(--border-radius) !important;
}
.ui.buttons .button:last-child {
  border-start-end-radius: var(--border-radius) !important;
  border-end-end-radius: var(--border-radius) !important;
}
.ui.buttons .button:only-child {
  border-radius: var(--border-radius) !important;
}
.ui.vertical.buttons .button:first-child {
  border-radius: var(--border-radius) var(--border-radius) 0 0 !important;
}
.ui.vertical.buttons .button:last-child {
  border-radius: 0 0 var(--border-radius) var(--border-radius) !important;
}
.ui.vertical.buttons .button:only-child {
  border-radius: var(--border-radius) !important;
}

/* ---- Joined: labeled buttons (Watch | 1) ---- */
.ui.labeled.button {
  border-radius: var(--border-radius) !important;
  overflow: hidden;
}
.ui.labeled.button > .button,
.ui.labeled.button > a.button,
.ui.labeled.button > .label,
.ui.labeled.button > a.label {
  border-radius: 0 !important;
}
.ui.labeled.button > .button:first-child,
.ui.labeled.button > a.button:first-child,
.ui.labeled.button > :first-child {
  border-start-start-radius: var(--border-radius) !important;
  border-end-start-radius: var(--border-radius) !important;
}
.ui.labeled.button > .label:last-child,
.ui.labeled.button > a.label:last-child,
.ui.labeled.button > .button:last-child,
.ui.labeled.button > a.button:last-child {
  border-start-end-radius: var(--border-radius) !important;
  border-end-end-radius: var(--border-radius) !important;
}

/* ---- Joined: action inputs (search+filter, code search; not .clone-panel) ---- */
.ui.action.input:not(.clone-panel) > input,
.ui.action.input:not(.clone-panel) > .label,
.ui.action.input:not(.clone-panel) > .button,
.ui.action.input:not(.clone-panel) > button,
.ui.action.input:not(.clone-panel) > .buttons .button,
.ui.action.input:not(.clone-panel) > .ui.dropdown,
.ui.action.input:not(.clone-panel) > .dropdown,
.ui.action.input:not(.clone-panel) > .selection.dropdown {
  border-radius: 0 !important;
}
/* first/last interactive child (skip icons/scripts) */
.ui.action.input:not(.clone-panel) > :is(input, button, .button, .label, .dropdown, .ui.dropdown, .selection.dropdown):not(
  :is(input, button, .button, .label, .dropdown, .ui.dropdown, .selection.dropdown)
  ~ :is(input, button, .button, .label, .dropdown, .ui.dropdown, .selection.dropdown)
) {
  border-radius: 0 !important;
  border-start-start-radius: var(--border-radius) !important;
  border-end-start-radius: var(--border-radius) !important;
}
.ui.action.input:not(.clone-panel) > :is(input, button, .button, .label, .dropdown, .ui.dropdown, .selection.dropdown):not(
  :has(~ :is(input, button, .button, .label, .dropdown, .ui.dropdown, .selection.dropdown))
) {
  border-radius: 0 !important;
  border-start-end-radius: var(--border-radius) !important;
  border-end-end-radius: var(--border-radius) !important;
}
.ui.action.input:not(.clone-panel) > .buttons:not(:has(~ :is(input, button, .button, .label, .dropdown, .ui.dropdown))) > .button:last-child {
  border-radius: 0 !important;
  border-start-end-radius: var(--border-radius) !important;
  border-end-end-radius: var(--border-radius) !important;
}
.ui.action.left.icon.input > input {
  border-radius: 0 !important;
  border-start-start-radius: var(--border-radius) !important;
  border-end-start-radius: var(--border-radius) !important;
}
.ui.action.right.icon.input > input {
  border-radius: 0 !important;
  border-start-end-radius: var(--border-radius) !important;
  border-end-end-radius: var(--border-radius) !important;
}

/* ---- Attached header/segment stacks ---- */
.ui.top.attached.header,
.ui.top.attached.segment {
  border-radius: var(--border-radius) var(--border-radius) 0 0 !important;
}
.ui.bottom.attached.header,
.ui.bottom.attached.segment {
  border-radius: 0 0 var(--border-radius) var(--border-radius) !important;
}
.ui.attached.header:not(.top):not(.bottom),
.ui.attached.segment:not(.top):not(.bottom) {
  border-radius: 0 !important;
}
/* common 2-piece stack: top + following attached gets bottom corners */
.ui.top.attached.header + .ui.attached.segment,
.ui.top.attached.segment + .ui.attached.segment:last-child {
  border-radius: 0 0 var(--border-radius) var(--border-radius) !important;
}
/* empty stack: only the top piece exists → round all corners */
.ui.top.attached.header:last-child,
.ui.top.attached.segment:last-child,
.dashboard-repos > .ui.top.attached.segment.repos-search:last-child {
  border-radius: var(--border-radius) !important;
}
/* Dashboard org/repo list cards — beat `.ui.attached.segment:not(.top):not(.bottom)` */
.dashboard-orgs > .ui.attached.table.segment,
.dashboard-orgs > .ui.attached.table.segment.tw-rounded,
.dashboard-repos > .ui.attached.table.segment {
  border-radius: var(--border-radius) !important;
}

/* Tabular / secondary menus stay flat (underline tabs) */
.ui.tabular.menu,
.ui.secondary.menu,
.ui.pointing.menu {
  border-radius: 0 !important;
}

/* ---- GitHub-like repo toolbar ---- */
.repo-button-row.gh-repo-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  margin: 0 0 16px !important;
}
.gh-repo-toolbar .gh-toolbar-left {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
}
.gh-repo-toolbar .gh-toolbar-right {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin-left: auto !important;
}

/* Go to file — looks like a search field */
.gh-goto-file {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 200px !important;
  max-width: 320px !important;
  flex: 1 1 200px !important;
  height: 32px !important;
  padding: 0 12px !important;
  border: 1px solid var(--color-secondary) !important;
  border-radius: var(--border-radius) !important;
  background: var(--color-input-background) !important;
  color: var(--color-text-light) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
}
.gh-goto-file:hover {
  background: var(--color-hover) !important;
  color: var(--color-text) !important;
  border-color: var(--color-input-border-hover) !important;
  text-decoration: none !important;
}
.gh-goto-file-icon {
  flex-shrink: 0 !important;
  color: var(--color-text-light) !important;
}
.gh-goto-file-text {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.gh-repo-toolbar .gh-add-file.ui.button {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 12px !important;
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  background: var(--color-button) !important;
  border: 1px solid var(--color-secondary) !important;
  color: var(--color-text) !important;
}
.gh-repo-toolbar .gh-add-file.ui.button:hover {
  background: var(--color-hover) !important;
  border-color: var(--color-input-border-hover) !important;
}

/* Green Code button */
.gh-code-btn.ui.green.button,
.gh-code-btn.ui.button {
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 12px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  background: #9ece6a !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: #1a1b26 !important;
  border-radius: var(--border-radius) !important;
}
.gh-code-btn.ui.green.button:hover,
.gh-code-btn.ui.button:hover {
  background: #b0d97c !important;
  color: #1a1b26 !important;
}
.gh-code-btn .dropdown.icon {
  margin: 0 !important;
}

.gh-code-dropdown.ui.dropdown .menu.gh-code-menu,
.gh-code-menu.menu {
  width: 360px !important;
  max-width: calc(100vw - 24px) !important;
  padding: 8px 0 !important;
  border-radius: var(--border-radius-medium) !important;
  border: 1px solid var(--color-secondary) !important;
  background: var(--color-menu) !important;
  box-shadow: 0 8px 24px var(--color-shadow) !important;
}
.gh-code-clone {
  padding: 8px 12px 4px !important;
}
.gh-code-clone-label {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--color-text) !important;
  margin-bottom: 8px !important;
}
.gh-code-clone-panel {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  align-items: stretch !important;
}
.gh-code-clone-panel > .ui.button {
  margin: 0 !important;
  min-height: 28px !important;
  height: 28px !important;
  padding: 0 10px !important;
  font-size: 12px !important;
  border-radius: var(--border-radius) !important;
  background: var(--color-button) !important;
  border: 1px solid var(--color-secondary) !important;
  color: var(--color-text) !important;
}
.gh-code-clone-panel > .ui.button.primary {
  background: var(--color-primary-alpha-20) !important;
  border-color: var(--color-primary) !important;
  color: var(--color-primary) !important;
}
.gh-clone-url-row {
  display: flex !important;
  width: 100% !important;
  gap: 0 !important;
  margin-top: 2px !important;
  align-items: stretch !important;
}
.gh-clone-url-row > input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  height: 32px !important;
  margin: 0 !important;
  border-radius: var(--border-radius) 0 0 var(--border-radius) !important;
  border: 1px solid var(--color-secondary) !important;
  background: var(--color-input-background) !important;
  color: var(--color-text) !important;
  padding: 0 10px !important;
  font-size: 12px !important;
  font-family: var(--fonts-monospace) !important;
}
.gh-clone-url-row > .ui.button {
  margin: 0 0 0 -1px !important;
  width: 32px !important;
  min-width: 32px !important;
  height: 32px !important;
  border-radius: 0 var(--border-radius) var(--border-radius) 0 !important;
  background: var(--color-button) !important;
  border: 1px solid var(--color-secondary) !important;
  color: var(--color-text) !important;
  padding: 0 !important;
}

/* Toolbar clone panel: one joined control (HTTP | url | copy | ⋯)
   overflow stays visible so the kebab dropdown menu is not clipped */
.clone-panel.ui.action.input {
  display: inline-flex !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.clone-panel.ui.action.input > :is(input, button, .button, .ui.button, .dropdown, .ui.dropdown) {
  margin: 0 0 0 -1px !important;
  height: 32px !important;
  min-height: 32px !important;
  border-radius: 0 !important;
  border: 1px solid var(--color-secondary) !important;
  box-shadow: none !important;
  font-size: 12px !important;
}
.clone-panel.ui.action.input > :is(input, button, .button, .ui.button, .dropdown, .ui.dropdown):first-child {
  margin-left: 0 !important;
  border-radius: var(--border-radius) 0 0 var(--border-radius) !important;
}
.clone-panel.ui.action.input > button.ui.jump.dropdown,
.clone-panel.ui.action.input > .ui.jump.dropdown.icon.button {
  border-radius: 0 var(--border-radius) var(--border-radius) 0 !important;
}
.clone-panel > .ui.button,
.clone-panel > button.ui.button {
  min-width: 32px !important;
  padding: 0 12px !important;
  background: var(--color-button) !important;
  color: var(--color-text) !important;
  font-weight: 500 !important;
}
.clone-panel > #repo-clone-https,
.clone-panel > #repo-clone-ssh,
.clone-panel > #repo-clone-https.primary,
.clone-panel > #repo-clone-ssh.primary {
  background: color-mix(in srgb, var(--color-primary) 22%, var(--color-button)) !important;
  color: var(--color-primary) !important;
}
.clone-panel > #repo-clone-url,
.clone-panel > input.js-clone-url {
  flex: 1 1 auto !important;
  width: 220px !important;
  max-width: min(260px, 42vw) !important;
  min-width: 0 !important;
  padding: 0 10px !important;
  background: var(--color-input-background) !important;
  color: var(--color-text) !important;
  font-family: var(--fonts-monospace) !important;
  font-size: 12px !important;
}
.clone-panel > #clipboard-btn {
  width: 32px !important;
  min-width: 32px !important;
  padding: 0 !important;
  background: var(--color-button) !important;
  color: var(--color-text) !important;
}
.clone-panel > .ui.jump.dropdown.icon.button,
.clone-panel > button.ui.jump.dropdown {
  width: 32px !important;
  min-width: 32px !important;
  padding: 0 !important;
  background: var(--color-button) !important;
  color: var(--color-text) !important;
}

@media (max-width: 700px) {
  .gh-goto-file {
    min-width: 100% !important;
    max-width: none !important;
    flex: 1 1 100% !important;
  }
  .gh-repo-toolbar .gh-toolbar-right {
    width: 100% !important;
  }
}


/* ===== GitHub-like repo About sidebar (Forgejo 16 custom templates) ===== */
.page-content.repository.gh-repo-home > .ui.container {
  width: 100% !important;
  max-width: min(1280px, 100%) !important;
  box-sizing: border-box !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}
.gh-repo-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 296px !important;
  gap: 24px !important;
  align-items: start !important;
  margin-top: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.gh-repo-main {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: clip !important;
}
.gh-repo-main .repo-button-row,
.gh-repo-main .code-search,
.gh-repo-main #repo-files-table,
.gh-repo-main .ui.table {
  max-width: 100% !important;
  min-width: 0 !important;
}
.gh-repo-main .repo-button-row {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.gh-repo-main .clone-panel {
  max-width: 100% !important;
  min-width: 0 !important;
  flex: 0 1 auto !important;
}

.gh-repo-sidebar {
  position: sticky;
  top: 24px;
  width: 296px;
  max-width: 100%;
  box-sizing: border-box;
  font-size: 12px;
  line-height: 1.5;
  color: var(--color-text);
}
.gh-sidebar-section {
  padding: 16px 0;
  border-bottom: 1px solid var(--color-secondary);
}
.gh-sidebar-section:first-child { padding-top: 0; }
.gh-sidebar-section:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.gh-sidebar-heading {
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  color: var(--color-text) !important;
  border: 0 !important;
  background: transparent !important;
}
.gh-sidebar-heading a {
  color: inherit !important;
  text-decoration: none !important;
}
.gh-sidebar-heading a:hover { color: var(--color-primary) !important; }

.gh-sidebar-desc {
  margin: 0 0 8px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: var(--color-text) !important;
}
.gh-sidebar-website {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px !important;
  font-size: 14px;
  word-break: break-all;
}
.gh-sidebar-website svg {
  width: 16px; height: 16px;
  color: var(--color-text-light);
  flex-shrink: 0;
}
.gh-sidebar-website a { color: var(--color-primary) !important; }

.gh-sidebar-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 8px 0;
}
.gh-topic.ui.label,
a.ui.label.gh-topic {
  background: color-mix(in srgb, var(--color-primary) 18%, transparent) !important;
  color: var(--color-primary) !important;
  border: 0 !important;
  border-radius: 2em !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  padding: 0 10px !important;
  min-height: 22px !important;
  line-height: 22px !important;
}

.gh-sidebar-meta,
.gh-lang-list {
  list-style: none !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
}
.gh-sidebar-meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.gh-sidebar-meta li,
.gh-sidebar-size {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
  padding: 2px 0 !important;
  font-size: 14px !important;
  color: var(--color-text) !important;
}
.gh-sidebar-meta a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--color-text) !important;
  text-decoration: none !important;
  font-weight: 400 !important;
}
.gh-sidebar-meta a:hover,
.gh-sidebar-meta a:hover strong {
  color: var(--color-primary) !important;
}
.gh-sidebar-meta svg,
.gh-sidebar-size svg,
.gh-sidebar-tags svg {
  width: 16px !important;
  height: 16px !important;
  color: var(--color-text-light) !important;
  flex-shrink: 0;
}
.gh-sidebar-meta strong {
  font-weight: 600 !important;
  color: var(--color-text) !important;
}

.gh-sidebar-empty {
  margin: 0 !important;
  font-size: 12px !important;
  color: var(--color-text-light) !important;
}
.gh-sidebar-empty a {
  color: var(--color-primary) !important;
  text-decoration: none !important;
}
.gh-sidebar-tags {
  margin: 8px 0 0 !important;
  font-size: 14px !important;
}
.gh-sidebar-tags a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--color-text) !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}
.gh-sidebar-tags a:hover { color: var(--color-primary) !important; }

/* Languages — pill bar + horizontal legend (GitHub) */
.gh-lang-bar {
  display: flex !important;
  height: 8px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  margin: 0 0 10px !important;
  background: var(--color-secondary-bg) !important;
}
.gh-lang-slice {
  display: block !important;
  height: 100% !important;
  min-width: 0 !important;
}
.gh-lang-slice:first-child { border-radius: 999px 0 0 999px; }
.gh-lang-slice:last-child { border-radius: 0 999px 999px 0; }
.gh-lang-slice:only-child { border-radius: 999px; }

.gh-lang-list {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 16px !important;
  row-gap: 4px !important;
  margin: 0 !important;
}
.gh-lang-list li {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 2px 0 !important;
  font-size: 12px !important;
  color: var(--color-text) !important;
}
.gh-lang-list strong {
  font-weight: 600 !important;
  color: var(--color-text) !important;
}
.gh-lang-list .muted {
  color: var(--color-text-light) !important;
  font-weight: 400 !important;
}
.gh-lang-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
}

/* Stack sidebar before the 2-col layout forces horizontal scroll (~915px+) */
@media (max-width: 1100px) {
  .gh-repo-layout {
    grid-template-columns: 1fr !important;
  }
  .gh-repo-sidebar {
    position: static;
    order: -1;
    width: 100%;
    border: 1px solid var(--color-secondary);
    border-radius: var(--border-radius);
    padding: 16px;
    margin-bottom: 16px;
  }
  .gh-sidebar-section:last-child { padding-bottom: 0; }
}

/* Repo tab overflow (⋯) — compact icon that fits the tab bar */
.ui.menu .overflow-menu-button.btn,
.overflow-menu-button.btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  width: 28px !important;
  height: 28px !important;
  min-width: 28px !important;
  min-height: 28px !important;
  max-height: 28px !important;
  margin: 0 4px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--color-text-light) !important;
  line-height: 1 !important;
  flex: 0 0 auto !important;
}
.ui.menu .overflow-menu-button.btn:hover,
.overflow-menu-button.btn:hover {
  background: var(--color-hover) !important;
  color: var(--color-text) !important;
}
.ui.menu .overflow-menu-button.btn:focus,
.overflow-menu-button.btn:focus {
  outline: 2px solid color-mix(in srgb, var(--color-primary) 50%, transparent) !important;
  outline-offset: 1px !important;
}
.ui.menu .overflow-menu-button.btn svg,
.overflow-menu-button.btn svg {
  width: 16px !important;
  height: 16px !important;
}
.ui.tabular.menu,
.ui.pointing.tabular.menu {
  align-items: center !important;
}

/* Code search + file/commit table = one attached card */
.repository.file.list .code-search,
.gh-repo-main .code-search {
  border: 1px solid var(--color-secondary) !important;
  border-bottom: 0 !important;
  border-radius: var(--border-radius) var(--border-radius) 0 0 !important;
  margin: 0 !important;
  padding: 8px !important;
  background: var(--color-box-header) !important;
}
.repository.file.list .code-search + .ui.table,
.repository.file.list .code-search + table,
.gh-repo-main .code-search + .ui.table,
.gh-repo-main .code-search + table,
.page-content.repository .code-search + .ui.table {
  border-radius: 0 0 var(--border-radius) var(--border-radius) !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  border-top: 0 !important;
  margin-top: 0 !important;
  overflow: hidden !important;
}
.repository.file.list .code-search + .ui.table > :is(thead, tbody) > tr:first-child > :is(th, td),
.gh-repo-main .code-search + .ui.table > :is(thead, tbody) > tr:first-child > :is(th, td),
.repository.file.list .code-search + .ui.table tr:first-child > :is(th, td),
.gh-repo-main .code-search + .ui.table tr:first-child > :is(th, td) {
  border-top: 0 !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  border-start-start-radius: 0 !important;
  border-start-end-radius: 0 !important;
  border-radius: 0 !important;
}
/* Inner search control stays a compact joined field inside the header strip */
.repository.file.list .code-search .ui.action.input > input,
.gh-repo-main .code-search .ui.action.input > input {
  border-radius: 6px 0 0 6px !important;
}
.repository.file.list .code-search .ui.action.input > .ui.dropdown,
.gh-repo-main .code-search .ui.action.input > .ui.dropdown {
  border-radius: 0 !important;
}
.repository.file.list .code-search .ui.action.input > .ui.button,
.gh-repo-main .code-search .ui.action.input > .ui.button {
  border-radius: 0 6px 6px 0 !important;
}


/* Dashboard: Repos / Orgs segmented control (pill selector) */
.dashboard.feeds .ui.secondary.stackable.menu.tabs-with-labels {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 4px !important;
  width: 100% !important;
  margin: 0 0 12px !important;
  padding: 3px !important;
  border: 1px solid var(--color-secondary) !important;
  border-radius: var(--border-radius) !important;
  background: var(--color-menu) !important;
  box-shadow: inset 0 1px 2px color-mix(in srgb, #000 35%, transparent) !important;
  overflow: hidden !important;
}
.dashboard.feeds .ui.secondary.stackable.menu.tabs-with-labels > .item,
.dashboard.feeds .ui.secondary.stackable.menu.tabs-with-labels > a.item {
  flex: 1 1 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  min-height: 34px !important;
  padding: 6px 10px !important;
  border: 0 !important;
  border-radius: calc(var(--border-radius) - 2px) !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: var(--color-text-light) !important;
  font-weight: 500 !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  text-align: center !important;
  transition:
    background-color 0.18s ease,
    color 0.18s ease,
    box-shadow 0.18s ease !important;
}
.dashboard.feeds .ui.secondary.stackable.menu.tabs-with-labels > .item:hover,
.dashboard.feeds .ui.secondary.stackable.menu.tabs-with-labels > a.item:hover {
  background: color-mix(in srgb, var(--color-hover) 80%, transparent) !important;
  background-color: color-mix(in srgb, var(--color-hover) 80%, transparent) !important;
  color: var(--color-text) !important;
}
.dashboard.feeds .ui.secondary.stackable.menu.tabs-with-labels > .item.active,
.dashboard.feeds .ui.secondary.stackable.menu.tabs-with-labels > a.item.active,
.dashboard.feeds .ui.secondary.stackable.menu.tabs-with-labels > .active.item {
  background: var(--color-button) !important;
  background-color: var(--color-button) !important;
  color: var(--color-text-dark) !important;
  font-weight: 600 !important;
  box-shadow:
    0 1px 3px color-mix(in srgb, #000 45%, transparent),
    0 0 0 1px color-mix(in srgb, var(--color-secondary-dark-1) 70%, transparent) !important;
}
.dashboard.feeds .ui.secondary.stackable.menu.tabs-with-labels > .item.active:hover,
.dashboard.feeds .ui.secondary.stackable.menu.tabs-with-labels > a.item.active:hover,
.dashboard.feeds .ui.secondary.stackable.menu.tabs-with-labels > .active.item:hover {
  background: color-mix(in srgb, var(--color-button) 88%, var(--color-primary)) !important;
  background-color: color-mix(in srgb, var(--color-button) 88%, var(--color-primary)) !important;
  color: var(--color-text-dark) !important;
}
.dashboard.feeds .ui.secondary.stackable.menu.tabs-with-labels > .item .ui.label,
.dashboard.feeds .ui.secondary.stackable.menu.tabs-with-labels > a.item .ui.label {
  margin: 0 0 0 6px !important;
  padding: 2px 7px !important;
  min-width: 1.4em !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: color-mix(in srgb, var(--color-secondary) 70%, transparent) !important;
  color: var(--color-text-light) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}
.dashboard.feeds .ui.secondary.stackable.menu.tabs-with-labels > .item.active .ui.label,
.dashboard.feeds .ui.secondary.stackable.menu.tabs-with-labels > a.item.active .ui.label,
.dashboard.feeds .ui.secondary.stackable.menu.tabs-with-labels > .active.item .ui.label {
  background: color-mix(in srgb, var(--color-primary) 24%, var(--color-secondary)) !important;
  color: var(--color-primary) !important;
}


/* Joined action.input: beat high-specificity form input radius
   (`.ui.form input:not([type=…])…` was forcing full radius on search boxes) */
.ui.form .ui.action.input > input,
.ui.form .ui.action.input > input[type="search"],
.ui.form .ui.action.input > input[type="text"],
.ui.action.input > input[type="search"],
.ui.action.input > input[type="text"] {
  border-radius: 0 !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
.ui.form .ui.action.input > input:first-child,
.ui.form .ui.action.input > input[type="search"]:first-child,
.ui.form .ui.action.input > input[type="text"]:first-child,
.ui.action.input > input[type="search"]:first-child,
.ui.action.input > input[type="text"]:first-child {
  border-top-left-radius: var(--border-radius) !important;
  border-bottom-left-radius: var(--border-radius) !important;
}
.ui.form .ui.action.input > input:last-child,
.ui.action.input > input[type="search"]:last-child,
.ui.action.input > input[type="text"]:last-child {
  border-top-right-radius: var(--border-radius) !important;
  border-bottom-right-radius: var(--border-radius) !important;
}
.ui.form .ui.action.input > .ui.button,
.ui.form .ui.action.input > button.ui.button,
.ui.action.input > .ui.button,
.ui.action.input > button.ui.button {
  border-radius: 0 !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
.ui.form .ui.action.input > .ui.button:last-child,
.ui.form .ui.action.input > button.ui.button:last-child,
.ui.action.input > .ui.button:last-child,
.ui.action.input > button.ui.button:last-child {
  border-top-right-radius: var(--border-radius) !important;
  border-bottom-right-radius: var(--border-radius) !important;
}
.ui.form .ui.action.input > .ui.button:first-child,
.ui.form .ui.action.input > button.ui.button:first-child {
  border-top-left-radius: var(--border-radius) !important;
  border-bottom-left-radius: var(--border-radius) !important;
}


/* Error pages — quiet, forge-native */
.ui.container.tn-error-page,
.tn-error-page {
  --tn-error-art-width: min(480px, 96vw);
  position: relative !important;
  width: var(--tn-error-art-width) !important;
  max-width: var(--tn-error-art-width) !important;
  margin: 4rem auto 3rem !important;
  padding: 0 !important;
  text-align: center !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
.tn-error-404 { --tn-error-accent: var(--color-primary); }
.tn-error-413 { --tn-error-accent: var(--color-orange); }
.tn-error-500 { --tn-error-accent: var(--color-red); }

.tn-error-art {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto 1.5rem !important;
}

/* Matrix carries the visual code; keep h1 for a11y */
.page-content h1.error-code.tn-error-code,
.page-content .tn-error-code.error-code,
h1.error-code.tn-error-code {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  background: none !important;
  -webkit-text-fill-color: unset !important;
  filter: none !important;
  animation: none !important;
  text-shadow: none !important;
}

.tn-error-message {
  margin: 0 auto 1.75rem !important;
  max-width: 38ch !important;
  color: var(--color-text) !important;
  font-size: 1rem !important;
  line-height: 1.55 !important;
}
.tn-error-message strong {
  color: var(--color-text) !important;
  font-weight: 600 !important;
}
.tn-error-action.ui.button {
  margin-top: 0 !important;
}
.tn-error-meta {
  margin-top: 2.5rem !important;
  color: var(--color-text-light-2) !important;
  font-size: 0.75rem !important;
}
.tn-error-page .divider {
  display: none !important;
}
.tn-error-details {
  max-width: 40rem !important;
  margin: 0 auto 3rem !important;
  text-align: left !important;
  color: var(--color-text-light) !important;
  font-size: 0.9rem !important;
}
.tn-error-details pre {
  margin: 0.5rem 0 1.25rem !important;
  padding: 0.75rem 1rem !important;
  border: 1px solid var(--color-secondary) !important;
  border-radius: var(--border-radius) !important;
  background: var(--color-box-header) !important;
  color: var(--color-text) !important;
  white-space: pre-wrap !important;
  word-break: break-word !important;
  font-size: 0.8rem !important;
}
.tn-error-footer {
  text-align: center !important;
  margin-top: 1.5rem !important;
}
.status-page-500 .tn-error-page {
  margin-top: 3rem !important;
}

/* Guest landing — split hero (+ optional featured repos) */
.page-content.home.tn-landing {
  --tn-chrome: 3.1rem; /* navbar */
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100dvh - var(--tn-chrome)) !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  overflow: hidden !important;
  background:
    radial-gradient(ellipse 80% 70% at 12% 40%, color-mix(in srgb, #7dcfff 12%, transparent), transparent 70%),
    radial-gradient(ellipse 75% 65% at 88% 55%, color-mix(in srgb, #bb9af7 14%, transparent), transparent 68%),
    radial-gradient(ellipse 50% 40% at 55% 45%, color-mix(in srgb, #7aa2f7 6%, transparent), transparent 75%),
    var(--color-body) !important;
}
.page-content.home.tn-landing.tn-landing--featured {
  --tn-half: calc((100dvh - var(--tn-chrome)) / 2);
  align-items: stretch !important;
  justify-content: flex-start !important;
  /* Page/body scrolls once — do not create an inner scrollbar here */
  overflow: visible !important;
  height: auto !important;
  min-height: 0 !important;
  /* Solid page chrome; hero keeps the atmospheric gradient */
  background: var(--color-body) !important;
}
/* Kill Forgejo page-spacing gap under the navbar */
.page-content.home.tn-landing > :first-child {
  margin-top: 0 !important;
}
/* Forgejo's .full.height padding left a dead band under the landing */
body:has(.page-content.home.tn-landing) .full.height {
  padding-bottom: 0 !important;
}
body:has(.page-content.home.tn-landing) {
  overflow-x: hidden !important;
}
.tn-landing__shell {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: calc(100dvh - var(--tn-chrome)) !important;
}
.tn-landing--featured .tn-landing__shell {
  justify-content: flex-start !important;
  min-height: calc(100dvh - var(--tn-chrome)) !important;
}
.tn-landing__hero {
  position: relative !important;
  z-index: 1 !important;
  width: min(72rem, 100%) !important;
  padding: clamp(2rem, 5vw, 4rem) clamp(1.25rem, 4vw, 3.5rem) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr) !important;
  align-items: center !important;
  gap: clamp(2rem, 6vw, 5rem) !important;
  overflow: visible !important;
}
.tn-landing__hero > .tn-landing__copy,
.tn-landing__hero > .tn-landing__visual {
  position: relative !important;
  z-index: 1 !important;
}
/* Featured: ~50vh welcome — content scaled down, gradient stays full-bleed */
.tn-landing--featured .tn-landing__hero {
  width: 100% !important;
  max-width: none !important;
  height: var(--tn-half) !important;
  min-height: var(--tn-half) !important;
  max-height: var(--tn-half) !important;
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  overflow: hidden !important;
  justify-content: center !important;
  justify-items: stretch !important;
  align-items: center !important;
  grid-template-columns: minmax(0, calc(72rem * 1.05 / 2)) minmax(0, calc(72rem * 0.95 / 2)) !important;
  column-gap: clamp(1.5rem, 4vw, 3.5rem) !important;
  padding: clamp(1.25rem, 2.5vh, 2rem) clamp(1.25rem, 4vw, 3.5rem) !important;
  background:
    radial-gradient(ellipse 90% 90% at 10% 35%, color-mix(in srgb, #7dcfff 13%, transparent), transparent 72%),
    radial-gradient(ellipse 85% 85% at 92% 60%, color-mix(in srgb, #bb9af7 14%, transparent), transparent 70%),
    radial-gradient(ellipse 55% 55% at 50% 45%, color-mix(in srgb, #7aa2f7 7%, transparent), transparent 75%),
    var(--color-body) !important;
}
.tn-landing--featured .tn-landing__hero > .tn-landing__copy,
.tn-landing--featured .tn-landing__hero > .tn-landing__visual {
  max-width: none !important;
}
.tn-landing--featured .tn-landing__brand {
  margin-bottom: 0.65rem !important;
  font-size: clamp(2rem, 4.5vw, 3.1rem) !important;
}
.tn-landing--featured .tn-landing__lead {
  margin-bottom: 1.35rem !important;
  font-size: clamp(1rem, 1.8vw, 1.2rem) !important;
}
.tn-landing--featured .tn-landing__btn.ui.button {
  min-width: 9rem !important;
  padding: 0.8rem 1.3rem !important;
  font-size: 0.98rem !important;
}
.tn-landing--featured .tn-landing__visual {
  min-height: 0 !important;
  padding: 0.5rem !important;
}
.tn-landing--featured .tn-landing__logo-card {
  width: min(15.5rem, 34vw) !important;
}
/* Soft ambient blobs — live on the full shell so welcome mode is not a clipped box */
.tn-landing__glow {
  position: absolute !important;
  border-radius: 50% !important;
  filter: blur(90px) !important;
  pointer-events: none !important;
  opacity: 0.28 !important;
  z-index: 0 !important;
}
.tn-landing--featured .tn-landing__glow {
  /* Featured hero paints its own gradient; hide shell blobs there */
  display: none !important;
}
.tn-landing__glow--a {
  width: min(55vw, 38rem) !important;
  height: min(55vw, 38rem) !important;
  top: -10% !important;
  left: -8% !important;
  background: color-mix(in srgb, #7dcfff 28%, transparent) !important;
  animation: tn-landing-drift 14s ease-in-out infinite alternate !important;
}
.tn-landing__glow--b {
  width: min(52vw, 36rem) !important;
  height: min(52vw, 36rem) !important;
  right: -8% !important;
  bottom: -12% !important;
  background: color-mix(in srgb, #bb9af7 24%, transparent) !important;
  animation: tn-landing-drift 16s ease-in-out infinite alternate-reverse !important;
}
@keyframes tn-landing-drift {
  from { transform: translate(0, 0) scale(1); }
  to { transform: translate(2rem, -1.5rem) scale(1.06); }
}
.tn-landing__copy {
  text-align: left !important;
  max-width: 34rem !important;
}
.tn-landing__visual {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: min(52vh, 28rem) !important;
  padding: 2rem !important;
  perspective: 1100px !important;
  perspective-origin: 50% 45% !important;
}
.tn-landing__logo-card {
  --tn-tilt-x: 8deg;
  --tn-tilt-y: -14deg;
  position: relative !important;
  width: min(22rem, 70vw) !important;
  aspect-ratio: 1 !important;
  transform-style: preserve-3d !important;
  /* Variables so JS can update tilt despite theme !important transforms */
  transform: rotateX(var(--tn-tilt-x)) rotateY(var(--tn-tilt-y)) !important;
  transition: transform 0.12s linear !important;
  will-change: transform !important;
  pointer-events: none !important;
}
.tn-landing__logo {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 !important;
  margin: 0 !important;
  border-radius: 50% !important;
  transform: translateZ(18px) !important;
  box-shadow:
    0 0 0 1px color-mix(in srgb, #c0caf5 12%, transparent),
    0 1.75rem 3.5rem color-mix(in srgb, #000 55%, transparent),
    0 0 4.5rem color-mix(in srgb, #7aa2f7 20%, transparent) !important;
}
.tn-landing__logo-shine {
  --tn-shine-x: 35%;
  --tn-shine-y: 28%;
  position: absolute !important;
  inset: 0 !important;
  border-radius: 50% !important;
  pointer-events: none !important;
  mix-blend-mode: soft-light !important;
  opacity: 0.9 !important;
  transform: translateZ(28px) !important;
  background: radial-gradient(circle at var(--tn-shine-x) var(--tn-shine-y), rgba(192, 202, 245, 0.28), transparent 55%) !important;
}
.tn-landing__logo--sm {
  width: 72px !important;
  height: 72px !important;
  margin: 0 auto 1.25rem !important;
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-secondary) 80%, transparent) !important;
  transform: none !important;
}
.tn-landing__brand,
.tn-landing__title {
  margin: 0 0 1rem !important;
  font-size: clamp(2.75rem, 7vw, 4.25rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.05 !important;
  color: #c0caf5 !important;
}
.tn-landing__lead {
  margin: 0 0 2.25rem !important;
  max-width: 26ch !important;
  font-size: clamp(1.15rem, 2.4vw, 1.45rem) !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  color: #d0d6f2 !important;
  text-shadow: 0 1px 12px color-mix(in srgb, #1a1b26 55%, transparent) !important;
  white-space: pre-line !important;
}
.tn-landing__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.9rem !important;
  justify-content: flex-start !important;
  margin: 0 !important;
}
.tn-landing__btn.ui.button {
  margin: 0 !important;
  min-width: 10.5rem !important;
  padding: 1rem 1.6rem !important;
  font-size: 1.05rem !important;
  font-weight: 650 !important;
  border-radius: var(--border-radius) !important;
  transition: transform 0.18s ease, background-color 0.18s ease, border-color 0.18s ease !important;
}
.tn-landing__btn--primary.ui.button {
  background: var(--color-primary) !important;
  background-color: var(--color-primary) !important;
  color: var(--color-primary-contrast) !important;
  border: 1px solid var(--color-primary) !important;
  box-shadow: none !important;
}
.tn-landing__btn--primary.ui.button:hover,
.tn-landing__btn--primary.ui.button:focus {
  background: var(--color-primary-dark-1) !important;
  background-color: var(--color-primary-dark-1) !important;
  border-color: var(--color-primary-dark-1) !important;
  color: var(--color-primary-contrast) !important;
  transform: translateY(-1px) !important;
}
.tn-landing__btn--ghost.ui.button {
  background: transparent !important;
  color: #c0caf5 !important;
  border: 1px solid color-mix(in srgb, #c0caf5 32%, transparent) !important;
  box-shadow: none !important;
}
.tn-landing__btn--ghost.ui.button:hover,
.tn-landing__btn--ghost.ui.button:focus {
  background: color-mix(in srgb, #24283b 70%, transparent) !important;
  border-color: color-mix(in srgb, #c0caf5 50%, transparent) !important;
  color: #c0caf5 !important;
  transform: translateY(-1px) !important;
}
.tn-landing__signed {
  text-align: center !important;
  padding: 3rem 1.5rem !important;
}
.tn-landing__signed .tn-landing__lead {
  margin-left: auto !important;
  margin-right: auto !important;
}
.tn-landing__signed .tn-landing__actions,
.tn-landing__signed .tn-landing__btn {
  justify-content: center !important;
}

/* Featured / recommended repos (optional — driven by tn-landing-featured.json) */
.tn-landing__featured[hidden] {
  display: none !important;
}
.tn-landing__featured {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  flex: 1 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: var(--tn-half, auto) !important;
  margin-top: 0 !important;
  padding: clamp(2rem, 4vh, 3rem) 0 !important;
  border-top: 1px solid color-mix(in srgb, #c0caf5 10%, transparent) !important;
  /* Opaque so the hero gradient cannot show through or below */
  background: var(--color-body) !important;
}
.tn-landing__featured-inner {
  width: min(72rem, 100%) !important;
  margin: 0 auto !important;
  padding: 0 clamp(1.25rem, 4vw, 3.5rem) !important;
}
.tn-landing__featured-head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 1.25rem 2rem !important;
  margin-bottom: 1.75rem !important;
}
.tn-landing__featured-title {
  margin: 0 !important;
  font-size: clamp(1.5rem, 2.8vw, 1.95rem) !important;
  font-weight: 650 !important;
  letter-spacing: -0.02em !important;
  color: #c0caf5 !important;
  line-height: 1.2 !important;
}
.tn-landing__featured-sub {
  margin: 0.4rem 0 0 !important;
  font-size: 1.02rem !important;
  line-height: 1.4 !important;
  color: #a9b1d6 !important;
  max-width: 42ch !important;
}
.tn-landing__featured-explore {
  flex-shrink: 0 !important;
  color: #7aa2f7 !important;
  font-size: 1rem !important;
  font-weight: 550 !important;
  text-decoration: none !important;
  border-bottom: 1px solid transparent !important;
  padding-bottom: 0.1rem !important;
  transition: color 0.15s ease, border-color 0.15s ease !important;
}
.tn-landing__featured-explore:hover,
.tn-landing__featured-explore:focus {
  color: #c0caf5 !important;
  border-bottom-color: color-mix(in srgb, #c0caf5 45%, transparent) !important;
  text-decoration: none !important;
}
.tn-landing__repo-grid {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.15rem !important;
}
.tn-landing__repo-item {
  margin: 0 !important;
  min-width: 0 !important;
  animation: tn-featured-in 0.45s ease both !important;
  animation-delay: calc(var(--tn-repo-i, 0) * 60ms) !important;
}
@keyframes tn-featured-in {
  from { opacity: 0; transform: translateY(0.55rem); }
  to { opacity: 1; transform: translateY(0); }
}
.tn-landing__repo {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.7rem !important;
  height: 100% !important;
  min-height: 11rem !important;
  padding: 1.45rem 1.4rem 1.25rem !important;
  border-radius: var(--border-radius) !important;
  border: 1px solid color-mix(in srgb, #c0caf5 12%, transparent) !important;
  background: color-mix(in srgb, #24283b 78%, transparent) !important;
  text-decoration: none !important;
  color: inherit !important;
  transition:
    border-color 0.18s ease,
    background-color 0.18s ease,
    transform 0.18s ease !important;
}
.tn-landing__repo:hover,
.tn-landing__repo:focus {
  border-color: color-mix(in srgb, #7aa2f7 45%, transparent) !important;
  background: color-mix(in srgb, #24283b 92%, transparent) !important;
  transform: translateY(-2px) !important;
  text-decoration: none !important;
  color: inherit !important;
}
.tn-landing__repo-name {
  font-size: 1.12rem !important;
  font-weight: 650 !important;
  letter-spacing: -0.015em !important;
  color: #c0caf5 !important;
  line-height: 1.25 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.tn-landing__repo-desc {
  flex: 1 !important;
  font-size: 0.95rem !important;
  line-height: 1.45 !important;
  color: #a9b1d6 !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
.tn-landing__repo-meta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  margin-top: 0.15rem !important;
  font-size: 0.8rem !important;
  color: #9aa5ce !important;
}
.tn-landing__repo-lang-dot {
  width: 0.55rem !important;
  height: 0.55rem !important;
  border-radius: 50% !important;
  background: var(--tn-lang, #7aa2f7) !important;
  flex-shrink: 0 !important;
}

@media (max-width: 960px) {
  .tn-landing__repo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 820px) {
  .tn-landing__hero {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    gap: 2.5rem !important;
  }
  .tn-landing--featured .tn-landing__hero {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    grid-template-columns: 1fr !important;
    padding-block: clamp(1.5rem, 4vh, 2.5rem) !important;
  }
  .tn-landing--featured .tn-landing__featured {
    min-height: 0 !important;
  }
  .tn-landing--featured .tn-landing__logo-card {
    width: min(12rem, 48vw) !important;
  }
  .tn-landing__copy {
    text-align: center !important;
    max-width: none !important;
    order: 2 !important;
  }
  .tn-landing__visual {
    order: 1 !important;
    min-height: auto !important;
  }
  .tn-landing__lead {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .tn-landing__actions {
    justify-content: center !important;
  }
  .tn-landing__logo-card {
    --tn-tilt-x: 6deg;
    --tn-tilt-y: -10deg;
    width: min(14rem, 58vw) !important;
  }
  .tn-landing__featured-head {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}
@media (max-width: 560px) {
  .tn-landing__repo-grid {
    grid-template-columns: 1fr !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .tn-landing__glow--a,
  .tn-landing__glow--b {
    animation: none !important;
  }
  .tn-landing__logo-card {
    transform: none !important;
    transition: none !important;
  }
  .tn-landing__logo-shine {
    display: none !important;
  }
  .tn-landing__btn.ui.button:hover,
  .tn-landing__btn.ui.button:focus {
    transform: none !important;
  }
  .tn-landing__repo-item {
    animation: none !important;
  }
  .tn-landing__repo:hover,
  .tn-landing__repo:focus {
    transform: none !important;
  }
}

