@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/manrope-latin.woff2') format('woff2')}
@font-face{font-family:Manrope;font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/manrope-cyrillic.woff2') format('woff2');unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Young Serif';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/young-serif-latin.woff2') format('woff2')}
:root{--bg:#EBF0E1;--surface:#F6F8EF;--surface-2:#DEE6D0;--ink:#1B2619;--muted:#53634E;--line:#C6D2B9;--leaf:#48953F;--leaf-ghost:#6F8F63;--wood:#6B4827;--wood-ghost:#8F7B65;--accent:#2C7A3E;--accent-ink:#F3FBEE;--danger:#AA3A25;--font-display:'Young Serif',Georgia,'Times New Roman',serif;--font-body:Manrope,system-ui,-apple-system,'Segoe UI',sans-serif;--ease-out:cubic-bezier(.23,1,.32,1);color-scheme:light}
:root[data-theme=dark]{--bg:#0E1510;--surface:#141D16;--surface-2:#1C2A1F;--ink:#E3EBDB;--muted:#A2B29B;--line:#344738;--leaf:#6EC65D;--leaf-ghost:#719166;--wood:#B3875A;--wood-ghost:#867462;--accent:#8AD379;--accent-ink:#0B130D;--danger:#ED9177;color-scheme:dark}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0E1510;--surface:#141D16;--surface-2:#1C2A1F;--ink:#E3EBDB;--muted:#A2B29B;--line:#344738;--leaf:#6EC65D;--leaf-ghost:#719166;--wood:#B3875A;--wood-ghost:#867462;--accent:#8AD379;--accent-ink:#0B130D;--danger:#ED9177;color-scheme:dark}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 var(--font-body);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:var(--accent);text-underline-offset:3px}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}h1,h2{font-family:var(--font-display);font-weight:400;line-height:1.2;letter-spacing:-.02em;text-wrap:balance}h1,h2,h3,p{margin-top:0}svg{display:block}button svg,.button svg{width:22px;height:22px;flex:none}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}::selection{background:var(--surface-2)}.muted{color:var(--muted)}.small,small{font-size:12px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-150%);background:var(--surface);padding:12px;z-index:100}.skip-link:focus{transform:none}
.site-header{height:76px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--surface);gap:24px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:24px/1 var(--font-display)}.brand svg{width:30px;height:30px}.header-nav{display:flex;gap:22px;align-items:center}.header-nav a{color:var(--ink);font-size:13px;text-decoration:none}.header-nav a:hover{text-decoration:underline}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;background:transparent;border-radius:8px}.icon-button:hover,.language-button:hover{background:var(--surface-2)}.language-button{padding:8px;border:0;background:transparent;font-size:12px;font-weight:700;border-radius:8px;min-height:40px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 19px;min-height:44px;border:1px solid transparent;background:var(--accent);color:var(--accent-ink);border-radius:8px;font-size:14px;font-weight:700;text-decoration:none;transition:transform 120ms var(--ease-out),background-color 180ms ease}.button:active,.icon-button:active{transform:scale(.97)}.button.secondary{border-color:var(--line);background:transparent;color:var(--ink)}.button.text{background:transparent;color:var(--muted);padding:8px 4px}.button.danger{background:var(--danger);color:var(--accent-ink)}.actions{display:flex;flex-wrap:wrap;gap:8px}
.stack-form{display:grid;gap:20px}.stack-form label{display:grid;gap:6px;font-size:13px;font-weight:600}input,textarea,select{width:100%;min-height:44px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px;caret-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--muted)}textarea{resize:vertical;min-height:120px}label small{font-weight:400;color:var(--muted)}.form-error{color:var(--danger);font-size:13px;margin:0}.notice{max-width:70ch;margin:28px auto;padding:16px 0;color:var(--muted);font-size:13px}.toast{position:fixed;z-index:20;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);padding:12px 18px;border-radius:8px;background:var(--ink);color:var(--bg);font-size:13px;box-shadow:0 6px 24px -10px #0006}dialog{width:min(430px,calc(100% - 32px));padding:28px;border:0;border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 12px 40px -10px #0006}dialog::backdrop{background:#0005}dialog h2{font-size:26px}
.site-footer{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:32px 5%;font-size:12px;color:var(--muted)}.site-footer nav{display:flex;gap:20px}.site-footer a{color:var(--muted)}
@media(hover:hover){.button:hover{background:color-mix(in oklab,var(--accent) 90%,var(--ink))}.button.secondary:hover,.button.text:hover{background:var(--surface-2)}}
@media(max-width:600px){.site-header{height:64px;padding:0 16px;gap:12px}.brand{font-size:21px}.brand svg{width:26px;height:26px}.header-nav{gap:10px}.header-nav a{font-size:12px}.site-footer{padding:28px 20px;flex-direction:column;gap:12px}.button{padding-inline:16px}.notice{padding-inline:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.pwa-update{position:fixed;z-index:22;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));max-width:calc(100% - 32px);display:flex;gap:8px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:8px}
