/* Generated by bun run build. */
@font-face{font-family:Atkinson;src:url('../tilo/AtkinsonHyperlegibleNext.woff2?v=ec3dce7fe37c') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:AtkinsonMono;src:url('../tilo/AtkinsonHyperlegibleMono.woff2?v=ec3dce7fe37c') format('woff2');font-weight:200 800;font-display:swap}
.chroma .bp{color:#999}.chroma .c,.chroma .c1,.chroma .ch{color:#6a737d}.chroma .cm{color:#998}.chroma .cp{color:#109295}.chroma .cpf{color:#4c4dbc}.chroma .cs{color:#999}.chroma .dl{color:#106303}.chroma .gd{color:#000;background-color:#fdd}.chroma .ge{color:#000}.chroma .gh{color:#999}.chroma .gi{color:#000;background-color:#dfd}.chroma .go{color:#888}.chroma .gp{color:#555}.chroma .gr,.chroma .gt{color:#a00}.chroma .gu{color:#aaa}.chroma .il{color:#099}.chroma .k,.chroma .kc,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr{color:#d73a49}.chroma .kt{color:#458}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .mo{color:#099}.chroma .na{color:#d73a49}.chroma .nb{color:#005cc5}.chroma .nc{color:#458}.chroma .nd{color:#3c5d5d}.chroma .ne{color:#900}.chroma .nf{color:#005cc5}.chroma .ni{color:#6f42c1}.chroma .nl{color:#900}.chroma .nn{color:#555}.chroma .no{color:teal}.chroma .nt{color:#22863a}.chroma .nv{color:teal}.chroma .nx{color:#24292e}.chroma .o,.chroma .ow{color:#d73a49}.chroma .s,.chroma .s1,.chroma .s2{color:#106303}.chroma .sa{color:#cc7a00}.chroma .sb{color:#106303}.chroma .sc{color:#cc7a00}.chroma .sd{color:#106303}.chroma .se{color:#940}.chroma .sh{color:#106303}.chroma .si{color:#cc7a00}.chroma .sr{color:#4c4dbc}.chroma .ss{color:#940}.chroma .sx{color:#106303}.chroma .vc,.chroma .vg,.chroma .vi{color:teal}.chroma .w{color:#bbb}.markup [src$="#gh-dark-mode-only"],.markup [src$="#dark-mode-only"],.markup [href$="#gh-dark-mode-only"],.markup [href$="#dark-mode-only"]{display:none}:root{--steel-900: #10161d;--steel-850: #131a21;--steel-800: #171e26;--steel-750: #1d262f;--steel-700: #242d38;--steel-650: #2b3642;--steel-600: #374351;--steel-550: #445161;--steel-500: #515f70;--steel-450: #5f6e80;--steel-400: #6d7d8f;--steel-350: #7c8c9f;--steel-300: #8c9caf;--steel-250: #9dadc0;--steel-200: #aebed0;--steel-150: #c0cfe0;--steel-100: #d2e0f0;--zinc-50: #fafafa;--zinc-100: #f4f4f5;--zinc-150: #ececee;--zinc-200: #e4e4e7;--zinc-250: #dcdce0;--zinc-300: #d4d4d8;--zinc-350: #babac1;--zinc-400: #a1a1aa;--zinc-450: #898992;--zinc-500: #71717a;--zinc-550: #61616a;--zinc-600: #52525b;--zinc-650: #484850;--zinc-700: #3f3f46;--zinc-750: #333338;--zinc-800: #27272a;--zinc-850: #1f1f23;--zinc-900: #18181b;--color-primary: #c2410c;--color-primary-contrast: #ffffff;--color-primary-dark-1: #c2410c;--color-primary-dark-2: #9a3412;--color-primary-dark-3: #9a3412;--color-primary-dark-4: #7c2d12;--color-primary-dark-5: #7c2d12;--color-primary-dark-6: #7c2d12;--color-primary-dark-7: #7c2d12;--color-primary-light-1: #ea580c;--color-primary-light-2: #f97316;--color-primary-light-3: #fb923c;--color-primary-light-4: #fdba74;--color-primary-light-5: #fed7aa;--color-primary-light-6: #ffedd5;--color-primary-light-7: #fff7ed;--color-primary-alpha-10: #c2410c19;--color-primary-alpha-20: #c2410c33;--color-primary-alpha-30: #c2410c4b;--color-primary-alpha-40: #c2410c66;--color-primary-alpha-50: #c2410c80;--color-primary-alpha-60: #c2410c99;--color-primary-alpha-70: #c2410cb3;--color-primary-alpha-80: #c2410ccc;--color-primary-alpha-90: #c2410ce1;--color-primary-hover: var(--color-primary-dark-2);--color-primary-active: var(--color-primary-dark-4);--color-secondary: var(--zinc-200);--color-secondary-dark-1: var(--zinc-200);--color-secondary-dark-2: var(--zinc-300);--color-secondary-dark-3: var(--zinc-300);--color-secondary-dark-4: var(--zinc-400);--color-secondary-dark-5: var(--zinc-400);--color-secondary-dark-6: var(--zinc-500);--color-secondary-dark-7: var(--zinc-500);--color-secondary-dark-8: var(--zinc-600);--color-secondary-dark-9: var(--zinc-600);--color-secondary-dark-10: var(--zinc-700);--color-secondary-dark-11: var(--zinc-700);--color-secondary-dark-12: var(--zinc-800);--color-secondary-dark-13: var(--zinc-800);--color-secondary-light-1: var(--zinc-200);--color-secondary-light-2: var(--zinc-100);--color-secondary-light-3: var(--zinc-100);--color-secondary-light-4: var(--zinc-50);--color-secondary-alpha-10: #d4d4d819;--color-secondary-alpha-20: #d4d4d833;--color-secondary-alpha-30: #d4d4d84b;--color-secondary-alpha-40: #d4d4d866;--color-secondary-alpha-50: #d4d4d880;--color-secondary-alpha-60: #d4d4d899;--color-secondary-alpha-70: #d4d4d8b3;--color-secondary-alpha-80: #d4d4d8cc;--color-secondary-alpha-90: #d4d4d8e1;--color-secondary-hover: var(--color-secondary-dark-2);--color-secondary-active: var(--color-secondary-dark-4);--color-console-fg: #eeeff2;--color-console-fg-subtle: #959cab;--color-console-bg: #1f212b;--color-console-border: #383c47;--color-console-hover-bg: #ffffff16;--color-console-active-bg: #454a57;--color-console-menu-bg: #383c47;--color-console-menu-border: #5c6374;--color-red: #dc2626;--color-orange: #ea580c;--color-yellow: #ca8a04;--color-olive: #91a313;--color-green: #15803d;--color-teal: #0d9488;--color-blue: #2563eb;--color-violet: #7c3aed;--color-purple: #9333ea;--color-pink: #db2777;--color-brown: #a47252;--color-grey: #4b5563;--color-black: #000000;--color-red-light: #ef4444;--color-orange-light: #f97316;--color-yellow-light: #eab308;--color-olive-light: #839311;--color-green-light: #16a34a;--color-teal-light: #14b8a6;--color-blue-light: #3b82f6;--color-violet-light: #8b5cf6;--color-purple-light: #a855f7;--color-pink-light: #ec4899;--color-brown-light: #94674a;--color-grey-light: #6b7280;--color-black-light: #181818;--color-red-dark-1: #c82020;--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: #000000;--color-red-dark-2: #b21d1d;--color-orange-dark-2: #bb460a;--color-yellow-dark-2: #a26e03;--color-olive-dark-2: #74820f;--color-green-dark-2: #116631;--color-teal-dark-2: #0a766d;--color-blue-dark-2: #124bc7;--color-violet-dark-2: #5c14d8;--color-purple-dark-2: #7715cf;--color-pink-dark-2: #b11d5f;--color-brown-dark-2: #835b42;--color-black-dark-2: #000000;--color-ansi-black: #1f2326;--color-ansi-red: #cc4848;--color-ansi-green: #87ab63;--color-ansi-yellow: #cc9903;--color-ansi-blue: #3a8ac6;--color-ansi-magenta: #d22e8b;--color-ansi-cyan: #00918a;--color-ansi-white: var(--color-console-fg-subtle);--color-ansi-bright-black: #46494d;--color-ansi-bright-red: #d15a5a;--color-ansi-bright-green: #93b373;--color-ansi-bright-yellow: #eaaf03;--color-ansi-bright-blue: #4e96cc;--color-ansi-bright-magenta: #d74397;--color-ansi-bright-cyan: #00b6ad;--color-ansi-bright-white: var(--color-console-fg);--color-gold: #b1983b;--color-white: #ffffff;--color-diff-removed-word-bg: #fca5a5;--color-diff-added-word-bg: #86efac;--color-diff-removed-row-bg: #fee2e2;--color-diff-moved-row-bg: #fef9c3;--color-diff-added-row-bg: #dcfce7;--color-diff-removed-row-border: #fca5a5;--color-diff-moved-row-border: #fde047;--color-diff-added-row-border: #86efac;--color-diff-inactive: var(--zinc-100);--color-error-border: #fecaca;--color-error-bg: #fee2e2;--color-error-bg-active: #fca5a5;--color-error-bg-hover: #fecaca;--color-error-text: #7f1d1d;--color-success-border: #bbf7d0;--color-success-bg: #dcfce7;--color-success-text: #14532d;--color-warning-border: #fde047;--color-warning-bg: #fef3c7;--color-warning-text: #78350f;--color-info-border: #bae6fd;--color-info-bg: #e0f2fe;--color-info-text: #0c4a6e;--color-red-badge: #b91c1c;--color-red-badge-bg: #b91c1c22;--color-red-badge-hover-bg: #b91c1c44;--color-green-badge: #16a34a;--color-green-badge-bg: #16a34a22;--color-green-badge-hover-bg: #16a34a44;--color-yellow-badge: #ca8a04;--color-yellow-badge-bg: #ca8a0422;--color-yellow-badge-hover-bg: #ca8a0444;--color-orange-badge: #ea580c;--color-orange-badge-bg: #ea580c22;--color-orange-badge-hover-bg: #ea580c44;--color-body: #fff;--color-box-header: var(--zinc-100);--color-box-body: var(--zinc-50);--color-box-body-highlight: var(--zinc-200);--color-text-dark: #000;--color-text: var(--zinc-900);--color-text-light: var(--zinc-700);--color-text-light-1: var(--zinc-650);--color-text-light-2: var(--zinc-600);--color-text-light-3: var(--zinc-550);--color-footer: var(--zinc-100);--color-timeline: var(--zinc-200);--color-input-text: var(--zinc-800);--color-input-background: #fff;--color-input-toggle-background: #fff;--color-input-border: var(--zinc-300);--color-input-border-hover: var(--zinc-400);--color-header-wrapper: var(--zinc-50);--color-header-wrapper-transparent: #d2e0f000;--color-light: #ffffffcc;--color-light-mimic-enabled: rgba(0, 0, 0, calc(6 / 255 * 222 / 255 / var(--opacity-disabled)));--color-light-border: #0000001d;--color-hover: #e4e4e4aa;--color-active: #e2e2e5;--color-menu: var(--zinc-100);--color-card: var(--zinc-50);--fancy-card-bg: var(--zinc-100);--fancy-card-border: var(--zinc-200);--color-markup-table-row: #ffffff06;--color-markup-code-block: var(--zinc-150);--color-markup-code-inline: var(--zinc-200);--color-button: var(--zinc-150);--color-code-bg: var(--zinc-50);--color-shadow: #00000060;--color-secondary-bg: var(--zinc-100);--color-text-focus: #fff;--color-expand-button: var(--zinc-200);--color-placeholder-text: var(--color-text-light-3);--color-editor-line-highlight: var(--zinc-100);--color-project-board-bg: var(--color-secondary-light-2);--color-project-board-dark-label: var(--color-text-light-3);--color-caret: var(--color-text);--color-reaction-bg: #0000000a;--color-reaction-active-bg: var(--color-primary-alpha-20);--color-reaction-hover-bg: var(--color-primary-alpha-30);--color-tooltip-text: #ffffff;--color-tooltip-bg: #000000f0;--color-nav-bg: var(--zinc-100);--color-nav-hover-bg: var(--zinc-300);--color-secondary-nav-bg: var(--color-body);--color-label-text: var(--color-text);--color-label-bg: #cacaca7b;--color-label-hover-bg: #cacacaa0;--color-label-active-bg: #cacacaff;--color-label-bg-alt: #cacacaff;--color-accent: var(--color-primary-light-1);--color-small-accent: var(--color-primary-light-5);--color-highlight-fg: var(--color-primary-light-4);--color-highlight-bg: var(--color-primary-light-6);--color-overlay-backdrop: #080808c0;--color-selection-bg: var(--steel-450);--color-selection-fg: var(--color-white);--checkerboard-color-1: #ffffff;--checkerboard-color-2: #e5e5e5;--color-indicator-offline: #52525b;--color-indicator-offline-20: #52525b33;--color-indicator-idle: #16a34a;--color-indicator-idle-20: #16a34a33;--color-indicator-active: #2185d0;--color-indicator-active-20: #2185d033;accent-color:var(--color-accent);color-scheme:light}.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.labels .label{background-color:var(--color-primary-dark-1)!important}.ui.labeled.icon.buttons>.button>.icon,.ui.labeled.icon.button>.icon{background-color:var(--color-shadow)!important}#review-box .review-comments-counter{background-color:var(--color-label-bg)!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{background:var(--color-warning-bg)!important;color:var(--color-text-dark)!important}

:root{color-scheme:light;--color-indicator-offline-20:rgba(140, 136, 125, 0.22);
--color-indicator-idle:#2F6F4E;
--color-indicator-idle-20:rgba(47, 111, 78, 0.22);
--color-indicator-active:#2B4F8F;
--color-indicator-active-20:rgba(43, 79, 143, 0.22);
--color-red:#9C2A2A;
--color-red-light:#B23434;
--color-red-dark-1:#862424;
--color-red-dark-2:#6E1E1E;
--color-orange:#B45D1E;
--color-orange-light:#D26F22;
--color-orange-dark-1:#9C5019;
--color-orange-dark-2:#834115;
--color-yellow:#7A5A18;
--color-yellow-light:#9A7320;
--color-yellow-dark-1:#684C14;
--color-yellow-dark-2:#574010;
--color-olive:#5F6F1C;
--color-olive-light:#6F8120;
--color-olive-dark-1:#525F18;
--color-olive-dark-2:#444F14;
--color-green:#2F6F4E;
--color-green-light:#3A8862;
--color-green-dark-1:#266042;
--color-green-dark-2:#1F5037;
--color-teal:#1F6E68;
--color-teal-light:#248580;
--color-teal-dark-1:#1A5F5A;
--color-teal-dark-2:#14504C;
--color-blue:#2B4F8F;
--color-blue-light:#335FAA;
--color-blue-dark-1:#25447A;
--color-blue-dark-2:#1F3964;
--color-violet:#5B3CA8;
--color-violet-light:#6E4DBE;
--color-violet-dark-1:#4D338F;
--color-violet-dark-2:#3F2B77;
--color-purple:#6B348C;
--color-purple-light:#7E3FA4;
--color-purple-dark-1:#5A2C77;
--color-purple-dark-2:#492463;
--color-pink:#A2356A;
--color-pink-light:#B83C78;
--color-pink-dark-1:#8A2C5A;
--color-pink-dark-2:#72244A;
--color-brown:#7A5A3D;
--color-brown-light:#8C6B4B;
--color-brown-dark-1:#664A33;
--color-brown-dark-2:#52382A;
--color-red-badge:#9C2A2A;
--color-red-badge-bg:rgba(156, 42, 42, 0.14);
--color-red-badge-hover-bg:rgba(156, 42, 42, 0.28);
--color-green-badge:#2F6F4E;
--color-green-badge-bg:rgba(47, 111, 78, 0.14);
--color-green-badge-hover-bg:rgba(47, 111, 78, 0.28);
--color-yellow-badge:#7A5A18;
--color-yellow-badge-bg:rgba(122, 90, 24, 0.14);
--color-yellow-badge-hover-bg:rgba(122, 90, 24, 0.28);
--color-orange-badge:#B45D1E;
--color-orange-badge-bg:rgba(180, 93, 30, 0.14);
--color-orange-badge-hover-bg:rgba(180, 93, 30, 0.28);
--color-error-border:rgba(156, 42, 42, 0.30);
--color-error-bg:rgba(156, 42, 42, 0.08);
--color-error-bg-hover:rgba(156, 42, 42, 0.16);
--color-error-bg-active:rgba(156, 42, 42, 0.24);
--color-error-text:#6E1E1E;
--color-success-border:rgba(47, 111, 78, 0.30);
--color-success-bg:rgba(47, 111, 78, 0.10);
--color-success-text:#1F5037;
--color-warning-border:rgba(122, 90, 24, 0.30);
--color-warning-bg:rgba(122, 90, 24, 0.10);
--color-warning-text:#574010;
--color-info-border:rgba(43, 79, 143, 0.30);
--color-info-bg:rgba(43, 79, 143, 0.08);
--color-info-text:#1F3964;
--color-diff-added-row-bg:#E1ECDF;
--color-diff-added-row-border:#BFD4BB;
--color-diff-added-word-bg:#BFD4BB;
--color-diff-removed-row-bg:#F2DCDF;
--color-diff-removed-row-border:#D9B7BD;
--color-diff-removed-word-bg:#D9B7BD;
--color-diff-moved-row-bg:#F0E8D2;
--color-diff-moved-row-border:#D5C99A;
--color-console-fg:#E8E6E0;
--color-console-fg-subtle:#95938A;
--color-console-hover-bg:rgba(241, 240, 236, 0.08);
--fonts-proportional:Atkinson, system-ui, sans-serif;
--fonts-monospace:AtkinsonMono, ui-monospace, monospace;
--border-radius:0px;
--border-radius-medium:0px;
--border-radius-large:0px;
--color-body:#f0e9d8;
--color-box-header:#f0e9d8;
--color-box-body:#f0e9d8;
--color-box-body-highlight:#eaeae5;
--color-card:#f0e9d8;
--fancy-card-bg:#f0e9d8;
--fancy-card-border:#77766e;
--color-menu:#f0e9d8;
--color-footer:#f0e9d8;
--color-nav-bg:#f0e9d8;
--color-nav-hover-bg:#eaeae5;
--color-header-wrapper:#f0e9d8;
--color-secondary-nav-bg:#f0e9d8;
--color-secondary-bg:#f0e9d8;
--color-text:#141412;
--color-text-dark:#141412;
--color-text-light:#55554f;
--color-text-light-1:#55554f;
--color-text-light-2:#55554f;
--color-text-light-3:#55554f;
--color-placeholder-text:#55554f;
--color-input-text:#141412;
--color-input-background:#f0e9d8;
--color-input-border:#77766e;
--color-input-border-hover:#55554f;
--color-button:#f0e9d8;
--color-light:#f0e9d8;
--color-secondary:#77766e;
--color-secondary-dark-1:#77766e;
--color-secondary-dark-2:#55554f;
--color-code-bg:#f0e9d8;
--color-code-sidebar-bg:#f0e9d8;
--color-code-inline-bg:#f0e9d8;
--color-primary:#1f45a6;
--color-primary-contrast:#ffffff;
--color-primary-hover:#193a90;
--color-primary-active:#143078;
--color-accent:#1f45a6;
--color-link:#1f45a6;
--color-caret:#141412;
--color-active:#eaeae5;
--color-hover:#eaeae5;
--color-input-toggle-background:#f0e9d8;
--color-markup-code-block:#f0e9d8;
--color-markup-code-inline:#eaeae5;
--color-markup-table-row:transparent;
--color-editor-line-highlight:#eaeae5;
--color-project-board-bg:#f0e9d8;
--color-label-text:#141412;
--color-label-bg:#eaeae5;
--color-label-hover-bg:#eaeae5;
--color-label-active-bg:#eaeae5;
--color-label-bg-alt:#eaeae5;
--color-timeline:#77766e;
--color-secondary-light-1:#eaeae5;
--color-secondary-light-2:#f0e9d8;
--color-secondary-light-3:#f0e9d8;
--color-secondary-light-4:#f0e9d8;
--color-selection-bg:#1f45a6;
--color-selection-fg:#ffffff;
--color-thin-green:#236542;
--color-thin-red:#9e2824;
--color-thin-red-highlight:#8f231f;
--color-thin-purple:#704096;
--color-thin-orange:#8c4f12;
--ink-500:#1f45a6;
--oxblood-500:#1f45a6;
--oxblood-300:#1f45a6;
--tilo-grain-opacity:.38;
--tilo-grain-filter:none;
--tilo-paper:#f0e9d8;
--tilo-ink:#141412;
--tilo-muted:#5d584e;
--tilo-red:#d0291c;
--tilo-blue:#1f45a6;
--tilo-yellow:#f2b51c;
--tilo-rule:#aaa599;
--tilo-frame-rule:#141412;
--tilo-surface:#f0e9d8;
--tilo-topic-blue:#1f45a6;
--tilo-topic-red:#d0291c;
--tilo-topic-yellow:#f2b51c;
--tilo-topic-on-cool:#fff8e8;
--tilo-topic-on-yellow:#25241f;
--tilo-nav-wordmark:url('../tilo/lockup.svg?v=ec3dce7fe37c');
--tilo-syntax-comment:#565c53;
--tilo-syntax-keyword:#704096;
--tilo-syntax-string:#175e37;
--tilo-syntax-number:#932b28;
--tilo-syntax-type:#704515;
--tilo-syntax-preproc:#095f62;
--color-primary-dark-1:#1d409a;
--color-primary-light-1:#395aac;
--color-primary-dark-2:#1b3b8f;
--color-primary-light-2:#536eb3;
--color-primary-dark-3:#183783;
--color-primary-light-3:#6d83b9;
--color-primary-dark-4:#163278;
--color-primary-light-4:#8897bf;
--color-primary-dark-5:#142d6c;
--color-primary-light-5:#a2acc5;
--color-primary-dark-6:#122860;
--color-primary-light-6:#bcc0cc;
--color-primary-dark-7:#102355;
--color-primary-light-7:#d6d5d2;
--color-primary-alpha-10:#1f45a61a;
--color-primary-alpha-20:#1f45a633;
--color-primary-alpha-30:#1f45a64d;
--color-primary-alpha-40:#1f45a666;
--color-primary-alpha-50:#1f45a680;
--color-primary-alpha-60:#1f45a699;
--color-primary-alpha-70:#1f45a6b3;
--color-primary-alpha-80:#1f45a6cc;
--color-primary-alpha-90:#1f45a6e6;}
/* A shared page shell around native Forgejo layouts. Keep dense controls,
   status/diff semantics and compound-control seams intact. */
html { scrollbar-gutter:stable; }
:root { --tilo-page-gutter:clamp(8px,1.4vw,20px);--tilo-content-gutter:36px;--tilo-popup-shadow:3px 3px 0 color-mix(in srgb,var(--tilo-ink) 20%,transparent); }
body { font-family:var(--fonts-proportional); }
/* The same uncoated-paper grain as tilo.so, across the whole composition.
   One fixed, non-interactive layer avoids independently tiled nested panels. */
body::after {
 content:"";position:fixed;inset:0;z-index:90;pointer-events:none;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .08 0 0 0 0 .08 0 0 0 0 .07 0 0 0 1.6 -.82'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
 opacity:var(--tilo-grain-opacity);filter:var(--tilo-grain-filter);
}
h1,h2,h3,h4,h5,.ui.header { font-family:var(--fonts-proportional); }
.ui.segment,.ui.segments,.ui.card,.ui.cards>.card,.fancy-card {
  border-color:var(--tilo-rule);
  box-shadow:none;
}
.ui.attached.header,.ui.attached.segment,.file-view.code-view,.code-view:not(.file-view) {
  border-color:var(--tilo-rule);
}
.ui.segment:not(.no-shadow):not(.basic):not(.attached),.ui.segments:not(.no-shadow),.ui.card,.ui.cards>.card,.fancy-card { box-shadow:none; }
/* One native masthead and one page frame, including on the homepage.
   Mobile is edge-to-edge: the desktop print border is not a phone gutter. */
.full.height,body,footer { background:var(--color-body); }
/* Match tilo.so's uncapped sheet and near-edge gutter, rather than nesting
   a fixed-width application inside a second fixed-width picture frame. */
.full.height { box-sizing:border-box;width:calc(100% - var(--tilo-page-gutter) - var(--tilo-page-gutter));max-width:none;margin:var(--tilo-page-gutter) auto;border:2px solid var(--tilo-frame-rule); }
.page-footer { box-sizing:border-box;width:calc(100% - var(--tilo-page-gutter) - var(--tilo-page-gutter));max-width:none;margin-inline:auto;border-top:0;padding:0 0 16px; }
#navbar { background:var(--tilo-paper); border-bottom:2px solid var(--tilo-frame-rule); box-shadow:none; padding:17px 36px; gap:16px; font-family:var(--fonts-monospace); }
#navbar .ui.menu { margin:0;gap:12px; }
#navbar .navbar-left { flex:1;min-width:0; }
#navbar .item { font:12px/1.5 var(--fonts-monospace); }
#navbar .navbar-left>a.item { order:1;margin:0;padding:6px 8px;border-radius:0; }
#navbar .navbar-left>a.tilo-global-link { order:1; }
/* Fomantic hides its old separator pseudo-element with !important. */
#navbar .navbar-left>a.item:not(#navbar-logo)::before,
#navbar .navbar-left>a.item:not(#navbar-logo)::after { display:inline !important;position:static;inset:auto;width:auto;height:auto;background:none;transform:none; }
#navbar .navbar-left>a.item:not(#navbar-logo)::before { content:'[';margin-inline-end:.45em;color:inherit; }
#navbar .navbar-left>a.item:not(#navbar-logo)::after { content:']';margin-inline-start:.45em;color:inherit; }
#navbar:has(.tilo-work-menu) .navbar-left>a.item[href$="/issues"],
#navbar:has(.tilo-work-menu) .navbar-left>a.item[href$="/pulls"],
#navbar:has(.tilo-work-menu) .navbar-left>a.item[href$="/milestones"],
#navbar:has(.tilo-global-link) .navbar-left>a.item[href="https://forgejo.org/docs/latest/"],
#navbar:has(.tilo-global-link) .navbar-left>a.item[href$="/explore/repos"]:not(.tilo-global-link),
#navbar:has(.tilo-global-link) .navbar-left>a.item[href$="/explore/organizations"]:not(.tilo-global-link) { display:none !important; }
#navbar .item:hover,#navbar details.dropdown>summary:hover { background:color-mix(in srgb,var(--tilo-yellow) 25%,var(--tilo-paper)); }
#navbar .navbar-left>a.item.active { background:var(--tilo-ink);color:var(--tilo-paper); }
#navbar #navbar-logo { display:inline-flex;align-items:center;order:0;padding:0;margin-inline-end:12px;border:0; }
#navbar #navbar-logo img { content:var(--tilo-nav-wordmark);width:116px;height:auto;max-height:40px; }
#navbar details.dropdown .content { background:var(--color-box-body); border:1px solid var(--tilo-ink); border-radius:0; }
#navbar details.dropdown .content a { display:flex; align-items:center; gap:.6em; min-height:36px; }
#navbar .tilo-work-menu { order:1; }
#navbar .tilo-work-menu>summary { display:flex;align-items:center;gap:8px;padding:6px 8px;font:12px/1.5 var(--fonts-monospace); }
/* Discovery destinations live in the masthead, not a second tab strip. */
.page-content.explore { --paper:var(--tilo-paper);--ink:var(--tilo-ink);--red:var(--tilo-red);--blue:var(--tilo-blue);--yellow:var(--tilo-yellow);padding-top:0; }
.page-content.explore>.ui.container,
.ui.container.forge-directory-heading-inner { width:calc(100% - var(--tilo-content-gutter) - var(--tilo-content-gutter)) !important;max-width:1280px !important;margin-inline:auto !important; }
.forge-directory-heading { padding:28px 0;border-bottom:1px solid var(--tilo-rule);margin-bottom:24px; }
.ui.container.forge-directory-heading-inner { display:flex;align-items:center;justify-content:space-between;gap:24px; }
.page-content.explore>.forge-directory-heading { margin-top:0; }
.forge-directory-heading h1 { min-width:0;overflow-wrap:anywhere;font-size:48px;line-height:1.1;letter-spacing:-.04em;font-weight:800;margin:0; }
.forge-directory-heading canvas { width:144px;height:88px;image-rendering:pixelated;flex:none; }
.forge-directory-tools { display:flex;align-items:center;gap:24px;flex:none; }
.forge-directory-code-link { font:12px/1.5 var(--fonts-monospace);padding:6px 8px; }
.forge-directory-code-link::before { content:'[ '; }.forge-directory-code-link::after { content:' ]'; }
.forge-directory-code-link:hover { background:var(--tilo-yellow);color:#141412; }
.explore .flex-item { padding-block:22px; }
/* A row contains several independent links; it is not one large button. */
.explore .flex-item:hover { background:transparent; }
.explore .flex-item-title a:hover,.explore .flex-item-title a:focus-visible { text-decoration:underline;text-underline-offset:.18em; }
.explore .flex-item-title { font-size:18px; }
.explore .flex-item-leading { color:var(--color-primary); }
@media(min-width:768px) and (max-width:1200px) {
 :root { --tilo-content-gutter:24px; }
 #navbar { padding:14px 24px;gap:8px; }
 #navbar .ui.menu { gap:4px; }
 #navbar .navbar-left>a.item { padding-inline:4px; }
 #navbar #navbar-logo { margin-inline-end:8px; }
 #navbar #navbar-logo img { width:98px; }
 #navbar .item { font-size:11px; }
 #navbar .tilo-work-menu>summary { font-size:11px;padding-inline:6px; }
}
@media(max-width:767px) {
 :root { --tilo-content-gutter:16px; }
 html { scrollbar-gutter:auto; }
 .full.height { width:100%;max-width:none;margin:0;border:0; }
 .page-footer { width:100%;padding:16px;border-top:1px solid var(--tilo-rule); }
 #navbar { padding:8px 16px;border-bottom:1px solid var(--tilo-rule);gap:0; }
 #navbar #navbar-logo { margin:0; }
 #navbar #navbar-logo img { width:98px;max-height:34px; }
 #navbar .navbar-mobile-right { order:0;top:0;right:0;align-items:center; }
 #navbar .navbar-mobile-right .item { min-width:44px;min-height:44px; }
 #navbar .navbar-left>a.item:not(#navbar-logo),#navbar .tilo-work-menu>summary { min-height:44px; }
 #navbar .navbar-left>a.item:not(#navbar-logo) { margin:0;padding:12px; }
 #navbar .navbar-left>a.item.active { background:var(--tilo-ink);color:var(--tilo-paper); }
 #navbar .tilo-work-menu { display:none; }
 body.navbar-expanded #navbar .tilo-work-menu { display:block; }
 #navbar .tilo-work-menu>summary { padding:12px; }
 .forge-directory-heading { padding:24px 0;margin-bottom:20px; }
 .ui.container.forge-directory-heading-inner { gap:12px; }
 .forge-directory-heading h1 { font-size:clamp(28px,8vw,32px); }
 .forge-directory-heading canvas { width:72px;height:56px; }
 .forge-directory-tools { gap:12px; }
 .forge-directory-tools:has(.forge-directory-code-link) canvas { display:none; }
}
/* The workbench uses the same flat sheet, ink rules and typographic contrast
   as the masthead. There are no raised tan cards inside the paper frame. */
.ui.button { font:600 12px/1.4 var(--fonts-monospace);border-radius:0;box-shadow:none;transition:background-color .12s,color .12s; }
.ui.basic.button { border-color:var(--color-input-border); }
.ui.primary.button,.ui.primary.buttons .button { background:var(--tilo-ink);color:var(--tilo-paper);border-color:var(--tilo-ink);box-shadow:none; }
.ui.primary.button:hover,.ui.primary.buttons .button:hover { background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:none; }
.ui.input>input,.ui.form input:not([type=checkbox]):not([type=radio]),.ui.form textarea { border-radius:0; }
/* Fomantic also hard-codes 4px on compound controls and active tabs. */
.ui.button,.ui.buttons,.ui.input>input,.ui.basic.label,.ui.tabular.menu .item,.ui.tabular.menu .active.item,
.ui.table,.ui.segment,.ui.segments,.ui.card,.fancy-card,.ui.message,.ui.dropdown,.ui.dropdown .menu,.ui.popup,.ui.modal { border-radius:0 !important; }
.ui.dropdown .menu,.ui.popup,.ui.modal { background:var(--tilo-paper);border:1px solid var(--tilo-ink); }
/* Floating surfaces share the branch picker's hard offset, never a soft glow.
   Important overrides Fomantic's floating/upward/active dropdown variants. */
:root details.dropdown { --dropdown-box-shadow:var(--tilo-popup-shadow); }
.ui.dropdown .menu,.ui.popup,.ui.modal,dialog,
details.dropdown>.content,.ui.search>.results,.easymde-dropdown-content,
.tippy-box[data-theme=bare],.tippy-box[data-theme=menu],.toastify,
.tribute-container,text-expander .suggestions { box-shadow:var(--tilo-popup-shadow) !important; }
/* Static surfaces and pressed controls remain flat, not raised popups. */
.migrate-entry:hover,.ui.basic.button:active,.ui.basic.buttons .button:active { box-shadow:none; }
.ui.dropdown .menu>.item:hover { background:var(--color-hover); }
.ui.tabular.menu .item,.ui.secondary.pointing.menu .item { font:12px/1.5 var(--fonts-monospace); }
.ui.tabular.menu .active.item,.ui.secondary.pointing.menu .active.item { background:var(--tilo-yellow);color:#141412;border-color:var(--tilo-ink);border-radius:0; }
/* The sheet and masthead remain near the viewport edges. Application content
   uses an ordinary centered reading/work column, without an extra frame. */
.repository>.secondary-nav>.ui.container,
.page-content.repository>.ui.container { width:calc(100% - var(--tilo-content-gutter) - var(--tilo-content-gutter)) !important;max-width:1280px !important;margin-inline:auto !important; }
.repository>.secondary-nav { background:var(--tilo-paper);border-bottom:0; }
/* Only the outer sheet and masthead use 2px. Every application boundary is
   one 1px rule; neither active tabs nor the native divider add another edge. */
.repository>.secondary-nav>overflow-menu.ui.menu { border-bottom:1px solid var(--tilo-rule) !important; }
.repository>.secondary-nav>.ui.tabs.divider { display:none; }
.repository>.secondary-nav overflow-menu .item,.repository>.secondary-nav overflow-menu .active.item { border-bottom:0 !important;box-shadow:none; }
.repository .repo-header { padding-block:20px;align-items:center;gap:16px; }
.repository .repo-buttons { display:flex;align-items:center;flex-wrap:wrap;gap:8px; }
/* Each action/count pair has one perimeter and one seam, not two unrelated
   boxes. Keep native forms, count links and disabled interaction gates. */
.repository .repo-buttons .ui.labeled.button { padding:0;border:1px solid var(--color-input-border);background:transparent;box-shadow:none; }
.repository .repo-buttons .ui.labeled.button>.button,
.repository .repo-buttons #watch-button>summary>.button { min-height:32px;padding:7px 8px;border:0 !important;background:transparent;box-shadow:none !important;font:12px/1.4 var(--fonts-monospace); }
.repository .repo-buttons .ui.labeled.button>.ui.basic.label { display:inline-flex;align-items:center;justify-content:center;min-width:26px;margin:0;padding:6px;border:0 !important;border-inline-start:1px solid var(--color-input-border) !important;background:transparent;box-shadow:none;font:12px/1.4 var(--fonts-monospace); }
.repository .repo-buttons .ui.labeled.button>button:disabled { opacity:1 !important;color:var(--color-text-light) !important; }
.repository .repo-buttons>a.ui.button { min-height:34px;padding:8px;border-color:var(--color-input-border); }
.repository .repo-header>.flex-item { flex:1;min-width:0; }
.repository .repo-header .flex-item-main { flex:1; }
/* These native disabled wrappers are divs, not disabled form controls. Keep
   their explanatory labels legible without changing their interaction gates. */
.repository .repo-buttons .ui.disabled.labeled.button { opacity:1 !important; }
.repository .repo-buttons .ui.disabled.labeled.button>.button,
.repository .repo-buttons .ui.disabled.labeled.button>.label { color:var(--color-text-light) !important; }
.repository .repo-header .flex-item-title { font-size:clamp(24px,2vw,32px);line-height:1.2;letter-spacing:-.035em; }
.repository .repo-header .flex-item-title>a:last-child { font-weight:800 !important; }
/* Counts form a quiet inline row. The language proportions get their own
   full-width strip; native disclosure reveals the names and percentages. */
.repository .repository-summary.ui.segments { display:flex;flex-direction:column;align-items:stretch;gap:8px;border:0;box-shadow:none;margin-block:8px 16px !important; }
.repository .repository-summary .repository-menu { display:flex;flex:1 1 0;min-width:0;width:auto;justify-content:flex-start;gap:8px 24px;flex-wrap:wrap;padding:0;border:0; }
.repository .repository-summary .repository-menu .item { display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;font:14px/1.6 var(--fonts-proportional);padding:4px 0;background:transparent !important;border:0; }
.repository .repository-menu .item>.svg { margin-inline-end:3px; }
.repository .repository-menu .item.active { color:var(--color-primary);text-decoration:underline;text-underline-offset:5px; }
.repository .repository-menu a.item:hover { text-decoration:underline;text-underline-offset:5px; }
.repository #language-stats { flex:none;width:100%;max-width:none;border:0; }
.repository #language-stats>summary { min-height:24px;display:flex;align-items:center;padding:0; }
.repository #language-stats>summary::before { content:none; }
.repository #language-stats>summary:focus-visible { outline:2px solid var(--color-primary);outline-offset:3px; }
.repository #language-stats stats-bar { width:100%;height:6px;gap:0;border-radius:0; }
/* Topics are a small, name-stable edition of the brand palette, not generic
   grey labels. Topic links remain ordinary native search destinations. */
.repo-topics a.ui.label[data-tilo-topic-color] { border:0;border-radius:0;padding:5px 8px;font:500 12px/1.4 var(--fonts-monospace);letter-spacing:0;color:var(--tilo-topic-on-cool); }
.repo-topics a.ui.label[data-tilo-topic-color=blue] { background:var(--tilo-topic-blue); }
.repo-topics a.ui.label[data-tilo-topic-color=red] { background:var(--tilo-topic-red); }
.repo-topics a.ui.label[data-tilo-topic-color=yellow] { background:var(--tilo-topic-yellow);color:var(--tilo-topic-on-yellow); }
.repo-topics a.ui.label[data-tilo-topic-color]:hover { text-decoration:underline;text-underline-offset:3px; }
.repository.file.list .code-search { background:transparent;border:0 !important;padding:0 0 12px !important;border-radius:0; }
.repository #repo-files-table { border:0;border-radius:0; }
.repository #repo-files-table .repo-files-table-latest-commit-cell { background:transparent;font:12px/1.6 var(--fonts-monospace); }
.repository #repo-files-table tr.entry>td { border-color:color-mix(in srgb,var(--tilo-ink) 20%,transparent);padding-block:12px; }
.repository #readme>.ui.header { background:transparent;border:0;border-top:1px solid var(--tilo-rule);border-radius:0;margin-top:24px;padding:16px 0;font:12px/1.5 var(--fonts-monospace); }
.repository #readme>.ui.segment { border:0;background:transparent;padding:0; }
.repository #readme .markup { padding:16px 0; }
.repository #readme .markup h1 { font-size:40px;letter-spacing:-.035em;border:0; }
.repository #readme .markup h2 { border:0; }
.repository #readme .markup :is(p,ul,ol,blockquote) { max-width:85ch; }
@media(max-width:767px) {
 .repository .repo-header { padding-block:14px; }
 .repository .repo-header>.flex-item { flex:1 0 100%; }
 .repository .repository-summary .repository-menu { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px; }
 .repository .repository-summary .repository-menu .item { min-width:0;overflow-wrap:anywhere; }
 .repository #readme .markup h1 { font-size:32px; }
}
/* File and history views are a document with a utility row, not a stack of
   bordered cards. Only the row/content boundary needs a separator. */
.repository .non-diff-file-content { border:0 !important;border-radius:0 !important;box-shadow:none; }
.repository #repo-file-commit-box { border:0;background:transparent;padding:8px 0 !important;box-shadow:none; }
.repository .file-header.ui.header { border:0;border-bottom:1px solid var(--tilo-rule);border-radius:0 !important;background:transparent;padding:12px 0; }
.repository .non-diff-file-content>.ui.attached.segment { border:0;background:transparent;box-shadow:none; }
.repository .non-diff-file-content>.ui.attached.segment>.markup { padding:24px 0; }
.repository .markup :is(h1,h2) { border-bottom:0; }
.repository .file-actions .ui.buttons { border:0 !important;box-shadow:none;gap:4px; }
.repository .file-actions .ui.buttons>.ui.button,
.repository .repo-button-row .button-sequence>a.ui.basic.button { border:0 !important;background:transparent;box-shadow:none;font-weight:400; }
.repository .file-actions .ui.buttons>.ui.button:hover,
.repository .repo-button-row .button-sequence>a.ui.basic.button:hover { background:var(--tilo-yellow);color:#141412; }
.repository .file-actions .ui.buttons>.ui.button.active { background:var(--tilo-yellow);color:#141412; }
.repository .sha.label { background:transparent;border:0;box-shadow:none;color:var(--color-primary);padding:0 4px; }
.repository .sha.label:hover { text-decoration:underline; }
.repository .commits-table.ui.header { border:0;background:transparent;font:700 24px/1.3 var(--fonts-proportional);padding:16px 0;justify-content:flex-start !important;align-items:flex-start !important;text-align:left; }
.repository .commits-table .commits-table-left { justify-content:flex-start;text-align:left;margin-inline:0; }
.repository .commits-table .commits-table-left+* { margin-inline-start:auto; }
.repository .commits-table+.ui.attached.segment { border:0;background:transparent;padding:0 0 16px !important; }
.repository .commit-table.ui.segment { border:0;background:transparent;padding:0; }
.repository #commits-table { border:0; }
.repository #commits-table thead th { background:transparent;border-bottom:1px solid var(--tilo-ink);font:12px/1.5 var(--fonts-monospace);padding-block:12px; }
.repository #commits-table tbody tr { background:transparent; }
.repository #commits-table tbody td { padding-block:14px; }
/* Square attached ends are deliberate. Keep the internal seam square too. */
.ui.attached.header,.ui.attached.segment,.file-view.code-view,.code-view:not(.file-view) { border-radius:0; }
/* Current Forgejo uses logical border edges; overriding only physical edges
   makes the last split-button member lose a pixel when its neighbour hovers. */
.ui.buttons > .button,
.ui.buttons > .button:last-child,
.ui.buttons > .button:nth-last-child(2):has(+ .button.tw-hidden),
.ui.buttons > .button:hover + .button { border-inline:0; }
.ui.input input,.ui.form input:not([type=checkbox]):not([type=radio]),.ui.form textarea { box-shadow:none; }
:is(form,.markup) input[type=checkbox] { border:1px solid var(--color-input-border-hover); border-radius:3px; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex="0"]:focus-visible { outline:2px solid var(--color-primary); outline-offset:3px; }
.markup h1 { font-weight:750; line-height:1.25; }
.markup h2,.markup h3 { font-weight:700; line-height:1.3; }
.markup a:not(.no-underline):not(.button):not(.label):not(.tag),.repo-description a { color:var(--color-primary);text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px; }
.user.signin .ui.container.fluid,.user.signup .ui.container.fluid,.user.forgot.password .ui.container.fluid,.user.reset.password .ui.container.fluid { border:1px solid var(--tilo-rule); box-shadow:none; }
/* Keep code legible on both the normal surface and semantic diff washes. */
.code-view code,.code-diff code,.code-view .lines-num,.code-diff .lines-num { font-size:13px; }
.chroma .c,.chroma .c1,.chroma .ch,.chroma .cm,.chroma .cs { color:var(--tilo-syntax-comment); }
.chroma .cp,.chroma .cpf { color:var(--tilo-syntax-preproc); }
.chroma .k,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr { color:var(--tilo-syntax-keyword); }
.chroma .s,.chroma .s1,.chroma .s2,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .dl,.chroma .sd,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .sr,.chroma .ss { color:var(--tilo-syntax-string); }
.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo,.chroma .kc { color:var(--tilo-syntax-number); }
.chroma .kt,.chroma .nc { color:var(--tilo-syntax-type); }
.chroma .nf,.chroma .fm { color:var(--color-primary); }
.chroma .nb,.chroma .bp { color:var(--color-text-light); }
/* Links embedded in prose need a cue beyond colour. */
#pull-desc-display>a,.time-desc>a,.user.settings p a,.user.settings .tw-mb-4>a { text-decoration:underline; text-underline-offset:3px; }
/* The summary still references solid-fill colours in current Forgejo. */
.repository .diff-detail-box .diff-detail-stats>strong:nth-of-type(2) { color:var(--color-thin-green); }
.repository .diff-detail-box .diff-detail-stats>strong:nth-of-type(3) { color:var(--color-thin-red); }
/* Identity images are the deliberate soft exception to square chrome.
   Match Authentik's circular avatars without rounding event markers or logos. */
img.avatar,img.ui.avatar,img.org-avatar,.avatar img,.timeline-avatar img,
.user.profile .ui.card .image>img { border-radius:50% !important;object-fit:cover; }
/* Timeline events are small Bauhaus markers, not grey discs. Explicit native
   status fills (closed, merged, reopened) keep their semantic colours. */
.repository.view.issue .comment-list .timeline-item.event>.badge:not([class*="bg-"]) { background:var(--color-primary);color:var(--color-primary-contrast); }
.repository.view.issue .comment-list .timeline-item.event>.badge:has(.octicon-tag) { background:var(--tilo-yellow);color:#141412; }
.repository.view.issue .comment-list .timeline-item.event>.badge:has(.octicon-project) { background:var(--color-primary);color:var(--color-primary-contrast);border-radius:0; }
/* Read-only metadata remains readable. Native disabled interaction gates
   still apply; opacity should not fade the labels identifying these fields. */
.repository.view.issue .issue-content-right .disabled { opacity:1 !important;color:var(--color-text-light); }
.repository.view.issue .warning>a { text-decoration:underline;text-underline-offset:3px; }
/* A file path is the document heading. The single ink rule beneath its
   utility row marks the start of the file without another enclosing card. */
.repository .repo-button-row .button-sequence:has(.repo-path) { flex:1;min-width:0; }
.repository .repo-path.breadcrumb { display:flex;align-items:center;flex-wrap:nowrap;flex:1;min-width:0;font:500 clamp(18px,2vw,24px)/1.4 var(--fonts-proportional);letter-spacing:-.025em;overflow-wrap:anywhere; }
.repository .repo-path.breadcrumb>.section { min-width:0;overflow-wrap:anywhere; }
.repository .repo-path.breadcrumb>button { flex:none; }
.repository .repo-path.breadcrumb>.active.section { font-weight:800; }
.repository .non-diff-file-content>.file-header.ui.header { border-bottom:1px solid var(--tilo-rule); }
/* Organization identity and directory share the same content grid as the
   masthead; avatars remain real organization data, not a theme logo. */
.organization.profile { padding-top:24px; }
.organization.profile>.ui.container { width:calc(100% - var(--tilo-content-gutter) - var(--tilo-content-gutter)) !important;max-width:1280px !important;margin-inline:auto !important; }
.organization.profile .org-avatar { width:64px;height:64px; }
.organization.profile .org-title { font-size:32px;font-weight:800;letter-spacing:-.035em;line-height:1.2; }
.organization.profile>.ui.container:first-child { margin-bottom:24px; }
.organization.profile .flex-item-leading .svg { color:var(--color-primary); }
/* Preference sections are a document with a navigation rail, not a stack
   of boxed forms. Retain each native form, validation state and submit action. */
.user.settings .flex-container-nav>.ui.menu { border:0;box-shadow:none;background:transparent; }
.user.settings .flex-container-nav>.ui.menu>.item { border:0;border-radius:0 !important; }
.user.settings .flex-container-nav>.ui.menu>.item::before { display:none; }
.user.settings .flex-container-nav>.ui.menu>.active.item { background:var(--tilo-yellow);color:#141412;box-shadow:inset 3px 0 var(--tilo-blue); }
.user.settings .flex-container-nav>.ui.menu>a.item:hover { background:color-mix(in srgb,var(--tilo-yellow) 25%,var(--tilo-paper));color:var(--tilo-ink); }
.user.settings .user-setting-content>.ui.header { border-radius:0 !important;border:0;border-top:1px solid var(--tilo-rule);background:transparent;font:700 22px/1.3 var(--fonts-proportional);padding:16px 0 8px;margin-top:24px; }
.user.settings .user-setting-content>.ui.header:first-child { margin-top:0; }
.user.settings .help a { text-decoration:underline;text-underline-offset:3px; }
.user.settings input[type=file] { box-sizing:border-box;width:100%;min-width:0;max-width:100%; }
.user.settings .user-setting-content>.ui.attached.segment { border:0;background:transparent;padding:8px 0 24px; }
@media(max-width:767px) {
 .user.settings .flex-container-nav>.ui.menu { display:flex;flex-direction:row;flex-wrap:wrap;gap:4px; }
 .user.settings .flex-container-nav>.ui.menu>.item { flex:0 1 auto;min-height:44px;padding:10px;font-size:12px; }
 .user.settings .flex-container-nav>.ui.menu>.header.item { flex-basis:100%;min-height:0;padding-block:4px; }
}
/* One popup surface. Scrolling lists inside a popup are not second popups. */
.ui.selection.dropdown>.menu { border-color:var(--tilo-ink); }
.ui.dropdown .menu>.item,.ui.dropdown .scrolling.menu>.item { border-top:0;line-height:1.4; }
.ui.dropdown .menu>.item:hover,.ui.dropdown .menu>.selected.item { background:color-mix(in srgb,var(--tilo-yellow) 25%,var(--tilo-paper));color:var(--tilo-ink); }
.ui.dropdown .menu>.active.item,.ui.dropdown .menu>.active.item:hover { background:var(--tilo-yellow);color:#141412; }
.ui.dropdown .menu>.scrolling.menu,
.ui.floating.dropdown .overflow.menu .scrolling.menu.items { box-shadow:none !important; }
.js-branch-tag-selector .menu>.scrolling.menu { border:0;background:transparent; }
.js-branch-tag-selector .branch-tag-tab { border-bottom:1px solid var(--tilo-rule); }
.js-branch-tag-selector .branch-tag-tab>.branch-tag-item { border:0;border-radius:0;padding:8px 12px; }
.js-branch-tag-selector .branch-tag-tab>.active.branch-tag-item { background:var(--tilo-yellow);color:#141412; }
.js-branch-tag-selector .ui.label { background:transparent;color:var(--color-primary); }
/* Authentication has one owning outline. Attached native panels must not
   draw another card inside it; recovery links remain ordinary links below. */
.page-content.user:is(.signin,.signup,.activate,.forgot.password,.reset.password) .ui.container.fluid { border:0;border-radius:0;box-shadow:none; }
.page-content.user:is(.signin,.signup,.activate,.forgot.password,.reset.password) .ui.container.fluid:has(form) { border:1px solid var(--color-input-border); }
.page-content.user:is(.signin,.signup,.activate,.forgot.password,.reset.password) .ui.container.fluid>.ui.attached { border:0;border-radius:0 !important;background:transparent;box-shadow:none;width:100% !important;max-width:100% !important;margin-inline:0 !important; }
.page-content.user:is(.signin,.signup,.activate,.forgot.password,.reset.password) .ui.container.fluid>.ui.attached.header:not(.segment) { border-bottom:1px solid var(--tilo-rule);font:800 24px/1.3 var(--fonts-proportional);padding:20px 24px;margin-top:0; }
.page-content.user:is(.signin,.signup,.activate,.forgot.password,.reset.password) .ui.container.fluid:has(form)>.ui.attached.segment { padding:24px; }
.page-content.user:is(.signin,.signup,.activate,.forgot.password,.reset.password) #flash-message.ui.message { border:0;border-bottom:1px solid var(--color-error-text);border-radius:0 !important;box-shadow:none;margin:0;padding:16px 24px; }
/* Long real repository paths must shrink within the diff grid, not impose
   their min-content width on the viewport. Code remains locally scrollable. */
.repository #diff-content-container,.repository #diff-file-boxes,
.repository .diff-file-name,.repository .diff-file-name>.file { min-width:0; }
.repository .diff-file-name .file-link { min-width:0;white-space:normal;overflow-wrap:anywhere; }
/* No marketing typography or automatic animation inside daily workspaces. */
@media(prefers-reduced-motion:reduce) { .ui.button { transition:none; } }

@media(prefers-color-scheme:dark){
.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: #10161d;--steel-850: #131a21;--steel-800: #171e26;--steel-750: #1d262f;--steel-700: #242d38;--steel-650: #2b3642;--steel-600: #374351;--steel-550: #445161;--steel-500: #515f70;--steel-450: #5f6e80;--steel-400: #6d7d8f;--steel-350: #7c8c9f;--steel-300: #8c9caf;--steel-250: #9dadc0;--steel-200: #aebed0;--steel-150: #c0cfe0;--steel-100: #d2e0f0;--is-dark-theme: true;--color-primary: #fb923c;--color-primary-contrast: #000;--color-primary-dark-1: #fdba74;--color-primary-dark-2: #fdba74;--color-primary-dark-3: #fed7aa;--color-primary-dark-4: #fed7aa;--color-primary-dark-5: #ffedd5;--color-primary-dark-6: #ffedd5;--color-primary-dark-7: #fff7ed;--color-primary-light-1: #f97316;--color-primary-light-2: #ea580c;--color-primary-light-3: #c2410c;--color-primary-light-4: #9a3412;--color-primary-light-5: #9a3412;--color-primary-light-6: #7c2d12;--color-primary-light-7: #7c2d12;--color-primary-alpha-10: #ea580c19;--color-primary-alpha-20: #ea580c33;--color-primary-alpha-30: #ea580c4b;--color-primary-alpha-40: #ea580c66;--color-primary-alpha-50: #ea580c80;--color-primary-alpha-60: #ea580c99;--color-primary-alpha-70: #ea580cb3;--color-primary-alpha-80: #ea580ccc;--color-primary-alpha-90: #ea580ce1;--color-primary-hover: var(--color-primary-light-1);--color-primary-active: var(--color-primary-light-2);--color-secondary: var(--steel-700);--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: #2b364219;--color-secondary-alpha-20: #2b364233;--color-secondary-alpha-30: #2b36424b;--color-secondary-alpha-40: #2b364266;--color-secondary-alpha-50: #2b364280;--color-secondary-alpha-60: #2b364299;--color-secondary-alpha-70: #2b3642b3;--color-secondary-alpha-80: #2b3642cc;--color-secondary-alpha-90: #2b3642e1;--color-secondary-hover: var(--color-secondary-light-1);--color-secondary-active: var(--color-secondary-light-2);--color-console-fg: #eeeff2;--color-console-fg-subtle: #959cab;--color-console-bg: #1f212b;--color-console-border: #383c47;--color-console-hover-bg: #ffffff16;--color-console-active-bg: #454a57;--color-console-menu-bg: #383c47;--color-console-menu-border: #5c6374;--color-red: #b91c1c;--color-orange: #ea580c;--color-yellow: #ca8a04;--color-olive: #91a313;--color-green: #15803d;--color-teal: #0d9488;--color-blue: #2563eb;--color-violet: #7c3aed;--color-purple: #9333ea;--color-pink: #db2777;--color-brown: #a47252;--color-grey: var(--steel-500);--color-black: #111827;--color-red-light: #dc2626;--color-orange-light: #f97316;--color-yellow-light: #eab308;--color-olive-light: #839311;--color-green-light: #16a34a;--color-teal-light: #14b8a6;--color-blue-light: #3b82f6;--color-violet-light: #8b5cf6;--color-purple-light: #a855f7;--color-pink-light: #ec4899;--color-brown-light: #94674a;--color-grey-light: var(--steel-300);--color-black-light: #1f2937;--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: #1d2328;--color-ansi-red: #cc4848;--color-ansi-green: #87ab63;--color-ansi-yellow: #cc9903;--color-ansi-blue: #3a8ac6;--color-ansi-magenta: #d22e8b;--color-ansi-cyan: #00918a;--color-ansi-white: var(--color-console-fg-subtle);--color-ansi-bright-black: #424851;--color-ansi-bright-red: #d15a5a;--color-ansi-bright-green: #93b373;--color-ansi-bright-yellow: #eaaf03;--color-ansi-bright-blue: #4e96cc;--color-ansi-bright-magenta: #d74397;--color-ansi-bright-cyan: #00b6ad;--color-ansi-bright-white: var(--color-console-fg);--color-gold: #b1983b;--color-white: #ffffff;--color-pure-black: #000000;--color-diff-removed-word-bg: #783030;--color-diff-added-word-bg: #255c39;--color-diff-removed-row-bg: #432121;--color-diff-moved-row-bg: #825718;--color-diff-added-row-bg: #1b3625;--color-diff-removed-row-border: #783030;--color-diff-moved-row-border: #a67a1d;--color-diff-added-row-border: #255c39;--color-diff-inactive: var(--steel-650);--color-error-border: #783030;--color-error-bg: #5f2525;--color-error-bg-active: #783030;--color-error-bg-hover: #783030;--color-error-text: #fef2f2;--color-success-border: #1f6e3c;--color-success-bg: #1d462c;--color-success-text: #aef0c2;--color-warning-border: #a67a1d;--color-warning-bg: #644821;--color-warning-text: #fff388;--color-info-border: #2e50b0;--color-info-bg: #2a396b;--color-info-text: var(--steel-100);--color-red-badge: #b91c1c;--color-red-badge-bg: #b91c1c22;--color-red-badge-hover-bg: #b91c1c44;--color-green-badge: #16a34a;--color-green-badge-bg: #16a34a22;--color-green-badge-hover-bg: #16a34a44;--color-yellow-badge: #ca8a04;--color-yellow-badge-bg: #ca8a0422;--color-yellow-badge-hover-bg: #ca8a0444;--color-orange-badge: #ea580c;--color-orange-badge-bg: #ea580c22;--color-orange-badge-hover-bg: #ea580c44;--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: var(--steel-800);--color-box-header: var(--steel-700);--color-box-body: var(--steel-750);--color-box-body-highlight: var(--steel-650);--color-text-dark: #fff;--color-text: var(--steel-100);--color-text-light: var(--steel-150);--color-text-light-1: var(--steel-150);--color-text-light-2: var(--steel-200);--color-text-light-3: var(--steel-200);--color-footer: var(--steel-900);--color-timeline: var(--steel-650);--color-input-text: var(--steel-100);--color-input-background: var(--steel-650);--color-input-toggle-background: var(--steel-650);--color-input-border: var(--steel-550);--color-input-border-hover: var(--steel-450);--color-header-wrapper: var(--steel-850);--color-header-wrapper-transparent: #242d3800;--color-light: #00000028;--color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled)));--color-light-border: #ffffff28;--color-hover: var(--steel-600);--color-active: var(--steel-650);--color-menu: var(--steel-700);--color-card: var(--steel-700);--fancy-card-bg: var(--steel-650);--fancy-card-border: var(--steel-600);--color-markup-table-row: #ffffff06;--color-markup-code-block: var(--steel-800);--color-markup-code-inline: var(--steel-850);--color-button: var(--steel-600);--color-code-bg: var(--steel-750);--color-shadow: #00000060;--color-secondary-bg: var(--steel-700);--color-text-focus: #fff;--color-expand-button: #3c404d;--color-placeholder-text: var(--color-text-light-3);--color-editor-line-highlight: var(--steel-700);--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: var(--steel-900);--color-nav-hover-bg: var(--steel-600);--color-secondary-nav-bg: var(--color-body);--color-label-text: #fff;--color-label-bg: var(--steel-600);--color-label-hover-bg: var(--steel-550);--color-label-active-bg: var(--steel-500);--color-label-bg-alt: var(--steel-550);--color-accent: var(--color-primary-light-1);--color-small-accent: var(--color-primary-light-5);--color-highlight-fg: var(--color-primary-light-4);--color-highlight-bg: var(--color-primary-alpha-20);--color-overlay-backdrop: #080808c0;--color-selection-bg: var(--steel-100);--color-selection-fg: var(--color-pure-black);--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)}

:root{color-scheme:dark;--color-indicator-offline:#52525B;
--color-indicator-offline-20:#52525B33;
--color-indicator-idle:#16A34A;
--color-indicator-idle-20:#16A34A33;
--color-indicator-active:#2185D0;
--color-indicator-active-20:#2185D033;
--color-red:#B91C1C;
--color-red-light:#DC2626;
--color-red-dark-1:#C82020;
--color-red-dark-2:#B21D1D;
--color-orange:#EA580C;
--color-orange-light:#F97316;
--color-orange-dark-1:#D34F0B;
--color-orange-dark-2:#BB460A;
--color-yellow:#CA8A04;
--color-yellow-light:#EAB308;
--color-yellow-dark-1:#B67C04;
--color-yellow-dark-2:#A26E03;
--color-olive:#91A313;
--color-olive-light:#839311;
--color-olive-dark-1:#839311;
--color-olive-dark-2:#74820F;
--color-green:#15803D;
--color-green-light:#16A34A;
--color-green-dark-1:#137337;
--color-green-dark-2:#116631;
--color-teal:#0D9488;
--color-teal-light:#14B8A6;
--color-teal-dark-1:#0C857A;
--color-teal-dark-2:#0A766D;
--color-blue:#2563EB;
--color-blue-light:#3B82F6;
--color-blue-dark-1:#1554E0;
--color-blue-dark-2:#124BC7;
--color-violet:#7C3AED;
--color-violet-light:#8B5CF6;
--color-violet-dark-1:#6A1FEB;
--color-violet-dark-2:#5C14D8;
--color-purple:#9333EA;
--color-purple-light:#A855F7;
--color-purple-dark-1:#8519E7;
--color-purple-dark-2:#7715CF;
--color-pink:#DB2777;
--color-pink-light:#EC4899;
--color-pink-dark-1:#C7216B;
--color-pink-dark-2:#B11D5F;
--color-brown:#A47252;
--color-brown-light:#94674A;
--color-brown-dark-1:#94674A;
--color-brown-dark-2:#835B42;
--color-black:#111827;
--color-black-light:#1F2937;
--color-black-dark-1:#000000;
--color-black-dark-2:#000000;
--color-red-badge:#B91C1C;
--color-red-badge-bg:#B91C1C22;
--color-red-badge-hover-bg:#B91C1C44;
--color-green-badge:#16A34A;
--color-green-badge-bg:#16A34A22;
--color-green-badge-hover-bg:#16A34A44;
--color-yellow-badge:#CA8A04;
--color-yellow-badge-bg:#CA8A0422;
--color-yellow-badge-hover-bg:#CA8A0444;
--color-orange-badge:#EA580C;
--color-orange-badge-bg:#EA580C22;
--color-orange-badge-hover-bg:#EA580C44;
--color-error-border:#783030;
--color-error-bg:#5F2525;
--color-error-bg-hover:#783030;
--color-error-bg-active:#783030;
--color-error-text:#FEF2F2;
--color-success-border:#1F6E3C;
--color-success-bg:#1D462C;
--color-success-text:#AEF0C2;
--color-warning-border:#A67A1D;
--color-warning-bg:#644821;
--color-warning-text:#FFF388;
--color-info-border:#345380;
--color-info-bg:#0C2B4F;
--color-info-text:#BFDBFE;
--color-diff-added-row-bg:#1B3625;
--color-diff-added-row-border:#255C39;
--color-diff-added-word-bg:#255C39;
--color-diff-removed-row-bg:#432121;
--color-diff-removed-row-border:#783030;
--color-diff-removed-word-bg:#783030;
--color-diff-moved-row-bg:#825718;
--color-diff-moved-row-border:#A67A1D;
--color-console-fg:#EEEFF2;
--color-console-fg-subtle:#959CAB;
--color-console-bg:#1F212B;
--color-console-border:#383C47;
--color-console-hover-bg:#FFFFFF16;
--color-console-active-bg:#454A57;
--color-console-menu-bg:#383C47;
--color-console-menu-border:#5C6374;
--fonts-proportional:Atkinson, system-ui, sans-serif;
--fonts-monospace:AtkinsonMono, ui-monospace, monospace;
--border-radius:0px;
--border-radius-medium:0px;
--border-radius-large:0px;
--color-body:#16171b;
--color-box-header:#16171b;
--color-box-body:#16171b;
--color-box-body-highlight:#1f2025;
--color-card:#16171b;
--fancy-card-bg:#16171b;
--fancy-card-border:#858173;
--color-menu:#16171b;
--color-footer:#16171b;
--color-nav-bg:#16171b;
--color-nav-hover-bg:#1f2025;
--color-header-wrapper:#16171b;
--color-secondary-nav-bg:#16171b;
--color-secondary-bg:#16171b;
--color-text:#e2ddcf;
--color-text-dark:#e2ddcf;
--color-text-light:#b8b2a4;
--color-text-light-1:#b8b2a4;
--color-text-light-2:#b8b2a4;
--color-text-light-3:#b8b2a4;
--color-placeholder-text:#b8b2a4;
--color-input-text:#e2ddcf;
--color-input-background:#16171b;
--color-input-border:#858173;
--color-input-border-hover:#b8b2a4;
--color-button:#16171b;
--color-light:#16171b;
--color-secondary:#858173;
--color-secondary-dark-1:#858173;
--color-secondary-dark-2:#b8b2a4;
--color-code-bg:#16171b;
--color-code-sidebar-bg:#16171b;
--color-code-inline-bg:#16171b;
--color-primary:#a8b6ff;
--color-primary-contrast:#16171b;
--color-primary-hover:#b0bdff;
--color-primary-active:#c3ccff;
--color-accent:#a8b6ff;
--color-link:#a8b6ff;
--color-caret:#e2ddcf;
--color-active:#1f2025;
--color-hover:#1f2025;
--color-input-toggle-background:#16171b;
--color-markup-code-block:#16171b;
--color-markup-code-inline:#1f2025;
--color-markup-table-row:transparent;
--color-editor-line-highlight:#1f2025;
--color-project-board-bg:#16171b;
--color-label-text:#e2ddcf;
--color-label-bg:#1f2025;
--color-label-hover-bg:#1f2025;
--color-label-active-bg:#1f2025;
--color-label-bg-alt:#1f2025;
--color-timeline:#858173;
--color-secondary-light-1:#1f2025;
--color-secondary-light-2:#16171b;
--color-secondary-light-3:#16171b;
--color-secondary-light-4:#16171b;
--color-selection-bg:#a8b6ff;
--color-selection-fg:#16171b;
--color-thin-green:#a4ce98;
--color-thin-red:#ef9b91;
--color-thin-red-highlight:#ffc3b8;
--color-thin-purple:#c3a0e9;
--color-thin-orange:#eab48a;
--ink-500:#e2ddcf;
--oxblood-500:#a8b6ff;
--oxblood-300:#a8b6ff;
--tilo-grain-opacity:.14;
--tilo-grain-filter:invert(1);
--tilo-paper:#16171b;
--tilo-ink:#e2ddcf;
--tilo-muted:#b4ad9e;
--tilo-red:#ef927e;
--tilo-blue:#8f9ffe;
--tilo-yellow:#f2b51c;
--tilo-rule:#5d5b52;
--tilo-frame-rule:#858173;
--tilo-surface:#16171b;
--tilo-topic-blue:#8f9ffe;
--tilo-topic-red:#ef927e;
--tilo-topic-yellow:#f2b51c;
--tilo-topic-on-cool:#16171b;
--tilo-topic-on-yellow:#25241f;
--tilo-nav-wordmark:url('../tilo/lockup-dark.svg?v=ec3dce7fe37c');
--tilo-syntax-comment:#a5ac9c;
--tilo-syntax-keyword:#c5a0ef;
--tilo-syntax-string:#a8ce97;
--tilo-syntax-number:#f1a09a;
--tilo-syntax-type:#e2c47a;
--tilo-syntax-preproc:#8bc7c9;
--color-primary-dark-1:#aebbff;
--color-primary-light-1:#96a2e3;
--color-primary-dark-2:#b4c0ff;
--color-primary-light-2:#848ec6;
--color-primary-dark-3:#bac5ff;
--color-primary-light-3:#717aaa;
--color-primary-dark-4:#c0caff;
--color-primary-light-4:#5f678d;
--color-primary-dark-5:#c6d0ff;
--color-primary-light-5:#4d5371;
--color-primary-dark-6:#cdd5ff;
--color-primary-light-6:#3b3f54;
--color-primary-dark-7:#d3daff;
--color-primary-light-7:#282b38;
--color-primary-alpha-10:#a8b6ff1a;
--color-primary-alpha-20:#a8b6ff33;
--color-primary-alpha-30:#a8b6ff4d;
--color-primary-alpha-40:#a8b6ff66;
--color-primary-alpha-50:#a8b6ff80;
--color-primary-alpha-60:#a8b6ff99;
--color-primary-alpha-70:#a8b6ffb3;
--color-primary-alpha-80:#a8b6ffcc;
--color-primary-alpha-90:#a8b6ffe6;}
/* A shared page shell around native Forgejo layouts. Keep dense controls,
   status/diff semantics and compound-control seams intact. */
html { scrollbar-gutter:stable; }
:root { --tilo-page-gutter:clamp(8px,1.4vw,20px);--tilo-content-gutter:36px;--tilo-popup-shadow:3px 3px 0 color-mix(in srgb,var(--tilo-ink) 20%,transparent); }
body { font-family:var(--fonts-proportional); }
/* The same uncoated-paper grain as tilo.so, across the whole composition.
   One fixed, non-interactive layer avoids independently tiled nested panels. */
body::after {
 content:"";position:fixed;inset:0;z-index:90;pointer-events:none;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .08 0 0 0 0 .08 0 0 0 0 .07 0 0 0 1.6 -.82'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
 opacity:var(--tilo-grain-opacity);filter:var(--tilo-grain-filter);
}
h1,h2,h3,h4,h5,.ui.header { font-family:var(--fonts-proportional); }
.ui.segment,.ui.segments,.ui.card,.ui.cards>.card,.fancy-card {
  border-color:var(--tilo-rule);
  box-shadow:none;
}
.ui.attached.header,.ui.attached.segment,.file-view.code-view,.code-view:not(.file-view) {
  border-color:var(--tilo-rule);
}
.ui.segment:not(.no-shadow):not(.basic):not(.attached),.ui.segments:not(.no-shadow),.ui.card,.ui.cards>.card,.fancy-card { box-shadow:none; }
/* One native masthead and one page frame, including on the homepage.
   Mobile is edge-to-edge: the desktop print border is not a phone gutter. */
.full.height,body,footer { background:var(--color-body); }
/* Match tilo.so's uncapped sheet and near-edge gutter, rather than nesting
   a fixed-width application inside a second fixed-width picture frame. */
.full.height { box-sizing:border-box;width:calc(100% - var(--tilo-page-gutter) - var(--tilo-page-gutter));max-width:none;margin:var(--tilo-page-gutter) auto;border:2px solid var(--tilo-frame-rule); }
.page-footer { box-sizing:border-box;width:calc(100% - var(--tilo-page-gutter) - var(--tilo-page-gutter));max-width:none;margin-inline:auto;border-top:0;padding:0 0 16px; }
#navbar { background:var(--tilo-paper); border-bottom:2px solid var(--tilo-frame-rule); box-shadow:none; padding:17px 36px; gap:16px; font-family:var(--fonts-monospace); }
#navbar .ui.menu { margin:0;gap:12px; }
#navbar .navbar-left { flex:1;min-width:0; }
#navbar .item { font:12px/1.5 var(--fonts-monospace); }
#navbar .navbar-left>a.item { order:1;margin:0;padding:6px 8px;border-radius:0; }
#navbar .navbar-left>a.tilo-global-link { order:1; }
/* Fomantic hides its old separator pseudo-element with !important. */
#navbar .navbar-left>a.item:not(#navbar-logo)::before,
#navbar .navbar-left>a.item:not(#navbar-logo)::after { display:inline !important;position:static;inset:auto;width:auto;height:auto;background:none;transform:none; }
#navbar .navbar-left>a.item:not(#navbar-logo)::before { content:'[';margin-inline-end:.45em;color:inherit; }
#navbar .navbar-left>a.item:not(#navbar-logo)::after { content:']';margin-inline-start:.45em;color:inherit; }
#navbar:has(.tilo-work-menu) .navbar-left>a.item[href$="/issues"],
#navbar:has(.tilo-work-menu) .navbar-left>a.item[href$="/pulls"],
#navbar:has(.tilo-work-menu) .navbar-left>a.item[href$="/milestones"],
#navbar:has(.tilo-global-link) .navbar-left>a.item[href="https://forgejo.org/docs/latest/"],
#navbar:has(.tilo-global-link) .navbar-left>a.item[href$="/explore/repos"]:not(.tilo-global-link),
#navbar:has(.tilo-global-link) .navbar-left>a.item[href$="/explore/organizations"]:not(.tilo-global-link) { display:none !important; }
#navbar .item:hover,#navbar details.dropdown>summary:hover { background:color-mix(in srgb,var(--tilo-yellow) 25%,var(--tilo-paper)); }
#navbar .navbar-left>a.item.active { background:var(--tilo-ink);color:var(--tilo-paper); }
#navbar #navbar-logo { display:inline-flex;align-items:center;order:0;padding:0;margin-inline-end:12px;border:0; }
#navbar #navbar-logo img { content:var(--tilo-nav-wordmark);width:116px;height:auto;max-height:40px; }
#navbar details.dropdown .content { background:var(--color-box-body); border:1px solid var(--tilo-ink); border-radius:0; }
#navbar details.dropdown .content a { display:flex; align-items:center; gap:.6em; min-height:36px; }
#navbar .tilo-work-menu { order:1; }
#navbar .tilo-work-menu>summary { display:flex;align-items:center;gap:8px;padding:6px 8px;font:12px/1.5 var(--fonts-monospace); }
/* Discovery destinations live in the masthead, not a second tab strip. */
.page-content.explore { --paper:var(--tilo-paper);--ink:var(--tilo-ink);--red:var(--tilo-red);--blue:var(--tilo-blue);--yellow:var(--tilo-yellow);padding-top:0; }
.page-content.explore>.ui.container,
.ui.container.forge-directory-heading-inner { width:calc(100% - var(--tilo-content-gutter) - var(--tilo-content-gutter)) !important;max-width:1280px !important;margin-inline:auto !important; }
.forge-directory-heading { padding:28px 0;border-bottom:1px solid var(--tilo-rule);margin-bottom:24px; }
.ui.container.forge-directory-heading-inner { display:flex;align-items:center;justify-content:space-between;gap:24px; }
.page-content.explore>.forge-directory-heading { margin-top:0; }
.forge-directory-heading h1 { min-width:0;overflow-wrap:anywhere;font-size:48px;line-height:1.1;letter-spacing:-.04em;font-weight:800;margin:0; }
.forge-directory-heading canvas { width:144px;height:88px;image-rendering:pixelated;flex:none; }
.forge-directory-tools { display:flex;align-items:center;gap:24px;flex:none; }
.forge-directory-code-link { font:12px/1.5 var(--fonts-monospace);padding:6px 8px; }
.forge-directory-code-link::before { content:'[ '; }.forge-directory-code-link::after { content:' ]'; }
.forge-directory-code-link:hover { background:var(--tilo-yellow);color:#141412; }
.explore .flex-item { padding-block:22px; }
/* A row contains several independent links; it is not one large button. */
.explore .flex-item:hover { background:transparent; }
.explore .flex-item-title a:hover,.explore .flex-item-title a:focus-visible { text-decoration:underline;text-underline-offset:.18em; }
.explore .flex-item-title { font-size:18px; }
.explore .flex-item-leading { color:var(--color-primary); }
@media(min-width:768px) and (max-width:1200px) {
 :root { --tilo-content-gutter:24px; }
 #navbar { padding:14px 24px;gap:8px; }
 #navbar .ui.menu { gap:4px; }
 #navbar .navbar-left>a.item { padding-inline:4px; }
 #navbar #navbar-logo { margin-inline-end:8px; }
 #navbar #navbar-logo img { width:98px; }
 #navbar .item { font-size:11px; }
 #navbar .tilo-work-menu>summary { font-size:11px;padding-inline:6px; }
}
@media(max-width:767px) {
 :root { --tilo-content-gutter:16px; }
 html { scrollbar-gutter:auto; }
 .full.height { width:100%;max-width:none;margin:0;border:0; }
 .page-footer { width:100%;padding:16px;border-top:1px solid var(--tilo-rule); }
 #navbar { padding:8px 16px;border-bottom:1px solid var(--tilo-rule);gap:0; }
 #navbar #navbar-logo { margin:0; }
 #navbar #navbar-logo img { width:98px;max-height:34px; }
 #navbar .navbar-mobile-right { order:0;top:0;right:0;align-items:center; }
 #navbar .navbar-mobile-right .item { min-width:44px;min-height:44px; }
 #navbar .navbar-left>a.item:not(#navbar-logo),#navbar .tilo-work-menu>summary { min-height:44px; }
 #navbar .navbar-left>a.item:not(#navbar-logo) { margin:0;padding:12px; }
 #navbar .navbar-left>a.item.active { background:var(--tilo-ink);color:var(--tilo-paper); }
 #navbar .tilo-work-menu { display:none; }
 body.navbar-expanded #navbar .tilo-work-menu { display:block; }
 #navbar .tilo-work-menu>summary { padding:12px; }
 .forge-directory-heading { padding:24px 0;margin-bottom:20px; }
 .ui.container.forge-directory-heading-inner { gap:12px; }
 .forge-directory-heading h1 { font-size:clamp(28px,8vw,32px); }
 .forge-directory-heading canvas { width:72px;height:56px; }
 .forge-directory-tools { gap:12px; }
 .forge-directory-tools:has(.forge-directory-code-link) canvas { display:none; }
}
/* The workbench uses the same flat sheet, ink rules and typographic contrast
   as the masthead. There are no raised tan cards inside the paper frame. */
.ui.button { font:600 12px/1.4 var(--fonts-monospace);border-radius:0;box-shadow:none;transition:background-color .12s,color .12s; }
.ui.basic.button { border-color:var(--color-input-border); }
.ui.primary.button,.ui.primary.buttons .button { background:var(--tilo-ink);color:var(--tilo-paper);border-color:var(--tilo-ink);box-shadow:none; }
.ui.primary.button:hover,.ui.primary.buttons .button:hover { background:var(--color-primary);color:var(--color-primary-contrast);box-shadow:none; }
.ui.input>input,.ui.form input:not([type=checkbox]):not([type=radio]),.ui.form textarea { border-radius:0; }
/* Fomantic also hard-codes 4px on compound controls and active tabs. */
.ui.button,.ui.buttons,.ui.input>input,.ui.basic.label,.ui.tabular.menu .item,.ui.tabular.menu .active.item,
.ui.table,.ui.segment,.ui.segments,.ui.card,.fancy-card,.ui.message,.ui.dropdown,.ui.dropdown .menu,.ui.popup,.ui.modal { border-radius:0 !important; }
.ui.dropdown .menu,.ui.popup,.ui.modal { background:var(--tilo-paper);border:1px solid var(--tilo-ink); }
/* Floating surfaces share the branch picker's hard offset, never a soft glow.
   Important overrides Fomantic's floating/upward/active dropdown variants. */
:root details.dropdown { --dropdown-box-shadow:var(--tilo-popup-shadow); }
.ui.dropdown .menu,.ui.popup,.ui.modal,dialog,
details.dropdown>.content,.ui.search>.results,.easymde-dropdown-content,
.tippy-box[data-theme=bare],.tippy-box[data-theme=menu],.toastify,
.tribute-container,text-expander .suggestions { box-shadow:var(--tilo-popup-shadow) !important; }
/* Static surfaces and pressed controls remain flat, not raised popups. */
.migrate-entry:hover,.ui.basic.button:active,.ui.basic.buttons .button:active { box-shadow:none; }
.ui.dropdown .menu>.item:hover { background:var(--color-hover); }
.ui.tabular.menu .item,.ui.secondary.pointing.menu .item { font:12px/1.5 var(--fonts-monospace); }
.ui.tabular.menu .active.item,.ui.secondary.pointing.menu .active.item { background:var(--tilo-yellow);color:#141412;border-color:var(--tilo-ink);border-radius:0; }
/* The sheet and masthead remain near the viewport edges. Application content
   uses an ordinary centered reading/work column, without an extra frame. */
.repository>.secondary-nav>.ui.container,
.page-content.repository>.ui.container { width:calc(100% - var(--tilo-content-gutter) - var(--tilo-content-gutter)) !important;max-width:1280px !important;margin-inline:auto !important; }
.repository>.secondary-nav { background:var(--tilo-paper);border-bottom:0; }
/* Only the outer sheet and masthead use 2px. Every application boundary is
   one 1px rule; neither active tabs nor the native divider add another edge. */
.repository>.secondary-nav>overflow-menu.ui.menu { border-bottom:1px solid var(--tilo-rule) !important; }
.repository>.secondary-nav>.ui.tabs.divider { display:none; }
.repository>.secondary-nav overflow-menu .item,.repository>.secondary-nav overflow-menu .active.item { border-bottom:0 !important;box-shadow:none; }
.repository .repo-header { padding-block:20px;align-items:center;gap:16px; }
.repository .repo-buttons { display:flex;align-items:center;flex-wrap:wrap;gap:8px; }
/* Each action/count pair has one perimeter and one seam, not two unrelated
   boxes. Keep native forms, count links and disabled interaction gates. */
.repository .repo-buttons .ui.labeled.button { padding:0;border:1px solid var(--color-input-border);background:transparent;box-shadow:none; }
.repository .repo-buttons .ui.labeled.button>.button,
.repository .repo-buttons #watch-button>summary>.button { min-height:32px;padding:7px 8px;border:0 !important;background:transparent;box-shadow:none !important;font:12px/1.4 var(--fonts-monospace); }
.repository .repo-buttons .ui.labeled.button>.ui.basic.label { display:inline-flex;align-items:center;justify-content:center;min-width:26px;margin:0;padding:6px;border:0 !important;border-inline-start:1px solid var(--color-input-border) !important;background:transparent;box-shadow:none;font:12px/1.4 var(--fonts-monospace); }
.repository .repo-buttons .ui.labeled.button>button:disabled { opacity:1 !important;color:var(--color-text-light) !important; }
.repository .repo-buttons>a.ui.button { min-height:34px;padding:8px;border-color:var(--color-input-border); }
.repository .repo-header>.flex-item { flex:1;min-width:0; }
.repository .repo-header .flex-item-main { flex:1; }
/* These native disabled wrappers are divs, not disabled form controls. Keep
   their explanatory labels legible without changing their interaction gates. */
.repository .repo-buttons .ui.disabled.labeled.button { opacity:1 !important; }
.repository .repo-buttons .ui.disabled.labeled.button>.button,
.repository .repo-buttons .ui.disabled.labeled.button>.label { color:var(--color-text-light) !important; }
.repository .repo-header .flex-item-title { font-size:clamp(24px,2vw,32px);line-height:1.2;letter-spacing:-.035em; }
.repository .repo-header .flex-item-title>a:last-child { font-weight:800 !important; }
/* Counts form a quiet inline row. The language proportions get their own
   full-width strip; native disclosure reveals the names and percentages. */
.repository .repository-summary.ui.segments { display:flex;flex-direction:column;align-items:stretch;gap:8px;border:0;box-shadow:none;margin-block:8px 16px !important; }
.repository .repository-summary .repository-menu { display:flex;flex:1 1 0;min-width:0;width:auto;justify-content:flex-start;gap:8px 24px;flex-wrap:wrap;padding:0;border:0; }
.repository .repository-summary .repository-menu .item { display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;font:14px/1.6 var(--fonts-proportional);padding:4px 0;background:transparent !important;border:0; }
.repository .repository-menu .item>.svg { margin-inline-end:3px; }
.repository .repository-menu .item.active { color:var(--color-primary);text-decoration:underline;text-underline-offset:5px; }
.repository .repository-menu a.item:hover { text-decoration:underline;text-underline-offset:5px; }
.repository #language-stats { flex:none;width:100%;max-width:none;border:0; }
.repository #language-stats>summary { min-height:24px;display:flex;align-items:center;padding:0; }
.repository #language-stats>summary::before { content:none; }
.repository #language-stats>summary:focus-visible { outline:2px solid var(--color-primary);outline-offset:3px; }
.repository #language-stats stats-bar { width:100%;height:6px;gap:0;border-radius:0; }
/* Topics are a small, name-stable edition of the brand palette, not generic
   grey labels. Topic links remain ordinary native search destinations. */
.repo-topics a.ui.label[data-tilo-topic-color] { border:0;border-radius:0;padding:5px 8px;font:500 12px/1.4 var(--fonts-monospace);letter-spacing:0;color:var(--tilo-topic-on-cool); }
.repo-topics a.ui.label[data-tilo-topic-color=blue] { background:var(--tilo-topic-blue); }
.repo-topics a.ui.label[data-tilo-topic-color=red] { background:var(--tilo-topic-red); }
.repo-topics a.ui.label[data-tilo-topic-color=yellow] { background:var(--tilo-topic-yellow);color:var(--tilo-topic-on-yellow); }
.repo-topics a.ui.label[data-tilo-topic-color]:hover { text-decoration:underline;text-underline-offset:3px; }
.repository.file.list .code-search { background:transparent;border:0 !important;padding:0 0 12px !important;border-radius:0; }
.repository #repo-files-table { border:0;border-radius:0; }
.repository #repo-files-table .repo-files-table-latest-commit-cell { background:transparent;font:12px/1.6 var(--fonts-monospace); }
.repository #repo-files-table tr.entry>td { border-color:color-mix(in srgb,var(--tilo-ink) 20%,transparent);padding-block:12px; }
.repository #readme>.ui.header { background:transparent;border:0;border-top:1px solid var(--tilo-rule);border-radius:0;margin-top:24px;padding:16px 0;font:12px/1.5 var(--fonts-monospace); }
.repository #readme>.ui.segment { border:0;background:transparent;padding:0; }
.repository #readme .markup { padding:16px 0; }
.repository #readme .markup h1 { font-size:40px;letter-spacing:-.035em;border:0; }
.repository #readme .markup h2 { border:0; }
.repository #readme .markup :is(p,ul,ol,blockquote) { max-width:85ch; }
@media(max-width:767px) {
 .repository .repo-header { padding-block:14px; }
 .repository .repo-header>.flex-item { flex:1 0 100%; }
 .repository .repository-summary .repository-menu { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px; }
 .repository .repository-summary .repository-menu .item { min-width:0;overflow-wrap:anywhere; }
 .repository #readme .markup h1 { font-size:32px; }
}
/* File and history views are a document with a utility row, not a stack of
   bordered cards. Only the row/content boundary needs a separator. */
.repository .non-diff-file-content { border:0 !important;border-radius:0 !important;box-shadow:none; }
.repository #repo-file-commit-box { border:0;background:transparent;padding:8px 0 !important;box-shadow:none; }
.repository .file-header.ui.header { border:0;border-bottom:1px solid var(--tilo-rule);border-radius:0 !important;background:transparent;padding:12px 0; }
.repository .non-diff-file-content>.ui.attached.segment { border:0;background:transparent;box-shadow:none; }
.repository .non-diff-file-content>.ui.attached.segment>.markup { padding:24px 0; }
.repository .markup :is(h1,h2) { border-bottom:0; }
.repository .file-actions .ui.buttons { border:0 !important;box-shadow:none;gap:4px; }
.repository .file-actions .ui.buttons>.ui.button,
.repository .repo-button-row .button-sequence>a.ui.basic.button { border:0 !important;background:transparent;box-shadow:none;font-weight:400; }
.repository .file-actions .ui.buttons>.ui.button:hover,
.repository .repo-button-row .button-sequence>a.ui.basic.button:hover { background:var(--tilo-yellow);color:#141412; }
.repository .file-actions .ui.buttons>.ui.button.active { background:var(--tilo-yellow);color:#141412; }
.repository .sha.label { background:transparent;border:0;box-shadow:none;color:var(--color-primary);padding:0 4px; }
.repository .sha.label:hover { text-decoration:underline; }
.repository .commits-table.ui.header { border:0;background:transparent;font:700 24px/1.3 var(--fonts-proportional);padding:16px 0;justify-content:flex-start !important;align-items:flex-start !important;text-align:left; }
.repository .commits-table .commits-table-left { justify-content:flex-start;text-align:left;margin-inline:0; }
.repository .commits-table .commits-table-left+* { margin-inline-start:auto; }
.repository .commits-table+.ui.attached.segment { border:0;background:transparent;padding:0 0 16px !important; }
.repository .commit-table.ui.segment { border:0;background:transparent;padding:0; }
.repository #commits-table { border:0; }
.repository #commits-table thead th { background:transparent;border-bottom:1px solid var(--tilo-ink);font:12px/1.5 var(--fonts-monospace);padding-block:12px; }
.repository #commits-table tbody tr { background:transparent; }
.repository #commits-table tbody td { padding-block:14px; }
/* Square attached ends are deliberate. Keep the internal seam square too. */
.ui.attached.header,.ui.attached.segment,.file-view.code-view,.code-view:not(.file-view) { border-radius:0; }
/* Current Forgejo uses logical border edges; overriding only physical edges
   makes the last split-button member lose a pixel when its neighbour hovers. */
.ui.buttons > .button,
.ui.buttons > .button:last-child,
.ui.buttons > .button:nth-last-child(2):has(+ .button.tw-hidden),
.ui.buttons > .button:hover + .button { border-inline:0; }
.ui.input input,.ui.form input:not([type=checkbox]):not([type=radio]),.ui.form textarea { box-shadow:none; }
:is(form,.markup) input[type=checkbox] { border:1px solid var(--color-input-border-hover); border-radius:3px; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex="0"]:focus-visible { outline:2px solid var(--color-primary); outline-offset:3px; }
.markup h1 { font-weight:750; line-height:1.25; }
.markup h2,.markup h3 { font-weight:700; line-height:1.3; }
.markup a:not(.no-underline):not(.button):not(.label):not(.tag),.repo-description a { color:var(--color-primary);text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px; }
.user.signin .ui.container.fluid,.user.signup .ui.container.fluid,.user.forgot.password .ui.container.fluid,.user.reset.password .ui.container.fluid { border:1px solid var(--tilo-rule); box-shadow:none; }
/* Keep code legible on both the normal surface and semantic diff washes. */
.code-view code,.code-diff code,.code-view .lines-num,.code-diff .lines-num { font-size:13px; }
.chroma .c,.chroma .c1,.chroma .ch,.chroma .cm,.chroma .cs { color:var(--tilo-syntax-comment); }
.chroma .cp,.chroma .cpf { color:var(--tilo-syntax-preproc); }
.chroma .k,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr { color:var(--tilo-syntax-keyword); }
.chroma .s,.chroma .s1,.chroma .s2,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .dl,.chroma .sd,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .sr,.chroma .ss { color:var(--tilo-syntax-string); }
.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo,.chroma .kc { color:var(--tilo-syntax-number); }
.chroma .kt,.chroma .nc { color:var(--tilo-syntax-type); }
.chroma .nf,.chroma .fm { color:var(--color-primary); }
.chroma .nb,.chroma .bp { color:var(--color-text-light); }
/* Links embedded in prose need a cue beyond colour. */
#pull-desc-display>a,.time-desc>a,.user.settings p a,.user.settings .tw-mb-4>a { text-decoration:underline; text-underline-offset:3px; }
/* The summary still references solid-fill colours in current Forgejo. */
.repository .diff-detail-box .diff-detail-stats>strong:nth-of-type(2) { color:var(--color-thin-green); }
.repository .diff-detail-box .diff-detail-stats>strong:nth-of-type(3) { color:var(--color-thin-red); }
/* Identity images are the deliberate soft exception to square chrome.
   Match Authentik's circular avatars without rounding event markers or logos. */
img.avatar,img.ui.avatar,img.org-avatar,.avatar img,.timeline-avatar img,
.user.profile .ui.card .image>img { border-radius:50% !important;object-fit:cover; }
/* Timeline events are small Bauhaus markers, not grey discs. Explicit native
   status fills (closed, merged, reopened) keep their semantic colours. */
.repository.view.issue .comment-list .timeline-item.event>.badge:not([class*="bg-"]) { background:var(--color-primary);color:var(--color-primary-contrast); }
.repository.view.issue .comment-list .timeline-item.event>.badge:has(.octicon-tag) { background:var(--tilo-yellow);color:#141412; }
.repository.view.issue .comment-list .timeline-item.event>.badge:has(.octicon-project) { background:var(--color-primary);color:var(--color-primary-contrast);border-radius:0; }
/* Read-only metadata remains readable. Native disabled interaction gates
   still apply; opacity should not fade the labels identifying these fields. */
.repository.view.issue .issue-content-right .disabled { opacity:1 !important;color:var(--color-text-light); }
.repository.view.issue .warning>a { text-decoration:underline;text-underline-offset:3px; }
/* A file path is the document heading. The single ink rule beneath its
   utility row marks the start of the file without another enclosing card. */
.repository .repo-button-row .button-sequence:has(.repo-path) { flex:1;min-width:0; }
.repository .repo-path.breadcrumb { display:flex;align-items:center;flex-wrap:nowrap;flex:1;min-width:0;font:500 clamp(18px,2vw,24px)/1.4 var(--fonts-proportional);letter-spacing:-.025em;overflow-wrap:anywhere; }
.repository .repo-path.breadcrumb>.section { min-width:0;overflow-wrap:anywhere; }
.repository .repo-path.breadcrumb>button { flex:none; }
.repository .repo-path.breadcrumb>.active.section { font-weight:800; }
.repository .non-diff-file-content>.file-header.ui.header { border-bottom:1px solid var(--tilo-rule); }
/* Organization identity and directory share the same content grid as the
   masthead; avatars remain real organization data, not a theme logo. */
.organization.profile { padding-top:24px; }
.organization.profile>.ui.container { width:calc(100% - var(--tilo-content-gutter) - var(--tilo-content-gutter)) !important;max-width:1280px !important;margin-inline:auto !important; }
.organization.profile .org-avatar { width:64px;height:64px; }
.organization.profile .org-title { font-size:32px;font-weight:800;letter-spacing:-.035em;line-height:1.2; }
.organization.profile>.ui.container:first-child { margin-bottom:24px; }
.organization.profile .flex-item-leading .svg { color:var(--color-primary); }
/* Preference sections are a document with a navigation rail, not a stack
   of boxed forms. Retain each native form, validation state and submit action. */
.user.settings .flex-container-nav>.ui.menu { border:0;box-shadow:none;background:transparent; }
.user.settings .flex-container-nav>.ui.menu>.item { border:0;border-radius:0 !important; }
.user.settings .flex-container-nav>.ui.menu>.item::before { display:none; }
.user.settings .flex-container-nav>.ui.menu>.active.item { background:var(--tilo-yellow);color:#141412;box-shadow:inset 3px 0 var(--tilo-blue); }
.user.settings .flex-container-nav>.ui.menu>a.item:hover { background:color-mix(in srgb,var(--tilo-yellow) 25%,var(--tilo-paper));color:var(--tilo-ink); }
.user.settings .user-setting-content>.ui.header { border-radius:0 !important;border:0;border-top:1px solid var(--tilo-rule);background:transparent;font:700 22px/1.3 var(--fonts-proportional);padding:16px 0 8px;margin-top:24px; }
.user.settings .user-setting-content>.ui.header:first-child { margin-top:0; }
.user.settings .help a { text-decoration:underline;text-underline-offset:3px; }
.user.settings input[type=file] { box-sizing:border-box;width:100%;min-width:0;max-width:100%; }
.user.settings .user-setting-content>.ui.attached.segment { border:0;background:transparent;padding:8px 0 24px; }
@media(max-width:767px) {
 .user.settings .flex-container-nav>.ui.menu { display:flex;flex-direction:row;flex-wrap:wrap;gap:4px; }
 .user.settings .flex-container-nav>.ui.menu>.item { flex:0 1 auto;min-height:44px;padding:10px;font-size:12px; }
 .user.settings .flex-container-nav>.ui.menu>.header.item { flex-basis:100%;min-height:0;padding-block:4px; }
}
/* One popup surface. Scrolling lists inside a popup are not second popups. */
.ui.selection.dropdown>.menu { border-color:var(--tilo-ink); }
.ui.dropdown .menu>.item,.ui.dropdown .scrolling.menu>.item { border-top:0;line-height:1.4; }
.ui.dropdown .menu>.item:hover,.ui.dropdown .menu>.selected.item { background:color-mix(in srgb,var(--tilo-yellow) 25%,var(--tilo-paper));color:var(--tilo-ink); }
.ui.dropdown .menu>.active.item,.ui.dropdown .menu>.active.item:hover { background:var(--tilo-yellow);color:#141412; }
.ui.dropdown .menu>.scrolling.menu,
.ui.floating.dropdown .overflow.menu .scrolling.menu.items { box-shadow:none !important; }
.js-branch-tag-selector .menu>.scrolling.menu { border:0;background:transparent; }
.js-branch-tag-selector .branch-tag-tab { border-bottom:1px solid var(--tilo-rule); }
.js-branch-tag-selector .branch-tag-tab>.branch-tag-item { border:0;border-radius:0;padding:8px 12px; }
.js-branch-tag-selector .branch-tag-tab>.active.branch-tag-item { background:var(--tilo-yellow);color:#141412; }
.js-branch-tag-selector .ui.label { background:transparent;color:var(--color-primary); }
/* Authentication has one owning outline. Attached native panels must not
   draw another card inside it; recovery links remain ordinary links below. */
.page-content.user:is(.signin,.signup,.activate,.forgot.password,.reset.password) .ui.container.fluid { border:0;border-radius:0;box-shadow:none; }
.page-content.user:is(.signin,.signup,.activate,.forgot.password,.reset.password) .ui.container.fluid:has(form) { border:1px solid var(--color-input-border); }
.page-content.user:is(.signin,.signup,.activate,.forgot.password,.reset.password) .ui.container.fluid>.ui.attached { border:0;border-radius:0 !important;background:transparent;box-shadow:none;width:100% !important;max-width:100% !important;margin-inline:0 !important; }
.page-content.user:is(.signin,.signup,.activate,.forgot.password,.reset.password) .ui.container.fluid>.ui.attached.header:not(.segment) { border-bottom:1px solid var(--tilo-rule);font:800 24px/1.3 var(--fonts-proportional);padding:20px 24px;margin-top:0; }
.page-content.user:is(.signin,.signup,.activate,.forgot.password,.reset.password) .ui.container.fluid:has(form)>.ui.attached.segment { padding:24px; }
.page-content.user:is(.signin,.signup,.activate,.forgot.password,.reset.password) #flash-message.ui.message { border:0;border-bottom:1px solid var(--color-error-text);border-radius:0 !important;box-shadow:none;margin:0;padding:16px 24px; }
/* Long real repository paths must shrink within the diff grid, not impose
   their min-content width on the viewport. Code remains locally scrollable. */
.repository #diff-content-container,.repository #diff-file-boxes,
.repository .diff-file-name,.repository .diff-file-name>.file { min-width:0; }
.repository .diff-file-name .file-link { min-width:0;white-space:normal;overflow-wrap:anywhere; }
/* No marketing typography or automatic animation inside daily workspaces. */
@media(prefers-reduced-motion:reduce) { .ui.button { transition:none; } }

}
