:root{--navy: #2D4356;--steel: #46698A;--sky: #C6E1F1;--sky-50: #E2EFF8;--coral: #E11A45;--coral-text: #B0102F;--coral-bg: #FDE8EC;--bg: #F3F6F9;--side: #FFFFFF;--surface: #FFFFFF;--surface-2: #EDF2F6;--surface-3: #E2E9F0;--line: #E3E9EE;--text: #1F2E3A;--muted: #5A6A77;--subtle: #8796A2;--ok: #06D6A0;--ok-text: #06D6A0;--ok-bg: #DDFAF1;--warn: #946200;--warn-bg: #FBF0D9;--on-navy: #FFFFFF;--track: #DCE5EC;--focus: 0 0 0 3px rgba(70, 105, 138, .35);--r-xs: 6px;--r-sm: 10px;--r: 14px;--r-lg: 18px;--r-xl: 24px;--f-display: "Lexend", ui-sans-serif, system-ui, sans-serif;--f-body: "Roboto", ui-sans-serif, system-ui, -apple-system, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--f-brand: "Nunito", system-ui, sans-serif;--ease: cubic-bezier(.2, .7, .2, 1);color-scheme:light}:root[data-theme=dark]{--navy: #A9CBE6;--steel: #86AED0;--sky: #2C4559;--sky-50: #1C2F3F;--coral: #F2506E;--coral-text: #F78A9E;--coral-bg: #3A1419;--bg: #0F171E;--side: #121C24;--surface: #17222B;--surface-2: #1E2B36;--surface-3: #263542;--line: #24323E;--text: #E7EEF3;--muted: #A3B3C0;--subtle: #7B8D9B;--ok: #06D6A0;--ok-text: #06D6A0;--ok-bg: #0E3329;--warn: #EDC26A;--warn-bg: #352B15;--on-navy: #0F171E;--track: #2A3A47;color-scheme:dark}:root{--green: var(--ok-text);--green-bg: var(--ok-bg);--amber: var(--warn);--amber-bg: var(--warn-bg)}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:var(--f-body);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;color:var(--text)}h1,h2{font-family:var(--f-display);font-weight:700;letter-spacing:-.02em;line-height:1.15}h1{font-size:30px}h2{font-size:22px}h3{font-family:var(--f-display);font-size:16px;font-weight:700;line-height:1.4}h4{font-family:var(--f-body);font-size:14px;font-weight:700}p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%}::selection{background:var(--sky)}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:8px}.muted{color:var(--muted)}.subtle{color:var(--subtle)}.small{font-size:13.5px}.xs{font-size:12.5px}.bold{font-weight:700}.semi{font-weight:600}.display{font-family:var(--f-display);letter-spacing:-.02em;font-weight:700}.row{display:flex;align-items:center;gap:10px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:12px}.stack-sm{display:flex;flex-direction:column;gap:6px}.stack-lg{display:flex;flex-direction:column;gap:24px}.stack-xl{display:flex;flex-direction:column;gap:44px}.grow{flex:1;min-width:0}.row.wrap>.grow{flex-basis:200px}.center{text-align:center}.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.grid{display:grid;gap:16px}.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))}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.nowrap{white-space:nowrap}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card{background:var(--surface);border-radius:var(--r-lg);padding:20px;min-width:0}.card.tight{padding:14px 16px}.card.flat,.card.tile{background:var(--surface-2)}.card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.card-title h3{font-size:16px}.card-title .ico{display:none}.sec-head{display:flex;align-items:baseline;gap:16px;margin-bottom:16px;flex-wrap:wrap}.sec-head h2{font-size:24px}.sec-link{font-size:13.5px;font-weight:600;color:var(--text);text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;gap:2px;cursor:pointer;background:none;border:0;padding:0}.sec-link:hover{color:var(--steel)}.link{color:var(--steel);font-weight:700;font-size:13.5px;display:inline-flex;align-items:center;gap:4px;cursor:pointer;background:none;border:0;padding:0}.link:hover{text-decoration:underline;text-underline-offset:3px}.divider-btn{display:flex;align-items:center;gap:14px}.divider-btn:before,.divider-btn:after{content:"";flex:1;height:1px;background:var(--line)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 20px;border-radius:999px;border:1px solid transparent;font-family:var(--f-body);font-weight:700;font-size:14px;white-space:nowrap;cursor:pointer;transition:background .18s var(--ease),border-color .18s,transform .12s,color .18s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--navy);color:var(--on-navy)}.btn-primary:hover{background:#22364a}:root[data-theme=dark] .btn-primary:hover{background:#c3dbee}.btn-accent{background:var(--sky);color:#1f3446}.btn-accent:hover{background:#b3d5ea}:root[data-theme=dark] .btn-accent{color:var(--navy)}.btn-soft{background:var(--surface-2);color:var(--text)}.btn-soft:hover{background:var(--surface-3)}.btn-ghost,.btn-outline{background:transparent;color:var(--text);border-color:var(--line)}.btn-ghost:hover,.btn-outline:hover{border-color:var(--subtle)}.btn-light{background:#fff;color:#1f2e3a}.btn-light:hover{background:#eef3f7}.btn-coral{background:var(--coral);color:#fff}.btn-coral:hover{background:#c4143a}:root[data-theme=dark] .btn-coral{color:#2a120b}.btn-wa{background:#25d366;color:#06331a}.btn-sm{height:34px;padding:0 14px;font-size:13px}.btn-lg{height:48px;padding:0 26px;font-size:15px}.btn-block{width:100%}.btn[disabled]{opacity:.4;cursor:not-allowed;transform:none}.icon-btn{width:40px;height:40px;border-radius:999px;display:inline-grid;place-items:center;flex:none;background:transparent;border:0;cursor:pointer;position:relative;color:var(--text);transition:background .18s}.icon-btn:hover,.icon-btn.filled{background:var(--surface-2)}.icon-btn .dot{position:absolute;top:9px;right:9px;width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 2px var(--side)}.pill{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:var(--r-xs);font-size:12px;font-weight:600;background:var(--surface-2);color:var(--muted);white-space:nowrap}.pill.coral{background:var(--coral-bg);color:var(--coral-text)}.pill.green{background:var(--ok-bg);color:var(--ok-text)}.pill.amber{background:var(--warn-bg);color:var(--warn)}.pill.navy{background:var(--navy);color:var(--on-navy)}.pill.sky{background:var(--sky-50);color:var(--navy)}.pill.gray{background:var(--surface-2);color:var(--muted)}.pill.round{border-radius:999px;padding:0 11px}.status{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--muted)}.status>svg{flex:none}.status.ok{color:var(--ok-text)}.status.now{color:var(--steel)}.status.live{color:var(--coral)}.status.warn{color:var(--warn)}.live-dot{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse 1.8s infinite;flex:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.meta{display:flex;flex-wrap:wrap;row-gap:4px;font-size:14px;color:var(--muted)}.meta span{display:inline-flex;align-items:center}.meta span+span:before{content:"";width:3px;height:3px;border-radius:50%;background:var(--subtle);margin:0 10px}.meta svg{display:none}.progress{height:6px;border-radius:99px;background:var(--track);overflow:hidden}.progress>span{display:block;height:100%;border-radius:99px;background:var(--steel);transition:width .5s var(--ease)}.progress.lg{height:8px}.progress.green>span{background:var(--ok)}.progress.coral>span{background:var(--coral)}.field{display:flex;flex-direction:column;gap:7px}.field>label{font-weight:600;font-size:13.5px}.input,.select,.textarea{height:44px;padding:0 14px;border-radius:12px;border:1px solid transparent;background:var(--surface-2);color:var(--text);font:inherit;font-size:14.5px;width:100%;transition:border-color .18s,background .18s}.textarea{height:auto;min-height:110px;padding:12px 14px;resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--subtle)}.input:hover,.select:hover,.textarea:hover{background:var(--surface-3)}.input:focus,.select:focus,.textarea:focus{outline:none;background:var(--surface);border-color:var(--steel);box-shadow:var(--focus)}.input-icon{position:relative}.input-icon>svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--subtle);pointer-events:none}.input-icon .input{padding-left:42px}.check{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:14px}.check input{width:18px;height:18px;accent-color:var(--navy);margin:2px 0 0;flex:none}.switch{position:relative;width:42px;height:24px;flex:none}.switch input{opacity:0;width:0;height:0;position:absolute}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:99px;background:var(--track);transition:.2s var(--ease);cursor:pointer}.switch span:after{content:"";position:absolute;width:18px;height:18px;top:3px;left:3px;border-radius:50%;background:#fff;transition:.2s var(--ease);box-shadow:0 1px 2px #0003}.switch input:checked+span{background:var(--navy)}.switch input:checked+span:after{transform:translate(18px)}.switch input:focus-visible+span{box-shadow:var(--focus)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{position:relative;height:44px;padding:0 14px;border:0;background:none;cursor:pointer;white-space:nowrap;font-weight:600;font-size:14.5px;color:var(--muted);display:inline-flex;align-items:center;gap:8px;transition:color .18s}.tab:hover,.tab.active{color:var(--text)}.tab.active:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:var(--navy)}.tab .count{background:var(--coral);color:#fff;border-radius:99px;font-size:11px;padding:0 6px}.seg{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--surface-2);overflow-x:auto;max-width:100%;scrollbar-width:none}.seg button{height:34px;padding:0 14px;border-radius:999px;border:0;background:none;cursor:pointer;font-weight:600;font-size:13.5px;color:var(--muted);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.seg button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #1f2e3a14}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:transparent;font-weight:600;font-size:13.5px;cursor:pointer;color:var(--muted);display:inline-flex;align-items:center;gap:6px;transition:.18s}.chip:hover{color:var(--text);border-color:var(--subtle)}.chip.active{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}.app{display:grid;grid-template-columns:264px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;background:var(--side);display:flex;flex-direction:column;padding:22px 14px 16px}.brand{display:flex;align-items:center;gap:10px;padding:0 10px;height:36px}.brand b{white-space:nowrap;font-family:var(--f-brand);font-weight:800;font-size:20px;color:var(--navy);letter-spacing:-.01em}.nav{display:flex;flex-direction:column;gap:2px}.nav-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--subtle);padding:20px 12px 8px}.nav a{display:flex;align-items:center;gap:12px;height:40px;padding:0 12px;border-radius:10px;font-weight:500;font-size:14.5px;color:var(--muted);transition:background .15s,color .15s}.nav a svg{flex:none}.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a.active{background:var(--surface-2);color:var(--text);font-weight:700}.nav a.active svg{color:var(--steel)}.nav a .ext{margin-left:auto;color:var(--subtle)}.nav a .badge{margin-left:auto;background:var(--coral);color:#fff;border-radius:99px;font-size:11px;font-weight:700;padding:1px 7px}.side-card{margin-top:auto;border-radius:var(--r);background:var(--surface-2);padding:16px}.side-card .num{font-family:var(--f-display);font-weight:700;font-size:36px;letter-spacing:-.03em;line-height:1;color:var(--navy)}.side-links{display:flex;flex-direction:column;margin-top:12px}.side-links a{display:flex;align-items:center;gap:10px;height:36px;padding:0 12px;border-radius:10px;font-size:13.5px;color:var(--muted)}.side-links a:hover{background:var(--surface-2);color:var(--text)}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;height:68px;display:flex;align-items:center;gap:12px;padding:0 max(40px,calc((100% - 1520px)/2 + 40px));background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px)}.topbar .search{flex:1;max-width:520px}.topbar .search .input{background:var(--surface);height:42px}.topbar .right{margin-left:auto;display:flex;align-items:center;gap:4px}.streak{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:999px;font-weight:700;font-size:14px;color:var(--coral)}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--sky);color:var(--navy);font-weight:800;font-size:14px;margin-left:6px}.avatar.sm{width:32px;height:32px;font-size:12px;margin:0}.avatar.navy{background:var(--navy);color:var(--on-navy)}.content{--page: 1520px;padding:8px 40px 96px;width:100%;max-width:var(--page);margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:12px 0 24px;flex-wrap:wrap}.page-head>div{min-width:0;max-width:100%}.page-head p{color:var(--muted);margin-top:6px;max-width:640px}.eyebrow{font-weight:700;font-size:15px;color:var(--muted);margin-bottom:4px}.crumbs{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--subtle);font-weight:600;margin-bottom:8px;flex-wrap:wrap}.crumbs a:hover{color:var(--text)}.mobile-bar,.drawer-backdrop{display:none}.wa-fab{position:fixed;right:24px;bottom:24px;z-index:40;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25d366;border:0;cursor:pointer;box-shadow:0 8px 24px #25d36659;transition:transform .2s var(--ease)}.wa-fab:hover{transform:scale(1.06)}.wa-fab.raised{bottom:96px}.wa-panel{position:fixed;right:24px;bottom:92px;z-index:41;width:min(340px,calc(100vw - 32px));background:var(--surface);border-radius:12px;box-shadow:0 24px 60px #14202b33;overflow:hidden;animation:rise .22s var(--ease)}.wa-panel header{padding:18px 18px 6px;display:flex;align-items:flex-start;gap:12px}.wa-panel .body{padding:10px 14px 16px;display:flex;flex-direction:column;gap:6px}.wa-q{text-align:left;padding:11px 14px;border-radius:12px;background:var(--surface-2);font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:space-between}.wa-q:hover{background:var(--surface-3)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0f192280;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:16px;animation:fade .2s}.modal{background:var(--surface);border-radius:var(--r-xl);width:min(880px,100%);max-height:calc(100vh - 32px);overflow:auto;position:relative;animation:rise .25s var(--ease)}.modal-close{position:absolute;top:14px;right:14px;z-index:2;background:var(--surface-2)}@keyframes fade{0%{opacity:0}to{opacity:1}}.welcome{display:grid;grid-template-columns:1.05fr 1fr}.welcome .art{padding:14px}.welcome .art .cover,.welcome .art img{height:100%;min-height:380px;aspect-ratio:auto;border-radius:18px}.welcome .art img{width:100%;object-fit:cover}.welcome .txt{padding:40px 36px 28px 22px;display:flex;flex-direction:column;gap:14px}.dots{display:flex;gap:6px}.dots button{width:8px;height:8px;border-radius:99px;border:0;background:var(--track);cursor:pointer;padding:0;transition:width .25s var(--ease),background .25s}.dots button.on{width:22px;background:var(--navy)}.cover{position:relative;overflow:hidden;border-radius:var(--r);aspect-ratio:16 / 9;container-type:inline-size;background:var(--c-bg);color:var(--c-fg);isolation:isolate;contain:paint}.cover .c-label{position:absolute;left:7cqw;top:6.5cqw;font-size:max(10px,4cqw);font-weight:600;letter-spacing:.01em;opacity:.72;white-space:nowrap}.cover .c-title{position:absolute;left:7cqw;bottom:7cqw;max-width:66%;font-family:var(--f-display);font-weight:600;font-size:max(13px,8.6cqw);line-height:1.02;letter-spacing:-.035em}.cover .c-num{position:absolute;right:5cqw;top:50%;transform:translateY(-54%);font-family:var(--f-display);font-weight:700;font-size:44cqw;line-height:.8;letter-spacing:-.07em;color:var(--c-num);font-variant-numeric:tabular-nums}.cover .c-rings{position:absolute;left:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:3.4cqw}.cover .c-rings i{display:block;width:2.6cqw;height:1.4cqw;border-radius:0 9px 9px 0;background:var(--c-num)}.cover.navy{--c-bg: #2D4356;--c-fg: #FFFFFF;--c-num: rgba(198, 225, 241, .16)}.cover.sky{--c-bg: #D3E6F3;--c-fg: #1F3446;--c-num: rgba(45, 67, 86, .1)}.cover.mist,.cover.ice{--c-bg: #E6ECF1;--c-fg: #1F3446;--c-num: rgba(45, 67, 86, .08)}.cover.steel{--c-bg: #46698A;--c-fg: #FFFFFF;--c-num: rgba(255, 255, 255, .14)}.cover.live,.cover.ink{--c-bg: #1C2A36;--c-fg: #FFFFFF;--c-num: rgba(255, 255, 255, .08)}.cover.coral{--c-bg: #F2DED6;--c-fg: #5E2414;--c-num: rgba(176, 16, 47, .12)}.cover.live .c-label{opacity:1;color:#f78a9e;display:inline-flex;align-items:center;gap:1.6cqw}.cover.live .c-label:before{content:"";width:2cqw;height:2cqw;min-width:6px;min-height:6px;border-radius:50%;background:#f2506e}.cover.locked{filter:saturate(.2);opacity:.55}.cover .c-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:-2}.cover.has-img:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,var(--c-scrim) 0%,var(--c-scrim) 22%,transparent 62%)}.cover.has-img .c-title{max-width:46%}.resume .cover.has-img .c-title,.course-hero .cover.has-img .c-title{font-size:max(16px,7cqw)}.cover.navy{--c-scrim: rgba(45, 67, 86, .55)}.cover.sky{--c-scrim: rgba(211, 230, 243, .6)}.cover.mist,.cover.ice{--c-scrim: rgba(230, 236, 241, .6)}.cover.live,.cover.ink{--c-scrim: rgba(14, 22, 30, .78)}.cover.steel{--c-scrim: rgba(45, 67, 86, .6)}.face{position:relative;display:inline-block;border-radius:50%;overflow:hidden;flex:none;background:var(--sky)}.face img{position:absolute;max-width:none;height:auto}.thumb{position:relative;display:block;border-radius:var(--r);overflow:hidden;contain:paint}.thumb .cover{border-radius:0;transition:transform .45s var(--ease)}a:hover .thumb .cover,button:hover .thumb .cover{transform:scale(1.025)}.thumb .play{position:absolute;left:50%;top:50%;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#fffffff0;color:#1f2e3a;opacity:0;transform:translate(-50%,-50%) scale(.9);transition:.25s var(--ease)}a:hover .thumb .play,button:hover .thumb .play{opacity:1;transform:translate(-50%,-50%) scale(1)}.thumb .dur{position:absolute;right:10px;bottom:12px;height:22px;padding:0 7px;border-radius:6px;background:#0f181fa8;color:#fff;font-size:11.5px;font-weight:600;display:inline-flex;align-items:center;font-variant-numeric:tabular-nums}.thumb .bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:#0f181f29}.thumb .bar span{display:block;height:100%;background:var(--coral)}.thumb-title{margin-top:12px;font-weight:600;font-size:15px;line-height:1.35}.thumb-sub{font-size:13.5px;color:var(--muted);margin-top:2px}.badge-ring{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;color:var(--b, var(--steel));box-shadow:inset 0 0 0 1.5px var(--b, var(--steel));background:var(--surface)}.badge-ring.lg{width:64px;height:64px}.badge-ring.locked{--b: var(--subtle);color:var(--subtle)}.mod-ico{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--surface-2);color:var(--steel)}.mod-ico.lg{width:60px;height:60px}.mod-ico.locked{color:var(--subtle)}.goal{background:var(--surface);border-radius:var(--r-lg);padding:10px;display:flex;flex-direction:column}.goal .cover{border-radius:12px;transition:transform .35s var(--ease)}.goal:hover .cover{transform:scale(1.015)}.goal .info{padding:14px 8px 8px;display:flex;flex-direction:column;gap:10px;flex:1}.goal .k{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);font-weight:500}.banner{display:flex;align-items:center;gap:18px;padding:18px 22px;border-radius:var(--r-lg);background:var(--surface)}.banner .art{width:64px;height:64px;border-radius:16px;flex:none;display:grid;place-items:center;background:var(--coral-bg);color:var(--coral)}.course-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--ring),var(--shadow-xs);transition:transform .35s var(--spring),box-shadow .35s var(--spring)}.course-card:hover{transform:translateY(-3px);box-shadow:var(--ring),var(--shadow-md)}.cc-cover{position:relative;contain:paint}.cc-cover .cover{border-radius:0;transition:transform .6s var(--spring)}.course-card:hover .cc-cover .cover{transform:scale(1.03)}.cc-play{position:absolute;left:50%;top:50%;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fffffff0;color:#1f2e3a;opacity:0;transform:translate(-50%,-50%) scale(.85);transition:opacity .25s,transform .35s var(--spring);box-shadow:0 10px 24px -8px #0006}.course-card:hover .cc-play{opacity:1;transform:translate(-50%,-50%) scale(1)}.cc-dur{position:absolute;right:10px;bottom:10px;height:22px;padding:0 7px;border-radius:6px;display:inline-flex;align-items:center;background:#0f181fa8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums}.cc-body{flex:1;display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px}.cc-sub{font-size:12.5px;color:var(--muted)}.cc-title{font-size:15px;font-weight:700;line-height:1.35;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .18s}.course-card:hover .cc-title{color:var(--steel)}.cc-progress{margin-top:auto;padding-top:10px}.cc-track{height:6px;border-radius:99px;background:var(--track);overflow:hidden}.cc-track span{display:block;height:100%;border-radius:inherit;background:var(--steel);transform-origin:left;animation:ccGrow 1s var(--spring) .3s both}.course-card.done .cc-track span{background:var(--ok)}@keyframes ccGrow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.cc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;font-size:12.5px;color:var(--muted)}.cc-foot b{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--text)}.course-card.done .cc-foot b{color:var(--ok-text)}.cc-foot b{gap:6px}.cc-ok{width:16px;height:16px;flex:none;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 16%,transparent);animation:pop .5s var(--spring) .9s both}.scroller{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 6px 22px;margin:-6px -6px -16px;scroll-padding:6px;scrollbar-width:none}.scroller::-webkit-scrollbar{display:none}.scroller>*{scroll-snap-align:start}.school{display:flex;align-items:center;gap:14px;padding:12px;border-radius:var(--r);background:var(--surface);transition:background .18s}.school:hover{background:var(--surface-3)}.school .tn{width:56px;height:56px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--surface-2);color:var(--b, var(--steel))}.school.locked{opacity:.6}.ann{display:flex;gap:14px;padding:18px 0;border-top:1px solid var(--line)}.ann:first-child{border-top:0;padding-top:4px}.ann .who{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--sky-50)}.quote{background:var(--surface);border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:18px}.quote p{font-family:var(--f-display);font-weight:500;font-size:18px;line-height:1.4;letter-spacing:-.01em}.week{display:flex;gap:6px}.week .d{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11.5px;color:var(--subtle);font-weight:600}.week .d b{width:100%;height:30px;border-radius:8px;background:var(--surface-2);display:grid;place-items:center;color:var(--coral)}.week .d.on b{background:var(--coral-bg)}.badge-ach{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:12px;font-weight:600;color:var(--muted)}.badge-ach .medal{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--sky-50);color:var(--navy)}.badge-ach.off .medal{background:var(--surface-2);color:var(--subtle)}.badge-ach.off{color:var(--subtle)}.course-hero{position:relative;border-radius:var(--r-xl);padding:32px;background:var(--surface);overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:center}.course-hero:before{content:"";position:absolute;width:560px;height:560px;left:-160px;top:-320px;border-radius:50%;background:radial-gradient(closest-side,var(--sky),transparent);opacity:.8;pointer-events:none}.course-hero>*{position:relative}.course-hero h1{font-size:40px}.course-hero.solo{grid-template-columns:minmax(0,1fr)}.timeline{position:relative;display:flex;flex-direction:column}.timeline:before{content:"";position:absolute;left:13px;top:22px;bottom:22px;width:2px;background:var(--line)}.tl-group{position:relative;padding-left:44px}.tl-group+.tl-group{margin-top:10px}.tl-dot{position:absolute;left:6px;top:22px;width:16px;height:16px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 2px var(--subtle)}.tl-dot.on{box-shadow:inset 0 0 0 5px var(--steel)}.tl-dot.done{background:var(--ok);box-shadow:none}.tl-head{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r);background:var(--surface);border:0;cursor:pointer;text-align:left;transition:background .18s}.tl-head:hover{background:var(--surface-3)}.lesson-row{display:flex;align-items:center;gap:14px;padding:10px;border-radius:12px;transition:background .18s}.lesson-row:hover,.lesson-row.now{background:var(--surface-2)}.lesson-row .mini{width:112px;flex:none}.lesson-row .mini .cover{border-radius:8px}.lesson-row .mini .cover .c-title,.lesson-row .mini .cover .c-label{display:none}.lesson-row .mini .cover .c-num{right:50%;transform:translate(50%,-50%);font-size:52cqw}.lesson-row .mini .cover.sky .c-num,.lesson-row .mini .cover.mist .c-num{color:#2d43568c}.lesson-row .mini .cover.navy .c-num,.lesson-row .mini .cover.live .c-num{color:#ffffffb3}.lesson-row .n{width:22px;flex:none;text-align:center;font-size:13px;font-weight:700;color:var(--subtle)}.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.step{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--r);background:var(--surface-2);cursor:pointer;text-align:left;transition:background .18s;border:0}.step:hover{background:var(--surface-3)}.step .n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;background:var(--surface);color:var(--muted)}.step.done .n{background:var(--ok);color:#fff}.step.now{background:var(--navy);color:var(--on-navy)}.step.now .n{background:#ffffff29;color:inherit}.step.now .xs{color:inherit;opacity:.75}.class-view{display:flex;flex-direction:column;gap:16px}.class-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13.5px;color:var(--subtle)}.class-crumbs b{color:var(--text);font-weight:600}.class-crumbs .back{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 8px;border-radius:8px;font-weight:600;color:var(--text);background:var(--surface);box-shadow:var(--shadow-xs);transition:background-color .15s}.class-crumbs .back:hover{background:var(--surface-2)}.class-body{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px}.class-bottom{position:sticky;bottom:16px;z-index:15;height:68px;display:flex;align-items:center;gap:14px;padding:0 12px 0 20px;margin-top:8px;border-radius:var(--r);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line),0 12px 32px -12px #2e2d7438,0 -18px 24px -6px var(--bg)}.panel{background:var(--surface);border-radius:var(--r-lg);padding:20px 14px 14px;align-self:start;position:sticky;top:86px;max-height:calc(100vh - 262px);overflow-y:auto}.content:has(>.class-view){padding-bottom:16px}.panel h2{font-size:20px;padding:0 8px}.panel .grp{font-weight:700;font-size:14px;padding:16px 8px 6px}.panel.outline{padding:0}.ol-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 16px 0 20px}.ol-kick{font-size:12px;font-weight:600;color:var(--subtle)}.ol-head h2{margin-top:2px;padding:0;font-size:19px}.ol-head .icon-btn{width:32px;height:32px}.ol-progress{display:flex;flex-direction:column;gap:8px;margin:14px 20px 6px;padding-bottom:16px;border-bottom:1px solid var(--line)}.ol-progress b{color:var(--text)}.ol-list{list-style:none;margin:0;padding:8px 10px}.ol-topic{position:relative}.ol-topic:not(:last-child):before{content:"";position:absolute;left:25px;top:38px;bottom:-6px;width:2px;border-radius:2px;background:var(--line)}.ol-topic.done:not(:last-child):before{background:color-mix(in srgb,var(--ok) 45%,var(--line))}.ol-row{position:relative;display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:8px}.ol-topic.now>.ol-row{background:var(--sky-50)}.ol-mark{position:relative;z-index:1;width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:700;color:var(--muted);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--field)}.ol-topic.done .ol-mark{color:#fff;background:var(--ok);box-shadow:none}.ol-topic.now .ol-mark{color:var(--on-navy);background:var(--navy);box-shadow:0 0 0 4px var(--sky-50)}.ol-name{display:block;font-size:14px;font-weight:600;line-height:1.35;color:var(--text)}.ol-topic.pending .ol-name{color:var(--muted)}.ol-meta{display:block;margin-top:2px;font-size:12.5px;color:var(--subtle)}.ol-topic.now .ol-meta{color:var(--steel);font-weight:600}.panel.outline .substeps{margin:4px 0 8px 52px}.ol-topic.now .ol-mark{box-shadow:none}.sec-head .cycle-steps{display:flex;gap:4px;width:210px;margin-left:auto;align-self:center}.cycle-card{--pad: 24px}.cycle-card .card-title .cycle-steps{display:flex;gap:4px;width:210px}.cycle-card .card-title h3{font-size:19px}@media (max-width: 640px){.cycle-card{--pad: 16px}.cycle-card .card-title{flex-wrap:wrap}.cycle-card .card-title .cycle-steps{width:100%}}.cycle-steps span{position:relative;flex:1;height:6px;border-radius:99px;background:var(--track);overflow:hidden}.cycle-steps span.current:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--p);border-radius:inherit;background:var(--steel)}.live-page{max-width:720px}.live-card{--pad: 28px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}.live-card h2{font-size:24px}.live-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;font-size:14px;color:var(--muted)}.live-meta>span{display:inline-flex;align-items:center;gap:7px}.live-steps{list-style:none;margin:6px 0 4px;padding:16px 0 0;width:100%;display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line)}.live-steps li{display:flex;align-items:center;gap:12px;font-size:14.5px;color:var(--text)}.live-steps li span{width:24px;height:24px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--steel);background:var(--sky-50)}.crumb-link{color:var(--subtle);transition:color .15s}.crumb-link:hover{color:var(--text);text-decoration:underline;text-underline-offset:3px}.card.course-hero{--pad: 28px}.course-hero h1{font-size:36px}.hero-stats{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:16px}.hero-stats div{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--muted)}.hero-stats svg{color:var(--steel)}.hero-stats b{font-family:var(--f-display);font-size:16px;font-weight:600;color:var(--text)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:24px}.hero-progress{display:flex;flex-direction:column;gap:8px;width:180px}.hero-lock{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 14px;border-radius:8px;font-size:14px;color:var(--muted);background:var(--surface-2)}.mod-summary{display:flex;align-items:center;flex-wrap:wrap;gap:20px 32px}.mod-summary h1{font-size:30px}.mod-summary p{max-width:640px}.cc-tag{position:absolute;left:12px;top:12px;z-index:2;height:26px;padding:0 9px;border-radius:6px;display:inline-flex;align-items:center;font-size:12px;font-weight:700;color:var(--navy);background:#ffffffe6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}:root[data-theme=dark] .cc-tag{color:#1f3446}.cover.plain.has-img:after,.cover.plain .c-scrim{display:none}.cc-cover.is-locked .cover .c-label{display:none}.hero-cover{border-radius:var(--r);overflow:hidden}.mod-head{max-width:760px}.mod-head h1{margin-top:4px;font-size:30px}.mod-head p{margin:8px 0 0;font-size:15px;line-height:1.6;color:var(--muted)}.mod-switch{display:grid;grid-template-columns:repeat(2,minmax(0,340px));gap:12px}.mod-switch button{position:relative;display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--field);border-radius:var(--r);background:var(--surface);cursor:pointer;text-align:left;box-shadow:var(--shadow-xs);transition:border-color .18s,box-shadow .18s,background-color .18s}.mod-switch button:hover{border-color:var(--subtle)}.mod-switch.three{grid-template-columns:repeat(3,minmax(0,320px))}@media (max-width: 860px){.mod-switch.three{grid-template-columns:1fr}}.mod-switch button.on{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy),var(--shadow-xs)}.mod-switch b{display:block;font-size:15.5px;font-weight:600;color:var(--text)}.mod-switch small{display:block;margin-top:2px;font-size:12.5px;color:var(--muted)}.ms-ico{width:44px;height:44px;flex:none;border-radius:8px;display:grid;place-items:center;color:var(--steel);background:var(--surface-2);transition:background-color .18s,color .18s}.mod-switch button.on .ms-ico{color:var(--on-navy);background:var(--navy)}.mod-switch button.rec .ms-ico{color:var(--coral);background:var(--coral-bg)}.mod-switch button.rec:hover{border-color:color-mix(in srgb,var(--coral) 60%,var(--field))}.mod-switch button.rec.on{border-color:var(--coral);box-shadow:inset 0 0 0 1px var(--coral),var(--shadow-xs)}.mod-switch button.rec.on .ms-ico{color:#fff;background:var(--coral)}@media (max-width: 640px){.mod-switch{grid-template-columns:1fr 1fr;gap:8px}.mod-switch button{padding:12px;gap:10px}.ms-ico{width:36px;height:36px}.mod-switch small{display:none}.mod-switch b{font-size:14px}}.rec-view{max-width:1100px}.rec-info{display:flex;align-items:flex-end;flex-wrap:wrap;gap:16px 24px}.rec-info h1{margin-top:4px;font-size:26px}.rec-info .cv-teacher{margin-top:10px;gap:10px}.rec-info .cv-teacher span{display:inline;font-size:13.5px;color:var(--muted)}.rec-info .cv-teacher b{display:inline;font-size:13.5px}.rec-nav{display:flex;flex-wrap:wrap;gap:10px}.rec-seen{color:var(--ok-text)!important}.rec-kind{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--coral)}.rec-dur{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-variant-numeric:tabular-nums}.course-card.locked{cursor:pointer}.course-card.locked:hover{transform:none;box-shadow:var(--ring),var(--shadow-xs)}.course-card.locked:hover .cc-cover .cover{transform:none}.course-card.locked .cc-title,.course-card.locked:hover .cc-title{color:var(--muted)}.course-card.locked .cc-foot{color:var(--subtle)}.course-card.locked .cc-body{background:var(--surface-2)}button.course-card{width:100%;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}button.course-card:focus-visible{outline:2px solid var(--steel);outline-offset:2px}.lock-note{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 28px 24px;text-align:center}.ln-ico{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:var(--coral);background:var(--coral-bg);margin-bottom:4px;animation:pop .45s var(--spring)}.lock-note h3{font-family:var(--f-display);font-size:18px;font-weight:600;line-height:1.3}.lock-note p{margin:0 0 10px;font-size:14.5px;line-height:1.55;color:var(--muted)}.lock-note p b{color:var(--text);font-weight:600}.course-card{border:1px solid var(--field);box-shadow:var(--shadow-xs)}.course-card:hover{border-color:color-mix(in srgb,var(--steel) 45%,var(--field));box-shadow:var(--shadow-md)}.course-card.locked{border-color:color-mix(in srgb,var(--coral) 55%,var(--field))}.course-card.locked:hover{border-color:var(--coral);box-shadow:var(--shadow-xs)}.cc-cover .cover{border-radius:0}.cc-soon{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--coral)}.card .rec-list .rec-thumb{width:88px}.sec-now{margin:0 0 8px;padding:16px 16px 12px;border-radius:8px;background:var(--surface-2)}.sec-now .flow{margin-top:14px}a.ol-row{color:inherit;transition:background-color .15s}a.ol-row:hover{background:var(--surface-2)}.ol-topic.now>a.ol-row:hover{background:var(--sky-50)}.ol-dur{flex:none;font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.ol-go{flex:none;color:var(--subtle);transition:transform .3s var(--spring),color .15s}a.ol-row:hover .ol-go{color:var(--text);transform:translate(2px)}.rec-list{display:flex;flex-direction:column;margin:-8px -12px -12px}.rec-row{display:flex;align-items:center;gap:14px;padding:10px 12px;border-radius:8px;color:inherit;transition:background-color .15s}.rec-row+.rec-row{border-top:1px solid var(--line);border-radius:0 0 8px 8px}.rec-row:hover{background:var(--surface-2)}.rec-thumb{position:relative;width:104px;aspect-ratio:16 / 9;flex:none;border-radius:8px;overflow:hidden;background:#132a49}.rec-thumb img{width:100%;height:100%;object-fit:cover;object-position:60% 30%}.rec-play{position:absolute;left:50%;top:50%;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:#1f2e3a;background:#ffffffeb;transform:translate(-50%,-50%)}.rec-row b{display:block;font-size:14.5px;font-weight:600;color:var(--text)}.rec-row .status.badge{align-self:center}.rec-row small{display:block;margin-top:2px;font-size:12.5px;color:var(--muted)}.cb-sec{flex:1;min-width:0;max-width:460px;display:flex;flex-direction:column;gap:8px;margin-right:auto}.cb-sec .row-between>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cb-locked{cursor:default;color:var(--coral);border-color:color-mix(in srgb,var(--coral) 45%,var(--field))}.cb-locked:hover{border-color:color-mix(in srgb,var(--coral) 45%,var(--field))}.step-list{list-style:none;margin:0;padding:12px 10px}.step-list li{position:relative}.step-list li:not(:last-child):before{content:"";position:absolute;left:25px;top:42px;bottom:-6px;width:2px;border-radius:2px;background:var(--line)}.step-list li.done:not(:last-child):before{background:color-mix(in srgb,var(--ok) 45%,var(--line))}.step-list button{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:10px;border:0;border-radius:8px;background:none;cursor:pointer;text-align:left;transition:background-color .15s}.step-list button:hover{background:var(--surface-2)}.step-list li.now button{background:var(--sky-50)}.sl-mark{position:relative;z-index:1;width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:700;color:var(--muted);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--field)}.step-list li.done .sl-mark{width:22px;height:22px;margin:4px;color:#fff;background:var(--ok);box-shadow:none}.step-list li.now .sl-mark{color:var(--on-navy);background:var(--navy);box-shadow:0 0 0 4px var(--sky-50)}.step-list li.locked .sl-mark{color:var(--subtle);background:var(--surface-2);box-shadow:none}.sl-name{display:block;font-size:14px;font-weight:600;color:var(--text)}.step-list li.locked .sl-name{color:var(--muted)}.sl-meta{display:block;margin-top:1px;font-size:12.5px;color:var(--subtle)}.step-list li.now .sl-meta{color:var(--steel);font-weight:600}.step-list li.done .sl-meta{color:var(--ok-text)}.files{padding:6px}.file-row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:8px}.file-row+.file-row{border-top:1px solid var(--line);border-radius:0 0 8px 8px}.file-row b{display:block;font-size:14.5px;font-weight:600;color:var(--text)}.file-row small{display:block;margin-top:2px;font-size:12.5px;color:var(--muted)}.file-ico{width:42px;height:42px;flex:none;border-radius:8px;display:grid;place-items:center;color:var(--coral);background:var(--coral-bg)}.file-ico.ro{color:var(--steel);background:var(--sky-50)}.doc-view{max-width:920px}.doc-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 14px;padding:14px 16px;border-radius:var(--r);background:var(--surface);border:1px solid var(--field)}.doc-bar b{display:block;font-size:15px;font-weight:600;color:var(--text)}.doc-bar small{display:block;margin-top:2px;font-size:12.5px;color:var(--muted)}.doc-note{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:6px;font-size:12.5px;font-weight:600;color:var(--steel);background:var(--sky-50)}.doc-pages{display:flex;flex-direction:column;gap:20px;padding:24px;border-radius:var(--r);background:var(--surface-3);user-select:none;-webkit-user-select:none}.doc-page{position:relative;overflow:hidden;aspect-ratio:210 / 297;padding:7% 8%;background:#fff;color:#1f2e3a;box-shadow:0 2px 10px #14212d1f}.doc-page .doc-wm span{color:#2d43561a!important;font-size:15px}.dp-top{display:flex;justify-content:space-between;padding-bottom:12px;border-bottom:1.5px solid #E3E9EE;font-size:12px;color:#5a6a77}.dp-top b{color:#2d4356}.dp-kick{margin-top:28px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#e11a45}.doc-page h2{margin-top:6px;font-size:clamp(20px,3vw,30px);color:#2d4356}.doc-page p,.doc-page li{font-size:clamp(13px,1.5vw,15px);line-height:1.65;color:#34444f}.doc-page ul{padding-left:20px}.doc-page table{margin-top:16px;font-size:clamp(12px,1.4vw,14px)}.doc-page th{background:#2d4356;color:#fff;border-radius:0!important}.doc-page td{color:#34444f}.dp-box{margin-top:18px;padding:14px 16px;border-radius:8px;background:#eef2f6;font-size:14px;color:#34444f}.dp-foot{position:absolute;left:8%;right:8%;bottom:4%;display:flex;justify-content:space-between;font-size:11px;color:#8796a2}@media print{.doc-pages{display:none!important}}@media (max-width: 640px){.doc-pages{padding:10px}.doc-page{aspect-ratio:auto;min-height:520px;padding:24px 20px 48px}}.cal-card{--pad: 0px;padding:0;overflow:visible}.cal-bar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 14px;padding:16px 20px;border-bottom:1px solid var(--line)}.cal-bar h2{font-size:20px;min-width:210px}.cal-bar-right{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;gap:12px}.cal-bar .legend span{display:inline-flex;align-items:center}.legend i.dot-today{background:var(--coral)}.legend i.dot-live{background:var(--steel)}.legend i.dot-sim{background:var(--navy)}.legend i.dot-open{background:var(--ok)}.cal-cfg{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:260px;display:flex;flex-direction:column;gap:12px;padding:14px 16px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-md)}.cal-cfg b{font-size:14px}.cal-week{position:relative}@media (max-width: 1100px){.cal-week{overflow-x:auto}}.cw-head,.cw-allday{display:grid;grid-template-columns:76px repeat(7,minmax(110px,1fr));border-bottom:1px solid var(--line)}.cw-gmt{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--subtle);text-align:center}.cw-day{display:flex;align-items:center;justify-content:center;gap:8px;height:58px;border-left:1px solid var(--line);font-size:13px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted)}.cw-day b{font-size:15px;color:var(--text)}.cw-day.today b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--coral)}.cw-allday .cw-gmt{font-size:11px;padding:0 6px}.cw-cell{display:flex;flex-direction:column;gap:4px;min-height:38px;padding:6px;border-left:1px solid var(--line)}.cw-body{position:relative;display:grid;grid-template-columns:76px repeat(7,minmax(110px,1fr))}.cw-hours{position:relative}.cw-hours span{position:absolute;right:12px;transform:translateY(-50%);font-size:12px;font-weight:500;color:var(--subtle);white-space:nowrap}.cw-hours span:first-child{transform:none;top:4px!important}.cw-line{position:absolute;left:76px;right:0;height:1px;background:var(--line);pointer-events:none}.cw-col{position:relative;border-left:1px solid var(--line)}.cw-col.today{background:color-mix(in srgb,var(--coral) 4%,transparent)}.cw-slot{position:absolute;left:4px;right:4px}.cw-ev{width:100%;height:100%;display:flex;flex-direction:column;gap:4px;padding:8px 10px;border:1px solid transparent;border-radius:8px;cursor:pointer;text-align:left;overflow:hidden;transition:filter .15s,box-shadow .15s}.cw-ev b{font-size:12.5px;font-weight:600;line-height:1.3;color:var(--text)}.cw-ev span{font-size:11.5px;color:var(--muted)}.cw-ev:hover,.cw-ev.on{box-shadow:var(--shadow-md)}.cw-ev.live{background:var(--sky-50);border-color:color-mix(in srgb,var(--steel) 25%,transparent)}.cw-ev.live b{color:var(--steel)}.cw-ev.sim{background:var(--surface);border-color:var(--navy)}.cw-ev.sim b{color:var(--navy)}.cw-ev.open{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.cw-chip{display:flex;align-items:center;gap:5px;width:100%;padding:4px 8px;border:1px solid transparent;border-radius:6px;cursor:pointer;text-align:left;font:600 11.5px var(--f-body);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cw-chip em{font-style:normal;color:var(--muted);font-weight:500}.cw-chip.live{background:var(--sky-50);border-color:color-mix(in srgb,var(--steel) 25%,transparent);color:var(--steel)}.cw-chip.sim{background:var(--surface);border-color:var(--navy);color:var(--navy)}.cw-chip.open{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.cw-ev.is-today,.cw-chip.is-today{background:var(--coral-bg);border-color:color-mix(in srgb,var(--coral) 30%,transparent);color:var(--coral-text)}.cw-ev.is-today b{color:var(--coral-text)}.cw-ev.past,.cw-chip.past{background:var(--surface-2);border-color:transparent;color:var(--subtle)}.cw-ev.past b,.cw-ev.past span,.cw-chip.past em{color:var(--subtle)}.cw-type{display:inline-flex;align-items:center;gap:4px;font-size:10.5px!important;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:inherit}.cw-ev.live .cw-type{color:var(--steel)}.cw-ev.sim .cw-type{color:var(--navy)}.cw-ev.open .cw-type{color:var(--ok-text)}.cw-ev.is-today .cw-type{color:var(--coral)}.cw-ev.past .cw-type{color:var(--subtle)}.cw-ev .cw-type+b{margin-top:-1px}.cw-chip svg{flex:none}.cw-chip.cm-chip{flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;white-space:normal}.cm-type{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;opacity:.9}.cm-type em{font-style:normal;font-weight:600;text-transform:none;letter-spacing:0}.cm-title{display:block;width:100%;font-size:12.5px;font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-now{position:absolute;left:-1px;right:0;height:2px;background:var(--coral);z-index:2;pointer-events:none}.cw-now i{position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:var(--coral)}.cal-pop{position:absolute;top:0;z-index:25;width:260px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 16px 16px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:0 18px 40px -12px #14212d47;animation:pop .25s var(--spring)}.cal-pop.right{left:calc(100% + 8px)}.cal-pop.left{right:calc(100% + 8px)}.cw-slot .cal-pop.up{top:auto;bottom:0}.cal-pop .row-between{width:100%}.cal-pop .icon-btn{width:28px;height:28px}.cal-pop>b{font-size:15px;font-weight:600;line-height:1.35}.cal-pop .btn{margin-top:6px}.cal-guide{list-style:none;margin:4px 0 2px;padding:10px 0 0;width:100%;display:flex;flex-direction:column;gap:7px;border-top:1px solid var(--line)}.cal-guide li{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.4;color:var(--text)}.cal-guide li span{width:18px;height:18px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:10.5px;font-weight:700;color:var(--steel);background:var(--sky-50)}.cal-locked{color:var(--subtle);background:var(--surface-2);border-color:var(--line);cursor:not-allowed;opacity:1!important}.cal-opens{width:100%;margin-top:-2px;font-size:12px;text-align:center;color:var(--muted)}.cal-kind{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.cal-kind.live{color:var(--coral)}.cal-kind.sim{color:var(--navy)}.cal-kind.open{color:var(--ok-text)}.cal-pop-meta{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--muted)}.cw-allday-pop{position:absolute;left:90px;top:110px;z-index:25}.cw-allday-pop .cal-pop{position:static}.cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.cm-dow{padding:12px;font-size:12.5px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line)}.cm-day{min-height:112px;display:flex;flex-direction:column;gap:4px;padding:8px;border-bottom:1px solid var(--line);border-left:1px solid var(--line)}.cm-day:nth-child(7n+8){border-left:0}.cm-day.out{background:var(--surface-2)}.cm-day.out .cm-num{color:var(--subtle)}.cm-num{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:600;color:var(--text)}.cm-day.today .cm-num{color:#fff;background:var(--coral)}.cm-slot{position:relative}.cm-slot .cal-pop{top:28px}.cm-slot .cal-pop.right{left:0}.cm-slot .cal-pop.left{left:auto;right:0}.sim-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}@media (max-width: 1024px){.sim-layout{grid-template-columns:minmax(0,1fr)}}.review .card-title{flex-wrap:wrap}.rv-list{list-style:none;margin:0;padding:0}.rv-item+.rv-item{border-top:1px solid var(--line)}.rv-head{display:flex;align-items:center;gap:14px;width:100%;padding:12px 6px;border:0;background:none;cursor:pointer;text-align:left;border-radius:8px;transition:background-color .15s}.rv-head:hover{background:var(--surface-2)}.rv-n{width:30px;height:30px;flex:none;border-radius:8px;display:grid;place-items:center;font-size:12.5px;font-weight:700;color:var(--muted);background:var(--surface-2)}.rv-item.ok .rv-n{color:var(--ok-text);background:var(--ok-bg)}.rv-item.wrong .rv-n{color:var(--coral-text);background:var(--coral-bg)}.rv-text{flex:1;min-width:0;font-size:14px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-item.open .rv-text{white-space:normal;font-weight:600}.rv-st{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600}.rv-st.ok{color:var(--ok-text)}.rv-st.wrong{color:var(--coral)}.rv-st.blank{color:var(--subtle)}.rv-chev{flex:none;color:var(--subtle);transition:transform .3s var(--spring)}.rv-item.open .rv-chev{transform:rotate(180deg)}.rv-body{display:flex;flex-direction:column;gap:12px;padding:4px 6px 18px 50px;animation:fadeUp .35s var(--spring)}.rv-body .q-opt{cursor:default}.rv-mine{flex:none;font-size:11.5px;font-weight:700;color:var(--muted)}@media (max-width: 640px){.rv-st{font-size:0;gap:0}.rv-body{padding-left:6px}}.ps-up{display:inline-flex;align-items:center;gap:2px;margin-left:8px;font-size:12px;font-weight:700;color:var(--ok-text)}.sim-next{--pad: 28px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.sim-next h2{font-size:26px}.sim-next>p{margin:0}.sim-covers{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.sim-chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px 0 4px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:600;color:var(--text)}.sim-chip img{width:46px;height:28px;border-radius:5px;object-fit:cover;object-position:72% 40%}.sim-cta{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-top:4px}.sim-when{font-size:13px;text-align:center;color:var(--muted)}.sim-guide-title{margin-top:8px;padding-top:16px;width:100%;border-top:1px solid var(--line);font-size:14px;font-weight:600;color:var(--text)}.sim-next .live-steps{margin-top:0;padding-top:0;border-top:0}.sim-side{--pad: 22px;position:sticky;top:94px;display:flex;flex-direction:column;align-items:stretch;gap:14px}.sim-clock-label{font-size:14px;font-weight:600;text-align:center;color:var(--text)}.sim-clock-boxes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sim-side .cd-box{min-width:0;padding:12px 4px;border-radius:8px;background:var(--surface-2)}.sim-side .cd-box b{font-family:var(--f-display);font-size:28px;font-weight:700;color:var(--navy);font-variant-numeric:tabular-nums}@media (max-width: 1024px){.sim-side{position:static;order:-1}}.sim-try{display:flex;align-items:center;flex-wrap:wrap;gap:12px;width:100%;margin-top:8px;padding:14px 16px;border-radius:var(--r);background:var(--surface-2);font-size:13.5px;color:var(--muted)}.sim-try svg{color:var(--steel);flex:none}.sim-past{display:flex;align-items:center;gap:12px;width:100%;padding:8px;margin:-8px;border:0;border-radius:8px;background:none;cursor:pointer;text-align:left;transition:background-color .15s}.sim-past:hover{background:var(--surface-2)}.sim-past b{display:block;font-size:14px;font-weight:600;color:var(--text)}.sim-past small{display:block;margin-top:1px;font-size:12.5px;color:var(--muted)}.sim-past .link{flex:none}.back-link{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 8px;border:0;border-radius:8px;cursor:pointer;font:600 13.5px var(--f-body);color:var(--text);background:var(--surface);box-shadow:var(--shadow-xs)}.back-link:hover{background:var(--surface-2)}.bank-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:start}@media (max-width: 1024px){.bank-layout{grid-template-columns:minmax(0,1fr)}}.card.bank-card{--pad: 0px;padding:0;overflow:hidden}.bank-step{display:flex;gap:16px;padding:22px 24px}.bank-step+.bank-step{border-top:1px solid var(--line)}.bs-n{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--on-navy);background:var(--navy)}.bs-title{display:block;margin-top:4px;font-size:16px;font-weight:600;color:var(--text)}.bank-opts{display:grid;gap:10px}.bank-opts.two{grid-template-columns:repeat(2,minmax(0,1fr))}@media (max-width: 640px){.bank-opts.two{grid-template-columns:1fr}.bank-step{padding:18px 16px;gap:12px}}.bank-opts.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 860px){.bank-opts.three{grid-template-columns:1fr}}.bank-opt.custom{cursor:pointer}.bo-num{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;margin-top:6px}.bo-num input{width:76px;height:34px;padding:0 10px;border:1px solid var(--field);border-radius:8px;background:var(--surface);font:600 14px var(--f-body);color:var(--text)}.bo-num input:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px #46698a24}.bo-num small{margin:0!important}.combo{position:relative;max-width:460px}.combo-btn{display:flex;align-items:center;gap:10px;width:100%;height:46px;padding:0 14px;border:1px solid var(--field);border-radius:8px;background:var(--surface);cursor:pointer;text-align:left;font:600 14.5px var(--f-body);color:var(--text);transition:border-color .15s,box-shadow .15s}.combo-btn:hover{border-color:var(--subtle)}.combo-btn.on{border-color:var(--steel);box-shadow:0 0 0 3px #46698a24}.combo-pop{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;padding:8px;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-md);animation:pop .2s var(--spring)}.combo-pop .input{height:40px}.combo-list{max-height:300px;overflow-y:auto;margin-top:6px}.combo-group{padding:10px 10px 4px;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle)}.combo-opt{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;cursor:pointer;text-align:left;color:var(--steel)}.combo-opt:hover{background:var(--surface-2)}.combo-opt.on{background:var(--sky-50)}.combo-opt b{display:block;font-size:14px;font-weight:600;color:var(--text)}.combo-opt small{display:block;font-size:12px;color:var(--muted)}.combo-empty{padding:16px 10px;font-size:13.5px;color:var(--muted);text-align:center}.bank-opt{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid var(--field);border-radius:8px;background:var(--surface);cursor:pointer;text-align:left;transition:border-color .15s,background-color .15s,box-shadow .15s}.bank-opt:hover{border-color:var(--subtle)}.bank-opt.on{border-color:var(--navy);background:var(--sky-50);box-shadow:inset 0 0 0 1px var(--navy)}.bank-opt b{display:block;font-size:14.5px;font-weight:600;color:var(--text)}.bank-opt small{display:block;margin-top:2px;font-size:12.5px;line-height:1.45;color:var(--muted)}.bo-radio{width:18px;height:18px;flex:none;margin-top:2px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--field);background:var(--surface);transition:box-shadow .15s}.bank-opt.on .bo-radio{box-shadow:inset 0 0 0 5px var(--navy)}.bo-ico{width:34px;height:34px;flex:none;border-radius:8px;display:grid;place-items:center;color:var(--steel);background:var(--surface-2)}.bank-opt.on .bo-ico{color:var(--on-navy);background:var(--navy)}.bank-go{display:flex;align-items:center;flex-wrap:wrap;gap:14px 20px;padding:18px 24px;border-top:1px solid var(--line);background:var(--surface-2)}.bank-go b{display:block;font-size:15px;font-weight:600;color:var(--text)}.bank-go small{display:block;margin-top:2px;font-size:12.5px;color:var(--muted)}.bank-side-title{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle)}.bank-quick{display:flex;align-items:center;gap:14px;width:100%;padding:18px;border:1px solid transparent;cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .2s}.bank-quick:hover{border-color:var(--field);box-shadow:var(--shadow-md)}.bank-quick b{display:block;font-size:15px;font-weight:600;color:var(--text)}.bank-quick small{display:block;margin-top:3px;font-size:12.5px;line-height:1.45;color:var(--muted)}.bq-num{width:52px;height:52px;flex:none;border-radius:10px;display:grid;place-items:center;font-family:var(--f-display);font-size:20px;font-weight:700;color:var(--steel);background:var(--sky-50)}.bank-quick.coral .bq-num{color:var(--coral);background:var(--coral-bg)}.bq-go{flex:none;color:var(--subtle);transition:transform .3s var(--spring)}.bank-quick:hover .bq-go{transform:translate(3px);color:var(--text)}.iv-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}@media (max-width: 1024px){.iv-layout{grid-template-columns:minmax(0,1fr)}.iv-layout aside{order:-1}}.card.iv-card{--pad: 0px;padding:0;overflow:hidden}.iv-tools{display:flex;flex-direction:column;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}.iv-search{max-width:420px}.iv-search .input{height:42px}.iv-list{list-style:none;margin:0;padding:6px 10px 10px}.iv-item+.iv-item{border-top:1px solid var(--line)}.iv-head{display:flex;align-items:center;gap:14px;width:100%;padding:14px 10px;border:0;border-radius:8px;background:none;cursor:pointer;text-align:left;transition:background-color .15s}.iv-head:hover{background:var(--surface-2)}.iv-n{width:30px;height:30px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:700;color:var(--muted);background:var(--surface-2)}.iv-item.done .iv-n{width:22px;height:22px;margin:4px;color:#fff;background:var(--ok)}.iv-q{display:block;font-size:14.5px;font-weight:600;line-height:1.4;color:var(--text)}.iv-cat{display:block;margin-top:2px;font-size:12.5px;color:var(--muted)}.iv-item.done .iv-cat{color:var(--ok-text)}.iv-chev{flex:none;color:var(--subtle);transition:transform .3s var(--spring)}.iv-item.open .iv-chev{transform:rotate(180deg)}.iv-body{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:0 10px 18px 54px;animation:fadeUp .35s var(--spring)}.iv-tip{width:100%;padding:14px 16px;border-radius:8px;background:var(--surface-2)}.iv-tip b{font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--steel)}.iv-tip p{margin:6px 0 0;font-size:14px;line-height:1.6;color:var(--text)}.iv-empty{padding:24px 10px;font-size:14px;color:var(--muted);text-align:center}.iv-progress{display:flex;flex-direction:column;gap:10px}.iv-big{font-size:14px;color:var(--muted)}.iv-big b{font-family:var(--f-display);font-size:30px;font-weight:700;color:var(--text);margin-right:4px}.iv-howto b{font-size:15px;font-weight:600}.iv-howto ol{margin:10px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:13.5px;line-height:1.5;color:var(--muted)}@media (max-width: 640px){.iv-body{padding-left:10px}.iv-tools{padding:14px 16px}}.lib-chips{margin-bottom:20px}.lib-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 18px}@media (max-width: 1280px){.lib-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 1024px){.lib-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 640px){.lib-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}}.lib-book{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;border:1px solid var(--field);border-radius:10px;background:var(--surface);transition:border-color .2s,box-shadow .3s var(--spring),transform .3s var(--spring);cursor:pointer;text-align:left;color:inherit;font:inherit}.lib-cover{position:relative;aspect-ratio:3 / 4;overflow:hidden;border-radius:4px 8px 8px 4px;background:linear-gradient(160deg,var(--surface-3),var(--surface-2));box-shadow:0 1px 2px #14212d1f,0 12px 24px -10px #14212d59;transition:transform .4s var(--spring),box-shadow .4s var(--spring);container-type:inline-size}.lib-book:hover{border-color:color-mix(in srgb,var(--steel) 55%,var(--field));box-shadow:var(--shadow-md)}.lib-book:hover .lib-cover{transform:translateY(-3px) rotate(-.6deg);box-shadow:0 2px 4px #14212d1f,0 22px 36px -14px #14212d73}.lib-cover img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.lib-cover:before{content:"";position:absolute;top:0;right:0;bottom:45%;left:0;z-index:1;background:linear-gradient(180deg,#ffffffe0,#ffffffb3 45%,#fff0);pointer-events:none}.lib-cover.dark:before{background:linear-gradient(180deg,#08122299,#08122259,#08122200)}.lib-cover-cat{position:absolute;left:10%;top:8%;right:10%;z-index:2;font-size:max(9px,6cqw);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1f2e3ab3}.lib-cover-title{position:absolute;left:10%;right:10%;top:15%;z-index:2;font-family:var(--f-display);font-size:max(13px,9.5cqw);font-weight:700;line-height:1.12;letter-spacing:-.01em;color:#1f2e3a}.lib-cover.dark .lib-cover-cat{color:#ffffffbf}.lib-cover.dark .lib-cover-title{color:#fff}.lib-spine{position:absolute;left:0;top:0;bottom:0;width:5%;z-index:2;background:linear-gradient(90deg,rgba(0,0,0,.22),rgba(255,255,255,.12) 60%,transparent)}.lib-info{padding:14px 14px 16px;border-top:1px solid var(--line)}.lib-stage{padding:20px 22px 22px;background:radial-gradient(120% 90% at 50% 100%,color-mix(in srgb,var(--steel) 14%,transparent),transparent 70%),var(--surface-2);transition:background .3s}.lib-book:hover .lib-stage{background:radial-gradient(120% 90% at 50% 100%,color-mix(in srgb,var(--steel) 24%,transparent),transparent 70%),var(--surface-2)}.lib-book.locked .lib-stage{background:radial-gradient(120% 90% at 50% 100%,color-mix(in srgb,var(--coral) 10%,transparent),transparent 70%),var(--surface-2)}.lib-book.locked{border-color:color-mix(in srgb,var(--coral) 55%,var(--field))}.lib-book.locked:hover{border-color:var(--coral)}.lib-info b{display:block;font-size:14px;font-weight:600;line-height:1.35;color:var(--text)}.lib-info small{display:block;margin-top:2px;font-size:12.5px;line-height:1.4;color:var(--muted)}.lib-meta,.lib-info .cc-soon{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:12px;font-weight:600;color:var(--steel)}.lib-book.locked .lib-cover{filter:none}.lib-book.locked .lib-info b{color:var(--muted)}.rd-thumb{width:36px;height:48px;flex:none;border-radius:3px 5px 5px 3px;object-fit:cover;box-shadow:0 4px 10px -4px #14212d66}.doc-page.rd-cover{padding:0;background:#e9eef3}.doc-page.rd-cover img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.doc-page.rd-cover:before{content:"";position:absolute;top:0;right:0;bottom:45%;left:0;z-index:1;background:linear-gradient(180deg,#ffffffe0,#fff0)}.doc-page.rd-cover.dark:before{background:linear-gradient(180deg,#08122299,#08122200)}.rd-cover-text{position:absolute;left:9%;right:9%;top:8%;z-index:2;display:flex;flex-direction:column;gap:10px;color:#1f2e3a}.rd-cover-text span{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.75}.rd-cover-text h2{margin:0;font-size:clamp(26px,4.4vw,44px)!important;line-height:1.1;color:inherit!important}.rd-cover-text p{margin:0;font-size:15px!important;color:inherit!important;opacity:.85}.rd-cover-text small{margin-top:6px;font-size:13px;font-weight:600;opacity:.8}.doc-page.rd-cover.dark .rd-cover-text{color:#fff}.rd-more{padding:6px 0 2px;text-align:center}.doubts{display:flex;flex-direction:column;gap:18px;max-width:820px}.db-compose{display:flex;gap:12px;padding:16px;border-radius:var(--r);background:var(--surface);border:1px solid var(--field)}.db-compose .textarea{min-height:84px;resize:vertical;background:var(--surface-2);box-shadow:none}.db-compose .textarea:focus{background:var(--surface);box-shadow:0 0 0 3px #46698a24,inset 0 0 0 1px var(--steel)}.db-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:10px}.db-actions .btn{margin-left:auto}.db-head{display:flex;align-items:baseline;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--line)}.db-head b{font-size:15px;font-weight:600;color:var(--text)}.db-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.db-list li{display:flex;gap:12px;padding:16px 0}.db-list li+li{border-top:1px solid var(--line)}.db-list li.mine{animation:fadeUp .45s var(--spring)}.db-list .avatar.sm{background:var(--sky-50);color:var(--steel)}.db-list li.mine .avatar.sm{background:var(--sky);color:var(--navy)}.db-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12.5px;color:var(--subtle)}.db-meta b{font-size:13.5px;font-weight:600;color:var(--text)}.db-reply{display:flex;gap:10px;margin-top:14px}.db-reply .face{flex:none}.db-role{height:18px;padding:0 6px;border-radius:4px;display:inline-flex;align-items:center;font-size:11px;font-weight:700;color:var(--on-navy);background:var(--navy)}.db-list p{margin:4px 0 0;font-size:14.5px;line-height:1.55;color:var(--text)}.cv-head{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}.cv-head h1{font-size:24px}.cv-head .cv-teacher{margin-top:8px;gap:10px}.cv-head .cv-teacher span{display:inline;font-size:13.5px;color:var(--muted)}.cv-head .cv-teacher b{display:inline;font-size:13.5px}.cv-teacher{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px}.cv-teacher b{display:block;font-size:14px;font-weight:600;color:var(--text)}.cv-teacher span:not(.cv-meta):not(.cv-sep){display:block;font-size:12.5px;color:var(--muted)}.cv-sep{width:1px;height:28px;background:var(--line);margin:0 4px}.cv-meta{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--muted)}.substeps{display:flex;flex-direction:column;gap:2px;margin:4px 0 6px 46px}.substeps button{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;border-radius:8px;border:0;background:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--muted);text-align:left}.substeps button:hover{background:var(--surface-2);color:var(--text)}.substeps button.on{background:var(--sky-50);color:var(--navy)}.player{position:relative;aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;contain:paint;background:#0e1820;color:#fff;display:grid;place-items:center;-webkit-user-select:none;user-select:none}.player>.cover{position:absolute;top:0;right:0;bottom:0;left:0;aspect-ratio:auto;border-radius:0}.player>.cover.has-img:after{background:#0a101661}.player .play{position:relative;width:72px;height:72px;border-radius:50%;background:#ffffffeb;color:#1f2e3a;display:grid;place-items:center;border:0;cursor:pointer;transition:transform .2s var(--ease)}.player .play:hover{transform:scale(1.06)}.player .bar{position:absolute;left:0;right:0;bottom:0;padding:16px 20px 14px;background:linear-gradient(transparent,#000000b3);display:flex;align-items:center;gap:14px;font-size:13px;font-weight:600}.player .track{flex:1;height:4px;border-radius:9px;background:#ffffff47;overflow:hidden}.player .track span{display:block;height:100%;width:42%;background:#fff}.player .ctrl{background:none;border:0;color:#fff;border-radius:6px;padding:4px 8px;font-weight:700;font-size:12.5px;cursor:pointer}.player .ctrl:hover{background:#ffffff26}.player .caption{position:absolute;bottom:62px;left:50%;transform:translate(-50%);background:#000000a6;padding:5px 12px;border-radius:6px;font-size:15px;white-space:nowrap}.watermark{position:absolute;font-weight:700;font-size:13px;color:#ffffff38;pointer-events:none;transform:rotate(-14deg);white-space:nowrap}.doc-wm{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;display:grid;grid-template-columns:repeat(3,1fr);align-content:space-around;justify-items:center}.doc-wm span{transform:rotate(-24deg);color:#2d435617;font-weight:800;font-size:14px;white-space:nowrap}:root[data-theme=dark] .doc-wm span{color:#c6e1f117}.q-text{font-size:17px;font-weight:600;line-height:1.5}.q-opt{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:8px;border:1.5px solid transparent;background:var(--surface-2);cursor:pointer;text-align:left;width:100%;font-size:15px;transition:background .15s,border-color .15s}.q-opt:hover{background:var(--surface-3)}.q-opt .l{width:30px;height:30px;border-radius:50%;flex:none;display:grid;place-items:center;font-weight:700;font-size:13px;background:var(--surface);color:var(--muted)}.q-opt.sel{border-color:var(--navy);background:var(--surface)}.q-opt.sel .l{background:var(--navy);color:var(--on-navy)}.q-opt.ok{border-color:var(--ok);background:var(--ok-bg)}.q-opt.ok .l{background:var(--ok);color:#fff}.q-opt.bad{border-color:var(--coral);background:var(--coral-bg)}.q-opt.bad .l{background:var(--coral);color:#fff}.explain{background:var(--surface-2);padding:14px 16px;border-radius:8px;font-size:14px;color:var(--muted)}.explain b{color:var(--text)}.qgrid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px}.qgrid button{aspect-ratio:1;border-radius:8px;border:0;background:var(--surface-2);font-size:11.5px;font-weight:700;cursor:pointer;color:var(--muted);padding:0}.qgrid button.ans{background:var(--navy);color:var(--on-navy)}.qgrid button.rev{background:var(--warn-bg);color:var(--warn)}.qgrid button.cur{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--steel)}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);font-weight:500}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:-1px;margin-right:6px;background:var(--surface-2)}.timer{font-family:var(--f-display);font-weight:700;font-size:26px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.cd-box{background:var(--surface-2);border-radius:8px;padding:12px 8px;text-align:center;min-width:76px}.cd-box b{display:block;font-family:var(--f-display);font-size:32px;font-weight:700;letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums}.cd-box span{font-size:12px;color:var(--muted);font-weight:600}.bubble{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--subtle);background:transparent;color:var(--muted);font-size:11px;font-weight:700;cursor:pointer;padding:0}.bubble.on{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}.hbar{display:grid;grid-template-columns:140px minmax(0,1fr) 48px;gap:12px;align-items:center;font-size:13.5px;font-weight:600}.hbar .bars{display:flex;height:10px;border-radius:99px;overflow:hidden;background:var(--track);gap:2px}.hbar .bars .a{background:var(--ok);border-radius:99px}.hbar .bars .f{background:var(--coral);opacity:.75;border-radius:99px}.stat{display:flex;flex-direction:column;gap:2px}.stat b{font-family:var(--f-display);font-weight:700;font-size:32px;letter-spacing:-.03em;line-height:1.05}.stat span{font-size:13px;color:var(--muted);font-weight:500}.ring{position:relative;display:grid;place-items:center;flex:none}.ring svg{transform:rotate(-90deg)}.ring b{position:absolute;font-family:var(--f-display);font-weight:700;letter-spacing:-.02em}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:12.5px;color:var(--subtle);font-weight:600;padding:10px 14px;white-space:nowrap;border-bottom:1px solid var(--line)}td{padding:14px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:var(--surface-2)}tr.me td{background:var(--sky-50)!important;font-weight:700}.rubro{background:var(--surface);border-radius:var(--r-lg);overflow:hidden}.rubro>header{display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer;transition:background .15s}.rubro>header:hover{background:var(--surface-2)}.rubro .num{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--muted);font-weight:700;font-size:13px;flex:none}.rubro .items{padding:4px 18px 16px 64px;display:flex;flex-direction:column}.cv-item{display:grid;grid-template-columns:minmax(0,1fr) 128px 200px;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}.stepper{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:999px;background:var(--surface-2)}.stepper button{width:30px;height:30px;border-radius:50%;border:0;background:var(--surface);cursor:pointer;display:grid;place-items:center;color:var(--text)}.stepper span{min-width:30px;text-align:center;font-weight:700}.cv-item>:nth-child(2){justify-self:center}.cv-item>:nth-child(3){justify-self:end}.cv-none{justify-self:end}.rubro.open{box-shadow:inset 0 0 0 1px var(--field),var(--shadow-xs)}.rb-state{flex:none;display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border-radius:6px;font-size:12px;font-weight:600}.rb-state.obs{color:var(--coral-text);background:var(--coral-bg)}.rb-state.full{color:var(--ok-text);background:var(--ok-bg)}.rb-state.pend{color:var(--warn);background:var(--warn-bg)}.cv-alert{display:flex;align-items:center;flex-wrap:wrap;gap:12px 14px;padding:14px 16px;border-radius:var(--r);background:var(--surface);border:1px solid color-mix(in srgb,var(--coral) 45%,var(--field))}.cv-alert-ico{width:36px;height:36px;flex:none;border-radius:50%;display:grid;place-items:center;color:var(--coral);background:var(--coral-bg)}.cv-alert b{display:block;font-size:14.5px;font-weight:600;color:var(--text)}.cv-alert small{display:block;margin-top:2px;font-size:13px;line-height:1.45;color:var(--muted)}.cap-warn{font-size:13px;color:var(--warn);background:var(--warn-bg);padding:8px 12px;border-radius:10px;font-weight:600;margin:4px 0 8px}.books{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:22px 18px}.book{display:flex;flex-direction:column;gap:10px}.book .cover{aspect-ratio:3 / 4;border-radius:12px}.book .cover .c-title{font-size:max(14px,11.5cqw);max-width:84%;bottom:10cqw;left:10cqw}.book .cover .c-label{left:10cqw;top:9cqw}.book .cover .c-num{top:34%;font-size:62cqw}.book .cover:after{content:"";position:absolute;left:0;top:0;bottom:0;width:4%;background:#0000001a}.flash{perspective:1200px;height:320px;cursor:pointer}.flash .inner{position:relative;width:100%;height:100%;transition:transform .6s var(--ease);transform-style:preserve-3d}.flash.flipped .inner{transform:rotateY(180deg)}.flash .face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border-radius:var(--r-xl);padding:32px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:14px}.flash .front{background:var(--surface)}.flash .back{background:var(--navy);color:var(--on-navy);transform:rotateY(180deg)}.flash .back p{color:inherit}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal .dow{text-align:center;font-size:12.5px;font-weight:600;color:var(--subtle);padding-bottom:6px}.cal .day{min-height:96px;border-radius:12px;border:0;background:var(--surface-2);padding:8px;display:flex;flex-direction:column;gap:4px;cursor:pointer;text-align:left;transition:background .15s}.cal .day:hover{background:var(--surface-3)}.cal .day.out{background:transparent;opacity:.45}.cal .day.today .num{background:var(--navy);color:var(--on-navy)}.cal .day.sel{box-shadow:inset 0 0 0 2px var(--steel)}.cal .num{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px}.cal .ev{font-size:11px;font-weight:600;border-radius:6px;padding:2px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ev.live{background:var(--coral-bg);color:var(--coral-text)}.ev.sim{background:var(--navy);color:var(--on-navy)}.ev.open{background:var(--sky);color:#1f3446}:root[data-theme=dark] .ev.open{background:var(--sky-50);color:var(--navy);box-shadow:inset 0 0 0 1px var(--sky)}.dotc{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}.dotc.live{background:var(--coral)}.dotc.sim{background:var(--navy)}.dotc.open{background:var(--sky);box-shadow:inset 0 0 0 1px var(--steel)}.stars{display:flex;gap:4px}.stars button{background:none;border:0;cursor:pointer;padding:2px;color:var(--track);transition:transform .15s}.stars button:hover{transform:scale(1.12)}.stars button.on{color:#e6a317}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;background:var(--surface)}.login-art{position:relative;overflow:hidden;background:#22364a;color:#fff;padding:44px 56px 56px;display:flex;flex-direction:column;justify-content:space-between}.login-art .stripes{position:absolute;top:-10%;right:-20%;bottom:-10%;left:-20%;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;transform:skew(-10deg);animation:drift 26s ease-in-out infinite alternate}.login-art:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#14212d8c,#14212d26 35%,#121e29d9 68%,#101b25f7)}.login-art>*{position:relative;z-index:1}.login-art h2{color:#fff;font-size:44px;line-height:1.05;max-width:520px;letter-spacing:-.03em}@keyframes drift{0%{transform:skew(-10deg) scale(1)}to{transform:skew(-10deg) scale(1.08) translate(-2%)}}@media (prefers-reduced-motion: reduce){.login-art .stripes,.live-dot{animation:none}*{transition-duration:.01ms!important}}.login-form{display:flex;flex-direction:column;justify-content:center;padding:48px}.login-form form{width:min(400px,100%);margin:0 auto}.login-form h1{font-size:34px}.kpi{display:flex;flex-direction:column;gap:14px}.kpi .ico{display:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--steel)}.kpi .ico.coral{color:var(--coral)}.kpi .ico.green{color:var(--ok)}.kpi .ico.amber{color:var(--warn)}.cell-ok{color:var(--ok)}.cell-miss{color:var(--track)}.upload-zone{border:1.5px dashed var(--track);border-radius:var(--r);padding:28px;text-align:center;background:var(--surface-2);color:var(--muted)}.mod-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--r);border:1.5px solid transparent;background:var(--surface-2);cursor:pointer;text-align:left;width:100%;transition:.15s}.mod-item:hover{background:var(--surface-3)}.mod-item.active{background:var(--surface);border-color:var(--navy)}.split{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;align-items:start}.lesson{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.topic{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;transition:background .15s}.topic:hover,.topic.now{background:var(--surface-2)}.home-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:12px}.home-head h1{font-size:34px}.countdown{text-align:right}.countdown b{display:block;font-family:var(--f-display);font-weight:600;font-size:44px;line-height:.95;letter-spacing:-.04em;color:var(--navy);font-variant-numeric:tabular-nums}.countdown span{font-size:13px;color:var(--muted)}.challenge{position:relative;display:flex;align-items:center;gap:28px;padding:14px 56px 14px 22px;border-radius:var(--r-lg);background:radial-gradient(50% 160% at 0% 50%,rgba(225,26,69,.06),transparent 70%),var(--surface);box-shadow:var(--ring),var(--shadow-xs)}.ch-copy{flex:1;min-width:0}.ch-kick{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--coral)}.ch-copy p{margin:3px 0 0;font-size:14.5px;color:var(--muted)}.ch-copy b{color:var(--text);font-weight:700}.ch-dates{display:flex;gap:6px;margin:0;padding:0;list-style:none}.ch-dates li{position:relative;width:44px;height:50px;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface-2);box-shadow:var(--ring);transition:transform .3s var(--spring)}.ch-dates li:hover{transform:translateY(-2px)}.ch-dates small{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);line-height:1}.ch-dates b{font-family:var(--f-display);font-size:18px;font-weight:600;line-height:1.1;margin-top:3px;color:var(--text)}.ch-dates li.next{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--coral),0 6px 14px -8px #e11a4580}.ch-dates li.next small,.ch-dates li.next b{color:var(--coral)}.ch-dates li.next:after{content:"";position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 2px var(--surface)}.ch-meta{display:flex;flex-direction:column;align-items:flex-start;gap:4px;flex:none}.ch-close{position:absolute;top:50%;right:12px;transform:translateY(-50%);width:32px;height:32px;color:var(--subtle)}@media (max-width: 1200px){.challenge{flex-wrap:wrap;gap:14px 20px;padding-right:48px}.ch-copy{flex-basis:100%}.ch-meta{flex-direction:row;align-items:center;gap:14px}.ch-close{top:12px;transform:none}}.focus-row{display:flex;align-items:center;gap:14px;padding-top:16px;border-top:1px solid var(--line)}.focus-row .ring b{font-size:12px!important;color:var(--coral)}.resume{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:32px;align-items:center;padding:12px 32px 12px 12px;background:var(--surface);border-radius:var(--r-xl)}.resume .cover{border-radius:8px}.resume h2{font-size:28px;line-height:1.12}.agenda{display:flex;flex-direction:column}.ag-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.ag-row:first-child{border-top:0;padding-top:2px}.ag-when b{display:block;font-weight:700;font-size:14px}.ag-when span{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.ag-row.live .ag-when b{color:var(--coral)}.ag-title{font-weight:600;font-size:15px}.checklist{display:flex;flex-direction:column}.checklist label{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line);cursor:pointer;font-size:14.5px}.checklist label:first-child{border-top:0}.checklist input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;border:1.5px solid var(--subtle);margin:0;flex:none;display:grid;place-items:center;cursor:pointer;transition:.15s}.checklist input:checked{background:var(--ok);border-color:var(--ok)}.checklist input:checked:after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}.checklist label.done span{color:var(--subtle);text-decoration:line-through}.kv{display:flex;flex-direction:column;gap:20px}.kv-row .row-between{margin-bottom:8px}.kv-row .v{font-family:var(--f-display);font-weight:600;font-size:22px;letter-spacing:-.02em}.meter{position:relative;height:6px;border-radius:99px;background:var(--track)}.meter span{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:var(--steel)}.meter i{position:absolute;top:-4px;width:2px;height:14px;border-radius:2px;background:var(--text)}.route-line{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.route-line .seg-i{display:flex;flex-direction:column;gap:10px;padding-top:4px;min-width:0}.route-line .seg-i .b{height:6px;border-radius:99px;background:var(--track);overflow:hidden}.route-line .seg-i .b span{display:block;height:100%;background:var(--steel)}.route-line .seg-i.done .b{background:var(--steel)}.route-line .seg-i small{font-size:12px;color:var(--subtle);font-weight:500}.route-line .seg-i strong{font-size:13.5px;font-weight:600;line-height:1.3}.route-line .seg-i.locked strong{color:var(--muted);font-weight:500}.quote-lg{display:flex;flex-direction:column;justify-content:space-between;gap:24px;height:100%}.quote-lg p{font-family:var(--f-display);font-weight:500;font-size:21px;line-height:1.35;letter-spacing:-.015em}.side-user{margin-top:auto;padding-top:16px;border-top:1px solid var(--line)}.side-user .who{display:flex;align-items:center;gap:10px;padding:6px 8px}.side-user .who b{display:block;font-size:14px;font-weight:700}.side-user .who span{font-size:12.5px;color:var(--muted)}.flow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.flow a{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:4px 4px 0;font-size:13px;font-weight:600;color:var(--muted)}.flow a:before{content:"";position:absolute;top:17px;left:-50%;right:50%;height:2px;background:var(--track);z-index:0}.flow a:first-child:before{display:none}.flow a.done:before,.flow a.now:before{background:var(--ok)}.flow a.now:before{background:linear-gradient(90deg,var(--ok),var(--steel))}.flow .dot{position:relative;z-index:1;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--track);font-size:12px;font-weight:700;color:var(--muted)}.flow a.done .dot{background:var(--ok);box-shadow:none;color:#fff}.flow a.now .dot{background:var(--navy);box-shadow:0 0 0 4px var(--sky-50);color:var(--on-navy)}.flow a.now,.flow a:hover{color:var(--text)}.toc{display:flex;flex-direction:column;gap:2px;position:sticky;top:84px}.toc button{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border-radius:12px;border:0;background:none;cursor:pointer;text-align:left;transition:background .15s}.toc button:hover,.toc button.active{background:var(--surface)}.toc .n{font-family:var(--f-display);font-weight:600;font-size:15px;color:var(--subtle);font-variant-numeric:tabular-nums}.toc button.active .n{color:var(--navy)}.toc .t{font-weight:600;font-size:14.5px}.toc .s{font-size:12.5px;color:var(--muted)}.option{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:var(--r);border:1.5px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;width:100%;transition:border-color .15s}.option:hover{border-color:var(--subtle)}.option.active{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}.option b{font-weight:700;font-size:14.5px}.option span{font-size:13px;color:var(--muted)}:root{--spring: cubic-bezier(.16, 1, .3, 1);--ease-ui: cubic-bezier(.32, .72, 0, 1);--ring: inset 0 0 0 1px rgba(31, 46, 58, .06);--shadow-xs: 0 1px 2px rgba(31, 46, 58, .04);--shadow-sm: 0 1px 2px rgba(31, 46, 58, .04), 0 2px 8px -2px rgba(31, 46, 58, .06);--shadow-md: 0 2px 4px rgba(31, 46, 58, .04), 0 12px 28px -8px rgba(31, 46, 58, .16);--shadow-lg: 0 24px 64px -16px rgba(20, 33, 45, .32)}:root[data-theme=dark]{--ring: inset 0 0 0 1px rgba(255, 255, 255, .06);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 12px 28px -8px rgba(0, 0, 0, .5)}html{scroll-behavior:smooth}body{transition:background-color .3s ease,color .3s ease}.card,.goal,.banner,.school,.rubro,.quote,.resume,.panel,.tl-head,.toc button.active{box-shadow:var(--ring),var(--shadow-xs)}.card,.goal,.school,.resume,.tl-head,.option,.mod-item,.lesson-row,.chip,.btn,.icon-btn,.nav a,.toc button,.q-opt,.cal .day,.wa-q,.step{transition:background-color .18s var(--ease-ui),border-color .18s var(--ease-ui),box-shadow .3s var(--spring),transform .3s var(--spring),color .18s}a.goal:hover,a.resume:hover,a.school:hover,button.school:hover,a.card:hover,button.goal:hover{transform:translateY(-2px);box-shadow:var(--ring),var(--shadow-md)}a.resume:hover .cover{transform:scale(1.02)}.resume .thumb .cover{transition:transform .6s var(--spring)}a:hover>.thumb{box-shadow:var(--shadow-md)}.thumb{transition:box-shadow .3s var(--spring),transform .3s var(--spring);box-shadow:var(--shadow-xs)}a:hover>.thumb,button:hover>.thumb{transform:translateY(-2px)}a:hover>.thumb-title,button:hover .thumb-title{color:var(--steel)}.thumb-title{transition:color .18s}.cover:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff0f;pointer-events:none;z-index:2}.btn-primary{box-shadow:0 1px 2px #14212d33,inset 0 1px #ffffff14}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 20px -6px #2d43568c,inset 0 1px #ffffff1a}.btn-coral{box-shadow:0 1px 2px #b0102f40,inset 0 1px #ffffff1f}.btn-coral:hover{transform:translateY(-1px);box-shadow:0 8px 20px -6px #e11a458c}.btn-wa:hover{transform:translateY(-1px);box-shadow:0 8px 20px -6px #25d36680;filter:brightness(1.03)}.btn-outline,.btn-ghost{box-shadow:var(--shadow-xs)}.btn-outline:hover,.btn-ghost:hover{background:var(--surface);box-shadow:var(--shadow-sm)}.btn:active,.icon-btn:active,.chip:active{transform:scale(.97);transition-duration:.08s}.btn .arrow{transition:transform .3s var(--spring)}.btn:hover .arrow{transform:translate(3px)}.btn .spin{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.nav a:hover svg{transform:translate(1px)}.nav a svg{transition:transform .3s var(--spring),color .18s}.nav a.active{box-shadow:var(--ring);background:var(--surface-2)}.topbar{transition:box-shadow .25s ease,background-color .25s ease}.topbar.scrolled{box-shadow:0 1px 0 var(--line),0 8px 24px -16px #1f2e3a40}.input,.select,.textarea{box-shadow:var(--ring)}.input:focus,.select:focus,.textarea:focus{box-shadow:0 0 0 4px #46698a24,inset 0 0 0 1px var(--steel);border-color:transparent}.q-opt:hover{transform:translate(2px)}.option:hover,.mod-item:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.chip:hover{transform:translateY(-1px)}.checklist input:checked{animation:pop .35s var(--spring)}@keyframes pop{0%{transform:scale(.7)}60%{transform:scale(1.15)}to{transform:scale(1)}}.progress>span,.meter span,.route-line .b span,.hbar .bars span{animation:grow 1.1s var(--spring) both .15s;transform-origin:left center}@keyframes grow{0%{transform:scaleX(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.content>:not(.stack-xl):not(.stack-lg),.content>:is(.stack-xl,.stack-lg)>*,.class-body>.class-main>*>*,.class-body>.panel{animation:fadeUp .6s var(--spring) both}.content>:nth-child(2),.content>:is(.stack-xl,.stack-lg)>:nth-child(2){animation-delay:.06s}.content>:nth-child(3),.content>:is(.stack-xl,.stack-lg)>:nth-child(3){animation-delay:.12s}.content>:nth-child(4),.content>:is(.stack-xl,.stack-lg)>:nth-child(4){animation-delay:.18s}.content>:nth-child(5),.content>:is(.stack-xl,.stack-lg)>:nth-child(5){animation-delay:.24s}.content>:nth-child(n+6),.content>:is(.stack-xl,.stack-lg)>:nth-child(n+6){animation-delay:.3s}.class-body>.class-main>*>:nth-child(2){animation-delay:.08s}.class-body>.class-main>*>:nth-child(n+3){animation-delay:.14s}.class-body>.panel{animation-delay:.12s}.scroller>*{animation:fadeUp .6s var(--spring) both}.scroller>:nth-child(2){animation-delay:.07s}.scroller>:nth-child(3){animation-delay:.14s}.scroller>:nth-child(4){animation-delay:.21s}.modal{animation:modalIn .45s var(--spring);box-shadow:var(--shadow-lg)}@keyframes modalIn{0%{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}.welcome .art img{animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0}}.wa-fab{animation:fabIn .6s var(--spring) both .6s}@keyframes fabIn{0%{opacity:0;transform:scale(.6) translateY(10px)}}.wa-fab:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:0 0 #25d36680;animation:ring 2.4s ease-out 1.4s 2}@keyframes ring{0%{box-shadow:0 0 #25d36673}to{box-shadow:0 0 0 16px #25d36600}}.login-art .tint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:#2d4356;mix-blend-mode:multiply;opacity:.42}.login-art:after{z-index:0;background:linear-gradient(0deg,#0c141cf7,#0c141ce6 18%,#0e18219e,#101b2638 58%,#101b2600 72%,#0c141c80),linear-gradient(90deg,#0c141c73,#0c141c00 55%)!important}.login-copy{max-width:560px}.login-copy .kick{font-size:13px;font-weight:600;letter-spacing:.04em;color:#ffffffb8;margin-bottom:18px;display:flex;align-items:center;gap:12px}.login-copy .kick:before{content:"";width:28px;height:2px;border-radius:2px;background:#f2506e}.login-copy h2{font-size:clamp(34px,3.6vw,54px);line-height:1.02;letter-spacing:-.035em;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.25),0 8px 32px rgba(0,0,0,.35)}.login-copy .lead{margin-top:18px;font-size:16.5px;line-height:1.5;color:#fffc;max-width:420px;text-shadow:0 1px 12px rgba(0,0,0,.4)}.login-art .row,.login-copy{animation:fadeUp .8s var(--spring) both .15s}.login-copy{animation-delay:.3s}.login-form form>*{animation:fadeUp .6s var(--spring) both}.login-form form>:nth-child(2){animation-delay:.06s}.login-form form>:nth-child(3){animation-delay:.12s}.login-form form>:nth-child(4){animation-delay:.18s}.login-form form>:nth-child(n+5){animation-delay:.24s}.login-form{background:radial-gradient(80% 60% at 100% 0%,var(--sky-50),transparent 70%),var(--surface)}.login-art>.lc-slides{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.lc-slides img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity 1.4s var(--ease),transform 1.4s var(--ease)}.lc-slides img.on{opacity:1;animation:lcZoom 9s linear both}@keyframes lcZoom{0%{transform:scale(1.08)}to{transform:scale(1)}}.login-art .tint{opacity:.26}@media (prefers-reduced-motion: reduce){.lc-slides img{transition:none}.lc-slides img.on{animation:none;transform:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}}.vsep{width:1px;height:24px;background:var(--line);margin:0 6px}.user-menu{position:relative}.user-btn{display:flex;align-items:center;gap:10px;height:44px;padding:0 10px 0 4px;border-radius:999px;border:0;background:transparent;cursor:pointer;transition:background-color .18s var(--ease-ui),box-shadow .18s}.user-btn:hover,.user-btn.open{background:var(--surface);box-shadow:var(--ring),var(--shadow-xs)}.user-btn .avatar{margin:0}.user-name{font-weight:600;font-size:14px;white-space:nowrap}.user-btn .chev{color:var(--subtle);transition:transform .3s var(--spring)}.user-btn.open .chev{transform:rotate(180deg)}.user-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:50;width:280px;padding:6px;background:var(--surface);border-radius:12px;box-shadow:var(--ring),0 20px 48px -12px #14212d47;transform-origin:top right;animation:popIn .28s var(--spring)}@keyframes popIn{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:none}}.user-head{display:flex;align-items:center;gap:12px;padding:12px 10px 14px;margin-bottom:4px;border-bottom:1px solid var(--line)}.user-head b{font-size:14.5px;font-weight:700}.user-head span{font-size:12.5px;color:var(--muted)}.user-pop a,.user-pop button[role=menuitem]{width:100%;background:none;border:0;font:inherit;cursor:pointer;text-align:left;display:flex;align-items:center;gap:10px;height:40px;padding:0 10px;border-radius:10px;font-size:14px;font-weight:500;color:var(--text);transition:background-color .15s}.user-pop a svg,.user-pop button[role=menuitem] svg{color:var(--muted)}.user-pop a:hover,.user-pop button[role=menuitem]:hover{background:var(--surface-2)}.user-pop a .tag{margin-left:auto;font-size:11px;font-weight:600;color:var(--subtle)}.user-pop a.danger,.user-pop a.danger svg,.user-pop button.danger,.user-pop button.danger svg{color:var(--coral)}.user-pop a.danger:hover{background:var(--coral-bg)}.user-pop .sep{height:1px;background:var(--line);margin:4px 6px}.mobile-bar .user-btn{padding:0 4px}.profile-head{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.profile-head .avatar{width:76px;height:76px;font-size:26px;margin:0}.dl{display:grid;grid-template-columns:180px minmax(0,1fr)}.dl>div{padding:14px 0;border-top:1px solid var(--line)}.dl>div:nth-child(-n+2){border-top:0}.dl dt,.dl .k{color:var(--muted);font-size:14px}.device{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--line)}.device:first-child{border-top:0}.app{transition:grid-template-columns .45s var(--spring)}.sidebar{box-shadow:inset -1px 0 0 var(--line);padding:20px 12px 14px;overflow-x:hidden}.brand-link{display:block;margin-bottom:20px;border-radius:10px}.nav-wrap{position:relative;display:flex;flex-direction:column}.nav-ind{position:absolute;top:0;z-index:0;border-radius:10px;pointer-events:none;background:var(--surface-2);box-shadow:var(--ring);transition:transform .5s var(--spring),height .5s var(--spring),width .45s var(--spring),left .45s var(--spring)}.nav-ind:before{content:"";position:absolute;left:0;top:50%;width:3px;height:18px;border-radius:0 3px 3px 0;background:var(--steel);transform:translateY(-50%)}.nav a{position:relative;z-index:1}.nav a.active,.nav a.active:hover{background:transparent;box-shadow:none}.nav a:hover{transform:translate(2px)}.nav a.active:hover{transform:none}.nav a .fp-on,.nav a.active .fp-off{display:none}.nav a.active .fp-on{display:block;animation:fpIn .35s var(--spring)}@keyframes fpIn{0%{transform:scale(.7);opacity:0}to{transform:none;opacity:1}}.nav a .lbl{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-label{padding:22px 12px 8px}.nav-label span{transition:opacity .2s}.nav-live{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--coral)}.nav-live i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 #e11a4580;animation:livePing 1.8s ease-out infinite}@keyframes livePing{0%{box-shadow:0 0 #e11a4573}80%,to{box-shadow:0 0 0 6px #e11a4500}}.nav-tag{font-size:11.5px;font-weight:600;color:var(--muted);padding:1px 7px;border-radius:6px;background:var(--surface-2);box-shadow:var(--ring)}.nav a.active .nav-tag{background:var(--surface)}.nav a .badge{margin-left:0;min-width:18px;text-align:center}.edge-toggle{position:fixed;top:22px;left:250px;z-index:45;width:28px;height:28px;padding:0;display:grid;place-items:center;border:0;border-radius:50%;cursor:pointer;background:var(--surface);color:var(--muted);box-shadow:var(--ring),0 4px 12px -4px #0d1e3a59;transition:left .45s var(--spring),background-color .18s,color .18s,box-shadow .25s,transform .25s var(--spring)}.edge-toggle svg{transition:transform .45s var(--spring)}.edge-toggle:hover{background:#c6e1f1;color:#14294a;transform:scale(1.08);box-shadow:inset 0 0 0 1px #14294a1f,0 6px 16px -4px #0d1e3a66}.edge-toggle:active{transform:scale(.94)}.edge-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px #46698a59,var(--ring)}.app.collapsed .edge-toggle{left:62px}.app.collapsed .edge-toggle svg{transform:rotate(180deg)}.edge-toggle[data-tip-b]{position:fixed}.edge-toggle[data-tip-b]:after{top:50%;left:calc(100% + 10px);transform:translate(-4px,-50%)}.edge-toggle[data-tip-b]:hover:after{transform:translateY(-50%)}.app.collapsed{grid-template-columns:76px minmax(0,1fr)}.app.collapsed .sidebar{padding-left:14px;padding-right:14px}.app.collapsed .brand b,.app.collapsed .nav .lbl,.app.collapsed .nav-tag{display:none}.app.collapsed .brand{justify-content:center;padding:0}.app.collapsed .nav a{justify-content:center;padding:0;gap:0}.app.collapsed .nav a:hover{transform:none}.app.collapsed .nav-label{padding:14px 10px}.app.collapsed .nav-label span{display:none}.app.collapsed .nav-label:before{content:"";display:block;height:1px;background:var(--line)}.app.collapsed .nav-live{position:absolute;top:8px;right:9px;font-size:0;gap:0}.app.collapsed .nav a .badge{position:absolute;top:4px;right:4px;font-size:10px;padding:0 5px;min-width:16px;line-height:16px;box-shadow:0 0 0 2px var(--side)}.app.collapsed .nav-ind:before{display:none}.app.collapsed [data-tip]{position:relative}.app.collapsed [data-tip]:after{content:attr(data-tip);position:absolute;left:calc(100% + 12px);top:50%;z-index:80;padding:6px 10px;border-radius:8px;background:#1f2e3a;color:#fff;font-size:12.5px;font-weight:600;white-space:nowrap;box-shadow:0 8px 20px -6px #00000059;opacity:0;pointer-events:none;transform:translate(-4px,-50%);transition:opacity .15s,transform .25s var(--spring)}.app.collapsed [data-tip]:hover:after,.app.collapsed [data-tip]:focus-visible:after{opacity:1;transform:translateY(-50%)}.app.collapsed .sidebar{overflow:visible}.topbar{height:72px;gap:20px}.topbar .right{gap:10px}.tools{display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:var(--surface);box-shadow:var(--ring),var(--shadow-xs)}.tools .icon-btn{width:36px;height:36px}.tools .icon-btn.on{background:var(--surface-2)}.tools .streak{height:36px;padding:0 12px 0 10px;border-radius:999px;cursor:default;position:relative;background:linear-gradient(180deg,#e11a4514,#e11a450a)}.tools .streak svg{animation:flicker 2.6s ease-in-out infinite;transform-origin:50% 90%}@keyframes flicker{0%,to{transform:scale(1) rotate(0)}30%{transform:scale(1.06) rotate(-3deg)}60%{transform:scale(.97) rotate(2deg)}}.tools-sep{width:1px;height:20px;background:var(--line);margin:0 4px}.theme-ico{animation:themeSpin .5s var(--spring)}@keyframes themeSpin{0%{transform:rotate(-90deg) scale(.6);opacity:0}to{transform:none;opacity:1}}.ring-bell{transform-origin:50% 10%;animation:bell 4s ease-in-out 1.2s infinite}@keyframes bell{0%,88%,to{transform:rotate(0)}90%{transform:rotate(14deg)}92%{transform:rotate(-12deg)}94%{transform:rotate(8deg)}96%{transform:rotate(-4deg)}}.count-dot{position:absolute;top:3px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:var(--coral);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;box-shadow:0 0 0 2px var(--surface);animation:pop .4s var(--spring)}[data-tip-b]{position:relative}[data-tip-b]:after{content:attr(data-tip-b);position:absolute;top:calc(100% + 10px);left:50%;z-index:90;padding:5px 9px;border-radius:7px;background:#1f2e3a;color:#fff;font-size:12px;font-weight:600;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,-4px);transition:opacity .15s,transform .25s var(--spring)}[data-tip-b]:hover:after{opacity:1;transform:translate(-50%);transition-delay:.35s}.pop-wrap:has(.notif-pop) [data-tip-b]:after{display:none}.search.cmdk{position:relative;flex:0 1 460px;max-width:460px;transition:flex-basis .45s var(--spring),max-width .45s var(--spring)}.search.cmdk.open{flex-basis:600px;max-width:600px}.search.cmdk .input{height:44px;padding-right:14px;background:var(--surface);box-shadow:var(--ring),var(--shadow-xs);border-radius:12px}.search.cmdk.open .input{border-radius:12px;box-shadow:0 0 0 4px #46698a1f,inset 0 0 0 1px var(--steel)}.kbd{display:inline-flex;align-items:center;gap:2px;height:22px;padding:0 7px;border-radius:6px;font:600 11.5px var(--f-body);color:var(--muted);background:var(--surface-2);box-shadow:inset 0 -1px 0 var(--track),var(--ring)}.kbd.sm{height:18px;padding:0 5px;font-size:10.5px}.search-pop{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:60;padding:8px;background:var(--surface);border-radius:12px;box-shadow:var(--ring),0 24px 56px -16px #14212d52;transform-origin:top center;animation:popIn .3s var(--spring);max-height:min(70vh,560px);overflow-y:auto}.s-group{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);padding:10px 10px 6px}.s-row{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border-radius:10px;border:0;background:none;cursor:pointer;text-align:left;transition:background-color .12s}.s-row.hi{background:var(--surface-2)}.s-thumb{width:56px;height:34px;border-radius:7px;overflow:hidden;flex:none;box-shadow:var(--ring)}.s-thumb img{width:100%;height:100%;object-fit:cover;object-position:75% 30%}.s-ico{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:none;background:var(--surface-2);color:var(--steel);box-shadow:var(--ring)}.s-row.hi .s-ico{background:var(--surface)}.s-label{display:block;font-weight:600;font-size:14px}.s-sub{display:block;font-size:12.5px;color:var(--muted)}.s-enter{color:var(--subtle);opacity:0;transition:opacity .12s;flex:none}.s-row.hi .s-enter{opacity:1}.s-empty{padding:28px 12px;text-align:center;display:flex;flex-direction:column;gap:4px}.s-empty span{font-size:13px;color:var(--muted)}.s-foot{position:sticky;bottom:-8px;background:var(--surface);display:flex;gap:16px;margin:6px -8px -8px;padding:10px 10px 8px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--subtle)}.s-foot span{display:inline-flex;align-items:center;gap:4px}.pop-wrap{position:relative}.notif-pop{position:absolute;right:-6px;top:calc(100% + 12px);z-index:60;width:360px;padding:6px;background:var(--surface);border-radius:12px;box-shadow:var(--ring),0 24px 56px -16px #14212d52;transform-origin:top right;animation:popIn .3s var(--spring)}.notif-head{padding:10px 10px 8px}.notif-head b{font-size:15px}.notif{display:flex;align-items:flex-start;gap:12px;width:100%;padding:10px;border-radius:12px;border:0;background:none;cursor:pointer;text-align:left;transition:background-color .12s}.notif:hover{background:var(--surface-2)}.notif .n-ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none;background:var(--surface-2);color:var(--steel)}.notif .n-ico.live{background:var(--coral-bg);color:var(--coral)}.notif .n-ico.cv{background:var(--warn-bg);color:var(--warn)}.notif .n-title{display:block;font-size:14px;font-weight:500;line-height:1.35;color:var(--muted)}.notif.unread .n-title{font-weight:700;color:var(--text)}.notif .n-sub{display:block;font-size:12.5px;color:var(--subtle);margin-top:2px}.notif .n-dot{width:8px;height:8px;border-radius:50%;background:var(--steel);margin-top:6px;flex:none}.notif-foot{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:42px;margin-top:4px;border:0;border-top:1px solid var(--line);background:none;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--steel);border-radius:0 0 12px 12px}.notif-foot:hover{color:var(--text)}.user-id{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.user-role{font-size:11.5px;color:var(--subtle);font-weight:500}.user-btn{height:46px;padding:0 12px 0 5px}.user-btn .avatar{box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--sky)}.vsep{display:none}.ann-banner{position:relative;display:grid;min-height:248px;border-radius:12px;overflow:hidden;isolation:isolate;color:#fff;background:#132a49;box-shadow:0 24px 48px -28px #0d1e3a8c}.ab-slide{grid-area:1 / 1;position:relative;opacity:0;visibility:hidden;transition:opacity .7s var(--ease-ui),visibility 0s .7s}.ab-slide.on{opacity:1;visibility:visible;transition:opacity .7s var(--ease-ui)}.ab-slide{--glow: rgba(72, 108, 156, .6);background:radial-gradient(45% 130% at 88% 50%,var(--glow),transparent 70%),radial-gradient(50% 120% at 0% 0%,rgba(72,108,156,.35),transparent 70%),linear-gradient(120deg,#223c60,#1a3254 45%,#132a49)}.ab-slide.news{--glow: rgba(225, 26, 69, .38)}.ab-slide.tips{--glow: rgba(6, 214, 160, .3)}.ab-art{position:absolute;z-index:1;right:72px;top:50%;display:flex;flex-direction:column;align-items:center;transform:translateY(-50%);pointer-events:none}.ab-art b{font-family:var(--f-display);font-size:150px;font-weight:700;line-height:.9;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1.5px rgba(198,225,241,.32)}.ab-art span{margin-top:8px;font-size:13px;font-weight:700;letter-spacing:.4em;text-transform:uppercase;color:#c6e1f180}.ab-slide.on .ab-art{animation:abArt .9s var(--spring) both}@keyframes abArt{0%{opacity:0;transform:translate(16px,-50%)}to{opacity:1;transform:translateY(-50%)}}.ab-copy{position:relative;z-index:2;height:100%;max-width:680px;padding:30px 36px 54px;display:flex;flex-direction:column;justify-content:center;gap:8px}.ab-copy>*{flex-shrink:0}.ab-slide.on .ab-copy>*{animation:abIn .7s var(--spring) both}.ab-slide.on .ab-copy>:nth-child(2){animation-delay:.06s}.ab-slide.on .ab-copy>:nth-child(3){animation-delay:.12s}.ab-slide.on .ab-copy>:nth-child(4){animation-delay:.18s}@keyframes abIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ab-top{display:flex;align-items:center;gap:10px;font-size:12.5px;color:#ffffffa8}.ab-cat{font-weight:700;color:#c6e1f1}.ab-cat:after{content:"·";margin-left:10px;font-weight:400;color:#ffffff73}.ann-banner h2{margin:0;font-size:27px;line-height:1.15;color:#fff;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ann-banner p{margin:0;font-size:14.5px;line-height:1.5;color:#ffffffb8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ab-cta{align-self:flex-start;margin-top:6px;display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 18px;border:0;border-radius:999px;cursor:pointer;font:700 14px var(--f-body);color:#14294a;background:#fff;transition:background-color .2s,transform .3s var(--spring)}.ab-cta svg{transition:transform .3s var(--spring)}.ab-cta:hover{background:#c6e1f1}.ab-cta:hover svg{transform:translate(3px)}.ab-dots{position:absolute;left:36px;bottom:22px;z-index:3;display:flex;gap:6px}.ab-dots button{position:relative;overflow:hidden;width:8px;height:8px;padding:0;border:0;border-radius:99px;cursor:pointer;background:#ffffff59;transition:width .45s var(--spring),background-color .2s}.ab-dots button:hover{background:#fff9}.ab-dots button.on{width:34px;background:#ffffff40}.ab-fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#fff;transform-origin:left;animation:abFill 7s linear forwards}@keyframes abFill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.ann-banner.paused .ab-fill{animation-play-state:paused}.ab-close,.ab-arrows button{display:grid;place-items:center;border:0;border-radius:50%;cursor:pointer;color:#fff;background:#0d1e3a73;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px #ffffff2e;transition:background-color .2s,transform .3s var(--spring)}.ab-close:hover,.ab-arrows button:hover{background:#0d1e3abf;transform:scale(1.06)}.ab-close{position:absolute;top:14px;right:14px;z-index:3;width:32px;height:32px}.ab-arrows{position:absolute;right:16px;bottom:16px;z-index:3;display:flex;gap:6px;opacity:0;transition:opacity .25s}.ab-arrows button{width:34px;height:34px}.ann-banner:hover .ab-arrows,.ab-arrows:focus-within{opacity:1}.ab-close:focus-visible,.ab-arrows button:focus-visible,.ab-dots button:focus-visible,.ab-cta:focus-visible{outline:2px solid #C6E1F1;outline-offset:2px}@media (max-width: 640px){.ann-banner{min-height:300px}.ab-art{right:60px;top:18px;transform:none}.ab-art b{font-size:64px}.ab-art span{font-size:11px}@keyframes abArt{0%{opacity:0}to{opacity:1}}.ab-copy{justify-content:flex-end;padding:108px 20px 50px}.ann-banner h2{font-size:21px}.ab-dots{left:20px;bottom:20px}.ab-arrows{display:none}}@media (prefers-reduced-motion: reduce){.ab-fill{animation:none;transform:none}}.n-cat{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--muted);align-self:flex-start}.n-cat:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.n-cat.res{color:var(--steel)}.n-cat.news{color:var(--coral)}.n-cat.tips{color:var(--ok-text)}.nr-img{aspect-ratio:16 / 7;overflow:hidden;border-radius:var(--r-xl) var(--r-xl) 0 0}.nr-img img{width:100%;height:100%;object-fit:cover}.nr-body{display:flex;flex-direction:column;gap:14px;font-size:16px;line-height:1.7;color:var(--text);margin-top:8px}.who-sm{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--sky-50)}.voices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.voice{margin:0;display:flex;flex-direction:column;gap:18px;padding:20px;border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-xs)}.voice blockquote{flex:1;margin:0;font-size:15px;line-height:1.6;color:var(--text)}.voice figcaption{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line)}.voice figcaption b{display:block;font-size:14px;font-weight:600;color:var(--text)}.voice figcaption span:not(.voice-rank){display:block;margin-top:1px;font-size:12.5px;color:var(--muted)}.voice-rank{flex:none;height:24px;padding:0 8px;border-radius:6px;display:inline-flex;align-items:center;font-size:12px;font-weight:700;color:var(--coral-text);background:var(--coral-bg)}:root{--bg: #EEF2F6;--line: #E6EAEF;--surface-2: #EEF2F6;--surface-3: #E3E8EE;--field: #D5DBE2;--r-xs: 4px;--r-sm: 6px;--r: 8px;--r-lg: 10px;--r-xl: 12px;--ring: inset 0 0 0 1px rgba(31, 46, 58, .035);--shadow-xs: 0 4px 30px rgba(46, 45, 116, .05);--shadow-md: 0 12px 40px -8px rgba(46, 45, 116, .16)}:root[data-theme=dark]{--field: #2E3D4A;--ring: inset 0 0 0 1px rgba(255, 255, 255, .05);--shadow-xs: 0 4px 30px rgba(0, 0, 0, .28)}h1,h2{font-weight:600}h1{font-size:26px}.sec-head h2{font-size:20px}.content{padding-top:24px}.sidebar{background:var(--surface);box-shadow:inset -1px 0 0 var(--line);padding:0 16px 16px}.brand-link{display:flex;align-items:center;height:70px;margin:0 -16px 14px;padding:0 16px;border-radius:0;border-bottom:1px solid var(--line)}.app.collapsed .brand-link{justify-content:center;padding:0}.nav{gap:4px}.nav-label{padding:18px 12px 8px}.nav a{height:44px;gap:12px;border-radius:8px;font-size:14px;font-weight:500;color:var(--muted);transition:background-color .18s,color .18s}.nav a svg{color:var(--muted);transition:color .18s}.nav a:hover{background:var(--surface-2);color:var(--text);transform:none}.nav a:hover svg{color:var(--text)}.nav a.active,.nav a.active:hover{background:transparent;color:var(--on-navy);font-weight:600;box-shadow:none}.nav a.active svg{color:var(--on-navy)}.nav-ind{background:var(--navy);border-radius:8px;box-shadow:none}.nav-ind:before{display:none}.nav-tag{border-radius:4px;box-shadow:none;background:var(--surface-2);color:var(--muted)}.nav a.active .nav-tag{background:#ffffff29;color:var(--on-navy)}.nav a.active .nav-live{color:#ffa3b4}:root[data-theme=dark] .nav a.active .nav-live{color:var(--coral-text)}.nav a.active .badge{box-shadow:0 0 0 2px var(--navy)}.app.collapsed .nav a .badge{box-shadow:0 0 0 2px var(--surface)}.topbar{height:70px;background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 -1px 0 var(--line)}.topbar.scrolled{box-shadow:inset 0 -1px 0 var(--line),0 10px 24px -20px #2e2d7459}.edge-toggle{top:21px}.search.cmdk .input{height:42px;border-radius:8px;background:transparent;box-shadow:inset 0 0 0 1px var(--field)}.tools{gap:10px;padding:0;background:none;box-shadow:none}.tools-sep{display:none}.tools .icon-btn{width:40px;height:40px;background:var(--surface-2)}.tools .icon-btn:hover,.tools .icon-btn.on{background:var(--surface-3)}.tools .streak{height:40px;background:var(--surface-2);color:var(--text)}.tools .streak svg{color:var(--coral)}.card{--pad: 20px;padding:var(--pad);border-radius:var(--r);box-shadow:var(--shadow-xs)}.card-title{margin:calc(var(--pad) * -1) calc(var(--pad) * -1) var(--pad);padding:16px var(--pad);border-bottom:1px solid var(--line)}.card-title h3{font-family:var(--f-display);font-size:17px;font-weight:600}.btn{border-radius:8px;font-weight:600}.btn-sm{border-radius:6px}.seg{border-radius:8px}.seg button{border-radius:6px}.input,.select,.textarea{border-radius:8px;background:var(--surface);box-shadow:inset 0 0 0 1px var(--field)}.input:hover,.select:hover,.textarea:hover{background:var(--surface);box-shadow:inset 0 0 0 1px var(--subtle)}th{padding:14px 16px;background:var(--surface-2);color:var(--text);font-size:13.5px;font-weight:600;border-bottom:0}th:first-child{border-radius:8px 0 0 8px}th:last-child{border-radius:0 8px 8px 0}td{padding:16px;color:var(--muted)}.status.badge{gap:5px;height:24px;padding:0 9px;border-radius:6px;background:var(--surface-2);font-size:12px;font-weight:600;white-space:nowrap;align-self:flex-start}.status.badge.ok{background:var(--ok-bg)}.status.badge.now{background:var(--sky-50)}.status.badge.live{background:var(--coral-bg)}.status.badge.warn{background:var(--warn-bg)}.kpi{--tone: var(--steel);gap:18px;background:radial-gradient(90% 120% at 100% 100%,color-mix(in srgb,var(--tone) 13%,transparent),transparent 60%),var(--surface)}.kpi.green{--tone: var(--ok)}.kpi.amber{--tone: #C98A12}.kpi.coral{--tone: var(--coral)}.kpi-top{display:flex;align-items:center;gap:12px;font-size:14.5px;font-weight:600;color:var(--text)}.kpi .ico{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--tone);color:#fff}.kpi-val{font-family:var(--f-display);font-size:30px;font-weight:600;line-height:1;letter-spacing:-.02em;color:var(--text)}.table-card{--pad: 0px;padding:0;overflow:hidden}.tc-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:16px 20px}.tc-search{flex:0 1 340px}.tc-search .input{height:42px}.tc-right{margin-left:auto;display:flex;flex-wrap:wrap;gap:10px}.table-card .table-wrap{padding:0 20px}.tc-person{display:flex;align-items:center;gap:12px}.tc-person .avatar{background:var(--sky-50);color:var(--navy)}.tc-person b{color:var(--text);font-weight:600}.tc-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px 20px}.tc-pages{display:flex;align-items:center;gap:6px}.tc-pages button:not(.icon-btn){width:34px;height:34px;border:0;border-radius:8px;cursor:pointer;font:600 13.5px var(--f-body);color:var(--muted);background:var(--surface-2)}.tc-pages button.on{background:var(--navy);color:var(--on-navy)}.tc-pages .icon-btn{width:34px;height:34px;border-radius:8px;background:var(--surface-2)}.ab-cta,.ch-dates li{border-radius:8px}@media (max-width: 640px){.card{--pad: 16px}}:root{--r-btn: 8px;--r-xs: 6px;--r-lg: 8px;--r-xl: 8px}.btn,.btn-sm,.btn-lg,.icon-btn,.chip,.seg button,.tc-pages button,.ab-cta,.ab-close,.ab-arrows button,.edge-toggle,.user-btn,.streak,.tools .streak,.stepper button,.cal .day,.toc button,.substeps button,.qgrid button,.mb-arrow,.ch-close,.modal-close,.option,.search.cmdk .input,.input,.select,.textarea{border-radius:var(--r-btn)}.seg{border-radius:12px}.ann-banner{border-radius:var(--r)}.btn-outline,.btn-ghost,.chip,.option{border:1px solid var(--field)}.btn-outline:hover,.btn-ghost:hover,.chip:hover,.option:hover{border-color:var(--subtle)}.chip.active{border-color:var(--navy)}.option.active{border-color:var(--navy);box-shadow:none;background:var(--sky-50)}.q-opt,.mod-item{border-width:1px}.cal .day.sel{box-shadow:inset 0 0 0 1px var(--steel);background:var(--sky-50)}.ch-dates li.next{box-shadow:inset 0 0 0 1px var(--coral),0 6px 14px -8px #e11a4580}@media (max-width: 1200px){.g-4{grid-template-columns:repeat(2,minmax(0,1fr))}.class-body{grid-template-columns:minmax(0,1fr) 320px}.course-hero{grid-template-columns:minmax(0,1fr) 260px}}@media (max-width: 1024px){.g-4,.g-3{grid-template-columns:repeat(2,minmax(0,1fr))}.span-3{grid-column:span 2}.lesson,.split,.class-body{grid-template-columns:minmax(0,1fr)}.panel{position:static;max-height:none}.steps{grid-template-columns:repeat(3,minmax(0,1fr))}.course-hero{grid-template-columns:minmax(0,1fr)}.login{grid-template-columns:1fr}.voices{grid-template-columns:repeat(2,minmax(0,1fr))}.resume{grid-template-columns:minmax(0,1fr);padding:12px 12px 22px;gap:18px}.resume>div:last-child{padding:0 10px}.toc{position:static;flex-direction:row;overflow-x:auto;scrollbar-width:none}.toc button{min-width:200px}.route-line{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:18px}.login-art{min-height:260px;padding:28px}.login-art h2{font-size:32px}}@media (max-width: 860px){.app,.app.collapsed{grid-template-columns:1fr}.edge-toggle{display:none}.app.collapsed .sidebar .lbl,.app.collapsed .brand b,.app.collapsed .nav-label span,.app.collapsed .nav-tag{display:initial}.app.collapsed .nav a{justify-content:flex-start;padding:0 12px;gap:12px}.sidebar{position:fixed;z-index:50;left:0;top:0;width:280px;transform:translate(-100%);transition:transform .28s var(--ease);box-shadow:0 0 60px #0003}.sidebar.open{transform:none}.drawer-backdrop.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:49;background:#0f192266}.mobile-bar{display:flex;align-items:center;gap:8px;height:60px;padding:0 12px;background:var(--side);position:sticky;top:0;z-index:30}.mobile-bar .brand{padding:0;gap:8px;min-width:0}.mobile-bar .brand b{font-size:18px;overflow:hidden;text-overflow:ellipsis}.mobile-bar .row{gap:4px;flex:none}.topbar{position:static;height:auto;padding:12px 16px 4px;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}.topbar .right{display:none}.topbar .search,.search.cmdk,.search.cmdk.open{max-width:none;flex-basis:100%}.content{padding:8px 16px 100px}.welcome{grid-template-columns:1fr}.welcome .art .cover{min-height:200px}.welcome .txt{padding:8px 22px 22px}.class-bottom{padding:0 8px 0 14px;height:64px;bottom:12px}.lesson-row .mini{width:88px}}@media (max-width: 640px){h1{font-size:26px}.sec-head h2{font-size:21px}.g-2,.g-3,.g-4{grid-template-columns:1fr}.span-2,.span-3{grid-column:auto}.steps{grid-template-columns:1fr 1fr}.hbar{grid-template-columns:96px minmax(0,1fr) 40px}.cal{gap:3px}.cal .day{min-height:54px;padding:4px}.cal .ev{font-size:0;height:5px;padding:0}.card{padding:16px}.course-hero{padding:22px}.course-hero h1{font-size:30px}.cv-item{grid-template-columns:1fr;gap:8px}.cv-item>:nth-child(2),.cv-item>:nth-child(3),.cv-none{justify-self:start}.rb-state{display:none}.rubro .items{padding-left:18px}.banner,.focus-row{flex-wrap:wrap}.scroller{grid-auto-columns:78%}.player .caption,.player .label{display:none}.player .play{width:56px;height:56px}.cd-box{min-width:62px;padding:10px 4px}.cd-box b{font-size:24px}.login-form{padding:28px 20px}.hide-sm{display:none!important}.voices{grid-template-columns:minmax(0,1fr)}.dl{grid-template-columns:1fr}.dl>div:nth-child(odd){padding-bottom:0}.dl>div:nth-child(2n){border-top:0;padding-top:4px}.home-head h1{font-size:28px}.countdown{text-align:left}.countdown b{font-size:34px}.resume h2{font-size:22px}.route-line{grid-template-columns:repeat(2,minmax(0,1fr))}.ag-row{grid-template-columns:64px minmax(0,1fr)}.ag-row>:last-child{grid-column:2;justify-self:start}.flow a{font-size:11.5px}}.mb-12{margin-bottom:12px}.danger-text{color:var(--coral-text)!important}:root[data-theme=dark] .danger-text{color:var(--coral)!important}.cell-2{display:flex;flex-direction:column;gap:2px;min-width:0}.cell-2 b{font-weight:600;color:var(--text)}.cell-2 small{font-size:12.5px;color:var(--muted)}.q-cell{max-width:520px;color:var(--text);font-weight:500}.a-page{display:flex;flex-direction:column;gap:20px;padding-top:8px}.a-back{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:13.5px;font-weight:600;color:var(--muted);margin-bottom:-8px}.a-back:hover{color:var(--text)}.a-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.a-head h1{font-size:26px}.a-head p{color:var(--muted);margin-top:6px;max-width:680px}.a-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:10px;font-size:13.5px;color:var(--muted)}.a-actions{display:flex;flex-wrap:wrap;gap:8px}.a-who{display:flex;align-items:center;gap:16px}.avatar.lg{width:56px;height:56px;font-size:19px;margin:0;background:var(--sky-50);color:var(--navy);flex:none}.a-who-sub{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:6px;font:500 13.5px var(--f-body);color:var(--muted);letter-spacing:0}.btn.icon-only{width:42px;padding:0;justify-content:center}.st{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;white-space:nowrap;color:var(--muted)}.st i{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.st.ok{color:#079a74}.st.warn{color:var(--warn)}.st.bad{color:var(--coral-text)}.st.now{color:var(--coral)}.st.off i{background:var(--subtle)}:root[data-theme=dark] .st.ok{color:var(--ok)}:root[data-theme=dark] .st.bad{color:var(--coral)}.tc-plink{display:inline-flex}.tc-plink:hover b{text-decoration:underline;text-underline-offset:3px}.tc-person small{display:block;margin-top:1px}.mini-bar{display:inline-flex;align-items:center;gap:10px;min-width:120px}.mb-track{flex:1;height:6px;border-radius:99px;background:var(--track);overflow:hidden;min-width:60px}.mb-track>span{display:block;height:100%;border-radius:inherit;background:var(--steel)}.mb-track.ok>span{background:var(--ok)}.mini-bar b{font-size:12.5px;font-weight:700;min-width:34px;text-align:right}.a-kpi{display:flex;flex-direction:column;align-items:stretch;gap:10px;font-size:inherit;font-weight:inherit;color:inherit;border:1px solid var(--field);box-shadow:none;transition:border-color .2s,box-shadow .2s}.a-kpi.is-link:hover{border-color:color-mix(in srgb,var(--steel) 50%,var(--field));box-shadow:var(--shadow-md)}.ak-top{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;color:var(--muted)}.ak-ico{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:var(--sky-50);color:var(--steel);flex:none}.ak-ico.green{background:var(--ok-bg);color:#079a74}.ak-ico.coral{background:var(--coral-bg);color:var(--coral)}.ak-val{font-family:var(--f-display);font-size:28px;font-weight:600;line-height:1.1;letter-spacing:-.02em}.ak-delta{font-size:12.5px;font-weight:600;color:#079a74}.ak-delta.down{color:var(--coral-text)}.rmenu{position:relative;display:inline-flex}.rmenu-pop{position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:220px;padding:6px;border-radius:10px;background:var(--surface);border:1px solid var(--field);box-shadow:var(--shadow-md);animation:rise .16s var(--ease)}.dt-act .rmenu-pop,.sl-act .rmenu-pop,.rmenu-pop.right,.a-actions .rmenu-pop,.tc-right .rmenu-pop{left:auto;right:0}.rmenu-pop>button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:7px;background:none;cursor:pointer;font:500 14px var(--f-body);color:var(--text);text-align:left;white-space:nowrap}.rmenu-pop>button svg{color:var(--muted);flex:none}.rmenu-pop>button:hover{background:var(--surface-2)}.rmenu-pop>button.danger,.rmenu-pop>button.danger svg{color:var(--coral-text)}.rmenu-pop>button.danger:hover{background:var(--coral-bg)}.rmenu-pop hr{border:0;border-top:1px solid var(--line);margin:6px 4px}.rmenu .icon-btn{width:34px;height:34px;border-radius:8px}.confirm{padding:28px 26px 22px;text-align:center}.cf-ico{width:48px;height:48px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:var(--coral-bg);color:var(--coral)}.confirm h3{font-size:18px}.confirm p{color:var(--muted);margin-top:8px;font-size:14.5px}.cf-actions{display:flex;gap:10px;margin-top:22px}.cf-actions .btn{flex:1}.drw-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#0f19226b;animation:fade .2s;display:flex;justify-content:flex-end}.drw{height:100%;background:var(--surface);display:flex;flex-direction:column;box-shadow:-12px 0 40px #0f19222e;animation:drwIn .28s var(--spring)}@keyframes drwIn{0%{transform:translate(40px);opacity:0}to{transform:none;opacity:1}}.drw-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 24px 16px;border-bottom:1px solid var(--line)}.drw-head h3{font-size:18px}.drw-head p{font-size:13.5px;color:var(--muted);margin-top:4px}.drw-body{flex:1;overflow:auto;padding:20px 24px}.drw-foot{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:14px 24px;border-top:1px solid var(--line)}.imp-steps{list-style:none;display:flex;flex-direction:column;gap:22px}.imp-steps li{display:flex;gap:14px}.imp-steps b{font-weight:600;font-size:15px}.imp-steps p{font-size:13.5px;color:var(--muted);margin-top:3px}.is-n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:700;font-size:13px;background:var(--surface-2);color:var(--muted)}.imp-steps li.on .is-n{background:var(--navy);color:var(--on-navy)}.imp-steps li.done .is-n{background:var(--sky-50);color:var(--navy)}.imp-drop{width:100%;margin-top:10px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 16px;border:1.5px dashed var(--field);border-radius:10px;background:var(--surface-2);cursor:pointer;color:var(--muted);font:inherit;text-align:center;transition:border-color .2s,background .2s}.imp-drop svg{color:var(--steel)}.imp-drop b{color:var(--text);font-size:14px}.imp-drop span{font-size:12.5px}.imp-drop:hover,.imp-drop.drag{border-color:var(--steel);background:var(--sky-50)}.imp-drop.sm{margin-top:0;padding:18px 14px}.imp-file{display:flex;align-items:center;gap:10px;margin-top:10px;padding:12px 14px;border:1px solid var(--field);border-radius:10px;font-size:14px;font-weight:500}.f .imp-file{margin-top:0}.imp-file>svg{color:var(--steel);flex:none}.imp-sum{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 0 10px}.imp-table{max-height:300px;overflow:auto;border:1px solid var(--field);border-radius:10px}.imp-table table{font-size:13px}.imp-table th{position:sticky;top:0;background:var(--surface-2);padding:8px 10px}.imp-table td{padding:8px 10px}.imp-table tr.bad td{background:var(--coral-bg)!important}.miss{color:var(--coral-text);font-weight:600}.dt{border:1px solid var(--field);box-shadow:none;overflow:visible}.dt .table-wrap{padding:0}.dt table th:first-child,.dt table td:first-child{padding-left:20px}.dt table th:last-child,.dt table td:last-child{padding-right:20px}.dt th{background:var(--surface-2);border-bottom:1px solid var(--field)}.dt.dense td{padding-top:10px;padding-bottom:10px}.dt-views{display:flex;gap:4px;padding:0 16px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.dt-views button{position:relative;display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 10px;border:0;background:none;cursor:pointer;white-space:nowrap;font:600 14px var(--f-body);color:var(--muted)}.dt-views button span{min-width:22px;height:20px;padding:0 6px;border-radius:6px;display:grid;place-items:center;font-size:12px;background:var(--surface-2);color:var(--muted)}.dt-views button:hover,.dt-views button.on{color:var(--text)}.dt-views button.on:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px;background:var(--navy)}:root[data-theme=dark] .dt-views button.on:after{background:var(--sky)}.dt-views button.on span{background:var(--navy);color:var(--on-navy)}.tc-search{position:relative}.tc-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:26px;height:26px;border:0;border-radius:6px;background:var(--surface-3);color:var(--muted);display:grid;place-items:center;cursor:pointer}.btn.has{border-color:var(--steel);color:var(--steel)}.dt-count{min-width:20px;height:20px;padding:0 5px;border-radius:6px;display:grid;place-items:center;background:var(--steel);color:#fff;font-size:11.5px}.dt-filters{width:280px;display:flex;flex-direction:column;gap:12px;padding:14px}.dt-filters .select{height:40px}.dt-cols{width:230px;max-height:340px;overflow:auto}.dt-col{display:flex;align-items:center;gap:10px;padding:8px;border-radius:7px;font-size:14px;cursor:pointer}.dt-col:hover{background:var(--surface-2)}.dt-col input,.dt-check input,.perm-check,.qp-item input{width:17px;height:17px;accent-color:var(--navy);cursor:pointer}.dt-bulk{background:var(--sky-50);border-radius:0;min-height:74px}.dt-bulk b{font-weight:700;color:var(--navy)}.dt-tokens{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 20px 14px;margin-top:-4px}.dt-token{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 6px 0 10px;border-radius:8px;background:var(--surface-2);font-size:13px;color:var(--muted)}.dt-token b{color:var(--text);font-weight:600}.dt-token button{width:20px;height:20px;border:0;border-radius:5px;background:none;display:grid;place-items:center;cursor:pointer;color:var(--muted)}.dt-token button:hover{background:var(--surface-3);color:var(--text)}.dt-check{width:44px}.dt-act{width:52px;text-align:right}.dt-sort{display:inline-flex;align-items:center;gap:5px;border:0;background:none;padding:0;cursor:pointer;font:inherit;color:inherit}.dt-sort svg{opacity:.5}.dt-sort:hover,.dt-sort.on{color:var(--text)}.dt-sort.on svg{opacity:1}.dt tr.clickable{cursor:pointer}.dt tr.sel td{background:var(--sky-50)!important}.dt-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:44px 16px;color:var(--subtle)}.dt-empty b{color:var(--text);font-weight:600}.dt .tc-foot{border-top:1px solid var(--line)}.select.dt-ps{width:74px;height:34px;padding:0 28px 0 10px;font-size:13px}.dt-range{margin-left:8px;color:var(--text);font-weight:600}.dt-gap{width:24px;text-align:center;color:var(--subtle)}.tc-pages .icon-btn[disabled]{opacity:.4;cursor:not-allowed}.tc-h{font-size:16px}.a-tabs{display:flex;gap:4px;border-bottom:1px solid var(--field);overflow-x:auto;scrollbar-width:none}.a-tabs button{position:relative;display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 12px;border:0;background:none;cursor:pointer;white-space:nowrap;font:600 14.5px var(--f-body);color:var(--muted)}.a-tabs button svg{opacity:.8}.a-tabs button span{min-width:22px;height:20px;padding:0 6px;border-radius:6px;display:grid;place-items:center;font-size:12px;background:var(--surface-3)}.a-tabs button:hover,.a-tabs button.on{color:var(--text)}.a-tabs button.on:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:var(--navy)}:root[data-theme=dark] .a-tabs button.on:after{background:var(--sky)}.a-form{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}.a-form.has-aside{grid-template-columns:minmax(0,1fr) 320px}.af-main{display:flex;flex-direction:column;gap:20px;min-width:0}.af-aside{position:sticky;top:88px;display:flex;flex-direction:column;gap:16px}.af-bar{grid-column:1 / -1;position:sticky;bottom:16px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 20px;border-radius:12px;background:var(--surface);border:1px solid var(--field);box-shadow:var(--shadow-md)}.af-state{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--subtle)}.af-bar.dirty .af-state{color:var(--warn)}.af-state i{width:8px;height:8px;border-radius:50%;background:currentColor}.f-sec{border:1px solid var(--field);box-shadow:none}.card.f-sec{--pad: 24px}.f-sec-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px}.f-sec-head h3{font-size:16px}.f-sec-head p{font-size:13.5px;color:var(--muted);margin-top:4px}.f-grid{display:grid;gap:16px 18px}.f-grid.c1{grid-template-columns:minmax(0,1fr)}.f-grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.f-grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.f{display:flex;flex-direction:column;gap:7px;min-width:0}.f.s2,.f-grid>.s2{grid-column:span 2}.f.s3{grid-column:span 3}.f-grid.c1>.s2{grid-column:auto}.f-label{font-weight:600;font-size:13.5px;color:var(--text)}.f-label i{color:var(--coral);font-style:normal}.f-hint{font-size:12.5px;color:var(--subtle)}.f-err{display:none;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--coral-text)}.tried .f:has(:invalid) .f-err{display:flex}.tried .f:has(:invalid) .f-hint{display:none}.tried :is(.input,.select,.textarea):invalid{border-color:var(--coral);background:var(--surface)}.a-form-plain .f-grid{margin-top:0}.choice{display:flex;flex-wrap:wrap;gap:8px}.choice button{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 14px;border-radius:var(--r-btn);border:1px solid var(--field);background:var(--surface);cursor:pointer;font:600 13.5px var(--f-body);color:var(--muted);transition:.15s}.choice button:hover{border-color:var(--subtle);color:var(--text)}.choice button.on{border-color:var(--navy);background:var(--navy);color:var(--on-navy)}.f-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border-radius:10px;background:var(--surface-2)}.f-grid.c1 .f-toggle,.f-grid.c3 .f-toggle{grid-column:auto}.f-toggle b{display:block;font-size:14px;font-weight:600}.f-toggle span:not(.switch span){display:block;font-size:12.5px;color:var(--muted);margin-top:2px}.f-toggle>div{min-width:0}.plan-pick,.role-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.plan-pick button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:14px;border:1px solid var(--field);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:var(--text);transition:.15s}.plan-pick button b{font-weight:600;font-size:14.5px}.plan-pick button span{font-size:12.5px;color:var(--muted)}.plan-pick button em{font-style:normal;font-family:var(--f-display);font-weight:600;font-size:17px;margin-top:6px}.plan-pick button:hover{border-color:var(--subtle)}.plan-pick button.on{border-color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy);background:var(--sky-50)}.role-pick{grid-template-columns:minmax(0,1fr);gap:8px}.role-pick button{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--field);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:var(--text)}.role-pick b{display:block;font-weight:600;font-size:14px}.role-pick small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}.rp-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--field);flex:none}.role-pick button.on{border-color:var(--navy);background:var(--sky-50)}.role-pick button.on .rp-radio{border:5px solid var(--navy)}.af-sum{border:1px solid var(--field);box-shadow:none}.af-sum h3{font-size:15px;margin-bottom:12px}.af-total{display:flex;align-items:baseline;justify-content:space-between;padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}.af-total span{font-weight:600;color:var(--muted)}.af-total b{font-family:var(--f-display);font-size:24px;font-weight:600}.af-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:14px;font-size:13.5px;color:var(--muted)}.af-list li{display:flex;align-items:flex-start;gap:8px}.af-list svg{color:#079a74;flex:none;margin-top:2px}.sum-big{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.sum-big b{font-family:var(--f-display);font-size:36px;font-weight:600;line-height:1}.sum-big span{color:var(--muted);font-weight:600}.a-dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.af-sum .a-dl{grid-template-columns:minmax(0,1fr);gap:10px}.af-sum .a-dl>div{display:flex;justify-content:space-between;gap:10px}.a-dl dt{font-size:12.5px;color:var(--subtle);font-weight:600}.a-dl dd{font-size:14px;font-weight:500;margin-top:2px;overflow-wrap:anywhere}.af-sum .a-dl dd{margin:0;text-align:right}.a-alert{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;padding:12px 16px;border-radius:10px;font-size:14px;border:1px solid var(--field);background:var(--surface)}.a-alert>span{flex:1;min-width:200px}.a-alert.warn{border-color:color-mix(in srgb,#C98A12 45%,var(--field))}.a-alert.warn>svg{color:var(--warn)}.a-alert.ok>svg{color:#079a74}.a-notes{display:flex;flex-direction:column;gap:10px}.a-note{padding:12px 14px;border-radius:10px;background:var(--surface-2)}.a-note p{font-size:14px}.a-note span{display:block;margin-top:6px;font-size:12px;color:var(--subtle)}.a-device{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ad-ico{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--surface-2);color:var(--steel);flex:none}.a-device b{display:block;font-size:14px;font-weight:600}.a-device span{display:block;font-size:12.5px;color:var(--muted)}.a-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:44px 20px}.a-empty>span{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--sky-50);color:var(--steel);margin-bottom:6px}.a-empty b{font-size:15.5px;font-weight:600}.a-empty p{font-size:13.5px;color:var(--muted);max-width:360px;margin-bottom:10px}.sl{display:flex;flex-direction:column}.sl-row{display:flex;align-items:center;gap:14px;padding:12px 20px 12px 10px;border-top:1px solid var(--line);background:var(--surface);position:relative;transition:background .15s}.sl-head{border-top:1px solid var(--field);border-bottom:1px solid var(--field);background:var(--surface-2);padding-top:10px;padding-bottom:10px;font-size:12.5px;font-weight:600;color:var(--subtle)}.sl-head+.sl-row{border-top:0}.sl-head:before{content:"";width:24px;flex:none}.sl-row.clickable{cursor:pointer}.sl-row.clickable:hover{background:var(--surface-2)}.sl-row.dragging{opacity:.45}.sl-row.over-down{box-shadow:inset 0 -2px 0 var(--steel)}.sl-row.over-up{box-shadow:inset 0 2px 0 var(--steel)}.sl-grip{width:24px;height:32px;flex:none;display:grid;place-items:center;color:var(--subtle);cursor:grab;border-radius:6px}.sl-grip:hover{background:var(--surface-3);color:var(--text)}.sl-grip:active{cursor:grabbing}.sl-n{width:36px;flex:none;font-weight:700;font-size:13.5px;color:var(--muted)}.sl-main{display:flex;flex-direction:column;gap:2px;min-width:0}.sl-main b{font-weight:600;font-size:14.5px;color:var(--text)}.sl-main small{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sl-c{flex:none}.w100{width:100px}.w120{width:120px}.w140{width:140px}.w160{width:170px}.w200{width:200px}.w260{width:260px}.sl-act{width:34px;flex:none;display:flex;justify-content:flex-end}.step-dots{display:flex;flex-wrap:wrap;gap:6px}.step-dots span{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--surface-2);color:var(--subtle)}.step-dots span.ok{background:var(--ok-bg);color:#079a74}.step-pick{display:flex;flex-direction:column;gap:8px}.step-pick button{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--field);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:var(--text)}.step-pick b{display:block;font-size:14px;font-weight:600}.step-pick small{display:block;font-size:12.5px;color:var(--muted)}.sp-ico{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:var(--surface-2);color:var(--steel);flex:none}.sp-check{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--field);display:grid;place-items:center;color:transparent;flex:none}.step-pick button.on{border-color:var(--navy);background:var(--sky-50)}.step-pick button.on .sp-check{background:var(--navy);border-color:var(--navy);color:var(--on-navy)}.te-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}.card.te-steps{--pad: 0px;padding:0 0 14px;border:1px solid var(--field);box-shadow:none;position:sticky;top:88px;overflow:visible}.te-steps-head{display:flex;align-items:baseline;justify-content:space-between;padding:16px 16px 12px}.te-steps .sl-row{padding:6px 10px 6px 4px;gap:4px;border-top:0;background:none}.te-step{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:8px;background:none;cursor:pointer;font:500 14px var(--f-body);color:var(--text);text-align:left}.te-step:hover{background:var(--surface-2)}.te-step.on{background:var(--sky-50);font-weight:600}.ts-ico{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--surface-2);color:var(--steel);flex:none}.te-step.on .ts-ico{background:var(--surface)}.ts-ico.ok{background:var(--ok-bg);color:#079a74}.te-add{margin:8px 14px 0;width:calc(100% - 28px);display:flex}.te-add>.btn{width:100%;justify-content:center}.te-add .rmenu-pop{left:0;right:0}.card.te-editor{--pad: 24px;border:1px solid var(--field);box-shadow:none}.te-head{display:flex;align-items:center;gap:14px}.te-ico{width:44px;height:44px;border-radius:10px;display:grid;place-items:center;background:var(--sky-50);color:var(--steel);flex:none}.te-title{width:100%;border:0;border-bottom:1px dashed transparent;background:none;font:600 19px var(--f-display);color:var(--text);padding:2px 0;margin-bottom:4px}.te-title:hover{border-bottom-color:var(--field)}.te-title:focus{outline:none;border-bottom-color:var(--steel)}.te-video{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;border:1px solid var(--field);border-radius:10px}.tv-thumb{width:84px;height:48px;border-radius:6px;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--steel));color:#fff;flex:none}.te-video b{display:block;font-size:14px;font-weight:600}.te-video span{display:block;font-size:12.5px;color:var(--muted)}.te-files{display:flex;flex-direction:column;gap:6px}.te-file{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border:1px solid var(--field);border-radius:10px}.te-file>svg{color:var(--steel);flex:none}.te-fname{flex:1;min-width:0;border:0;background:none;font:500 14px var(--f-body);color:var(--text);padding:6px 4px;border-radius:6px}.te-fname:hover{background:var(--surface-2)}.te-fname:focus{outline:none;background:var(--surface-2);box-shadow:var(--focus)}.te-dl{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;cursor:pointer;color:var(--muted)}.te-dl input{display:none}.te-dl:hover{background:var(--surface-2)}.te-file .icon-btn{width:34px;height:34px;border-radius:8px}.te-q{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:14px 16px;border-radius:10px;background:var(--surface-2)}.te-q b{font-family:var(--f-display);font-size:26px;font-weight:600;line-height:1}.te-q>span{color:var(--muted);font-size:13.5px;margin-right:auto}.te-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}.te-foot>span{margin-right:auto}.qp-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.qp-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--field);border-radius:10px;cursor:pointer}.qp-item input{margin-top:2px;flex:none}.qp-item b{display:block;font-size:14px;font-weight:500}.qp-item small{display:block;font-size:12px;color:var(--muted);margin-top:3px}.qp-item.on{border-color:var(--navy);background:var(--sky-50)}.diff{display:inline-flex;height:24px;align-items:center;padding:0 9px;border-radius:6px;font-size:12.5px;font-weight:600}.diff.d0{background:var(--ok-bg);color:#067a5d}.diff.d1{background:var(--warn-bg);color:var(--warn)}.diff.d2{background:var(--coral-bg);color:var(--coral-text)}.opt-edit{display:flex;flex-direction:column;gap:8px}.oe-row{display:flex;align-items:center;gap:8px}.oe-mark{width:38px;height:38px;flex:none;border-radius:8px;border:1px solid var(--field);background:var(--surface);cursor:pointer;font:700 13.5px var(--f-body);color:var(--muted);display:grid;place-items:center}.oe-mark:hover{border-color:var(--subtle)}.oe-row.ok .oe-mark{background:var(--ok);border-color:var(--ok);color:#fff}.oe-row.ok .input{border-color:color-mix(in srgb,var(--ok) 60%,var(--field))}.oe-row .icon-btn{width:34px;height:34px;border-radius:8px;flex:none}.q-preview{border:1px solid var(--field);box-shadow:none}.qp-text{margin:10px 0 14px;font-size:14.5px;font-weight:500;line-height:1.5}.qp-opts{display:flex;flex-direction:column;gap:6px}.qp-opts>div{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border:1px solid var(--field);border-radius:8px;font-size:13.5px}.qp-opts>div>span:first-child{font-weight:700;color:var(--muted)}.qp-opts>div.ok{border-color:var(--ok);background:var(--ok-bg)}.qp-exp{margin-top:12px;padding:10px 12px;border-radius:8px;background:var(--surface-2);font-size:13px;color:var(--muted)}.qp-exp b{display:block;color:var(--text);margin-bottom:3px}.book-cell{display:flex;align-items:center;gap:12px;min-width:0}.book-cell img,.bc-ph{width:34px;height:46px;object-fit:cover;border-radius:3px 5px 5px 3px;flex:none;box-shadow:0 2px 6px #14212d33;background:var(--surface-2);display:grid;place-items:center;color:var(--subtle)}.book-aside{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;border:1px solid var(--field);box-shadow:none}.book-aside img{width:150px;border-radius:4px 8px 8px 4px;box-shadow:0 12px 24px -10px #14212d66;margin-bottom:8px}.notice-prev{border:1px solid var(--field);box-shadow:none}.np-card{margin-top:10px;padding:16px;border-radius:10px;background:var(--surface-2)}.np-card b{display:block;font-family:var(--f-display);font-weight:600;font-size:16px}.np-card p{margin-top:6px;font-size:13.5px;color:var(--muted)}.cvr-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.card.cvr-doc{--pad: 0px;padding:0;overflow:hidden;border:1px solid var(--field);box-shadow:none}.cvr-bar{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-bottom:1px solid var(--line);font-size:14px;font-weight:500}.cvr-bar>svg{color:var(--steel)}.cvr-page{padding:28px;background:var(--surface-2)}.cvr-sheet{max-width:620px;margin:0 auto;aspect-ratio:1.414 / 1;background:#fff;color:#1f2e3a;border-radius:4px;box-shadow:0 8px 30px #14212d1f;padding:7% 9%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;border:10px solid #EEF3F7}.cs-logo{font:700 13px var(--f-display);letter-spacing:.3em;color:#46698a}.cvr-sheet h4{font-family:var(--f-display);font-size:clamp(16px,2.4vw,24px)}.cvr-sheet p{font-size:clamp(11px,1.4vw,13.5px);color:#5a6a77;max-width:440px}.cs-sign{display:flex;gap:60px;margin-top:18px}.cs-sign span{width:110px;border-top:1px solid #8796A2}.cvr-layout aside .card{border:1px solid var(--field);box-shadow:none}.cvr-layout aside .a-dl{grid-template-columns:minmax(0,1fr);gap:10px}.db-q{padding:16px;border-radius:10px;background:var(--surface-2);display:flex;flex-direction:column;gap:10px}.db-q p{font-size:15px;font-weight:500}.stars{color:#e7a812;letter-spacing:1px;white-space:nowrap}.stars span{color:var(--track)}.role{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:6px;font-size:12.5px;font-weight:600;white-space:nowrap;background:var(--surface-2);color:var(--muted)}.role.r-admin{background:var(--navy);color:var(--on-navy)}.role.r-coord{background:var(--sky-50);color:var(--navy)}.role.r-docente{background:var(--ok-bg);color:#067a5d}.role.r-revisor{background:var(--warn-bg);color:var(--warn)}.perm-table th small{display:block;margin-top:4px;font-weight:500}.perm-table td,.perm-table th{padding-top:11px;padding-bottom:11px}.perm-table th:first-child,.perm-table td:first-child{padding-left:20px}.perm-table .center{text-align:center}.perm-group td{background:var(--surface-2)!important;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);padding-top:8px;padding-bottom:8px}.perm-on{color:#079a74}.perm-off{color:var(--track);font-weight:700}.table-card .perm-table th{background:var(--surface-2)}.dash-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.dash-grid>.card{border:1px solid var(--field);box-shadow:none}.todo-list{display:flex;flex-direction:column}.todo{display:flex;align-items:center;gap:12px;padding:10px 8px;margin:0 -8px;border-radius:8px;font-size:14px;color:var(--text)}.todo:hover{background:var(--surface-2)}.todo>b{font-family:var(--f-display);font-weight:600;font-size:16px}.td-ico{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:var(--sky-50);color:var(--steel);flex:none}.td-ico.bad{background:var(--coral-bg);color:var(--coral)}.ct-row{display:flex;align-items:center;gap:12px;padding:6px 8px;margin:0 -8px;border-radius:8px;color:var(--text)}.ct-row:hover{background:var(--surface-2)}.ct-row .mini-bar{width:150px;flex:none}.act-list{display:flex;flex-direction:column;gap:14px}.act{display:flex;gap:12px;font-size:13.5px}.act>i{width:8px;height:8px;border-radius:50%;background:var(--steel);margin-top:6px;flex:none}.act b{font-weight:600}.act small{display:block;color:var(--subtle);font-size:12.5px;margin-top:2px}.toasts{position:fixed;left:50%;top:84px;transform:translate(-50%);z-index:90;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:10px;background:#1f2e3a;color:#fff;font-size:14px;font-weight:500;box-shadow:0 12px 30px #0f19224d;animation:rise .25s var(--spring);max-width:calc(100vw - 32px)}.toast.ok svg{color:var(--ok)}.toast.info svg{color:var(--sky)}@media (max-width: 1200px){.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid>.span-2{grid-column:1 / -1}.a-form.has-aside,.cvr-layout{grid-template-columns:minmax(0,1fr)}.af-aside{position:static;order:-1}.w200,.w260{width:170px}}@media (max-width: 900px){.te-layout{grid-template-columns:minmax(0,1fr)}.card.te-steps{position:static}.hide-m{display:none!important}.plan-pick{grid-template-columns:minmax(0,1fr)}}@media (max-width: 700px){.dash-grid,.a-dl,.f-grid.c2,.f-grid.c3{grid-template-columns:minmax(0,1fr)}.f.s2,.f-grid>.s2,.f.s3{grid-column:auto}.a-head h1{font-size:22px}.a-head{align-items:flex-start}.a-who{gap:12px}.avatar.lg{width:44px;height:44px;font-size:15px}.tc-tools .tc-right{margin-left:0;width:100%}.tc-search{flex:1 1 100%}.dt-filters{width:min(280px,calc(100vw - 48px))}.af-bar{bottom:8px;padding:10px 10px 10px 14px}.af-state{font-size:12.5px}.card.f-sec,.card.te-editor{--pad: 16px}.sl-row{padding-right:12px;gap:8px}.sl-n{width:24px}.w120{width:auto}.drw-body{padding:16px}.drw-head,.drw-foot{padding-left:16px;padding-right:16px}.cvr-page{padding:12px}.te-foot{flex-wrap:wrap}.te-foot>span{width:100%}}.dt th,.dt td{padding-left:10px;padding-right:10px}.dt .dt-check{width:36px;padding-right:4px}.dt .dt-act{width:44px;padding-left:0}.dt .mini-bar{min-width:92px;gap:8px}.dt .mb-track{min-width:48px}.te-steps>.rmenu{display:flex;margin:8px 14px 0}.te-steps>.rmenu>.btn{width:100%;margin:0;justify-content:center}.te-steps>.rmenu .rmenu-pop{left:0;right:0}@media (max-width: 700px){.af-bar{flex-wrap:wrap;gap:8px}.af-state{display:none}.af-bar.dirty .af-state{display:inline-flex;width:100%}.af-bar>.row{flex:1}.af-bar>.row .btn{flex:1;justify-content:center;padding:0 12px}}.login-art{justify-content:flex-end}.login-copy{max-width:600px;margin:0 auto;text-align:center}.login-copy .kick{justify-content:center}.login-copy h2{margin:0 auto;max-width:560px}.login-copy .lead{margin:18px auto 0;max-width:none;font-weight:600;letter-spacing:.01em;color:#ffffffe6}.login-copy .lead span{margin:0 8px;color:#f2506e}.login-logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px}.login-logo span{font-family:var(--f-brand);font-weight:800;font-size:28px;letter-spacing:-.01em;color:var(--navy)}:root[data-theme=dark] .login-logo span{color:var(--text)}.iv-head-row{display:flex;align-items:center;gap:8px}.iv-head-row .iv-head{flex:1;min-width:0}.iv-right{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-right:4px}.iv-toggle{width:32px;height:32px;border-radius:8px}.ivs-row{display:inline-flex;gap:6px;flex-wrap:wrap}.ivs{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap;border:1px solid var(--field);color:var(--muted);background:var(--surface)}.ivs i{width:7px;height:7px;border-radius:50%;background:currentColor}.ivs.done{color:var(--text)}.ivs.done svg{color:#079a74}.ivs.rev{border-color:transparent;background:var(--warn-bg);color:var(--warn)}.ivs.ok{border-color:transparent;background:var(--ok-bg);color:#067a5d}.iv-aside{position:sticky;top:92px}.iv-howto li b{color:var(--text);font-weight:600}@media (max-width: 700px){.iv-head-row{flex-wrap:wrap}.iv-right{width:100%;justify-content:flex-start;padding:0 10px 12px 54px}.iv-toggle{margin-left:auto}}@media (max-width: 1024px){.iv-aside{position:static}}.perf-grid{align-items:start}.seg.sm button{height:30px;padding:0 12px;font-size:12.5px}.evo-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--muted);font-weight:500;margin:-4px 0 6px}.evo-legend span{display:inline-flex;align-items:center;gap:7px}.evo-legend i,.evo-tip i{display:inline-block;width:18px;height:0;border-top:2px solid;flex:none}.k-me{border-color:var(--navy)!important;border-top-width:3px!important}.k-group{border-color:#9aa8b4!important}.k-entry{border-color:var(--coral)!important;border-top-style:dashed!important}.k-proj{border-color:var(--steel)!important;border-top-style:dotted!important;border-top-width:3px!important}.evo{position:relative}.evo svg{display:block;width:100%;height:auto;overflow:visible}.evo-grid{stroke:var(--line);stroke-width:1}.evo-axis{font:500 11px var(--f-body);fill:var(--subtle)}.evo-entry{stroke:var(--coral);stroke-width:1.5;stroke-dasharray:6 5}.evo-entry-lbl{font:600 11px var(--f-body);fill:var(--coral-text)}.evo-group{fill:none;stroke:#9aa8b4;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.evo-proj{fill:none;stroke:var(--steel);stroke-width:2;stroke-dasharray:2 5;stroke-linecap:round}.evo-me{fill:none;stroke:var(--navy);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.evo-dot{fill:var(--navy);stroke:var(--surface);stroke-width:2;transition:r .15s}.evo-tag{fill:var(--navy)}.evo-tag-txt{font:700 11.5px var(--f-body);fill:#fff}.evo-cross{stroke:var(--subtle);stroke-width:1;stroke-dasharray:3 3}.evo-tip{position:absolute;top:6px;transform:translate(-50%);display:flex;flex-direction:column;gap:3px;padding:9px 12px;border-radius:8px;background:var(--surface);border:1px solid var(--field);box-shadow:var(--shadow-md);font-size:12px;color:var(--muted);pointer-events:none;white-space:nowrap;z-index:2}.evo-tip>b{color:var(--text);font-size:12.5px}.evo-tip span{display:flex;align-items:center;gap:7px}.evo-tip span b{color:var(--text)}.evo-foot{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:13px;color:var(--muted)}.evo-foot svg,.evo-foot b{color:#079a74}:root[data-theme=dark] .k-me,:root[data-theme=dark] .evo-me{border-color:var(--sky)!important;stroke:var(--sky)}:root[data-theme=dark] .evo-dot,:root[data-theme=dark] .evo-tag{fill:var(--sky)}:root[data-theme=dark] .evo-tag-txt{fill:#1f3446}.goal-box{display:flex;flex-direction:column;gap:8px;margin-top:16px}.goal-bar{position:relative;height:12px;border-radius:99px;background:var(--track)}.goal-bar>span{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--navy)}.goal-bar>i{position:absolute;top:-5px;bottom:-5px;width:3px;margin-left:-1.5px;border-radius:2px;background:var(--coral)}:root[data-theme=dark] .goal-bar>span{background:var(--sky)}.goal-note{margin-top:16px;padding:12px 14px;border-radius:8px;background:var(--surface-2);font-size:13.5px;line-height:1.5;color:var(--muted)}.goal-note b{color:var(--text)}.sec-bars{display:flex;flex-direction:column;gap:4px}.sb-head{width:100%;border:0;background:none;padding:8px 6px;margin:0 -6px;width:calc(100% + 12px);border-radius:8px;cursor:pointer;font:inherit;font-size:13.5px;font-weight:600;color:var(--text);text-align:left}.sb-head:hover{background:var(--surface-2)}.sb-head>span:first-child{display:inline-flex;align-items:center;gap:4px}.sb-chev{color:var(--subtle);transition:transform .2s var(--spring);flex:none}.sb.open .sb-chev{transform:rotate(90deg)}.sb-subs{display:flex;flex-direction:column;gap:8px;margin:4px 0 10px;padding:12px 6px 12px 22px;border-radius:8px;background:var(--surface-2);animation:fadeUp .3s var(--spring)}.sb-lbl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle)}.hbar.sub{grid-template-columns:178px minmax(0,1fr) 48px;font-size:13px;font-weight:500;color:var(--muted)}.hbar.sub .bars{height:7px}.hbar.sub .bold{color:var(--text)}.hbar.sub .bold.low{color:var(--coral-text)}.rf-row{display:flex;align-items:center;gap:12px}.delta-up{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;color:#079a74;white-space:nowrap}.fs-big{display:flex;align-items:baseline;gap:6px}.fs-big b{font-family:var(--f-display);font-size:40px;font-weight:700;letter-spacing:-.03em;line-height:1}.fs-big span{font-size:15px;color:var(--subtle);font-weight:600}.fs-bar{position:relative;display:flex;gap:2px;height:12px;margin:14px 0 16px;border-radius:99px;background:var(--track)}.fs-bar>span{height:100%}.fs-bar>span:first-child{border-radius:99px 0 0 99px}.fs-bar>i{position:absolute;top:-5px;bottom:-5px;width:3px;margin-left:-1.5px;border-radius:2px;background:var(--coral)}.p-exam{background:var(--navy)}.p-iv{background:#7fa6c6}.p-cv{background:var(--ok)}:root[data-theme=dark] .p-exam{background:var(--sky)}.fs-parts{display:flex;flex-direction:column;gap:12px}.fs-part{display:flex;align-items:flex-start;gap:10px}.fs-dot{width:10px;height:10px;border-radius:3px;margin-top:4px;flex:none}.fs-name{display:block;font-size:13.5px;font-weight:600;color:var(--text)}a.fs-name:hover{text-decoration:underline;text-underline-offset:3px}.fs-part small{display:block;font-size:12px;color:var(--muted);margin-top:1px}.fs-val{font-size:13px;color:var(--subtle);white-space:nowrap}.fs-val b{font-family:var(--f-display);font-size:16px;color:var(--text)}.fs-cv{display:flex;flex-direction:column;gap:6px;padding:10px 12px;margin-left:20px;border-radius:8px;background:var(--surface-2);font-size:12.5px;color:var(--muted)}.fs-cv b{color:var(--text)}.fs-tip{margin-top:14px;font-size:13px;line-height:1.5;color:var(--muted)}.fs-tip b{color:var(--coral-text)}.fs-src{margin-top:8px;font-size:11.5px;line-height:1.45;color:var(--subtle)}@media (max-width: 700px){.hbar.sub{grid-template-columns:96px minmax(0,1fr) 40px}.sb-subs{padding-left:10px}}.streak-wrap{position:relative}.tools .streak.big{height:40px;padding:0 14px 0 6px;gap:6px;border:0;cursor:pointer;background:var(--coral-bg);color:var(--coral-text);font:inherit}.tools .streak.big:hover{background:color-mix(in srgb,var(--coral-bg) 70%,var(--coral) 12%)}.tools .streak.big b{font-family:var(--f-display);font-size:18px;font-weight:700;line-height:1}.tools .streak.big small{font-size:12.5px;font-weight:600}:root[data-theme=dark] .tools .streak.big{background:#f2506e29;color:#f7a1b2}.sk-flame{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;background:linear-gradient(160deg,#FF7A59,var(--coral));color:#fff;box-shadow:0 4px 12px -4px #e11a458c}.sk-flame svg{animation:flicker 2.6s ease-in-out infinite;transform-origin:50% 90%}.sk-flame.lg{width:44px;height:44px}.sk-flame.xl{width:56px;height:56px}.streak-pop{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:300px;padding:16px;border-radius:12px;background:var(--surface);border:1px solid var(--field);box-shadow:var(--shadow-md);animation:rise .18s var(--ease)}.sp-top{display:flex;align-items:center;gap:12px;margin-bottom:14px}.sp-top b{display:block;font-family:var(--f-display);font-size:17px}.sp-top span:not(.sk-flame){font-size:13px;color:var(--muted)}.sp-hint{display:flex;gap:6px;align-items:flex-start;margin-top:12px;font-size:12.5px;color:var(--muted)}.sp-hint svg{flex:none;margin-top:1px}.sk-days{list-style:none;display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.sk-days li{display:flex;flex-direction:column;align-items:center;gap:5px}.sk-days li>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--subtle);border:2px solid transparent}.sk-days li.done>span{background:var(--coral);color:#fff}.sk-days li.today>span{border:2px dashed var(--coral);background:var(--surface);color:var(--coral)}.sk-days small{font-size:11.5px;font-weight:600;color:var(--muted)}.sk-days li.today small{color:var(--coral-text)}.streak-grid{align-items:stretch}.streak-grid>.card{display:flex;flex-direction:column}.sk-card{gap:16px}.sk-head{display:flex;align-items:center;gap:14px}.sk-num{display:block;font-family:var(--f-display);font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.1}.sk-head span:not(.sk-flame){font-size:13.5px;color:var(--muted)}.sk-cta{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:auto;padding:9px 12px;border-radius:8px;border:1px dashed color-mix(in srgb,var(--coral) 55%,transparent);background:var(--coral-bg);color:var(--coral-text);font-size:13px;font-weight:600}:root[data-theme=dark] .sk-cta{background:#f2506e1f;color:#f7a1b2}.sk-lbl{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);margin-bottom:10px}.sk-goal .select{height:40px}.bd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:4px}.bd{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;border:1px solid var(--field);min-width:0}.bd b{display:block;font-size:12.5px;font-weight:600;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bd small{display:block;font-size:11px;color:var(--muted)}.bd-ico{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--surface-2);color:var(--subtle)}.bd.on{background:var(--sky-50);border-color:transparent}.bd.on .bd-ico{background:var(--navy);color:#fff}.bd:not(.on) b{color:var(--muted)}.bd-prog{display:block;height:4px;margin-top:5px;border-radius:99px;background:var(--track);overflow:hidden}.bd-prog i{display:block;height:100%;background:var(--steel);border-radius:inherit}:root[data-theme=dark] .bd.on .bd-ico{background:var(--sky);color:#1f3446}@media (max-width: 1100px){.streak-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width: 700px){.tools .streak.big small{display:none}.streak-pop{right:-60px;width:min(300px,calc(100vw - 32px))}}.fc-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:24px;align-items:start}.fc-side{display:flex;flex-direction:column;gap:10px}.fc-today{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:10px;background:var(--navy);color:#fff}.fc-today>span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sky)}.fc-today b{font-family:var(--f-display);font-size:18px;font-weight:600;line-height:1.25}.fc-today small{font-size:12px;color:#ffffffbf}.fc-lbl{margin-top:6px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle)}.fc-decks{display:flex;flex-direction:column;gap:8px}.fc-deck{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:11px 12px;border:1px solid var(--field);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:var(--text);transition:.15s}.fc-deck b{font-size:13.5px;font-weight:600}.fc-deck small{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.fc-deck:hover:not(:disabled){border-color:var(--subtle)}.fc-deck.on{border-color:var(--steel);background:var(--sky-50);box-shadow:inset 0 0 0 1px var(--steel)}.fc-deck:disabled{cursor:not-allowed;background:var(--surface-2)}.fc-deck:disabled b{color:var(--muted)}.fc-stage{display:flex;flex-direction:column;align-items:center;gap:14px;padding:8px 0}.fc-count{font-size:12.5px;color:var(--subtle);font-weight:500}.fc-card{width:min(560px,100%);aspect-ratio:16 / 9;min-height:220px;border:0;padding:0;background:none;cursor:pointer;perspective:1400px;font:inherit}.fc-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s var(--spring)}.fc-card.flipped .fc-inner{transform:rotateY(180deg)}.fc-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:28px 36px;border-radius:14px;backface-visibility:hidden;-webkit-backface-visibility:hidden;text-align:center}.fc-face.front{background:var(--surface);border:1px solid var(--field);box-shadow:var(--shadow-md);color:var(--text)}.fc-face.back{background:var(--navy);color:#fff;transform:rotateY(180deg);box-shadow:var(--shadow-md)}.fc-face small{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--steel)}.fc-face.back small{color:var(--sky)}.fc-face b{font-family:var(--f-display);font-size:clamp(17px,2.2vw,22px);font-weight:600;line-height:1.35;max-width:460px}.fc-face em{display:inline-flex;align-items:center;gap:6px;font-style:normal;font-size:12px;color:var(--subtle)}.fc-face.back em{color:var(--ok)}.fc-card:focus-visible{outline:none}.fc-card:focus-visible .fc-face{box-shadow:var(--focus)}.fc-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.btn.fc-again{border-color:color-mix(in srgb,var(--coral) 50%,var(--field));color:var(--coral-text)}.btn.fc-again:hover{border-color:var(--coral)}.fc-progress{display:flex;flex-direction:column;align-items:center;gap:6px;width:min(320px,100%);font-size:12.5px;color:var(--muted)}.fc-bar{width:100%;height:6px;border-radius:99px;background:var(--track);overflow:hidden}.fc-bar span{display:block;height:100%;background:var(--ok);border-radius:inherit;transition:width .4s var(--spring)}:root[data-theme=dark] .fc-face.back{background:#22364a}@media (prefers-reduced-motion: reduce){.fc-inner{transition:none}}@media (max-width: 900px){.fc-layout{grid-template-columns:minmax(0,1fr)}.fc-card{aspect-ratio:4 / 3}.fc-face{padding:20px}}.course-card .cover .c-title{max-width:50%;font-size:max(13px,7.6cqw)}.bd b{white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.goal-note.sm{margin-top:auto;padding:10px 12px;font-size:13px}.sk-goal .goal-note.sm{margin-top:16px}.login-copy{width:100%}.login-copy h2{max-width:100%;font-size:clamp(30px,3.3vw,52px);overflow-wrap:break-word;text-wrap:balance}.sk-flame svg,.tools .streak .sk-flame svg,.streak-pop .sk-flame svg{color:#fff;fill:#fff}.player .play-hit{position:absolute;top:0;right:0;bottom:56px;left:0;background:none;border:0;cursor:pointer}.player .ctrl.icon{display:grid;place-items:center;width:32px;height:28px;padding:0}.player .track{cursor:pointer;height:5px}.player .track:focus-visible{outline:2px solid #fff;outline-offset:3px}.player .track span{transition:width .9s linear}.player.is-playing>.cover.has-img:after{background:#0a10161f}.cvp{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:16px}.cvp-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.cvp-sheet{background:#fff;color:#1f2e3a;border-radius:8px;padding:44px 48px;box-shadow:var(--ring),var(--shadow-xs)}.cvp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:20px;border-bottom:2px solid #2D4356;margin-bottom:20px}.cvp-kick{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#46698a}.cvp-head h1{font-size:26px;margin:6px 0 4px;color:#1f2e3a}.cvp-head p{font-size:13px;color:#5a6a77}.cvp-brand{display:inline-flex;align-items:center;gap:8px;font:800 15px var(--f-brand);color:#2d4356;white-space:nowrap}.cvp-table{width:100%;border-collapse:collapse;font-size:13px}.cvp-table th{background:#edf2f6;color:#5a6a77;font-size:11.5px;text-align:left;padding:8px 10px}.cvp-table td{padding:7px 10px;border-bottom:1px solid #E3E9EE;color:#1f2e3a}.cvp-table tbody tr:hover td{background:none}.cvp-table .r{text-align:right;white-space:nowrap}.cvp-rubro td{font-weight:700;background:#f6f8fa}.cvp-table tfoot td{font-weight:700;font-size:14px;border-top:2px solid #2D4356;border-bottom:0;padding-top:10px}.cvp-st{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;font-size:10.5px;font-weight:600;background:#fbf0d9;color:#946200}.cvp-st.ok{background:#ddfaf1;color:#067a5d}.cvp-sum{margin-top:22px;padding:16px 18px;border-radius:8px;background:#f6f8fa;display:flex;flex-direction:column;gap:6px;font-size:13px}.cvp-sum h2{font-size:14px;margin-bottom:4px;color:#1f2e3a}.cvp-sum div{display:flex;justify-content:space-between}.cvp-note{margin-top:18px;font-size:11.5px;color:#8796a2}@media (max-width: 700px){.cvp-sheet{padding:24px 18px}.cvp-head{flex-direction:column}.cvp-table{font-size:12px}}@media print{.sidebar,.topbar,.mobile-bar,.edge-toggle,.wa-fab,.wa-panel,.drawer-backdrop,.no-print,.toasts{display:none!important}.app,.main,.content{display:block!important;padding:0!important;margin:0!important;max-width:none!important;background:#fff!important}body{background:#fff!important}.cvp-sheet{box-shadow:none;padding:0}}.avatar-img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.profile-head .avatar{overflow:hidden}.pf-input{height:38px;max-width:360px}.pf-lock{display:inline-flex;align-items:center;gap:4px;margin-left:10px;font-weight:500}.pw-form{padding:28px 24px 22px;display:flex;flex-direction:column;gap:14px}.pw-form h3{font-size:18px}.pw-form .input.bad{border-color:var(--coral)}.pw-err{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--coral-text)}@media (max-width: 700px){.profile-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px}.profile-head .avatar{width:64px;height:64px;font-size:20px}.profile-head h1{font-size:22px}.profile-head>.btn{grid-column:1 / -1;justify-content:center}.tc-tools{gap:8px}.tc-tools .tc-right{display:contents}.tc-tools .btn{height:38px;padding:0 12px;font-size:13px}.tc-tools .btn.icon-only{width:38px;padding:0}.tc-tools .tc-right>.btn-primary{flex:1 1 100%;justify-content:center}.tc-tools .rmenu-pop{left:0;right:auto}}.ivs.obs{border-color:transparent;background:var(--coral-bg);color:var(--coral-text)}.iv-obs{display:flex;gap:8px;align-items:flex-start;width:100%;padding:10px 12px;border-radius:8px;background:var(--coral-bg);color:var(--coral-text);font-size:13.5px;line-height:1.45}.iv-obs svg{flex:none;margin-top:2px}.sk{display:block;background:linear-gradient(90deg,var(--field) 25%,var(--surface-2, var(--field)) 50%,var(--field) 75%);background-size:400% 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion: reduce){.sk{animation:none}}.spin.dark{width:18px;height:18px;border-radius:50%;border:2px solid var(--field);border-top-color:var(--navy);animation:spin .7s linear infinite;display:inline-block;flex:none}.btn-outline .spin,.btn-ghost .spin,.btn-soft .spin{border-color:var(--field);border-top-color:currentColor}.estado-carga{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px;padding:28px 0;justify-content:center}.auth-wait{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:15px;background:var(--surface)}.estado-error{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:14px;background:var(--card);border:1px solid var(--field)}.estado-error.compacto{padding:12px 14px}.estado-error .ee-ico{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--sky-50);color:var(--steel);flex:none}.estado-error b{display:block;font-size:14.5px}.estado-error small{display:block;color:var(--muted);font-size:13px;margin-top:2px}.form-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:12px;font-size:13.5px;line-height:1.45;background:var(--sky-50);color:var(--text)}.form-alert.error{background:var(--coral-50, #FFF1F2);color:var(--coral-text)}.form-alert.ok{background:var(--ok-50, #E6FBF3);color:var(--ok-text, #0B7A5A)}.form-alert svg{flex:none;margin-top:1px}.input.invalid,.select.invalid,.textarea.invalid{border-color:var(--coral);box-shadow:0 0 0 3px #f2506e1f}.f.server-err .f-err,.f-err.shown{display:flex}.sk-rows{display:flex;flex-direction:column;gap:10px;padding:12px 16px}.sk-rows .sk{height:36px;border-radius:8px}.user-btn .avatar img,.user-head .avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.notif-empty{padding:28px 18px;text-align:center;color:var(--muted);font-size:13.5px}.next-card{display:flex;align-items:center;gap:14px;padding:16px 18px;transition:border-color .15s,transform .15s}.next-card:hover{border-color:var(--steel);transform:translateY(-1px)}.next-card .next-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--sky-50);color:var(--steel)}.next-card .next-ico.live{background:var(--coral-bg);color:var(--coral)}.next-card>span.grow{display:flex;flex-direction:column;gap:2px}.biblioteca-avance{display:block;height:4px;margin-top:8px;border-radius:99px;background:var(--track);overflow:hidden}.biblioteca-avance span{display:block;height:100%;border-radius:inherit;background:var(--ok)}.libro-bar{position:sticky;top:76px;z-index:6;display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;padding:8px 12px;border-radius:var(--r);background:var(--surface);border:1px solid var(--field)}.libro-pag{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.libro-pag input{width:60px;height:32px;padding:0 6px;text-align:center;font:inherit;font-size:13px;font-variant-numeric:tabular-nums;color:var(--text);border:1px solid var(--field);border-radius:6px;background:var(--surface);-moz-appearance:textfield}.libro-pag input::-webkit-outer-spin-button,.libro-pag input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.libro-pag input:focus-visible{outline:none;border-color:var(--steel);box-shadow:var(--focus)}.libro-estado{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}.libro-estado .spin.dark{width:14px;height:14px}.libro-estado.err{color:var(--coral-text)}.libro-estado .link{font-size:12.5px}.libro-indice{position:relative}.libro-indice summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:6px;font-size:13px;font-weight:600;color:var(--text);border:1px solid var(--line);background:var(--surface)}.libro-indice summary::-webkit-details-marker{display:none}.libro-indice summary:hover,.libro-indice[open] summary{border-color:var(--steel)}.libro-indice summary:focus-visible{outline:none;box-shadow:var(--focus)}.libro-indice ol{position:absolute;left:0;top:calc(100% + 6px);z-index:8;width:max-content;min-width:260px;max-width:min(440px,calc(100vw - 48px));margin:0;padding:6px;list-style:none;border-radius:10px;background:var(--surface);border:1px solid var(--field);box-shadow:var(--shadow-md)}.libro-indice li button,.libro-indice li span{display:flex;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:6px;background:none;font:inherit;font-size:13.5px;line-height:1.35;text-align:left;color:var(--text)}.libro-indice li button{cursor:pointer}.libro-indice li button:hover,.libro-indice li button.on{background:var(--sky-50)}.libro-indice li button:focus-visible{outline:none;box-shadow:var(--focus)}.libro-indice li i{flex:none;min-width:18px;font-style:normal;color:var(--subtle);font-variant-numeric:tabular-nums}.libro-visor{position:relative;padding:0;height:min(78vh,1000px);min-height:420px;overflow:hidden}.libro-visor iframe{display:block;width:100%;height:100%;border:0;background:#fff}.libro-visor .doc-wm{z-index:2}.libro-visor .doc-wm span{color:#2d435629;font-size:16px}:root[data-theme=dark] .libro-visor .doc-wm span{color:#ffffff24}.doc-pages .doc-page[data-pagina]{scroll-margin-top:132px}.flashcards-atajos{display:inline-flex;align-items:center;gap:6px;font-size:12px}.flashcards-atajos kbd{display:inline-flex;align-items:center;height:20px;padding:0 6px;border-radius:5px;font:600 11px var(--f-body);color:var(--muted);background:var(--surface-2);box-shadow:inset 0 -1px 0 var(--track)}.fc-card.flashcards-resumen{cursor:default}.flashcards-cifras{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;font-size:13.5px;color:var(--muted)}.flashcards-cifras span{display:inline-flex;align-items:center;gap:6px}.flashcards-cifras svg{color:var(--steel)}@media (hover: none),(max-width: 640px){.flashcards-atajos{display:none}.flashcards-acciones{width:100%}.flashcards-acciones .btn{flex:1 1 150px;min-height:46px}}@media (max-width: 900px){.libro-bar{top:68px}.doc-pages .doc-page[data-pagina]{scroll-margin-top:124px}.libro-visor{height:70vh}}.libro-bar .icon-btn{width:32px;height:32px;border-radius:6px}.libro-bar .icon-btn:disabled{opacity:.35;cursor:default;background:transparent}.libro-bar .icon-btn:focus-visible{outline:none;box-shadow:var(--focus)}.ps-up.ps-down{color:var(--muted)}.cv-docs{display:flex;flex-direction:column;gap:4px;margin-top:8px}.cv-docs a,.cv-docs span{display:inline-flex;align-items:center;gap:5px;min-width:0}.cv-upbar{height:4px;max-width:320px;margin-top:8px;border-radius:999px;background:var(--field);overflow:hidden}.cv-upbar span{display:block;height:100%;background:var(--ok);transition:width .2s}.live-face{width:24px;height:24px;border-radius:50%;object-fit:cover;flex:none}.live-cargo{color:var(--subtle)}.cvrev-frame{display:block;width:100%;height:min(72vh,820px);border:0;border-radius:4px;background:#fff;box-shadow:0 8px 30px #14212d1f}.cvrev-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.cvrev-list li{display:flex;align-items:center;gap:10px;font-size:13.5px;min-width:0}.cvrev-list li a{color:var(--text);font-weight:500}.cvrev-list li a:hover{color:var(--navy);text-decoration:underline}.banco-imp-err ul{list-style:none;margin:6px 0 0;padding:0;font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:2px}.banco-imp-err>span>b{display:block}.simq-tools{gap:8px;align-items:center}.simq-tools .input-icon{min-width:200px}.libro-visor-estado{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px}.libro-visor-estado>.sk{width:100%;height:100%}.alu-imp-err{margin:6px 0 0 18px;font-size:13px;color:var(--muted);display:flex;flex-direction:column;gap:2px}.ops-tarjeta{display:grid;grid-template-columns:24px minmax(0,1fr) minmax(0,1fr) 34px;gap:10px;align-items:start}.ops-tarjeta .textarea{min-height:64px}.ops-n{font-size:12.5px;font-weight:700;color:var(--subtle);padding-top:10px;text-align:right}.ops-buscar{position:relative}.ops-res{left:0;right:0;max-height:320px;overflow:auto}.ops-res>button{align-items:flex-start}.ops-res-msg{display:flex;align-items:center;gap:8px;padding:10px}.ops-np-img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:8px;margin-bottom:12px}@media (max-width: 560px){.ops-tarjeta{grid-template-columns:minmax(0,1fr) 34px}.ops-n{display:none}.ops-tarjeta .textarea:nth-of-type(2){grid-column:1}}@media (max-width: 640px){.libro-bar{gap:6px 6px;padding:8px}.libro-pag>span:first-child{display:none}.libro-pag input{width:52px}.libro-estado{flex-basis:100%;justify-content:flex-end}}.contenido-subiendo{gap:10px;padding:10px 12px}.contenido-barra{flex:0 0 120px}.contenido-thumb{width:56px;height:32px;object-fit:cover;border-radius:6px;flex:none}.contenido-paso{display:block;margin-top:1px;font-size:12px;font-weight:500;color:var(--warn);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contenido-paso.ok{color:#079a74}.contenido-qp-tools{display:flex;gap:8px;flex-wrap:wrap}.contenido-qp-tools .input-icon{flex:1 1 240px;min-width:0}.contenido-qp-tools .select{flex:0 1 200px}.contenido-qp-azar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--surface-2);color:var(--muted)}.contenido-qp-azar .input{width:76px;height:36px}@media (max-width: 560px){.contenido-barra{display:none}}.a-device .ad-ico{display:grid}.section-video{display:block;width:100%;height:100%;background:#0e1820}.section-temas{margin:0 16px;padding:14px 4px 0;border-top:1px solid var(--line)}.section-apoyo{display:inline-flex;align-items:center;gap:6px;margin-top:8px;height:28px;padding:0 10px;border:1px solid var(--line);border-radius:99px;background:var(--surface);font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;transition:border-color .15s,color .15s}.section-apoyo:hover{border-color:var(--subtle);color:var(--text)}.section-apoyo:focus-visible{outline:2px solid var(--steel);outline-offset:2px}.section-apoyo.on{border-color:var(--steel);color:var(--steel);background:var(--sky-50)}.section-apoyo.is-static{cursor:default;border-color:transparent;padding:0;background:none}.doc-page.document-embed{padding:0;aspect-ratio:auto;height:min(82vh,1100px)}.document-frame{display:block;width:100%;height:100%;border:0}.cv-doc{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;min-width:0}.cv-doc-x{border:0;background:none;padding:2px 0;font:inherit;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:5px;text-decoration:underline;text-underline-offset:2px}.cv-doc-x:hover:not(:disabled){color:var(--text)}.cv-doc-x:focus-visible{outline:2px solid var(--steel);outline-offset:2px;border-radius:4px}.cv-ctl{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.cv-ctl-note{max-width:128px;line-height:1.3}.bank-limit{display:block;margin-top:6px!important;font-size:12.5px;font-weight:600;color:var(--warn)!important}.bank-limit.info{font-weight:500;color:var(--muted)!important}.bank-limit .link{margin-left:4px;padding:0;border:0;background:none;font:inherit;cursor:pointer}.bank-layout .combo-opt:disabled{cursor:not-allowed;opacity:.55}.bank-layout .combo-opt:disabled:hover{background:none}.sim-try-limit{display:flex;align-items:center;gap:8px;width:100%;margin:0;font-size:13px;font-weight:600;color:var(--warn)}.sim-try-limit svg{color:var(--warn)!important}.player.section-embed{aspect-ratio:16 / 9;background:#000}.player.section-embed iframe{width:100%;height:100%;border:0;display:block}.section-lectura{white-space:pre-wrap;line-height:1.75;max-width:760px;color:var(--text)}.section-reloj{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--muted);margin-bottom:10px;padding:6px 12px;border-radius:999px;background:var(--surface-2)}.section-reloj b{color:var(--text);font-variant-numeric:tabular-nums}.section-reloj.urgente,.section-reloj.urgente b{color:var(--coral-text)}.ops-subida{position:relative;display:inline-flex;align-items:center;min-width:150px;height:24px;border-radius:999px;background:var(--surface-2);overflow:hidden}.ops-subida i{position:absolute;inset:0 auto 0 0;background:var(--ok);opacity:.35;transition:width .2s}.ops-subida b{position:relative;padding:0 10px;font-size:12px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}
