:root{--c-brand-950:#050f26;--c-brand-900:#081b3f;--c-brand-800:#0e2a63;--c-brand-700:#14357f;--c-brand-600:#1e40af;--c-brand-500:#2563eb;--c-brand-400:#3b82f6;--c-brand-300:#7da9ff;--c-brand-200:#b4ccff;--c-brand-100:#dce7ff;--c-brand-50:#f1f6ff;--c-ice-0:#fff;--c-ice-50:#f8faff;--c-ice-100:#eff3fb;--c-ice-200:#e1e9f5;--c-ice-300:#c9d6e8;--c-ice-400:#9dafc7;--c-ice-500:#6d7f98;--c-ice-600:#4a5a73;--c-ice-700:#2e3d54;--c-ice-800:#1a2537;--c-ice-900:#0c1421;--c-gold-600:#a8801f;--c-gold-500:#c9a84c;--c-gold-400:#dcc077;--c-gold-300:#ebd9a6;--c-medal-silver:#8c99ad;--c-medal-bronze:#a1662f;--c-live:#e11d48;--c-success:#0fa968;--c-warning:#e8a33d;--c-danger:#dc2626;--color-bg:var(--c-ice-50);--color-bg-subtle:var(--c-ice-100);--color-surface:var(--c-ice-0);--color-surface-2:var(--c-ice-50);--color-text:var(--c-ice-900);--color-text-muted:var(--c-ice-600);--color-text-inverse:var(--c-ice-0);--color-border:color-mix(in oklab, var(--c-ice-300) 85%, transparent);--color-accent:var(--c-brand-600);--color-accent-hover:var(--c-brand-700);--color-accent-soft:var(--c-brand-50);--color-focus:var(--c-brand-400);--color-gold:var(--c-gold-500);--color-gold-strong:var(--c-gold-600);--color-medal-gold:var(--c-gold-600);--color-medal-silver:var(--c-medal-silver);--color-medal-bronze:var(--c-medal-bronze);--color-live:var(--c-live);--color-success:var(--c-success);--color-warning:var(--c-warning);--color-danger:var(--c-danger);--glass-bg:color-mix(in oklab, var(--c-ice-0) 55%, transparent);--glass-bg-strong:color-mix(in oklab, var(--c-ice-0) 74%, transparent);--glass-border:color-mix(in oklab, var(--c-ice-0) 62%, transparent);--glass-blur:20px;--glass-saturate:140%}[data-theme]{color:var(--color-text)}[data-theme=dark]{--color-bg:var(--c-brand-950);--color-bg-subtle:var(--c-brand-900);--color-surface:color-mix(in oklab, var(--c-brand-900) 86%, var(--c-ice-0) 14%);--color-surface-2:var(--c-brand-900);--color-text:#f2f6ff;--color-text-muted:#94a6c4;--color-text-inverse:var(--c-ice-900);--color-border:color-mix(in oklab, var(--c-ice-0) 14%, transparent);--color-accent:var(--c-brand-400);--color-accent-hover:var(--c-brand-300);--color-accent-soft:color-mix(in oklab, var(--c-brand-400) 16%, transparent);--color-gold-strong:var(--c-gold-300);--color-medal-gold:var(--c-gold-300);--color-medal-silver:#b9c4d4;--color-medal-bronze:#d19a63;--glass-bg:color-mix(in oklab, var(--c-brand-950) 62%, transparent);--glass-bg-strong:color-mix(in oklab, var(--c-brand-950) 78%, transparent);--glass-border:color-mix(in oklab, var(--c-ice-0) 14%, transparent)}[data-theme=light]{--color-bg:var(--c-ice-50);--color-bg-subtle:var(--c-ice-100);--color-surface:var(--c-ice-0);--color-surface-2:var(--c-ice-50);--color-text:var(--c-ice-900);--color-text-muted:var(--c-ice-600);--color-text-inverse:var(--c-ice-0);--color-border:color-mix(in oklab, var(--c-ice-300) 85%, transparent);--color-accent:var(--c-brand-600);--color-accent-hover:var(--c-brand-700);--color-accent-soft:var(--c-brand-50);--color-gold-strong:var(--c-gold-600);--color-medal-gold:var(--c-gold-600);--color-medal-silver:var(--c-medal-silver);--color-medal-bronze:var(--c-medal-bronze);--glass-bg:color-mix(in oklab, var(--c-ice-0) 55%, transparent);--glass-bg-strong:color-mix(in oklab, var(--c-ice-0) 74%, transparent);--glass-border:color-mix(in oklab, var(--c-ice-0) 62%, transparent)}
:root{--fs-display-1:clamp(2.75rem, 1.2rem + 6.4vw, 6.5rem);--fs-display-2:clamp(2.25rem, 1.3rem + 4.2vw, 4rem);--fs-h1:clamp(2rem, 1.35rem + 2.6vw, 3rem);--fs-h2:clamp(1.6rem, 1.25rem + 1.6vw, 2.25rem);--fs-h3:clamp(1.25rem, 1.1rem + .8vw, 1.5rem);--fs-lead:clamp(1.06rem, 1rem + .4vw, 1.25rem);--fs-body:1rem;--fs-sm:.875rem;--fs-xs:.75rem;--lh-tight:1.1;--lh-normal:1.6;--tracking-display-1:-.035em;--tracking-display-2:-.03em;--tracking-tight:-.02em;--tracking-label:.08em;--lh-display-1:.96;--lh-display-2:1.02}
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--container:1280px;--container-narrow:840px;--gutter:clamp(16px, 4vw, 48px);--section-y:clamp(56px, 7vw, 128px);--section-y-flow:clamp(36px, 4vw, 72px);--tap-min:44px;--header-h:88px;--header-h-compact:64px}
:root{--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-full:999px}
:root{--shadow-1:0 1px 2px #0c14210f, 0 2px 8px #0c14210d;--shadow-2:0 2px 6px #0c142112, 0 12px 28px #0c142117;--shadow-3:0 8px 20px #0c14211a, 0 32px 64px #0c142124;--glow-accent:0 8px 32px color-mix(in oklab, var(--c-brand-500) 30%, transparent);--glow-gold:0 8px 32px color-mix(in oklab, var(--c-gold-500) 30%, transparent);--ring-focus:0 0 0 3px color-mix(in oklab, var(--color-focus) 40%, transparent)}[data-nav=pointer]{--ring-focus:none}
:root{--surface-1:var(--c-ice-0);--surface-2:color-mix(in oklab, var(--c-ice-0) 92%, var(--c-brand-50));--surface-3:var(--c-ice-50);--edge-highlight:inset 0 1px 0 color-mix(in oklab, var(--c-ice-0) 85%, transparent);--edge-line-color:color-mix(in oklab, var(--c-ice-300) 85%, transparent);--edge-line:1px solid var(--edge-line-color);--edge-highlight-accent:inset 0 1px 0 color-mix(in oklab, var(--color-accent) 55%, transparent)}[data-theme=dark]{--surface-1:color-mix(in oklab, var(--c-brand-900) 86%, var(--c-ice-0) 14%);--surface-2:var(--c-brand-900);--surface-3:color-mix(in oklab, var(--c-brand-950) 60%, var(--c-brand-900));--edge-highlight:inset 0 1px 0 color-mix(in oklab, var(--c-ice-0) 12%, transparent);--edge-line-color:color-mix(in oklab, var(--c-ice-0) 16%, transparent);--edge-highlight-accent:inset 0 1px 0 color-mix(in oklab, var(--c-brand-300) 45%, transparent)}
:root{--dur-instant:.12s;--dur-fast:.2s;--dur-base:.32s;--dur-slow:.52s;--dur-cine:.82s;--ease-standard:cubic-bezier(.2, .6, .2, 1);--ease-enter:cubic-bezier(0, .7, .2, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--stagger:60ms}
:root{--z-base:0;--z-sticky:100;--z-header:200;--z-dropdown:300;--z-overlay:400;--z-modal:500;--z-toast:600}

*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-text), system-ui, -apple-system, "Segoe UI", sans-serif;font-size:var(--fs-body);line-height:var(--lh-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow-x:hidden}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}a{color:inherit;text-decoration:none}ul[class],ol[class]{padding:0;list-style:none}:focus{outline:none}:focus-visible{box-shadow:var(--ring-focus);border-radius:var(--r-xs)}::selection{background:color-mix(in oklab, var(--color-accent) 24%, transparent)}@media print{body>header,body>footer,[data-print-hide]{display:none!important}body{color:#000;background:#fff}a[href^=http]:after{color:#444;content:" (" attr(href) ")";font-size:.85em}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display), var(--font-text), sans-serif;font-weight:600;line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);text-wrap:balance;overflow-wrap:break-word}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3);font-weight:600}p{text-wrap:pretty}.display-1{font-family:var(--font-display), sans-serif;font-size:var(--fs-display-1);font-weight:800;line-height:var(--lh-display-1);letter-spacing:var(--tracking-display-1)}.display-2{font-family:var(--font-display), sans-serif;font-size:var(--fs-display-2);font-weight:700;line-height:var(--lh-display-2);letter-spacing:var(--tracking-display-2)}.lead{font-size:var(--fs-lead);line-height:var(--lh-normal);color:var(--color-text-muted)}.label{font-size:var(--fs-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-muted);font-weight:600}.numeric{font-family:var(--font-display), sans-serif;font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-display-2)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.card-grid{grid-template-columns:repeat(var(--cols,4), minmax(0, 1fr));gap:var(--space-4);align-items:stretch;display:grid}.card-grid--fixed{grid-template-columns:repeat(var(--cols,4), minmax(0, calc((100% - 3 * var(--space-4)) / 4)));justify-content:start}@media (max-width:1023px){.card-grid{grid-template-columns:repeat(var(--cols-md,min(var(--cols,4), 2)), minmax(0, 1fr))}.card-grid--fixed{grid-template-columns:repeat(var(--cols-md,min(var(--cols,4), 3)), minmax(0, calc((100% - 2 * var(--space-4)) / 3)))}}@media (max-width:480px){.card-grid{grid-template-columns:minmax(0,1fr)}}
[data-from=light]{--from:var(--c-ice-50);--from-tint:var(--c-brand-500)}[data-from=light-2]{--from:var(--c-ice-100);--from-tint:var(--c-brand-500)}[data-from=dark]{--from:var(--c-brand-950);--from-tint:var(--c-brand-300)}[data-from=dark-2]{--from:var(--c-brand-900);--from-tint:var(--c-brand-300)}[data-to=light]{--to:var(--c-ice-50);--to-tint:var(--c-brand-500)}[data-to=light-2]{--to:var(--c-ice-100);--to-tint:var(--c-brand-500)}[data-to=dark]{--to:var(--c-brand-950);--to-tint:var(--c-brand-300)}[data-to=dark-2]{--to:var(--c-brand-900);--to-tint:var(--c-brand-300)}

[data-daypart=morning]{--aurora-opacity:.3;--hero-tint:color-mix(in oklab, var(--c-gold-400) 8%, transparent)}[data-daypart=day]{--aurora-opacity:.35;--hero-tint:transparent}[data-daypart=evening]{--aurora-opacity:.45;--hero-tint:color-mix(in oklab, var(--c-gold-500) 10%, transparent)}[data-daypart=night]{--aurora-opacity:.55;--hero-tint:color-mix(in oklab, var(--c-brand-900) 22%, transparent)}
[data-mood=mourning]{--color-accent:var(--c-ice-600);--color-accent-hover:var(--c-ice-700);--color-accent-soft:var(--c-ice-100);--glow-accent:none;--glow-gold:none;--aurora-opacity:0}[data-mood=mourning] body{filter:grayscale()}[data-mood=mourning] *,[data-mood=mourning] :before,[data-mood=mourning] :after{transition:none!important;animation:none!important}
[data-mood=live-event]{--color-accent:var(--c-live);--color-accent-hover:#be123c;--color-accent-soft:color-mix(in oklab, var(--c-live) 10%, transparent);--glow-accent:0 8px 32px color-mix(in oklab, var(--c-live) 30%, transparent)}
[data-mood=victory]{--color-accent:var(--c-gold-600);--color-accent-hover:#8f6b18;--color-accent-soft:color-mix(in oklab, var(--c-gold-500) 16%, transparent);--glow-accent:var(--glow-gold);--hero-tint:color-mix(in oklab, var(--c-gold-500) 16%, transparent)}[data-mood=victory] [data-theme=dark]{--color-accent:var(--c-gold-400);--color-accent-hover:var(--c-gold-300);--color-accent-soft:color-mix(in oklab, var(--c-gold-400) 18%, transparent)}
[data-mood=figure-skating-day-ru]{--color-accent:var(--c-brand-500);--color-accent-soft:color-mix(in oklab, var(--c-gold-500) 14%, transparent);--glow-accent:var(--glow-gold);--hero-tint:color-mix(in oklab, var(--c-gold-400) 14%, transparent)}
[data-mood=new-year]{--color-accent:var(--c-gold-600);--color-accent-hover:#8f6b18;--color-accent-soft:color-mix(in oklab, var(--c-gold-500) 14%, transparent);--color-bg-subtle:var(--c-brand-50);--hero-tint:color-mix(in oklab, var(--c-brand-300) 12%, transparent);--glow-accent:0 8px 32px color-mix(in oklab, var(--c-gold-500) 30%, transparent)}[data-mood=new-year] [data-theme=dark]{--color-accent:var(--c-gold-400);--color-accent-hover:var(--c-gold-300);--color-accent-soft:color-mix(in oklab, var(--c-gold-400) 18%, transparent)}
[data-mood=state-holiday]{--color-accent:var(--c-brand-600);--hero-tint:color-mix(in oklab, var(--c-brand-500) 10%, transparent)}
[data-mood=world-ice-skating-day]{--color-accent:var(--c-brand-500);--hero-tint:color-mix(in oklab, var(--c-ice-200) 14%, transparent)}
[data-mood=season-start]{--hero-tint:color-mix(in oklab, var(--c-brand-400) 10%, transparent)}
[data-mood=frost]{--color-accent:var(--c-brand-500);--hero-tint:color-mix(in oklab, var(--c-ice-100) 16%, transparent)}


