:root{--blue-950:#0a1f4d;--blue-900:#0f2f6e;--blue-800:#143c8c;--blue-700:#1a4fb8;--blue-600:#1d5bd8;--blue-500:#3b7bf0;--blue-400:#6ea0ff;--blue-100:#e3edff;--blue-50:#f2f6ff;--gold-500:#e0a800;--gold-400:#f5c542;--gold-100:#fdf3d0;--font-sans:"Golos Text", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "JetBrains Mono", Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:clamp(1.9rem, 1.4rem + 2.4vw, 3rem);--leading-tight:1.2;--leading-normal:1.55;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:999px;--container-max:1180px;--gutter:16px;--header-height:64px;--bottom-nav-height:64px;--duration-fast:.12s;--duration-normal:.22s;--ease-out:cubic-bezier(.2, .8, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f5f8fd;--color-surface:#fff;--color-surface-2:#eef3fc;--color-surface-3:#dfe8f7;--color-text:#0f1f3d;--color-text-muted:#4a5a78;--color-text-subtle:#66748f;--color-border:#dce5f2;--color-border-strong:#c2d0e6;--color-primary:#1d5bd8;--color-primary-hover:#1749b0;--color-primary-soft:#e3edff;--color-on-primary:#fff;--color-accent:#e0a800;--color-accent-soft:#fdf3d0;--color-on-accent:#0f1f3d;--color-link:#1a4fb8;--color-focus:#3b7bf0;--color-success:#15803d;--color-success-soft:#dcfce7;--color-danger:#c62828;--color-danger-soft:#fde2e2;--color-warning:#9a6200;--color-warning-soft:#fef3c7;--color-header-bg:#ffffffeb;--color-header-border:#dce5f2;--color-header-text:#0f1f3d;--color-header-muted:#4a5a78;--color-header-hover:#eef3fc;--color-hero-from:#1d5bd8;--color-hero-to:#0f2f6e;--chart-bar:#1d5bd8;--color-logo:#1c2a6c;--chart-grid:#e6ecf6;--heat-0:#eef3fc;--heat-1:#c3d7fd;--heat-2:#86aefa;--heat-3:#3b7bf0;--heat-4:#1a4fb8;--shadow-sm:0 1px 2px #0f2f6e0f, 0 1px 3px #0f2f6e12;--shadow-md:0 4px 14px #0f2f6e14, 0 2px 4px #0f2f6e0d;--shadow-lg:0 18px 40px #0f2f6e24}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0a1122;--color-surface:#101a30;--color-surface-2:#16233f;--color-surface-3:#1e2e52;--color-text:#e8eefb;--color-text-muted:#a9b8d4;--color-text-subtle:#8797b5;--color-border:#22345a;--color-border-strong:#304878;--color-primary:#6ea0ff;--color-primary-hover:#8db5ff;--color-primary-soft:#6ea0ff24;--color-on-primary:#0a1122;--color-accent:#f5c542;--color-accent-soft:#f5c54224;--color-on-accent:#0a1122;--color-link:#8db5ff;--color-focus:#8db5ff;--color-success:#4ade80;--color-success-soft:#4ade8024;--color-danger:#f87171;--color-danger-soft:#f8717124;--color-warning:#fbbf24;--color-warning-soft:#fbbf2424;--color-header-bg:#101a30eb;--color-header-border:#22345a;--color-header-text:#e8eefb;--color-header-muted:#a9b8d4;--color-header-hover:#16233f;--color-hero-from:#143c8c;--color-hero-to:#0a1f4d;--chart-bar:#4f8cff;--color-logo:#fff;--chart-grid:#1c2c4d;--heat-0:#16233f;--heat-1:#1e3a75;--heat-2:#2a5bb8;--heat-3:#4f8cff;--heat-4:#a4c4ff;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 14px #00000059;--shadow-lg:0 18px 40px #00000073}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0a1122;--color-surface:#101a30;--color-surface-2:#16233f;--color-surface-3:#1e2e52;--color-text:#e8eefb;--color-text-muted:#a9b8d4;--color-text-subtle:#8797b5;--color-border:#22345a;--color-border-strong:#304878;--color-primary:#6ea0ff;--color-primary-hover:#8db5ff;--color-primary-soft:#6ea0ff24;--color-on-primary:#0a1122;--color-accent:#f5c542;--color-accent-soft:#f5c54224;--color-on-accent:#0a1122;--color-link:#8db5ff;--color-focus:#8db5ff;--color-success:#4ade80;--color-success-soft:#4ade8024;--color-danger:#f87171;--color-danger-soft:#f8717124;--color-warning:#fbbf24;--color-warning-soft:#fbbf2424;--color-header-bg:#101a30eb;--color-header-border:#22345a;--color-header-text:#e8eefb;--color-header-muted:#a9b8d4;--color-header-hover:#16233f;--color-hero-from:#143c8c;--color-hero-to:#0a1f4d;--chart-bar:#4f8cff;--color-logo:#fff;--chart-grid:#1c2c4d;--heat-0:#16233f;--heat-1:#1e3a75;--heat-2:#2a5bb8;--heat-3:#4f8cff;--heat-4:#a4c4ff;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 14px #00000059;--shadow-lg:0 18px 40px #00000073}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}h1,h2,h3,h4{line-height:var(--leading-tight);font-weight:var(--weight-bold);margin:0}p{margin:0}a{color:var(--color-link);text-underline-offset:2px}img,svg{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-sm)}.container{width:100%;max-width:var(--container-max);padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.site-header,.site-footer,.bottom-nav,.skip-link,.no-print{display:none!important}body{color:#000;background:#fff}.app-main{padding:0}.app-shell{padding-bottom:0!important}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:0 var(--space-5);border-radius:var(--radius-md);font-weight:var(--weight-semibold);font-size:var(--text-base);cursor:pointer;white-space:nowrap;transition:background-color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:var(--color-on-primary)}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--accent{background:var(--color-accent);color:var(--color-on-accent)}.btn--accent:hover:not(:disabled){filter:brightness(1.06)}.btn--white{color:var(--blue-700);background:#fff}.btn--white:hover:not(:disabled){background:var(--blue-50)}.btn--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-2)}.btn--ghost{color:inherit;background:0 0}.btn--ghost:hover:not(:disabled){background:var(--color-surface-2)}.btn--sm{min-height:36px;padding:0 var(--space-3);font-size:var(--text-sm)}.btn--lg{min-height:52px;padding:0 var(--space-6);font-size:var(--text-lg)}.btn--block{width:100%}.skeleton{background:linear-gradient(90deg, var(--color-surface-2) 25%, var(--color-surface-3) 50%, var(--color-surface-2) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-4);text-align:center;flex-direction:column;display:flex}.empty-state__icon{border-radius:var(--radius-full);background:var(--color-accent-soft);width:64px;height:64px;color:var(--color-accent);place-items:center;display:grid}.empty-state__title{font-size:var(--text-xl)}.empty-state__description{max-width:44ch;color:var(--color-text-muted)}.empty-state__action{margin-top:var(--space-3)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.field{gap:var(--space-1);flex-direction:column;display:flex}.field__label{font-size:var(--text-sm);font-weight:var(--weight-semibold)}.field__hint{color:var(--color-text-subtle);font-size:var(--text-sm)}.field__error{color:var(--color-danger);font-size:var(--text-sm)}.input{width:100%;min-height:44px;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--text-base);transition:border-color var(--duration-fast), box-shadow var(--duration-fast)}.input::placeholder{color:var(--color-text-subtle)}.input:hover:not(:disabled){border-color:var(--color-primary)}.input:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.input:disabled{background:var(--color-surface-2);cursor:not-allowed}.field--error .input{border-color:var(--color-danger)}.select{appearance:none;padding-right:var(--space-8);background-image:linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%), linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%);background-position:calc(100% - 18px),calc(100% - 13px);background-repeat:no-repeat;background-size:5px 5px}.input-group{display:flex;position:relative}.input-group .input{padding-right:48px}.input-group__button{width:44px;height:100%;color:var(--color-text-muted);cursor:pointer;border-radius:0 var(--radius-md) var(--radius-md) 0;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:0;right:0}.input-group__button:hover{color:var(--color-primary)}.alert{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);align-items:flex-start;display:flex}.alert__icon{flex:none;margin-top:1px}.alert--error{background:var(--color-danger-soft);color:var(--color-danger)}.alert--success{background:var(--color-success-soft);color:var(--color-success)}.alert--info{background:var(--color-primary-soft);color:var(--color-primary)}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;background:var(--color-surface-2);color:var(--color-text-muted);display:inline-flex}.badge--primary{background:var(--color-primary-soft);color:var(--color-primary)}.badge--success{background:var(--color-success-soft);color:var(--color-success)}.badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge--accent{background:var(--color-accent-soft);color:var(--color-warning)}.modal{width:min(480px, calc(100vw - 2 * var(--gutter)));max-height:calc(100vh - 2 * var(--space-8));border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-lg);border:0;padding:0}.modal::backdrop{background:#0a11228c}.modal[open]{animation:modal-in var(--duration-normal) var(--ease-out)}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.modal__panel{gap:var(--space-3);padding:var(--space-6);flex-direction:column;display:flex;position:relative}.modal__close{top:var(--space-3);right:var(--space-3);border-radius:var(--radius-full);width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute}.modal__close:hover{background:var(--color-surface-2)}.modal__icon{border-radius:var(--radius-full);background:var(--color-primary-soft);width:64px;height:64px;color:var(--color-primary);place-items:center;display:grid}.modal__title{padding-right:var(--space-8);font-size:var(--text-xl)}.modal__body{color:var(--color-text-muted)}.modal__footer{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.pagination{justify-content:center;gap:var(--space-1);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.pagination__item{min-width:40px;height:40px;padding:0 var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-weight:var(--weight-medium);cursor:pointer;place-items:center;display:grid}.pagination__item:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.pagination__item[aria-current=page]{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.pagination__item:disabled{opacity:.45;cursor:not-allowed}.pagination__gap{min-width:24px;color:var(--color-text-subtle);place-items:center;display:grid}.page{padding-block:var(--space-8) var(--space-12)}.page-header{gap:var(--space-2);margin-bottom:var(--space-6);flex-direction:column;display:flex}.page-header__title{font-size:var(--text-2xl)}.page-header__subtitle{color:var(--color-text-muted)}.tabs{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.tabs__tab{min-height:36px;padding:0 var(--space-4);border-radius:calc(var(--radius-md) - 3px);color:var(--color-text-muted);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:0}.tabs__tab:hover{color:var(--color-text)}.tabs__tab[aria-selected=true]{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow-x:auto}.toggle{align-items:flex-start;gap:var(--space-3);cursor:pointer;display:flex}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle__track{border-radius:var(--radius-full);background:var(--color-border-strong);width:44px;height:26px;transition:background-color var(--duration-fast);flex:none;margin-top:1px;position:relative}.toggle__track:after{content:"";width:20px;height:20px;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.toggle input:checked+.toggle__track{background:var(--color-primary)}.toggle input:checked+.toggle__track:after{transform:translate(18px)}.toggle input:focus-visible+.toggle__track{outline:3px solid var(--color-focus);outline-offset:2px}.toggle__hint{color:var(--color-text-muted);font-size:var(--text-sm);display:block}.progress-bar{border-radius:var(--radius-full);background:var(--color-surface-3);height:10px;overflow:hidden}.progress-bar__fill{border-radius:var(--radius-full);background:var(--color-primary);height:100%;transition:width var(--duration-normal) var(--ease-out);display:block}.textarea{min-height:96px;padding:var(--space-3);line-height:var(--leading-normal);resize:vertical}.textarea--code{font-family:var(--font-mono);font-size:var(--text-sm)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-main{outline:none;flex:1}.skip-link{top:var(--space-2);left:var(--space-2);z-index:100;padding:var(--space-2) var(--space-4);background:var(--color-accent);color:var(--color-on-accent);border-radius:var(--radius-md);font-weight:var(--weight-semibold);position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{z-index:50;background:var(--color-header-bg);color:var(--color-header-text);border-bottom:1px solid var(--color-header-border);-webkit-backdrop-filter:saturate(1.4)blur(10px);backdrop-filter:saturate(1.4)blur(10px);position:sticky;top:0}.site-header__inner{align-items:center;gap:var(--space-4);height:var(--header-height);display:flex}.brand{align-items:center;gap:var(--space-2);color:inherit;font-weight:var(--weight-bold);font-size:var(--text-lg);white-space:nowrap;text-decoration:none;display:inline-flex}.site-nav{gap:var(--space-1);margin-left:var(--space-4);display:none}.site-nav__link{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-header-muted);font-weight:var(--weight-medium);transition:color var(--duration-fast), background-color var(--duration-fast);text-decoration:none}.site-nav__link:hover{color:var(--color-header-text);background:var(--color-header-hover)}.site-nav__link.is-active{color:var(--color-primary);background:var(--color-primary-soft)}.site-header__actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.site-header__login{display:none}.lang-switch{border-radius:var(--radius-full);background:var(--color-surface-2);border:1px solid var(--color-border);padding:3px;display:inline-flex}.lang-switch__option{min-width:40px;min-height:32px;padding:0 var(--space-2);border-radius:var(--radius-full);color:var(--color-header-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold);cursor:pointer;background:0 0;border:0}.lang-switch__option:hover{color:var(--color-header-text)}.lang-switch__option[aria-pressed=true]{background:var(--color-primary);color:var(--color-on-primary)}.icon-btn{border-radius:var(--radius-full);width:40px;height:40px;color:var(--color-header-text);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.icon-btn:hover{background:var(--color-header-hover)}.site-footer{border-top:1px solid var(--color-border);background:var(--color-surface);padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom))}.site-footer__inner{gap:var(--space-1);padding-block:var(--space-6);font-size:var(--text-sm);flex-direction:column;display:flex}.site-footer__muted{color:var(--color-text-muted)}.site-footer__link{font-weight:var(--weight-medium)}.bottom-nav{z-index:50;height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--color-surface);border-top:1px solid var(--color-border);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -4px 16px #0f2f6e0f}.bottom-nav__item{min-width:0;color:var(--color-text-subtle);font-size:.6875rem;font-weight:var(--weight-medium);flex-direction:column;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.bottom-nav__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding-inline:2px;overflow:hidden}.bottom-nav__item.is-active{color:var(--color-primary)}@media (width>=480px){.site-header__login{display:inline-flex}}@media (width>=900px){.site-nav{display:flex}.bottom-nav{display:none}.site-footer{padding-bottom:0}.site-footer__inner{align-items:center;gap:var(--space-6);flex-direction:row}.site-footer__link{margin-left:auto}}.user-menu{position:relative}.user-menu__trigger{align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-2) 0 4px;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-header-text);cursor:pointer;display:inline-flex}.user-menu__trigger:hover{background:var(--color-header-hover)}.user-menu__name{text-overflow:ellipsis;white-space:nowrap;max-width:12ch;font-weight:var(--weight-medium);display:none;overflow:hidden}.avatar{border-radius:var(--radius-full);background:var(--color-primary);width:32px;height:32px;color:var(--color-on-primary);font-size:var(--text-sm);font-weight:var(--weight-bold);place-items:center;display:grid}.user-menu__panel{z-index:60;min-width:220px;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);position:absolute;top:calc(100% + 8px);right:0}.user-menu__head{padding:var(--space-2) var(--space-3) var(--space-3);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-1);flex-direction:column;display:flex}.user-menu__head span{color:var(--color-text-muted);font-size:var(--text-sm)}.user-menu__item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-base);text-align:left;cursor:pointer;background:0 0;border:0;text-decoration:none;display:flex}.user-menu__item:hover{background:var(--color-surface-2)}.page-loading{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-16) var(--space-4);color:var(--color-text-muted);display:flex}@media (width>=640px){.user-menu__name{display:inline}}.logo{align-items:center;gap:var(--space-2);display:inline-flex}.logo__mark{color:var(--color-logo);flex:none}.logo__text{flex-direction:column;display:flex}.logo__word{color:var(--color-logo);font-size:var(--text-lg);letter-spacing:-.01em;white-space:nowrap;line-height:1.1}.logo__word strong{font-weight:800}.logo__word span{font-weight:var(--weight-medium)}.logo__tagline{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase}@media (width<=379px){.site-header .logo__word{font-size:var(--text-base)}}.page-loader{gap:var(--space-3);padding-block:var(--space-8);display:grid}.difficulty{color:var(--color-border-strong);gap:1px;display:inline-flex}.difficulty__star.is-on{color:var(--color-accent)}.translation-missing{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-warning-soft);color:var(--color-warning);font-size:var(--text-xs);font-weight:var(--weight-semibold);display:inline-flex}.problem-card{gap:var(--space-3);padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:border-color var(--duration-fast), box-shadow var(--duration-fast), transform var(--duration-fast);flex-direction:column;display:flex;position:relative}.problem-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.problem-card:focus-within{outline:3px solid var(--color-focus);outline-offset:2px}.problem-card.is-solved{border-left:4px solid var(--color-success)}.problem-card__top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.problem-card__subject{color:var(--color-text-subtle);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.problem-card__status{align-items:center;gap:var(--space-1);color:var(--color-warning);font-size:var(--text-sm);font-weight:var(--weight-semibold);flex:none;display:inline-flex}.problem-card__status.is-solved{color:var(--color-success)}.problem-card__title{font-size:var(--text-lg);font-weight:var(--weight-semibold)}.problem-card__link{color:var(--color-text);text-decoration:none}.problem-card__link:focus-visible{outline:none}.problem-card__link:after{content:"";position:absolute;inset:0}.problem-card__meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.problem-card__footer{justify-content:space-between;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);font-size:var(--text-sm);margin-top:auto;display:flex}.problem-card__points{color:var(--color-primary);font-weight:var(--weight-semibold)}.problem-card__percent{color:var(--color-text-muted)}.problem-grid{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.problem-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.problem-grid{grid-template-columns:repeat(3,1fr)}}.celebrate__text{color:var(--color-text);font-size:var(--text-lg)}.celebrate__list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.celebrate__item{gap:var(--space-3);color:var(--color-text);align-items:flex-start;display:flex}.celebrate__icon{border-radius:var(--radius-full);background:var(--color-accent-soft);width:40px;height:40px;color:var(--color-warning);flex:none;place-items:center;display:grid}.celebrate__desc{color:var(--color-text-muted);font-size:var(--text-sm);display:block}.level-badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);background:var(--color-primary-soft);color:var(--color-primary);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;display:inline-flex}.level-badge--6,.level-badge--7{background:var(--color-accent-soft);color:var(--color-warning)}.level-progress{gap:var(--space-2);flex-direction:column;display:flex}.level-progress__head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.level-progress__points{font-size:var(--text-xl);font-weight:var(--weight-bold)}.level-progress__hint{color:var(--color-text-muted);font-size:var(--text-sm)}.streak{align-items:center;gap:var(--space-3);display:flex}.streak__icon{border-radius:var(--radius-full);background:var(--color-surface-2);width:52px;height:52px;color:var(--color-text-subtle);place-items:center;display:grid}.streak.is-active .streak__icon{background:var(--color-accent-soft);color:#f08c00}.streak__value{font-size:var(--text-xl);display:block}.streak__label{color:var(--color-text-muted);font-size:var(--text-sm)}.leaderboard{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.leaderboard th{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-align:left;text-transform:uppercase;letter-spacing:.04em}.leaderboard td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.leaderboard tbody tr:last-child td{border-bottom:0}.leaderboard tr.is-me td{background:var(--color-primary-soft)}.leaderboard tfoot td{border-top:2px solid var(--color-primary);font-weight:var(--weight-semibold);border-bottom:0}.leaderboard__rank{width:64px}.leaderboard__points{font-variant-numeric:tabular-nums;font-weight:var(--weight-bold);text-align:right;white-space:nowrap}th.leaderboard__points{text-align:right}.leaderboard__user{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.leaderboard__name{color:var(--color-text);font-size:var(--text-base);font-weight:var(--weight-semibold);text-decoration:none}a.leaderboard__name:hover{color:var(--color-primary);text-decoration:underline}.leaderboard__name.is-anon{color:var(--color-text-muted);font-style:italic;font-weight:var(--weight-regular)}.leaderboard__sub{align-items:center;gap:var(--space-2);color:var(--color-text-subtle);font-size:var(--text-xs);flex-basis:100%;display:flex}.leaderboard__region{color:var(--color-text-subtle);font-size:var(--text-xs);display:block}.leaderboard__school{display:none}.rank{font-variant-numeric:tabular-nums;font-weight:var(--weight-bold);align-items:center;gap:2px;display:inline-flex}.rank--top{padding:2px var(--space-2);border-radius:var(--radius-full)}.rank--1{background:var(--color-accent-soft);color:var(--color-warning)}.rank--2{background:var(--color-surface-3);color:var(--color-text-muted)}.rank--3{background:var(--color-primary-soft);color:var(--color-primary)}@media (width>=720px){.leaderboard__school{display:table-cell}.leaderboard__user .leaderboard__region{flex-basis:100%}}.activity{gap:var(--space-3);flex-direction:column;display:flex}.activity__summary{color:var(--color-text-muted);font-size:var(--text-sm)}.activity__scroll{padding-bottom:var(--space-1);overflow-x:auto}.activity__grid{grid-template-rows:16px repeat(7,12px);gap:3px;width:max-content;display:grid}.activity__month{color:var(--color-text-subtle);white-space:nowrap;grid-row:1;font-size:10px}.activity__cell{background:var(--heat-0);border-radius:3px;width:12px;height:12px;display:block}.activity__cell.is-out{visibility:hidden}.activity__cell[data-step="1"]{background:var(--heat-1)}.activity__cell[data-step="2"]{background:var(--heat-2)}.activity__cell[data-step="3"]{background:var(--heat-3)}.activity__cell[data-step="4"]{background:var(--heat-4)}.activity__legend{color:var(--color-text-subtle);font-size:var(--text-xs);align-self:flex-end;align-items:center;gap:3px;display:flex}.activity__legend span:first-child{margin-right:var(--space-1)}.activity__legend span:last-child{margin-left:var(--space-1)}.chart{min-width:0;margin:0}.chart__title{margin-bottom:var(--space-2);color:var(--color-text-muted);font-size:var(--text-sm);font-weight:var(--weight-semibold)}.chart .chart__bar .recharts-rectangle{fill:var(--chart-bar)}.chart .chart__grid line{stroke:var(--chart-grid)}.chart .chart__axis text{fill:var(--color-text-muted);font-size:12px}.chart .chart__value text,.chart .chart__value{fill:var(--color-text);font-size:12px;font-weight:var(--weight-semibold)}.chart .chart__cursor{fill:var(--color-surface-2)}.chart-tooltip{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);color:var(--color-text);font-size:var(--text-sm);flex-direction:column;gap:2px;display:flex}.chart-tooltip__label{color:var(--color-text-muted)}.achievements{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:0;padding:0;list-style:none;display:grid}.achievement{gap:var(--space-3);padding:var(--space-4);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-text-muted);display:flex}.achievement.is-unlocked{border-style:solid;border-color:var(--color-border);background:var(--color-surface);color:var(--color-text)}.achievement__icon{border-radius:var(--radius-full);background:var(--color-surface-2);flex:none;place-items:center;width:44px;height:44px;display:grid}.achievement.is-unlocked .achievement__icon{background:var(--color-accent-soft);color:var(--color-warning)}.achievement__body{flex-direction:column;gap:2px;display:flex}.achievement__desc,.achievement__state{font-size:var(--text-sm);color:var(--color-text-muted)}.achievement__state{font-size:var(--text-xs)}.dashboard{gap:var(--space-6);flex-direction:column;display:flex}.dashboard__greeting{gap:var(--space-1);flex-direction:column;display:flex}.dashboard__stats{gap:var(--space-4);display:grid}.dashboard__stat{padding:var(--space-5)}.dashboard__grid{gap:var(--space-6);display:grid}.dashboard__block{min-width:0}.dashboard__empty{color:var(--color-text-muted)}.dashboard__cta{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5);flex-wrap:wrap;display:flex}.daily{gap:var(--space-2);flex-direction:column;display:flex}.daily__bonus{align-items:center;gap:var(--space-1);padding:2px var(--space-3);border-radius:var(--radius-full);background:var(--color-accent-soft);color:var(--color-warning);font-size:var(--text-sm);font-weight:var(--weight-semibold);align-self:flex-start;display:inline-flex}.contest-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.contest-item{gap:var(--space-1);padding:var(--space-4);flex-direction:column;display:flex}.contest-item__title{color:var(--color-text);font-weight:var(--weight-semibold);text-decoration:none}.contest-item__title:hover{color:var(--color-primary)}.contest-item__date{align-items:center;gap:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm);display:inline-flex}@media (width>=720px){.dashboard__stats{grid-template-columns:1fr 2fr}.dashboard__grid{grid-template-columns:1fr 1fr}}.hero{background:radial-gradient(50rem 26rem at 90% -20%, #ffffff29, transparent 60%), linear-gradient(135deg, var(--color-hero-from), var(--color-hero-to));color:#fff;position:relative;overflow:hidden}.hero__inner{align-items:flex-start;gap:var(--space-5);padding-block:var(--space-12) var(--space-16);flex-direction:column;display:flex}.hero__mark{color:#fff}.hero__badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);color:#fff;font-size:var(--text-sm);font-weight:var(--weight-semibold);background:#ffffff29}.hero__title{max-width:18ch;font-size:var(--text-3xl);letter-spacing:-.01em}.hero__subtitle{color:#dbe7ff;max-width:60ch;font-size:var(--text-lg)}.hero__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.hero__secondary{color:#fff}.hero__secondary:hover{background:#ffffff14!important}.hero__stats{gap:var(--space-8);margin:var(--space-4) 0 0;flex-wrap:wrap;display:flex}.hero__stats div{flex-direction:column-reverse;display:flex}.hero__stats dt{color:#c7d8fb;font-size:var(--text-sm)}.hero__stats dd{color:#fff;font-size:var(--text-2xl);font-weight:var(--weight-bold);margin:0}.home-section{padding-block:var(--space-12) 0}.home-section:last-child{padding-bottom:var(--space-12)}.home-section__title{margin-bottom:var(--space-6);font-size:var(--text-2xl)}.subject-grid,.feature-grid{gap:var(--space-4);margin:0;padding:0;list-style:none;display:grid}.subject-card{gap:var(--space-2);padding:var(--space-6);flex-direction:column;display:flex}.subject-card__icon{width:48px;height:48px;margin-bottom:var(--space-2);border-radius:var(--radius-md);background:var(--color-surface-2);color:var(--color-text);place-items:center;display:grid}.subject-card--math .subject-card__icon{background:var(--color-primary-soft);color:var(--color-primary)}.subject-card--physics .subject-card__icon{color:#0369a1;background:#e6f4ff}.subject-card--informatics .subject-card__icon{background:var(--color-success-soft);color:var(--color-success)}.subject-card__name{font-size:var(--text-xl)}.subject-card__text,.feature__text{color:var(--color-text-muted)}.feature{gap:var(--space-4);align-items:flex-start;display:flex}.feature__icon{border-radius:var(--radius-full);background:var(--color-primary);width:44px;height:44px;color:var(--color-on-primary);flex:none;place-items:center;display:grid}.feature__title{margin-bottom:var(--space-1);font-size:var(--text-lg)}.ordo-banner{align-items:flex-start;gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-lg);border:1px dashed var(--color-border-strong);background:var(--color-surface-2);flex-direction:column;display:flex}.ordo-banner__title{margin-bottom:var(--space-1);font-size:var(--text-xl)}.ordo-banner__text{max-width:60ch;color:var(--color-text-muted)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .subject-card--physics .subject-card__icon{color:#8ab4ff;background:#8ab4ff24}}:root[data-theme=dark] .subject-card--physics .subject-card__icon{color:#8ab4ff;background:#8ab4ff24}@media (width>=720px){.subject-grid{grid-template-columns:repeat(3,1fr)}.feature-grid{gap:var(--space-8);grid-template-columns:repeat(2,1fr)}.ordo-banner{flex-direction:row;justify-content:space-between;align-items:center}.hero__inner{padding-block:var(--space-16) calc(var(--space-16) + var(--space-4))}}
