@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.49%;descent-override:22.56%;line-gap-override:0.00%;size-adjust:107.06%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}.__variable_f367f3{--font-inter:"__Inter_f367f3","__Inter_Fallback_f367f3"}.academy-root{--accent-50:#f5f9ff;--accent-100:#f0f6ff;--accent-200:#e0edff;--accent-300:#cce0ff;--accent-400:#99c2ff;--accent-500:#66a3ff;--accent-600:#3385ff;--accent-700:#0067ff;--accent-800:#0052cc;--accent-900:#002966;--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--danger-100:#fee2e2;--danger-500:#ef4444;--danger-600:#dc2626;--canvas:#ebedf0;--surface:#fff;--surface-muted:#f8fafc;--text:#1f333d;--text-strong:#0f172a;--text-muted:#64748b;--border:#e2e8f0;--border-muted:#f1f5f9;--r-sm:5px;--r-md:6px;--r-lg:8px;--r-xl:12px;--r-full:999px;--shadow-xs:0 1px 2px rgba(0,0,0,.05);--shadow-sm:0 2px 6px rgba(204,221,230,.3),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 8px 24px rgba(204,221,230,.5),0 2px 6px rgba(0,0,0,.04);--shadow-lg:0 20px 48px rgba(204,221,230,.6),0 6px 12px rgba(0,0,0,.06);--f-ui:var(--font-inter),"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--f-display:var(--font-inter),"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-family:var(--f-ui);background:var(--canvas);color:var(--text);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.academy-root svg{display:inline-block;vertical-align:middle}.academy-root a{color:var(--accent-700);text-decoration:none}.academy-root a:hover{color:var(--accent-800);text-decoration:underline}.academy-root button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}.academy-root .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--f-ui);font-weight:500;font-size:14px;line-height:24px;padding:8px 16px;border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:all .15s ease}.academy-root .btn svg{width:16px;height:16px}.academy-root .btn-primary{background:var(--accent-700);color:#fff}.academy-root .btn-primary:hover{background:var(--accent-800)}.academy-root .btn-primary:disabled{opacity:.55;cursor:default}.academy-root .btn-secondary{background:var(--surface);color:var(--slate-700);border-color:var(--border)}.academy-root .btn-secondary:hover{background:var(--slate-50);border-color:var(--slate-300)}.academy-root .btn-ghost{background:transparent;color:var(--slate-700)}.academy-root .btn-ghost:hover{background:var(--slate-100)}.academy-root .btn-sm{padding:6px 12px;font-size:13px;line-height:20px}.academy-root .btn-xs{padding:4px 10px;font-size:12px;line-height:16px}.academy-root .field{display:flex;flex-direction:column;gap:6px}.academy-root .label{font-family:var(--f-ui);font-weight:500;font-size:14px;color:var(--text-strong)}.academy-root .hint{font-family:var(--f-ui);font-size:12px;color:var(--text-muted)}.academy-root .input,.academy-root .select{font-family:var(--f-ui);font-size:14px;color:var(--text-strong);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 14px;outline:none;width:100%;transition:border-color .15s,box-shadow .15s}.academy-root .input:focus,.academy-root .select:focus{border-color:var(--accent-700);box-shadow:0 0 0 3px var(--accent-200)}.academy-root .input::-moz-placeholder{color:var(--slate-400)}.academy-root .input::placeholder{color:var(--slate-400)}.academy-root .badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--r-full);font-family:var(--f-ui);font-weight:600;font-size:11px;line-height:16px;letter-spacing:.01em}.academy-root .badge.dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.academy-root .badge-blue{background:var(--accent-100);color:var(--accent-800)}.academy-root .badge-slate{background:var(--slate-100);color:var(--slate-700)}.academy-root .badge-emerald{background:#dcfce7;color:#047857}.academy-root .badge-amber{background:#fef3c7;color:#a16207}.academy-root .badge-danger{background:var(--danger-100);color:var(--danger-600)}.topnav{position:sticky;top:0;z-index:40;background:hsla(0,0%,100%,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.topnav-inner{max-width:1200px;margin:0 auto;padding:0 28px;min-height:56px;gap:20px}.brand,.topnav-inner{display:flex;align-items:center}.brand{gap:9px;padding:0;flex:none}.brand-academy{font-family:var(--f-display);font-weight:700;font-size:13px;letter-spacing:.01em;color:var(--accent-800);background:var(--accent-100);padding:2px 9px;border-radius:var(--r-full)}.topnav-tabs{display:flex;gap:2px;flex:none;margin-left:auto}.tab{padding:7px 13px;border-radius:var(--r-lg);font-size:13.5px;font-weight:500;color:var(--slate-600);transition:background .12s,color .12s}.tab.on,.tab:hover{background:var(--slate-100)}.tab.on{color:var(--text-strong);font-weight:600}.whoami{display:flex;align-items:center;gap:10px;flex:none}.whoami-name{font-size:12.5px;font-weight:600;color:var(--text-strong);max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.whoami-role{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-800);background:var(--accent-100);padding:2px 8px;border-radius:var(--r-full)}.avatar{width:32px;height:32px;border-radius:50%;flex:none;background:var(--accent-700);color:#fff;display:grid;place-items:center;font-size:11.5px;font-weight:700;letter-spacing:.02em;cursor:default}.logout-btn{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--r-lg);color:var(--slate-500);flex:none}.logout-btn:hover{background:var(--slate-100);color:var(--text-strong)}.searchbox{position:relative;display:flex;align-items:center;gap:9px;width:100%;max-width:none;background:var(--slate-100);border:1px solid transparent;border-radius:var(--r-lg);padding:7px 12px;transition:border-color .15s,background .15s,box-shadow .15s}.view .searchbox{padding:11px 16px}.searchbox:focus-within{background:var(--surface);border-color:var(--accent-700);box-shadow:0 0 0 3px var(--accent-200)}.search-input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-family:var(--f-ui);font-size:13.5px;color:var(--text-strong)}.search-input::-moz-placeholder{color:var(--slate-400)}.search-input::placeholder{color:var(--slate-400)}.search-clear{color:var(--slate-400);font-size:12px;padding:0 2px;flex:none}.search-clear:hover{color:var(--slate-600)}.search-drop{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-md);padding:6px;display:flex;flex-direction:column;gap:1px}.search-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-lg);text-align:left}.search-row:hover{background:var(--slate-50)}.search-row-title{flex:1;min-width:0;font-size:13px;font-weight:500;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-row-dur{font-family:var(--f-mono);font-size:11px;color:var(--text-muted);flex:none}.main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:26px 28px 60px}.view{gap:34px}.section,.view{display:flex;flex-direction:column}.section{gap:14px}.section-head{display:flex;align-items:baseline;gap:12px}.section-title{font-size:19px;letter-spacing:-.005em;margin:0}.page-title,.section-title{font-family:var(--f-display);font-weight:700;color:var(--text-strong)}.page-title{font-size:28px;letter-spacing:-.007em;margin:0 0 -8px}.path-swatch{width:32px;height:32px;border-radius:var(--r-lg);display:grid;place-items:center;flex:none}.filterbar{align-items:center;justify-content:space-between;gap:16px}.chips,.filterbar{display:flex;flex-wrap:wrap}.chips{gap:6px}.chip{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:var(--r-full);font-size:12.5px;font-weight:500;color:var(--slate-600);background:var(--surface);border:1px solid var(--border);transition:all .12s}.chip:hover{border-color:var(--slate-300)}.chip.on{background:var(--slate-900);border-color:var(--slate-900);color:#fff;font-weight:600}.cat-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}.filter-selects{display:flex;align-items:center;gap:8px}.select-sm{width:auto;padding:6px 10px;font-size:12.5px;border-radius:var(--r-lg)}.filter-count{font-size:12px;color:var(--text-muted);white-space:nowrap}.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.vcard{display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.vcard:hover{border-color:var(--slate-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.vcard-body{padding:13px 15px 15px;display:flex;flex-direction:column;gap:6px}.vcard-meta{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text-muted)}.meta-sep{color:var(--slate-300)}.vcard-title{font-size:14px;font-weight:600;line-height:1.4;margin:0;color:var(--text-strong)}.vcard-desc{font-size:12.5px;line-height:1.5;color:var(--text-muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.vcard-done{color:#047857}.vcard-done,.vcard-started{position:absolute;top:8px;left:8px;z-index:2;display:inline-flex;align-items:center;gap:4px;background:hsla(0,0%,100%,.92);font-size:10px;font-weight:700;padding:3px 8px;border-radius:var(--r-full)}.vcard-started{color:var(--accent-800)}.thumb{position:relative;aspect-ratio:16/9;border-radius:0;overflow:hidden;display:grid;place-items:center}.next-row .thumb,.resume-row .thumb{border-radius:var(--r-lg)}.thumb-img{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.mini-app{width:62%;aspect-ratio:16/10;background:var(--surface);border-radius:7px;box-shadow:0 4px 14px rgba(15,23,42,.1);display:flex;overflow:hidden;padding:0}.thumb-big .mini-app{width:46%;border-radius:10px}.mini-side{width:30%;padding:9%;display:flex;flex-direction:column;gap:6px}.mini-main{flex:1;padding:8%;display:flex;gap:6px}.mini-col,.mini-main{flex-direction:column}.mini-col{padding:8% 9%;gap:7px}.mini-fields{display:flex;gap:6px}.mini-field{flex:1;height:11px;border-radius:4px;border:1.4px solid #e2e8f0;background:#f8fafc}.mini-bubble{height:12px;border-radius:8px}.mini-dark{background:#0f172a;align-items:center;justify-content:center;position:relative}.thumb-dur{position:absolute;bottom:7px;right:7px;z-index:2;display:inline-flex;align-items:center;gap:4px;background:rgba(15,23,42,.78);color:#fff;font-family:var(--f-mono);font-size:10px;font-weight:600;padding:2.5px 7px;border-radius:5px}.thumb-play{position:absolute;inset:0;z-index:1;display:grid;place-items:center;opacity:0;transition:opacity .15s;background:hsla(0,0%,100%,.35);backdrop-filter:blur(1.5px)}.next-row:hover .thumb-play,.resume-row:hover .thumb-play,.vcard:hover .thumb-play{opacity:1}.empty{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--surface);border:1px dashed var(--slate-300);border-radius:var(--r-xl);padding:44px 20px;text-align:center;color:var(--text-muted);font-size:13px}.empty-title{font-size:15px;font-weight:600;color:var(--text-strong)}.empty p{margin:0 0 10px}.loading-view{padding:60px 0;text-align:center;color:var(--text-muted);font-size:13px}.view-player{gap:18px}.back-link{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:13px;font-weight:500;color:var(--slate-600);padding:6px 10px 6px 6px;border-radius:var(--r-lg)}.back-link:hover{background:var(--slate-100);color:var(--text-strong)}.player-grid{display:grid;grid-template-columns:1fr 340px;gap:22px;align-items:start}.player-main{display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden}.screen{position:relative;aspect-ratio:16/9;background:#0f172a}.screen iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.player-info{padding:20px 24px 24px;display:flex;flex-direction:column;gap:10px}.player-title{font-family:var(--f-display);font-weight:700;font-size:21px;letter-spacing:-.005em;line-height:1.3;margin:0;color:var(--text-strong)}.player-desc{font-size:13.5px;line-height:1.6;color:var(--text-muted);margin:0;max-width:620px}.player-aside{gap:16px}.aside-block,.player-aside{display:flex;flex-direction:column}.aside-block{background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);padding:10px;gap:2px}.aside-head{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:8px 10px 6px}.chap{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-lg);text-align:left}.chap:hover{background:var(--slate-50)}.chap.on{background:var(--accent-50)}.chap-idx{width:21px;height:21px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--slate-100);color:var(--slate-500);font-size:10.5px;font-weight:700}.chap-label{flex:1;min-width:0;font-size:13px;font-weight:500;color:var(--text-strong)}.chap.on .chap-label{font-weight:600}.chap-time{font-family:var(--f-mono);font-size:11px;color:var(--text-muted);flex:none}.next-row{display:flex;gap:11px;padding:8px 10px;border-radius:var(--r-lg);text-align:left;align-items:center;width:100%}.next-row:hover{background:var(--slate-50)}.next-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.next-title{font-size:12.5px;font-weight:600;line-height:1.35;color:var(--text-strong);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.next-meta{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:8px}.next-done{display:inline-flex;align-items:center;gap:3px;color:#047857;font-weight:600}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:18px 20px}.stat-num{font-family:var(--f-display);font-weight:700;font-size:28px;letter-spacing:-.01em;color:var(--text-strong);line-height:1.1}.stat-sub{font-size:15px;font-weight:600;color:var(--slate-400)}.stat-label{font-size:12px;font-weight:500;color:var(--text-muted);margin-top:4px}.resume-list{display:flex;flex-direction:column;gap:10px}.resume-row{display:flex;align-items:center;gap:16px;text-align:left;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:12px 16px 12px 12px;transition:border-color .15s,box-shadow .15s}.resume-row:hover{border-color:var(--slate-300);box-shadow:var(--shadow-sm)}.resume-row-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.resume-row-title{font-size:14px;font-weight:600;color:var(--text-strong)}.resume-time{font-size:11px;font-weight:600;color:var(--text-muted);white-space:nowrap}.prog-paths{display:grid;grid-template-columns:1fr 1fr;gap:14px}.prog-path{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);padding:18px;display:flex;flex-direction:column;gap:12px}.prog-path-head{display:flex;align-items:center;gap:12px}.prog-path-title{font-size:14px;font-weight:600;color:var(--text-strong)}.prog-path-sub{font-size:12px;color:var(--text-muted)}.prog-vids{display:flex;flex-direction:column;gap:2px}.prog-vid{display:flex;align-items:center;gap:9px;padding:5px 8px;border-radius:var(--r-md);text-align:left;font-size:12.5px;color:var(--slate-600)}.prog-vid:hover{background:var(--slate-50)}.prog-vid svg{flex:none;color:var(--slate-400)}.prog-vid.done svg{color:#047857}.prog-vid.done .prog-vid-label{color:var(--text-muted)}.prog-vid-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.foot{border-top:1px solid var(--border);max-width:1200px;width:100%;margin:0 auto;padding:18px 28px 26px;display:flex;justify-content:space-between;gap:14px;font-size:12px;color:var(--text-muted)}.login-wrap{flex:1;display:grid;place-items:center;padding:32px 16px}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-md);padding:34px 32px 30px;display:flex;flex-direction:column;gap:18px}.login-brand{display:flex;align-items:center;gap:9px;justify-content:center}.login-title{font-family:var(--f-display);font-weight:700;font-size:20px;letter-spacing:-.005em;text-align:center;margin:0;color:var(--text-strong)}.login-sub{font-size:13px;color:var(--text-muted);text-align:center;margin:-10px 0 0}.login-error{background:var(--danger-100);color:var(--danger-600);font-size:12.5px;font-weight:500;padding:9px 12px;border-radius:var(--r-lg)}.login-foot{font-size:12px;color:var(--text-muted);text-align:center}@media (max-width:1080px){.vgrid{grid-template-columns:repeat(2,1fr)}.player-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.prog-paths{grid-template-columns:1fr}}@media (max-width:640px){.main{padding:16px 16px 48px}.view{gap:24px}.topnav-inner{padding:8px 16px;gap:8px;min-height:0;flex-wrap:wrap;row-gap:8px}.view .searchbox{padding:10px 14px}.brand img{height:17px!important}.brand-academy{font-size:11px;padding:2px 7px}.topnav-tabs{margin-left:auto}.tab{padding:6px 10px;font-size:12.5px}.whoami-name{display:none}.search-input{font-size:16px}.section{gap:11px}.section-title{font-size:16.5px}.page-title{font-size:22px}.filterbar{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:10px}.chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;margin:0 -16px;padding-left:16px;padding-right:16px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{white-space:nowrap;flex:none}.filter-selects{justify-content:space-between}.filter-selects .select-sm{flex:1}.filter-count{display:none}.vgrid{grid-template-columns:1fr;gap:10px}.vcard{flex-direction:row;align-items:center;border-radius:var(--r-xl)}.vcard>div:first-child{width:128px;flex:none;align-self:stretch}.vcard .thumb{height:100%;aspect-ratio:auto;min-height:76px;border-radius:0}.vcard-body{padding:10px 14px 10px 12px;gap:4px;flex:1;min-width:0}.vcard-title{font-size:13px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.vcard-desc{display:none}.vcard-done,.vcard-started{top:6px;left:6px}.thumb-dur{bottom:5px;right:5px}.player-grid{gap:14px}.aside-block,.player-main{border-radius:var(--r-xl)}.player-info{padding:14px 16px 18px}.player-title{font-size:17px}.player-desc{font-size:13px}.stats{gap:8px}.stat{padding:13px 15px}.stat-num{font-size:22px}.resume-row{gap:11px;padding:10px}.resume-row>div:first-child{width:88px!important}.resume-row-title{font-size:13px}.prog-path{padding:14px}.foot{flex-direction:column;gap:6px;padding:14px 16px 22px}.login-card{padding:26px 20px 24px}}