/* ==========================================================================
   theme-otdp.css — پوسته‌ی «جعبه ابزار OTDP» برای Forgejo v15

   نصب: custom/public/assets/css/theme-otdp.css  (INSTALL.md را ببین)
   ثبت:  [ui] THEMES = otdp,...   DEFAULT_THEME = otdp

   پایه: theme-forgejo-auto (روشن/تاریک خودکار با prefers-color-scheme).
   Forgejo همین فایل‌های theme-forgejo-*.css را کنار پوسته‌های سفارشی سرو
   می‌کند؛ ما فقط متغیرها را بازنویسی می‌کنیم.

   منبع رنگ: dashboard/shell.css و web/assets/achar-ds.css (مخزن otdp).
   قاعده‌ی تیم: بدون گوشه‌ی گرد، بدون سایه، جدایی با خط مویی.
   ========================================================================== */

@import "theme-forgejo-auto.css";

/* ---------- فونت (self-host، کنار همین فایل در fonts/) ----------
   unicode-range ارقام لاتین (U+0030-0039) را کنار می‌گذارد تا از فونت بعدیِ پشته بیایند؛ ارقام فارسی (U+06F0-06F9) و بقیه‌ی حروف همچنان Darbareh‌اند. */
@font-face { font-family: "Darbareh"; src: url("fonts/darbarehFaNumWeb-Light.woff2") format("woff2");    font-weight: 300; font-style: normal; font-display: swap; unicode-range: U+0000-002F, U+003A-10FFFF; }
@font-face { font-family: "Darbareh"; src: url("fonts/darbarehFaNumWeb-Regular.woff2") format("woff2");  font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0000-002F, U+003A-10FFFF; }
@font-face { font-family: "Darbareh"; src: url("fonts/darbarehFaNumWeb-Medium.woff2") format("woff2");   font-weight: 500; font-style: normal; font-display: swap; unicode-range: U+0000-002F, U+003A-10FFFF; }
@font-face { font-family: "Darbareh"; src: url("fonts/darbarehFaNumWeb-SemiBold.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; unicode-range: U+0000-002F, U+003A-10FFFF; }
@font-face { font-family: "Darbareh"; src: url("fonts/darbarehFaNumWeb-Bold.woff2") format("woff2");     font-weight: 700; font-style: normal; font-display: swap; unicode-range: U+0000-002F, U+003A-10FFFF; }

/* ==========================================================================
   ۱. مشترک بین روشن و تاریک: فونت، شعاع، فاصله
   ========================================================================== */
:root {
  /* base.css: --fonts-regular = var(--fonts-override, var(--fonts-proportional)) */
  --fonts-override: "Darbareh", -apple-system, "Segoe UI", system-ui, Tahoma;
  --fonts-proportional: "Darbareh", -apple-system, "Segoe UI", system-ui, Tahoma, sans-serif;
  /* --fonts-monospace عمداً دست‌نخورده: Darbareh تک‌فاصله نیست و کد باید هم‌عرض بماند */

  /* هیچ گوشه‌ی گردی وجود ندارد (قاعده‌ی تیم) */
  --border-radius: 0;
  --border-radius-medium: 0;
  --border-radius-large: 0;
  --border-radius-full: 0;

  /* بدون سایه */
  --dropdown-box-shadow: none;
}

/* ==========================================================================
   ۲. روشن — مقدارها از shell.css :root
   داخل media «غیر تاریک» است تا روی بلوکِ تاریکِ forgejo-auto (که بعد از import می‌آید
   و هم‌ویژگی است) غلبه نکند
   ========================================================================== */
@media not (prefers-color-scheme: dark) {
  :root {
    /* خنثی‌های گرمِ جعبه ابزار: --ink #2E282A ، --ink-muted #5C5659 ، --ink-faint #6D676A ،
       --sep #E3E3E6 ، --sep-strong #D4D4D8 ، --surface-2 #FAFAFA ، --surface-3/--page #F4F4F5 ،
       --hover #F0F0F1. نردبان zinc بازنویسی می‌شود تا هر متغیرِ مشتق (منو، تایم‌لاین،
       مرز، متن کم‌رنگ …) خودکار همین‌ها را بگیرد. */
    --zinc-50:  #fafafa;
    --zinc-100: #f4f4f5;
    --zinc-150: #f0f0f1;
    --zinc-200: #e3e3e6;
    --zinc-250: #dcdce0;
    --zinc-300: #d4d4d8;
    --zinc-350: #bdb9bc;
    --zinc-400: #a39fa2;
    --zinc-450: #8c888b;
    --zinc-500: #787275;
    --zinc-550: #6d676a;
    --zinc-600: #5c5659;
    --zinc-650: #524c4f;
    --zinc-700: #4a4446;
    --zinc-750: #423c3e;
    --zinc-800: #3a3436;
    --zinc-850: #332d2f;
    --zinc-900: #2e282a;

    /* رنگ اصلی = --accent (#0D7472، کنتراست ۵٫۶:۱ روی سفید) */
    --color-primary: #0D7472;
  --color-primary-contrast: #ffffff;
  --color-primary-dark-1: #0d7472;
  --color-primary-dark-2: #0a5c5a;
  --color-primary-dark-3: #0a5c5a;
  --color-primary-dark-4: #084847;
  --color-primary-dark-5: #084847;
  --color-primary-dark-6: #063534;
  --color-primary-dark-7: #063534;
  --color-primary-light-1: #2a8583;
  --color-primary-light-2: #479594;
  --color-primary-light-3: #64a6a5;
  --color-primary-light-4: #92c0c0;
  --color-primary-light-5: #c2dcdc;
  --color-primary-light-6: #e2eeee;
  --color-primary-light-7: #f3f8f8;
  --color-primary-alpha-10: #0d747219;
  --color-primary-alpha-20: #0d747233;
  --color-primary-alpha-30: #0d74724b;
  --color-primary-alpha-40: #0d747266;
  --color-primary-alpha-50: #0d747280;
  --color-primary-alpha-60: #0d747299;
  --color-primary-alpha-70: #0d7472b3;
  --color-primary-alpha-80: #0d7472cc;
  --color-primary-alpha-90: #0d7472e1;
    --color-primary-hover: #0a5c5a;   /* --accent-hover */
    --color-primary-active: #084847;

    /* زمینه‌ها */
    --color-body: #ffffff;                 /* --surface */
    --color-box-header: #f4f4f5;           /* --surface-3 */
    --color-box-body: #fafafa;             /* --surface-2 */
    --color-box-body-highlight: #f0f0f1;   /* --hover */
    --color-header-wrapper: #fafafa;
    --color-footer: #f4f4f5;
    --color-nav-bg: #f4f4f5;
    --color-hover: #f0f0f1;
    --color-active: #e3e3e6;
    --color-label-bg: #e3e3e6;
    --color-label-hover-bg: #d4d4d8;
    --color-label-active-bg: #d4d4d8;
    --color-label-bg-alt: #d4d4d8;
    --color-markup-code-block: #f4f4f5;
    --color-markup-code-inline: #ececee;
    --color-input-border: #d4d4d8;         /* --sep-strong */
    --color-input-border-hover: #a39fa2;

    /* متن */
    --color-text: #2e282a;                 /* --ink */
    --color-text-dark: #1b1719;
    --color-input-text: #2e282a;
    --color-label-text: #2e282a;

    /* وضعیت (shell.css): danger #B8391B متن / #E4572E بلوک، warning #8A6100 ، success = فیروزه‌ای */
    --color-red: #b8391b;
    --color-red-light: #e4572e;
    --color-red-dark-1: #9f3017;
    --color-red-dark-2: #832713;
    --color-green: #0d7472;
    --color-green-light: #128784;
    --color-green-dark-1: #0a5c5a;
    --color-green-dark-2: #084847;
    --color-yellow: #8a6100;
    --color-yellow-light: #a87700;
    --color-yellow-dark-1: #6f4e00;
    --color-yellow-dark-2: #5a3f00;

    --color-error-bg: #fcebe4;
    --color-error-bg-hover: #f3c2c8;
    --color-error-bg-active: #f3c2c8;
    --color-error-border: #f3c2c8;
    --color-error-text: #8f2a12;
    --color-success-bg: #e4f7f7;
    --color-success-border: #b9e9e8;
    --color-success-text: #0a5c5a;
    --color-warning-bg: #fff6de;
    --color-warning-border: #fbe3b4;
    --color-warning-text: #6b4b00;
    --color-info-bg: #f4f4f5;
    --color-info-border: #e3e3e6;
    --color-info-text: #2e282a;

    --color-red-badge: #b8391b;
    --color-red-badge-bg: #b8391b22;
    --color-red-badge-hover-bg: #b8391b44;
    --color-green-badge: #0d7472;
    --color-green-badge-bg: #0d747222;
    --color-green-badge-hover-bg: #0d747244;
    --color-yellow-badge: #8a6100;
    --color-yellow-badge-bg: #8a610022;
    --color-yellow-badge-hover-bg: #8a610044;

    --color-indicator-idle: #0d7472;
    --color-indicator-idle-20: #0d747233;
    --color-indicator-active: #0d7472;
    --color-indicator-active-20: #0d747233;
  }
}

/* ==========================================================================
   ۳. تاریک — مقدارها از shell.css @media (prefers-color-scheme: dark)
   توجه: در پوسته‌ی تاریکِ Forgejo «dark-N» روشن‌تر و «light-N» تیره‌تر است.
   ========================================================================== */
@media (prefers-color-scheme: dark) {
  :root {
    /* نردبان steel به خنثی‌های تاریک جعبه ابزار:
       #0B0B0C(page) #151517(surface-2) #1C1C1E(surface) #232326(surface-3)
       #2C2C2F(sep) #3A3A3D(sep-strong) #9A9A9F(faint) #B0B0B5(muted) #F2F2F7(ink) */
    --steel-900: #0b0b0c;
    --steel-850: #121214;
    --steel-800: #151517;
    --steel-750: #1c1c1e;
    --steel-700: #232326;
    --steel-650: #2c2c2f;
    --steel-600: #3a3a3d;
    --steel-550: #4b4b50;
    --steel-500: #5c5c61;
    --steel-450: #6e6e73;
    --steel-400: #808085;
    --steel-350: #8e8e93;
    --steel-300: #9a9a9f;
    --steel-250: #a6a6ab;
    --steel-200: #b0b0b5;
    --steel-150: #d5d5da;
    --steel-100: #f2f2f7;

    /* رنگ اصلی تاریک = --accent #22C7C4 ، متن روی آن #000 */
  --color-primary: #22C7C4;
  --color-primary-contrast: #000000;
  --color-primary-dark-1: #4ed2d0;
  --color-primary-dark-2: #4ed2d0;
  --color-primary-dark-3: #85e0df;
  --color-primary-dark-4: #85e0df;
  --color-primary-dark-5: #bdeeed;
  --color-primary-dark-6: #bdeeed;
  --color-primary-dark-7: #def7f6;
  --color-primary-light-1: #1f9a99;
  --color-primary-light-2: #1d807f;
  --color-primary-light-3: #1b6565;
  --color-primary-light-4: #194a4b;
  --color-primary-light-5: #18393a;
  --color-primary-light-6: #172c2d;
  --color-primary-light-7: #162325;
  --color-primary-alpha-10: #22c7c419;
  --color-primary-alpha-20: #22c7c433;
  --color-primary-alpha-30: #22c7c44b;
  --color-primary-alpha-40: #22c7c466;
  --color-primary-alpha-50: #22c7c480;
  --color-primary-alpha-60: #22c7c499;
  --color-primary-alpha-70: #22c7c4b3;
  --color-primary-alpha-80: #22c7c4cc;
  --color-primary-alpha-90: #22c7c4e1;
    --color-primary-hover: #4fd8d5;   /* --accent-hover */
    --color-primary-active: #8fe4e1;

    --color-body: #151517;
    --color-box-header: #232326;
    --color-box-body: #1c1c1e;
    --color-box-body-highlight: #2c2c2f;
    --color-header-wrapper: #1c1c1e;
    --color-footer: #0b0b0c;
    --color-nav-bg: #0b0b0c;
    --color-hover: #26262a;           /* --hover */
    --color-active: #2c2c2f;
    --color-input-background: #151517;
    --color-input-toggle-background: #151517;
    --color-input-border: #3a3a3d;
    --color-input-border-hover: #6e6e73;
    --color-label-bg: #2c2c2f;
    --color-label-hover-bg: #3a3a3d;
    --color-label-active-bg: #4b4b50;
    --color-label-bg-alt: #3a3a3d;
    --color-label-text: #f2f2f7;
    --color-markup-code-block: #0b0b0c;
    --color-markup-code-inline: #232326;
    --color-code-bg: #1c1c1e;
    --color-text: #f2f2f7;            /* --ink */
    --color-text-dark: #ffffff;       /* --ink-strong */

    /* وضعیت: danger #FF7A55 / #FF9573 ، warning #FFC914 ، success #22C7C4 */
    --color-red: #c2411f;
    --color-red-light: #ff7a55;
    --color-red-dark-1: #a8371a;
    --color-red-dark-2: #8f2f16;
    --color-green: #0d7472;
    --color-green-light: #22c7c4;
    --color-green-dark-1: #0a5c5a;
    --color-green-dark-2: #084847;
    --color-yellow: #ffc914;
    --color-yellow-light: #ffc914;

    --color-error-bg: #3a1f17;
    --color-error-bg-hover: #5c2a32;
    --color-error-bg-active: #5c2a32;
    --color-error-border: #5c2a32;
    --color-error-text: #ff9573;
    --color-success-bg: #0f2e2e;
    --color-success-border: #1c4a49;
    --color-success-text: #8fe4e1;
    --color-warning-bg: #3a2f12;
    --color-warning-border: #4e3d1e;
    --color-warning-text: #ffc914;
    --color-info-bg: #232326;
    --color-info-border: #3a3a3d;
    --color-info-text: #f2f2f7;

    --color-red-badge: #ff9573;
    --color-red-badge-bg: #ff957322;
    --color-red-badge-hover-bg: #ff957344;
    --color-green-badge: #22c7c4;
    --color-green-badge-bg: #22c7c422;
    --color-green-badge-hover-bg: #22c7c444;
    --color-yellow-badge: #ffc914;
    --color-yellow-badge-bg: #ffc91422;
    --color-yellow-badge-hover-bg: #ffc91444;

    --color-indicator-idle: #22c7c4;
    --color-indicator-idle-20: #22c7c433;
    --color-indicator-active: #22c7c4;
    --color-indicator-active-20: #22c7c433;
  }
}

/* ==========================================================================
   ۴. قاعده‌ی تیم: بدون گوشه‌ی گرد و بدون سایه
   Forgejo در چند جا شعاع را سخت‌کد کرده (0.28571429rem ، 500rem ، 50% …)،
   پس علاوه بر متغیرهای بالا یک قاعده‌ی سراسری هم لازم است.
   ========================================================================== */
*, *::before, *::after {
  border-radius: 0 !important;
}
/* استثنا: چرخان بارگذاری و رادیو باید دایره بمانند، وگرنه معنایشان گم می‌شود */
.is-loading::after,
.ui.loader::before, .ui.loader::after,
.ui.active.loader::before, .ui.active.loader::after,
input[type="radio"], .ui.radio.checkbox input[type="radio"],
.ui.radio.checkbox label::before, .ui.radio.checkbox label::after {
  border-radius: 50% !important;
}

/* سایه فقط از لایه‌های شناور برداشته می‌شود (منو، مودال، تولتیپ، توست …).
   box-shadow سراسری نمی‌گذاریم چون Forgejo از inset shadow برای مرزِ برچسبِ
   dropdown چندگانه و پس‌زمینه‌ی autofill استفاده می‌کند. جدایی با خط مویی است. */
.ui.dropdown .menu, .ui.dropdown > .menu,
.ui.floating.dropdown .menu,
.ui.upward.dropdown > .menu,
.ui.menu .dropdown.item .menu,
.ui.selection.active.dropdown .menu,
.ui.selection.active.dropdown:hover .menu,
.ui.modal, dialog,
.tippy-box, .tippy-box[data-theme],
.tribute-container,
.toast-container .toast, .toastify,
details.dropdown > .content,
.cm-panel.fj-search,
.migrate-entry:hover,
.ui.toggle.checkbox label::after,
.combo-markdown-editor .ui.dropdown .menu {
  box-shadow: none !important;
}
/* بدون سایه، لایه‌های شناور مرزِ مویی لازم دارند */
.ui.modal, dialog, .tippy-box, .tribute-container, details.dropdown > .content {
  border: 1px solid var(--color-secondary-dark-2);
}

/* ==========================================================================
   ۵. فوکوس: حلقه‌ی ۲px با رنگ اصلی (WCAG 2.4.7) — جای سایه‌ی فوکوس را می‌گیرد
   ========================================================================== */
:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
}
