@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,600&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&display=swap";:root{--bg-color:#f7f4ed;--text-primary:#1a1a1a;--text-secondary:#5e5e5e;--accent-primary:#8b3a33;--accent-secondary:#2b3a41;--border-color:#d1cabe;--transition-normal:.4s cubic-bezier(.16, 1, .3, 1);--font-heading:"Cormorant Garamond", serif;--font-body:"DM Sans", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);font-weight:600;line-height:1.1}h1{letter-spacing:-.02em;font-size:clamp(3rem,6vw,5rem)}h2{letter-spacing:-.02em;font-size:clamp(2.5rem,5vw,4rem)}h3{font-size:clamp(1.5rem,3vw,2.5rem)}p{overflow-wrap:break-word;word-wrap:break-word;font-size:1.125rem;font-weight:400}a{color:inherit;transition:var(--transition-normal);overflow-wrap:break-word;word-wrap:break-word;text-decoration:none}button{cursor:pointer;font-family:var(--font-body);transition:var(--transition-normal);background:0 0;border:none}.text-accent{color:var(--accent-primary);font-style:italic;font-weight:700}.editorial-panel{border:1px solid var(--border-color);transition:transform var(--transition-normal), box-shadow var(--transition-normal);background:#fff;padding:40px;position:relative;box-shadow:4px 4px #1a1a1a}.editorial-panel:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #1a1a1a}.btn-primary{background:var(--text-primary);color:#fff;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--text-primary);z-index:1;white-space:nowrap;padding:14px 32px;font-size:.95rem;font-weight:500;display:inline-block;position:relative;overflow:hidden}.btn-primary:before{content:"";background:var(--accent-primary);z-index:-1;transform-origin:bottom;transition:transform var(--transition-normal);position:absolute;inset:0;transform:scaleY(0)}.btn-primary:hover:before{transform:scaleY(1)}.btn-outline{color:var(--text-primary);border:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:0 0;padding:14px 32px;font-size:.95rem;font-weight:500;display:inline-block}.btn-outline:hover{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.container{width:100%;max-width:1280px;margin:0 auto;padding-left:40px;padding-right:40px}.section{padding-top:100px;padding-bottom:100px;position:relative}.section-divider{background-color:var(--border-color);width:100%;height:1px;position:absolute;bottom:0;left:0}.animate-up{opacity:0;animation:1s cubic-bezier(.16,1,.3,1) forwards slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.delay-1{animation-delay:.15s}.delay-2{animation-delay:.3s}.delay-3{animation-delay:.45s}.grid{gap:40px;display:grid}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}@media (width<=1200px){.btn-primary,.btn-outline{white-space:normal;text-align:center;padding:14px 20px}.editorial-panel{padding:24px}.grid-cols-2,.grid-cols-3{grid-template-columns:minmax(0,1fr)}.section{padding-top:60px;padding-bottom:60px}.container{padding-left:20px;padding-right:20px}}input,textarea,select{font-family:var(--font-body);border:none;border-bottom:1px solid var(--border-color);color:var(--text-primary);width:100%;transition:border-color var(--transition-normal);background:0 0;padding:12px 0;font-size:1rem}input:focus,textarea:focus,select:focus{border-bottom-color:var(--text-primary);outline:none}input::placeholder,textarea::placeholder{color:var(--text-secondary);font-style:italic;font-family:var(--font-heading)}.nav-logo-text{font-size:1.75rem!important;line-height:1!important}.nav-links{align-items:center;gap:20px;display:flex}.nav-links a:not(.btn-primary){text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:.9rem;font-weight:500}@media (width<=1200px){.mobile-menu-btn{display:block!important}.nav-logo-text{font-size:1.2rem!important}}.lesson-preview-section{overflow:hidden}.lesson-preview{border:1px solid var(--border-color);box-shadow:6px 6px 0 var(--text-primary);background:#fff;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:center;gap:clamp(44px,7vw,100px);padding:clamp(32px,5vw,72px);display:grid}.lesson-preview__copy{z-index:1;position:relative}.lesson-preview__eyebrow{color:var(--accent-primary);letter-spacing:.14em;text-transform:uppercase;margin-bottom:18px;font-size:.78rem;font-weight:600;line-height:1.3}.lesson-preview__copy h2{margin-bottom:24px;font-size:clamp(2.5rem,4vw,4.3rem)}.lesson-preview__body{max-width:480px;color:var(--text-secondary);margin-bottom:30px;font-size:1.08rem;line-height:1.75}.lesson-preview__points{color:var(--text-primary);flex-direction:column;gap:13px;margin-bottom:34px;font-size:.96rem;display:flex}.lesson-preview__points span{align-items:center;gap:12px;display:flex}.lesson-preview__points span:before{border:1px solid var(--accent-primary);width:19px;height:19px;color:var(--accent-primary);content:"✓";text-align:center;border-radius:50%;flex:0 0 19px;font-size:.68rem;line-height:17px}.lesson-preview__link{margin-top:3px}.lesson-preview__media{padding:0 10px 48px 0;position:relative}.lesson-preview__video-frame{aspect-ratio:1504/1392;border:1px solid var(--text-primary);background:var(--bg-color);box-shadow:6px 6px 0 var(--accent-primary);position:relative;overflow:hidden}.lesson-preview__video-frame video,.lesson-preview__static-image{object-fit:contain;background:var(--bg-color);width:100%;height:100%;display:block}.lesson-preview__static-image{aspect-ratio:auto}@media (width<=980px){.lesson-preview{grid-template-columns:minmax(0,1fr);gap:46px}.lesson-preview__body{max-width:620px}.lesson-preview__media{width:calc(100% - 30px);max-width:760px;margin:0 auto}}@media (width<=560px){.lesson-preview{box-shadow:4px 4px 0 var(--text-primary);gap:34px;padding:28px 20px 34px}.lesson-preview__copy h2{font-size:clamp(2.15rem,10vw,3rem)}.lesson-preview__body{font-size:1rem}.lesson-preview__media{width:100%;padding:0 5px 54px 0}}:root{--ok:#2f6b45;--ok-bg:#e8f1ea;--warn:#8a6116;--warn-bg:#f7efdd;--bad:#8b3a33;--bad-bg:#f6e8e7;--info:#2b3a41;--info-bg:#e8edef;--panel:#fff;--sidebar-w:264px}.app-shell{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);background:var(--bg-color);min-height:100vh;display:grid}.app-sidebar{border-right:1px solid var(--border-color);background:#fffdf8;flex-direction:column;height:100vh;padding:24px 0;display:flex;position:sticky;top:0;overflow-y:auto}.app-sidebar__brand{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;margin-bottom:16px;padding:0 24px 24px;display:flex}.app-sidebar__brand img{object-fit:cover;border:1px solid var(--text-primary);width:36px;height:36px}.app-sidebar__label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-secondary);padding:18px 24px 8px;font-size:.72rem;font-weight:600}.app-nav-link{color:var(--text-secondary);border-left:3px solid #0000;justify-content:space-between;align-items:center;gap:10px;padding:11px 24px;font-size:.94rem;transition:none;display:flex}.app-nav-link:hover{color:var(--text-primary);background:#00000009}.app-nav-link.active{color:var(--text-primary);border-left-color:var(--accent-primary);background:#8b3a330f;font-weight:600}.app-main{flex-direction:column;min-width:0;display:flex}.app-topbar{border-bottom:1px solid var(--border-color);background:var(--bg-color);z-index:40;justify-content:space-between;align-items:center;gap:16px;height:72px;padding:0 32px;display:flex;position:sticky;top:0}.app-content{flex:1;min-width:0;padding:32px}.app-content--narrow{max-width:860px}.page-head{margin-bottom:28px}.page-head h1{margin-bottom:6px;font-size:clamp(1.9rem,3vw,2.6rem)}.page-head p{color:var(--text-secondary);font-size:1rem}.eyebrow{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.14em;color:var(--text-secondary);margin-bottom:10px;font-size:.72rem;font-weight:600}.card{background:var(--panel);border:1px solid var(--border-color);padding:24px}.card--flat{box-shadow:none}.card--hard{box-shadow:4px 4px #1a1a1a}.card__title{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-bottom:14px;font-size:.78rem;font-weight:600}.stat{background:var(--panel);border:1px solid var(--border-color);padding:20px 22px}.stat__value{font-family:var(--font-heading);font-size:2.4rem;font-weight:600;line-height:1.1}.stat__label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);margin-top:4px;font-size:.82rem}.stat__hint{color:var(--text-secondary);margin-top:8px;font-size:.85rem}.g{gap:20px;display:grid}.g-2{grid-template-columns:repeat(2,minmax(0,1fr))}.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-4{grid-template-columns:repeat(4,minmax(0,1fr))}.g-sidebar{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}@media (width<=1100px){.g-3,.g-4{grid-template-columns:repeat(2,minmax(0,1fr))}.g-sidebar{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.g-2,.g-3,.g-4{grid-template-columns:minmax(0,1fr)}}.badge{text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:4px 10px;font-size:.76rem;font-weight:600;display:inline-flex}.badge--ok{background:var(--ok-bg);color:var(--ok);border-color:#2f6b4540}.badge--warn{background:var(--warn-bg);color:var(--warn);border-color:#8a611640}.badge--bad{background:var(--bad-bg);color:var(--bad);border-color:#8b3a3340}.badge--info{background:var(--info-bg);color:var(--info);border-color:#2b3a4133}.progress{background:var(--border-color);height:8px;overflow:hidden}.progress__bar{background:var(--accent-primary);height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.progress__meta{color:var(--text-secondary);justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:.88rem;display:flex}.table-wrap{border:1px solid var(--border-color);background:var(--panel);overflow-x:auto}table.ib-table{border-collapse:collapse;width:100%;font-size:.94rem}.ib-table th{text-align:left;font-family:var(--font-body);text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap;background:#fffdf8;padding:14px 16px;font-size:.72rem;font-weight:600}.ib-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:14px 16px}.ib-table tr:last-child td{border-bottom:none}.ib-table tbody tr:hover{background:#00000005}.field{margin-bottom:20px}.field__label{margin-bottom:8px;font-size:.9rem;font-weight:500;display:block}.field__hint{color:var(--text-secondary);margin-top:6px;font-size:.84rem}.field--boxed input,.field--boxed textarea,.field--boxed select{border:1px solid var(--border-color);background:#fff;padding:12px 14px}.field--boxed input:focus,.field--boxed textarea:focus,.field--boxed select:focus{border-color:var(--text-primary)}.req{color:var(--accent-primary)}.btn-sm{padding:8px 16px!important;font-size:.8rem!important}.btn-danger{color:var(--bad);text-transform:uppercase;letter-spacing:.05em;background:0 0;border:1px solid #8b3a3366;padding:14px 32px;font-size:.95rem;font-weight:500;display:inline-block}.btn-danger:hover{background:var(--bad);color:#fff}.btn-google{width:100%;color:var(--text-primary);border:1px solid var(--text-primary);background:#fff;justify-content:center;align-items:center;gap:12px;padding:14px 24px;font-size:.98rem;font-weight:500;display:inline-flex;box-shadow:3px 3px #1a1a1a}.btn-google:hover{transform:translate(-1px,-1px);box-shadow:4px 4px #1a1a1a}.btn-google:disabled{opacity:.6;cursor:not-allowed}.alert{border:1px solid;margin-bottom:18px;padding:14px 16px;font-size:.92rem}.alert--bad{background:var(--bad-bg);color:var(--bad);border-color:#8b3a334d}.alert--ok{background:var(--ok-bg);color:var(--ok);border-color:#2f6b454d}.alert--warn{background:var(--warn-bg);color:var(--warn);border-color:#8a61164d}.alert--info{background:var(--info-bg);color:var(--info);border-color:#2b3a4140}.empty{text-align:center;border:1px dashed var(--border-color);background:var(--panel);padding:56px 24px}.empty__icon{opacity:.65;margin-bottom:12px;font-size:2.4rem}.empty h3{margin-bottom:8px;font-size:1.5rem}.empty p{color:var(--text-secondary);max-width:460px;margin:0 auto;font-size:.98rem}.avatar{object-fit:cover;border:1px solid var(--border-color);border-radius:50%;flex-shrink:0;width:38px;height:38px}.avatar--fallback{background:var(--accent-secondary);color:#fff;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:inline-flex}.user-cell{align-items:center;gap:12px;display:flex}.user-cell__name{font-weight:600;line-height:1.2}.user-cell__sub{color:var(--text-secondary);font-size:.84rem}.lesson-row{border-bottom:1px solid var(--border-color);background:#fff;align-items:center;gap:14px;padding:14px 18px;display:flex}.lesson-row:last-child{border-bottom:none}.lesson-row:hover{background:#00000005}.lesson-row__num{border:1px solid var(--border-color);flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:.8rem;display:inline-flex}.lesson-row__num--done{background:var(--ok);color:#fff;border-color:var(--ok)}.steps{counter-reset:step;gap:28px;display:grid}.step{grid-template-columns:52px minmax(0,1fr);align-items:start;gap:20px;display:grid}.step__num{border:1px solid var(--text-primary);width:52px;height:52px;font-family:var(--font-heading);background:#fff;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.step__num--muted{border-color:var(--border-color);color:var(--text-secondary)}.muted{color:var(--text-secondary)}.small{font-size:.86rem}.row{align-items:center;gap:12px;display:flex}.row--between{justify-content:space-between}.row--wrap{flex-wrap:wrap}.stack{flex-direction:column;gap:16px;display:flex}.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:40px}.mb-2{margin-bottom:16px}.mb-3{margin-bottom:24px}.tr{text-align:right}.tc{text-align:center}.nowrap{white-space:nowrap}.spinner{border:2px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;width:26px;height:26px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.center-screen{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:60vh;display:flex}.app-burger{display:none}@media (width<=980px){.app-shell{grid-template-columns:minmax(0,1fr)}.app-sidebar{width:var(--sidebar-w);z-index:200;transition:left .35s cubic-bezier(.16,1,.3,1);position:fixed;top:0;left:-100%;box-shadow:10px 0 30px #0000001f}.app-sidebar.open{left:0}.app-burger{display:inline-flex}.app-content{padding:20px}.app-topbar{padding:0 20px}.app-overlay{z-index:150;background:#00000059;position:fixed;inset:0}}@media print{.app-sidebar,.app-topbar,.no-print{display:none!important}.app-shell{grid-template-columns:1fr}.app-content{padding:0}}.app-overlay{z-index:300;overscroll-behavior:contain;background:#1212128c;position:fixed;inset:0;overflow-y:auto}input[type=radio],input[type=checkbox],.field--boxed input[type=radio],.field--boxed input[type=checkbox]{border:1px solid var(--border-color);min-width:18px;accent-color:var(--accent-primary);cursor:pointer;flex:none;margin:0;width:18px!important;height:18px!important;padding:0!important}.field--boxed input[type=file]{background:#fff;padding:10px 12px;font-size:.9rem}.field--boxed .row>input[type=text],.field--boxed .row>input:not([type]),.app-overlay .row>input:not([type=radio]):not([type=checkbox]){min-width:0}.app-overlay textarea{resize:vertical;min-height:96px}.btn-icon{flex:none;justify-content:center;align-items:center;width:40px;height:40px;line-height:1;padding:0!important;font-size:1rem!important;display:inline-flex!important}.btn-outline:disabled,.btn-primary:disabled,.btn-icon:disabled{opacity:.45;cursor:not-allowed}.form-actions{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:24px;padding-top:16px;display:flex}.form-actions__group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.option-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.option-row input[type=text]{width:100%;min-width:0}.option-row--correct input[type=text]{border-color:var(--ok)!important;background:var(--ok-bg)!important}@media (width<=720px){.app-overlay>.card{padding:20px}.form-actions{justify-content:stretch}.form-actions,.form-actions__group{width:100%}}html,body{max-width:none;overflow-x:visible}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh}.center-screen{min-height:60dvh}img,svg,video,audio,canvas,iframe,embed,object{max-width:100%}fieldset,.app-main,.app-content,.card,.stat,.row>*,.stack>*{min-width:0}.ib-table td,.user-cell__name,.user-cell__sub,.field__hint,.stat__label,.badge,.empty p{overflow-wrap:break-word}input,textarea,select{scroll-margin-top:96px;scroll-margin-bottom:160px}.nav-drawer-scrim{display:none}@media (width<=1200px){.nav-drawer-scrim{-webkit-backdrop-filter:blur(2px);z-index:190;opacity:0;visibility:hidden;pointer-events:none;cursor:pointer;background:#1a1a1a73;border:none;width:100vw;height:100dvh;margin:0;padding:0;transition:opacity .3s,visibility .3s;display:block;position:fixed;inset:0}.nav-drawer-scrim.open{opacity:1;visibility:visible;pointer-events:auto}.nav-links{box-sizing:border-box;width:min(320px,88vw);height:100dvh;max-height:100dvh;padding:calc(100px + env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) 24px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;visibility:hidden;background-color:var(--bg-color);border-left:1px solid var(--border-color);z-index:200;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:16px;transition:transform .4s cubic-bezier(.16,1,.3,1),visibility .4s;display:flex;position:fixed;inset:0 0 0 auto;overflow-y:auto;transform:translate(100%);box-shadow:-10px 0 30px #0000001a}.nav-links.open{visibility:visible;transition:transform .4s cubic-bezier(.16,1,.3,1),visibility;transform:translate(0)}.nav-links>*{box-sizing:border-box;flex-shrink:0!important;width:100%!important}.nav-links a:not(.btn-primary):not(.btn-outline){white-space:normal;align-items:center;min-height:44px;font-size:1rem;display:flex;flex-shrink:0!important}.nav-links .btn-primary,.nav-links .btn-outline{text-align:center;justify-content:center;align-items:center;width:100%;min-height:44px;margin-top:4px;flex-shrink:0!important;display:flex!important}.mobile-menu-btn{margin-right:-8px;padding:8px;position:relative;z-index:201!important}}@media (width<=1200px) and (height<=520px){.nav-links{padding-top:calc(75px + env(safe-area-inset-top));padding-bottom:calc(30px + env(safe-area-inset-bottom));gap:10px}.nav-links a:not(.btn-primary):not(.btn-outline),.nav-links .btn-primary,.nav-links .btn-outline{min-height:38px}}.app-shell>.app-overlay{z-index:190;background:#12121273}@media (width<=980px){.app-sidebar{width:min(var(--sidebar-w), 86vw);overscroll-behavior:contain;height:100dvh;max-height:100dvh;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom));padding-left:env(safe-area-inset-left);visibility:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),visibility .35s;left:0;overflow-y:auto;transform:translate(-100%)}.app-sidebar.open{visibility:visible;transition:transform .35s cubic-bezier(.16,1,.3,1),visibility;transform:translate(0)}.app-sidebar>div[style]{margin-top:auto}.app-content{padding:20px max(20px, env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left))}}@media (width<=1200px){.container{padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right))}}@media (width<=980px){.app-topbar{padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));gap:10px}}@media (width<=720px){.app-topbar{height:auto;min-height:64px;padding-top:10px;padding-bottom:10px}.app-topbar .user-cell__sub{display:none}.app-topbar .user-cell{gap:8px}}@media (width<=560px){.app-topbar__area,.app-topbar .user-cell__name{display:none}}.notif-panel{overscroll-behavior:contain;z-index:60;width:min(340px,100vw - 28px);max-height:min(420px,100dvh - 140px);position:absolute;top:46px;right:0;overflow-y:auto}.notif-panel button{width:100%;min-height:44px}.modal-scrim{padding:max(16px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));align-items:flex-start}.modal-card{overscroll-behavior:contain;width:100%;min-width:0;max-height:calc(100dvh - 32px);overflow-y:auto}@media (width<=560px){.modal-card{padding:18px}.modal-card h3{font-size:1.35rem}.modal-card__footer{flex-direction:column;align-items:stretch}.modal-card__footer>:not(.btn-icon){text-align:center;width:100%}}@media (height<=520px){.modal-scrim{padding-top:8px;padding-bottom:8px}.modal-card{max-height:calc(100dvh - 16px)}}.table-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100%}@media (width<=860px){.table-wrap>table.ib-table{min-width:560px}table.ib-table:not(.table-wrap *){-webkit-overflow-scrolling:touch;width:100%;max-width:100%;display:block;overflow-x:auto}.ib-table th,.ib-table td{padding:12px}}@media (width>=761px) and (width<=1200px){.grid-cols-2,.grid-cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}.grid{gap:28px}}@media (width<=760px){.grid{gap:20px}}@media (width<=560px){h1{font-size:clamp(2rem,9vw,2.8rem)}h2{font-size:clamp(1.7rem,7.5vw,2.3rem)}h3{font-size:clamp(1.3rem,5.5vw,1.7rem)}p{font-size:1.05rem}.page-head h1{font-size:clamp(1.6rem,7vw,2rem)}.editorial-panel{padding:20px}.card,.stat{padding:18px}.stat__value{font-size:2rem}.empty{padding:40px 18px}.section{padding-top:48px;padding-bottom:48px}.lesson-row{gap:10px;padding:12px 14px}.steps{gap:20px}.step{grid-template-columns:42px minmax(0,1fr);gap:14px}.step__num{width:42px;height:42px;font-size:1.2rem}.form-actions,.form-actions__group{flex-direction:column;align-items:stretch}.form-actions .btn-primary,.form-actions .btn-outline,.form-actions .btn-danger,.form-actions__group .btn-primary,.form-actions__group .btn-outline,.form-actions__group .btn-danger{text-align:center;width:100%}.form-actions .btn-icon,.form-actions__group .btn-icon{align-self:flex-start;width:44px}}@media (hover:none){.editorial-panel:hover{transform:none;box-shadow:4px 4px #1a1a1a}.btn-google:hover{transform:none;box-shadow:3px 3px #1a1a1a}.ib-table tbody tr:hover,.app-nav-link:hover,.lesson-row:hover{background:0 0}.app-nav-link.active{background:#8b3a330f}}@media (pointer:coarse){.btn-primary,.btn-outline,.btn-danger,.btn-google,.app-nav-link,.nav-links a{min-height:44px}.btn-sm{justify-content:center;align-items:center;min-height:40px;display:inline-flex!important}.btn-icon{width:44px;height:44px}input[type=radio],input[type=checkbox],.field--boxed input[type=radio],.field--boxed input[type=checkbox]{min-width:22px;width:22px!important;height:22px!important}input,textarea,select{font-size:16px}.option-row{gap:12px}}@media (pointer:coarse) and (width>=981px){body{font-size:1.05rem;line-height:1.65}.app-nav-link{padding-top:14px;padding-bottom:14px;font-size:1rem}.ib-table th,.ib-table td{padding:16px}.btn-sm{padding:10px 18px!important;font-size:.9rem!important}.small{font-size:.95rem}.container{padding-left:max(24px, env(safe-area-inset-left));padding-right:max(24px, env(safe-area-inset-right))}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animate-up{opacity:1}}@media (width<=560px){.row:not(.user-cell){flex-wrap:wrap;row-gap:10px}}@media (width<=760px){audio[controls]{width:100%}}.card p,.card li,.alert,.lesson-row,.progress__meta{overflow-wrap:break-word}pre{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.app-detail-heading{font-size:2.2rem}.payment-stat-value{font-size:1.8rem}.app-burger{border:1px solid var(--border-color);cursor:pointer;box-sizing:border-box;background:0 0;border-radius:6px;flex-direction:column;width:34px;height:34px;padding:9px 7px;display:none;justify-content:space-between!important;align-items:stretch!important}.app-burger span{background-color:var(--text-primary);border-radius:2px;width:100%;height:2px;display:block}.app-content :where(h1,h2,h3,h4,p,li,strong),.modal-card :where(h1,h2,h3,h4,p,li,strong),.editorial-panel :where(h1,h2,h3,h4,p,li,strong){overflow-wrap:break-word}.app-content :where(a,code),.modal-card :where(a,code),.editorial-panel :where(a,code),.auth-identity-email{overflow-wrap:anywhere}.app-content .field,.modal-card .field,.app-content form,.modal-card form,.page-head,.page-head>div,.lesson-row>*,.messages-layout>*,.auth-identity-panel>*{min-width:0}.app-content input,.app-content textarea,.app-content select,.modal-card input,.modal-card textarea,.modal-card select,input[type=file]{min-width:0;max-width:100%}fieldset>legend{overflow-wrap:anywhere;max-width:100%}.stat__value{overflow-wrap:anywhere;min-width:0}.app-content audio[controls],.modal-card audio[controls]{max-width:100%}.app-content pre,.modal-card pre{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.app-drawer-scrim{cursor:default;border:0;margin:0;padding:0}.app-sidebar__close{top:max(12px, env(safe-area-inset-top));z-index:2;color:inherit;display:none;position:absolute;right:12px;background:#ffffff14!important;border-color:#ffffff59!important}@media (width<=980px){.app-sidebar__close{display:inline-flex!important}.app-sidebar__brand{padding-right:48px}.app-burger{display:flex!important}}@media (pointer:coarse) and (width>=981px) and (width<=1200px){.app-shell{grid-template-columns:minmax(0,1fr)}.app-main{grid-column:1;min-width:0}.app-sidebar{z-index:200;width:min(var(--sidebar-w), 86vw);overscroll-behavior:contain;height:100dvh;max-height:100dvh;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom));padding-left:max(18px, env(safe-area-inset-left));padding-right:max(18px, env(safe-area-inset-right));visibility:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),visibility .35s;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-100%)}.app-sidebar.open{visibility:visible;transition:transform .35s cubic-bezier(.16,1,.3,1),visibility;transform:translate(0)}.app-sidebar__close{display:inline-flex!important}.app-sidebar__brand{padding-right:48px}.app-burger{display:flex!important}.app-shell>.app-overlay{z-index:190;display:block;position:fixed;inset:0}.app-topbar{padding-left:max(24px, env(safe-area-inset-left));padding-right:max(24px, env(safe-area-inset-right))}.app-content{padding:28px max(28px, env(safe-area-inset-right)) calc(36px + env(safe-area-inset-bottom)) max(28px, env(safe-area-inset-left))}}.messages-back{display:none!important}@media (width>=760px) and (width<=1100px){.messages-layout{align-items:start;grid-template-columns:minmax(220px,.72fr) minmax(0,1.5fr)!important}}@media (width<=759px){.messages-layout{display:block!important}.messages-layout .messages-list-panel{display:block}.messages-layout .messages-thread-panel,.messages-layout.messages-layout--thread-open .messages-list-panel{display:none}.messages-layout.messages-layout--thread-open .messages-thread-panel{display:block}.messages-layout.messages-layout--thread-open .messages-back{margin-bottom:14px;display:inline-flex!important}.message-bubble{max-width:88%!important}}@media (width>=761px) and (width<=1200px){.grid{gap:28px!important}}.course-detail-aside{position:sticky;top:110px}@media (width<=1200px){.course-detail-aside{position:static;top:auto}}.public-shell{flex-direction:column;min-height:100dvh;display:flex}.lesson-markdown-editor{font-family:ui-monospace,monospace;font-size:.9rem}@media (pointer:coarse){.lesson-markdown-editor{font-size:16px!important}}@media (width<=560px){.section h1{font-size:clamp(2rem,9vw,2.8rem)!important}.section h2{font-size:clamp(1.7rem,7.5vw,2.3rem)!important}.section h3{font-size:clamp(1.3rem,5.5vw,1.8rem)!important}.section .auth-step-label{font-size:1.1rem!important}.grid{gap:20px!important}.app-content input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.app-content textarea,.app-content select,.app-content .field,.modal-card input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.modal-card textarea,.modal-card select,.modal-card .field{width:100%;max-width:100%;min-width:0!important}.app-content .btn-primary:not(.btn-icon),.app-content .btn-outline:not(.btn-icon),.app-content .btn-danger:not(.btn-icon),.modal-card .btn-primary:not(.btn-icon),.modal-card .btn-outline:not(.btn-icon),.modal-card .btn-danger:not(.btn-icon){white-space:normal;overflow-wrap:anywhere;max-width:100%;line-height:1.25}.page-head>.row,.page-head>.row>.row{width:100%}.page-head>.row>button,.page-head>.row>a{text-align:center;justify-content:center;width:100%}.page-head>.row>.row>button,.page-head>.row>.row>a{text-align:center;flex:120px;justify-content:center}.app-content .lesson-row{flex-wrap:wrap;align-items:flex-start;row-gap:10px}.app-content .lesson-row>.row:last-child{flex:100%;width:100%;padding-left:40px;justify-content:flex-start!important}.app-content .lesson-row>a.btn-primary,.app-content .lesson-row>a.btn-outline{max-width:calc(100% - 40px);margin-left:40px}.lesson-pager{align-items:stretch}.lesson-pager>button,.lesson-pager>a{text-align:center;flex:100%;justify-content:center;width:100%}.lesson-pager>span:empty{display:none}.modal-card>.row:first-child{flex-wrap:nowrap;align-items:flex-start}.auth-identity-panel{flex-wrap:wrap;align-items:flex-start!important}.auth-identity-panel__copy{min-width:0;flex:160px!important}.auth-identity-panel>.btn-outline,.auth-identity-panel>.btn-primary{margin-left:auto}.auth-history-row{flex-wrap:wrap}.app-content .g.g-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}.app-detail-heading{font-size:clamp(1.4rem,6vw,1.8rem)!important}.payment-stat-value{font-size:1.4rem!important}.notif-panel{z-index:220!important;width:auto!important;max-width:none!important;position:fixed!important;top:72px!important;left:16px!important;right:16px!important}}.app-sidebar__head{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;margin-bottom:16px;padding:0 24px 24px;display:flex}.app-sidebar__head .app-sidebar__brand{border:0;flex:auto;min-width:0;margin:0;padding:0}.app-sidebar__head .app-sidebar__close{width:40px;height:40px;color:var(--text-primary);box-shadow:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:8px;position:static;inset:auto;border:1px solid var(--border-color)!important;background:#fffdf8!important;transition:none!important;display:none!important}.app-sidebar__close svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;pointer-events:none;width:20px;height:20px}@media (width<=980px){.app-sidebar__head{padding:0 18px 18px}.app-sidebar__head .app-sidebar__brand{padding-right:0}.app-sidebar__head .app-sidebar__close{display:inline-flex!important}}@media (pointer:coarse) and (width>=981px) and (width<=1200px){.app-sidebar__head .app-sidebar__brand{padding-right:0}.app-sidebar__head .app-sidebar__close{display:inline-flex!important}}.app-drawer-scrim{opacity:0;visibility:hidden;pointer-events:none;-webkit-tap-highlight-color:transparent;display:block;transition:opacity .18s ease-out,visibility 0s linear .18s!important}.app-drawer-scrim.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .18s ease-out,visibility!important}@media (width<=980px){.app-sidebar{visibility:hidden;backface-visibility:hidden;will-change:transform;transform:translate(-100%);transition:transform .22s cubic-bezier(.2,.8,.2,1),visibility 0s linear .22s!important;left:0!important}.app-sidebar.open{visibility:visible;transform:translate(0,0);transition:transform .22s cubic-bezier(.2,.8,.2,1),visibility!important}}@media (pointer:coarse) and (width>=981px) and (width<=1200px){.app-sidebar{backface-visibility:hidden;will-change:transform;transform:translate(-100%);transition:transform .22s cubic-bezier(.2,.8,.2,1),visibility 0s linear .22s!important}.app-sidebar.open{transform:translate(0,0);transition:transform .22s cubic-bezier(.2,.8,.2,1),visibility!important}}@media (width<=1200px),(pointer:coarse){.app-content .animate-up,.auth-status-page .animate-up{opacity:1!important;animation:none!important;transform:none!important}}.app-topbar__actions{justify-content:flex-end;align-items:center;gap:12px;min-width:0;margin-left:auto;display:flex}.app-profile-button{min-width:0;color:var(--text-primary);-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:1px solid #0000;border-radius:8px;padding:4px 6px 4px 4px;transition:none!important}.app-profile-button:hover,.app-profile-button:focus-visible{border-color:var(--border-color);background:#fff}.app-profile-button__text{min-width:0}.app-notifications{flex:none;position:relative}.app-notification-button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;justify-content:center;align-items:center;gap:8px;position:relative;transition:none!important;display:inline-flex!important}.app-notification-button__icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.app-notification-button__count{background:var(--accent-primary);color:#fff;letter-spacing:0;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.app-burger{border:1px solid var(--border-color);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#fff;border-radius:8px;flex:none;width:40px;height:40px;padding:10px 8px;transition:none!important}@media (width<=560px){.app-topbar{justify-content:flex-end}.app-topbar__actions{gap:8px;width:100%}.app-profile-button{border-color:var(--border-color);background:#fff;justify-content:center;width:40px;height:40px;padding:2px}.app-profile-button__text,.app-notification-button__label{display:none}.app-notification-button{background:#fff;width:40px;height:40px;min-height:40px!important;padding:0!important}.app-notification-button__count{min-width:18px;height:18px;padding:0 4px;font-size:.65rem;position:absolute;top:-6px;right:-6px;box-shadow:0 0 0 2px #fffdf8}}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.profile-photo-uploader{min-width:0}.profile-photo-editor{align-items:center;gap:18px;min-width:0;display:flex}.profile-photo-editor>.avatar{background:var(--accent-secondary);flex:none}.profile-photo-editor__controls{flex-direction:column;align-items:flex-start;gap:10px;min-width:0;display:flex}.profile-photo-picker{cursor:pointer}.profile-photo-picker:focus-within,.profile-photo-picker:focus-visible{outline:2px solid var(--accent-primary);outline-offset:3px}.profile-photo-filename{overflow-wrap:anywhere;max-width:100%}.profile-photo-uploader--compact .profile-photo-editor{align-items:center}@media (width<=560px){.profile-photo-editor{text-align:center;flex-direction:column;align-items:stretch}.profile-photo-editor>.avatar{align-self:center}.profile-photo-editor__controls{align-items:stretch}.profile-photo-editor__controls .btn-primary,.profile-photo-editor__controls .btn-outline{text-align:center;justify-content:center;width:100%}}
