:root{--gold-primary:#ffd700;--gold-dark:#b8860b;--gold-gradient:linear-gradient(135deg, #ffd700 0%, #d4af37 50%, #b8860b 100%);--text-on-gold:#1a1a1a;--color-bg-main:#0f1115;--color-bg-secondary:#151821;--color-bg-card:#1b1f2a;--color-border:#2a2f3a;--color-text-main:#e6e8ee;--color-text-secondary:#a3a8b8;--color-text-muted:#6f7485;--color-accent:#5b8cff;--color-accent-hover:#4a7df0;--color-success:#3fb950;--color-danger:#f85149;--color-warning:#d29922;--font-main:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--font-size-xs:11px;--font-size-sm:13px;--font-size-base:15px;--font-size-lg:17px;--font-size-xl:20px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--shadow-card:0 4px 12px rgba(0, 0, 0, 0.35);--ease-smooth:cubic-bezier(0.22, 1, 0.36, 1);--ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);--dur-fast:0.15s;--dur-base:0.28s;--dur-slow:0.6s;--safe-area-top:env(safe-area-inset-top, 0px);--header-bar-height:64px;--page-top-offset:92px;--latex-svg-img-filter:invert(1) brightness(0.91) contrast(1.32);--latex-svg-catalog-glow:drop-shadow(0.55px 0 0 rgba(230, 232, 238, 0.42)) drop-shadow(-0.55px 0 0 rgba(230, 232, 238, 0.42)) drop-shadow(0 0.45px 0 rgba(230, 232, 238, 0.35)) drop-shadow(0 -0.45px 0 rgba(230, 232, 238, 0.35))}[data-theme=light]{color-scheme:light;--color-bg-main:#f6f7fb;--color-bg-secondary:#ffffff;--color-bg-card:#ffffff;--color-border:#e4e7ee;--color-text-main:#1f2328;--color-text-secondary:#4b5563;--color-text-muted:#6b7280;--color-accent:#4f7cff;--color-accent-hover:#3f6ae6;--color-success:#16a34a;--color-danger:#dc2626;--color-warning:#d97706;--latex-svg-img-filter:contrast(1.38) brightness(0.97);--latex-svg-catalog-glow:drop-shadow(0.55px 0 0 rgba(31, 35, 40, 0.5)) drop-shadow(-0.55px 0 0 rgba(31, 35, 40, 0.5)) drop-shadow(0 0.45px 0 rgba(31, 35, 40, 0.42)) drop-shadow(0 -0.45px 0 rgba(31, 35, 40, 0.42));--gold-primary:#b8941a;--gold-dark:#96710e;--gold-gradient:linear-gradient(135deg, #e4c84a 0%, #c9a227 50%, #a67c12 100%)}*,::after,::before{box-sizing:border-box}body,html{margin:0;padding:0}html{background:var(--color-bg-main);color-scheme:dark}html.theme-no-transition,html.theme-no-transition *,html.theme-no-transition ::after,html.theme-no-transition ::before{transition:none!important}body{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg-main);color:var(--color-text-main);font-family:var(--font-main);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;padding-top:calc(var(--page-top-offset) + var(--safe-area-top));transition:background var(--dur-base) ease,color var(--dur-base) ease}.card,.dashboard-card,.dashboard-hero,.landing>section,.main-content>*,.main-header,.sidebar{transition:background-color var(--dur-base) ease,border-color var(--dur-base) ease,color var(--dur-base) ease}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}.catalog-hub-grid>.catalog-hub-tile,.catalog-topic-grid>.catalog-topic-card,.landing>section,.reveal-stagger>*,.reveal-up,body:not([data-page=landing]) .main-content>*{opacity:1!important;animation:none!important;transform:none!important}.btn-gold::after,.dashboard-start-btn::after{animation:none!important;opacity:0!important}}.main-header{position:fixed;top:0;left:0;right:0;padding-top:var(--safe-area-top);height:calc(var(--header-bar-height) + var(--safe-area-top));background:linear-gradient(180deg,color-mix(in srgb,var(--color-bg-secondary) 94%,transparent),color-mix(in srgb,var(--color-bg-secondary) 88%,transparent));backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);border-bottom:1px solid color-mix(in srgb,var(--gold-primary) 28%,var(--color-border));box-shadow:0 2px 18px rgba(0,0,0,.16);z-index:100;animation:header-slide-down var(--dur-slow) var(--ease-smooth) both}@keyframes header-slide-down{from{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.header-inner{max-width:1200px;margin:0 auto;height:100%;padding:0 var(--space-lg);display:flex;align-items:center;justify-content:space-between}.logo{display:inline-flex;align-items:center}.header-logo{height:84px;width:auto;display:block}[data-theme=light] .header-logo{filter:invert(1) hue-rotate(180deg) brightness(1.2)}.logo:hover .header-logo{filter:invert(1) hue-rotate(180deg) brightness(1.2) drop-shadow(0 0 8px rgba(250, 204, 21, .9))}.nav-left,.nav-right{display:flex;align-items:center;gap:var(--space-md)}.main-nav{display:flex;align-items:center;gap:var(--space-sm)}.catalog-task-select,.catalog-task-select-label,.mobile-header-menu-btn,.trainer-task-select,.trainer-task-select-label{display:none}.main-wrapper{max-width:1400px;width:100%;margin:0 auto;padding:var(--space-lg) 40px var(--space-xl);display:grid;grid-template-columns:280px minmax(0,1fr);gap:var(--space-lg);align-items:flex-start;flex:1 0 auto}.exam-wrapper,.profile-wrapper,.stats-wrapper,.steroid-wrapper{grid-template-columns:1fr}.steroid-main{display:flex;flex-direction:column;gap:var(--space-md)}.steroid-card{width:100%;max-width:100%;box-sizing:border-box;min-width:0;transition:border-color .2s,box-shadow .2s,transform .1s,filter .2s}.steroid-card:hover{border-color:rgba(212,175,55,.7);box-shadow:0 10px 28px rgba(212,175,55,.35);transform:translateY(-2px);filter:drop-shadow(0 0 8px rgba(250, 204, 21, .35))}.steroid-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-sm)}.steroid-number-btn{padding:8px 0;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-main);cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .1s}.steroid-number-btn.selected{background:var(--gold-gradient);color:var(--text-on-gold);border-color:rgba(212,175,55,.9);box-shadow:0 6px 16px rgba(212,175,55,.4);transform:translateY(-1px)}.steroid-next-wrapper{margin-top:calc(var(--space-md) * 1.5)}.steroid-roadmap-item{display:flex;align-items:center;justify-content:center;padding:10px 0;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-main);cursor:grab;box-shadow:var(--shadow-card);transition:background-color .2s,border-color .2s,box-shadow .2s,transform .1s}.steroid-roadmap-item:hover{border-color:rgba(212,175,55,.7);box-shadow:0 6px 18px rgba(212,175,55,.35);transform:translateY(-1px)}.steroid-roadmap-item.dragging{opacity:.85;cursor:grabbing;box-shadow:0 10px 24px rgba(212,175,55,.55)}.steroid-roadmap-item.drop-target{border-color:rgba(212,175,55,.95);box-shadow:0 0 0 2px rgba(212,175,55,.5),0 10px 24px rgba(212,175,55,.55)}.steroid-roadmap-number{font-weight:600}.steroid-roadmap-actions{margin-top:calc(var(--space-md) * 1.5);display:flex;flex-wrap:wrap;gap:var(--space-sm)}.steroid-roadmap-page .steroid-roadmap-card{padding:calc(var(--space-lg) * 1.25) clamp(var(--space-md),4vw,2rem) calc(var(--space-lg) * 1.4);position:relative;overflow:hidden}.steroid-roadmap-page .steroid-roadmap-card::before{content:'';position:absolute;inset:0;background:radial-gradient(70% 45% at 50% 0,rgba(212,175,55,.14),transparent 70%);pointer-events:none;animation:5s ease-in-out infinite steroidGlowPulse}@keyframes steroidGlowPulse{0%,100%{opacity:.65}50%{opacity:1}}.steroid-roadmap-title{text-align:center;margin-bottom:calc(var(--space-lg) * 1.1);font-size:clamp(1.2rem, 2.6vw, 1.55rem);font-weight:700;letter-spacing:-.01em;position:relative;z-index:1}.steroid-roadmap-title::after{content:'';display:block;width:0;height:3px;margin:.7rem auto 0;border-radius:999px;background:var(--gold-gradient);animation:.8s cubic-bezier(.22,1,.36,1) .15s forwards steroidUnderline}@keyframes steroidUnderline{to{width:72px}}#steroid-roadmap-loading{text-align:center}.steroid-learning-path{width:100%;max-width:760px;margin:0 auto;position:relative;z-index:1}.steroid-snake{position:relative;width:100%;display:grid;gap:2.4rem .4rem;padding:.5rem 1rem 0;z-index:0}.steroid-snake__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}.steroid-snake__track{fill:none;stroke:var(--color-border);stroke-width:3;stroke-linecap:round;stroke-dasharray:0.1 11;opacity:.85}.steroid-snake__gold{fill:none;stroke:url(#steroidGoldStroke);stroke-width:4.5;stroke-linecap:round;filter:url(#steroidGoldGlow);stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:1.1s .15s forwards steroidDrawLine}@keyframes steroidDrawLine{to{stroke-dashoffset:0}}.steroid-snake__spark{fill:#fff7d6;filter:url(#steroidGoldGlow);opacity:0;animation:.4s 1s forwards steroidSparkIn}@keyframes steroidSparkIn{to{opacity:1}}.steroid-snake__node{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;opacity:0;transform:translateY(10px) scale(.85);animation:.5s cubic-bezier(.34,1.56,.64,1) forwards steroidNodePop;animation-delay:calc(var(--node-i, 0) * 80ms + .2s)}@keyframes steroidNodePop{to{opacity:1;transform:none}}.steroid-snake__circle{width:3.4rem;height:3.4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--color-text-secondary);background:var(--color-bg-secondary);border:2px solid var(--color-border);position:relative;z-index:1;transition:transform .25s,border-color .25s,box-shadow .25s,color .25s,background .25s}.steroid-snake__circle svg{width:1.5rem;height:1.5rem}.steroid-snake__circle--num{font-size:1.25rem;letter-spacing:-.02em}.steroid-snake__node:hover .steroid-snake__circle{transform:translateY(-3px) scale(1.08)}.steroid-snake__node--completed .steroid-snake__circle{background:var(--gold-gradient);border-color:rgba(212,175,55,.9);color:#2a2103;box-shadow:0 6px 16px rgba(212,175,55,.32)}.steroid-snake__node--current .steroid-snake__circle{border:2px solid var(--gold-primary);color:var(--gold-primary);background:var(--color-bg-card);animation:2.4s ease-in-out infinite steroidBreathe}@keyframes steroidBreathe{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(212,175,55,.55),0 0 14px rgba(212,175,55,.4)}50%{transform:scale(1.08);box-shadow:0 0 0 11px rgba(212,175,55,0),0 0 24px rgba(212,175,55,.65)}}.steroid-snake__node--current .steroid-snake__circle::before{content:'';position:absolute;inset:-7px;border-radius:50%;border:2px dashed rgba(212,175,55,.7);animation:7s linear infinite steroidSpin}@keyframes steroidSpin{to{transform:rotate(360deg)}}.steroid-snake__node--locked .steroid-snake__circle{filter:grayscale(.7);opacity:.5}.steroid-snake__badge{position:absolute;top:-3px;right:-3px;width:1.15rem;height:1.15rem;border-radius:50%;background:#1f9d55;color:#fff;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-bg-card);z-index:2;animation:.45s cubic-bezier(.34,1.56,.64,1) backwards steroidBadgePop;animation-delay:calc(var(--node-i, 0) * 80ms + .5s)}.steroid-snake__badge svg{width:.7rem;height:.7rem}@keyframes steroidBadgePop{from{transform:scale(0) rotate(-45deg);opacity:0}to{transform:none;opacity:1}}.steroid-snake__label{margin-top:.5rem;font-size:.76rem;line-height:1.2;color:var(--color-text-secondary);max-width:7rem}.steroid-snake__node--completed .steroid-snake__label,.steroid-snake__node--current .steroid-snake__label{color:var(--color-text-main);font-weight:600}.steroid-snake__sub{margin-top:.12rem;font-size:.66rem;color:var(--color-text-muted)}.steroid-roadmap-continue{margin-top:calc(var(--space-lg) * 1.3);display:flex;justify-content:center;position:relative;z-index:1;opacity:0;transform:translateY(10px);animation:.5s cubic-bezier(.34,1.56,.64,1) .5s forwards steroidNodePop}.steroid-roadmap-continue .primary-button{min-width:13rem}@media (prefers-reduced-motion:reduce){.steroid-roadmap-continue,.steroid-snake__node{animation:none;opacity:1;transform:none}.steroid-roadmap-page .steroid-roadmap-card::before,.steroid-roadmap-title::after,.steroid-snake__badge,.steroid-snake__gold,.steroid-snake__node--current .steroid-snake__circle,.steroid-snake__node--current .steroid-snake__circle::before,.steroid-snake__spark{animation:none}.steroid-snake__gold{stroke-dashoffset:0}.steroid-roadmap-title::after{width:72px}.steroid-snake__spark{opacity:1}}@media (max-width:520px){.steroid-snake{gap:2rem .3rem;padding:.5rem .6rem 0}.steroid-snake__circle{width:3rem;height:3rem}.steroid-snake__circle svg{width:1.3rem;height:1.3rem}.steroid-snake__circle--num{font-size:1.1rem}.steroid-snake__label{font-size:.68rem;max-width:5rem}}.steroid-pace-options{display:flex;flex-direction:column;gap:var(--space-sm);width:100%;min-width:0}.steroid-pace-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--space-sm) var(--space-md);width:100%;max-width:100%;box-sizing:border-box;padding:var(--space-md);border:1px solid var(--color-border);border-radius:12px;background:var(--color-bg-secondary);cursor:pointer;transition:border-color .2s,box-shadow .2s}.steroid-pace-option:has(input:checked){border-color:rgba(212,175,55,.85);box-shadow:0 0 0 1px rgba(212,175,55,.35)}.steroid-pace-option input{margin-top:2px;flex-shrink:0}.steroid-pace-option-body{display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere;word-break:break-word}.steroid-pace-option-body strong{display:block;line-height:1.3}.steroid-pace-option-body .text-secondary{display:block;line-height:1.45}.steroid-pace-warning{margin:0;padding:var(--space-sm) var(--space-md);border-radius:10px;border:1px solid rgba(234,179,8,.55);background:rgba(234,179,8,.12);color:var(--color-text-main);font-size:.95rem;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}.steroid-pace-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.steroid-pace-badge{display:inline-block;margin-bottom:var(--space-sm);padding:4px 10px;border-radius:999px;font-size:.85rem;font-weight:600;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-main)}.steroid-pace-badge--accelerated{border-color:rgba(234,179,8,.6);background:rgba(234,179,8,.12)}.steroid-pace-badge--selective{border-color:rgba(96,165,250,.6);background:rgba(96,165,250,.12)}.steroid-stats-pace{margin-bottom:var(--space-sm);font-size:.95rem;color:var(--color-text-secondary)}.main-content{display:flex;flex-direction:column;gap:var(--space-lg)}.sidebar{background:var(--color-bg-secondary);border-radius:12px;border:1px solid var(--color-border);padding:var(--space-md);position:sticky;top:calc(var(--page-top-offset) + var(--safe-area-top) + var(--space-sm));max-height:calc(100vh - var(--page-top-offset) - var(--safe-area-top) - var(--space-md) * 2);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.sidebar-section-label{margin:10px 0 6px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.sidebar-section-label:first-of-type{margin-top:0}.sidebar .nav-btn{display:block;width:100%;margin-bottom:4px;padding:8px 10px;border-radius:999px;border:none;background:var(--gold-gradient);color:var(--text-on-gold);font-size:var(--font-size-sm);font-weight:600;text-align:left;text-decoration:none;cursor:pointer;transition:background-color .2s,box-shadow .2s,transform .1s}.sidebar .nav-btn:hover{text-decoration:none;box-shadow:0 6px 20px rgba(212,175,55,.45);transform:translateY(-1px)}.sidebar .nav-btn-num{font-weight:700}.sidebar .nav-btn-topic{font-weight:500;opacity:.65}.site-footer{padding-bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,0px))}[data-theme=light] .site-footer{background:#fff;border-top:1px solid var(--color-border);box-shadow:0 -4px 12px rgba(15,23,42,.08)}.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg)}@media (max-width:768px){:root{--header-bar-height:56px;--page-top-offset:88px}body{padding-top:calc(var(--page-top-offset) + var(--safe-area-top))}input,select,textarea{min-height:44px;box-sizing:border-box}.footer-inner,.header-inner,.main-wrapper,.xp-bar-inner{width:100%;max-width:100%;box-sizing:border-box;padding-left:var(--space-md);padding-right:var(--space-md)}.main-header{min-height:calc(var(--header-bar-height) + var(--safe-area-top))}.header-inner{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:var(--space-sm);height:100%;min-height:0}.header-logo{height:40px;width:auto}.nav-left{position:relative;flex:1 1 auto;min-width:0;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:var(--space-sm);width:auto}.nav-right{flex:0 0 auto;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;width:auto}.main-nav-right{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:4px;width:auto}.nav-link--stats-desktop,.theme-toggle--desktop-only{display:none!important}.mobile-header-menu-btn{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;margin-left:4px;padding:0 12px;min-height:40px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-main);font-size:var(--font-size-sm);font-weight:600;cursor:pointer}.nav-left .main-nav-left,.nav-left .main-nav-parent{display:flex;position:fixed;top:calc(var(--header-bar-height) + var(--safe-area-top));left:0;right:0;z-index:140;flex-direction:column;align-items:stretch;gap:4px;width:100%;max-height:min(80vh,560px);overflow-y:auto;padding:12px var(--space-md) 16px;margin:0;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-card);opacity:0;visibility:hidden;transform:translateY(-8px);pointer-events:none;transition:opacity var(--dur-base) var(--ease-smooth),transform var(--dur-base) var(--ease-smooth),visibility var(--dur-base)}.nav-left.mobile-nav-is-open .main-nav-left,.nav-left.mobile-nav-is-open .main-nav-parent{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.nav-modes-dropdown-root{width:100%;display:flex;flex-direction:column;gap:4px}.nav-modes-toggle{display:none!important}.nav-modes-panel,.nav-modes-panel[hidden]{display:flex!important;flex-direction:column;gap:4px;position:static;min-width:0;max-width:none;width:100%;margin:0;padding:0;border:none;border-radius:0;box-shadow:none;background:0 0}.nav-modes-item{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:10px 12px;border-radius:999px;color:var(--color-text-secondary);font-size:var(--font-size-sm);text-decoration:none;box-sizing:border-box}.nav-modes-item:active,.nav-modes-item:hover{color:var(--color-text-main);background:rgba(255,255,255,.03)}.nav-modes-item.active{color:var(--gold-primary);background:rgba(212,175,55,.16)}.main-wrapper{display:flex;flex-direction:column;align-items:stretch;padding-top:var(--space-md);padding-bottom:var(--space-lg);gap:0;grid-template-columns:none;grid-template-rows:none}.steroid-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-inner{grid-template-columns:1fr;gap:var(--space-md)}.main-content{width:100%;min-width:0;flex:1 1 auto}.sidebar{position:static;width:100%;max-width:100%;flex:0 0 auto;height:auto;max-height:none;min-height:0;margin-bottom:20px;order:-1;overflow-y:visible}.sidebar .nav-btn{min-height:32px;padding:5px 8px;box-sizing:border-box;flex:0 0 auto;align-self:stretch;margin-bottom:0;font-size:var(--font-size-xs)}.sidebar #nav-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;align-content:start}body[data-page=trainer] .sidebar #nav-list{display:none!important}body[data-page=trainer] .trainer-task-select-label{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:var(--space-sm) 0 6px}body[data-page=trainer] .trainer-task-select{display:block;width:100%;max-width:100%;box-sizing:border-box;min-height:44px;padding:8px 10px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-main);font-size:var(--font-size-sm)}body[data-page=catalog] .sidebar #nav-list{display:none!important}body[data-page=catalog] .catalog-task-select-label{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:var(--space-sm) 0 6px}body[data-page=catalog] .catalog-task-select{display:block;width:100%;max-width:100%;box-sizing:border-box;min-height:44px;padding:8px 10px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-main);font-size:var(--font-size-sm)}.steroid-main{width:100%}}.theme-toggle{background:0 0;border:1px solid var(--color-border);color:var(--color-text-main);border-radius:8px;padding:6px 10px;cursor:pointer;font-size:var(--font-size-sm);line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background-color var(--dur-base) ease,border-color var(--dur-base) ease,box-shadow var(--dur-base) ease,transform var(--dur-fast) var(--ease-spring)}.theme-toggle:hover{background:rgba(0,0,0,.1);border-color:rgba(212,175,55,.8);box-shadow:0 0 10px rgba(212,175,55,.55);transform:translateY(-1px)}.theme-toggle--spin{animation:theme-toggle-spin .45s var(--ease-spring)}@keyframes theme-toggle-spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.15)}100%{transform:rotate(360deg) scale(1)}}.nav-link{position:relative;display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;color:var(--color-text-secondary);font-size:var(--font-size-sm);text-decoration:none;transition:background-color var(--dur-base) ease,color var(--dur-base) ease,transform var(--dur-fast) ease}.nav-link::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:999px;background:var(--gold-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-smooth)}.nav-link:hover{color:var(--color-text-main);background:rgba(255,255,255,.03);transform:translateY(-1px);filter:drop-shadow(0 0 6px rgba(250, 204, 21, .35))}.nav-link:hover::after{transform:scaleX(1)}.nav-link.active{color:var(--gold-primary);background:rgba(212,175,55,.16)}.nav-link.active::after{transform:scaleX(1);background:var(--gold-primary)}.nav-link--path{color:#2a1d00;font-weight:700;padding-left:14px;padding-right:16px;background:var(--gold-gradient);box-shadow:0 2px 10px rgba(212,175,55,.4),inset 0 0 0 1px rgba(255,255,255,.22);animation:3.2s ease-in-out infinite nav-path-glow}.nav-link--path::after{content:none}.nav-link--path-icon{display:inline-flex;align-items:center;margin-right:6px;font-size:.85em;line-height:1;color:#2a1d00;filter:drop-shadow(0 0 3px rgba(255, 255, 255, .5));animation:3.2s ease-in-out infinite nav-path-spark}.nav-link--path:hover{color:#2a1d00;background:var(--gold-gradient);transform:translateY(-1px) scale(1.03);filter:none;box-shadow:0 6px 18px rgba(255,215,0,.55),inset 0 0 0 1px rgba(255,255,255,.32)}.nav-link--path.active{color:#2a1d00;background:var(--gold-gradient);box-shadow:0 0 0 2px rgba(255,215,0,.35),0 6px 18px rgba(212,175,55,.55)}@keyframes nav-path-glow{0%,100%{box-shadow:0 2px 10px rgba(212,175,55,.38),inset 0 0 0 1px rgba(255,255,255,.22)}50%{box-shadow:0 4px 18px rgba(255,215,0,.65),inset 0 0 0 1px rgba(255,255,255,.3)}}@keyframes nav-path-spark{0%,100%{transform:rotate(0) scale(1);opacity:.9}50%{transform:rotate(90deg) scale(1.18);opacity:1}}@media (prefers-reduced-motion:reduce){.nav-link--path,.nav-link--path-icon{animation:none}}.nav-modes-dropdown-root{position:relative;display:inline-flex;align-items:center}.nav-modes-toggle{font-family:inherit;cursor:pointer;gap:4px}.nav-modes-toggle::after{content:none}.nav-modes-chevron{display:inline-flex;align-items:center;font-size:.75em;line-height:1;opacity:.85;transition:transform var(--dur-base) var(--ease-smooth)}.nav-modes-toggle[aria-expanded=true] .nav-modes-chevron{transform:rotate(180deg)}.nav-modes-panel{position:absolute;top:calc(100% + 6px);left:0;min-width:196px;z-index:150;padding:6px 0;border-radius:12px;border:1px solid var(--color-border);background:var(--color-bg-card);box-shadow:var(--shadow-card)}.nav-modes-item{display:flex;align-items:center;width:100%;padding:10px 14px;color:var(--color-text-main);font-size:var(--font-size-sm);text-decoration:none;box-sizing:border-box;min-height:44px;transition:background-color var(--dur-base) ease,color var(--dur-base) ease}.nav-modes-item:hover{background:rgba(212,175,55,.12);color:var(--gold-primary)}.nav-modes-item.active{color:var(--gold-primary);background:rgba(212,175,55,.16)}.main-nav-right .nav-link{border-radius:0;background:0 0}.main-nav-right .nav-link.active{background:0 0;text-decoration:none}.main-nav-right .nav-link.active::after{transform:scaleX(1);background:var(--gold-primary)}.main-nav-right{min-height:29px}#auth-section{min-width:210px;min-height:29px;display:inline-flex;align-items:center;justify-content:flex-end}html.app-user-authed #about-link,html.auth-pending-authed #about-link,html.auth-pending-authed #login-link,html.auth-pending-authed #registration-link{display:none!important}html.auth-pending-authed #auth-section{visibility:hidden}html.auth-pending-authed #parents-link,html.auth-pending-authed.app-user-parent .main-header #main-nav-left,html.auth-pending-authed.app-user-parent .main-header #parents-link,html.auth-pending-authed:not(.app-user-parent) .main-header #main-nav-parent{display:none!important}html.auth-pending-authed.app-user-parent .main-header #main-nav-parent{display:flex!important}.main-header #main-nav-parent,html.app-user-authed.app-user-parent .main-header #main-nav-left,html.app-user-authed.app-user-parent .main-header #parents-link{display:none!important}html.app-user-authed.app-user-parent .main-header #main-nav-parent{display:flex!important}html.auth-pending-unauth .main-header #auth-section,html.auth-pending-unauth .main-header #main-nav-parent,html.auth-pending-unauth .main-header .main-nav-left,html.auth-pending-unauth .main-header .main-nav-right,html.auth-pending-unauth .main-header .mobile-header-menu-btn{display:none!important}html.auth-pending-unauth .main-header .header-inner{justify-content:flex-start}html.auth-pending-unauth .main-header .nav-left{gap:0}.header-user{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.header-user-dropdown-root.header-user-desktop{position:relative;display:inline-flex;align-items:center}.header-notifications-root{position:relative}.header-notifications-btn{position:relative;border:1px solid transparent;background:0 0;color:var(--color-text-secondary);border-radius:999px;padding:4px 10px;cursor:pointer}.header-notifications-btn:hover{background:rgba(212,175,55,.12);color:var(--gold-primary)}.header-notifications-badge{position:absolute;top:-3px;right:-1px;min-width:16px;height:16px;border-radius:999px;background:var(--color-danger);color:#fff;font-size:10px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;animation:ui-pop-in var(--dur-base) var(--ease-spring) both}.header-notifications-badge[hidden],html.game-elements-off .header-coins,html.game-elements-off a[href="/rewards"],html.game-elements-off a[href="/shop"],html.game-elements-off a[href="/talents"]{display:none!important}.header-notifications-popover{width:min(360px,92vw);max-height:60vh;overflow:auto}.header-notifications-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid var(--color-border)}.header-notifications-readall{border:0;background:0 0;color:var(--color-text-secondary);cursor:pointer}.header-notifications-readall:hover{color:var(--gold-primary)}.header-notifications-list{display:grid;gap:6px;padding:8px}.header-notification-card{text-align:left;border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:10px;padding:8px 10px;cursor:pointer;color:var(--color-text-main)}.header-notification-card.is-read{opacity:.7}.header-notification-title{font-size:var(--font-size-xs);color:var(--gold-primary);margin-bottom:4px}.header-notification-message{white-space:pre-wrap;line-height:1.35}.header-notification-action{display:inline-flex;margin-top:8px;padding:4px 10px;border-radius:8px;background:rgba(212,175,55,.15);color:var(--gold-primary);font-size:var(--font-size-sm);font-weight:600;text-decoration:none}.header-notification-action:hover{background:rgba(212,175,55,.28)}.header-notifications-empty{color:var(--color-text-muted);padding:8px 4px}.notification-toast-stack{position:fixed;top:calc(var(--page-top-offset) + var(--safe-area-top) + 10px);right:calc(12px + env(safe-area-inset-right,0px));z-index:13010;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:min(360px,calc(100vw - 24px))}.notification-toast{pointer-events:auto;opacity:0;transform:translateY(-12px) scale(.98);transition:opacity .28s,transform .32s cubic-bezier(.22, 1, .36, 1);border-radius:14px;border:1px solid rgba(96,165,250,.45);background:var(--color-bg-card);box-shadow:0 14px 36px rgba(0,0,0,.42);padding:12px 38px 12px 14px;position:relative}.notification-toast--visible{opacity:1;transform:translateY(0) scale(1)}.notification-toast--exit{opacity:0;transform:translateY(-10px) scale(.98)}.notification-toast--clickable{cursor:pointer}.notification-toast-title{font-size:var(--font-size-sm);font-weight:700;margin-bottom:4px}.notification-toast-message{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.35;white-space:pre-wrap}.notification-toast-action{margin-top:8px;padding:6px 12px;border-radius:999px;border:1px solid rgba(96,165,250,.55);background:rgba(59,130,246,.15);color:#93c5fd;font-size:var(--font-size-sm);cursor:pointer}.notification-toast-action:hover{filter:brightness(1.08)}.notification-toast-close{position:absolute;top:8px;right:8px;width:28px;height:28px;border:0;border-radius:999px;background:0 0;color:var(--color-text-secondary);font-size:20px;line-height:1;cursor:pointer}.notification-toast-close:hover{color:var(--color-text-main)}.pwa-push-banner{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:13000;display:grid;gap:10px;padding:14px;border-radius:14px;border:1px solid var(--color-border);background:var(--color-bg-card);box-shadow:0 10px 30px rgba(0,0,0,.35)}.pwa-push-banner-text{display:grid;gap:4px}.pwa-push-banner-text strong{font-size:var(--font-size-sm)}.pwa-push-banner-text span{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.35}.pwa-push-banner-actions{display:flex;flex-wrap:wrap;gap:8px}.pwa-push-banner-status{min-height:1.1em;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.header-guest-mobile,.header-user-mobile{display:none;position:relative}.header-user-flyout{position:absolute;top:calc(100% + 6px);right:0;min-width:200px;max-width:min(280px,92vw);z-index:150;padding:6px 0;border-radius:12px;border:1px solid var(--color-border);background:var(--color-bg-card);box-shadow:var(--shadow-card)}.header-user-flyout-item{display:flex;align-items:center;width:100%;padding:12px 14px;border:none;background:0 0;color:var(--color-text-main);font-size:var(--font-size-sm);text-align:left;text-decoration:none;cursor:pointer;font-family:inherit;box-sizing:border-box;min-height:44px}a.header-user-flyout-item:hover{background:rgba(212,175,55,.12);color:var(--gold-primary)}.header-user-flyout-logout:hover{background:rgba(248,81,73,.12);color:var(--color-danger)}.header-user-name{border:1px solid transparent;background:0 0;color:var(--color-text-secondary);padding:4px 10px;border-radius:999px;cursor:pointer;font-size:var(--font-size-sm);transition:background-color .2s,color .2s,box-shadow .2s,transform .1s}.header-user-unauth{cursor:default}.header-user-unauth:hover{background:0 0;color:var(--color-text-secondary);box-shadow:none;transform:none}.header-user-name:hover{background:rgba(212,175,55,.12);color:var(--gold-primary);box-shadow:0 0 8px rgba(212,175,55,.45);transform:translateY(-1px)}.header-user-unauth.header-user-name:hover{background:0 0;color:var(--color-text-secondary);box-shadow:none;transform:none}.header-user-admin{border:1px solid var(--color-border);background:0 0;color:var(--color-text-secondary);border-radius:999px;padding:4px 10px;font-size:var(--font-size-xs);cursor:pointer;transition:background-color .2s,color .2s}.header-user-admin:hover{background:rgba(212,175,55,.12);color:var(--gold-primary);box-shadow:0 0 10px rgba(212,175,55,.35)}.header-user-logout{border:1px solid var(--color-border);background:0 0;color:var(--color-text-secondary);border-radius:999px;padding:4px 10px;font-size:var(--font-size-xs);cursor:pointer;transition:background-color .2s,color .2s}.header-user-logout:hover{background:rgba(248,81,73,.12);color:var(--color-danger)}.header-coins{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--gold-primary);text-decoration:none;font-size:var(--font-size-sm);font-weight:600;transition:background-color .2s,box-shadow .2s,color .2s}.header-coins:hover{background:rgba(212,175,55,.12);box-shadow:0 0 8px rgba(212,175,55,.35);color:var(--gold-primary)}.header-coins-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0}.coin-icon-svg{display:block;flex-shrink:0}.primary-button .coin-icon-svg,.secondary-button .coin-icon-svg{display:inline-block;vertical-align:middle;margin-left:4px}.user-dropdown-hr{border:none;border-top:1px solid var(--color-border);margin:6px 0}.user-dropdown .user-dropdown-item.header-user-flyout-logout{color:var(--color-text-main)}.danger-button,.primary-button,.secondary-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:999px;border:none;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;text-decoration:none;transition:background-color var(--dur-base) ease,border-color var(--dur-base) ease,color var(--dur-base) ease,box-shadow var(--dur-base) ease,transform var(--dur-fast) var(--ease-smooth)}.danger-button:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible{outline:0;box-shadow:0 0 0 2px var(--color-bg-main),0 0 0 4px var(--color-accent)}.danger-button:active,.primary-button:active,.secondary-button:active{transform:translateY(0) scale(.98)}.btn-gold::after,.dashboard-start-btn::after{content:"";position:absolute;top:0;left:-120%;width:55%;height:100%;background:linear-gradient(100deg,transparent 0,rgba(255,255,255,.4) 50%,transparent 100%);transform:skewX(-18deg);pointer-events:none}.btn-gold:hover::after,.dashboard-start-btn:hover::after{animation:2.8s ease-in-out infinite ui-sheen}.primary-button{background:var(--color-accent);color:#fff;box-shadow:0 6px 16px rgba(91,140,255,.35)}.primary-button:hover{background:var(--color-accent-hover);box-shadow:0 8px 20px rgba(91,140,255,.45);transform:translateY(-1px)}.secondary-button{background:0 0;border:1px solid var(--color-border);color:var(--color-text-secondary)}.secondary-button:hover{border-color:var(--color-accent);color:var(--color-text-main)}.danger-button{background:0 0;border:1px solid rgba(248,81,73,.8);color:var(--color-danger)}.danger-button:hover{background:rgba(248,81,73,.1)}.card{position:relative;overflow:hidden;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;padding:20px;box-shadow:var(--shadow-card);transition:border-color var(--dur-base) ease,box-shadow var(--dur-base) ease,transform var(--dur-fast) var(--ease-smooth),filter var(--dur-base) ease}.card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gold-gradient);transform:scaleX(0);transform-origin:left;transition:transform var(--dur-base) var(--ease-smooth)}.card:hover{border-color:rgba(212,175,55,.7);box-shadow:0 10px 28px rgba(212,175,55,.35);transform:translateY(-2px);filter:drop-shadow(0 0 8px rgba(250, 204, 21, .35))}.card:hover::before{transform:scaleX(1)}.card h1,.card h2,.card h3{margin-top:0}input,select,textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-main);font-family:var(--font-main);font-size:var(--font-size-base);outline:0;transition:border-color var(--dur-base) ease,box-shadow var(--dur-base) var(--ease-smooth),background-color var(--dur-base) ease}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-accent);box-shadow:0 0 0 1px rgba(91,140,255,.5),0 0 0 4px rgba(91,140,255,.15)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 1px rgba(91,140,255,.5),0 0 0 4px rgba(91,140,255,.15)}body:not([data-page=landing]) .main-content>*{opacity:0;animation:ui-fade-up var(--dur-slow) var(--ease-smooth) forwards}body:not([data-page=landing]) .main-content>:first-child{animation-delay:50ms}body:not([data-page=landing]) .main-content>:nth-child(2){animation-delay:.12s}body:not([data-page=landing]) .main-content>:nth-child(3){animation-delay:.19s}body:not([data-page=landing]) .main-content>:nth-child(4){animation-delay:.26s}body:not([data-page=landing]) .main-content>:nth-child(5){animation-delay:.33s}body:not([data-page=landing]) .main-content>:nth-child(6){animation-delay:.4s}.footer-column-center,.footer-column-left,.footer-column-right{font-size:var(--font-size-sm)}.footer-logo{font-weight:600;font-size:var(--font-size-lg);margin-bottom:4px}.footer-tagline{margin:0 0 4px}.footer-copy,.footer-requisites{margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.footer-requisites{margin-top:4px;max-width:280px;line-height:1.4}.footer-heading{margin:0 0 6px;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.footer-nav{display:flex;flex-direction:column;gap:4px}.footer-nav--authed-footer,html.app-user-authed .footer-nav--guest-footer{display:none}html.app-user-authed .footer-nav--authed-footer{display:flex}.footer-link--about-authed{display:none}html.app-user-authed .footer-link--about-authed{display:inline}.footer-nav--authed-footer .footer-user-dropdown-root{display:inline-flex;align-items:center;align-self:flex-start;margin:0}.footer-user-dropdown-toggle{padding:0;border:0;border-radius:0;background:0 0;color:var(--color-text-secondary);box-shadow:none}.footer-user-dropdown-toggle:hover{transform:none;background:0 0;color:var(--gold-primary);box-shadow:none}.footer-link{color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm)}.footer-link:hover{color:var(--gold-primary);text-decoration:none;filter:drop-shadow(0 0 8px rgba(212, 175, 55, .55))}.footer-text{margin:0 0 4px}.footer-link-btn{padding:0;border:0;background:0 0;cursor:pointer;text-align:left;font:inherit}.footer-link-btn:hover{color:var(--gold-primary);text-decoration:none;filter:drop-shadow(0 0 8px rgba(212, 175, 55, .55))}.footer-legal{margin-top:8px;display:flex;flex-direction:column;gap:2px}.settings-page{max-width:760px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-notify-form{display:grid;gap:8px}.admin-notify-targets{border:1px solid var(--color-border);border-radius:10px;padding:10px;display:grid;gap:6px}.admin-target-panel{margin-top:6px;border-top:1px dashed var(--color-border);padding-top:8px;display:grid;gap:8px}.admin-target-panel[hidden]{display:none!important}.admin-role-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.admin-role-check-item{display:inline-flex;align-items:center;gap:6px}.admin-user-search-results{border:1px solid var(--color-border);border-radius:10px;max-height:220px;overflow:auto;padding:6px;display:grid;gap:6px}.admin-user-search-item{width:100%;text-align:left;border:1px solid var(--color-border);background:0 0;border-radius:8px;padding:7px 8px;color:var(--color-text-main);cursor:pointer}.admin-user-search-item:hover{border-color:var(--gold-primary)}.admin-user-search-item.is-added{opacity:.6;cursor:default}.admin-selected-users-block{display:grid;gap:6px}.admin-selected-users{display:flex;flex-wrap:wrap;gap:6px}.admin-selected-user-chip{border:1px solid var(--color-border);background:rgba(212,175,55,.08);color:var(--color-text-main);border-radius:999px;padding:4px 10px;cursor:pointer}.admin-notify-actions{display:flex;align-items:center;gap:10px}@media (max-width:768px){#auth-section{min-height:28px;flex:0 0 auto;flex-shrink:0;min-width:0}.card{width:100%;max-width:100%;box-sizing:border-box}.header-user-desktop{display:none!important}.header-guest-mobile,.header-user-mobile{display:block;width:100%;min-width:0}html.app-user-guest #about-link,html.app-user-guest #login-link,html.app-user-guest #registration-link{display:none!important}.header-user{flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;width:auto;max-width:min(340px,72vw);flex-shrink:0}.header-coins{flex-shrink:0}.header-user-menu-toggle{display:flex;align-items:center;max-width:100%;padding:6px 10px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-card);color:var(--color-text-main);font-size:var(--font-size-xs);cursor:pointer;font-family:inherit;overflow:hidden}.header-user-display-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-check,.btn-gold,.catalog-btn,.danger-button,.header-user-admin,.header-user-logout,.header-user-name,.nav-btn,.nav-link,.primary-button,.secondary-button,.theme-toggle,button,input[type=submit]{min-height:44px;padding-top:10px;padding-bottom:10px;box-sizing:border-box}.header-guest-menu-toggle{display:flex;align-items:center;max-width:100%;padding:6px 10px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-card);color:var(--color-text-main);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;font-family:inherit;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.header-guest-menu-toggle,.header-user-menu-toggle,.mobile-header-menu-btn{min-height:40px;padding-top:0;padding-bottom:0}.nav-link{justify-content:center}.footer-nav{width:100%}}.admin-export-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:16px}.admin-export-card{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:12px;border:1px solid var(--color-border);background:var(--color-bg-card)}.admin-export-card-wide{grid-column:1/-1}.admin-export-card h3{margin:0;font-size:var(--font-size-md)}.admin-export-desc{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.45}.admin-export-field{display:flex;flex-direction:column;gap:6px;font-size:var(--font-size-sm)}.admin-export-field input,.admin-export-field select{padding:8px 10px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg-main);color:var(--color-text-main);font:inherit}.admin-export-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-export-status{margin:0;min-height:1.2em;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.admin-export-status-error,.admin-export-status.is-error{color:#e57373}.admin-import-card textarea{width:100%;min-height:120px;padding:8px 10px;font-family:inherit;font-size:var(--font-size-sm);border:1px solid var(--color-border,#ccc);border-radius:6px;resize:vertical}.admin-import-report{margin:8px 0 0;padding:10px 12px;max-height:280px;overflow:auto;font-size:12px;line-height:1.45;white-space:pre-wrap;background:var(--color-bg-secondary,#f5f5f5);border-radius:6px}.admin-bank-review-page .admin-bank-upload{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-border,#e5e5e5)}.admin-bank-bulk-fields{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:flex-end}.admin-bank-bulk-checkbox{margin:0;max-width:28rem}.admin-bank-toolbar{position:sticky;top:0;z-index:5;margin-bottom:16px;padding:12px 14px;background:var(--color-bg,#fff);border:1px solid var(--color-border,#e5e5e5);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.04)}.admin-bank-summary{margin-bottom:10px;font-size:14px;font-weight:600}.admin-bank-filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end}.admin-bank-filters label{display:flex;flex-direction:column;gap:4px;font-size:12px}.admin-bank-filters select,.admin-bank-search-label input{min-width:140px;padding:6px 8px;font-size:13px}.admin-bank-search-label input{min-width:120px}.admin-bank-render-progress{margin:10px 0 0;font-size:12px;color:var(--color-text-secondary,#666)}.admin-bank-cards{display:flex;flex-direction:column;gap:16px}.admin-bank-card{border:1px solid var(--color-border,#e5e5e5);border-radius:10px;padding:12px 14px 14px;background:var(--color-bg,#fff)}.admin-bank-card-header{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-bottom:10px}.admin-bank-card-id{font-weight:700;font-size:15px}.admin-bank-card-meta{font-size:12px;color:var(--color-text-secondary,#666)}.admin-bank-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:#eee}.admin-bank-badge--ok{background:rgba(16,185,129,.15);color:#047857}.admin-bank-badge--warn{background:rgba(245,158,11,.18);color:#b45309}.admin-bank-badge--missing{background:rgba(239,68,68,.12);color:#b91c1c}.admin-bank-editor{margin-top:12px;padding-top:12px;border-top:1px dashed var(--color-border,#ddd);display:flex;flex-direction:column;gap:10px}.admin-bank-editor label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}.admin-bank-editor textarea{width:100%;font-family:inherit;font-size:13px;line-height:1.45;padding:8px 10px;border-radius:6px;border:1px solid var(--color-border,#ccc);resize:vertical}.admin-bank-editor-actions{display:flex;flex-wrap:wrap;gap:8px}.admin-bank-editor-status{margin:0;font-size:12px}.admin-bank-editor-status.is-error{color:#b91c1c}.guest-access-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.72);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transform:translateY(6px);transition:opacity .22s,transform .22s;z-index:120}.guest-access-modal-open{opacity:1;pointer-events:auto;transform:translateY(0)}.guest-access-modal-dialog{position:relative;width:100%;max-width:440px;padding:28px 24px 24px;border-radius:16px;border:1px solid var(--color-border);background:var(--color-bg-secondary);box-shadow:0 20px 50px rgba(0,0,0,.65)}.guest-access-modal-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:999px;border:1px solid var(--color-border);background:rgba(0,0,0,.12);color:var(--color-text-main);cursor:pointer;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center}.guest-access-modal-close:hover{background:rgba(0,0,0,.22)}.guest-access-modal-badge{margin:0 0 10px;font-size:var(--font-size-xs);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gold-primary)}.guest-access-modal-title{margin:0 0 10px;font-size:1.35rem;line-height:1.25;color:var(--color-text-main)}.guest-access-modal-text{margin:0 0 20px;font-size:var(--font-size-sm);line-height:1.55;color:var(--color-text-secondary)}.guest-access-modal-actions{display:flex;flex-wrap:wrap;gap:10px}.guest-access-modal-actions .primary-button,.guest-access-modal-actions .secondary-button{flex:1 1 140px;justify-content:center;text-align:center}body.guest-access-modal-active{overflow:hidden}.nav-item--guest-locked::after{content:"🔒";margin-left:6px;font-size:.72em;line-height:1;opacity:.82}.nav-link--path.nav-item--guest-locked::after{filter:grayscale(.2)}.nav-modes-item.nav-item--guest-locked{padding-right:14px}html.app-user-authed #parents-link{display:none!important}.cookie-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;max-width:640px;margin:0 auto;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s}.cookie-consent-visible{opacity:1;transform:translateY(0);pointer-events:auto}.cookie-consent-inner{padding:16px 18px;border-radius:14px;border:1px solid var(--color-border);background:var(--color-bg-secondary,var(--color-bg-card,#1a1a1a));box-shadow:0 16px 40px rgba(0,0,0,.45)}.cookie-consent-text{margin:0 0 14px;font-size:var(--font-size-sm, .9rem);line-height:1.5;color:var(--color-text-secondary,#b0b0b0)}.cookie-consent-link{color:var(--gold-primary,#d4af37);text-decoration:underline;text-underline-offset:2px}.cookie-consent-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.cookie-consent-btn{border-radius:10px;border:1px solid var(--color-border);padding:10px 14px;font:inherit;font-size:var(--font-size-sm, .9rem);cursor:pointer;line-height:1.2}.cookie-consent-btn-secondary{background:0 0;color:var(--color-text-main,#f5f5f5)}.cookie-consent-btn-secondary:hover{background:rgba(255,255,255,.06)}.cookie-consent-btn-primary{border-color:transparent;background:var(--gold-primary,#d4af37);color:#1a1208;font-weight:600}.cookie-consent-btn-primary:hover{filter:brightness(1.05)}@media (max-width:520px){.cookie-consent{left:10px;right:10px;bottom:10px}.cookie-consent-actions{flex-direction:column-reverse}.cookie-consent-btn{width:100%}}.auth-main{min-height:calc(100vh - 64px);display:flex;align-items:center;justify-content:center;padding:var(--space-lg)}.auth-card{background:var(--color-bg-card);border-radius:16px;border:1px solid var(--color-border);padding:var(--space-lg);box-shadow:var(--shadow-card);max-width:460px;width:100%}.auth-card h1{margin:0 0 var(--space-xs);font-size:var(--font-size-xl)}.auth-subtitle{margin:0 0 var(--space-md);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.auth-form{display:flex;flex-direction:column;gap:var(--space-sm)}.auth-smartcaptcha{margin:var(--space-sm) 0;min-height:102px}.auth-consent-block{display:flex;flex-direction:column;gap:10px;margin:var(--space-sm) 0}.auth-consent-label{display:flex;align-items:flex-start;gap:10px;font-size:var(--font-size-xs);line-height:1.45;color:var(--color-text-secondary);cursor:pointer}.auth-consent-label input[type=checkbox]{margin-top:2px;flex-shrink:0;width:16px;height:16px;accent-color:var(--gold-primary,#d4af37)}.auth-forgot-wrap{margin:calc(var(--space-sm) * -.5) 0 var(--space-xs);font-size:var(--font-size-sm)}.auth-label{font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-secondary)}.auth-input{font-size:var(--font-size-base)}.auth-btn{width:100%;margin-top:var(--space-xs)}.auth-divider{display:flex;align-items:center;gap:var(--space-sm);margin:var(--space-md) 0 var(--space-sm);color:var(--color-text-muted);font-size:var(--font-size-xs)}.auth-divider::after,.auth-divider::before{content:"";flex:1;height:1px;background:var(--color-border)}.auth-social-buttons{display:flex;flex-direction:column;gap:10px;width:100%}.auth-yandex-button{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 16px;border-radius:10px;font-weight:600;font-size:var(--font-size-sm);text-decoration:none;color:#fff;background:#fc3f1d;border:1px solid rgba(0,0,0,.08);transition:filter .2s,transform .15s}.auth-yandex-button:hover{filter:brightness(1.06);transform:translateY(-1px);color:#fff}.auth-vk-button{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 16px;border-radius:10px;font-weight:600;font-size:var(--font-size-sm);text-decoration:none;color:#fff;background:#07f;border:1px solid rgba(255,255,255,.12);transition:filter .2s,transform .15s}.auth-optional-hint{font-weight:400;opacity:.75;font-size:.9em}.auth-vk-button:hover{filter:brightness(1.08);transform:translateY(-1px);color:#fff}.auth-role-fieldset{border:none;margin:0;padding:0;min-width:0;max-width:100%}.auth-role-fieldset legend{padding:0;margin-bottom:var(--space-xs);user-select:none;-webkit-user-select:none}.auth-role-options{display:grid;grid-template-columns:1fr;gap:10px;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.auth-role-option{display:flex;align-items:center;gap:8px;width:100%;max-width:100%;min-width:0;min-height:44px;padding:10px 12px;box-sizing:border-box;border:2px solid var(--color-border);border-radius:10px;background:0 0;cursor:pointer;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color .15s,border-color .15s}.auth-role-option span{min-width:0;line-height:1.25;overflow-wrap:anywhere;user-select:none;-webkit-user-select:none;pointer-events:none}.auth-role-option input[type=radio]{appearance:none;-webkit-appearance:none;width:16px;height:16px;min-width:16px;margin:0;padding:0;flex-shrink:0;border:2px solid var(--color-border);border-radius:50%;background:0 0;cursor:pointer;user-select:none;-webkit-user-select:none;outline:0;box-shadow:none;transition:border-color .15s,background-color .15s}.auth-role-option input[type=radio]::selection{background:0 0}.auth-role-option input[type=radio]:checked{border-color:var(--gold-primary);background-color:var(--gold-primary);box-shadow:inset 0 0 0 3px var(--color-bg-card)}.auth-role-option:has(input:checked){border-color:var(--gold-primary);background:rgba(212,175,55,.1)}.auth-role-option:has(input:focus-visible){outline:rgba(212,175,55,.45) solid 2px;outline-offset:2px}.auth-role-hint{margin:var(--space-xs) 0 0;font-size:var(--font-size-xs);color:var(--color-text-secondary);user-select:none;-webkit-user-select:none}.video-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.75);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .25s,transform .25s;z-index:110}.video-modal-open{opacity:1;pointer-events:auto;transform:translateY(0)}.video-modal-open .video-modal-dialog{animation:ui-scale-in var(--dur-base) var(--ease-smooth) both}.video-modal-dialog{position:relative;width:100%;max-width:960px;margin:0 24px;background:var(--color-bg-secondary);border-radius:16px;border:1px solid var(--color-border);box-shadow:0 20px 50px rgba(0,0,0,.75);padding:20px 20px 24px;display:flex;flex-direction:column;gap:12px}.video-modal-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:999px;border:1px solid var(--color-border);background:rgba(0,0,0,.15);color:var(--color-text-main);cursor:pointer;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background-color .15s,transform .1s,box-shadow .15s}.video-modal-close:hover{background:rgba(0,0,0,.3);transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.4)}.video-modal-body{margin-top:16px;display:flex;flex-direction:column;gap:8px}.video-modal-frame-wrapper{position:relative;width:100%;padding-top:56.25%;border-radius:10px;overflow:hidden;background:#000}.video-modal-iframe{position:absolute;inset:0;width:100%;height:100%;border:none}.video-modal-hosted{position:absolute;inset:0}.video-modal-player{position:absolute;inset:0;width:100%;height:100%;background:#000}.video-modal-watermark{position:absolute;right:12px;top:12px;z-index:2;pointer-events:none;color:rgba(255,255,255,.72);font-size:14px;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.85);max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-modal-auth-gate{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:rgba(0,0,0,.85);color:#fff;padding:24px;text-align:center;z-index:3}.video-modal-auth-gate[hidden]{display:none!important}.video-modal-controls{position:absolute;left:10px;right:10px;bottom:52px;z-index:4;display:flex;flex-wrap:wrap;gap:8px;align-items:center;pointer-events:none}.video-modal-controls[hidden]{display:none!important}.video-modal-icon-btn,.video-modal-pip-btn,.video-modal-settings{pointer-events:auto}.video-modal-settings{position:relative;margin-left:auto;display:flex;align-items:center}.video-modal-icon-btn{width:36px;height:36px;padding:0;border-radius:8px;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.62);backdrop-filter:blur(4px);color:rgba(255,255,255,.92);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.video-modal-icon-btn:hover,.video-modal-icon-btn[aria-expanded=true]{background:rgba(0,0,0,.85)}.video-modal-settings-menu{position:absolute;right:0;bottom:calc(100% + 8px);min-width:220px;max-width:min(280px,80vw);border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(18,18,18,.96);backdrop-filter:blur(8px);box-shadow:0 10px 28px rgba(0,0,0,.45);padding:6px;z-index:5}.video-modal-settings-menu[hidden],.video-modal-settings-panel[hidden]{display:none!important}.video-modal-settings-back,.video-modal-settings-option,.video-modal-settings-row{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;background:0 0;color:rgba(255,255,255,.92);font:inherit;font-size:13px;line-height:1.3;text-align:left;padding:10px 12px;border-radius:8px;cursor:pointer}.video-modal-settings-back:hover,.video-modal-settings-option:hover,.video-modal-settings-row:hover{background:rgba(255,255,255,.08)}.video-modal-settings-value{opacity:.7;white-space:nowrap}.video-modal-settings-back{justify-content:flex-start;font-weight:600;margin-bottom:2px;border-bottom:1px solid rgba(255,255,255,.08);border-radius:8px 8px 0 0}.video-modal-settings-back::before{content:"‹";margin-right:8px;font-size:16px;line-height:1}.video-modal-settings-options{display:grid;gap:2px;max-height:220px;overflow:auto}.video-modal-settings-option.is-active{background:rgba(255,255,255,.12);font-weight:600}.video-modal-settings-option.is-active::after{content:"✓";margin-left:auto;opacity:.9}.video-modal-pip-btn{padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.62);backdrop-filter:blur(4px);color:rgba(255,255,255,.92);font-size:12px;cursor:pointer}.video-modal-pip-btn:hover{background:rgba(0,0,0,.8)}.video-modal-pip-btn.is-active{border-color:rgba(110,200,255,.65);background:rgba(20,70,110,.85);color:#fff}.video-modal-pip-btn:disabled,.video-modal-pip-btn[hidden]{display:none}.video-modal-pip-status{flex:1 1 100%;margin:0;padding:4px 8px;border-radius:8px;background:rgba(0,0,0,.72);color:rgba(255,255,255,.92);font-size:12px;line-height:1.35;pointer-events:none}.video-modal-pip-status.is-error{color:#ffb4b4}.video-modal-disclaimer{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.video-modal-error{font-size:var(--font-size-sm);color:var(--color-danger)}@media (max-width:640px){.video-modal-controls{bottom:44px;gap:6px}.video-modal-settings-menu{min-width:200px}}@media (max-width:768px){.auth-main,.catalog-container,.catalog-header,.exam-root{width:100%;max-width:100%;box-sizing:border-box}.auth-main,.catalog-container{padding-left:var(--space-md);padding-right:var(--space-md)}.auth-card{max-width:100%}.answer-row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}body[data-page=steroid_train] .answer-row .primary-button,body[data-page=trainer] .answer-row .primary-button{width:auto;flex:0 1 auto;min-height:36px;padding:6px 12px;font-size:var(--font-size-xs)}.exam-top-bar{flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.catalog-card-controls{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px}.catalog-card-controls .catalog-btn{width:auto;max-width:100%;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:34px;padding:4px 10px;font-size:.75rem;line-height:1.2}.catalog-card-controls a.catalog-btn{text-decoration:none}.exam-result-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px}.exam-result-actions .catalog-btn{width:auto;min-height:34px;padding:4px 10px;font-size:.75rem}.difficulty-buttons{flex-wrap:wrap;justify-content:center}.video-modal-close{min-width:44px;min-height:44px}body[data-page=trainer] #task-title{font-size:1.28rem;line-height:1.35}body[data-page=trainer] .task-content,body[data-page=trainer] .task-text{font-size:1.125rem;line-height:1.65}body[data-page=trainer] .mjx-chtml{font-size:1.12em!important}body[data-page=steroid_train] .task-content .task-image,body[data-page=trainer] .task-content .task-image{max-height:min(40vh,18rem)}body[data-page=steroid_train] .task-content .task-image--compact,body[data-page=trainer] .task-content .task-image--compact{max-width:min(100%,18rem);max-height:min(36vh,16rem)}}@media (max-width:640px){.video-modal-dialog{margin:0 8px;padding:12px 12px 16px}.video-modal-close{top:6px;right:6px}}.btn-check{position:relative;overflow:hidden;background:var(--gold-gradient);color:var(--text-on-gold);font-weight:700;border-radius:999px;border:none;padding:8px 16px;font-size:var(--font-size-sm);cursor:pointer;box-shadow:0 4px 15px rgba(212,175,55,.3);transition:background-color var(--dur-base) ease,box-shadow var(--dur-base) ease,transform var(--dur-fast) var(--ease-smooth)}.btn-check:focus-visible{outline:0;box-shadow:0 4px 15px rgba(212,175,55,.3),0 0 0 2px var(--color-bg-main),0 0 0 4px var(--gold-primary)}.btn-check:hover{box-shadow:0 6px 20px rgba(212,175,55,.45);transform:translateY(-1px)}.btn-check:active{transform:translateY(0) scale(.98)}#task-container.task-enter,.exam-task-card.task-enter{animation:ui-fade-up var(--dur-slow) var(--ease-smooth) both}.result-badge{min-height:32px;display:flex;align-items:center}.result-badge--error,.result-badge--success{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;font-size:var(--font-size-sm)}.result-badge--success{background:rgba(16,185,129,.16);color:#047857;border:1px solid rgba(5,150,105,.9);box-shadow:0 0 10px rgba(5,150,105,.25);animation:result-success-pulse .6s var(--ease-smooth)}@keyframes result-success-pulse{0%{transform:scale(.92);box-shadow:0 0 0 rgba(5,150,105,0)}50%{transform:scale(1.04);box-shadow:0 0 18px rgba(5,150,105,.45)}100%{transform:scale(1);box-shadow:0 0 10px rgba(5,150,105,.25)}}.result-badge--error{background:rgba(239,68,68,.16);color:#b91c1c;border:1px solid rgba(220,38,38,.9);box-shadow:0 0 8px rgba(220,38,38,.2)}.result-badge--manual{background:rgba(91,140,255,.14);color:var(--color-text-main);border:1px solid rgba(91,140,255,.45);max-width:100%}.light-mode .result-badge--manual{background:rgba(91,140,255,.1)}.light-mode .result-badge--success{background:rgba(16,185,129,.12);color:#065f46}.light-mode .result-badge--error{background:rgba(239,68,68,.12);color:#991b1b}.result-badge-icon{width:18px;height:18px}.result-badge-text-strong{font-weight:600}.result-badge-text-sub{display:block;font-size:var(--font-size-xs);opacity:.9}@keyframes slideUpFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.result-badge-animated{animation:.3s ease-out slideUpFade}@keyframes answer-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}.answer-section-shake{animation:.4s answer-shake}.answer-section-shake .answer-input-row input,.answer-section-shake input[type=text]{box-shadow:0 0 0 2px rgba(220,38,38,.35);border-color:rgba(220,38,38,.7)}.difficulty-feedback{margin-top:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.difficulty-feedback-hidden{opacity:0;transform:translateY(-4px);pointer-events:none}.difficulty-label{margin-bottom:4px}.difficulty-buttons{display:inline-flex;gap:6px}.difficulty-btn{border:none;padding:6px 10px;border-radius:999px;font-size:var(--font-size-xs);cursor:pointer;transition:background-color .3s,transform .1s,box-shadow .2s}.difficulty-btn.diff-easy{background:#dcfce7}.difficulty-btn.diff-mid{background:#fef9c3}.difficulty-btn.diff-hard{background:#fee2e2}.difficulty-btn:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(0,0,0,.3)}body.feedback-modal-active{overflow:hidden}.feedback-modal{position:fixed;inset:0;z-index:13020;display:flex;align-items:center;justify-content:center;padding:16px;padding-top:calc(16px + var(--safe-area-top,0px));padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-smooth)}.feedback-modal--open{opacity:1;pointer-events:auto}.feedback-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.feedback-modal-dialog{position:relative;width:min(480px,100%);max-height:min(90vh,640px);overflow:auto;margin:0;padding:24px 24px 20px;border:1px solid color-mix(in srgb,var(--gold-primary) 35%,var(--color-border));box-shadow:0 24px 48px rgba(0,0,0,.45),0 0 0 1px rgba(255,215,0,.08);animation:feedback-modal-in var(--dur-slow) var(--ease-smooth) both}@keyframes feedback-modal-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.feedback-modal-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:none;border-radius:999px;background:0 0;color:var(--color-text-secondary);font-size:24px;line-height:1;cursor:pointer;transition:background-color var(--dur-base) ease,color var(--dur-base) ease}.feedback-modal-close:hover{background:rgba(212,175,55,.14);color:var(--gold-primary)}.feedback-modal-head{text-align:center;margin-bottom:18px;padding-right:28px}.feedback-modal-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:10px;border-radius:16px;font-size:26px;background:rgba(212,175,55,.14);box-shadow:inset 0 0 0 1px rgba(212,175,55,.28)}.feedback-modal-title{margin:0 0 8px;font-size:var(--font-size-lg);line-height:1.25}.feedback-modal-lead{margin:0;font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text-secondary)}.feedback-modal-form{display:grid;gap:14px}.feedback-modal-field{display:grid;gap:6px}.feedback-modal-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-main)}.feedback-modal-field textarea{width:100%;min-height:132px;padding:12px 14px;border-radius:12px;border:1px solid var(--color-border);background:var(--color-bg-main);color:var(--color-text-main);font:inherit;font-size:var(--font-size-sm);line-height:1.45;resize:vertical;box-sizing:border-box;transition:border-color var(--dur-base) ease,box-shadow var(--dur-base) ease}.feedback-modal-field textarea::placeholder{color:var(--color-text-muted)}.feedback-modal-field textarea:focus{outline:0;border-color:color-mix(in srgb,var(--gold-primary) 55%,var(--color-border));box-shadow:0 0 0 3px rgba(212,175,55,.18)}.feedback-modal-error{margin:0;padding:10px 12px;border-radius:10px;font-size:var(--font-size-sm);line-height:1.4;color:#b91c1c;background:rgba(239,68,68,.12);border:1px solid rgba(220,38,38,.35)}.feedback-modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.feedback-modal-success{display:grid;justify-items:center;gap:14px;padding:8px 0 4px;text-align:center}.feedback-modal-success-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:999px;font-size:28px;font-weight:700;color:#047857;background:rgba(16,185,129,.16);border:1px solid rgba(5,150,105,.45);box-shadow:0 0 16px rgba(16,185,129,.2)}.feedback-modal-success-text{margin:0;max-width:32ch;font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text-secondary)}@media (max-width:768px){.feedback-modal-dialog{padding:20px 16px 16px}.feedback-modal-actions{flex-direction:column-reverse}.feedback-modal-actions .primary-button,.feedback-modal-actions .secondary-button{width:100%;justify-content:center}}@media (prefers-reduced-motion:reduce){.feedback-modal-dialog{animation:none}}@keyframes ui-fade-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes ui-fade-in{from{opacity:0}to{opacity:1}}@keyframes ui-pop-in{0%{opacity:0;transform:scale(.82)}70%{transform:scale(1.06)}100%{opacity:1;transform:scale(1)}}@keyframes ui-scale-in{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes ui-sheen{0%,100%{transform:translateX(-130%) skewX(-18deg)}50%{transform:translateX(130%) skewX(-18deg)}}.reveal-stagger>*,.reveal-up{opacity:0;animation:ui-fade-up var(--dur-slow) var(--ease-smooth) forwards}.reveal-stagger>:first-child{animation-delay:40ms}.reveal-stagger>:nth-child(2){animation-delay:.1s}.reveal-stagger>:nth-child(3){animation-delay:.16s}.reveal-stagger>:nth-child(4){animation-delay:.22s}.reveal-stagger>:nth-child(5){animation-delay:.28s}.reveal-stagger>:nth-child(6){animation-delay:.34s}.reveal-stagger>:nth-child(7){animation-delay:.4s}.reveal-stagger>:nth-child(8){animation-delay:.46s}.xp-bar-root{position:fixed;top:calc(var(--header-bar-height) + var(--safe-area-top));left:0;right:0;z-index:95;display:flex;justify-content:center;pointer-events:none}.xp-bar-inner{max-width:1200px;width:100%;padding:6px var(--space-lg) 0;position:relative}.xp-bar-text{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:2px}.xp-boosts-tooltip{position:absolute;left:50%;top:calc(100% + 6px);z-index:5;min-width:210px;max-width:min(360px,85vw);padding:8px 10px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-main);box-shadow:var(--shadow-card);opacity:0;transform:translate(-50%,-3px);pointer-events:none;transition:opacity .15s,transform .15s;white-space:normal}.xp-boost-hover-target{position:relative}.xp-boost-hover-target:focus-within .xp-boosts-tooltip,.xp-boost-hover-target:hover .xp-boosts-tooltip{opacity:1;transform:translate(-50%,0)}.xp-boosts-tooltip-list{margin:0;padding-left:1rem}.xp-bar-track{width:100%;height:8px;border-radius:999px;background:rgba(156,163,175,.25);overflow:visible;pointer-events:auto}.xp-bar-fill{width:0%;height:100%;border-radius:999px;background:var(--gold-gradient);box-shadow:0 4px 15px rgba(212,175,55,.3);position:relative;overflow:hidden;transition:width .8s cubic-bezier(.4, 0, .2, 1),filter .3s,box-shadow .3s}.xp-bar-fill::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(110deg,rgba(255,255,255,0) 22%,rgba(255,255,255,.28) 50%,rgba(255,255,255,0) 78%);transform:translateX(-130%);animation:3.5s linear infinite xp-bar-idle-sheen;pointer-events:none}@keyframes xp-bar-idle-sheen{0%{transform:translateX(-130%)}100%{transform:translateX(130%)}}.xp-bar-fill::after{content:"";position:absolute;top:50%;right:0;transform:translate(50%,-50%);width:14px;height:14px;border-radius:999px;background:var(--gold-primary);box-shadow:0 0 0 2px rgba(15,23,42,.9),0 0 12px rgba(250,204,21,.8)}.xp-bar-fill.xp-bar-highlight{filter:brightness(1.4)}.xp-fill-boosted{filter:saturate(1.2) brightness(1.08);box-shadow:0 4px 15px rgba(212,175,55,.45),0 0 20px rgba(250,204,21,.38);animation:1.8s ease-in-out infinite xp-boost-glow}.xp-fill-boosted::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(110deg,rgba(255,255,255,0) 22%,rgba(255,255,255,.42) 50%,rgba(255,255,255,0) 78%);transform:translateX(-130%);animation:2.2s linear infinite xp-boost-sheen;pointer-events:none}.xp-bar-fill.xp-bar-no-transition{transition:none}@keyframes xp-boost-glow{0%,100%{filter:saturate(1.18) brightness(1.06)}50%{filter:saturate(1.32) brightness(1.22)}}@keyframes xp-boost-sheen{0%{transform:translateX(-130%)}100%{transform:translateX(130%)}}@keyframes xp-gain-float{0%{opacity:0;transform:translate(-50%,14px) scale(.9)}12%{opacity:1;transform:translate(-50%,-6px) scale(1.06)}22%{opacity:1;transform:translate(-50%,-12px) scale(1)}72%{opacity:1;transform:translate(-50%,-40px) scale(1)}100%{opacity:0;transform:translate(-50%,-56px) scale(.95)}}@keyframes xp-gain-float-after{0%{opacity:0;transform:translate(0,14px) scale(.9)}12%{opacity:1;transform:translate(0,-6px) scale(1.06)}22%{opacity:1;transform:translate(0,-12px) scale(1)}72%{opacity:1;transform:translate(0,-40px) scale(1)}100%{opacity:0;transform:translate(0,-56px) scale(.95)}}.xp-gain-badge{position:fixed;left:0;top:0;padding:8px 14px;border-radius:999px;font-size:var(--font-size-sm);font-weight:700;pointer-events:none;z-index:10050;white-space:nowrap;box-shadow:0 6px 24px rgba(22,163,74,.35);color:#ecfdf5;background:rgba(22,163,74,.35);border:2px solid rgba(74,222,128,.95);animation:2.6s ease-out forwards xp-gain-float}html[data-theme=light] .xp-gain-badge{color:#14532d;background:rgba(22,163,74,.22);border-color:#16a34a;box-shadow:0 6px 20px rgba(22,163,74,.28)}.xp-gain-badge.xp-gain-badge--after-result{animation:2.6s ease-out forwards xp-gain-float-after}.coin-gain-badge{position:fixed;left:0;top:0;padding:8px 12px;border-radius:999px;font-size:var(--font-size-sm);font-weight:700;pointer-events:none;z-index:10050;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;color:#3d3514;background:rgba(232,197,71,.42);border:2px solid rgba(184,134,11,.95);box-shadow:0 6px 24px rgba(212,175,55,.45),0 0 0 1px rgba(255,236,160,.25) inset;animation:2.6s ease-out forwards xp-gain-float}.coin-gain-badge .coin-gain-icon-wrap{display:inline-flex;align-items:center;line-height:0}.coin-gain-badge .coin-icon-svg{width:20px;height:20px}html[data-theme=light] .coin-gain-badge{color:#5c4a12;background:rgba(250,226,140,.55);border-color:#b8860b;box-shadow:0 6px 20px rgba(212,175,55,.35)}@media (max-width:768px){.xp-bar-root{top:calc(var(--header-bar-height) + var(--safe-area-top))}.xp-bar-inner{padding-left:var(--space-md);padding-right:var(--space-md)}.dashboard-card-body,.dashboard-hero,.dashboard-hero-meta{flex-direction:column;align-items:stretch}.dashboard-main{grid-template-columns:1fr!important}.dashboard-hero-meta{padding-left:0}.profile-achievement-grid{grid-template-columns:1fr}.steroid-roadmap-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-by-task-compact{flex-direction:column;align-items:stretch}.stats-streak-calendar-header{flex-wrap:wrap;row-gap:6px;column-gap:8px}.streak-calendar-grid{width:max-content;min-height:calc(7 * 9px + 6 * 2px + 12px);box-sizing:border-box}.action-card{width:100%;box-sizing:border-box}}.achievement-toast-stack{position:fixed;right:16px;bottom:16px;z-index:10038;display:flex;flex-direction:column-reverse;gap:10px;pointer-events:none;max-width:min(380px,calc(100vw - 32px))}.achievement-toast{position:relative;opacity:0;transform:translateY(22px);transition:opacity .38s,transform .45s cubic-bezier(.22, 1, .36, 1)}.achievement-toast--visible{opacity:1;transform:translateY(0)}.achievement-toast--visible .achievement-toast-icon-wrap{animation:ui-pop-in var(--dur-base) var(--ease-spring) .12s both}.achievement-toast--exit{opacity:0;transform:translateY(-32px);transition:opacity .48s,transform .52s}.achievement-toast-border{border-radius:14px;padding:2px;background:linear-gradient(125deg,#ca8a04,#facc15,#fde047,#eab308,#ca8a04,#facc15);background-size:280% 280%;animation:3s infinite achievement-toast-border-shift;pointer-events:none}@keyframes achievement-toast-border-shift{0%,100%{background-position:0 40%}50%{background-position:100% 60%}}.achievement-toast-inner{position:relative;border-radius:12px;padding:12px 14px;display:flex;gap:12px;align-items:flex-start;background:rgba(15,23,42,.96);border:1px solid rgba(51,65,85,.85);box-shadow:0 0 0 1px rgba(250,204,21,.12),0 12px 40px rgba(0,0,0,.55)}[data-theme=light] .achievement-toast-inner{background:#f8fafc;border-color:#e2e8f0;box-shadow:0 0 0 1px rgba(250,204,21,.2),0 12px 32px rgba(15,23,42,.12)}.achievement-toast-icon-wrap{flex-shrink:0;width:48px;height:48px;border-radius:10px;border:2px solid rgba(212,175,55,.45);background:linear-gradient(145deg,#2a2218 0,#1a1510 100%);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,215,0,.15),0 0 12px rgba(255,215,0,.2)}.achievement-toast-icon-img{width:44px;height:44px;object-fit:cover;border-radius:6px;filter:saturate(1.12) brightness(1.08)}.achievement-toast-icon-fallback{font-size:1.5rem;line-height:1}.achievement-toast-title{font-size:1.05rem;font-weight:700;line-height:1.25;color:var(--color-text,#f1f5f9);margin-bottom:4px}.achievement-toast-desc{font-size:var(--font-size-xs);line-height:1.35;color:var(--color-text-secondary)}@media (max-width:768px){.achievement-toast-stack{right:10px;bottom:10px;max-width:calc(100vw - 20px)}}