/* Elizabeth Git. Дизайн-система Graphite (как на elizabethsolutions.com и webmail). Основа: forgejo-dark. */
@import url("./theme-forgejo-dark.css");

/* cyrillic-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/assets/fonts/Geist-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/assets/fonts/Geist-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/assets/fonts/Geist-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist';
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url(/assets/fonts/Geist-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url(/assets/fonts/GeistMono-cyrillic-ext.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url(/assets/fonts/GeistMono-cyrillic.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin-ext */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url(/assets/fonts/GeistMono-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Geist Mono';
  font-style: normal;
  font-weight: 400 500;
  font-display: swap;
  src: url(/assets/fonts/GeistMono-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  /* Graphite */
  --es-bg:#0b0c0e; --es-bg2:#111317; --es-bg3:#16181d; --es-bg4:#1c1f25;
  --es-line:rgba(237,237,234,.09); --es-line2:rgba(237,237,234,.16);
  --es-fg:#ededea; --es-mute:#9a9ca1; --es-dim:#6f727a;
  --es-acc:#ff6b3d; --es-acc-hi:#ff8259; --es-acc-ink:#140804; --es-acc-soft:rgba(255,107,61,.12);
  --es-ease:cubic-bezier(.16,1,.3,1);

  /* серая шкала forgejo-dark -> нейтральный графит */
  --steel-900:#0b0c0e; --steel-850:#0e0f12; --steel-800:#111317; --steel-750:#16181d; --steel-700:#1c1f25;
  --steel-650:#22252c; --steel-600:#2a2d34; --steel-550:#34373e; --steel-500:#43464d; --steel-450:#565960;
  --steel-400:#6f727a; --steel-350:#83868c; --steel-300:#9a9ca1; --steel-250:#aeb0b3; --steel-200:#c3c4c4;
  --steel-150:#d8d8d6; --steel-100:#ededea;

  --color-primary:#ff6b3d; --color-primary-contrast:#140804;
  --color-primary-dark-1:#ff8259; --color-primary-dark-2:#ff9170; --color-primary-dark-3:#ffa386; --color-primary-dark-4:#ffb69e;
  --color-primary-dark-5:#ffc8b6; --color-primary-dark-6:#ffdacd; --color-primary-dark-7:#ffece5;
  --color-primary-light-1:#f25a2c; --color-primary-light-2:#e04e22; --color-primary-light-3:#c4431d; --color-primary-light-4:#a33818;
  --color-primary-light-5:#852e14; --color-primary-light-6:#66230f; --color-primary-light-7:#4a190b;
  --color-primary-alpha-10:#ff6b3d19; --color-primary-alpha-20:#ff6b3d33; --color-primary-alpha-30:#ff6b3d4b;
  --color-primary-alpha-40:#ff6b3d66; --color-primary-alpha-50:#ff6b3d80; --color-primary-alpha-60:#ff6b3d99;
  --color-primary-alpha-70:#ff6b3db3; --color-primary-alpha-80:#ff6b3dcc; --color-primary-alpha-90:#ff6b3de1;
  --color-accent:var(--es-acc); --color-small-accent:var(--color-primary-light-5);
  --color-orange:#ff6b3d; --color-orange-light:#ff8259;
  --color-ok:#5fd39a;

  --color-body:var(--es-bg);
  --color-nav-bg:rgba(11,12,14,.86); --color-nav-hover-bg:var(--es-bg3);
  --color-footer:var(--es-bg);
  --color-header-wrapper:var(--es-bg); --color-header-wrapper-transparent:#0b0c0e00;
  --color-box-header:var(--es-bg3); --color-box-body:var(--es-bg2); --color-box-body-highlight:var(--es-bg4);
  --color-card:var(--es-bg2); --color-menu:var(--es-bg2); --color-button:var(--es-bg3);
  --color-hover:var(--es-bg4); --color-active:var(--es-bg4);
  --color-secondary:#1f2125; --color-secondary-bg:var(--es-bg3);
  --color-light-border:var(--es-line2);
  --color-input-background:var(--es-bg); --color-input-toggle-background:var(--es-bg3);
  --color-input-border:#2e3036; --color-input-border-hover:#45474d; --color-input-text:var(--es-fg);
  --color-placeholder-text:var(--es-dim);
  --color-text:var(--es-fg); --color-text-light:#c9cac8; --color-text-light-1:#b4b5b6;
  --color-text-light-2:var(--es-mute); --color-text-light-3:var(--es-dim); --color-text-dark:#fff;
  --color-markup-code-block:var(--es-bg2); --color-code-bg:var(--es-bg); --color-code-sidebar-bg:var(--es-bg3);
  --color-timeline:#26282d; --color-editor-line-highlight:var(--es-bg3);
  --color-label-active-bg:#2a2d34;
  --color-reaction-active-bg:var(--es-acc-soft);
  --color-shadow:#00000080;

  --color-error-border:rgba(255,122,107,.3); --color-error-bg:rgba(255,122,107,.1); --color-error-text:#ffb3aa;
  --color-success-border:rgba(95,211,154,.3); --color-success-bg:rgba(95,211,154,.1); --color-success-text:#a8ecc8;
  --color-warning-border:rgba(255,183,77,.3); --color-warning-bg:rgba(255,183,77,.1); --color-warning-text:#ffd79a;
  --color-info-border:var(--es-line2); --color-info-bg:var(--es-bg3); --color-info-text:var(--es-fg);

  --fonts-proportional:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --fonts-monospace:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --border-radius:10px; --border-radius-medium:14px;
}

body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
::selection{background:var(--es-acc)!important;color:var(--es-acc-ink)!important}
:focus-visible{outline:2px solid var(--es-acc);outline-offset:2px}
a{transition:color .2s var(--es-ease)}

/* верхняя панель как на сайте: полупрозрачная, с размытием и тонкой линией */
#navbar{background:var(--color-nav-bg);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--es-line)}
#navbar .item{color:var(--es-mute)}
#navbar .item:hover,#navbar .item.active{color:var(--es-fg)}
#navbar-logo img{border-radius:7px}
.page-footer{border-top:1px solid var(--es-line);color:var(--es-dim)}

/* кнопки-«таблетки» (одиночные), группы оставляем со скруглением */
.ui.button{font-weight:500;transition:background .25s var(--es-ease),border-color .25s var(--es-ease),transform .3s var(--es-ease)}
.ui.button:not(.ui.buttons > .button):not(.ui.action.input > .button):not(.ui.labeled > .button):not(.dropdown):not(.icon.button.compact){border-radius:999px}
.ui.button:active{transform:scale(.98)}
.ui.primary.button,.ui.primary.buttons .button{background:var(--es-acc)!important;color:var(--es-acc-ink)!important}
.ui.primary.button:hover,.ui.primary.buttons .button:hover{background:var(--es-acc-hi)!important}
.ui.basic.button,.ui.basic.buttons .button{border-color:var(--es-line2)}
.ui.basic.button:hover{border-color:var(--es-fg)}

/* поля ввода */
input:not([type=checkbox]):not([type=radio]),textarea,.ui.input>input,.ui.form input:not([type]),.ui.form input[type=text],
.ui.form input[type=password],.ui.form input[type=email],.ui.form input[type=url],.ui.form textarea,.ui.selection.dropdown{
  transition:border-color .2s var(--es-ease)}
.ui.input>input:focus,.ui.form input:focus,.ui.form textarea:focus,.ui.selection.dropdown:focus,.ui.selection.active.dropdown{
  border-color:var(--es-acc)!important}

/* карточки, сегменты, меню */
.ui.segment,.ui.segments,.ui.attached.segment,.ui.card,.ui.cards>.card,.ui.table,.ui.menu,.ui.dropdown .menu,.ui.modal{border-color:var(--es-line)!important}
.ui.attached.header,.ui.top.attached.header{background:var(--es-bg3);border-color:var(--es-line)}
.ui.modal{background:var(--es-bg2);border:1px solid var(--es-line);border-radius:20px}
.ui.modal>.header{border-radius:20px 20px 0 0}
.ui.dropdown .menu{background:var(--es-bg2)}
.ui.secondary.pointing.menu .active.item,.ui.secondary.pointing.menu .active.item:hover{border-color:var(--es-acc)}
.ui.tabular.menu .active.item{border-color:var(--es-line)!important}
.ui.vertical.menu .active.item{background:var(--es-acc-soft)}
.ui.primary.label,.ui.primary.labels .label,.ui.red.label.notification_count{background-color:var(--es-acc)!important;color:var(--es-acc-ink)!important}
.ui.menu .ui.primary.label,.ui.tabs .ui.primary.label{background-color:var(--es-acc-soft)!important;color:var(--es-fg)!important}
.repo-header .repo-icon,.flex-item-icon{color:var(--es-mute)}
.markup code,.markup tt{background:var(--es-bg3);border-radius:6px}
.markup pre{border:1px solid var(--es-line);border-radius:var(--border-radius-medium)}

/* посадочная (главная и /user/login): без шапки и футера, летающая карточка */
body:has(.es-landing) #navbar,body:has(.es-landing) .page-footer{display:none!important}
body:has(.es-landing){background:var(--es-bg)}
.es-landing{position:relative;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding:40px 16px;overflow:hidden;isolation:isolate}
.es-sky{position:absolute;inset:0;z-index:-1;pointer-events:none}
.es-glow{position:absolute;left:50%;top:58%;width:min(1100px,140vw);aspect-ratio:1.6;transform:translate(-50%,-50%);
  background:radial-gradient(closest-side,rgba(255,107,61,.22),rgba(255,107,61,.06) 55%,transparent 75%);filter:blur(20px);
  animation:es-breathe 9s ease-in-out infinite}
.es-grid-bg{position:absolute;inset:0;opacity:.5;
  background-image:linear-gradient(var(--es-line) 1px,transparent 1px),linear-gradient(90deg,var(--es-line) 1px,transparent 1px);
  background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 50% 45%,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse at 50% 45%,#000 10%,transparent 70%)}
.es-float{width:min(980px,100%);min-width:0;display:grid;gap:22px;justify-items:center;animation:es-float 7s ease-in-out infinite}
.es-card{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);border-radius:28px;overflow:hidden;
  background:linear-gradient(180deg,rgba(22,24,29,.78),rgba(17,19,23,.72));border:1px solid var(--es-line2);
  backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);
  box-shadow:0 1px 0 rgba(237,237,234,.06) inset,0 40px 80px -20px rgba(0,0,0,.75),0 90px 140px -60px rgba(255,107,61,.35)}
.es-copy{padding:44px 44px 40px;display:grid;gap:20px;align-content:start;border-right:1px solid var(--es-line)}
.es-brand{display:flex;align-items:center;gap:12px;font-weight:600;letter-spacing:-.01em;color:var(--es-fg)!important;width:max-content}
.es-brand img{width:30px;height:30px;border-radius:8px}
.es-brand em{font-style:normal;color:var(--es-mute);font-weight:500}
.es-eyebrow{font-family:var(--fonts-monospace);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--es-acc);margin-top:14px}
.es-copy h1{font-size:clamp(34px,4.4vw,54px);line-height:1.02;letter-spacing:-.045em;font-weight:500;margin:0;color:var(--es-fg)}
.es-copy h1 span{color:var(--es-mute)}
.es-copy p{font-size:16px;line-height:1.6;color:var(--es-mute);margin:0;max-width:44ch}
.es-facts{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--es-line)}
.es-facts li{display:flex;gap:12px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--es-line);font-size:14px}
.es-facts b{font-weight:500;color:var(--es-fg);min-width:118px}
.es-facts span{color:var(--es-dim)}
.es-login{padding:44px 40px 32px;display:grid;gap:16px;align-content:center;background:rgba(11,12,14,.35)}
.es-login h2{font-size:22px;font-weight:500;letter-spacing:-.025em;margin:0;color:var(--es-fg)}
.es-login .ui.message,.es-login .flash-message{margin:0!important;border-radius:12px!important}
.es-form{display:grid;gap:14px}
.es-fld{display:grid;gap:7px}
.es-fld span{font-size:13px;color:var(--es-mute)}
.es-fld input{width:100%;min-width:0;box-sizing:border-box;height:48px;padding:0 15px;border-radius:12px;border:1px solid var(--color-input-border);background:rgba(11,12,14,.8);color:var(--es-fg);
  font-size:15px;outline:0;transition:border-color .2s var(--es-ease),box-shadow .2s var(--es-ease)}
.es-fld input:focus{border-color:var(--es-acc);box-shadow:0 0 0 4px var(--es-acc-soft)}
.es-fld.es-err input{border-color:#ff7a6b}
.es-check{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--es-mute);cursor:pointer;width:max-content}
.es-check input{width:16px;height:16px;accent-color:var(--es-acc);margin:0}
.es-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:44px;padding:0 20px;border-radius:999px;border:0;font:inherit;font-size:14.5px;font-weight:500;
  white-space:nowrap;cursor:pointer;transition:background .3s var(--es-ease),transform .4s var(--es-ease),box-shadow .3s var(--es-ease)}
.es-btn:active{transform:scale(.98)}
.es-btn-acc{background:var(--es-acc);color:var(--es-acc-ink)!important}
.es-btn-acc:hover{background:var(--es-acc-hi);box-shadow:0 10px 30px -8px rgba(255,107,61,.6)}
.es-wide{width:100%;height:50px;font-size:15px;margin-top:4px}
.es-langs{display:flex;gap:6px;justify-content:center;font-family:var(--fonts-monospace);font-size:12px;margin-top:6px}
.es-langs a{padding:4px 10px;border-radius:999px;color:var(--es-dim)!important}
.es-langs a:hover{color:var(--es-fg)!important}
.es-langs a[aria-current=true]{background:var(--es-fg);color:var(--es-bg)!important}
.es-foot{font-size:12.5px;color:var(--es-dim);margin:0}
.es-foot a{color:var(--es-mute)!important}.es-foot a:hover{color:var(--es-fg)!important}
@keyframes es-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes es-breathe{0%,100%{opacity:.85;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}}
@media (prefers-reduced-motion:reduce){.es-float,.es-glow{animation:none}}
@media (max-width:820px){
  .es-landing{padding:24px 16px;place-items:start center}
  .es-card{grid-template-columns:minmax(0,1fr);border-radius:22px}
  .es-copy{padding:28px 24px 24px;border-right:0;border-bottom:1px solid var(--es-line);gap:16px}
  .es-eyebrow{margin-top:6px}
  .es-login{padding:26px 24px 22px}
  .es-facts b{min-width:100px}
  .es-facts li{flex-wrap:wrap;gap:2px 12px}
}
