body{display:flex;flex-direction:column;max-width:100%;width:100%}code{font-family:var(--font-family-mono)}.scroll-container{width:100%}@media only screen and (max-device-width:812px) and (-webkit-min-device-pixel-ratio:2){body,html{overflow-x:hidden}.scroll-container,body,html{-webkit-overflow-scrolling:touch;height:100%}.scroll-container{overflow-y:auto}}:root{--color-bg-primary:#fbfbfe;--color-bg-secondary:#f4f3fb;--color-bg-elevated:#fff;--color-bg-accent:#efeefb;--color-text-primary:#1c1830;--color-text-secondary:#56526b;--color-text-tertiary:#6f6b85;--color-border-primary:#e7e5f4;--color-border-secondary:#f0eff9;--color-border-strong:#d8d5ec;--color-accent-primary:#4f46e5;--color-brand:#4f46e5;--color-brand-strong:#4338ca;--color-brand-soft:#eef0fe;--color-brand-softer:#f5f6ff;--color-accent-secondary:#7c3aed;--color-accent-amber:#f59e0b;--color-amber-strong:#b45309;--color-amber-soft:#fef3e2;--color-accent-success:#0ea371;--color-accent-warning:#f59e0b;--color-accent-error:#e2483d;--color-error-soft:#fdecec;--color-error-border:#f5c2c2;--color-error-strong:#b93221;--color-gold:#f0c14b;--gradient-primary:linear-gradient(135deg,#4f46e5,#7c3aed);--gradient-brand:linear-gradient(135deg,#4f46e5,#6d28d9);--gradient-amber:linear-gradient(135deg,#f59e0b,#f97316);--gradient-secondary:linear-gradient(135deg,#7c3aed,#ec4899);--gradient-accent:linear-gradient(135deg,#4f46e5,#06b6d4);--font-family-primary:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-family-display:"Space Grotesk","Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--font-family-mono:"JetBrains Mono","Fira Code","SF Mono",Consolas,monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-size-6xl:3.75rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.2;--line-height-normal:1.55;--line-height-relaxed:1.7;--tracking-tight:-0.02em;--tracking-tighter:-0.03em;--spacing-0:0;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-32:8rem;--border-radius-sm:0.375rem;--border-radius-md:0.5rem;--border-radius-lg:0.75rem;--border-radius-xl:1rem;--border-radius-2xl:1.25rem;--border-radius-3xl:1.75rem;--border-radius-full:9999px;--shadow-xs:0 1px 2px #1c18300d;--shadow-sm:0 1px 3px #1c18300f,0 1px 2px #1c18300a;--shadow-md:0 4px 12px -2px #1c183014,0 2px 6px -2px #1c18300d;--shadow-lg:0 12px 28px -8px #1c18301f,0 6px 12px -6px #1c18300f;--shadow-xl:0 24px 48px -12px #1c183029,0 8px 16px -8px #1c18300f;--shadow-2xl:0 32px 64px -16px #1c183038;--shadow-brand:0 10px 24px -8px #4f46e580;--shadow-brand-sm:0 4px 12px -4px #4f46e573;--shadow-amber:0 10px 24px -8px #f59e0b80;--ring-brand:0 0 0 4px #4f46e52e;--transition-fast:140ms cubic-bezier(0.4,0,0.2,1);--transition-normal:220ms cubic-bezier(0.4,0,0.2,1);--transition-slow:360ms cubic-bezier(0.4,0,0.2,1);--max-width-sm:640px;--max-width-md:768px;--max-width-lg:1024px;--max-width-xl:1280px;--max-width-2xl:1536px;--max-width-container:1180px;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}@media (prefers-color-scheme:dark){:root{color-scheme:light}}*,:after,:before{box-sizing:border-box}*{margin:0;padding:0}html{-moz-text-size-adjust:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}blockquote,body,dd,dl,figure,h1,h2,h3,h4,p{margin-block-end:0}ol[role=list],ul[role=list]{list-style:none}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--font-size-base)}.modern-app,body{background-color:var(--color-bg-primary);color:var(--color-text-primary);font-family:var(--font-family-primary);line-height:var(--line-height-normal);min-height:100vh;min-height:100dvh}.modern-app{display:flex;flex-direction:column}.modern-main{flex:1 1}.modern-app ::-webkit-scrollbar{width:8px}.modern-app ::-webkit-scrollbar-track{background:var(--color-bg-secondary)}.modern-app ::-webkit-scrollbar-thumb{background:var(--color-border-primary);border-radius:var(--border-radius-full)}.modern-app ::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}button,h1,h2,h3,h4,input,label{line-height:var(--line-height-tight)}h1,h2,h3,h4{font-family:var(--font-family-display);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight)}h1{letter-spacing:var(--tracking-tighter)}h1,h2,h3,h4{text-wrap:balance}::selection{background:#4f46e52e;color:var(--color-text-primary)}a:not([class]){-webkit-text-decoration-skip:ink;color:currentColor;text-decoration-skip-ink:auto}img,picture{display:block;max-width:100%}button,input,select,textarea{font:inherit}textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}@media (prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}.container{margin:0 auto;max-width:var(--max-width-container);padding:0 var(--spacing-4);width:100%}@media (min-width:768px){.container{padding:0 var(--spacing-6)}}@media (min-width:1024px){.container{padding:0 var(--spacing-8)}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;padding:0;position:absolute;white-space:nowrap;width:1px}.no-scroll,.sr-only{overflow:hidden}.text-gradient{background:var(--gradient-primary)}.glass-effect{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3}.math-inline{font-family:Latin Modern Math,Cambria Math,STIX Two Math,Georgia,serif;font-size:1.06em;font-style:italic;letter-spacing:.01em;white-space:nowrap}.mathjax-content p+p{margin-top:var(--spacing-4)}.mathjax-content p:empty{display:none}.page-hero{background:radial-gradient(60% 120% at 15% 0,#7c3aed8c,#0000 60%),radial-gradient(55% 120% at 90% 100%,#f59e0b47,#0000 55%),var(--gradient-brand);color:#fff;margin-bottom:var(--spacing-10);overflow:hidden;padding:calc(64px + var(--spacing-12)) var(--spacing-5) var(--spacing-12);position:relative}@media (max-width:640px){.page-hero{padding-top:calc(48px + var(--spacing-10))}}.page-hero__bg{color:#fff;height:100%;inset:0;opacity:.15;pointer-events:none;position:absolute;width:100%}.page-hero__inner{align-items:flex-start;display:flex;flex-direction:column;margin:0 auto;max-width:var(--max-width-container);position:relative;width:100%;z-index:1}.page-hero__inner>.page-hero__back{margin-bottom:var(--spacing-5)}.page-hero__inner--narrow{max-width:820px}.page-hero__back{align-items:center;color:#ffffffe6;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);margin-bottom:var(--spacing-5);text-decoration:none;transition:gap var(--transition-fast),color var(--transition-fast)}.page-hero__back:hover{color:#fff;gap:var(--spacing-3)}.page-hero__eyebrow{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff26;border-radius:var(--border-radius-full);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);letter-spacing:.1em;margin-bottom:var(--spacing-4);padding:var(--spacing-2) var(--spacing-4);text-transform:uppercase}.page-hero__title{font-size:clamp(2.1rem,5.5vw,3.25rem);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tighter);line-height:1.05;margin-bottom:var(--spacing-3)}.page-hero__subtitle{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);max-width:640px;opacity:.92}.page-hero__title .text-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(110deg,#fff,#fde68a);-webkit-background-clip:text;background-clip:text}.page-body{margin:0 auto;max-width:var(--max-width-container);padding:0 var(--spacing-5);width:100%}.ann-type--new,.ann-type--pinned{background:var(--color-brand-soft);color:var(--color-brand)}a.ann-back,a.back-btn,a.back-link,a.page-hero__back,a[class*=__back-button],a[class*=nav-back]{align-items:center;background:#0000;border:none;border-radius:0;box-shadow:none;color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:0;text-decoration:none;transition:color var(--transition-fast),transform var(--transition-fast)}a.ann-back svg,a.back-btn svg,a.back-link svg,a.page-hero__back svg,a[class*=__back-button] svg,a[class*=nav-back] svg{font-size:var(--font-size-xs)}a.ann-back:hover,a.back-btn:hover,a.back-link:hover,a.page-hero__back:hover,a[class*=__back-button]:hover,a[class*=nav-back]:hover{background:#0000;box-shadow:none;color:var(--color-brand);gap:var(--spacing-2);transform:translateX(-3px)}.profile-header a.back-link,a.page-hero__back{color:#ffffffd9;font-weight:var(--font-weight-medium)}.profile-header a.back-link:hover,a.page-hero__back:hover{color:#fff;transform:translateX(-3px)}.profile-header a.back-link svg,a.page-hero__back svg{opacity:.85}@media (prefers-color-scheme:dark){.glass-effect{background:#0000004d;border:1px solid #ffffff1a}}.btn,.modern-button{align-items:center;border:1px solid #0000;border-radius:var(--border-radius-full);cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);justify-content:center;line-height:1.2;padding:var(--spacing-3) var(--spacing-6);text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.btn:active,.modern-button:active{transform:translateY(0) scale(.98)}.btn--primary,.modern-button--primary{background:var(--color-brand);box-shadow:var(--shadow-brand-sm);color:#fff}.btn--primary:hover,.modern-button--primary:hover{background:var(--color-brand-strong);box-shadow:var(--shadow-brand);transform:translateY(-2px)}.btn--ghost,.modern-button--secondary{background:var(--color-bg-elevated);border-color:var(--color-border-strong);box-shadow:var(--shadow-xs);color:var(--color-text-primary)}.btn--ghost:hover,.modern-button--secondary:hover{border-color:var(--color-brand);box-shadow:var(--shadow-sm);color:var(--color-brand);transform:translateY(-2px)}.btn--on-dark{background:#fff;box-shadow:var(--shadow-lg);color:var(--color-brand)}.btn--on-dark:hover{box-shadow:var(--shadow-xl);color:var(--color-brand-strong);transform:translateY(-2px)}.btn--lg,.modern-button--large{font-size:var(--font-size-lg);padding:var(--spacing-4) var(--spacing-8)}.section-head{margin:0 auto var(--spacing-12);max-width:640px;text-align:center}.section-head--left{align-items:flex-end;display:flex;gap:var(--spacing-4);justify-content:space-between;max-width:none;text-align:left}.section-eyebrow{color:var(--color-brand);display:inline-block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.12em;margin-bottom:var(--spacing-3);text-transform:uppercase}.section-title{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tighter)}@media (min-width:768px){.section-title{font-size:var(--font-size-4xl)}}.section-title--sm{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight)}@media (min-width:768px){.section-title--sm{font-size:var(--font-size-3xl)}}.section-sub{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin-top:var(--spacing-3)}.view-all-link{border-radius:var(--border-radius-full);padding:var(--spacing-2) var(--spacing-3);transition:background var(--transition-fast),gap var(--transition-fast);white-space:nowrap}.view-all-link:hover{background:var(--color-brand-soft)}.achievements-page{background:var(--color-bg-primary);padding:0 0 var(--spacing-20)}.achievements-progress--hero{margin-top:var(--spacing-2);max-width:420px}.achievements-page .achievements-progress--hero .progress-bar{background:#ffffff40}.achievements-progress--hero .progress-text{color:#fff}.achievements-container{margin:0 auto;max-width:var(--max-width-container);padding:0 var(--spacing-5);width:100%}.achievements-loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--spacing-3);justify-content:center;min-height:50vh}.achievements-loading svg{color:var(--color-brand)}.achievements-header{margin-bottom:var(--spacing-6)}.achievements-header h1,.back-link{margin-bottom:var(--spacing-4)}.achievements-header h1{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);gap:var(--spacing-3);letter-spacing:var(--tracking-tighter)}.achievements-header h1 svg{color:var(--color-accent-amber);font-size:.8em}.achievements-page .achievements-progress{align-items:center;display:flex;gap:var(--spacing-3)}.achievements-page .achievements-progress .progress-bar{background:var(--color-bg-accent);border-radius:var(--border-radius-full);flex:1 1;height:12px;max-width:360px;overflow:hidden}.achievements-page .achievements-progress .progress-fill{background:var(--gradient-amber);border-radius:var(--border-radius-full);height:100%;transition:width var(--transition-slow)}.progress-text{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.filter-tabs{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-bottom:var(--spacing-8)}.filter-tab{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-full);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);transition:all var(--transition-fast)}.filter-tab:hover{border-color:var(--color-brand);color:var(--color-brand)}.filter-tab.active{background:var(--color-brand);border-color:var(--color-brand);box-shadow:var(--shadow-brand-sm);color:#fff}.filter-tab .count{background:#ffffff40;border-radius:var(--border-radius-full);font-size:var(--font-size-xs);padding:1px 7px}.filter-tab:not(.active) .count{background:var(--color-brand-soft);color:var(--color-brand)}.ach-summary{grid-gap:var(--spacing-6);background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-xs);display:grid;gap:var(--spacing-6);grid-template-columns:1fr;margin-bottom:var(--spacing-8);padding:var(--spacing-6)}@media (min-width:768px){.ach-summary{align-items:center;grid-template-columns:220px 1fr}}.ach-summary__overall{align-items:center;display:flex;gap:var(--spacing-4)}.ach-summary__ring{align-items:center;background:conic-gradient(var(--color-brand) calc(var(--pct)*1%),var(--color-bg-accent) 0);border-radius:var(--border-radius-full);color:var(--color-brand);display:flex;flex-shrink:0;font-weight:var(--font-weight-extrabold);height:84px;justify-content:center;position:relative;width:84px}.ach-summary__ring:before{background:var(--color-bg-elevated);border-radius:var(--border-radius-full);content:"";inset:8px;position:absolute}.ach-summary__ring span{font-size:var(--font-size-lg);position:relative;z-index:1}.ach-summary__overall-text{display:flex;flex-direction:column}.ach-summary__overall-text strong{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold)}.ach-summary__overall-text span{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.ach-summary__cats{grid-gap:var(--spacing-4) var(--spacing-6);display:grid;gap:var(--spacing-4) var(--spacing-6);grid-template-columns:1fr 1fr}@media (max-width:560px){.ach-summary__cats{grid-template-columns:1fr}}.ach-summary__cat-top{color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);justify-content:space-between;margin-bottom:var(--spacing-2)}.ach-summary__bar{background:var(--color-bg-accent);height:8px;overflow:hidden}.ach-summary__bar,.ach-summary__fill{border-radius:var(--border-radius-full)}.ach-summary__fill{background:var(--gradient-brand);height:100%;transition:width var(--transition-slow)}.achievements-grouped{display:flex;flex-direction:column;gap:var(--spacing-8)}.category-header{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-left:none;border-radius:var(--border-radius-xl);justify-content:space-between;margin-bottom:var(--spacing-5);padding:var(--spacing-3) var(--spacing-4)}.category-header,.category-title{align-items:center;display:flex;gap:var(--spacing-3)}.category-icon{align-items:center;border-radius:var(--border-radius-lg);display:flex;font-size:var(--font-size-base);height:40px;justify-content:center;width:40px}.category-title h2{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight)}.category-progress{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.achievements-grid{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.achievement-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);display:flex;gap:var(--spacing-4);padding:var(--spacing-6);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.achievement-card.earned{border-left:none}.achievement-card.earned:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.achievement-card.locked{opacity:.65}.achievement-card-icon{align-items:center;background:var(--color-bg-accent);background:var(--cat-bg,var(--color-bg-accent));border-radius:var(--border-radius-xl);color:var(--color-text-tertiary);color:var(--cat-text,var(--color-text-tertiary));display:flex;flex-shrink:0;font-size:var(--font-size-xl);height:52px;justify-content:center;position:relative;width:52px}.achievement-card.locked .achievement-card-icon{background:var(--color-bg-accent);color:var(--color-text-tertiary);filter:grayscale(.7)}.achievement-earned-check{align-items:center;background:var(--color-accent-success);border:2px solid var(--color-bg-elevated);border-radius:var(--border-radius-full);bottom:-4px;color:#fff;display:flex;font-size:10px;height:22px;justify-content:center;position:absolute;right:-4px;width:22px}.achievement-card-body{flex:1 1;min-width:0}.achievement-card-name{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-1)}.achievement-card-desc{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin-bottom:var(--spacing-3)}.achievement-card-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.achievement-card-points{align-items:center;color:var(--color-amber-strong);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);gap:var(--spacing-1)}.achievement-card-date,.achievement-card-status{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.achievement-card-status{align-items:center;display:inline-flex;gap:var(--spacing-1)}.achievements-page .no-achievements{background:var(--color-bg-elevated);border:1px dashed var(--color-border-strong);border-radius:var(--border-radius-2xl);color:var(--color-text-tertiary);padding:var(--spacing-16) var(--spacing-4);text-align:center}.achievements-page .no-achievements svg{color:var(--color-border-strong);font-size:var(--font-size-4xl);margin-bottom:var(--spacing-3)}@media (max-width:640px){.achievements-header h1{font-size:var(--font-size-3xl)}}.admin-detail-page{background:radial-gradient(50% 30% at 50% 0,var(--color-brand-softer),#0000 70%),var(--color-bg-primary);padding:calc(64px + var(--spacing-10)) 0 var(--spacing-20)}.admin-detail-page .admin-container{margin:0 auto;max-width:920px;padding:0 var(--spacing-5);width:100%}.admin-detail-page .admin-loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--spacing-4);justify-content:center;min-height:50vh}.admin-detail-page .admin-loading svg{color:var(--color-brand)}.back-link{margin-bottom:var(--spacing-6)}.detail-header{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-8);padding:var(--spacing-8);position:relative}.header-content{display:flex;flex-direction:column;gap:var(--spacing-3)}.category-badge,.copy-link-btn{align-self:flex-start}.copy-link-btn{align-items:center;background:var(--color-brand-soft);border:1px solid #0000;border-radius:var(--border-radius-full);color:var(--color-brand);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);transition:background var(--transition-fast),border-color var(--transition-fast)}.copy-link-btn:hover{background:var(--color-bg-elevated);border-color:var(--color-brand)}.editable-section{position:relative}.editable-title{align-items:center;border-radius:var(--border-radius-lg);cursor:pointer;display:inline-flex;gap:var(--spacing-3);transition:color var(--transition-fast)}.editable-title h1{color:var(--color-text-primary);font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tighter)}.admin-detail-page .editable-section .description{border-radius:var(--border-radius-md);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);transition:color var(--transition-fast)}.admin-detail-page .editable-section .description:hover,.admin-detail-page .editable-title:hover h1{color:var(--color-brand)}.edit-icon{color:var(--color-text-tertiary);font-size:var(--font-size-sm);opacity:0;transition:opacity var(--transition-fast)}.editable-section:hover .edit-icon,.editable-title:hover .edit-icon{opacity:1}.title-edit-row{display:flex;flex-direction:column;gap:var(--spacing-3)}.edit-textarea,.title-input{background:var(--color-bg-secondary);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-lg);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-3) var(--spacing-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.title-input{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.edit-textarea{line-height:var(--line-height-relaxed);min-height:120px;resize:vertical}.edit-textarea:focus,.title-input:focus{background:var(--color-bg-elevated);border-color:var(--color-brand);box-shadow:var(--ring-brand);outline:none}.edit-actions{display:flex;gap:var(--spacing-3)}.admin-detail-page .cancel-btn,.admin-detail-page .cancel-edit-btn,.admin-detail-page .edit-btn,.admin-detail-page .save-btn,.admin-detail-page .submit-btn{align-items:center;border:1px solid #0000;border-radius:var(--border-radius-full);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-5);transition:all var(--transition-fast)}.admin-detail-page .save-btn,.admin-detail-page .submit-btn{background:var(--color-brand);box-shadow:var(--shadow-brand-sm);color:#fff}.admin-detail-page .save-btn:hover,.admin-detail-page .submit-btn:hover{background:var(--color-brand-strong);transform:translateY(-1px)}.admin-detail-page .submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.admin-detail-page .cancel-btn,.admin-detail-page .cancel-edit-btn{background:var(--color-bg-elevated);border-color:var(--color-border-strong);color:var(--color-text-secondary)}.admin-detail-page .cancel-btn:hover,.admin-detail-page .cancel-edit-btn:hover{border-color:var(--color-text-tertiary);color:var(--color-text-primary)}.edit-btn{background:var(--color-bg-secondary);border-color:var(--color-border-strong);color:var(--color-brand)}.edit-btn:hover{background:var(--color-brand-soft);border-color:var(--color-brand)}.admin-detail-page .header-stats{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-3);margin-top:var(--spacing-2)}.admin-detail-page .header-stats .stat{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4)}.admin-detail-page .header-stats .stat svg{color:var(--color-brand)}.admin-detail-page .section-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-4);justify-content:space-between;margin-bottom:var(--spacing-5)}.section-label{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight)}.add-item-section{display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.add-btn{align-items:center;border:1px solid #0000;border-radius:var(--border-radius-full);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);transition:all var(--transition-fast)}.add-btn.problem-btn{background:var(--color-brand);box-shadow:var(--shadow-brand-sm);color:#fff}.add-btn.problem-btn:hover{background:var(--color-brand-strong);box-shadow:var(--shadow-brand);transform:translateY(-2px)}.add-btn.lesson-btn{background:#7c3aed1a;color:var(--color-accent-secondary)}.add-btn.lesson-btn:hover{background:var(--color-accent-secondary);color:#fff;transform:translateY(-2px)}.add-form-card{animation:card-float-in .25s ease-out;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-6);padding:var(--spacing-6)}.form-row{display:flex;flex-wrap:wrap;gap:var(--spacing-4)}.admin-detail-page .form-row .form-group{flex:1 1;min-width:180px}.admin-detail-page .form-group{margin-bottom:var(--spacing-4)}.admin-detail-page .form-group label{color:var(--color-text-secondary);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2)}.admin-detail-page .difficulty-select,.admin-detail-page .form-group input,.admin-detail-page .form-group select,.admin-detail-page .form-group textarea{background:var(--color-bg-secondary);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-lg);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-3) var(--spacing-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.admin-detail-page .form-group textarea{line-height:var(--line-height-relaxed);min-height:140px;resize:vertical}.admin-detail-page .difficulty-select:focus,.admin-detail-page .form-group input:focus,.admin-detail-page .form-group select:focus,.admin-detail-page .form-group textarea:focus{background:var(--color-bg-elevated);border-color:var(--color-brand);box-shadow:var(--ring-brand);outline:none}.admin-detail-page .form-actions{display:flex;gap:var(--spacing-3);justify-content:flex-end;margin-top:var(--spacing-5)}.admin-detail-page .items-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.admin-detail-page .empty-state{background:var(--color-bg-elevated);border:1px dashed var(--color-border-strong);border-radius:var(--border-radius-2xl);color:var(--color-text-tertiary);padding:var(--spacing-16) var(--spacing-4);text-align:center}.admin-detail-page .empty-state p{color:var(--color-text-secondary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.admin-detail-page .item-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);overflow:hidden;transition:box-shadow var(--transition-fast)}.admin-detail-page .item-card:hover{box-shadow:var(--shadow-md)}.admin-detail-page .item-card.lesson,.admin-detail-page .item-card.problem{border-left:none}.admin-detail-page .item-header{align-items:center;display:flex;gap:var(--spacing-3);justify-content:space-between;padding:var(--spacing-4) var(--spacing-5)}.admin-detail-page .item-info{align-items:center;cursor:pointer;display:flex;flex:1 1;flex-wrap:wrap;gap:var(--spacing-3);min-width:0}.drag-handle{color:var(--color-text-tertiary);cursor:grab;padding:var(--spacing-1)}.drag-handle:active{cursor:grabbing}.admin-detail-page .item-number{background:var(--color-brand-soft);color:var(--color-brand);display:flex;flex-shrink:0;font-size:var(--font-size-sm);height:30px;justify-content:center;width:30px}.admin-detail-page .item-number,.admin-detail-page .item-type-badge{align-items:center;border-radius:var(--border-radius-full);font-weight:var(--font-weight-bold)}.admin-detail-page .item-type-badge{display:inline-flex;font-size:var(--font-size-xs);gap:var(--spacing-2);letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.admin-detail-page .item-type-badge.problem{background:var(--color-brand-soft);color:var(--color-brand)}.admin-detail-page .item-type-badge.lesson{background:#7c3aed1a;color:var(--color-accent-secondary)}.admin-detail-page .lesson-title{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.admin-detail-page .expand-icon{color:var(--color-text-tertiary);cursor:pointer;font-size:var(--font-size-sm)}.item-actions{flex-shrink:0;gap:var(--spacing-1)}.action-btn,.item-actions{align-items:center;display:flex}.action-btn{background:#0000;border:none;border-radius:var(--border-radius-lg);color:var(--color-text-tertiary);cursor:pointer;height:34px;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast);width:34px}.action-btn:hover{background:var(--color-brand-soft);color:var(--color-brand)}.action-btn.delete:hover{background:#e2483d1a;color:var(--color-accent-error)}.admin-detail-page .item-content{border-top:1px solid var(--color-border-secondary);padding:var(--spacing-4) var(--spacing-5) var(--spacing-5)}.admin-detail-page .lesson-content,.admin-detail-page .problem-text{color:var(--color-text-primary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);overflow-x:auto}.admin-detail-page .image-section,.admin-detail-page .lesson-image,.admin-detail-page .problem-image{margin-top:var(--spacing-4)}.admin-detail-page .lesson-image img,.admin-detail-page .problem-image img{border:1px solid var(--color-border-primary);border-radius:var(--border-radius-lg);max-width:100%}.edit-mode{display:flex;flex-direction:column;gap:var(--spacing-3)}.admin-detail-page .solution-section{margin-top:var(--spacing-5)}.admin-detail-page .solution-toggle{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-full);color:var(--color-brand);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);transition:background var(--transition-fast),border-color var(--transition-fast)}.admin-detail-page .solution-toggle:hover{background:var(--color-brand-soft);border-color:var(--color-brand)}.admin-detail-page .solution-content{border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);color:var(--color-text-primary);line-height:var(--line-height-relaxed);overflow-x:auto;padding:var(--spacing-5)}.admin-detail-page .solution-content,.no-solution{background:var(--color-bg-secondary);margin-top:var(--spacing-4)}.no-solution{border:1px dashed var(--color-border-strong);border-radius:var(--border-radius-lg);color:var(--color-text-tertiary);font-size:var(--font-size-sm);padding:var(--spacing-4);text-align:center}.add-image-btn,.delete-image-btn{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-full);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);transition:all var(--transition-fast)}.add-image-btn:hover{background:var(--color-brand-soft);border-color:var(--color-brand);color:var(--color-brand)}.delete-image-btn{border-color:#0000;color:var(--color-accent-error)}.delete-image-btn:hover{background:#e2483d1a}.admin-detail-page .pdf-link{align-items:center;background:var(--color-brand);border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);margin-top:var(--spacing-4);padding:var(--spacing-3) var(--spacing-5);text-decoration:none;transition:background var(--transition-fast),transform var(--transition-fast)}.admin-detail-page .pdf-link:hover{background:var(--color-brand-strong);transform:translateY(-2px)}@media (max-width:640px){.detail-header{padding:var(--spacing-6)}.editable-title h1{font-size:var(--font-size-2xl)}.admin-detail-page .section-header{align-items:flex-start;flex-direction:column}.add-item-section{width:100%}.add-btn{flex:1 1;justify-content:center}}.admin-problem-sets-page{background:var(--color-bg-primary);padding:0 0 var(--spacing-20)}.admin-problem-sets-page .admin-problem-sets-page>.admin-loading{padding-top:calc(64px + var(--spacing-12))}.admin-problem-sets-page .admin-container{margin:0 auto;max-width:var(--max-width-container);padding:0 var(--spacing-5);width:100%}.admin-problem-sets-page .admin-loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--spacing-4);justify-content:center;min-height:50vh}.admin-problem-sets-page .admin-loading svg{color:var(--color-brand)}.admin-header{margin-bottom:var(--spacing-8)}.admin-header h1{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);gap:var(--spacing-3);letter-spacing:var(--tracking-tighter)}.admin-header h1 svg{color:var(--color-brand);font-size:.85em}.admin-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-top:var(--spacing-2)}.admin-filters{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);display:flex;flex-wrap:wrap;gap:var(--spacing-4);justify-content:space-between;margin-bottom:var(--spacing-8);padding:var(--spacing-3) var(--spacing-3) var(--spacing-3) var(--spacing-5)}.admin-problem-sets-page .filter-group{align-items:center;color:var(--color-text-tertiary);display:flex;flex:1 1;gap:var(--spacing-3);min-width:200px}.admin-problem-sets-page .filter-group select{background:var(--color-bg-secondary);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-lg);color:var(--color-text-primary);cursor:pointer;flex:1 1;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-3) var(--spacing-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.admin-problem-sets-page .filter-group select:focus{border-color:var(--color-brand);box-shadow:var(--ring-brand);outline:none}.create-btn{align-items:center;background:var(--color-brand);border:none;border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap}.create-btn:hover{background:var(--color-brand-strong);box-shadow:var(--shadow-brand);transform:translateY(-2px)}.create-form-card{animation:card-float-in .25s ease-out;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-8);padding:var(--spacing-6)}.create-form-card h3{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);margin-bottom:var(--spacing-5)}.admin-problem-sets-page .form-group{margin-bottom:var(--spacing-4)}.admin-problem-sets-page .form-group label{color:var(--color-text-secondary);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2)}.admin-problem-sets-page .form-group input,.admin-problem-sets-page .form-group select{background:var(--color-bg-secondary);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-lg);color:var(--color-text-primary);font-size:var(--font-size-base);padding:var(--spacing-3) var(--spacing-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%}.admin-problem-sets-page .form-group input:focus,.admin-problem-sets-page .form-group select:focus{background:var(--color-bg-elevated);border-color:var(--color-brand);box-shadow:var(--ring-brand);outline:none}.admin-problem-sets-page .form-actions{display:flex;gap:var(--spacing-3);justify-content:flex-end;margin-top:var(--spacing-6)}.admin-problem-sets-page .cancel-btn,.admin-problem-sets-page .submit-btn{border-radius:var(--border-radius-full);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-3) var(--spacing-6);transition:all var(--transition-fast)}.admin-problem-sets-page .cancel-btn{background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);color:var(--color-text-secondary)}.admin-problem-sets-page .cancel-btn:hover{border-color:var(--color-text-tertiary);color:var(--color-text-primary)}.admin-problem-sets-page .submit-btn{background:var(--color-brand);border:1px solid #0000;box-shadow:var(--shadow-brand-sm);color:#fff}.admin-problem-sets-page .submit-btn:hover{background:var(--color-brand-strong);transform:translateY(-1px)}.admin-problem-sets-page .submit-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.problem-sets-grid{grid-gap:var(--spacing-5);display:grid;gap:var(--spacing-5);grid-template-columns:1fr}@media (min-width:640px){.problem-sets-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.problem-sets-grid{grid-template-columns:repeat(3,1fr)}}.admin-problem-sets-page .empty-state{background:var(--color-bg-elevated);border:1px dashed var(--color-border-strong);border-radius:var(--border-radius-2xl);color:var(--color-text-tertiary);grid-column:1/-1;padding:var(--spacing-20) var(--spacing-4);text-align:center}.admin-problem-sets-page .empty-state svg{color:var(--color-border-strong);margin-bottom:var(--spacing-4)}.admin-problem-sets-page .empty-state p{color:var(--color-text-secondary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-1)}.admin-problem-sets-page .empty-state span{font-size:var(--font-size-sm)}.problem-set-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-left:none;border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:var(--spacing-4);padding:var(--spacing-6);text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.problem-set-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-header{align-items:center;display:flex;gap:var(--spacing-2);justify-content:space-between}.problem-set-card .category-badge{background:var(--color-brand);border-radius:var(--border-radius-full);color:#fff;display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.05em;padding:4px 12px;text-transform:uppercase}.delete-btn{align-items:center;background:#0000;border:none;border-radius:var(--border-radius-lg);color:var(--color-text-tertiary);cursor:pointer;display:flex;height:32px;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast);width:32px}.delete-btn:hover{background:#e2483d1a;color:var(--color-accent-error)}.problem-set-card h3{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);line-height:1.3}.card-stats{display:flex;flex-wrap:wrap;gap:var(--spacing-4)}.admin-problem-sets-page .card-stats .stat{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);gap:var(--spacing-2)}.admin-problem-sets-page .card-stats .stat svg{color:var(--color-brand)}.card-footer{border-top:1px solid var(--color-border-secondary);margin-top:auto;padding-top:var(--spacing-3)}.open-link{align-items:center;color:var(--color-brand);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);transition:gap var(--transition-fast)}.problem-set-card:hover .open-link{gap:var(--spacing-3)}@media (max-width:640px){.admin-header h1{font-size:var(--font-size-3xl)}.admin-filters{align-items:stretch;flex-direction:column}.create-btn{justify-content:center}}.ann-page{background:var(--color-bg-primary);padding-bottom:var(--spacing-20)}.ann-container{margin:0 auto;max-width:var(--max-width-container);padding:0 var(--spacing-5);width:100%}.ann-container--narrow{max-width:760px}.ann-loading{align-items:center;color:var(--color-brand);display:flex;justify-content:center;min-height:50vh}.ann-hero{background:radial-gradient(60% 120% at 18% 0,#7c3aed8c,#0000 60%),radial-gradient(55% 120% at 90% 100%,#f59e0b47,#0000 55%),var(--gradient-brand);color:#fff;margin-bottom:var(--spacing-10);overflow:hidden;padding:calc(64px + var(--spacing-10)) var(--spacing-5) var(--spacing-10);position:relative}.ann-hero__bg{color:#fff;height:100%;inset:0;opacity:.15;pointer-events:none;position:absolute;width:100%}.ann-hero__inner{margin:0 auto;max-width:760px;position:relative;z-index:1}.ann-back{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);margin-bottom:var(--spacing-5);text-decoration:none;transition:color var(--transition-fast),gap var(--transition-fast)}.ann-back:hover{color:var(--color-brand);gap:var(--spacing-3)}.ann-eyebrow{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff26;border-radius:var(--border-radius-full);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);letter-spacing:.1em;margin-bottom:var(--spacing-4);padding:var(--spacing-2) var(--spacing-4);text-transform:uppercase}.ann-hero__title{font-size:clamp(2rem,5.5vw,3rem);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tighter);line-height:1.05;margin-bottom:var(--spacing-3)}.ann-hero__subtitle{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);opacity:.92}.ann-empty{background:var(--color-bg-elevated);border:1px dashed var(--color-border-strong);border-radius:var(--border-radius-2xl);color:var(--color-text-tertiary);padding:var(--spacing-16) var(--spacing-4);text-align:center}.ann-empty svg{color:var(--color-border-strong);font-size:var(--font-size-4xl);margin-bottom:var(--spacing-3)}.ann-type{align-items:center;border-radius:var(--border-radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);gap:4px;letter-spacing:.05em;padding:3px 10px;text-transform:uppercase}.ann-type--new,.ann-type--pinned{background:var(--color-brand-soft);color:var(--color-brand)}.ann-type--high{background:var(--color-amber-soft);color:var(--color-amber-strong)}.ann-type--urgent{background:#e2483d1f;color:var(--color-accent-error)}.ann-entry,.ann-timeline{position:relative}.ann-entry{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:40px 1fr;padding-bottom:var(--spacing-6);text-decoration:none}.ann-entry__rail{display:flex;justify-content:center;position:relative}.ann-entry__rail:before{background:var(--color-border-primary);bottom:-6px;content:"";left:50%;position:absolute;top:6px;transform:translateX(-50%);width:2px}.ann-entry:last-child{padding-bottom:0}.ann-entry:last-child .ann-entry__rail:before{display:none}.ann-entry__marker{align-items:center;background:var(--color-bg-elevated);border:2px solid var(--color-brand);border-radius:var(--border-radius-full);color:var(--color-brand);display:flex;flex-shrink:0;font-size:11px;height:28px;justify-content:center;position:relative;width:28px;z-index:1}.ann-entry--high .ann-entry__marker{border-color:var(--color-accent-amber);color:var(--color-amber-strong)}.ann-entry--urgent .ann-entry__marker{border-color:var(--color-accent-error);color:var(--color-accent-error)}.ann-entry__card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);padding:var(--spacing-6);transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.ann-entry:hover .ann-entry__card{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}.ann-entry--high .ann-entry__card,.ann-entry--urgent .ann-entry__card{border-left:none}.ann-entry--pinned .ann-entry__card{background:linear-gradient(135deg,var(--color-brand-softer),var(--color-bg-elevated))}.ann-entry__top{align-items:center;display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.ann-entry__date{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.ann-entry__main{align-items:flex-start;display:flex;gap:var(--spacing-4)}.ann-entry__text{flex:1 1;min-width:0}.ann-entry__title{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);line-height:1.3;margin-bottom:var(--spacing-3)}.ann-entry__excerpt{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-secondary);display:-webkit-box;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-4);overflow:hidden}.ann-entry__more{align-items:center;color:var(--color-brand);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);transition:gap var(--transition-fast)}.ann-entry:hover .ann-entry__more{gap:var(--spacing-3)}.ann-entry__thumb{border:1px solid var(--color-border-primary);border-radius:var(--border-radius-lg);flex-shrink:0;height:96px;overflow:hidden;width:96px}.ann-entry__thumb img{height:100%;object-fit:cover;width:100%}@media (max-width:560px){.ann-entry{gap:var(--spacing-3);grid-template-columns:28px 1fr}.ann-entry__thumb{display:none}}.ann-hero--detail{margin-bottom:0;padding-bottom:calc(var(--spacing-10) + var(--spacing-16))}.ann-hero .ann-back{color:#ffffffd9}.ann-hero .ann-back:hover{color:#fff}.ann-hero .ann-type{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff2e;color:#fff}.ann-hero .ann-author,.ann-hero .ann-date{color:#ffffffc7}.ann-hero__title--detail{font-size:clamp(1.75rem,4.5vw,2.6rem);margin-bottom:0}.ann-page--detail .ann-detail{margin-top:calc(var(--spacing-16)*-1);position:relative;z-index:1}.ann-detail{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-md);padding:var(--spacing-10) var(--spacing-8)}@media (max-width:640px){.ann-detail{padding:var(--spacing-6)}}.ann-detail__meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.ann-author,.ann-date{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.ann-detail__image{border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);margin-bottom:var(--spacing-6);overflow:hidden}.ann-detail__image img{display:block;width:100%}.ann-detail__content{color:var(--color-text-primary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.ann-detail__content p{margin-bottom:var(--spacing-5)}.ann-detail__content img{border-radius:var(--border-radius-lg);margin:var(--spacing-4) 0;max-width:100%}.ann-detail__content a{color:var(--color-brand);text-decoration:underline}.ann-detail__content h2,.ann-detail__content h3{letter-spacing:var(--tracking-tight);margin:var(--spacing-6) 0 var(--spacing-3)}.book-page{background:var(--color-bg-primary);padding-bottom:var(--spacing-20)}.book-hero .page-hero__inner{max-width:1080px}.book-hero__inner{align-items:center;display:flex;gap:var(--spacing-10)}.book-hero__text{flex:1 1;min-width:0}.book-hero__cta{align-items:center;background:#fff;border:none;border-radius:var(--border-radius-full);box-shadow:var(--shadow-lg);color:var(--color-brand);cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);gap:var(--spacing-2);margin-top:var(--spacing-6);padding:var(--spacing-4) var(--spacing-8);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.book-hero__cta:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.book-cover{aspect-ratio:250/354;background:#f7f2ea;border-radius:6px;box-shadow:0 24px 48px -12px #00000073,0 4px 12px #00000040;flex-shrink:0;padding:12px;transform:rotate(2.5deg);width:250px}.book-cover__frame{align-items:center;border:1px solid #d9cfc0;display:flex;flex-direction:column;height:100%;padding:18px 12px 14px;text-align:center}.book-cover__brand{color:#6b6157;font-size:8px;letter-spacing:.28em}.book-cover__rule{background:#9a3324;height:2px;margin-top:6px;width:18px}.book-cover__title{color:#1c1710;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:500;line-height:1.08;margin-top:26px}.book-cover__subtitle{color:#4a4239;font-family:Georgia,serif;font-size:10.5px;font-style:italic;margin-top:12px}.book-cover__audience{color:#9a3324;font-size:6.5px;letter-spacing:.2em;margin-top:6px}.book-cover__dots{margin-bottom:auto;margin-top:auto;opacity:.9}.book-cover__author{color:#1c1710;font-family:Georgia,serif;font-size:11px}.book-cover__site{color:#8a8075;font-size:6.5px;letter-spacing:.24em;margin-top:4px}.book-container{display:flex;flex-direction:column;gap:var(--spacing-6);margin:0 auto;max-width:860px;padding:var(--spacing-10) var(--spacing-5) 0}.book-stats{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(4,1fr)}.book-stat{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-5) var(--spacing-3);text-align:center}.book-stat__icon{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-lg);color:var(--color-brand);display:inline-flex;height:40px;justify-content:center;margin-bottom:var(--spacing-1);width:40px}.book-stat strong{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold)}.book-stat span:last-child{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.book-section{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-sm);padding:var(--spacing-8)}.book-section h2{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight);margin-bottom:var(--spacing-4)}.book-section__lead{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-5)}.book-chapters{grid-gap:var(--spacing-3) var(--spacing-6);display:grid;gap:var(--spacing-3) var(--spacing-6);grid-template-columns:1fr 1fr;list-style:none;padding:0}.book-chapters li{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-base);gap:var(--spacing-3)}.book-chapters__num{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-full);color:var(--color-brand);display:inline-flex;flex-shrink:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);height:26px;justify-content:center;width:26px}.book-section__note{border-top:1px dashed var(--color-border-primary);color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-5);padding-top:var(--spacing-4)}.book-section__note svg{color:var(--color-brand);margin-right:var(--spacing-1)}.book-for{display:flex;flex-direction:column;gap:var(--spacing-3);list-style:none;padding:0}.book-for li{align-items:flex-start;color:var(--color-text-primary);display:flex;font-size:var(--font-size-base);gap:var(--spacing-2);line-height:var(--line-height-relaxed)}.book-for li svg{color:var(--color-accent-success);flex-shrink:0;margin-top:5px}.book-form-card{background:var(--color-bg-elevated);border:2px solid var(--color-brand);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-lg);padding:var(--spacing-8)}.book-form-head{align-items:flex-start;display:flex;gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.book-form-head__icon{align-items:center;background:var(--color-error-soft);border-radius:var(--border-radius-xl);color:var(--color-error-strong);display:inline-flex;flex-shrink:0;font-size:var(--font-size-xl);height:48px;justify-content:center;width:48px}.book-form-head h2{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold)}.book-form-head p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:2px}.book-form__grid{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:1fr 1fr;margin-bottom:var(--spacing-5)}.book-form__grid label{color:var(--color-text-secondary);display:flex;flex-direction:column;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2)}.book-form__grid input,.book-form__grid select{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-lg);color:var(--color-text-primary);font-size:var(--font-size-base);padding:var(--spacing-3) var(--spacing-4)}.book-form__grid input:focus,.book-form__grid select:focus{border-color:var(--color-brand);outline:none}.book-form__error{color:var(--color-accent-error);font-size:var(--font-size-sm);margin-bottom:var(--spacing-3)}.book-form__privacy{color:var(--color-text-tertiary);font-size:var(--font-size-xs);margin-top:var(--spacing-3);text-align:center}.book-download-btn{align-items:center;background:var(--color-brand);border:none;border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);gap:var(--spacing-2);justify-content:center;padding:var(--spacing-4) var(--spacing-6);text-decoration:none;transition:background var(--transition-fast),transform var(--transition-fast);width:100%}.book-download-btn:hover{background:var(--color-brand-strong);color:#fff;transform:translateY(-1px)}.book-download-btn:disabled{cursor:not-allowed;opacity:.5}.book-done{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-4);text-align:center}.book-done__icon{align-items:center;background:#e8f7ee;border-radius:var(--border-radius-2xl);color:#1e9e55;display:inline-flex;font-size:var(--font-size-2xl);height:64px;justify-content:center;width:64px}.book-done h2{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold)}.book-done p{color:var(--color-text-secondary)}.book-done .book-download-btn{max-width:420px}.book-next{border-top:1px dashed var(--color-border-primary);margin-top:var(--spacing-4);padding-top:var(--spacing-5);width:100%}.book-next p{font-size:var(--font-size-sm);margin-bottom:var(--spacing-2)}.book-next__link{align-items:center;color:var(--color-brand);display:inline-flex;font-weight:var(--font-weight-bold);gap:var(--spacing-2);text-decoration:none}.book-next__link:hover{text-decoration:underline}.book-author{align-items:center;display:flex;gap:var(--spacing-6)}.book-author__photo{align-items:center;background:var(--color-brand);border-radius:var(--border-radius-full);color:#fff;display:inline-flex;flex-shrink:0;font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);height:72px;justify-content:center;width:72px}.book-author h2{margin-bottom:var(--spacing-2)}.book-author p{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}@media (max-width:899px){.book-hero__inner{flex-direction:column-reverse;text-align:left}.book-cover{margin-top:var(--spacing-4);transform:rotate(0deg);width:200px}.book-stats{grid-template-columns:1fr 1fr}.book-chapters,.book-form__grid{grid-template-columns:1fr}.book-form-card,.book-section{padding:var(--spacing-6) var(--spacing-5)}.book-author{flex-direction:column;text-align:center}}.archive-page{background:var(--color-bg-primary);padding:0 0 var(--spacing-20)}.archive-container{margin:0 auto;max-width:880px;padding:0 var(--spacing-5);width:100%}.archive-loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--spacing-3);justify-content:center;min-height:40vh}.archive-loading svg{color:var(--color-brand)}.archive-header{margin-bottom:var(--spacing-8)}.back-link{margin-bottom:var(--spacing-5)}.archive-header h1{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);gap:var(--spacing-3);letter-spacing:var(--tracking-tighter)}.archive-header h1 svg{color:var(--color-accent-amber);font-size:.8em}.archive-description{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-top:var(--spacing-2)}.competition-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-3);margin-top:var(--spacing-4)}.competition-meta span{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4)}.competition-meta span svg{color:var(--color-brand)}.archive-stats{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:repeat(3,1fr);margin-bottom:var(--spacing-8)}.archive-stat{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);padding:var(--spacing-5) var(--spacing-3);text-align:center}.archive-stat__num{color:var(--color-brand);display:block;font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight);line-height:1}.archive-stat__label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.no-competitions__btn{align-items:center;background:var(--color-brand);border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);margin-top:var(--spacing-5);padding:var(--spacing-3) var(--spacing-6);text-decoration:none;transition:background var(--transition-fast),transform var(--transition-fast)}.no-competitions__btn:hover{background:var(--color-brand-strong);transform:translateY(-2px)}.competitions-grid{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:1fr}@media (min-width:768px){.competitions-grid{grid-template-columns:repeat(2,1fr)}}.competition-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);display:flex;gap:var(--spacing-4);padding:var(--spacing-6);text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.competition-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.competition-icon{align-items:center;background:var(--color-amber-soft);border-radius:var(--border-radius-xl);color:var(--color-amber-strong);display:flex;flex-shrink:0;font-size:var(--font-size-xl);height:52px;justify-content:center;width:52px}.competition-info{min-width:0}.competition-info h3{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);margin-bottom:var(--spacing-1)}.competition-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-secondary);display:-webkit-box;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-3);overflow:hidden}.competition-stats{display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.competition-stats span{align-items:center;color:var(--color-text-tertiary);display:inline-flex;font-size:var(--font-size-xs);gap:var(--spacing-1)}.competition-stats span svg{color:var(--color-brand)}.no-competitions{background:var(--color-bg-elevated);border:1px dashed var(--color-border-strong);border-radius:var(--border-radius-2xl);color:var(--color-text-tertiary);padding:var(--spacing-16) var(--spacing-4);text-align:center}.no-competitions svg{color:var(--color-border-strong);font-size:var(--font-size-4xl);margin-bottom:var(--spacing-3)}.no-competitions h2{color:var(--color-text-secondary);font-size:var(--font-size-xl);margin-bottom:var(--spacing-1)}.tasks-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.task-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);overflow:hidden;transition:box-shadow var(--transition-fast)}.task-card:hover{box-shadow:var(--shadow-md)}.task-header{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-3);justify-content:space-between;padding:var(--spacing-4) var(--spacing-5);transition:background var(--transition-fast)}.task-header:hover{background:var(--color-bg-secondary)}.task-info{align-items:center;display:flex;gap:var(--spacing-3)}.task-number{border-left:none;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);padding-left:var(--spacing-3)}.task-actions{align-items:center;display:flex;gap:var(--spacing-3)}.task-points{background:var(--color-amber-soft);border-radius:var(--border-radius-full);color:var(--color-amber-strong);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:4px 10px}.archive-page .expand-icon{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.task-content{border-top:1px solid var(--color-border-secondary);padding:var(--spacing-5)}.task-content .solution-display:first-child{margin-top:0}.task-image{border:1px solid var(--color-border-primary);border-radius:var(--border-radius-lg);margin-top:var(--spacing-4);max-width:100%}@media (max-width:640px){.archive-header h1{font-size:var(--font-size-3xl)}.archive-stats{gap:var(--spacing-2)}.archive-stat{padding:var(--spacing-4) var(--spacing-2)}.archive-stat__num{font-size:var(--font-size-2xl)}.archive-stat__label{font-size:var(--font-size-xs)}.task-content{padding:var(--spacing-4)}}.daily-challenge-page{background:radial-gradient(55% 35% at 50% 0,var(--color-brand-softer),#0000 70%),var(--color-bg-primary);padding:calc(64px + var(--spacing-10)) 0 var(--spacing-20)}.daily-challenge-page--hero{background:var(--color-bg-primary);padding-top:0}.daily-challenge-page--hero .page-hero{margin-bottom:var(--spacing-10);padding-bottom:var(--spacing-12)}.daily-hero-top{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:space-between}.daily-hero-timer{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff29;border-radius:var(--border-radius-full);color:#fff;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);margin-bottom:var(--spacing-4);padding:var(--spacing-2) var(--spacing-4)}.challenge-container{margin:0 auto;max-width:860px;padding:0 var(--spacing-5);width:100%}.challenge-container--pull{position:relative;z-index:1}.challenge-loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--spacing-3);justify-content:center;min-height:50vh;text-align:center}.challenge-loading svg{color:var(--color-brand);font-size:var(--font-size-4xl)}.challenge-empty{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--spacing-3);margin-top:var(--spacing-4);padding:var(--spacing-10) var(--spacing-8);text-align:center}.challenge-empty__icon{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-full);color:var(--color-brand);display:flex;font-size:var(--font-size-2xl);height:72px;justify-content:center;width:72px}.challenge-empty__icon--gold{background:var(--color-amber-soft);color:var(--color-amber-strong)}.challenge-empty h2{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight)}.challenge-empty p{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);max-width:440px}.daily-challenge-page .challenge-empty .comp-meanwhile{margin-top:var(--spacing-5);max-width:560px;width:100%}.back-link{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);text-decoration:none;transition:color var(--transition-fast),gap var(--transition-fast)}.back-link:hover{color:var(--color-brand);gap:var(--spacing-3)}.daily-challenge-page .problem-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-5);padding:var(--spacing-8)}.problem-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-3);margin-bottom:var(--spacing-5)}.category-badge{letter-spacing:.05em;padding:4px 12px}.difficulty-badge{display:inline-flex;gap:2px}.difficulty-star{font-size:var(--font-size-sm)}.daily-challenge-page .difficulty-star.filled{color:var(--color-accent-amber)}.difficulty-star.empty{color:var(--color-border-strong)}.points-badge{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-full);color:var(--color-brand);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);gap:var(--spacing-2);padding:4px 12px}.problem-content{color:var(--color-text-primary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);overflow-x:auto}.daily-challenge-page .problem-image{border:1px solid var(--color-border-primary);border-radius:var(--border-radius-lg);margin-top:var(--spacing-5);max-width:100%}.problem-file-link{align-items:center;background:var(--color-brand);border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);text-decoration:none}.problem-file-link:hover{background:var(--color-brand-strong)}.daily-facts{background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-xl);color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--spacing-3) var(--spacing-5);margin-bottom:var(--spacing-5);padding:var(--spacing-4) var(--spacing-5)}.daily-facts__item{align-items:baseline;display:inline-flex;gap:var(--spacing-2)}.daily-facts__item svg{color:var(--color-accent-amber);font-size:var(--font-size-xs)}.daily-facts__item strong{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.daily-facts__item small{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.daily-more{color:var(--color-text-tertiary);font-size:var(--font-size-sm);margin-top:var(--spacing-5);text-align:center}.daily-more a{color:var(--color-brand);font-weight:var(--font-weight-semibold)}.answer-form{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-sm);padding:var(--spacing-6)}.answer-form>label{color:var(--color-text-secondary);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-3)}.answer-input-group{display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.answer-input-group input{background:var(--color-bg-secondary);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-lg);color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-lg);min-width:160px;padding:var(--spacing-4) var(--spacing-5);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.answer-input-group input:focus{background:var(--color-bg-elevated);border-color:var(--color-brand);box-shadow:var(--ring-brand);outline:none}.answer-input-group button{align-items:center;background:var(--color-brand);border:none;border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-4) var(--spacing-6);transition:background var(--transition-fast),transform var(--transition-fast)}.answer-input-group button:hover{background:var(--color-brand-strong);transform:translateY(-2px)}.answer-input-group button:disabled{cursor:not-allowed;opacity:.6;transform:none}.error-message{background:#e2483d1a;border-radius:var(--border-radius-lg);color:var(--color-accent-error);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-top:var(--spacing-3);padding:var(--spacing-2) var(--spacing-4)}.challenge-result-flow{display:flex;flex-direction:column;gap:var(--spacing-5)}.challenge-result-flow>*{margin-top:0}.challenge-result{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);padding:var(--spacing-6)}.challenge-result__head{align-items:center;display:flex;gap:var(--spacing-4);justify-content:space-between}.challenge-result__verdict{align-items:center;display:flex;gap:var(--spacing-3);min-width:0}.challenge-result__verdict>svg{flex-shrink:0;font-size:var(--font-size-lg)}.challenge-result__verdict strong{color:var(--color-text-primary);display:block;font-family:var(--font-family-display);font-size:var(--font-size-xl);letter-spacing:var(--tracking-tight)}.challenge-result__verdict span{color:var(--color-text-secondary);display:block;font-size:var(--font-size-sm);margin-top:2px}.challenge-result--ok .challenge-result__verdict>svg{color:var(--color-accent-success)}.challenge-result--no .challenge-result__verdict>svg{color:var(--color-error-strong)}.challenge-result__earned{flex-shrink:0;text-align:right}.challenge-result__earned span{color:var(--color-accent-success);font-family:var(--font-family-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);line-height:1}.challenge-result__earned small{color:var(--color-text-tertiary);display:block;font-size:var(--font-size-xs);margin-top:2px}.challenge-result__rows{border-top:1px solid var(--color-border-secondary);display:flex;flex-wrap:wrap;gap:var(--spacing-2) var(--spacing-4);list-style:none;margin-top:var(--spacing-4);padding-top:var(--spacing-4)}.challenge-result__rows li{align-items:baseline;color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);gap:var(--spacing-2)}.challenge-result__rows li span:last-child{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.challenge-result__foot{border-top:1px solid var(--color-border-secondary);color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--spacing-2) var(--spacing-5);margin-top:var(--spacing-4);padding-top:var(--spacing-4)}.challenge-result__foot span{align-items:center;display:inline-flex;gap:var(--spacing-2)}.challenge-result__foot svg{color:var(--color-accent-amber);font-size:var(--font-size-xs)}.challenge-outro{align-items:center;border-top:1px solid var(--color-border-secondary);display:flex;flex-direction:column;gap:var(--spacing-4);padding:var(--spacing-6)}.challenge-outro__note{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.solution-display{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-sm);margin-top:var(--spacing-5);overflow:hidden;padding:var(--spacing-6);position:relative;text-align:left}.solution-display:after{color:var(--color-brand);content:"∴";font-family:Georgia,serif;font-size:72px;font-style:italic;line-height:1;opacity:.07;pointer-events:none;position:absolute;right:var(--spacing-5);top:-6px}.problem-recap:after{content:"?"}.solution-display__head{align-items:center;border-bottom:1px dashed var(--color-border-strong);display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-4)}.solution-display__chip{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-lg);color:var(--color-brand);display:flex;flex-shrink:0;font-size:var(--font-size-base);height:42px;justify-content:center;width:42px}.solution-display__titles{display:flex;flex-direction:column;gap:1px}.solution-display__titles h3{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight);margin:0}.solution-display__titles span{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.problem-recap .solution-display__chip{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.solution-content{color:var(--color-text-primary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);overflow-x:auto}.solution-content p{margin:0}.solution-content p+p{margin-top:var(--spacing-4)}.solution-content mjx-container[display=true]{margin:var(--spacing-6) 0!important}.solution-content mjx-container[display=true]+mjx-container[display=true]{margin-top:var(--spacing-5)!important}.solution-content>mjx-container[display=true]:first-child{margin-top:0!important}.solution-content>mjx-container[display=true]:last-child{margin-bottom:0!important}.solution-content p:empty{display:none}.points-breakdown{background:var(--color-brand-softer);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);padding:var(--spacing-5);text-align:left}.points-breakdown h3{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-3)}.breakdown-items{display:flex;flex-direction:column;gap:var(--spacing-2)}.breakdown-item{color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);justify-content:space-between}.breakdown-item span:last-child{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.breakdown-item.bonus span:last-child{color:var(--color-accent-success)}.breakdown-item.penalty span:last-child{color:var(--color-accent-error)}.breakdown-total{border-top:1px solid var(--color-border-strong);color:var(--color-brand);display:flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-extrabold);justify-content:space-between;margin-top:var(--spacing-2);padding-top:var(--spacing-3)}.result-stats{display:flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:center}.result-stat{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5)}.result-stat svg{color:var(--color-accent-amber)}.continue-btn{align-items:center;background:var(--color-brand);border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;display:inline-flex;font-weight:var(--font-weight-semibold);justify-content:center;padding:var(--spacing-4) var(--spacing-8);text-decoration:none;transition:background var(--transition-fast),transform var(--transition-fast)}.continue-btn:hover{background:var(--color-brand-strong);transform:translateY(-2px)}.next-challenge-countdown{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-full);color:var(--color-brand);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4)}@media (max-width:640px){.daily-challenge-page .problem-card{padding:var(--spacing-5)}.challenge-empty{padding:var(--spacing-8) var(--spacing-5)}.solution-display{padding:var(--spacing-5) var(--spacing-4)}.answer-form{padding:var(--spacing-4)}}.dashboard-page{background:var(--color-bg-primary);padding:0 0 var(--spacing-20)}.dashboard-error,.dashboard-loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--spacing-4);justify-content:center;min-height:60vh}.dashboard-loading svg{color:var(--color-brand)}.dashboard-error button{background:var(--color-brand);border:none;border-radius:var(--border-radius-full);color:#fff;cursor:pointer;font-weight:var(--font-weight-semibold);padding:var(--spacing-3) var(--spacing-6)}.dashboard-header{background:radial-gradient(60% 120% at 12% 0,#7c3aed80,#0000 60%),radial-gradient(60% 120% at 92% 100%,#f59e0b42,#0000 55%),var(--gradient-brand);color:#fff;overflow:hidden;padding:calc(64px + var(--spacing-10)) 0 var(--spacing-12);position:relative}.dashboard-header-content{margin:0 auto;max-width:var(--max-width-container);padding:0 var(--spacing-5);position:relative;width:100%;z-index:1}.dashboard-welcome{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-4);margin-bottom:var(--spacing-8)}.dashboard-avatar{background:#fff3;border:3px solid #ffffff59;border-radius:var(--border-radius-full);flex-shrink:0;height:64px;overflow:hidden;width:64px}.dashboard-avatar img{height:100%;object-fit:cover;width:100%}.dashboard-page .avatar-placeholder{align-items:center;display:flex;font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);height:100%;justify-content:center;width:100%}.dashboard-welcome-text{flex:1 1;min-width:0}.welcome-label{font-size:var(--font-size-sm);opacity:.85}.dashboard-welcome-text h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight)}.user-rank-badge{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff2e;border-radius:var(--border-radius-full);color:#fff;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);padding:var(--spacing-2) var(--spacing-4)}.dashboard-stats-row{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:repeat(2,1fr)}@media (min-width:768px){.dashboard-stats-row{grid-template-columns:repeat(4,1fr)}}.stat-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff24;border:1px solid #fff3;border-radius:var(--border-radius-2xl);gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-5);position:relative}.stat-card,.stat-icon-wrap{align-items:center;display:flex}.stat-icon-wrap{background:#fff;border-radius:var(--border-radius-xl);flex-shrink:0;font-size:var(--font-size-lg);height:44px;justify-content:center;width:44px}.streak-icon-wrap{color:var(--color-amber-strong)}.points-icon-wrap,.rank-icon-wrap{color:var(--color-brand)}.accuracy-icon-wrap{color:var(--color-accent-secondary)}.solved-icon-wrap{color:var(--color-accent-success)}.bank-section{grid-gap:var(--spacing-6);display:grid;gap:var(--spacing-6)}@media (min-width:900px){.bank-section{align-items:stretch;grid-template-columns:1.1fr 1fr}}.bank-progress{display:flex;flex-direction:column;gap:var(--spacing-4);justify-content:center}.bank-progress__head{align-items:center;display:flex;gap:var(--spacing-4)}.bank-progress__icon{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-xl);color:var(--color-brand);display:flex;flex-shrink:0;font-size:var(--font-size-xl);height:48px;justify-content:center;width:48px}.bank-progress__head h2{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight)}.bank-progress__head p{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.bank-progress__pct{color:var(--color-brand);font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight);margin-left:auto}.bank-progress__bar{background:var(--color-bg-accent);border-radius:var(--border-radius-full);height:12px;overflow:hidden}.bank-progress__fill{background:var(--gradient-brand);border-radius:var(--border-radius-full);height:100%;transition:width var(--transition-slow)}.bank-progress__meta{color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--spacing-5)}.bank-progress__meta strong{color:var(--color-text-primary);font-weight:var(--font-weight-extrabold)}.bank-actions{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3)}.bank-action{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);display:flex;gap:var(--spacing-4);padding:var(--spacing-5);text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.bank-action:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}.bank-action__icon{align-items:center;border-radius:var(--border-radius-xl);display:flex;flex-shrink:0;font-size:var(--font-size-xl);height:48px;justify-content:center;width:48px}.bank-action--amber .bank-action__icon{background:var(--color-amber-soft);color:var(--color-amber-strong)}.bank-action--violet .bank-action__icon{background:#7c3aed1a;color:var(--color-accent-secondary)}.bank-action__text{flex:1 1;min-width:0}.bank-action__text h3{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin-bottom:2px}.bank-action__text p{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.bank-action__arrow{color:var(--color-text-tertiary);transition:transform var(--transition-fast),color var(--transition-fast)}.bank-action:hover .bank-action__arrow{color:var(--color-brand);transform:translateX(3px)}.stat-content{display:flex;flex-direction:column}.dashboard-page .stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);line-height:1}.dashboard-page .stat-label{font-size:var(--font-size-xs);margin-top:2px;opacity:.82}.bonus-badge{background:var(--color-accent-amber);border-radius:var(--border-radius-full);color:#fff;font-size:10px;font-weight:var(--font-weight-bold);padding:2px 8px;position:absolute;right:var(--spacing-2);top:var(--spacing-2)}.dashboard-content{display:flex;flex-direction:column;gap:var(--spacing-6);margin:0 auto;max-width:var(--max-width-container);padding:var(--spacing-8) var(--spacing-5) 0;width:100%}.dashboard-section{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);padding:var(--spacing-6)}.dashboard-page .section-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:space-between;margin-bottom:var(--spacing-5)}.dashboard-page .section-header h2{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);gap:var(--spacing-3);letter-spacing:var(--tracking-tight)}.dashboard-page .section-header h2 svg{color:var(--color-brand);font-size:.85em}.time-left{background:var(--color-amber-soft);border-radius:var(--border-radius-full);color:var(--color-amber-strong);font-size:var(--font-size-xs);padding:4px 12px}.time-left,.view-all-link{align-items:center;display:inline-flex;font-weight:var(--font-weight-semibold);gap:var(--spacing-2)}.view-all-link{color:var(--color-brand);font-size:var(--font-size-sm);text-decoration:none;transition:gap var(--transition-fast)}.view-all-link:hover{gap:var(--spacing-3)}.daily-challenge-card{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);padding:var(--spacing-6)}.challenge-ready{background:var(--color-brand-softer)}.challenge-ready-layout{gap:var(--spacing-5);justify-content:space-between}.challenge-meta,.challenge-ready-layout{align-items:center;display:flex;flex-wrap:wrap}.challenge-meta{gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.challenge-ready-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-base)}.challenge-ready-subtitle strong{color:var(--color-brand)}.start-challenge-btn{align-items:center;background:var(--color-brand);border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;display:inline-flex;font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-4) var(--spacing-8);text-decoration:none;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap}.start-challenge-btn:hover{background:var(--color-brand-strong);box-shadow:var(--shadow-brand);transform:translateY(-2px)}.dc-summary{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);padding:var(--spacing-5) var(--spacing-6)}.dc-summary__main{align-items:center;display:flex;gap:var(--spacing-3)}.dc-summary__mark{flex-shrink:0;font-size:var(--font-size-lg);line-height:1}.dc-summary--ok .dc-summary__mark{color:var(--color-accent-success)}.dc-summary--no .dc-summary__mark{color:var(--color-amber-strong)}.dc-summary__body{flex:1 1;min-width:0}.dc-summary__body>strong{color:var(--color-text-primary);display:block;font-family:var(--font-family-display);font-size:var(--font-size-lg);letter-spacing:var(--tracking-tight)}.dc-summary__bonuses{color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--spacing-1) var(--spacing-3);margin-top:2px}.dc-summary__bonuses b{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.dc-summary__total{flex-shrink:0;text-align:right}.dc-summary__total span{color:var(--color-accent-success);font-family:var(--font-family-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);line-height:1}.dc-summary__total small{color:var(--color-text-tertiary);display:block;font-size:var(--font-size-xs);margin-top:2px}.dc-summary__foot{border-top:1px solid var(--color-border-secondary);color:var(--color-text-secondary);display:flex;flex-wrap:wrap;font-size:var(--font-size-sm);gap:var(--spacing-2) var(--spacing-5);margin-top:var(--spacing-4);padding-top:var(--spacing-4)}.dc-summary__foot span{align-items:center;display:inline-flex;gap:var(--spacing-2)}.dc-summary__foot svg{color:var(--color-brand);font-size:var(--font-size-xs)}.dc-summary__foot strong{font-feature-settings:"tnum";color:var(--color-text-primary);font-variant-numeric:tabular-nums}.no-challenge{color:var(--color-accent-success);padding:var(--spacing-8);text-align:center}.no-challenge svg{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-3)}.dashboard-two-column{grid-gap:var(--spacing-6);display:grid;gap:var(--spacing-6);grid-template-columns:1fr}@media (min-width:900px){.dashboard-two-column{grid-template-columns:1fr 1fr}}.dashboard-page .achievements-progress{align-items:center;display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-5)}.dashboard-page .achievements-progress .progress-bar{background:var(--color-bg-accent);border-radius:var(--border-radius-full);flex:1 1;height:10px;overflow:hidden}.dashboard-page .achievements-progress .progress-fill{background:var(--gradient-brand);border-radius:var(--border-radius-full);height:100%;transition:width var(--transition-slow)}.dashboard-page .achievements-progress span{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.recent-achievements{display:flex;flex-direction:column;gap:var(--spacing-3)}.achievement-item{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-xl);display:flex;gap:var(--spacing-3);padding:var(--spacing-3)}.achievement-item-icon{align-items:center;border-radius:var(--border-radius-lg);display:flex;flex-shrink:0;font-size:var(--font-size-base);height:42px;justify-content:center;width:42px}.achievement-item-info{flex:1 1;min-width:0}.achievement-item-name{color:var(--color-text-primary);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.achievement-item-desc{color:var(--color-text-secondary);display:block;font-size:var(--font-size-xs);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.achievement-item-end{flex-shrink:0;text-align:right}.achievement-item-points{color:var(--color-accent-success);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.achievement-item-date{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.dashboard-page .no-achievements,.dashboard-page .no-stats{color:var(--color-text-tertiary);font-size:var(--font-size-sm);padding:var(--spacing-6);text-align:center}.category-stats{display:flex;flex-direction:column;gap:var(--spacing-4)}.category-stat-item{display:flex;flex-direction:column;gap:var(--spacing-2)}.category-stat-header{align-items:center;display:flex;justify-content:space-between}.category-name{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.category-percentage{color:var(--color-brand);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.category-progress-bar{background:var(--color-bg-accent);border-radius:var(--border-radius-full);height:8px;overflow:hidden}.category-progress-fill{background:var(--color-brand);border-radius:var(--border-radius-full);height:100%;transition:width var(--transition-slow)}.category-count{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.season-info{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:repeat(3,1fr)}@media (max-width:560px){.season-info{grid-template-columns:1fr}}.season-stat{background:var(--color-brand-softer);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);display:flex;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-4);text-align:center}.season-label{color:var(--color-text-secondary);font-size:var(--font-size-xs)}.season-value{color:var(--color-brand);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold)}.activity-calendar{overflow-x:auto}.activity-heatmap,.heatmap-wrapper{min-width:-webkit-max-content;min-width:max-content}.heatmap-grid{grid-gap:3px;align-content:start;display:grid;gap:3px;grid-auto-flow:column;grid-template-rows:repeat(7,13px)}.heatmap-cell{background:var(--color-bg-accent);border-radius:3px;height:13px;width:13px}.dashboard-page .heatmap-cell.filled{background:var(--color-brand)}.heatmap-cell[data-level="1"]{background:#4f46e54d}.heatmap-cell[data-level="2"]{background:#4f46e58c}.heatmap-cell[data-level="3"]{background:#4f46e5cc}.heatmap-cell[data-level="4"]{background:var(--color-brand)}.heatmap-labels{margin-bottom:var(--spacing-2)}.heatmap-labels,.heatmap-legend{color:var(--color-text-tertiary);display:flex;font-size:var(--font-size-xs);gap:var(--spacing-2)}.heatmap-legend{align-items:center;margin-top:var(--spacing-3)}.heatmap-legend .heatmap-cell{display:inline-block}.no-activity{color:var(--color-text-tertiary);font-size:var(--font-size-sm);padding:var(--spacing-6);text-align:center}@media (max-width:640px){.dashboard-header{padding-top:calc(48px + var(--spacing-10))}.dashboard-welcome-text h1{font-size:var(--font-size-2xl)}.challenge-ready-layout{align-items:stretch;flex-direction:column}.start-challenge-btn{justify-content:center}.dashboard-section{padding:var(--spacing-5) var(--spacing-4)}.stat-card{gap:var(--spacing-2);padding:var(--spacing-3)}.stat-icon-wrap{border-radius:var(--border-radius-lg);font-size:var(--font-size-base);height:36px;width:36px}.dashboard-page .stat-value{font-size:var(--font-size-xl)}.bank-progress__head{flex-wrap:wrap}.bank-progress__pct{font-size:var(--font-size-2xl)}.bank-action{padding:var(--spacing-4)}.dashboard-page .section-header h2{font-size:var(--font-size-lg)}.achievement-item-desc{max-width:100%;white-space:normal}.done-status-strip{flex-direction:row;min-width:0;width:100%}.daily-challenge-card{padding:var(--spacing-4)}}.my-course-section{background:#0000;border:none;box-shadow:none;padding:0}.my-course{align-items:center;background:radial-gradient(70% 120% at 10% 0,#7c3aed80,#0000 60%),var(--gradient-brand);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-md);color:#fff;display:flex;gap:var(--spacing-4);padding:var(--spacing-5) var(--spacing-6);text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.my-course:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.my-course__icon{align-items:center;background:#fff;border-radius:var(--border-radius-xl);color:var(--color-brand);display:flex;flex-shrink:0;font-size:var(--font-size-xl);height:48px;justify-content:center;width:48px}.my-course__text{flex:1 1;min-width:0}.my-course__label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;opacity:.85;text-transform:uppercase}.my-course__text h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight);margin:2px 0}.my-course__text p{font-size:var(--font-size-sm);opacity:.9}.my-course__arrow{font-size:var(--font-size-lg);opacity:.9}.diag-page{background:var(--color-bg-primary)}.diag-container{margin:0 auto;max-width:760px;padding:var(--spacing-10) var(--spacing-5) var(--spacing-16)}.diag-progress{align-items:center;display:flex;gap:var(--spacing-4);margin-bottom:var(--spacing-6)}.diag-progress__track{background:var(--color-brand-soft);border-radius:var(--border-radius-full);flex:1 1;height:8px;overflow:hidden}.diag-progress__bar{background:var(--color-brand);border-radius:var(--border-radius-full);height:100%;transition:width var(--transition-normal)}.diag-progress__label{font-feature-settings:"tnum";color:var(--color-brand);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-bold);white-space:nowrap}.diag-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-lg);padding:var(--spacing-10) var(--spacing-8)}.diag-card--center{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-5);text-align:center}.diag-card--center .diag-btn{margin-top:var(--spacing-4)}.diag-card--form{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-5);text-align:center}.diag-card--form .diag-form-grid,.diag-card--form .diag-nav{width:100%}.diag-card--form .diag-error{margin:0;text-align:left;width:100%}.diag-bigicon{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-2xl);color:var(--color-brand);display:inline-flex;font-size:var(--font-size-2xl);height:64px;justify-content:center;margin-bottom:var(--spacing-2);width:64px}.diag-bigicon--gold{background:#fdf3d3;color:#c79100}.diag-card h2{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold)}.diag-lead{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);max-width:46ch}.diag-points{display:flex;flex-wrap:wrap;gap:var(--spacing-3) var(--spacing-5);justify-content:center;list-style:none;margin:var(--spacing-2) 0 var(--spacing-4);padding:0}.diag-points li{align-items:center;color:var(--color-text-primary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2)}.diag-points li svg{color:var(--color-accent-success)}.diag-grade-pick{color:var(--color-text-secondary);display:flex;flex-direction:column;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);text-align:left;width:min(320px,100%)}.diag-grade-pick select{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-lg);color:var(--color-text-primary);font-size:var(--font-size-base);padding:var(--spacing-3) var(--spacing-4);width:100%}.diag-grade-pick select:focus{border-color:var(--color-brand);outline:none}.diag-qhead{align-items:center;display:flex;gap:var(--spacing-3);justify-content:space-between;margin-bottom:var(--spacing-6)}.diag-qcount{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-full);color:var(--color-brand);display:inline-flex;font-weight:var(--font-weight-bold);letter-spacing:.04em;padding:var(--spacing-1) var(--spacing-3);text-transform:uppercase}.diag-qcount,.diag-qlevel{font-size:var(--font-size-sm)}.diag-qlevel{color:var(--color-text-secondary)}.diag-qlevel,.diag-question{font-weight:var(--font-weight-semibold)}.diag-question{color:var(--color-text-primary);font-size:var(--font-size-lg);line-height:1.7;margin:0 0 var(--spacing-8)}.diag-option mjx-container,.diag-question mjx-container{font-size:1.06em!important;vertical-align:middle}.diag-options{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:1fr}@media (min-width:560px){.diag-options--grid{grid-template-columns:1fr 1fr}}.diag-option{align-items:center;background:var(--color-bg-secondary);border:2px solid #0000;border-radius:var(--border-radius-xl);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:var(--font-size-base);gap:var(--spacing-4);line-height:1.5;padding:var(--spacing-4) var(--spacing-5);text-align:left;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);width:100%}.diag-option:hover{background:var(--color-brand-softer);border-color:var(--color-brand-soft)}.diag-option--active{background:var(--color-brand-softer);border-color:var(--color-brand);box-shadow:var(--shadow-brand-sm)}.diag-option__mark{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-full);color:var(--color-text-secondary);display:inline-flex;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);height:32px;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast);width:32px}.diag-option--active .diag-option__mark{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.diag-option__text{flex:1 1}.diag-option__check{color:var(--color-brand);flex-shrink:0;font-size:var(--font-size-lg);opacity:0;transform:scale(.6);transition:opacity var(--transition-fast),transform var(--transition-fast)}.diag-option--active .diag-option__check{opacity:1;transform:scale(1)}.diag-nav{align-items:center;border-top:1px solid var(--color-border-primary);display:flex;gap:var(--spacing-3);justify-content:space-between;margin-top:var(--spacing-8);padding-top:var(--spacing-6)}.diag-btn{align-items:center;border:1px solid #0000;border-radius:var(--border-radius-full);cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);gap:var(--spacing-2);justify-content:center;padding:var(--spacing-3) var(--spacing-6);text-decoration:none;transition:background var(--transition-fast),transform var(--transition-fast),opacity var(--transition-fast),box-shadow var(--transition-fast)}.diag-btn--solid{background:var(--color-brand);box-shadow:var(--shadow-brand-sm);color:#fff}.diag-btn--solid:hover{background:var(--color-brand-strong);transform:translateY(-1px)}.diag-btn--solid:disabled{box-shadow:none;cursor:not-allowed;opacity:.45;transform:none}.diag-btn--ghost{background:#0000;border-color:var(--color-border-primary);color:var(--color-text-secondary)}.diag-btn--ghost:hover{background:var(--color-bg-secondary)}.diag-form-grid{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:1fr;margin-top:var(--spacing-2);text-align:left;width:100%}@media (min-width:560px){.diag-form-grid{grid-template-columns:1fr 1fr}}.diag-form-grid label{color:var(--color-text-secondary);display:flex;flex-direction:column;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2)}.diag-form-grid input,.diag-form-grid select{background:var(--color-bg-primary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-lg);color:var(--color-text-primary);font-size:var(--font-size-base);padding:var(--spacing-3) var(--spacing-4)}.diag-form-grid input:focus,.diag-form-grid select:focus{border-color:var(--color-brand);outline:none}.diag-error{color:var(--color-accent-error);font-size:var(--font-size-sm);margin-top:var(--spacing-3)}.diag-score-chip{align-items:center;background:var(--color-bg-secondary);border-radius:var(--border-radius-full);color:var(--color-text-secondary);display:inline-flex;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4)}.diag-result__sub,.diag-score-chip{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.diag-result__sub{color:var(--color-brand);letter-spacing:.06em;text-transform:uppercase}.diag-result__note{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-2)}.diag-result__note--success{align-items:center;background:#e8f7ee;border-radius:var(--border-radius-xl);color:#167842;display:inline-flex;font-weight:var(--font-weight-bold);gap:var(--spacing-2);padding:var(--spacing-4) var(--spacing-5)}.diag-plan{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);margin-top:var(--spacing-6);padding:var(--spacing-6);text-align:left;width:100%}.diag-plan__head{align-items:flex-start;display:flex;gap:var(--spacing-4);margin-bottom:var(--spacing-5)}.diag-plan__head>svg{background:var(--color-brand-soft);border-radius:var(--border-radius-lg);box-sizing:border-box;color:var(--color-brand);flex-shrink:0;height:42px;padding:12px;width:42px}.diag-plan__head h3{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-extrabold)}.diag-plan__head p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-top:var(--spacing-1)}.diag-plan .diag-btn{margin-top:var(--spacing-5)}@media (max-width:560px){.diag-container{padding:var(--spacing-6) var(--spacing-4) var(--spacing-12)}.diag-card{border-radius:var(--border-radius-2xl);padding:var(--spacing-6) var(--spacing-5)}.diag-question{font-size:var(--font-size-base)}.diag-nav .diag-btn{flex:1 1}}.freemat-page{background:var(--color-bg-primary);padding-bottom:var(--spacing-20)}.freemat-container{margin:0 auto;max-width:900px;padding:var(--spacing-10) var(--spacing-5) 0}.freemat-bookpromo{align-items:center;background:var(--color-brand-softer);border:1px solid var(--color-brand-soft);border-radius:var(--border-radius-2xl);display:flex;gap:var(--spacing-4);margin-bottom:var(--spacing-6);padding:var(--spacing-6);text-decoration:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.freemat-bookpromo:hover{border-color:var(--color-brand);box-shadow:var(--shadow-md);transform:translateY(-1px)}.freemat-bookpromo__icon{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-xl);color:var(--color-brand);display:inline-flex;flex-shrink:0;font-size:var(--font-size-xl);height:48px;justify-content:center;width:48px}.freemat-bookpromo__body{display:flex;flex:1 1;flex-direction:column;gap:2px}.freemat-bookpromo__body strong{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.freemat-bookpromo__body span{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.freemat-bookpromo__btn{align-items:center;background:var(--color-brand);border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;display:inline-flex;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5)}@media (max-width:640px){.freemat-bookpromo{flex-wrap:wrap}.freemat-bookpromo__btn{justify-content:center;width:100%}}.freemat-locked{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--spacing-4);padding:var(--spacing-12) var(--spacing-8);text-align:center}.freemat-locked__icon{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-2xl);color:var(--color-brand);display:inline-flex;font-size:var(--font-size-2xl);height:64px;justify-content:center;width:64px}.freemat-locked h2{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold)}.freemat-locked p{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);max-width:48ch}.freemat-locked__btn{align-items:center;background:var(--color-brand);border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);gap:var(--spacing-2);margin-top:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);text-decoration:none;transition:background var(--transition-fast),transform var(--transition-fast)}.freemat-locked__btn:hover{background:var(--color-brand-strong);color:#fff;transform:translateY(-1px)}.freemat-group{margin-bottom:var(--spacing-10)}.freemat-group__title{border-bottom:1px dashed var(--color-border-primary);color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight);margin-bottom:var(--spacing-5);padding-bottom:var(--spacing-3)}.freemat-grid{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:1fr}.freemat-card{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;gap:var(--spacing-5);padding:var(--spacing-6);text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast);width:100%}.freemat-card:hover{border-color:var(--color-brand-soft);box-shadow:var(--shadow-md);transform:translateY(-2px)}.freemat-card__icon{align-items:center;background:var(--color-error-soft);border-radius:var(--border-radius-xl);color:#d64545;display:inline-flex;flex-shrink:0;font-size:var(--font-size-xl);height:52px;justify-content:center;width:52px}.freemat-card__body{flex:1 1;min-width:0}.freemat-card__body h3{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.freemat-card__body p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-top:2px}.freemat-card__meta{align-items:center;color:var(--color-text-tertiary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);gap:var(--spacing-1);margin-top:var(--spacing-2)}.freemat-card__open{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-full);color:var(--color-brand);display:inline-flex;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);transition:background var(--transition-fast),color var(--transition-fast)}.freemat-card:hover .freemat-card__open{background:var(--color-brand);color:#fff}@media (max-width:639px){.freemat-container{padding:var(--spacing-6) var(--spacing-4) 0}.freemat-card{grid-gap:var(--spacing-3);align-items:start;display:grid;gap:var(--spacing-3);grid-template-columns:48px minmax(0,1fr);padding:var(--spacing-4)}.freemat-card__icon{grid-row:1/span 2;height:48px;width:48px}.freemat-card__open{grid-column:2;justify-self:start;margin-top:var(--spacing-1)}}.modern-about{background:var(--color-bg-primary);overflow-x:clip;padding:0 0 var(--spacing-20)}.modern-about__container{grid-gap:var(--spacing-8);display:grid;gap:var(--spacing-8);grid-template-columns:1fr;margin:0 auto;max-width:var(--max-width-container);padding:0 var(--spacing-5);width:100%}@media (min-width:900px){.modern-about__container{align-items:start;grid-template-columns:260px 1fr}}.modern-about__navigation{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);padding:var(--spacing-5)}@media (min-width:900px){.modern-about__navigation{position:-webkit-sticky;position:sticky;top:calc(64px + var(--spacing-4))}}.modern-about__nav-header{margin-bottom:var(--spacing-4)}.modern-about__nav-header h2{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.modern-about__nav-header p{color:var(--color-text-tertiary);font-size:var(--font-size-sm)}.modern-about__nav-list{display:flex;flex-direction:column;gap:var(--spacing-1)}.modern-about__nav-item{align-items:center;background:#0000;border:none;border-radius:var(--border-radius-lg);color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.modern-about__nav-item svg{color:var(--color-text-tertiary);transition:color var(--transition-fast);width:18px}.modern-about__nav-item:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.modern-about__nav-item--active{background:var(--color-brand-soft);color:var(--color-brand)}.modern-about__nav-item--active svg{color:var(--color-brand)}@media (max-width:899px){.modern-about__nav-list{flex-direction:row;flex-wrap:wrap;gap:var(--spacing-2)}.modern-about__nav-item{flex:1 1 auto;justify-content:center;white-space:nowrap}}.modern-about__content{min-width:0}.modern-about__section{display:flex;flex-direction:column;gap:var(--spacing-10)}.modern-about__hero,.modern-about__section-header{text-align:center}.modern-about__hero h1,.modern-about__section-header h1{color:var(--color-text-primary);font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tighter);margin-bottom:var(--spacing-3)}.modern-about__hero-subtitle,.modern-about__section-header p{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin:0 auto;max-width:640px}.modern-about__stats{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(2,1fr)}@media (min-width:768px){.modern-about__stats{grid-template-columns:repeat(4,1fr)}}.modern-about__stat{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);display:flex;gap:var(--spacing-3);min-width:0;padding:var(--spacing-5)}.modern-about__stat-icon{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-xl);color:var(--color-brand);display:flex;flex-shrink:0;font-size:var(--font-size-lg);height:44px;justify-content:center;width:44px}.modern-about__stat-content{display:flex;flex-direction:column;min-width:0}.modern-about__stat-value{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);line-height:1}.modern-about__stat-label{color:var(--color-text-tertiary);font-size:var(--font-size-xs);line-height:1.25;margin-top:2px}.modern-about__contact h2,.modern-about__features h2,.modern-about__mission h2{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);margin-bottom:var(--spacing-5);text-align:center}.modern-about__features-grid{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:1fr}@media (min-width:640px){.modern-about__features-grid{grid-template-columns:repeat(2,1fr)}}.modern-about__feature{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-left:none;border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);padding:var(--spacing-6);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.modern-about__feature:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.modern-about__feature h3{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-2)}.modern-about__feature p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.modern-about__mission-content{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);padding:var(--spacing-8)}.modern-about__mission-content h2{text-align:left}.mission-lead{border-bottom:1px dashed var(--color-border-strong);color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-6)}.mission-topics{display:flex;flex-direction:column;gap:var(--spacing-6)}.mission-topic{align-items:flex-start;display:flex;gap:var(--spacing-4)}.mission-topic__icon{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-lg);color:var(--color-brand);display:flex;flex-shrink:0;font-size:var(--font-size-base);height:44px;justify-content:center;width:44px}.mission-topic__text h3{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-2)}.mission-topic__text p{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.mission-join{align-items:flex-start;background:var(--color-brand-softer);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);display:flex;gap:var(--spacing-4);margin-top:var(--spacing-8);padding:var(--spacing-6)}.mission-join__icon{color:var(--color-brand);flex-shrink:0;font-size:var(--font-size-xl);margin-top:4px}.mission-join h3{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-2)}.mission-join p{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}@media (max-width:560px){.mission-join,.mission-topic{flex-direction:column}}.modern-about__founders{display:flex;flex-direction:column;gap:var(--spacing-6)}.modern-about__founder{grid-gap:var(--spacing-6);background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-sm);display:grid;gap:var(--spacing-6);grid-template-columns:1fr;padding:var(--spacing-6)}@media (min-width:640px){.modern-about__founder{align-items:start;grid-template-columns:200px 1fr}}.modern-about__founder-image{aspect-ratio:1;border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);overflow:hidden}.modern-about__founder-image img{height:100%;object-fit:cover;width:100%}.modern-about__founder-content h3{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight)}.modern-about__founder-role{background:var(--color-brand-soft);border-radius:var(--border-radius-full);color:var(--color-brand);display:inline-block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:var(--spacing-2) 0 var(--spacing-4);padding:4px 12px}.modern-about__founder-bio{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.modern-about__moderators{grid-gap:var(--spacing-5);display:grid;gap:var(--spacing-5);grid-template-columns:repeat(2,1fr)}@media (min-width:768px){.modern-about__moderators{grid-template-columns:repeat(3,1fr)}}.modern-about__moderator{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);cursor:pointer;padding:var(--spacing-6);text-align:center;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.modern-about__moderator:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.modern-about__moderator-image{border:3px solid var(--color-brand-soft);border-radius:var(--border-radius-full);height:90px;margin:0 auto var(--spacing-4);overflow:hidden;width:90px}.modern-about__moderator-image img{height:100%;object-fit:cover;width:100%}.modern-about__moderator h3{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.modern-about__moderator p{color:var(--color-text-tertiary);font-size:var(--font-size-xs);letter-spacing:.05em;text-transform:uppercase}.modern-about__empty{color:var(--color-text-tertiary);padding:var(--spacing-12);text-align:center}.modern-about__partners{grid-gap:var(--spacing-5);display:grid;gap:var(--spacing-5);grid-template-columns:repeat(2,1fr)}@media (min-width:768px){.modern-about__partners{grid-template-columns:repeat(4,1fr)}}.modern-about__partner{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);padding:var(--spacing-5);text-align:center;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.modern-about__partner:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.modern-about__partner-logo{align-items:center;display:flex;height:70px;justify-content:center;margin-bottom:var(--spacing-3)}.modern-about__partner-logo img{max-height:100%;max-width:100%;object-fit:contain}.modern-about__partner h3{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.modern-about__contact{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);padding:var(--spacing-8)}.modern-about__contact-info{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:1fr}@media (min-width:768px){.modern-about__contact-info{grid-template-columns:repeat(3,1fr)}}.modern-about__contact-item{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-3);padding:var(--spacing-4)}.modern-about__contact-item svg{background:var(--color-brand-soft);border-radius:var(--border-radius-lg);color:var(--color-brand);flex-shrink:0;height:20px;padding:8px;width:20px}.modern-about__contact-item a,.modern-about__contact-item span{min-width:0;word-break:break-word}.modern-about__modal-overlay{align-items:center;animation:about-fade .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1c18308c;display:flex;inset:0;justify-content:center;padding:var(--spacing-5);position:fixed;z-index:var(--z-modal)}@keyframes about-fade{0%{opacity:0}to{opacity:1}}.modern-about__modal{animation:card-float-in .25s ease-out;background:var(--color-bg-elevated);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-2xl);max-width:520px;padding:var(--spacing-8);position:relative;width:100%}@keyframes card-float-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modern-about__modal-close{align-items:center;background:var(--color-bg-secondary);border:none;border-radius:var(--border-radius-full);color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-xl);height:36px;justify-content:center;line-height:1;position:absolute;right:var(--spacing-4);top:var(--spacing-4);transition:background var(--transition-fast),color var(--transition-fast);width:36px}.modern-about__modal-close:hover{background:var(--color-accent-error);color:#fff}.modern-about__modal-content{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-4);text-align:center}.modern-about__modal-image{border:4px solid var(--color-brand-soft);border-radius:var(--border-radius-full);height:120px;overflow:hidden;width:120px}.modern-about__modal-image img{height:100%;object-fit:cover;width:100%}.modern-about__modal-info h3{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.modern-about__modal-role{background:var(--color-brand-soft);border-radius:var(--border-radius-full);color:var(--color-brand);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:.05em;margin-top:var(--spacing-1);padding:3px 12px;text-transform:uppercase}.modern-about__modal-bio{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-top:var(--spacing-3)}@media (max-width:640px){.modern-about__hero h1,.modern-about__section-header h1{font-size:var(--font-size-3xl)}.modern-about__stat{align-items:flex-start;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-4)}.modern-about__section{gap:var(--spacing-8)}.modern-about__contact h2,.modern-about__features h2,.modern-about__mission h2{font-size:var(--font-size-xl)}.modern-about__container{gap:var(--spacing-6)}}@media (max-width:380px){.modern-about__stats{grid-template-columns:1fr}}.modern-article-detail{background:radial-gradient(55% 30% at 50% 0,var(--color-brand-softer),#0000 70%),var(--color-bg-primary);padding:calc(64px + var(--spacing-10)) 0 var(--spacing-20)}.modern-article-detail--hero{background:var(--color-bg-primary);padding-top:0}.modern-article-detail--hero .page-hero{margin-bottom:0;padding-bottom:calc(var(--spacing-12) + var(--spacing-16))}.modern-article-detail--hero .page-hero__title{font-size:clamp(1.75rem,4.5vw,2.6rem);margin-bottom:var(--spacing-4)}.modern-article-detail--hero .modern-article-detail__article{margin-top:calc(var(--spacing-16)*-1);position:relative;z-index:1}.article-hero-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-4)}.article-hero-meta__item{align-items:center;color:#fffc;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-2)}.article-hero-meta__item svg{font-size:var(--font-size-xs);opacity:.7}.modern-article-detail__container{margin:0 auto;max-width:820px;padding:0 var(--spacing-5);width:100%}.modern-article-detail__article{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-md);padding:var(--spacing-10) var(--spacing-8)}@media (max-width:640px){.modern-article-detail__article{padding:var(--spacing-6)}}.modern-article-detail__error,.modern-article-detail__loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--spacing-3);justify-content:center;min-height:50vh;text-align:center}.modern-article-detail__loading svg{color:var(--color-brand);font-size:var(--font-size-3xl)}.modern-article-detail__back-button{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);text-decoration:none;transition:color var(--transition-fast),gap var(--transition-fast)}.modern-article-detail__back-button:hover{color:var(--color-brand);gap:var(--spacing-3)}.modern-article-detail__featured-image{border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);margin-bottom:var(--spacing-8);overflow:hidden}.modern-article-detail__featured-image img{display:block;width:100%}.modern-article-detail__content{margin-bottom:var(--spacing-8)}.modern-article-detail__text{color:var(--color-text-primary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.modern-article-detail__text p{margin-bottom:var(--spacing-5)}.modern-article-detail__text h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);margin:var(--spacing-8) 0 var(--spacing-3)}.modern-article-detail__text h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:var(--spacing-6) 0 var(--spacing-2)}.modern-article-detail__text img{border-radius:var(--border-radius-lg);height:auto;margin:var(--spacing-4) 0;max-width:100%}.modern-article-detail__text a{color:var(--color-brand);text-decoration:underline}.modern-article-detail__text ol,.modern-article-detail__text ul{margin:0 0 var(--spacing-5) var(--spacing-6)}.modern-article-detail__text li{margin-bottom:var(--spacing-2)}.modern-article-detail__text blockquote{background:var(--color-brand-softer);border-left:none;border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0;color:var(--color-text-secondary);margin:var(--spacing-5) 0;padding:var(--spacing-4) var(--spacing-5)}.modern-article-detail__recommended{border-top:1px solid var(--color-border-primary);margin-top:var(--spacing-12);padding-top:var(--spacing-10)}.modern-article-detail__recommended-grid{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.modern-articles__grid--limited{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.modern-article-detail__recommendations-error,.modern-article-detail__recommendations-loading{align-items:center;color:var(--color-text-tertiary);display:flex;gap:var(--spacing-2);padding:var(--spacing-6)}.modern-article-detail__all-articles{margin-top:var(--spacing-8);text-align:center}.modern-article-detail__all-articles-button{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-full);color:var(--color-text-primary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);text-decoration:none;transition:all var(--transition-fast)}.modern-article-detail__all-articles-button:hover{border-color:var(--color-brand);box-shadow:var(--shadow-sm);color:var(--color-brand);transform:translateY(-2px)}.novosti{background:var(--color-bg-primary);padding-bottom:var(--spacing-20)}.novosti__container{margin:0 auto;max-width:var(--max-width-container);padding:0 var(--spacing-5);width:100%}.novosti__hero{background:radial-gradient(60% 120% at 15% 0,#7c3aed8c,#0000 60%),radial-gradient(55% 120% at 90% 100%,#f59e0b4d,#0000 55%),var(--gradient-brand);color:#fff;margin-bottom:var(--spacing-10);overflow:hidden;padding:calc(64px + var(--spacing-12)) var(--spacing-5) var(--spacing-12);position:relative;text-align:center}.novosti__math-bg{color:#fff;height:100%;inset:0;opacity:.16;pointer-events:none;position:absolute;width:100%}.novosti__hero-inner{margin:0 auto;max-width:720px;position:relative;z-index:1}.novosti__eyebrow{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff26;border-radius:var(--border-radius-full);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);letter-spacing:.1em;margin-bottom:var(--spacing-5);padding:var(--spacing-2) var(--spacing-4);text-transform:uppercase}.novosti__title{font-size:clamp(2.2rem,6vw,3.5rem);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tighter);line-height:1.05;margin-bottom:var(--spacing-4)}.novosti__title .text-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(110deg,#fff,#fde68a);-webkit-background-clip:text;background-clip:text}.novosti__subtitle{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-8);opacity:.92}.novosti__search{align-items:center;background:var(--color-bg-elevated);border-radius:var(--border-radius-full);box-shadow:var(--shadow-lg);display:flex;gap:var(--spacing-2);margin:0 auto;max-width:520px;padding:var(--spacing-1) var(--spacing-1) var(--spacing-1) var(--spacing-4)}.novosti__search-icon{color:var(--color-text-tertiary)}.novosti__search-input{background:#0000;border:none;color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-base);padding:var(--spacing-3) var(--spacing-2)}.novosti__search-input:focus{outline:none}.novosti__search-button{background:var(--color-brand);border:none;border-radius:var(--border-radius-full);color:#fff;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-3) var(--spacing-6);transition:background var(--transition-fast)}.novosti__search-button:hover{background:var(--color-brand-strong)}.novosti__empty,.novosti__error,.novosti__loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--spacing-3);justify-content:center;min-height:30vh;text-align:center}.novosti__empty svg,.novosti__loading svg{color:var(--color-brand);font-size:var(--font-size-3xl)}.novosti__empty h3{color:var(--color-text-primary);font-size:var(--font-size-xl)}.novosti__error{color:var(--color-accent-error)}.novosti__clear{background:var(--color-brand-soft);border:none;border-radius:var(--border-radius-full);color:var(--color-brand);cursor:pointer;font-weight:var(--font-weight-semibold);margin-top:var(--spacing-2);padding:var(--spacing-2) var(--spacing-5)}.novosti__featured{grid-gap:0;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-md);display:grid;gap:0;grid-template-columns:1fr;margin-bottom:var(--spacing-12);overflow:hidden;text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.novosti__featured:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}@media (min-width:900px){.novosti__featured{grid-template-columns:1.15fr 1fr}}.novosti__featured-media{background:var(--color-bg-secondary);min-height:280px;overflow:hidden;position:relative}.novosti__featured-media img{height:100%;object-fit:cover;transition:transform var(--transition-slow);width:100%}.novosti__featured:hover .novosti__featured-media img{transform:scale(1.04)}.novosti__featured-body{display:flex;flex-direction:column;gap:var(--spacing-3);justify-content:center;padding:var(--spacing-8)}.novosti__featured-tag{align-items:center;align-self:flex-start;background:var(--color-amber-soft);border-radius:var(--border-radius-full);color:var(--color-amber-strong);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;padding:4px 12px;text-transform:uppercase}.novosti__featured-title{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight);line-height:1.15}.novosti__featured-excerpt{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--color-text-secondary);display:-webkit-box;font-size:var(--font-size-base);line-height:var(--line-height-relaxed);overflow:hidden}.novosti__featured-more{align-items:center;color:var(--color-brand);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);margin-top:var(--spacing-2);transition:gap var(--transition-fast)}.novosti__featured:hover .novosti__featured-more{gap:var(--spacing-3)}.novosti__section-label{align-items:baseline;border-bottom:2px solid var(--color-border-primary);display:flex;justify-content:space-between;margin-bottom:var(--spacing-5);padding-bottom:var(--spacing-3)}.novosti__section-label>span:first-child{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight)}.novosti__count{color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.novosti__grid{grid-gap:var(--spacing-6);display:grid;gap:var(--spacing-6);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.novosti__card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.novosti__card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg);transform:translateY(-5px)}.novosti__card-media{aspect-ratio:16/10;background:var(--color-bg-secondary);overflow:hidden}.novosti__card-media img{height:100%;object-fit:cover;transition:transform var(--transition-slow);width:100%}.novosti__card:hover .novosti__card-media img{transform:scale(1.06)}.novosti__card-media--placeholder{align-items:center;background:radial-gradient(circle at 30% 30%,var(--color-brand-soft),#0000 60%),var(--color-bg-secondary);color:var(--color-border-strong);display:flex;font-size:var(--font-size-4xl);height:100%;justify-content:center;width:100%}.novosti__card-body{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-6)}.novosti__card-meta{align-items:center;color:var(--color-text-tertiary);display:flex;flex-wrap:wrap;font-size:var(--font-size-xs);gap:var(--spacing-2)}.novosti__card-meta svg{color:var(--color-brand)}.novosti__dot{background:var(--color-text-tertiary);border-radius:50%;display:inline-block;height:3px;width:3px}.novosti__card-title{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);line-height:1.3}.novosti__card-excerpt,.novosti__card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.novosti__card-excerpt{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.novosti__card-more{align-items:center;color:var(--color-brand);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);margin-top:auto;padding-top:var(--spacing-4);transition:gap var(--transition-fast)}.novosti__card:hover .novosti__card-more{gap:var(--spacing-3)}.novosti__pagination{flex-wrap:wrap;justify-content:center;margin-top:var(--spacing-12)}.novosti__page-numbers,.novosti__pagination{align-items:center;display:flex;gap:var(--spacing-2)}.novosti__page{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-lg);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);height:40px;justify-content:center;min-width:40px;padding:0 var(--spacing-3);transition:all var(--transition-fast)}.novosti__page:hover:not(:disabled){border-color:var(--color-brand);color:var(--color-brand)}.novosti__page--active{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.novosti__page:disabled{cursor:not-allowed;opacity:.5}.novosti__page-dots{color:var(--color-text-tertiary);padding:0 var(--spacing-1)}@media (max-width:640px){.novosti__hero{padding-top:calc(48px + var(--spacing-10))}.novosti__featured-body{padding:var(--spacing-6)}.novosti__featured-title{font-size:var(--font-size-2xl)}}.modern-competition{background:radial-gradient(55% 35% at 50% 0,var(--color-brand-softer),#0000 70%),var(--color-bg-primary);padding:calc(64px + var(--spacing-10)) 0 var(--spacing-20)}.modern-competition__container{margin:0 auto;max-width:820px;padding:0 var(--spacing-5);width:100%}.modern-competition__loading,.modern-competition__not-auth{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--spacing-3);justify-content:center;min-height:60vh;text-align:center}.modern-competition__loading-icon{color:var(--color-brand);font-size:var(--font-size-4xl)}.modern-competition__not-auth{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--spacing-3);margin:var(--spacing-8) auto 0;max-width:560px;padding:var(--spacing-10) var(--spacing-8);text-align:center}.modern-competition__not-auth-icon{background:var(--color-amber-soft);border-radius:var(--border-radius-full);box-sizing:initial;color:var(--color-amber-strong);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-2);padding:24px}.modern-competition__not-auth h2{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight)}.modern-competition__not-auth p{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);max-width:400px}.modern-competition__not-auth .modern-button{margin-top:var(--spacing-3)}.modern-competition__no-active-content,.modern-competition__results,.modern-competition__welcome{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-md);padding:var(--spacing-8)}.modern-competition__no-active{padding:var(--spacing-6) 0}.modern-competition__no-active-content{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-4);text-align:center}.modern-competition__no-active-icon{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-3xl);color:var(--color-brand);display:flex;font-size:var(--font-size-4xl);height:84px;justify-content:center;width:84px}.modern-competition__no-active-title{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight)}.modern-competition__no-active-description{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);max-width:540px}.modern-competition__no-active-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:center}.modern-competition__no-active-stats{display:flex;flex-wrap:wrap;gap:var(--spacing-4);justify-content:center;margin-top:var(--spacing-2)}.modern-competition__no-active-stat{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);gap:var(--spacing-2)}.modern-competition__no-active-stat-icon{color:var(--color-brand)}.modern-competition .comp-meanwhile{margin-top:var(--spacing-6);width:100%}.comp-meanwhile__label{color:var(--color-text-tertiary);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.1em;margin-bottom:var(--spacing-3);text-align:center;text-transform:uppercase}.comp-meanwhile__cards{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:repeat(3,1fr)}@media (max-width:560px){.comp-meanwhile__cards{grid-template-columns:1fr}}.comp-meanwhile__card{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);color:var(--color-text-primary);cursor:pointer;display:flex;flex-direction:column;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-5) var(--spacing-4);transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.comp-meanwhile__card svg{color:var(--color-brand);font-size:var(--font-size-xl)}.comp-meanwhile__card:hover{border-color:var(--color-brand);box-shadow:var(--shadow-md);transform:translateY(-3px)}.modern-competition__welcome-header{margin-bottom:var(--spacing-8);text-align:center}.modern-competition__welcome-icon{color:var(--color-accent-amber);font-size:var(--font-size-5xl);margin-bottom:var(--spacing-4)}.modern-competition__welcome-header h1{color:var(--color-text-primary);font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tighter);margin-bottom:var(--spacing-3)}.modern-competition__welcome-description{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin:0 auto;max-width:560px}.modern-competition__info-grid{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:repeat(2,1fr);margin-bottom:var(--spacing-6)}@media (max-width:560px){.modern-competition__info-grid{grid-template-columns:1fr}}.modern-competition__info-item{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-xl);color:var(--color-text-primary);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-3);padding:var(--spacing-4)}.modern-competition__info-item svg{color:var(--color-brand);font-size:var(--font-size-lg)}.modern-competition__welcome-rules{background:var(--color-brand-softer);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);margin-bottom:var(--spacing-6);padding:var(--spacing-6)}.modern-competition__welcome-rules h3{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-3)}.modern-competition__welcome-rules ul{display:flex;flex-direction:column;gap:var(--spacing-2);list-style:none}.modern-competition__welcome-rules li{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);padding-left:var(--spacing-6);position:relative}.modern-competition__welcome-rules li:before{color:var(--color-brand);content:"✓";font-weight:var(--font-weight-bold);left:0;position:absolute;top:0}.modern-competition__start-button,.modern-competition__submit-button{align-items:center;background:var(--color-brand);border:none;border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);justify-content:center;padding:var(--spacing-4) var(--spacing-8);transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);width:100%}.modern-competition__start-button:hover,.modern-competition__submit-button:hover{background:var(--color-brand-strong);box-shadow:var(--shadow-brand);transform:translateY(-2px)}.modern-competition__start-button:disabled,.modern-competition__submit-button:disabled{cursor:not-allowed;opacity:.7;transform:none}.modern-competition__header{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:var(--spacing-4);justify-content:space-between;margin-bottom:var(--spacing-5);padding:var(--spacing-4) var(--spacing-5);position:-webkit-sticky;position:sticky;top:calc(64px + var(--spacing-2));z-index:5}.modern-competition__timer{align-items:center;display:inline-flex;font-weight:var(--font-weight-extrabold);gap:var(--spacing-2)}.modern-competition__timer-icon{color:var(--color-brand)}.modern-competition__timer-text{font-feature-settings:"tnum";color:var(--color-text-primary);font-size:var(--font-size-xl);font-variant-numeric:tabular-nums}.modern-competition__timer-icon.warning,.modern-competition__timer-text.warning{color:var(--color-amber-strong)}.modern-competition__timer-icon.danger,.modern-competition__timer-text.danger{animation:pulse 1s infinite;color:var(--color-accent-error)}@keyframes pulse{50%{opacity:.5}}.modern-competition__progress{flex:1 1;min-width:160px}.modern-competition__progress-text{color:var(--color-text-secondary);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2)}.modern-competition__progress-bar{background:var(--color-bg-accent);border-radius:var(--border-radius-full);height:8px;overflow:hidden}.modern-competition__progress-fill{background:var(--gradient-brand);border-radius:var(--border-radius-full);height:100%;transition:width var(--transition-normal)}.modern-competition__score{align-items:center;background:var(--color-amber-soft);border-radius:var(--border-radius-full);color:var(--color-amber-strong);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4)}.modern-competition__task{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-5);padding:var(--spacing-8)}.modern-competition__task-title{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);margin-bottom:var(--spacing-4)}.modern-competition__task-description{color:var(--color-text-primary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);overflow-x:auto}.modern-competition__task-image{margin-top:var(--spacing-5)}.modern-competition__task-image-content{border:1px solid var(--color-border-primary);border-radius:var(--border-radius-lg);max-width:100%}.modern-competition__task-points{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-full);color:var(--color-brand);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);margin-top:var(--spacing-5);padding:var(--spacing-2) var(--spacing-4)}.modern-competition__answer{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-sm);padding:var(--spacing-6)}.modern-competition__answer-input{display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.modern-competition__input{background:var(--color-bg-secondary);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-lg);color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-lg);min-width:180px;padding:var(--spacing-4) var(--spacing-5);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.modern-competition__input:focus{background:var(--color-bg-elevated);border-color:var(--color-brand);box-shadow:var(--ring-brand);outline:none}.modern-competition__submit-button{font-size:var(--font-size-base);width:auto}.modern-competition__feedback{align-items:center;border-radius:var(--border-radius-lg);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);margin-top:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4)}.modern-competition__feedback--success{background:#0ea3711a;color:var(--color-accent-success)}.modern-competition__feedback--error{background:#e2483d1a;color:var(--color-accent-error)}.comp-results-hero{align-items:center;background:radial-gradient(70% 120% at 10% 0,#7c3aed80,#0000 60%),var(--gradient-brand);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-md);color:#fff;display:flex;flex-wrap:wrap;gap:var(--spacing-4);margin-bottom:var(--spacing-6);padding:var(--spacing-5) var(--spacing-6)}.comp-results-hero__icon{align-items:center;background:#ffffff2e;border-radius:var(--border-radius-full);color:var(--color-accent-amber);display:flex;flex-shrink:0;font-size:var(--font-size-2xl);height:56px;justify-content:center;width:56px}.comp-results-hero__text{flex:1 1;min-width:180px}.comp-results-hero__eyebrow{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;opacity:.85;text-transform:uppercase}.comp-results-hero__text h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight);margin-top:2px}.comp-results-hero__score{align-items:center;background:#ffffff24;border-radius:var(--border-radius-xl);display:flex;flex-direction:column;padding:var(--spacing-3) var(--spacing-5)}.comp-results-hero__score strong{font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);line-height:1}.comp-results-hero__score span{font-size:var(--font-size-xs);margin-top:2px;opacity:.85}.modern-competition__results-stats{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:repeat(3,1fr);margin-bottom:var(--spacing-8)}@media (max-width:560px){.modern-competition__results-stats{grid-template-columns:1fr}.comp-results-hero__score{align-items:baseline;flex-direction:row;gap:var(--spacing-2);justify-content:center;width:100%}}.modern-competition__stat{background:var(--color-brand-softer);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);padding:var(--spacing-5);text-align:center}.modern-competition__stat-value{color:var(--color-brand);font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);line-height:1}.modern-competition__stat-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-2)}.modern-competition__results-breakdown h3{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-4)}.modern-competition__answers-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.modern-competition__answer-item{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);display:flex;gap:var(--spacing-4);padding:var(--spacing-4)}.modern-competition__answer-number{align-items:center;border-radius:var(--border-radius-full);display:flex;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);height:32px;justify-content:center;width:32px}.modern-competition__answer-item.correct .modern-competition__answer-number{background:#0ea3711f;color:var(--color-accent-success)}.modern-competition__answer-item.incorrect .modern-competition__answer-number{background:#e2483d1a;color:var(--color-accent-error)}.modern-competition__answer-content{flex:1 1;min-width:0}.modern-competition__answer-title{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.modern-competition__answer-details{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.modern-competition__answer-details strong{color:var(--color-text-primary)}.modern-competition__answer-points{border-radius:var(--border-radius-full);flex-shrink:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:2px 10px}.modern-competition__answer-points.correct{background:#0ea3711f;color:var(--color-accent-success)}.modern-competition__answer-points.incorrect{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);color:var(--color-text-tertiary)}.modern-competition__answer-status svg{font-size:var(--font-size-xl)}.modern-competition__answer-status svg.correct{color:var(--color-accent-success)}.modern-competition__answer-status svg.incorrect{color:var(--color-accent-error)}.modern-competition__results-actions{display:flex;justify-content:center;margin-top:var(--spacing-8)}@media (max-width:640px){.modern-competition__no-active-content,.modern-competition__results,.modern-competition__task,.modern-competition__welcome{padding:var(--spacing-6)}.modern-competition__welcome-header h1{font-size:var(--font-size-3xl)}.modern-competition__header{position:static}}.modern-login{align-items:center;background:radial-gradient(50% 40% at 50% 0,var(--color-brand-softer),#0000 70%),var(--color-bg-primary);display:flex;justify-content:center;min-height:100vh;min-height:100dvh;padding:calc(64px + var(--spacing-8)) var(--spacing-5) var(--spacing-12)}.modern-login__container{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-xl);display:grid;grid-template-columns:1fr;max-width:1060px;overflow:hidden;width:100%}@media (min-width:900px){.modern-login__container{grid-template-columns:1.05fr 1fr}}.modern-login__left{background:radial-gradient(70% 60% at 15% 10%,#7c3aed8c,#0000 60%),radial-gradient(60% 60% at 90% 90%,#f59e0b47,#0000 55%),var(--gradient-brand);color:#fff;display:none;flex-direction:column;gap:var(--spacing-8);justify-content:center;overflow:hidden;padding:var(--spacing-12);position:relative}@media (min-width:900px){.modern-login__left{display:flex}}.modern-login__left:before{background-image:linear-gradient(#ffffff12 1px,#0000 0),linear-gradient(90deg,#ffffff12 1px,#0000 0);background-size:40px 40px;content:"";inset:0;mask-image:radial-gradient(80% 80% at 30% 30%,#000,#0000 80%);-webkit-mask-image:radial-gradient(80% 80% at 30% 30%,#000,#0000 80%);pointer-events:none;position:absolute}.modern-login__left>*{position:relative;z-index:1}.modern-login__brand h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tighter);line-height:1.1;margin-bottom:var(--spacing-4)}.modern-login__brand .text-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(110deg,#fff,#fde68a);-webkit-background-clip:text;background-clip:text}.modern-login__brand p{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);max-width:420px;opacity:.92}.modern-login__features{display:flex;flex-direction:column;gap:var(--spacing-5)}.modern-login__feature{align-items:flex-start;display:flex;gap:var(--spacing-4)}.modern-login__feature-icon{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff26;border-radius:var(--border-radius-xl);display:flex;flex-shrink:0;font-size:var(--font-size-lg);height:46px;justify-content:center;width:46px}.modern-login__feature-content h3{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin-bottom:2px}.modern-login__feature-content p{font-size:var(--font-size-sm);opacity:.85}.modern-login__stats{border-top:1px solid #ffffff2e;display:flex;gap:var(--spacing-6);padding-top:var(--spacing-6)}.modern-login__stat{display:flex;flex-direction:column}.modern-login__stat-number{font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);line-height:1}.modern-login__stat-label{font-size:var(--font-size-xs);margin-top:var(--spacing-1);opacity:.82}.modern-login__right{align-items:center;display:flex;justify-content:center;padding:var(--spacing-10) var(--spacing-8)}.modern-login__form-container{max-width:400px;transition:opacity var(--transition-fast),transform var(--transition-fast);width:100%}.modern-login__form-container--animating{opacity:0;transform:translateY(8px)}.modern-login__mode-toggle{grid-gap:var(--spacing-1);background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-full);display:grid;gap:var(--spacing-1);grid-template-columns:1fr 1fr;margin-bottom:var(--spacing-6);padding:var(--spacing-1)}.modern-login__mode-button{align-items:center;background:#0000;border:none;border-radius:var(--border-radius-full);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);justify-content:center;padding:var(--spacing-3) var(--spacing-4);transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.modern-login__mode-button--active{background:var(--color-bg-elevated);box-shadow:var(--shadow-sm);color:var(--color-brand)}.modern-login__title{margin-bottom:var(--spacing-6)}.modern-login__title h2{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight);margin-bottom:var(--spacing-1)}.modern-login__title p{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.modern-login__message{align-items:center;border-radius:var(--border-radius-lg);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-3);margin-bottom:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4)}.modern-login__message--success{background:#0ea3711a;border:1px solid #0ea37140;color:var(--color-accent-success)}.modern-login__message--error{background:#e2483d1a;border:1px solid #e2483d40;color:var(--color-accent-error)}.modern-login__form{display:flex;flex-direction:column;gap:var(--spacing-4)}.modern-login__field{display:flex;flex-direction:column;gap:var(--spacing-2)}.modern-login__label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.modern-login__input-wrapper{align-items:center;display:flex;position:relative}.modern-login__input-icon{color:var(--color-text-tertiary);font-size:var(--font-size-sm);left:var(--spacing-4);pointer-events:none;position:absolute;transition:color var(--transition-fast)}.modern-login__input{background:var(--color-bg-secondary);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-lg);color:var(--color-text-primary);font-size:var(--font-size-base);padding:var(--spacing-3) var(--spacing-4) var(--spacing-3) calc(var(--spacing-4) + var(--spacing-6));transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);width:100%}.modern-login__input:focus{background:var(--color-bg-elevated);border-color:var(--color-brand);box-shadow:var(--ring-brand);outline:none}.modern-login__input-wrapper:focus-within .modern-login__input-icon,.modern-login__input:focus+.modern-login__password-toggle{color:var(--color-brand)}.modern-login__password-toggle{align-items:center;background:#0000;border:none;border-radius:var(--border-radius-md);color:var(--color-text-tertiary);cursor:pointer;display:flex;height:32px;justify-content:center;position:absolute;right:var(--spacing-3);transition:color var(--transition-fast),background var(--transition-fast);width:32px}.modern-login__password-toggle:hover{background:var(--color-brand-soft);color:var(--color-brand)}.modern-login__submit{align-items:center;background:var(--color-brand);border:none;border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);justify-content:center;margin-top:var(--spacing-2);padding:var(--spacing-4) var(--spacing-6);transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.modern-login__submit:hover{background:var(--color-brand-strong);box-shadow:var(--shadow-brand);transform:translateY(-2px)}.modern-login__submit:disabled{cursor:not-allowed;opacity:.7;transform:none}.modern-login__forgot{margin-top:var(--spacing-2);text-align:center}.modern-login__forgot-link,.modern-login__terms-link{color:var(--color-brand);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-decoration:none}.modern-login__forgot-link:hover,.modern-login__terms-link:hover{color:var(--color-brand-strong);text-decoration:underline}.modern-login__terms{margin-top:var(--spacing-2)}.modern-login__terms p{color:var(--color-text-tertiary);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed);text-align:center}@media (max-width:480px){.modern-login__right{padding:var(--spacing-8) var(--spacing-5)}}.modern-profile{background:radial-gradient(50% 30% at 50% 0,var(--color-brand-softer),#0000 70%),var(--color-bg-primary);padding:calc(64px + var(--spacing-8)) 0 var(--spacing-20)}.modern-profile__container{margin:0 auto;max-width:880px;padding:0 var(--spacing-5);width:100%}.modern-profile__loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--spacing-4);justify-content:center;min-height:50vh}.modern-profile__loading svg{color:var(--color-brand);font-size:var(--font-size-3xl)}.modern-profile__nav{margin-bottom:var(--spacing-5)}.modern-profile__nav-back{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);text-decoration:none;transition:color var(--transition-fast),gap var(--transition-fast)}.modern-profile__nav-back:hover{color:var(--color-brand);gap:var(--spacing-3)}.modern-profile__header{background:radial-gradient(70% 120% at 12% 0,#7c3aed80,#0000 60%),radial-gradient(60% 120% at 95% 100%,#f59e0b47,#0000 55%),var(--gradient-brand);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-lg);color:#fff;margin-bottom:var(--spacing-6);overflow:hidden;padding:var(--spacing-8);position:relative}.modern-profile__header-content{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-5);text-align:center}@media (min-width:640px){.modern-profile__header-content{align-items:center;flex-direction:row;gap:var(--spacing-6);text-align:left}}.modern-profile__avatar{align-items:center;background:#ffffff2e;border:4px solid #ffffff4d;border-radius:var(--border-radius-full);color:#ffffffd9;display:flex;flex-shrink:0;font-size:var(--font-size-4xl);height:110px;justify-content:center;overflow:visible;position:relative;width:110px}.modern-profile__avatar img{border-radius:var(--border-radius-full);height:100%;object-fit:cover;width:100%}.modern-profile__avatar-upload{align-items:center;background:var(--color-accent-amber);border:3px solid #fff;border-radius:var(--border-radius-full);bottom:-2px;color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-sm);height:36px;justify-content:center;position:absolute;right:-2px;transition:transform var(--transition-fast);width:36px}.modern-profile__avatar-upload:hover{transform:scale(1.1)}.modern-profile__info h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight)}.modern-profile__username{font-size:var(--font-size-base);margin-bottom:var(--spacing-4);opacity:.85}.modern-profile__stats{display:flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:center}@media (min-width:640px){.modern-profile__stats{justify-content:flex-start}}.modern-profile__stat{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff24;border-radius:var(--border-radius-xl);display:flex;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4)}.modern-profile__stat>svg{font-size:var(--font-size-lg);opacity:.9}.modern-profile__stat>div{display:flex;flex-direction:column}.modern-profile__stat-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-extrabold);line-height:1.1}.modern-profile__stat-label{font-size:var(--font-size-xs);opacity:.82}.modern-profile__rank-badge{align-items:center;background:#fff3;border-radius:var(--border-radius-full);color:#fff;display:inline-flex;font-size:var(--font-size-sm)!important;font-weight:var(--font-weight-bold);gap:var(--spacing-2);padding:3px 10px}.modern-profile__rank-crown{font-size:var(--font-size-xs)}.modern-profile__form-section{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-sm);padding:var(--spacing-8)}.modern-profile__form-header{margin-bottom:var(--spacing-6)}.modern-profile__form-header h2{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);gap:var(--spacing-3);letter-spacing:var(--tracking-tight)}.modern-profile__form-header h2 svg{color:var(--color-brand);font-size:.85em}.modern-profile__form-header p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-1)}.modern-profile__form{grid-gap:var(--spacing-5);display:grid;gap:var(--spacing-5);grid-template-columns:1fr}@media (min-width:640px){.modern-profile__form{grid-template-columns:1fr 1fr}}.modern-profile__input-group{display:flex;flex-direction:column;gap:var(--spacing-2)}.modern-profile__form-actions,.modern-profile__input-group:nth-child(2),.modern-profile__message{grid-column:1/-1}.modern-profile__label{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2)}.modern-profile__label svg{color:var(--color-brand);font-size:var(--font-size-xs)}.modern-profile__input,.modern-profile__textarea{background:var(--color-bg-secondary);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-lg);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-3) var(--spacing-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);width:100%}.modern-profile__textarea{line-height:var(--line-height-relaxed);min-height:110px;resize:vertical}.modern-profile__input:focus,.modern-profile__textarea:focus{background:var(--color-bg-elevated);border-color:var(--color-brand);box-shadow:var(--ring-brand);outline:none}.modern-profile__input--disabled,.modern-profile__input:disabled{background:var(--color-bg-accent);color:var(--color-text-tertiary);cursor:not-allowed}.modern-profile__help-text{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.modern-profile__form-actions{display:flex;justify-content:flex-end}.modern-profile__button{align-items:center;border:none;border-radius:var(--border-radius-full);cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-4) var(--spacing-8);transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.modern-profile__button--primary{background:var(--color-brand);box-shadow:var(--shadow-brand-sm);color:#fff}.modern-profile__button--primary:hover{background:var(--color-brand-strong);box-shadow:var(--shadow-brand);transform:translateY(-2px)}.modern-profile__button:disabled{cursor:not-allowed;opacity:.7;transform:none}.modern-profile__message{align-items:center;border-radius:var(--border-radius-lg);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4)}.modern-profile__message--success{background:#0ea3711a;border:1px solid #0ea37140;color:var(--color-accent-success)}.modern-profile__message--error{background:#e2483d1a;border:1px solid #e2483d40;color:var(--color-accent-error)}@media (max-width:640px){.modern-profile__form-section,.modern-profile__header{padding:var(--spacing-6)}}.not-found-page{align-items:center;background:radial-gradient(60% 50% at 50% 0,var(--color-brand-softer),#0000 70%),var(--color-bg-primary);display:flex;justify-content:center;min-height:100vh;min-height:100dvh;padding:calc(64px + var(--spacing-8)) var(--spacing-5) var(--spacing-12);text-align:center}.not-found-content{max-width:520px}.not-found-code{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,var(--color-accent-primary),var(--color-accent-secondary));-webkit-background-clip:text;background-clip:text;font-size:clamp(5rem,22vw,10rem);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tighter);line-height:1;margin-bottom:var(--spacing-4)}.not-found-content h1{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-3)}.not-found-content p{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-8)}.not-found-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:center}.not-found-btn{align-items:center;border:1px solid #0000;border-radius:var(--border-radius-full);cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);text-decoration:none;transition:all var(--transition-fast)}.not-found-btn--primary{background:var(--color-brand);box-shadow:var(--shadow-brand-sm);color:#fff}.not-found-btn--primary:hover{background:var(--color-brand-strong);box-shadow:var(--shadow-brand);transform:translateY(-2px)}.not-found-btn--secondary{background:var(--color-bg-elevated);border-color:var(--color-border-strong);color:var(--color-text-primary)}.not-found-btn--secondary:hover{border-color:var(--color-brand);color:var(--color-brand);transform:translateY(-2px)}.practice-page{background:var(--color-bg-primary);padding:0 0 var(--spacing-20)}.practice-page .page-hero{margin-bottom:0;padding-bottom:calc(var(--spacing-12) + var(--spacing-16))}.practice-container{margin:0 auto;max-width:1120px;padding:0 var(--spacing-5);width:100%}.practice-layout{grid-gap:var(--spacing-6);align-items:start;display:grid;gap:var(--spacing-6);grid-template-columns:minmax(0,1fr) 320px;margin-top:calc(var(--spacing-16)*-1);position:relative;z-index:1}.practice-main{min-width:0}.practice-side{gap:var(--spacing-5);position:-webkit-sticky;position:sticky;top:calc(64px + var(--spacing-6))}.practice-loading,.practice-side{display:flex;flex-direction:column}.practice-loading{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-xs);color:var(--color-text-secondary);gap:var(--spacing-3);justify-content:center;min-height:320px;text-align:center}.practice-loading svg{color:var(--color-brand);font-size:var(--font-size-3xl)}.practice-empty{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-10) var(--spacing-8);text-align:center}.practice-empty__icon{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-full);color:var(--color-brand);display:flex;font-size:var(--font-size-2xl);height:72px;justify-content:center;width:72px}.practice-empty h2{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight)}.practice-empty p{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);max-width:420px}.next-btn,.skip-btn{align-items:center;border-radius:var(--border-radius-full);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);transition:all var(--transition-fast)}.next-btn{background:var(--color-brand);border:none;box-shadow:var(--shadow-brand-sm);color:#fff;font-size:var(--font-size-base);margin-top:var(--spacing-6);padding:var(--spacing-4) var(--spacing-8)}.next-btn:hover{background:var(--color-brand-strong);transform:translateY(-2px)}.skip-section{display:flex;justify-content:center;margin-top:var(--spacing-5)}.skip-btn{background:none;border:none;color:var(--color-text-tertiary);padding:var(--spacing-2) var(--spacing-3);text-decoration:underline;text-underline-offset:3px}.skip-btn:hover{color:var(--color-text-secondary)}.hint-stack{display:flex;flex-direction:column;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.hint-item{background:#fff9e6;border:1px solid #f5e2a8;border-radius:var(--border-radius-lg);padding:var(--spacing-4) var(--spacing-5);position:relative}.hint-item__badge{align-items:center;color:#b7791f;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.hint-item__text{color:var(--color-text-primary);line-height:var(--line-height-relaxed)}.hint-item__penalty{color:#c05621;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);position:absolute;right:var(--spacing-5);top:var(--spacing-4)}.wrong-banner{align-items:center;background:var(--color-error-soft);border:1px solid var(--color-error-border);border-radius:var(--border-radius-lg);color:var(--color-error-strong);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4)}.help-actions,.wrong-banner{display:flex;gap:var(--spacing-3)}.help-actions{flex-wrap:wrap;margin-top:var(--spacing-4)}.giveup-btn,.hint-btn{align-items:center;border-radius:var(--border-radius-full);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);transition:all var(--transition-fast)}.hint-btn{background:#fff4d6;border:1px solid #f0d488;color:#b7791f}.hint-btn:hover{background:#ffeab8}.hint-btn:disabled{cursor:default;opacity:.6}.hint-btn__count{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);opacity:.7;padding-left:var(--spacing-2)}.giveup-btn{background:#0000;border:1px solid var(--color-border-strong);color:var(--color-text-secondary)}.giveup-btn:hover{border-color:var(--color-error-strong);color:var(--color-error-strong)}.practice-result__actions{display:flex;justify-content:center}.side-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);padding:var(--spacing-5) var(--spacing-6)}.side-card h3{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);letter-spacing:.05em;margin-bottom:var(--spacing-4);text-transform:uppercase}.side-card h3 svg{color:var(--color-brand)}.practice-stats-grid{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.practice-stat{align-items:center;background:var(--color-brand-softer);border-radius:var(--border-radius-xl);display:flex;flex-direction:column;padding:var(--spacing-5) var(--spacing-4)}.practice-stat__value{color:var(--color-brand);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);line-height:1.1}.practice-stat__label{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-top:var(--spacing-1)}.practice-cat-stats{display:flex;flex-direction:column;gap:var(--spacing-3);margin-top:var(--spacing-5)}.practice-cat-stat__head{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:var(--spacing-1)}.practice-cat-stat__name{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.practice-cat-stat__nums{color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.practice-cat-stat__track{background:var(--color-bg-secondary);border-radius:var(--border-radius-full);height:6px;overflow:hidden}.practice-cat-stat__fill{background:var(--color-brand);border-radius:var(--border-radius-full);height:100%;transition:width .4s ease}.practice-page .filter-group{align-items:stretch;display:flex;flex-direction:column;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.practice-page .filter-group label{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.practice-page .filter-group select{background:var(--color-bg-secondary);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-lg);color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-3) var(--spacing-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.practice-page .filter-group select:focus{border-color:var(--color-brand);box-shadow:var(--ring-brand);outline:none}.difficulty-chips{grid-gap:var(--spacing-2);display:grid;gap:var(--spacing-2);grid-template-columns:repeat(4,1fr)}.difficulty-chip{background:var(--color-bg-secondary);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-full);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:var(--spacing-2) 0;text-align:center;transition:all var(--transition-fast);white-space:nowrap}.difficulty-chip:hover{border-color:var(--color-brand);color:var(--color-brand)}.difficulty-chip.active{background:var(--color-brand);border-color:var(--color-brand);box-shadow:var(--shadow-brand-sm);color:#fff}.filter-active{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-lg);display:flex;gap:var(--spacing-3);justify-content:space-between;padding:var(--spacing-3) var(--spacing-4)}.filter-active__text{color:var(--color-brand);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-active__clear,.filter-active__text{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.filter-active__clear{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;padding:0;text-decoration:underline;transition:color var(--transition-fast)}.filter-active__clear:hover{color:var(--color-error-strong)}.filter-hint{color:var(--color-text-tertiary);font-size:var(--font-size-xs);line-height:var(--line-height-relaxed)}.practice-note{background:var(--color-brand-softer)}.practice-note p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.practice-note strong{color:var(--color-text-primary)}@media (max-width:899px){.practice-layout{grid-template-columns:1fr}.practice-side{position:static}}@media (max-width:640px){.practice-empty{padding:var(--spacing-8) var(--spacing-5)}}.problem-set-view-page{background:radial-gradient(60% 40% at 50% 0,var(--color-brand-softer),#0000 70%),var(--color-bg-primary);padding:calc(64px + var(--spacing-12)) 0 var(--spacing-20)}.view-container{margin:0 auto;max-width:880px;padding:0 var(--spacing-5);width:100%}.view-error,.view-loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--spacing-4);justify-content:center;min-height:50vh}.view-loading svg{color:var(--color-brand)}.view-error p{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.view-header{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-8);padding:var(--spacing-10) var(--spacing-8);text-align:center}.category-badge{background:var(--color-brand);border-radius:var(--border-radius-full);color:#fff;display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;padding:5px 14px;text-transform:uppercase}.view-header h1{color:var(--color-text-primary);font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tighter);margin:var(--spacing-4) 0 var(--spacing-3)}.problem-set-view-page .view-header .description{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin:0 auto var(--spacing-6);max-width:620px}.problem-set-view-page .header-stats{align-items:center;display:inline-flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:center}.problem-set-view-page .header-stats .stat{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4)}.problem-set-view-page .header-stats .stat svg{color:var(--color-brand)}.problem-set-view-page .items-list{display:flex;flex-direction:column;gap:var(--spacing-4)}.problem-set-view-page .empty-state{background:var(--color-bg-elevated);border:1px dashed var(--color-border-strong);border-radius:var(--border-radius-2xl);color:var(--color-text-tertiary);padding:var(--spacing-16) var(--spacing-4);text-align:center}.problem-set-view-page .item-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);overflow:hidden;transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.problem-set-view-page .item-card:hover{box-shadow:var(--shadow-md)}.problem-set-view-page .item-card.lesson,.problem-set-view-page .item-card.problem{border-left:none}.problem-set-view-page .item-header{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-4);justify-content:space-between;padding:var(--spacing-4) var(--spacing-5);transition:background var(--transition-fast);-webkit-user-select:none;user-select:none}.problem-set-view-page .item-header:hover{background:var(--color-bg-secondary)}.problem-set-view-page .item-info{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-3);min-width:0}.problem-set-view-page .item-number{background:var(--color-brand-soft);color:var(--color-brand);display:flex;flex-shrink:0;font-size:var(--font-size-sm);height:30px;justify-content:center;width:30px}.problem-set-view-page .item-number,.problem-set-view-page .item-type-badge{align-items:center;border-radius:var(--border-radius-full);font-weight:var(--font-weight-bold)}.problem-set-view-page .item-type-badge{display:inline-flex;font-size:var(--font-size-xs);gap:var(--spacing-2);letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.problem-set-view-page .item-type-badge.problem{background:var(--color-brand-soft);color:var(--color-brand)}.problem-set-view-page .item-type-badge.lesson{background:#7c3aed1a;color:var(--color-accent-secondary)}.difficulty-badge{background:var(--color-amber-soft);border-radius:var(--border-radius-full);color:var(--color-amber-strong);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);padding:4px 10px}.problem-set-view-page .lesson-title{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.problem-set-view-page .expand-icon{color:var(--color-text-tertiary);flex-shrink:0;font-size:var(--font-size-sm);transition:color var(--transition-fast)}.problem-set-view-page .item-header:hover .expand-icon{color:var(--color-brand)}.problem-set-view-page .item-content{border-top:1px solid var(--color-border-secondary);padding:0 var(--spacing-5) var(--spacing-5)}.problem-set-view-page .lesson-content,.problem-set-view-page .problem-text{color:var(--color-text-primary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);overflow-x:auto;padding-top:var(--spacing-4)}.problem-set-view-page .lesson-image,.problem-set-view-page .problem-image{margin-top:var(--spacing-4)}.problem-set-view-page .lesson-image img,.problem-set-view-page .problem-image img{border:1px solid var(--color-border-primary);border-radius:var(--border-radius-lg);max-width:100%}.problem-set-view-page .solution-section{margin-top:var(--spacing-5)}.problem-set-view-page .solution-toggle{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-full);color:var(--color-brand);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);transition:background var(--transition-fast),border-color var(--transition-fast)}.problem-set-view-page .solution-toggle:hover{background:var(--color-brand-soft);border-color:var(--color-brand)}.problem-set-view-page .solution-content{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);color:var(--color-text-primary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin-top:var(--spacing-4);overflow-x:auto;padding:var(--spacing-5)}.problem-set-view-page .pdf-link{align-items:center;background:var(--color-brand);border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);margin-top:var(--spacing-4);padding:var(--spacing-3) var(--spacing-5);text-decoration:none;transition:background var(--transition-fast),transform var(--transition-fast)}.problem-set-view-page .pdf-link:hover{background:var(--color-brand-strong);transform:translateY(-2px)}@media (max-width:640px){.view-header{padding:var(--spacing-8) var(--spacing-5)}.view-header h1{font-size:var(--font-size-3xl)}}.program-course{background:var(--color-bg-primary);padding:0 0 var(--spacing-20)}.program-course .page-hero{margin-bottom:0;padding-bottom:calc(var(--spacing-12) + var(--spacing-16))}.program-course__container{display:flex;flex-direction:column;gap:var(--spacing-5);margin:0 auto;margin-top:calc(var(--spacing-16)*-1);max-width:960px;padding:0 var(--spacing-5);position:relative;width:100%;z-index:1}.course-hero__eyebrow{margin-bottom:var(--spacing-4)}.program-course .page-hero__title{text-transform:uppercase}.course-hero__promise{color:#fff;font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);line-height:1.3;margin-top:var(--spacing-2)}.course-hero__intro{font-size:var(--font-size-base);margin-top:var(--spacing-3);max-width:760px}.course-hero-meta{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #fff3;border-radius:var(--border-radius-2xl);display:grid;grid-template-columns:.9fr 1.5fr .9fr;margin-top:var(--spacing-6);max-width:760px;overflow:hidden;width:100%}.course-hero-meta--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.course-hero-meta__item{min-width:0;padding:var(--spacing-4) var(--spacing-5)}.course-hero-meta__item+.course-hero-meta__item{border-left:1px solid #ffffff2e}.course-hero-meta--compact>.course-hero-meta__item:nth-child(odd),.course-hero-meta:not(.course-hero-meta--compact)>.course-hero-meta__item:nth-child(3n+1){border-left:none}.course-hero-meta--compact>.course-hero-meta__item:nth-child(n+3),.course-hero-meta:not(.course-hero-meta--compact)>.course-hero-meta__item:nth-child(n+4){border-top:1px solid #ffffff2e}.course-hero-meta__note{color:#ffffffb8;display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-top:2px}.course-hero-meta__item>span{color:#ffffffb8;display:block;font-size:.68rem;font-weight:var(--font-weight-bold);letter-spacing:.1em;margin-bottom:4px;text-transform:uppercase}.course-hero-meta__item>strong{color:#fff;display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:1.45}.course-hero-meta__status{padding-left:16px;position:relative}.course-hero-meta__status:before{background:#ffffff8c;border-radius:50%;box-shadow:0 0 0 4px #ffffff14;content:"";height:7px;left:0;position:absolute;top:.55em;width:7px}.course-hero-meta__status--active:before{background:#7ee2b8;box-shadow:0 0 0 4px #7ee2b824}.course-path{grid-gap:var(--spacing-3);align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);display:grid;gap:var(--spacing-3);grid-template-columns:1fr auto 1fr auto 1fr;padding:var(--spacing-4)}.course-path>svg{color:var(--color-border-strong)}.course-path__step{border-radius:var(--border-radius-xl);min-width:0;padding:var(--spacing-3) var(--spacing-4)}.course-path__step span{color:var(--color-text-tertiary);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.06em;margin-bottom:3px;text-transform:uppercase}.course-path__step strong{color:var(--color-text-primary);font-size:var(--font-size-sm)}.course-path__step--current{background:var(--color-brand-softer)}.course-hero-cta,.course-path__step--current strong{color:var(--color-brand)}.course-hero-cta{align-items:center;background:#fff;border:none;border-radius:var(--border-radius-full);box-shadow:var(--shadow-lg);cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);gap:var(--spacing-2);margin-top:var(--spacing-6);padding:var(--spacing-4) var(--spacing-8);text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.course-hero-cta:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.course-hero-cta--solid{background:var(--color-brand);box-shadow:var(--shadow-brand-sm);color:#fff;margin-top:var(--spacing-4)}.course-hero-cta--solid:hover{background:var(--color-brand-strong)}.course-hero-cta:disabled{cursor:not-allowed;opacity:.7;transform:none}.course-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);padding:var(--spacing-6)}.course-card__head{align-items:flex-start;border-bottom:1px dashed var(--color-border-strong);display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-5);padding-bottom:var(--spacing-4)}.course-card__chip{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-lg);color:var(--color-brand);display:flex;flex-shrink:0;font-size:var(--font-size-base);height:44px;justify-content:center;width:44px}.course-card__head h2{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight)}.course-card__head p{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:2px}.curriculum-modules{display:flex;flex-direction:column;gap:var(--spacing-2)}.curriculum-module{background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);overflow:hidden}.curriculum-module[open]{background:var(--color-bg-elevated);border-color:var(--color-brand-soft);box-shadow:var(--shadow-xs)}.curriculum-module summary{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-3);list-style:none;padding:var(--spacing-3) var(--spacing-4)}.curriculum-module summary::-webkit-details-marker{display:none}.curriculum-module summary>svg{color:var(--color-text-tertiary);margin-left:auto;transition:transform var(--transition-fast)}.curriculum-module[open] summary>svg{color:var(--color-brand);transform:rotate(180deg)}.curriculum-module__num{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-lg);color:var(--color-brand);display:inline-flex;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-extrabold);height:34px;justify-content:center;width:34px}.curriculum-module__title{display:flex;flex-direction:column;gap:2px}.curriculum-module__title strong{color:var(--color-text-primary);font-size:var(--font-size-base)}.curriculum-module__title small{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.curriculum-module__body{padding:0 var(--spacing-4) var(--spacing-4) calc(var(--spacing-4) + 46px)}.curriculum-module__topics{grid-gap:var(--spacing-1) var(--spacing-4);display:grid;gap:var(--spacing-1) var(--spacing-4);grid-template-columns:repeat(2,1fr);list-style:none}.curriculum-module__topics li{align-items:flex-start;color:var(--color-text-primary);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-2);line-height:1.5}.curriculum-module__topics li svg{color:var(--color-accent-success);flex-shrink:0;margin-top:4px}.course-audience{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:1fr}@media (min-width:768px){.course-audience{grid-template-columns:1fr 1fr}}.course-audience__col{border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);padding:var(--spacing-4) var(--spacing-5)}.course-audience__col--fit{background:color-mix(in srgb,var(--color-accent-success) 7%,#0000)}.course-audience__col--misfit{background:color-mix(in srgb,#ef4444 6%,#0000);background:color-mix(in srgb,var(--color-accent-error,#ef4444) 6%,#0000)}.course-audience__col h3{align-items:center;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);letter-spacing:.05em;margin-bottom:var(--spacing-3);text-transform:uppercase}.course-audience__col--fit h3{color:var(--color-accent-success)}.course-audience__col--misfit h3{color:#ef4444;color:var(--color-accent-error,#ef4444)}.course-audience__col ul{display:flex;flex-direction:column;gap:var(--spacing-2);list-style:none}.course-audience__col li{align-items:flex-start;color:var(--color-text-primary);display:flex;font-size:var(--font-size-base);gap:var(--spacing-2);line-height:var(--line-height-relaxed)}.course-audience__col li svg{flex-shrink:0;font-size:var(--font-size-sm);margin-top:5px}.course-audience__col--fit li svg{color:var(--color-accent-success)}.course-audience__col--misfit li svg{color:#ef4444;color:var(--color-accent-error,#ef4444)}.course-guarantee{align-items:flex-start;background:var(--color-brand-softer);border:1px solid var(--color-brand-soft);display:flex;gap:var(--spacing-4)}.course-guarantee__icon{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-xl);color:var(--color-brand);display:inline-flex;flex-shrink:0;font-size:var(--font-size-xl);height:48px;justify-content:center;width:48px}.course-guarantee h2{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.course-guarantee p{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin-top:4px}.course-testcta{align-items:center;background:var(--color-brand-softer);border:1px solid var(--color-brand-soft);border-radius:var(--border-radius-2xl);display:flex;gap:var(--spacing-4);padding:var(--spacing-5) var(--spacing-6)}.course-testcta__icon{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-xl);color:var(--color-brand);display:inline-flex;flex-shrink:0;font-size:var(--font-size-xl);height:48px;justify-content:center;width:48px}.course-testcta__body{flex:1 1}.course-testcta__body h2{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.course-testcta__body p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-top:2px}.course-testcta__btn{align-items:center;background:var(--color-brand);border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;display:inline-flex;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-5);text-decoration:none;transition:background var(--transition-fast),transform var(--transition-fast)}.course-testcta__btn:hover{background:var(--color-brand-strong);color:#fff;transform:translateY(-1px)}@media (max-width:640px){.course-testcta{align-items:flex-start;flex-direction:column}.course-testcta__btn{align-self:stretch;justify-content:center}}.course-terms{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(2,1fr)}.course-term{align-items:flex-start;background:var(--color-brand-softer);border-radius:var(--border-radius-xl);display:flex;gap:var(--spacing-3);padding:var(--spacing-4)}.course-term>svg{color:var(--color-brand);margin-top:4px}.course-term h3{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);letter-spacing:.05em;text-transform:uppercase}.course-term p{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-top:2px}.course-instructors{display:flex;flex-direction:column;gap:var(--spacing-5)}.course-instructor{align-items:flex-start;display:flex;gap:var(--spacing-4)}.course-instructor__photo{border:3px solid var(--color-brand-soft);border-radius:var(--border-radius-full);flex-shrink:0;height:72px;object-fit:cover;width:72px}.course-instructor__photo--ph{align-items:center;background:var(--gradient-brand);color:#fff;display:flex;font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);justify-content:center}.course-instructor h3{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.course-instructor__role{color:var(--color-brand);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:2px 0 var(--spacing-2)}.course-instructor p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.course-sample{background:var(--color-brand-softer)}.course-sample__btn{align-items:center;background:var(--color-brand);border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);text-decoration:none;transition:background var(--transition-fast),transform var(--transition-fast)}.course-sample__btn:hover{background:var(--color-brand-strong);transform:translateY(-2px)}.course-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.course-form__grid{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(2,1fr)}.course-form label,.course-form__full{color:var(--color-text-secondary);display:flex;flex-direction:column;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2)}.course-form input,.course-form select,.course-form textarea{background:var(--color-bg-secondary);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-lg);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-base);padding:var(--spacing-3) var(--spacing-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.course-form input:focus,.course-form select:focus,.course-form textarea:focus{background:var(--color-bg-elevated);border-color:var(--color-brand);box-shadow:var(--ring-brand);outline:none}.course-form__error{background:#e2483d1a;border-radius:var(--border-radius-lg);color:var(--color-accent-error);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-3) var(--spacing-4)}.course-form .course-hero-cta--solid{align-self:flex-start}.course-apply__done{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-6);text-align:center}.course-apply__done>svg{color:var(--color-accent-success);font-size:var(--font-size-4xl);margin-bottom:var(--spacing-2)}.course-apply__done h3{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold)}.course-apply__done p{color:var(--color-text-secondary);font-size:var(--font-size-base)}.course-form__intro{background:var(--color-brand-soft);border:1px solid var(--color-brand-soft);border-radius:var(--border-radius-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0;padding:var(--spacing-3) var(--spacing-4)}.course-lessons{border:1px solid var(--color-brand);box-shadow:var(--shadow-md)}.course-lessons__empty{color:var(--color-text-secondary);font-size:var(--font-size-base)}.course-lessons__list{display:flex;flex-direction:column;gap:var(--spacing-3);list-style:none}.course-lesson{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);display:flex;gap:var(--spacing-4);padding:var(--spacing-4)}.course-lesson__num{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-full);color:var(--color-brand);display:flex;flex-shrink:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-extrabold);height:34px;justify-content:center;width:34px}.course-lesson__info{flex:1 1;min-width:0}.course-lesson__info h3{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.course-lesson__date{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.course-lesson__actions{display:flex;flex-shrink:0;gap:var(--spacing-2)}.course-lesson__btn{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-full);color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);gap:6px;padding:var(--spacing-2) var(--spacing-4);text-decoration:none;transition:all var(--transition-fast)}.course-lesson__btn:hover{border-color:var(--color-brand);color:var(--color-brand)}.course-lesson__btn--video{background:var(--color-brand);border-color:var(--color-brand);color:#fff}.course-lesson__btn--video:hover{background:var(--color-brand-strong);color:#fff}@media (max-width:640px){.course-hero-meta,.course-hero-meta--compact{grid-template-columns:1fr}.course-hero-meta__item{padding:var(--spacing-3) var(--spacing-4)}.course-hero-meta__item+.course-hero-meta__item{border-left:0;border-top:1px solid #ffffff2e}.course-path{grid-template-columns:1fr}.course-path>svg{justify-self:center;transform:rotate(90deg)}.course-path__step{text-align:center}.curriculum-module summary{gap:var(--spacing-3);padding:var(--spacing-4)}.curriculum-module__body{padding:0 var(--spacing-4) var(--spacing-4)}.course-form__grid,.course-terms,.curriculum-module__topics{grid-template-columns:1fr}.course-card{padding:var(--spacing-5) var(--spacing-4)}.course-lesson{flex-wrap:wrap}.course-lesson__actions{justify-content:flex-end;width:100%}.course-form .course-hero-cta--solid{align-self:stretch;justify-content:center}}.course-video{aspect-ratio:16/9;background:var(--color-bg-secondary);border-radius:var(--border-radius-xl);overflow:hidden;position:relative;width:100%}.course-video iframe{border:0;height:100%;inset:0;position:absolute;width:100%}.course-apply__viber{border-top:1px dashed var(--color-border-primary);color:var(--color-text-tertiary);font-size:var(--font-size-sm);margin-top:var(--spacing-6);padding-top:var(--spacing-5);text-align:center}.course-apply__viber a{color:var(--color-brand);font-weight:var(--font-weight-semibold);text-decoration:none}.course-apply__viber a:hover{text-decoration:underline}.program-hero-cta{align-items:center;background:#fff;border-radius:var(--border-radius-full);box-shadow:0 10px 24px -8px #18104073;color:var(--color-brand-strong);display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);gap:var(--spacing-3);margin-top:var(--spacing-6);padding:var(--spacing-3) var(--spacing-5);text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.program-hero-cta:hover{box-shadow:0 16px 30px -10px #1810408c;transform:translateY(-2px)}.program-hero-cta>svg:first-child{color:var(--color-brand);opacity:.85}.program-hero-cta>svg:last-child{color:var(--color-brand);transition:transform var(--transition-fast)}.program-hero-cta:hover>svg:last-child{transform:translateX(3px)}.program-page{background:var(--color-bg-primary);padding:0 0 var(--spacing-20)}.program-page .page-hero{margin-bottom:0;padding-bottom:calc(var(--spacing-12) + var(--spacing-16))}.program-container{margin:0 auto;max-width:880px;padding:0 var(--spacing-5);width:100%}.program-perks{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(2,1fr);margin-top:calc(var(--spacing-16)*-1);position:relative;z-index:1}.program-perk{align-items:flex-start;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);display:flex;gap:var(--spacing-3);padding:var(--spacing-5)}.program-perk__icon{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-lg);color:var(--color-brand);display:flex;flex-shrink:0;font-size:var(--font-size-base);height:42px;justify-content:center;width:42px}.program-perk h3{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin-bottom:2px}.program-perk p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.program-ladder-head{margin:var(--spacing-16) 0 var(--spacing-8);text-align:center}.program-ladder-head h2{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight);margin-bottom:var(--spacing-2)}.program-ladder-head p{color:var(--color-text-secondary);font-size:var(--font-size-base)}.program-ladder{display:flex;flex-direction:column;gap:var(--spacing-5);list-style:none;padding-left:var(--spacing-8);position:relative}.program-ladder:before{background:var(--color-border-strong);bottom:12px;content:"";left:19px;position:absolute;top:12px;width:2px}.program-step{position:relative}.program-step__num{align-items:center;background:var(--gradient-brand);border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;display:flex;font-weight:var(--font-weight-extrabold);height:40px;justify-content:center;left:calc(var(--spacing-8)*-1 - 1px);position:absolute;top:var(--spacing-5);width:40px;z-index:1}.program-step--soon .program-step__num{background:var(--color-bg-secondary);border:2px solid var(--color-border-strong);box-shadow:none;color:var(--color-text-tertiary)}.program-step__card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);display:block;margin-left:var(--spacing-6);padding:var(--spacing-6);text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.program-step__card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}.program-step--soon .program-step__card{background:var(--color-bg-secondary)}.program-step__top{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-3);justify-content:space-between;margin-bottom:var(--spacing-2)}.program-step__grade{color:var(--color-text-secondary);letter-spacing:.05em;text-transform:uppercase}.program-step__grade,.program-step__status{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold)}.program-step__status{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-full);color:var(--color-text-tertiary);display:inline-flex;gap:var(--spacing-2);padding:3px 12px}.program-step__status--open{background:#0ea3711a;border-color:#0ea37140;color:var(--color-accent-success)}.program-step__title{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight);text-transform:uppercase}.program-step__subtitle{color:var(--color-brand);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin-top:var(--spacing-1)}.program-step__intro{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-top:var(--spacing-2)}.program-step__facts{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-top:var(--spacing-4)}.program-step__facts span{background:var(--color-brand-softer);border-radius:var(--border-radius-full);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:4px 10px}.program-step__more{align-items:center;color:var(--color-brand);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);margin-left:auto;transition:gap var(--transition-fast)}.program-step__card:hover .program-step__more{gap:var(--spacing-3)}@media (max-width:640px){.program-perks{grid-template-columns:1fr}.program-step__card{margin-left:var(--spacing-4);padding:var(--spacing-5)}.program-step__title{font-size:var(--font-size-xl)}}.program-step__footer{align-items:flex-end;border-top:1px solid var(--color-border-secondary);display:flex;gap:var(--spacing-4);justify-content:space-between;margin-top:var(--spacing-5);padding-top:var(--spacing-4)}.program-step__price{display:flex;flex-direction:column;gap:2px;min-width:0}.program-step__price small{color:var(--color-text-tertiary);font-size:.68rem;font-weight:var(--font-weight-bold);letter-spacing:.08em;text-transform:uppercase}.program-step__price strong{color:var(--color-amber-strong);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);line-height:1.4}@media (max-width:640px){.program-step__footer{align-items:flex-start;flex-direction:column}.program-step__more{margin-left:0}}.program-framework{background:linear-gradient(180deg,var(--color-brand-softer),var(--color-bg-elevated));border:1px solid var(--color-brand-soft);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-md);margin-top:var(--spacing-16);padding:var(--spacing-10)}.program-framework__head{margin-bottom:var(--spacing-8);max-width:680px}.program-framework__head>span{color:var(--color-brand);display:inline-block;font-size:var(--font-size-xs);letter-spacing:.1em;text-transform:uppercase}.program-framework__head h2,.program-framework__head>span{font-weight:var(--font-weight-extrabold);margin-bottom:var(--spacing-3)}.program-framework__head h2{color:var(--color-text-primary);font-size:var(--font-size-3xl);letter-spacing:var(--tracking-tighter)}.program-framework__head p{color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.program-framework__grid{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(3,1fr)}.program-framework__card{background:#ffffffd1;border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);min-height:245px;overflow:hidden;padding:var(--spacing-6);position:relative}.program-framework__num{color:var(--color-brand-soft);font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);position:absolute;right:var(--spacing-4);top:var(--spacing-4)}.program-framework__kicker{color:var(--color-brand);display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.08em;margin-bottom:var(--spacing-3);text-transform:uppercase}.program-framework__card h3{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);margin-bottom:var(--spacing-3)}.program-framework__card p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.program-framework__note{align-items:flex-start;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);display:flex;gap:var(--spacing-4);margin-top:var(--spacing-6);padding:var(--spacing-5)}.program-framework__note>svg{color:var(--color-brand);font-size:var(--font-size-xl);margin-top:3px}.program-framework__note div{display:flex;flex-direction:column;gap:var(--spacing-1)}.program-framework__note strong{color:var(--color-text-primary)}.program-framework__note span{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}@media (max-width:767px){.program-framework{padding:var(--spacing-7) var(--spacing-5)}.program-framework__grid{grid-template-columns:1fr}.program-framework__card{min-height:0}}.public-profile-page{background:var(--color-bg-primary);padding:calc(64px + var(--spacing-8)) 0 var(--spacing-20)}.profile-container{margin:0 auto;max-width:920px;padding:0 var(--spacing-5);width:100%}.profile-error,.profile-loading{align-items:center;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:var(--spacing-3);justify-content:center;min-height:50vh;text-align:center}.profile-loading svg{color:var(--color-brand)}.profile-error h2{color:var(--color-text-primary);font-size:var(--font-size-2xl)}.back-btn,.back-link{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);text-decoration:none;transition:color var(--transition-fast),gap var(--transition-fast)}.back-btn:hover,.back-link:hover{color:var(--color-brand);gap:var(--spacing-3)}.profile-error .back-btn{margin-top:var(--spacing-4)}.profile-header{background:radial-gradient(70% 120% at 12% 0,#7c3aed80,#0000 60%),radial-gradient(60% 120% at 95% 100%,#f59e0b42,#0000 55%),var(--gradient-brand);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-lg);color:#fff;margin-bottom:var(--spacing-6);overflow:hidden;padding:var(--spacing-8);position:relative}.profile-header .back-link{color:#ffffffe6;margin-bottom:var(--spacing-6)}.profile-header .back-link:hover{color:#fff}.profile-hero{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-6);margin-bottom:var(--spacing-6)}.profile-avatar{background:#fff3;border:4px solid #ffffff4d;border-radius:var(--border-radius-full);flex-shrink:0;height:110px;overflow:visible;position:relative;width:110px}.profile-avatar img{object-fit:cover}.profile-avatar img,.public-profile-page .avatar-placeholder{border-radius:var(--border-radius-full);height:100%;width:100%}.public-profile-page .avatar-placeholder{align-items:center;display:flex;font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);justify-content:center}.rank-badge{background:#fff;border:3px solid #fff;border-radius:var(--border-radius-full);bottom:-4px;box-shadow:var(--shadow-sm);color:var(--color-brand);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);padding:4px 12px;position:absolute;right:-4px}.profile-info h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight)}.username{font-size:var(--font-size-base);opacity:.85}.rank-title,.username{margin-bottom:var(--spacing-3)}.rank-title{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#fff3;border-radius:var(--border-radius-full);color:#fff;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);padding:4px 14px}.profile-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-4)}.profile-meta span{align-items:center;display:inline-flex;font-size:var(--font-size-sm);gap:var(--spacing-2);opacity:.9}.profile-bio{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin-top:var(--spacing-3);max-width:560px;opacity:.92}.profile-stats{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:repeat(2,1fr)}@media (min-width:640px){.profile-stats{grid-template-columns:repeat(4,1fr)}}.stat-item{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff24;border-radius:var(--border-radius-xl);display:flex;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-4);text-align:center}.stat-icon{font-size:var(--font-size-lg);opacity:.9}.public-profile-page .stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);line-height:1}.public-profile-page .stat-label{font-size:var(--font-size-xs);opacity:.82}.profile-content{display:flex;flex-direction:column;gap:var(--spacing-6)}.profile-section{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);padding:var(--spacing-6)}.profile-section h2{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);gap:var(--spacing-3);letter-spacing:var(--tracking-tight);margin-bottom:var(--spacing-5)}.profile-section h2 svg{color:var(--color-brand);font-size:.85em}.profile-achievements-list{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.profile-achievement-card{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-secondary);border-radius:var(--border-radius-xl);display:flex;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4)}.profile-achievement-icon{align-items:center;background:var(--color-amber-soft);border-radius:var(--border-radius-lg);color:var(--color-amber-strong);display:flex;flex-shrink:0;font-size:var(--font-size-base);height:42px;justify-content:center;position:relative;width:42px}.profile-achievement-check{background:var(--color-bg-secondary);border-radius:var(--border-radius-full);bottom:-4px;color:var(--color-accent-success);font-size:var(--font-size-sm);position:absolute;right:-4px}.profile-achievement-body{min-width:0}.profile-achievement-name{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.profile-achievement-points{align-items:center;color:var(--color-amber-strong);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);gap:var(--spacing-1)}.profile-achievements-more{align-items:center;background:#0000;border:1px dashed var(--color-border-strong);border-radius:var(--border-radius-2xl);color:var(--color-brand);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);justify-content:center;padding:var(--spacing-4);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.profile-achievements-more:hover{background:var(--color-brand-soft);border-color:var(--color-brand);border-style:solid}.profile-achievements-more svg{font-size:var(--font-size-xs)}.no-data{color:var(--color-text-tertiary);font-size:var(--font-size-sm);padding:var(--spacing-6);text-align:center}.public-profile-page .streak-card{align-items:center;background:var(--color-amber-soft);border-radius:var(--border-radius-2xl);display:flex;gap:var(--spacing-4);padding:var(--spacing-5)}.public-profile-page .streak-icon{color:var(--color-amber-strong);font-size:var(--font-size-3xl)}.public-profile-page .streak-info{display:flex;flex-direction:column}.public-profile-page .streak-value{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold)}.public-profile-page .streak-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.legend-cells{display:inline-flex;gap:3px}@media (max-width:640px){.profile-header{padding:var(--spacing-6)}.profile-hero{text-align:center}.profile-hero,.profile-meta{justify-content:center}}.modern-header{background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border-primary);box-shadow:var(--shadow-xs);left:0;position:fixed;right:0;top:0;transition:box-shadow var(--transition-normal),border-color var(--transition-normal);z-index:var(--z-fixed)}.modern-header--scrolled{border-bottom-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.modern-header__container{align-items:center;display:flex;gap:var(--spacing-4);height:64px;justify-content:space-between;margin:0 auto;max-width:var(--max-width-container);padding:0 var(--spacing-4)}@media (min-width:768px){.modern-header__container{grid-gap:var(--spacing-4);align-items:center;display:grid;gap:var(--spacing-4);grid-template-columns:1fr auto 1fr}.modern-header__logo{justify-self:start}.modern-header__nav{justify-self:center}.modern-header__actions{justify-self:end}}.modern-header__logo{align-items:center;color:var(--color-text-primary);display:flex;font-weight:var(--font-weight-semibold);gap:var(--spacing-3);text-decoration:none;transition:transform var(--transition-fast)}.modern-header__logo:hover{transform:translateY(-1px)}.modern-header__logo-mark{align-items:center;background:var(--gradient-brand);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-brand-sm);color:#fff;display:flex;flex-shrink:0;font-family:Georgia,Cambria,serif;font-size:1.25rem;font-style:italic;font-weight:700;height:34px;justify-content:center;line-height:1;padding:0 0 4px;width:34px}.modern-header__logo-image{height:32px;object-fit:contain;width:32px}.modern-header__logo-text{font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight)}.modern-header__logo-accent{color:var(--color-accent-primary)}.modern-header__nav{align-items:center;display:none;gap:var(--spacing-8)}@media (min-width:768px){.modern-header__nav{display:flex;justify-self:center}}.modern-header__nav-link{border-radius:var(--border-radius-full);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-2) var(--spacing-4);position:relative;text-decoration:none;transition:color var(--transition-fast),background var(--transition-fast)}.modern-header__nav-link:hover{background:var(--color-bg-accent);color:var(--color-text-primary)}.modern-header__nav-link--active{background:var(--color-brand-soft);color:var(--color-brand);font-weight:var(--font-weight-semibold)}.modern-header__dropdown{position:relative}.modern-header__nav-link--dropdown{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;gap:var(--spacing-1)}.modern-header__dropdown-arrow{font-size:var(--font-size-xs);transition:transform var(--transition-fast)}.modern-header__dropdown-arrow--open{transform:rotate(180deg)}.modern-header__dropdown-menu{animation:slideDown .2s ease-out;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);left:0;min-width:200px;padding:var(--spacing-2);position:absolute;top:calc(100% + var(--spacing-2));z-index:var(--z-dropdown)}.modern-header__dropdown-item:hover{color:var(--color-accent-primary)}.modern-header__dropdown-item--active{background:#4f46e51a;color:var(--color-accent-primary)}.modern-header__dropdown-item svg{font-size:var(--font-size-sm);min-width:16px}.modern-header__actions{align-items:center;display:flex;gap:var(--spacing-4)}.modern-header__login-button{align-items:center;background:var(--color-brand);border:none;border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--spacing-2) var(--spacing-5);text-decoration:none;transition:background var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.modern-header__login-button:hover{background:var(--color-brand-strong);box-shadow:var(--shadow-brand);transform:translateY(-1px)}.modern-header__user-menu{position:relative}.modern-header__user-button{align-items:center;background:#0000;border:none;border-radius:var(--border-radius-lg);cursor:pointer;display:flex;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);transition:all var(--transition-fast)}.modern-header__user-button:hover{background:var(--color-bg-accent)}.modern-header__user-avatar{border-radius:var(--border-radius-full);height:32px;object-fit:cover;width:32px}.modern-header__user-avatar--placeholder{align-items:center;background:var(--color-accent-primary);color:#fff;display:flex;font-size:var(--font-size-sm);justify-content:center}.modern-header__user-name{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}@media (max-width:767px){.modern-header__user-name{display:none}}.modern-header__user-dropdown{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);box-shadow:0 8px 24px #00000014;min-width:240px;padding:var(--spacing-2);position:absolute;right:0;top:calc(100% + var(--spacing-2));z-index:var(--z-dropdown)}.modern-header__dropdown-profile{align-items:center;border-bottom:1px solid var(--color-border-primary);display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-2);padding:var(--spacing-4)}.modern-header__dropdown-avatar{border-radius:50%;flex-shrink:0;height:40px;object-fit:cover;width:40px}.modern-header__dropdown-avatar--placeholder{align-items:center;background:linear-gradient(135deg,var(--color-accent-primary),var(--color-accent-secondary));color:#fff;display:flex;font-size:1rem;justify-content:center}.modern-header__dropdown-info{display:flex;flex-direction:column;min-width:0}.modern-header__dropdown-name{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modern-header__dropdown-username{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.modern-header__dropdown-item{align-items:center;background:#0000;border:none;border-radius:var(--border-radius-md);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);text-decoration:none;transition:all var(--transition-fast);width:100%}.modern-header__dropdown-item:hover{background:var(--color-bg-accent)}.modern-header__dropdown-item--highlight{color:#4f46e5;font-weight:500}.modern-header__dropdown-item--highlight:hover{background:#4f46e51a}.modern-header__dropdown-item--danger{color:var(--color-accent-error)}.modern-header__dropdown-item--danger:hover{background:#ef44441a}.modern-header__dropdown-item--admin{border-top:1px solid #0000000f;color:var(--color-accent-primary);margin-top:var(--spacing-1);padding-top:calc(var(--spacing-2) + var(--spacing-1))}.modern-header__dropdown-item--admin:hover{background:#1e3a5f14}.modern-header__widget-toggle{align-items:center;background:#0000;border:none;border-radius:var(--border-radius-md);color:var(--color-text-primary);cursor:pointer;display:none;height:40px;justify-content:center;transition:all var(--transition-fast);width:40px}.modern-header__widget-toggle:hover{background:var(--color-bg-accent)}.modern-header__widget-toggle--active{animation:pulseGlow 2s ease-in-out infinite;color:var(--color-accent-success)}.modern-header__widget-toggle--active:hover{animation:none;background:#10b9811a;color:var(--color-accent-success);transform:scale(1.1)}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 0 #10b98166;transform:scale(1)}50%{box-shadow:0 0 0 8px #10b98100;transform:scale(1.05)}}@media (max-width:768px){.modern-header__widget-toggle{display:flex}}.modern-header__menu-button{align-items:center;background:#0000;border:none;border-radius:var(--border-radius-md);color:var(--color-text-primary);cursor:pointer;display:flex;height:40px;justify-content:center;transition:all var(--transition-fast);width:40px}.modern-header__menu-button:hover{background:var(--color-bg-accent)}@media (min-width:768px){.modern-header__menu-button{display:none}}.modern-header__mobile-overlay{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;bottom:0;left:0;position:fixed;right:0;top:64px;z-index:var(--z-modal)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modern-header__mobile-menu{-webkit-overflow-scrolling:touch;animation:slideDown .3s ease-out;background:var(--color-bg-elevated);border-radius:0 0 var(--border-radius-2xl) var(--border-radius-2xl);box-shadow:var(--shadow-xl);max-height:calc(100vh - 64px);max-height:calc(100dvh - 64px);overflow-y:auto}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.modern-header__mobile-header{border-bottom:1px solid var(--color-border-primary);padding:var(--spacing-6) var(--spacing-4) var(--spacing-4)}.modern-header__mobile-logo{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);gap:var(--spacing-3);text-decoration:none}.modern-header__mobile-logo img{height:32px;object-fit:contain;width:32px}.modern-header__mobile-nav{padding:var(--spacing-4) var(--spacing-4) var(--spacing-6)}.modern-header__mobile-link{border-radius:var(--border-radius-lg);color:var(--color-text-primary);display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:2px;padding:var(--spacing-3) var(--spacing-4);text-decoration:none;transition:all var(--transition-fast)}.modern-header__mobile-link:hover{background:var(--color-bg-accent)}.modern-header__mobile-link--active{background:#4f46e51a;color:var(--color-accent-primary)}.modern-header__mobile-link--admin{border-top:1px solid #00000014;color:var(--color-accent-primary);margin-top:var(--spacing-3);padding-top:var(--spacing-4)}.modern-header__mobile-login{background:var(--color-accent-primary);border-radius:var(--border-radius-lg);color:#fff;display:block;font-weight:var(--font-weight-semibold);margin-top:var(--spacing-4);padding:var(--spacing-4);text-align:center;text-decoration:none;transition:all var(--transition-fast)}.modern-header__mobile-login:hover{background:#4338ca}.modern-header__mobile-dropdown{margin-bottom:var(--spacing-2)}.modern-header__mobile-dropdown-title{border-bottom:1px solid var(--color-border-primary);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.05em;margin-bottom:var(--spacing-1);padding:var(--spacing-2) var(--spacing-4);text-transform:uppercase}.modern-header__mobile-link--sub{align-items:center;display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);gap:var(--spacing-3);padding-bottom:var(--spacing-3);padding-left:var(--spacing-6);padding-top:var(--spacing-3)}.modern-header__mobile-link--sub svg{font-size:var(--font-size-xs);min-width:14px}.modern-header__mobile-season{display:none}@media (max-width:768px){.modern-header__mobile-season{animation:slideDown .2s ease-out;background:var(--color-bg-primary);border-bottom:1px solid var(--color-border-primary);box-shadow:var(--shadow-md);display:block;left:0;padding:var(--spacing-3) var(--spacing-4);position:fixed;right:0;top:64px;z-index:var(--z-dropdown)}}.modern-footer{background:radial-gradient(60% 120% at 12% 0,#7c3aed59,#0000 60%),radial-gradient(55% 120% at 92% 10%,#f59e0b24,#0000 55%),#16132a;color:#ffffffd1;margin-top:auto;overflow:hidden;position:relative}.modern-footer:before{background:linear-gradient(90deg,#0000,var(--color-accent-primary),var(--color-accent-secondary),var(--color-accent-amber),#0000);content:"";height:3px;left:0;position:absolute;right:0;top:0}.modern-footer__container{margin:0 auto;max-width:var(--max-width-container);padding:var(--spacing-16) var(--spacing-5) var(--spacing-8);position:relative;z-index:1}@media (min-width:768px){.modern-footer__container{padding:var(--spacing-20) var(--spacing-6) var(--spacing-10)}}.modern-footer__main{grid-gap:var(--spacing-12);display:grid;gap:var(--spacing-12);grid-template-columns:1fr;margin-bottom:var(--spacing-12)}@media (min-width:768px){.modern-footer__main{gap:var(--spacing-16);grid-template-columns:1fr 1.5fr}}.modern-footer__brand{max-width:400px}.modern-footer__logo{align-items:center;display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-4)}.modern-footer__brand-mark{align-items:center;background:var(--gradient-brand);border-radius:var(--border-radius-lg);box-shadow:0 6px 16px -6px #7c3aedb3;color:#fff;display:flex;font-family:Georgia,Cambria,serif;font-size:1.3rem;font-style:italic;font-weight:700;height:36px;justify-content:center;line-height:1;padding:0 0 4px;width:36px}.modern-footer__brand-name{color:#fff;font-family:var(--font-family-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight)}.modern-footer__brand-accent{color:#c7b8ff}.modern-footer__description{color:#fff9;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-6)}.modern-footer__contact{display:flex;flex-direction:column;gap:var(--spacing-3)}.modern-footer__contact-item{align-items:center;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-3)}.modern-footer__contact-item svg{color:var(--color-accent-amber);width:16px}.modern-footer__contact-item a,.modern-footer__contact-item span{color:#ffffffbf;text-decoration:none;transition:color var(--transition-fast)}.modern-footer__contact-item a:hover{color:#fff}.modern-footer__links{grid-gap:var(--spacing-8);display:grid;gap:var(--spacing-8);grid-template-columns:repeat(2,1fr)}@media (min-width:640px){.modern-footer__links{grid-template-columns:repeat(3,1fr)}}.modern-footer__section-title{color:#fff;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.1em;margin-bottom:var(--spacing-4);text-transform:uppercase}.modern-footer__section-list{display:flex;flex-direction:column;gap:var(--spacing-3);list-style:none}.modern-footer__link{align-items:center;color:#ffffff9e;display:inline-flex;font-size:var(--font-size-sm);gap:var(--spacing-1);text-decoration:none;transition:color var(--transition-fast),transform var(--transition-fast)}.modern-footer__link:hover{color:#fff;transform:translateX(4px)}.modern-footer__external-icon{font-size:10px;opacity:.6}.modern-footer__social{margin-bottom:var(--spacing-12)}.modern-footer__social-title{color:#fff;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-4)}.modern-footer__social-links{display:flex;gap:var(--spacing-3)}.modern-footer__social-link{align-items:center;background:#ffffff14;border:1px solid #ffffff1f;border-radius:var(--border-radius-lg);color:#fffc;display:flex;height:44px;justify-content:center;overflow:hidden;position:relative;text-decoration:none;transition:transform var(--transition-normal),background var(--transition-normal),box-shadow var(--transition-normal);width:44px}.modern-footer__social-link:before{background:var(--social-color);content:"";inset:0;opacity:0;position:absolute;transition:opacity var(--transition-normal)}.modern-footer__social-link:hover{box-shadow:var(--shadow-lg);color:#fff;transform:translateY(-3px)}.modern-footer__social-link:hover:before{opacity:1}.modern-footer__social-link svg{font-size:var(--font-size-lg);position:relative;z-index:1}.modern-footer__newsletter{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:var(--border-radius-2xl);margin-bottom:var(--spacing-12);padding:var(--spacing-8)}.modern-footer__newsletter-title{color:#fff;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-3)}.modern-footer__newsletter-description{color:#fff9;font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-6)}.modern-footer__newsletter-input{display:flex;flex-direction:column;gap:var(--spacing-3)}@media (min-width:640px){.modern-footer__newsletter-input{flex-direction:row}}.modern-footer__newsletter-input input{background:#ffffff14;border:1px solid #ffffff26;border-radius:var(--border-radius-full);color:#fff;flex:1 1;font-size:var(--font-size-sm);padding:var(--spacing-3) var(--spacing-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.modern-footer__newsletter-input input::placeholder{color:#ffffff80}.modern-footer__newsletter-input input:focus{border-color:#ffffff80;box-shadow:0 0 0 4px #ffffff14;outline:none}.modern-footer__newsletter-button{background:#fff;border:none;border-radius:var(--border-radius-full);color:var(--color-brand);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);padding:var(--spacing-3) var(--spacing-6);transition:transform var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap}.modern-footer__newsletter-button:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.modern-footer__newsletter-button:disabled{cursor:not-allowed;opacity:.7}.modern-footer__newsletter-message{font-size:var(--font-size-sm);margin-top:var(--spacing-3)}.modern-footer__newsletter-message.success{color:#6ee7b7}.modern-footer__newsletter-message.error{color:#fca5a5}.modern-footer__bottom{border-top:1px solid #ffffff1a;padding-top:var(--spacing-8)}.modern-footer__bottom-content{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-4);text-align:center}@media (min-width:768px){.modern-footer__bottom-content{flex-direction:row;justify-content:space-between;text-align:left}}.modern-footer__copyright{color:#ffffff8c;font-size:var(--font-size-sm)}.modern-footer__made-with{align-items:center;display:flex;gap:var(--spacing-1);justify-content:center;margin-top:var(--spacing-1)}@media (min-width:768px){.modern-footer__made-with{justify-content:flex-start}}.modern-footer__heart{animation:heartbeat 1.5s ease-in-out infinite;color:#fb7185}@keyframes heartbeat{0%,50%,to{transform:scale(1)}25%,75%{transform:scale(1.15)}}.modern-footer__legal{display:flex;flex-wrap:wrap;gap:var(--spacing-4);justify-content:center}@media (min-width:768px){.modern-footer__legal{justify-content:flex-end}}.modern-footer__legal-link{color:#ffffff8c;font-size:var(--font-size-sm);text-decoration:none;transition:color var(--transition-fast)}.modern-footer__legal-link:hover{color:#fff}.testimonials{padding:var(--spacing-24) 0}.testimonials--secondary{background:var(--color-bg-secondary)}.testimonials--primary{background:var(--color-bg-primary)}.testimonials__grid{grid-gap:var(--spacing-6);display:grid;gap:var(--spacing-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:1080px}.testimonial-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:var(--spacing-5);margin:0;padding:var(--spacing-8) var(--spacing-6) var(--spacing-6);position:relative;transition:transform .25s ease,box-shadow .25s ease}.testimonial-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.testimonial-card__mark{color:var(--color-brand-soft);font-size:1.75rem;position:absolute;right:var(--spacing-6);top:var(--spacing-5)}.testimonial-card__quote{color:var(--color-text-secondary);flex:1 1;font-size:var(--font-size-base);line-height:1.7;margin:0}.testimonial-card__author{align-items:center;display:flex;gap:var(--spacing-3)}.testimonial-card__avatar{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-full);color:var(--color-brand);display:inline-flex;flex-shrink:0;font-weight:var(--font-weight-bold);height:40px;justify-content:center;width:40px}.testimonial-card__author strong{color:var(--color-text-primary);display:block;font-size:var(--font-size-sm)}.testimonial-card__author em{color:var(--color-text-tertiary);display:block;font-size:var(--font-size-xs);font-style:normal}.home{overflow-x:clip;padding-top:64px}@media (max-width:1023px){.home{padding-top:48px}}.hero{background:var(--color-bg-primary);overflow:hidden;padding:var(--spacing-20) 0 var(--spacing-24);position:relative}.hero__bg{inset:0;pointer-events:none;position:absolute;z-index:0}.hero__blob{border-radius:50%;filter:blur(80px);opacity:.5;position:absolute}.hero__blob--1{background:radial-gradient(circle,#4f46e573,#0000 70%);height:520px;left:-120px;top:-160px;width:520px}.hero__blob--2{background:radial-gradient(circle,#7c3aed61,#0000 70%);height:560px;right:-180px;top:-80px;width:560px}.hero__grid-pattern{color:var(--color-brand);height:100%;inset:0;mask-image:radial-gradient(120% 90% at 50% 0,#000 0,#0000 70%);-webkit-mask-image:radial-gradient(120% 90% at 50% 0,#000 0,#0000 70%);opacity:.06;position:absolute;width:100%}.hero__inner{grid-gap:var(--spacing-12);align-items:center;display:grid;gap:var(--spacing-12);grid-template-columns:1fr;position:relative;z-index:1}@media (min-width:900px){.hero__inner{gap:var(--spacing-16);grid-template-columns:1.05fr .95fr}}.hero__badge{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-full);box-shadow:var(--shadow-sm);color:var(--color-brand);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);margin-bottom:var(--spacing-6);padding:var(--spacing-2) var(--spacing-4)}.hero__badge svg{color:var(--color-accent-amber)}.hero__title{color:var(--color-text-primary);font-size:clamp(2.4rem,6vw,4rem);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tighter);line-height:1.04;margin-bottom:var(--spacing-5)}.text-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(110deg,var(--color-accent-primary),var(--color-accent-secondary));-webkit-background-clip:text;background-clip:text}.hero__subtitle{color:var(--color-text-secondary);font-size:var(--font-size-xl);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-8);max-width:540px}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--spacing-4);margin-bottom:var(--spacing-8)}.hero__trust{align-items:center;display:flex;gap:var(--spacing-3)}.hero__trust p{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.hero__trust strong{color:var(--color-text-primary)}.hero__trust-icon{align-items:center;background:var(--color-brand-soft);border-radius:var(--border-radius-full);color:var(--color-brand);flex-shrink:0;font-size:var(--font-size-sm);height:36px;width:36px}.hero__trust-icon,.hero__visual{display:flex;justify-content:center}.hero__visual{position:relative}.home .hero__visual .problem-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-xl);max-width:420px;padding:var(--spacing-6);position:relative;width:100%;z-index:2}.problem-card__head{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-5)}.problem-card__tag{align-items:center;color:var(--color-brand);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2)}.problem-card__tag svg{color:var(--color-accent-amber)}.problem-card__level{background:var(--color-amber-soft);border-radius:var(--border-radius-full);color:var(--color-amber-strong);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.05em;padding:4px 10px;text-transform:uppercase}.problem-card__question{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:1.45;margin-bottom:var(--spacing-5)}.problem-card__question .math-inline{color:var(--color-brand)}.problem-card__options{grid-gap:var(--spacing-3);display:grid;gap:var(--spacing-3);grid-template-columns:1fr 1fr;margin-bottom:var(--spacing-5)}.problem-opt{align-items:center;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-lg);color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-4);text-align:left;transition:border-color var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.problem-opt:hover{border-color:var(--color-brand);color:var(--color-text-primary)}.problem-opt--correct{background:#0ea3711a;border-color:var(--color-accent-success);color:var(--color-accent-success);justify-content:space-between}.problem-card__foot{align-items:center;border-top:1px solid var(--color-border-secondary);display:flex;justify-content:space-between;padding-top:var(--spacing-4)}.problem-card__streak{align-items:center;color:var(--color-text-secondary);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2)}.problem-card__streak svg{color:var(--color-accent-amber)}.problem-card__points{background:var(--color-brand-soft);border-radius:var(--border-radius-full);color:var(--color-brand);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);padding:4px 12px}.problem-card__points--link{text-decoration:none;transition:background var(--transition-fast)}.problem-card__points--link:hover{background:var(--color-bg-accent)}.problem-card__retry{align-items:center;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);padding:0;transition:color var(--transition-fast)}.problem-card__retry:hover{color:var(--color-brand)}@media (max-width:560px){.hero__visual .problem-card{padding:var(--spacing-5)}}.features{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-secondary);border-top:1px solid var(--color-border-secondary);padding:var(--spacing-24) 0}.bento{grid-gap:var(--spacing-5);display:grid;gap:var(--spacing-5);grid-template-columns:1fr}@media (min-width:768px){.bento{grid-auto-rows:1fr;grid-template-columns:repeat(2,1fr)}}.bento__tile{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:var(--spacing-4);overflow:hidden;padding:var(--spacing-6);position:relative;text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.bento__tile:after{background:linear-gradient(135deg,var(--color-brand-softer),#0000 65%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity var(--transition-normal)}.bento__tile:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.bento__tile:hover:after{opacity:1}.bento__tile>*{position:relative;z-index:1}.bento__tile--feature{background:radial-gradient(120% 80% at 100% 0,#f59e0b1a,#0000 60%),var(--color-bg-elevated);justify-content:flex-start}.bento__icon{align-items:center;border-radius:var(--border-radius-xl);display:flex;font-size:var(--font-size-2xl);height:56px;justify-content:center;transition:transform var(--transition-fast);width:56px}.bento__tile:hover .bento__icon{transform:scale(1.08) rotate(-4deg)}.bento__icon[data-accent=amber]{background:var(--color-amber-soft);color:var(--color-amber-strong)}.bento__icon[data-accent=violet]{background:#7c3aed1a;color:var(--color-accent-secondary)}.bento__icon[data-accent=indigo]{background:var(--color-brand-soft);color:var(--color-brand)}.bento__icon[data-accent=sky]{background:#0ea5e91f;color:#0284c7}.bento__body h3{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);margin-bottom:var(--spacing-2)}.bento__body p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.bento__tile--feature .bento__body h3{font-size:var(--font-size-2xl)}.bento__tile--feature .bento__body p{font-size:var(--font-size-base)}.bento__cta{align-items:center;color:var(--color-brand);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);margin-top:auto}.bento__tile:hover .bento__cta{gap:var(--spacing-3)}.stats-band{background:radial-gradient(70% 140% at 15% 0,#7c3aed80,#0000 55%),radial-gradient(60% 140% at 90% 100%,#f59e0b47,#0000 55%),var(--gradient-brand);color:#fff;padding:var(--spacing-16) 0}.stats-band__grid{grid-gap:var(--spacing-8) var(--spacing-4);display:grid;gap:var(--spacing-8) var(--spacing-4);grid-template-columns:repeat(2,1fr)}@media (min-width:768px){.stats-band__grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}.home .stat{text-align:center}.stat__icon{font-size:var(--font-size-xl);margin-bottom:var(--spacing-3);opacity:.85}.stat__num{font-size:var(--font-size-5xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tighter);line-height:1}.stat__label{font-size:var(--font-size-sm);margin-top:var(--spacing-2);opacity:.85}.home-announcements{background:var(--color-bg-primary);border-top:1px solid var(--color-border-secondary);padding:var(--spacing-24) 0}.home-ann-grid{grid-gap:var(--spacing-5);display:grid;gap:var(--spacing-5);grid-template-columns:1fr}@media (min-width:768px){.home-ann-grid{grid-template-columns:repeat(3,1fr)}}.home-ann-card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.home-ann-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.home-ann-card__img{aspect-ratio:16/9;background:var(--color-bg-secondary);overflow:hidden;position:relative}.home-ann-card__img img{height:100%;object-fit:cover;transition:transform var(--transition-slow);width:100%}.home-ann-card:hover .home-ann-card__img img{transform:scale(1.05)}.home-ann-card__type--over{box-shadow:var(--shadow-sm);left:var(--spacing-3);position:absolute;top:var(--spacing-3)}.home-ann-card__body{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-6)}.home-ann-card__top{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.home-ann-card__date{align-items:center;color:var(--color-text-tertiary);display:inline-flex;font-size:var(--font-size-xs);gap:var(--spacing-1)}.home-ann-card__date svg{color:var(--color-brand)}.home-ann-card__title{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);line-height:1.3}.home-ann-card__excerpt,.home-ann-card__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.home-ann-card__excerpt{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.home-ann-card__more{align-items:center;color:var(--color-brand);display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);margin-top:auto;padding-top:var(--spacing-4);transition:gap var(--transition-fast)}.home-ann-card:hover .home-ann-card__more{gap:var(--spacing-3)}.home-news{grid-gap:var(--spacing-5);display:grid;gap:var(--spacing-5);grid-template-columns:1fr}@media (min-width:900px){.home-news{align-items:start;grid-template-columns:1.5fr 1fr}}.home-news__featured{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.home-news__featured:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.home-news__featured-media{aspect-ratio:16/9;background:var(--color-bg-secondary);overflow:hidden}.home-news__featured-media img{height:100%;object-fit:cover;transition:transform var(--transition-slow);width:100%}.home-news__featured:hover .home-news__featured-media img{transform:scale(1.04)}.home-news__featured-body{align-items:flex-start;display:flex;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-6)}.home-news__featured-body>*{max-width:100%}.home-news__featured-title{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight);line-height:1.2}.home-news__featured-excerpt{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-secondary);display:-webkit-box;font-size:var(--font-size-base);line-height:var(--line-height-relaxed);overflow:hidden}.home-news__side{flex-direction:column}.home-news-card,.home-news__side{display:flex;gap:var(--spacing-4)}.home-news-card{align-items:stretch;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);overflow:hidden;padding:var(--spacing-4);text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.home-news-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}.home-news-card__media{background:var(--color-bg-secondary);border-radius:var(--border-radius-lg);flex-shrink:0;height:80px;overflow:hidden;width:96px}.home-news-card__media img{height:100%;object-fit:cover;width:100%}.home-news-card__body{display:flex;flex-direction:column;gap:var(--spacing-2);justify-content:center;min-width:0}.home-news-card__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-text-primary);display:-webkit-box;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);line-height:1.3;overflow:hidden}.home-news__meta{align-items:center;color:var(--color-text-tertiary);display:flex;flex-wrap:wrap;font-size:var(--font-size-xs);gap:var(--spacing-4)}.home-news__meta span{align-items:center;display:inline-flex;gap:var(--spacing-1)}.home-news__meta svg,.home-news__more{color:var(--color-brand)}.home-news__more{align-items:center;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);gap:var(--spacing-2);transition:gap var(--transition-fast)}.home-news__featured:hover .home-news__more{gap:var(--spacing-3)}.home-news__ph{align-items:center;background:radial-gradient(circle at 30% 30%,var(--color-brand-soft),#0000 60%),var(--color-bg-secondary);color:var(--color-border-strong);display:flex;font-size:var(--font-size-2xl);height:100%;justify-content:center;width:100%}.home-news__featured-media .home-news__ph{font-size:var(--font-size-5xl)}@media (max-width:560px){.home-news-card__media{width:90px}}.home-announcements__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-6)}.home-announcements__header h2{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);gap:var(--spacing-3);letter-spacing:var(--tracking-tight)}.home-announcements__header h2 svg{color:var(--color-accent-amber);font-size:var(--font-size-lg)}.home-announcements__list{display:flex;flex-direction:column;gap:var(--spacing-3)}.announcement-card{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-xs);display:flex;gap:var(--spacing-4);padding:var(--spacing-4) var(--spacing-5);text-decoration:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.announcement-card:hover{border-color:var(--color-brand);box-shadow:var(--shadow-md);transform:translateX(4px)}.announcement-card--high,.announcement-card--urgent{border-left:none}.announcement-card--pinned{background:linear-gradient(135deg,var(--color-brand-softer),var(--color-bg-elevated))}.announcement-card__image{border-radius:var(--border-radius-lg);flex-shrink:0;height:56px;overflow:hidden;width:56px}.announcement-card__image img{height:100%;object-fit:cover;width:100%}.announcement-card__content{flex:1 1;min-width:0}.announcement-card__meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-bottom:var(--spacing-1)}.announcement-card__badge{border-radius:var(--border-radius-full);font-size:10px;font-weight:var(--font-weight-bold);letter-spacing:.5px;padding:3px 9px;text-transform:uppercase}.announcement-card__badge--pinned{background:var(--color-brand-soft);color:var(--color-brand)}.announcement-card__badge--urgent{background:#e2483d1f;color:var(--color-accent-error)}.announcement-card__badge--high{background:var(--color-amber-soft);color:var(--color-amber-strong)}.announcement-card__date{color:var(--color-text-tertiary);font-size:var(--font-size-xs)}.announcement-card__title{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement-card__excerpt{-webkit-line-clamp:1;-webkit-box-orient:vertical;color:var(--color-text-secondary);display:-webkit-box;font-size:var(--font-size-sm);overflow:hidden}.announcement-card__arrow{color:var(--color-text-tertiary);flex-shrink:0;font-size:var(--font-size-sm);transition:transform var(--transition-fast),color var(--transition-fast)}.announcement-card:hover .announcement-card__arrow{color:var(--color-brand);transform:translateX(3px)}@media (max-width:640px){.announcement-card{padding:var(--spacing-3) var(--spacing-4)}.announcement-card__image{height:44px;width:44px}.announcement-card__excerpt{display:none}}.modern-articles{background:var(--color-bg-secondary);padding:var(--spacing-24) 0}.modern-articles__grid{grid-gap:var(--spacing-6);display:grid;gap:var(--spacing-6);grid-template-columns:1fr}@media (min-width:768px){.modern-articles__grid{grid-template-columns:repeat(3,1fr)}}.modern-articles__card{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);display:block;overflow:hidden;text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.modern-articles__card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.modern-articles__card-image{aspect-ratio:16/9;overflow:hidden;position:relative}.modern-articles__card-image img{height:100%;object-fit:cover;transition:transform var(--transition-slow);width:100%}.modern-articles__card:hover .modern-articles__card-image img{transform:scale(1.06)}.modern-articles__card-overlay{align-items:center;background:linear-gradient(135deg,#4f46e5d1,#7c3aedd1);color:#fff;display:flex;flex-direction:column;font-weight:var(--font-weight-semibold);gap:var(--spacing-2);inset:0;justify-content:center;opacity:0;position:absolute;transition:opacity var(--transition-normal)}.modern-articles__card:hover .modern-articles__card-overlay{opacity:1}.modern-articles__card-content{padding:var(--spacing-6)}.modern-articles__card-title{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-tight);margin-bottom:var(--spacing-2)}.modern-articles__card-excerpt,.modern-articles__card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.modern-articles__card-excerpt{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-4)}.modern-articles__card-meta{align-items:center;border-top:1px solid var(--color-border-secondary);display:flex;flex-wrap:wrap;gap:var(--spacing-4);padding-top:var(--spacing-3)}.modern-articles__card-author,.modern-articles__card-date{align-items:center;color:var(--color-text-tertiary);display:flex;font-size:var(--font-size-xs);gap:var(--spacing-2)}.modern-articles__card-author svg,.modern-articles__card-date svg{color:var(--color-brand)}@media (max-width:640px){.section-head--left{align-items:flex-start;flex-direction:column}}.home-program{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-secondary);border-top:1px solid var(--color-border-secondary);padding:var(--spacing-24) 0}.home-program__levels{grid-gap:var(--spacing-4);display:grid;gap:var(--spacing-4);grid-template-columns:repeat(3,1fr)}.home-program__level{background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-2xl);box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:0;min-height:210px;padding:var(--spacing-6);position:relative;text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.home-program__level:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.home-program__level--soon{background:var(--color-bg-secondary)}.home-program__level-grade{color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.05em;margin-bottom:var(--spacing-2);text-transform:uppercase}.home-program__level-name{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight);margin-bottom:var(--spacing-3);text-transform:uppercase}.home-program__level-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);margin-bottom:var(--spacing-4);max-width:26ch}.home-program__level-status{align-self:flex-start;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-full);color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);margin-top:auto;padding:3px 12px}.home-program__level-status--open{background:#0ea3711a;border-color:#0ea37140;color:var(--color-accent-success)}.home-program__action{display:flex;justify-content:center;margin-top:var(--spacing-8)}@media (max-width:900px){.home-program__levels{grid-template-columns:1fr}}@media (max-width:420px){.home-program__levels{grid-template-columns:1fr}}.home-book{background:var(--color-bg-primary);padding:var(--spacing-16) 0}.home-book__card{align-items:center;background:var(--color-bg-elevated);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-lg);display:flex;gap:var(--spacing-10);padding:var(--spacing-10) var(--spacing-10)}.home-book__cover{align-items:center;aspect-ratio:250/354;background:#f7f2ea;border:1px solid #d9cfc0;border-radius:4px;box-shadow:0 16px 32px -10px #0000004d;display:flex;flex-direction:column;flex-shrink:0;gap:10px;justify-content:center;padding:16px;text-align:center;transform:rotate(-2.5deg);width:170px}.home-book__cover-brand{color:#6b6157;font-size:7px;letter-spacing:.28em}.home-book__cover-title{color:#1c1710;font-family:Georgia,Times New Roman,serif;font-size:26px;line-height:1.1}.home-book__cover-author{color:#4a4239;font-family:Georgia,serif;font-size:10px}.home-book__body{flex:1 1;min-width:0}.home-book__body .section-title{margin:var(--spacing-2) 0 var(--spacing-3)}.home-book__body p{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-5);max-width:56ch}.home-book__btn{align-items:center;background:var(--color-brand);border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);text-decoration:none;transition:background var(--transition-fast),transform var(--transition-fast)}.home-book__btn:hover{background:var(--color-brand-strong);color:#fff;transform:translateY(-1px)}@media (max-width:767px){.home-book__card{flex-direction:column;padding:var(--spacing-8) var(--spacing-5);text-align:center}.home-book__cover{transform:rotate(0deg)}.home-book__body p{margin-left:auto;margin-right:auto}}.home-test{background:var(--color-bg-primary);padding:var(--spacing-24) 0}.home-test__card{background:var(--color-brand-soft);border:1px solid var(--color-border-primary);border-radius:var(--border-radius-3xl);overflow:hidden;padding:var(--spacing-12) var(--spacing-10);position:relative}.home-test__body{max-width:640px}.home-test__body .section-title{margin:var(--spacing-2) 0 var(--spacing-3)}.home-test__body>p{color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-5);max-width:56ch}.home-test__points{display:flex;flex-direction:column;gap:var(--spacing-3);list-style:none;margin:0 0 var(--spacing-8);padding:0}.home-test__points li{align-items:center;color:var(--color-text-primary);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-3)}.home-test__points li svg{color:var(--color-brand)}@media (max-width:767px){.home-test__card{padding:var(--spacing-8) var(--spacing-5)}}.problem-opt--wrong{background:#e2483d14;border-color:#e2483d59;color:var(--color-accent-error)}.problem-card__feedback{background:var(--color-brand-softer);border-radius:var(--border-radius-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:calc(var(--spacing-2)*-1) 0 var(--spacing-4);padding:var(--spacing-3) var(--spacing-4)}.problem-card__feedback:empty{background:none;margin:0;padding:0}.page-loader{color:var(--color-text-secondary);flex-direction:column;gap:var(--spacing-5);min-height:40vh}.page-loader,.page-loader__mark{align-items:center;display:flex;justify-content:center}.page-loader__mark{animation:page-loader-breathe 1.4s ease-in-out infinite;background:var(--gradient-brand);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-brand-sm);color:#fff;font-family:Georgia,Cambria,serif;font-size:1.7rem;font-style:italic;font-weight:700;height:56px;line-height:1;padding:0 0 4px;position:relative;width:56px}.page-loader__mark:after{animation:page-loader-ring 1.4s ease-out infinite;border:2px solid var(--color-brand);border-radius:var(--border-radius-2xl);content:"";inset:-10px;opacity:0;position:absolute}.page-loader p{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}@keyframes page-loader-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes page-loader-ring{0%{opacity:.45;transform:scale(.85)}to{opacity:0;transform:scale(1.25)}}.profile-gate-overlay{align-items:center;animation:gate-fade .2s ease-out;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1c183099;display:flex;inset:0;justify-content:center;padding:var(--spacing-5);position:fixed;z-index:var(--z-modal)}@keyframes gate-fade{0%{opacity:0}to{opacity:1}}.profile-gate-modal{animation:gate-pop .25s ease-out;background:var(--color-bg-elevated);border-radius:var(--border-radius-3xl);box-shadow:var(--shadow-2xl);max-height:90vh;max-width:460px;overflow-y:auto;padding:var(--spacing-8);width:100%}@keyframes gate-pop{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.profile-gate-header{margin-bottom:var(--spacing-6);text-align:center}.profile-gate-icon{color:var(--color-accent-amber);font-size:var(--font-size-3xl);margin-bottom:var(--spacing-4)}.profile-gate-header h2{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight);margin-bottom:var(--spacing-2)}.profile-gate-header p{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}.profile-gate-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.profile-gate-field{display:flex;flex-direction:column;gap:var(--spacing-2)}.profile-gate-field label{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:var(--spacing-2)}.profile-gate-field label svg{color:var(--color-brand);font-size:var(--font-size-xs)}.profile-gate-field input,.profile-gate-field select{background:var(--color-bg-secondary);border:1px solid var(--color-border-strong);border-radius:var(--border-radius-lg);color:var(--color-text-primary);font-size:var(--font-size-base);padding:var(--spacing-3) var(--spacing-4);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);width:100%}.profile-gate-field input:focus,.profile-gate-field select:focus{background:var(--color-bg-elevated);border-color:var(--color-brand);box-shadow:var(--ring-brand);outline:none}.profile-gate-error{background:#e2483d1a;border:1px solid #e2483d40;border-radius:var(--border-radius-lg);color:var(--color-accent-error);font-size:var(--font-size-sm);padding:var(--spacing-3) var(--spacing-4)}.profile-gate-submit{align-items:center;background:var(--color-brand);border:none;border-radius:var(--border-radius-full);box-shadow:var(--shadow-brand-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-2);justify-content:center;margin-top:var(--spacing-2);padding:var(--spacing-4) var(--spacing-6);transition:background var(--transition-fast),transform var(--transition-fast)}.profile-gate-submit:hover{background:var(--color-brand-strong);transform:translateY(-2px)}.profile-gate-submit:disabled{cursor:not-allowed;opacity:.7;transform:none}.profile-gate-footer{color:var(--color-text-tertiary);font-size:var(--font-size-xs);margin-top:var(--spacing-5);text-align:center}.profile-gate-footer a{color:var(--color-brand);font-weight:var(--font-weight-semibold);text-decoration:none}.profile-gate-footer a:hover{text-decoration:underline}.profile-gate-success{padding:var(--spacing-6) var(--spacing-2);text-align:center}.profile-gate-success svg{color:var(--color-accent-success);font-size:var(--font-size-5xl);margin-bottom:var(--spacing-4)}.profile-gate-success h2{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-extrabold);margin-bottom:var(--spacing-2)}.profile-gate-success p{color:var(--color-text-secondary);font-size:var(--font-size-sm)}
/*# sourceMappingURL=main.279a2ea7.css.map*/