:root{--color-bg-primary: #242448;--color-bg-secondary: #2a2a52;--color-bg-elevated: #333360;--color-bg-input: #0f1729;--color-text-primary: rgba(255, 255, 255, .87);--color-text-secondary: rgba(255, 255, 255, .78);--color-text-muted: rgba(255, 255, 255, .65);--color-accent: #818cf8;--color-accent-hover: #6b73f0;--color-accent-light: #a5b4fc;--color-badge-gold: #ffc107;--color-success: #4caf50;--color-error: #f44336;--color-warning: #ff9800;--color-border: rgba(255, 255, 255, .12);--color-text-on-accent: #ffffff;--color-accent-faint: rgba(129, 140, 248, .15);--color-success-faint: rgba(76, 175, 80, .1);--color-success-border: rgba(76, 175, 80, .3);--color-error-faint: rgba(244, 67, 54, .1);--color-warning-faint: rgba(255, 152, 0, .1);--color-warning-border: rgba(255, 152, 0, .3);--color-badge-gold-start: rgba(255, 193, 7, .15);--color-badge-gold-end: rgba(255, 152, 0, .1);--color-overlay: rgba(0, 0, 0, .7);--color-code-bg: #1f2940;--color-code-text: rgba(255, 255, 255, .87);--color-code-inline: #a5b4fc;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 20px;--font-size-xs: .85rem;--font-size-sm: 1rem;--font-size-md: 1.0625rem;--font-size-lg: 1.375rem;--font-size-xl: 1.75rem;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--z-header: 100;--z-tooltip: 150;--z-sidebar: 200;--z-modal: 300;--header-height: 56px;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--color-text-primary);background-color:var(--color-bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=light]{--color-bg-primary: #f8f7f4;--color-bg-secondary: #ffffff;--color-bg-elevated: #eef1f8;--color-bg-input: #f5f5f5;--color-text-primary: #1a1a2e;--color-text-secondary: #4a4a6a;--color-text-muted: #6b6b8a;--color-accent: #4f46e5;--color-accent-hover: #4338ca;--color-accent-light: #4338ca;--color-badge-gold: #8b6914;--color-success: #0f7a35;--color-error: #b91c1c;--color-warning: #ea580c;--color-border: rgba(0, 0, 0, .12);--color-text-on-accent: #ffffff;--color-accent-faint: rgba(79, 70, 229, .1);--color-success-faint: rgba(22, 163, 74, .08);--color-success-border: rgba(22, 163, 74, .25);--color-error-faint: rgba(185, 28, 28, .08);--color-warning-faint: rgba(234, 88, 12, .08);--color-warning-border: rgba(234, 88, 12, .25);--color-badge-gold-start: rgba(139, 105, 20, .12);--color-badge-gold-end: rgba(139, 105, 20, .06);--color-overlay: rgba(0, 0, 0, .6);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);color-scheme:light}a{font-weight:500;color:var(--color-accent);text-decoration:inherit}a:hover{color:var(--color-accent-hover)}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-bg-primary);color:var(--color-text-primary)}h1{font-size:2.2em;line-height:1.1}button{border-radius:var(--radius-md);border:1px solid transparent;padding:.6em 1.2em;font-size:var(--font-size-md);font-weight:500;font-family:inherit;background-color:var(--color-bg-secondary);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--color-accent)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.app-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:var(--font-size-lg);color:var(--color-text-muted)}.app-login{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-xl)}.app-login__title{font-size:var(--font-size-xl);margin-bottom:var(--space-xl);color:var(--color-accent)}.app-login__form{display:flex;flex-direction:column;gap:var(--space-md);width:100%;max-width:320px;background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-xl)}.app-login__label{display:flex;flex-direction:column;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.app-login__input{padding:var(--space-sm) .75rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-input);color:var(--color-text-primary);font-size:var(--font-size-md)}.app-login__input:focus{outline:2px solid var(--color-accent);outline-offset:-1px;border-color:var(--color-accent)}.app-login__error{color:var(--color-error);font-size:var(--font-size-xs);margin:0}.app-login__btn{margin-top:var(--space-sm);padding:.65rem var(--space-md);background:var(--color-accent);color:var(--color-text-on-accent);border:none;border-radius:var(--radius-md);font-size:var(--font-size-md);min-height:44px;cursor:pointer}.app-login__btn:hover:not(:disabled){background:var(--color-accent-hover)}.app-login__btn:disabled{opacity:.6;cursor:not-allowed}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;align-items:center;gap:var(--space-md);padding:.75rem var(--space-lg);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:var(--z-header)}.app-header__brand{font-size:var(--font-size-lg);font-weight:700;color:var(--color-accent);margin-right:auto}.app-header__nav{display:flex;gap:var(--space-sm)}.app-header__nav-btn{padding:.5rem 1rem;min-height:44px;font-size:var(--font-size-sm);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;align-items:center}.app-header__nav-btn:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.app-header__theme-toggle{padding:var(--space-xs) var(--space-sm);min-height:44px;min-width:44px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-md);line-height:1;display:flex;align-items:center;justify-content:center}.app-header__theme-toggle:hover{border-color:var(--color-accent)}.app-header__user{display:flex;align-items:center;gap:.75rem;font-size:var(--font-size-sm);color:var(--color-text-muted)}.app-header__logout{padding:var(--space-xs) .65rem;min-height:36px;font-size:var(--font-size-xs);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center}.app-header__logout:hover{border-color:var(--color-error);color:var(--color-error)}.app-body{display:flex;flex:1}.app-main{flex:1;padding:var(--space-xl);overflow-y:auto;max-width:860px;scroll-padding-top:var(--header-height, 56px)}.app-main>*{animation:page-fade-in .3s ease-out}@keyframes page-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.app-main>*{animation:none}}.app-header__hamburger{display:none;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-lg);padding:var(--space-xs) var(--space-sm);min-width:44px;min-height:44px;cursor:pointer;line-height:1;justify-content:center}.app-header__hamburger:hover{border-color:var(--color-accent)}.sidebar-overlay{display:none}@media(max-width:639px){.app{overflow-x:hidden}.app-header__hamburger{display:flex;align-items:center}.app-header{padding:var(--space-sm) var(--space-md);gap:var(--space-sm)}.app-header__brand{font-size:var(--font-size-md);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header__nav{display:none}.app-header__theme-toggle{flex-shrink:0}.app-header__user{gap:var(--space-xs);font-size:var(--font-size-xs);min-width:0;overflow:hidden;flex-shrink:0}.app-header__user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80px}.app-header__logout{padding:2px var(--space-xs);font-size:var(--font-size-xs);flex-shrink:0}.app-main{max-width:none;padding:var(--space-md)}.sidebar-overlay{display:block;position:fixed;inset:0;background:var(--color-overlay);z-index:calc(var(--z-sidebar) - 1)}}.progress-container{padding:var(--space-md);background:var(--color-bg-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border)}.progress-stats{display:flex;justify-content:space-between;margin-bottom:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.progress-points{font-weight:700;color:var(--color-success)}.progress-bar-wrapper{height:12px;background:var(--color-border);border-radius:var(--radius-md);overflow:hidden}.progress-bar{height:100%;background:linear-gradient(to right,var(--color-accent),var(--color-accent-hover));border-radius:var(--radius-md);transition:width .6s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.progress-bar:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.progress-pct{text-align:right;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:.2rem}.progress-stars{margin-top:var(--space-sm);display:flex;gap:var(--space-xs)}.progress-star{font-size:2rem;color:var(--color-text-muted);transition:color .3s,transform .3s;display:inline-block}.progress-star--filled{color:var(--color-warning);animation:star-bounce .5s ease}@keyframes star-bounce{0%{transform:scale(.5)}50%{transform:scale(1.3)}70%{transform:scale(.9)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.progress-star--filled{animation:none}.progress-bar:after{animation:none}}.achievement{position:relative;display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:linear-gradient(135deg,var(--color-badge-gold-start),var(--color-badge-gold-end));border:1px solid var(--color-badge-gold);border-radius:var(--radius-pill);font-size:var(--font-size-md);transition:opacity .3s ease,transform .3s ease;overflow:visible}.achievement--animate{opacity:0;transform:scale(.7)}.achievement--visible{opacity:1;transform:scale(1)}.achievement--animate.achievement--visible{animation:achievement-pop .6s ease forwards}@keyframes achievement-pop{0%{opacity:0;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}.achievement--animate.achievement--visible:before,.achievement--animate.achievement--visible:after{content:"";position:absolute;width:6px;height:6px;border-radius:50%;background:var(--color-badge-gold);animation:sparkle-burst .8s ease-out forwards;pointer-events:none}.achievement--animate.achievement--visible:before{top:-4px;left:20%;box-shadow:12px -8px 0 0 var(--color-warning),-8px -12px 0 0 var(--color-accent),24px 4px 0 0 var(--color-badge-gold)}.achievement--animate.achievement--visible:after{bottom:-4px;right:20%;box-shadow:-12px 8px 0 0 var(--color-warning),8px 12px 0 0 var(--color-success),-20px -4px 0 0 var(--color-badge-gold);animation-delay:.1s}@keyframes sparkle-burst{0%{opacity:1;transform:scale(0)}50%{opacity:1;transform:scale(1.2)}to{opacity:0;transform:scale(.5) translateY(-10px)}}.achievement__emoji{font-size:var(--font-size-lg)}.achievement__name{color:var(--color-badge-gold);font-weight:600}.achievement--animate.achievement--visible .achievement__emoji{animation:emoji-glow 1s ease-in-out}@keyframes emoji-glow{0%,to{filter:brightness(1)}50%{filter:brightness(1.5) drop-shadow(0 0 4px var(--color-badge-gold))}}@media(prefers-reduced-motion:reduce){.achievement--animate.achievement--visible,.achievement--animate.achievement--visible:before,.achievement--animate.achievement--visible:after,.achievement--animate.achievement--visible .achievement__emoji{animation:none}.achievement--animate.achievement--visible{opacity:1;transform:scale(1)}}.mascot{display:inline-flex;flex-shrink:0}.mascot--medium{width:90px;height:90px}.mascot--small{width:40px;height:40px}.mascot__svg{width:100%;height:100%}.mascot__wave{transform-origin:62px 68px;animation:wave 1.8s ease-in-out infinite}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(-15deg)}50%{transform:rotate(10deg)}75%{transform:rotate(-10deg)}}.mascot--medium{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.mascot__sparkle{animation:twinkle 2s ease-in-out infinite}.mascot__sparkle--delayed{animation-delay:.7s}.mascot__sparkle--slow{animation-delay:1.3s;animation-duration:2.5s}@keyframes twinkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}@media(prefers-reduced-motion:reduce){.mascot__wave,.mascot--medium,.mascot__sparkle,.mascot__sparkle--delayed,.mascot__sparkle--slow{animation:none}}.home-page{max-width:800px}.home-page__greeting-row{display:flex;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-xl)}.home-page__greeting{font-size:var(--font-size-xl);margin-bottom:var(--space-xs);color:var(--color-accent-light)}.home-page__subtitle{color:var(--color-text-muted);margin-top:0;margin-bottom:0}.home-page__cta{margin-bottom:var(--space-xl)}.home-page__cta-btn{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md) var(--space-lg);min-height:64px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-hover));color:var(--color-text-on-accent);border:none;border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:transform .15s ease,box-shadow .15s ease;box-shadow:var(--shadow-md)}.home-page__cta-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.home-page__cta-btn:active{transform:translateY(0)}.home-page__cta-icon{font-size:var(--font-size-xl);flex-shrink:0}.home-page__cta-text{display:flex;flex-direction:column;gap:2px}.home-page__cta-label{font-size:var(--font-size-lg);font-weight:700}.home-page__cta-detail{font-size:var(--font-size-sm);opacity:.85}@media(prefers-reduced-motion:reduce){.home-page__cta-btn{transition:none}.home-page__cta-btn:hover{transform:none}}.home-page__section-title{font-size:var(--font-size-md);color:var(--color-text-secondary);margin-bottom:var(--space-md);border-bottom:1px solid var(--color-border);padding-bottom:.4rem}.home-page__progress,.home-page__achievements{margin-bottom:var(--space-xl)}.home-page__achievements-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.home-page__expander{display:inline-flex;align-items:center;margin-top:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-accent-light);font-size:var(--font-size-sm);cursor:pointer;min-height:44px}.home-page__expander:hover{border-color:var(--color-accent);color:var(--color-accent)}.home-page__modules{margin-bottom:var(--space-xl)}.home-page__modules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-md)}.home-page__module-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);border-left:4px solid var(--color-accent);transition:transform .2s ease,box-shadow .2s ease;cursor:default}.home-page__module-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}@media(prefers-reduced-motion:reduce){.home-page__module-card{transition:none}.home-page__module-card:hover{transform:none}}.home-page__module-card:nth-child(4n+2){border-left-color:var(--color-success)}.home-page__module-card:nth-child(4n+3){border-left-color:var(--color-warning)}.home-page__module-card:nth-child(4n+4){border-left-color:var(--color-badge-gold)}.home-page__module-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.home-page__module-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--color-bg-secondary);font-size:var(--font-size-xs);color:var(--color-text-muted);flex-shrink:0}.home-page__module-title{font-weight:600;font-size:var(--font-size-md);color:var(--color-text-primary)}.home-page__module-desc{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 .75rem;line-height:1.5}.home-page__module-progress-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:.75rem}.home-page__module-progress-bar-wrap{flex:1;height:6px;background:var(--color-bg-secondary);border-radius:3px;overflow:hidden}.home-page__module-progress-bar{height:100%;background:var(--color-success);border-radius:3px;transition:width .4s ease}.home-page__module-progress-text{font-size:var(--font-size-xs);color:var(--color-success);white-space:nowrap}.home-page__module-start{width:100%;padding:.6rem;min-height:44px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.home-page__module-start:hover{border-color:var(--color-accent);color:var(--color-accent-light)}@media(max-width:639px){.home-page{max-width:100%}.home-page__greeting{font-size:var(--font-size-lg)}.home-page__greeting-row .mascot--medium{width:64px;height:64px}.home-page__modules-grid{grid-template-columns:1fr}.home-page__cta-btn{min-height:56px;padding:var(--space-sm) var(--space-md)}.home-page__cta-label{font-size:var(--font-size-md)}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-keyword,.hljs-formula{color:#c678dd}.hljs-section,.hljs-name,.hljs-selector-tag,.hljs-deletion,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#98c379}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-type,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-number{color:#d19a66}.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-title.class_,.hljs-class .hljs-title{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}.concept{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-sm)}.concept__header{display:flex;align-items:center;gap:var(--space-sm);width:100%;min-height:44px;padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);border:none;cursor:pointer;text-align:left;font-size:var(--font-size-md);color:var(--color-text-primary)}.concept__header:hover{background:var(--color-bg-secondary)}.concept__term-ru{font-weight:700;color:var(--color-accent)}.concept__term-en{color:var(--color-text-muted);font-size:var(--font-size-sm)}.concept__toggle{margin-left:auto;font-size:var(--font-size-xs);color:var(--color-text-muted)}.concept__body{padding:var(--space-md);background:var(--color-bg-primary);border-top:1px solid var(--color-border)}.concept__story{color:var(--color-text-secondary);font-style:italic;margin:0 0 var(--space-sm);line-height:1.6}.concept__explanation{color:var(--color-text-primary);margin:0;line-height:1.6}.hint{position:relative;display:inline}.hint__trigger{background:none;border:none;border-bottom:1px dashed var(--color-accent);color:var(--color-accent);cursor:pointer;font-size:inherit;font-family:inherit;padding:0;display:inline}.hint__trigger:hover{color:var(--color-accent-hover);border-bottom-color:var(--color-accent-hover)}.hint__tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);white-space:normal;min-width:200px;max-width:300px;z-index:var(--z-tooltip);line-height:1.5;box-shadow:var(--shadow-md);animation:hint-fade-in .15s ease-out}@keyframes hint-fade-in{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.работа-над-ошибками{border:2px solid var(--color-error);border-radius:var(--radius-md);padding:var(--space-md);background:var(--color-bg-elevated);margin-top:var(--space-md)}.работа-над-ошибками__header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.работа-над-ошибками__icon{color:var(--color-error);font-size:var(--font-size-lg);font-weight:700}.работа-над-ошибками__title{font-weight:600;color:var(--color-error);flex:1}.работа-над-ошибками__attempt{font-size:var(--font-size-sm);color:var(--color-text-muted);background:var(--color-bg-secondary);padding:2px var(--space-sm);border-radius:var(--radius-lg)}.работа-над-ошибками__feedback{font-family:inherit;white-space:pre-wrap;color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-error);border-radius:var(--radius-sm);padding:var(--space-sm);margin:0 0 var(--space-sm) 0;font-size:var(--font-size-md)}.работа-над-ошибками__hint{color:var(--color-text-secondary);font-size:var(--font-size-sm);font-style:italic;margin-bottom:var(--space-sm)}.работа-над-ошибками__retry-btn{background:var(--color-error);color:var(--color-text-on-accent);border:none;border-radius:var(--radius-md);padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-md);cursor:pointer;transition:background .2s;min-height:44px;display:inline-flex;align-items:center}.работа-над-ошибками__retry-btn:hover{filter:brightness(.85)}.задание{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem;background:var(--color-bg-elevated);margin-bottom:var(--space-md)}.задание__header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:.75rem}.задание__num{font-weight:700;color:var(--color-text-secondary);font-size:var(--font-size-md)}.задание__type-badge{font-size:var(--font-size-sm);font-weight:700;padding:2px 10px;border-radius:var(--radius-lg);background:var(--color-accent-faint);color:var(--color-accent-light);text-transform:uppercase;letter-spacing:.04em}.задание__prompt{font-size:var(--font-size-md);color:var(--color-text-primary);margin:0 0 var(--space-md) 0;line-height:1.5}.задание__answer-wrap{margin-bottom:.75rem}.задание__answer-input{width:100%;padding:var(--space-sm) .75rem;border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);outline:none;transition:border-color .2s;box-sizing:border-box;background:var(--color-bg-input);color:var(--color-text-primary)}.задание__answer-input:focus{border-color:var(--color-accent)}.задание__options{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:.75rem}.задание__option{display:flex;align-items:center;gap:var(--space-md);min-height:48px;padding:var(--space-sm) var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:var(--font-size-md);cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;text-align:left;width:100%}.задание__option:hover{border-color:var(--color-accent);background:var(--color-accent-faint)}.задание__option:active{transform:scale(.99)}.задание__option--selected{border-color:var(--color-accent);background:var(--color-accent-faint);box-shadow:0 0 0 1px var(--color-accent)}.задание__option-label{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;border-radius:50%;background:var(--color-accent-faint);color:var(--color-accent);font-weight:700;font-size:var(--font-size-md);text-transform:uppercase;flex-shrink:0}.задание__option--selected .задание__option-label{background:var(--color-accent);color:var(--color-text-on-accent)}.задание__option-text{flex:1;line-height:1.4}.задание__editor-wrap{margin-bottom:.75rem}.задание__editor{border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-sm)}.задание__textarea{width:100%;font-family:Courier New,monospace;font-size:var(--font-size-sm);padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);resize:vertical;box-sizing:border-box;background:var(--color-bg-input);color:var(--color-text-primary)}.задание__run-btn{background:var(--color-success);color:var(--color-text-on-accent);border:none;border-radius:var(--radius-md);padding:.4rem var(--space-md);font-size:var(--font-size-sm);cursor:pointer;transition:background .2s;margin-bottom:var(--space-sm);min-height:44px;display:inline-flex;align-items:center}.задание__run-btn:hover:not(:disabled){background:var(--color-success);filter:brightness(.9)}.задание__run-btn:disabled{opacity:.6;cursor:not-allowed}.задание__console{background:var(--color-bg-primary);border-radius:var(--radius-md);padding:.75rem;margin-bottom:var(--space-sm)}.задание__output{color:var(--color-text-secondary);font-family:Courier New,monospace;font-size:var(--font-size-xs);margin:0;white-space:pre-wrap}.задание__run-error{color:var(--color-error);font-family:Courier New,monospace;font-size:var(--font-size-xs);margin:0;white-space:pre-wrap}.задание__submit-btn{background:var(--color-accent);color:var(--color-text-on-accent);border:none;border-radius:var(--radius-md);padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-md);cursor:pointer;transition:background .2s;display:inline-flex;align-items:center;min-height:44px}.задание__submit-btn:hover:not(:disabled){background:var(--color-accent-hover)}.задание__submit-btn:disabled{opacity:.5;cursor:not-allowed}.задание__success{display:flex;align-items:center;gap:var(--space-sm);background:var(--color-success-faint);border:1px solid var(--color-success-border);border-radius:var(--radius-md);padding:.75rem var(--space-md);color:var(--color-success);font-weight:500}.задание__success-icon{font-size:1.2rem;color:var(--color-success)}.задание__attempt-badge{margin-left:auto;font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-bg-secondary);padding:2px 8px;border-radius:var(--radius-lg)}@media(max-width:639px){.задание{padding:var(--space-md)}.задание__header{flex-wrap:wrap}.задание__editor-wrap{display:flex;flex-direction:column}.задание__textarea{min-height:120px;font-size:var(--font-size-xs)}.задание__option{min-height:48px;padding:var(--space-sm) var(--space-md)}}.задание__submit-error{color:var(--color-error);font-size:var(--font-size-sm);margin:var(--space-sm) 0}.мфр{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-input);color:var(--color-text-primary);font-family:Consolas,Monaco,monospace;min-height:500px}.мфр__sidebar{width:180px;flex-shrink:0;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:var(--space-sm) 0}.мфр__sidebar-title{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.мфр__file-list{list-style:none;margin:0;padding:0;flex:1}.мфр__file-item{display:flex;align-items:center;gap:var(--space-xs);padding:2px var(--space-xs) 2px var(--space-md)}.мфр__file-item--active{background:var(--color-accent)}.мфр__file-name{flex:1;background:none;border:none;color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;text-align:left;padding:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.мфр__file-name:hover{color:var(--color-text-primary)}.мфр__file-delete{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-xs);cursor:pointer;padding:2px var(--space-xs);border-radius:var(--radius-sm);line-height:1}.мфр__file-delete:hover{color:var(--color-error);background:var(--color-error-faint)}.мфр__new-file{padding:var(--space-sm) var(--space-sm);display:flex;flex-direction:column;gap:var(--space-xs)}.мфр__new-file-input{background:var(--color-bg-elevated);border:1px solid var(--color-border);color:var(--color-text-primary);font-family:inherit;font-size:var(--font-size-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);width:100%;box-sizing:border-box}.мфр__new-file-ok,.мфр__new-file-cancel{background:none;border:1px solid var(--color-border);color:var(--color-text-primary);font-size:var(--font-size-xs);padding:3px var(--space-sm);border-radius:var(--radius-sm);cursor:pointer}.мфр__new-file-ok:hover{background:var(--color-accent);border-color:var(--color-accent)}.мфр__add-file{margin:var(--space-sm) var(--space-sm);background:none;border:1px dashed var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;text-align:center}.мфр__add-file:hover{color:var(--color-text-primary);border-color:var(--color-text-muted)}.мфр__main{flex:1;display:flex;flex-direction:column;min-width:0}.мфр__tabs{display:flex;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);overflow-x:auto}.мфр__tab{background:none;border:none;border-right:1px solid var(--color-border);color:var(--color-text-muted);font-family:inherit;font-size:var(--font-size-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;white-space:nowrap}.мфр__tab:hover{color:var(--color-text-primary)}.мфр__tab--active{color:var(--color-text-primary);background:var(--color-bg-input);border-bottom:2px solid var(--color-accent)}.мфр__editor-area{flex:1;min-height:200px;position:relative;z-index:1}.мфр__textarea{width:100%;height:100%;background:var(--color-bg-input);color:var(--color-text-primary);border:none;font-family:Consolas,Monaco,monospace;font-size:var(--font-size-sm);padding:var(--space-sm);resize:none;box-sizing:border-box}.мфр__toolbar{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);border-top:1px solid var(--color-border)}.мфр__run-btn{background:var(--color-accent);color:var(--color-text-on-accent);border:none;border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-sm);cursor:pointer;font-family:inherit;min-height:44px;display:inline-flex;align-items:center}.мфр__run-btn:hover:not(:disabled){background:var(--color-accent-hover)}.мфр__run-btn:disabled{opacity:.6;cursor:not-allowed}.мфр__running-hint{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.мфр__spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:мфр-spin .8s linear infinite}@keyframes мфр-spin{to{transform:rotate(360deg)}}.мфр__console{background:var(--color-bg-primary);border-top:1px solid var(--color-border);padding:var(--space-sm) var(--space-md);min-height:80px;max-height:200px;overflow-y:auto;font-family:Consolas,Monaco,monospace;font-size:var(--font-size-sm)}.мфр__console-hint{color:var(--color-text-muted);font-style:italic}.мфр__console-line{margin:0 0 2px;white-space:pre-wrap;word-break:break-word}.мфр__console-line--stdout{color:var(--color-text-primary)}.мфр__console-line--stderr{color:var(--color-warning)}.мфр__console-line--error{color:var(--color-error)}@media(max-width:639px){.мфр{min-height:300px}.мфр__sidebar{width:120px}.мфр__textarea{overflow-x:auto}.мфр__toolbar{flex-wrap:wrap;gap:var(--space-sm)}}.lesson-page{max-width:760px}.lesson-page__status{padding:var(--space-xl);color:var(--color-text-muted)}.lesson-page__error{color:var(--color-error)}.lesson-page__breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem;font-size:var(--font-size-sm)}.lesson-page__crumb{background:none;border:none;padding:.25rem 0;min-height:44px;display:inline-flex;align-items:center;color:var(--color-accent);cursor:pointer;font-size:var(--font-size-sm)}.lesson-page__crumb:hover{text-decoration:underline}.lesson-page__crumb--text{color:var(--color-text-muted);cursor:default}.lesson-page__crumb--current{color:var(--color-text-secondary);cursor:default}.lesson-page__crumb-sep{color:var(--color-text-muted)}.lesson-page__title{font-size:var(--font-size-xl);margin-bottom:var(--space-lg);color:var(--color-text-primary)}.lesson-page__content{margin-bottom:var(--space-xl)}.lesson-page__para{color:var(--color-text-primary);line-height:1.7;margin-bottom:.75rem}.lesson-page__content ul,.lesson-page__content ol{margin:0 0 .75rem 1.5rem;color:var(--color-text-primary);line-height:1.7}.lesson-page__content li{margin-bottom:.25rem}.lesson-page__content code{background:var(--color-bg-elevated);padding:.15em .4em;border-radius:var(--radius-xs);font-size:.9em;color:var(--color-accent-light)}.lesson-page__content pre{background:var(--color-bg-elevated);padding:var(--space-md);border-radius:var(--radius-sm);overflow-x:auto;margin-bottom:.75rem}.lesson-page__content pre code{background:none;padding:0;font-size:.9em;color:var(--color-text-primary)}.lesson-page__content strong{color:var(--color-accent-light)}[data-theme=light] .lesson-page__content code{background:var(--color-code-bg);color:var(--color-code-inline)}[data-theme=light] .lesson-page__content pre{background:var(--color-code-bg)}[data-theme=light] .lesson-page__content pre code{background:none;color:var(--color-code-text)}.lesson-page__section{margin-bottom:3rem;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border-left:4px solid transparent}.lesson-page__section--concepts{background:var(--color-accent-faint);border-left-color:var(--color-accent)}.lesson-page__section--assignments{background:var(--color-warning-faint);border-left-color:var(--color-warning)}.lesson-page__section--editor{background:var(--color-success-faint);border-left-color:var(--color-success)}.lesson-page__section-title{font-size:var(--font-size-lg);color:var(--color-accent-light);margin-bottom:.75rem;border-bottom:1px solid var(--color-border);padding-bottom:.35rem}.lesson-page__section-icon{margin-right:.5rem}.lesson-page__progress-indicator{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.lesson-page__assignments{padding-left:1.25rem}.lesson-page__assignment{margin-bottom:var(--space-md);background:var(--color-bg-elevated);border-radius:var(--radius-sm);padding:.75rem var(--space-md);list-style-type:decimal}.lesson-page__assignment-prompt{margin:0 0 .4rem;color:var(--color-text-primary);line-height:1.5}.lesson-page__assignment-hint{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.lesson-page__complete-btn{margin-top:var(--space-sm);margin-bottom:var(--space-lg);padding:.6rem var(--space-lg);background:var(--color-success);color:var(--color-text-on-accent);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-md);cursor:pointer;min-height:44px;display:inline-flex;align-items:center}.lesson-page__complete-btn:hover:not(:disabled){filter:brightness(.85)}.lesson-page__complete-btn:disabled{opacity:.6;cursor:not-allowed}.lesson-page__done-msg{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);color:var(--color-success);font-weight:700;font-size:var(--font-size-xl);margin-bottom:var(--space-lg);padding:var(--space-md) var(--space-lg);background:var(--color-success-faint);border:1px solid var(--color-success-border);border-radius:var(--radius-md);text-align:center;animation:done-appear .6s cubic-bezier(.34,1.56,.64,1)}@keyframes done-appear{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.08)}80%{transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.lesson-page__done-msg{animation:none}}.lesson-page__nav{display:flex;justify-content:space-between;gap:var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.lesson-page__nav-btn{padding:var(--space-sm) var(--space-md);min-height:44px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;max-width:45%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center}.lesson-page__nav-btn:hover{border-color:var(--color-accent);color:var(--color-accent-light)}.lesson-page__nav-btn--next{margin-left:auto}.flip-card{perspective:1000px;width:300px;height:200px;cursor:pointer;outline:none}.flip-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-md)}.flip-card__inner{position:relative;width:100%;height:100%;transition:transform .5s;transform-style:preserve-3d}.flip-card--flipped .flip-card__inner{transform:rotateY(180deg)}.flip-card__front,.flip-card__back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-md);box-sizing:border-box;border:1px solid var(--color-border)}.flip-card__front{background:var(--color-bg-elevated)}.flip-card__back{background:var(--color-bg-secondary);transform:rotateY(180deg)}.flip-card__lang{font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-muted);letter-spacing:1px;margin-bottom:var(--space-xs)}.flip-card__term{font-size:var(--font-size-xl);font-weight:700;margin:0 0 var(--space-sm);text-align:center;color:var(--color-text-primary)}.flip-card__hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.flip-card__code{font-size:var(--font-size-sm);background:var(--color-bg-input);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-sm);margin:var(--space-xs) 0;white-space:pre-wrap;word-break:keep-all;overflow-wrap:anywhere;max-width:100%;overflow:hidden;color:var(--color-text-primary)}.flip-card__seen{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.vocab-page{max-width:900px;margin:0 auto;padding:var(--space-xl) var(--space-md)}.vocab-page__title{font-size:var(--font-size-xl);margin-bottom:var(--space-sm)}.vocab-page__subtitle{color:var(--color-text-muted);margin-bottom:var(--space-xl)}.vocab-page__grid{display:flex;flex-wrap:wrap;gap:var(--space-lg)}.vocab-page__status{text-align:center;padding:48px;color:var(--color-text-muted)}.vocab-page__error{color:var(--color-error)}.vocab-page__empty{color:var(--color-text-muted);font-style:italic}@media(max-width:639px){.vocab-page{padding:var(--space-md) var(--space-sm)}.vocab-page__grid{flex-direction:column;align-items:stretch}.vocab-page__grid .flip-card{width:100%}}.admin-page{max-width:900px}.admin-page__title{font-size:var(--font-size-xl);margin-bottom:var(--space-lg);color:var(--color-accent-light)}.admin-page__nav{display:flex;gap:var(--space-sm);margin-bottom:var(--space-xl);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-sm)}.admin-page__nav-btn{background:transparent;color:var(--color-text-secondary);border:none;border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);cursor:pointer}.admin-page__nav-btn:hover{color:var(--color-text-primary);background:var(--color-bg-elevated)}.admin-page__nav-btn--active{color:var(--color-accent-light);background:var(--color-accent-faint)}.admin-users__title,.admin-content__title{font-size:var(--font-size-lg);margin-bottom:var(--space-lg)}.admin-users__tabs,.admin-content__tabs{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.admin-users__tab,.admin-content__tab{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm);cursor:pointer}.admin-users__tab:hover,.admin-content__tab:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.admin-users__tab--active,.admin-content__tab--active{background:var(--color-accent-faint);color:var(--color-accent-light);border-color:var(--color-accent)}.admin-users__form,.admin-content__form{display:flex;flex-direction:column;gap:var(--space-md);max-width:480px}.admin-users__form h3,.admin-content__form h3{margin:0;font-size:var(--font-size-md);color:var(--color-text-secondary)}.admin-users__label,.admin-content__label{display:flex;flex-direction:column;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.admin-content__label--check{flex-direction:row;align-items:center;gap:var(--space-sm)}.admin-users__input,.admin-content__input{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);color:var(--color-text-primary);font-size:var(--font-size-md);font-family:inherit}.admin-users__input:focus,.admin-content__input:focus{outline:none;border-color:var(--color-accent)}.admin-content__textarea{min-height:120px;resize:vertical}.admin-users__btn,.admin-content__btn{align-self:flex-start;background:var(--color-accent);color:var(--color-text-on-accent);border:none;border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-md);cursor:pointer}.admin-users__btn:hover,.admin-content__btn:hover{background:var(--color-accent-hover)}.admin-users__btn:disabled,.admin-content__btn:disabled{opacity:.5;cursor:not-allowed}.admin-users__success,.admin-content__success{color:var(--color-success);font-size:var(--font-size-sm);margin:0;padding:var(--space-sm) var(--space-md);background:var(--color-success-faint);border:1px solid var(--color-success-border);border-radius:var(--radius-sm)}.admin-users__error,.admin-content__error{color:var(--color-error);font-size:var(--font-size-sm);margin:0;padding:var(--space-sm) var(--space-md);background:var(--color-error-faint);border:1px solid var(--color-error);border-radius:var(--radius-sm)}.admin-users__toasts{position:fixed;top:calc(var(--header-height) + var(--space-md));right:var(--space-md);z-index:var(--z-modal);display:flex;flex-direction:column;gap:var(--space-sm)}.admin-users__toast{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--font-size-sm);box-shadow:var(--shadow-md);animation:toast-slide-in .2s ease-out}.admin-users__toast--success{background:var(--color-success-faint);border:1px solid var(--color-success-border);color:var(--color-success)}.admin-users__toast--error{background:var(--color-error-faint);border:1px solid var(--color-error);color:var(--color-error)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@media(max-width:639px){.admin-page__nav{flex-wrap:wrap}.admin-users__form,.admin-content__form{max-width:100%}.admin-users__tabs,.admin-content__tabs{flex-wrap:wrap}}.sidebar{width:240px;min-width:240px;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);padding:var(--space-md) 0;overflow-y:auto}.sidebar__empty{padding:var(--space-md);color:var(--color-text-muted);font-size:var(--font-size-sm)}.sidebar__module{margin-bottom:var(--space-xs)}.sidebar__module-title{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-secondary);letter-spacing:.05em}.sidebar__module-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:var(--font-size-sm);flex-shrink:0}.sidebar__module-progress{margin-left:auto;font-size:var(--font-size-xs);font-weight:400;color:var(--color-text-muted)}.sidebar__lessons{list-style:none;margin:0;padding:0}.sidebar__lesson{display:flex;align-items:center;gap:.4rem;width:100%;min-height:44px;padding:.65rem var(--space-md) .65rem var(--space-lg);background:none;border:none;text-align:left;font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:background .15s,color .15s}.sidebar__lesson:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.sidebar__lesson--active{background:var(--color-accent-faint);color:var(--color-accent-light);font-weight:600;border-left:3px solid var(--color-accent);padding-left:calc(var(--space-lg) - 3px)}.sidebar__lesson--done,.sidebar__lesson--active.sidebar__lesson--done{color:var(--color-success)}.sidebar__lesson-check{font-size:var(--font-size-xs);color:var(--color-success);flex-shrink:0}.sidebar__mobile-header,.sidebar__mobile-nav{display:none}@media(max-width:639px){.sidebar__mobile-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border-bottom:1px solid var(--color-border)}.sidebar__mobile-title{font-size:var(--font-size-md);font-weight:700;color:var(--color-text-primary)}.sidebar__mobile-close{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-lg);cursor:pointer;line-height:1}.sidebar__mobile-close:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.sidebar__mobile-nav{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md);border-bottom:1px solid var(--color-border)}.sidebar__mobile-nav-btn{padding:var(--space-sm) var(--space-md);min-height:44px;font-size:var(--font-size-sm);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;text-align:left;display:flex;align-items:center}.sidebar__mobile-nav-btn:hover{border-color:var(--color-accent);color:var(--color-text-primary)}.sidebar__mobile-nav-btn--active{background:var(--color-accent-faint);border-color:var(--color-accent);color:var(--color-accent-light)}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:var(--z-sidebar);transform:translate(-100%);transition:transform .25s ease;box-shadow:var(--shadow-md)}.sidebar--open{transform:translate(0)}}
