@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/32c80fb7588b7a2e-s.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec7,u+10ec9-10eee,u+10ef?,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/60181e10ad16e354-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/c1b11e140b58cf5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/99e31c27a1524300-s.p.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/5b25d60b4670300e-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Rubik;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/0a86735c6520d94f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Rubik Fallback;src:local("Arial");ascent-override:89.06%;descent-override:23.81%;line-gap-override:0.00%;size-adjust:104.98%}.__className_50300e{font-family:Rubik,Rubik Fallback;font-style:normal}.__variable_50300e{--font-rubik:"Rubik","Rubik Fallback"}:root{--bg:#f2f4f8;--surface:#ffffff;--text:#0f1222;--muted:#555b70;--line:#eceef3;--border:#c9ced8;--accent:#2f5bff;--accent-strong:#1e3fc4;--accent-soft:#dce3ff;--success:#0b6e55;--success-soft:#e3f4ee;--warn:#9a3006;--warn-soft:#ffe8dc;--radius:20px;--font:var(--font-rubik),system-ui,sans-serif;color-scheme:light}html[data-text="1"]{font-size:112.5%}html[data-text="2"]{font-size:125%}html[data-contrast=on]{--bg:#ffffff;--surface:#ffffff;--text:#000000;--muted:#1f2333;--line:#000000;--border:#000000;--accent:#0033cc;--accent-strong:#001f80}html[data-contrast=on] .card,html[data-contrast=on] .course-icon{outline:2px solid #000}html[data-links=on] a:not(.btn):not(.card-link){text-decoration:underline!important;text-underline-offset:3px}html[data-links=on] a.btn,html[data-links=on] a.card-link{outline:2px dashed var(--accent);outline-offset:2px}html[data-font=on]{--font:Arial,Helvetica,sans-serif;letter-spacing:.02em}html[data-motion=off] *,html[data-motion=off] :after,html[data-motion=off] :before{animation:none!important;transition:none!important;scroll-behavior:auto!important}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}a{color:var(--accent)}a:hover{color:var(--accent-strong)}button,input,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}.skip-link{position:absolute;top:-100px;right:16px;z-index:100;background:var(--text);color:#fff;padding:12px 16px;border-radius:12px}.skip-link:focus{top:16px;color:#fff}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page{max-width:1100px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 28px) 20px calc(env(safe-area-inset-bottom) + 32px);display:flex;flex-direction:column;gap:20px}.page-narrow{max-width:720px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand-line{font-size:.875rem;color:var(--muted)}.title-xl{font-size:1.625rem;line-height:1.2}.title-lg,.title-xl{font-weight:700;margin:0}.title-lg{font-size:1.375rem;line-height:1.25}.section-title{font-size:1.125rem;font-weight:700;margin:4px 0 0}.muted{color:var(--muted)}.small{font-size:.8125rem}.card{background:var(--surface);border-radius:var(--radius);padding:16px;box-shadow:0 1px 2px rgba(15,18,34,.06)}.card-link{text-decoration:none;display:block}.card-link,.card-link:hover{color:inherit}.icon-btn{width:44px;height:44px;border-radius:22px;border:none;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.back-link{gap:4px;min-height:44px}.back-link,.btn{display:inline-flex;align-items:center;text-decoration:none;font-size:1rem}.btn{justify-content:center;gap:8px;min-height:52px;padding:0 20px;border-radius:16px;font-weight:500;cursor:pointer;border:1px solid transparent}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-strong);color:#fff}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover{color:var(--text);border-color:var(--text)}.btn[aria-disabled=true]{opacity:.45;pointer-events:none}.message-card{display:flex;gap:12px;align-items:flex-start}.avatar{width:40px;height:40px;border-radius:20px;flex-shrink:0;background:var(--accent-soft);color:var(--accent-strong);font-weight:700;justify-content:center}.avatar,.continue-card{display:flex;align-items:center}.continue-card{gap:14px;background:var(--accent);color:#fff;border-radius:var(--radius);padding:16px;text-decoration:none}.continue-card:hover{color:#fff;background:var(--accent-strong)}.play-bubble{width:48px;height:48px;border-radius:24px;flex-shrink:0;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-gap:22px 12px;gap:22px 12px;list-style:none;padding:0;margin:0}.course-tile{display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;text-align:center}.course-tile,.course-tile:hover{color:var(--text)}.course-tile:hover .course-icon{transform:translateY(-2px)}.course-icon{width:84px;height:84px;border-radius:22px;position:relative;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.875rem;font-weight:700;transition:transform .15s ease}.course-icon.has-cover{box-shadow:inset 0 0 0 1px rgba(15,18,34,.08)}.course-badge{position:absolute;bottom:-6px;left:-6px;background:var(--surface);color:var(--text);font-size:.6875rem;font-weight:700;border-radius:10px;padding:2px 6px;box-shadow:0 1px 3px rgba(15,18,34,.18)}.course-name{font-size:.8125rem;line-height:1.3}@media (min-width:900px){.course-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.course-icon{width:104px;height:104px;border-radius:26px;font-size:2.25rem}.course-name{font-size:.9375rem}}.progress-track{height:10px;border-radius:5px;background:#dce0ea;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:5px}.chapter{padding:0;overflow:hidden}.chapter-toggle{width:100%;background:none;border:none;cursor:pointer;text-align:right;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px}.chapter-toggle svg{transition:transform .2s ease;flex-shrink:0}.chapter-toggle[aria-expanded=true] svg.chev{transform:rotate(180deg)}.chapter-title{font-size:1rem;font-weight:500;display:block}.lesson-list{list-style:none;margin:0;padding:0 16px 8px}.lesson-row{display:flex;align-items:center;gap:12px;min-height:56px;border-top:1px solid var(--line);text-decoration:none;color:var(--text)}.lesson-row:hover{color:var(--text);background:#f7f8fb}.lesson-dot{width:32px;height:32px;border-radius:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700}.dot-done{background:var(--success-soft);color:var(--success)}.dot-next{background:var(--accent);color:#fff}.dot-todo{background:var(--line);color:var(--muted)}.lesson-layout{display:flex;flex-direction:column;gap:16px}.player-wrap{position:relative;width:100%;aspect-ratio:16/9;background:#0f1222;border-radius:0;overflow:hidden;margin:0 -20px;width:calc(100% + 40px)}@media (min-width:760px){.player-wrap{margin:0;width:100%;border-radius:var(--radius)}}.player-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.player-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#a9aec0;font-size:.875rem;text-align:center;padding:16px}.attachment{gap:12px}.attachment,.pdf-chip{display:flex;align-items:center}.pdf-chip{width:40px;height:40px;border-radius:12px;flex-shrink:0;background:var(--warn-soft);color:var(--warn);font-size:.75rem;font-weight:700;justify-content:center}.lesson-nav{display:flex;gap:10px}.lesson-nav .btn{flex:1 1}.login-page{min-height:100dvh;max-width:440px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 72px) 24px 32px;display:flex;flex-direction:column;gap:28px}.logo-box{width:96px;height:96px;border-radius:26px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.875rem;font-weight:500}.input{height:52px;border-radius:14px;border:1px solid var(--border);background:var(--surface);padding:0 16px;font-size:1rem}.input:focus{border-color:var(--accent)}.form-error{color:var(--warn);font-size:.875rem;margin:0}.sheet-backdrop{position:fixed;inset:0;background:rgba(15,18,34,.55);z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet{background:var(--surface);width:100%;max-width:480px;border-radius:28px 28px 0 0;padding:12px 20px calc(env(safe-area-inset-bottom) + 28px);display:flex;flex-direction:column;gap:14px;max-height:90dvh;overflow-y:auto}@media (min-width:760px){.sheet-backdrop{align-items:center}.sheet{border-radius:28px}}.sheet-handle{align-self:center;width:40px;height:5px;border-radius:3px;background:var(--border)}.size-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.size-btn{height:52px;border-radius:14px;border:1px solid var(--border);background:var(--surface);cursor:pointer}.size-btn[aria-pressed=true]{border:2px solid var(--accent);background:#eef2ff}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;border-bottom:1px solid var(--line)}.switch{width:52px;height:32px;border-radius:16px;border:none;padding:3px;cursor:pointer;background:var(--border);display:flex;justify-content:flex-end;flex-shrink:0}.switch[aria-checked=true]{background:var(--accent);justify-content:flex-start}.switch span{width:26px;height:26px;border-radius:13px;background:#fff;box-shadow:0 1px 2px rgba(15,18,34,.25)}.link-btn{background:none;border:none;color:var(--muted);cursor:pointer;padding:10px 0}.admin-shell{display:flex;flex-wrap:wrap;min-height:100dvh}.admin-nav{flex:1 1 220px;max-width:250px;background:#0f1222;color:#fff;padding:28px 16px;display:flex;flex-direction:column;gap:6px}@media (max-width:760px){.admin-nav{max-width:none;flex-direction:row;flex-wrap:wrap;padding:16px}.admin-nav .admin-brand{width:100%;padding-bottom:8px}}.admin-brand{font-size:1.125rem;font-weight:700;padding:4px 12px 20px;margin:0}.admin-nav a{color:#dde1ec;text-decoration:none;border-radius:12px;padding:12px}.admin-nav a:hover{color:#fff;background:rgba(255,255,255,.08)}.admin-nav a[aria-current=page]{background:var(--accent);color:#fff}.admin-main{flex:999 1 560px;min-width:0;padding:36px 40px;max-width:1180px;display:flex;flex-direction:column;gap:20px}@media (max-width:760px){.admin-main{padding:24px 16px}}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px}.stat-value{font-size:1.875rem;font-weight:700;display:block}.split{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.split>*{flex:1 1 340px;min-width:0}.split>.wide{flex:3 1 460px}.split>.narrow{flex:2 1 300px}.row{display:flex;align-items:center;gap:12px;min-height:52px;border-top:1px solid var(--line)}.status-dot{width:10px;height:10px;border-radius:5px;flex-shrink:0}.textarea{border-radius:12px;border:1px solid var(--border);padding:12px;font-size:1rem;resize:vertical;background:var(--surface);min-height:96px}.btn-sm{min-height:44px;padding:0 16px;border-radius:12px;font-size:.9375rem}.btn-danger{background:var(--surface);color:var(--warn);border-color:var(--warn)}.btn-danger:hover{background:var(--warn-soft);color:var(--warn)}.tag{display:inline-block;font-size:.75rem;font-weight:500;border-radius:8px;padding:3px 8px;background:var(--bg);color:var(--muted);white-space:nowrap}.tag-ok{background:var(--success-soft);color:var(--success)}.tag-bad{background:var(--warn-soft);color:var(--warn)}.table-box{overflow-x:auto;padding:8px 16px}.table{width:100%;border-collapse:collapse;font-size:.875rem;min-width:560px}.table th{text-align:right;font-weight:500;color:var(--muted);padding:12px 8px}.table td{padding:10px 8px;border-top:1px solid var(--line);vertical-align:middle}.table tr[aria-selected=true] td{background:#eef2ff}.row-btn{background:none;border:none;padding:0;cursor:pointer;text-align:right;display:flex;flex-direction:column}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:60;background:var(--text);color:#fff;padding:12px 18px;border-radius:12px}.mini-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:var(--surface);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.drag-handle{cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--muted);font-size:1.1rem;letter-spacing:-3px;padding:10px 6px;line-height:1}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.mini-btn:disabled{opacity:.35;cursor:default}.confirm-dialog{max-width:440px;width:calc(100% - 32px);border:1px solid var(--line);color:var(--text)}.confirm-dialog::-webkit-backdrop{background:rgba(15,18,34,.45)}.confirm-dialog::backdrop{background:rgba(15,18,34,.45)}.tag-btn{border:none;cursor:pointer;font:inherit;font-size:.75rem}.tag-btn:hover{filter:brightness(.95)}.tag-btn:focus-visible{outline:2px solid var(--text);outline-offset:2px}.skeleton{background:linear-gradient(90deg,var(--line) 25%,var(--bg) 50%,var(--line) 75%);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite;border-radius:10px}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}