@font-face{font-family:Aeonik Pro Trial;src:url(/spa/fonts/AeonikProTRIAL-Light.otf) format("opentype");font-weight:300;font-display:swap}@font-face{font-family:Aeonik Pro Trial;src:url(/spa/fonts/AeonikProTRIAL-Regular.otf) format("opentype");font-weight:400;font-display:swap}@font-face{font-family:Aeonik Pro Trial;src:url(/spa/fonts/AeonikProTRIAL-Bold.otf) format("opentype");font-weight:700;font-display:swap}:root{--wb-primary: #15279b;--wb-primary-dark: #213da0;--wb-deep: #1d2146;--wb-cta: #2a2d7d;--wb-cta-hover: #171a6b;--wb-gradient: linear-gradient(103.34deg, #1d2146 -.61%, #213da0 96.43%);--wb-gradient-v: linear-gradient(180deg, #1d2146 0%, #232f74 55%, #213da0 100%);--bg: #fbfbfd;--panel: #fff;--text: #11142d;--text-2: #303030;--muted: #71717c;--placeholder: #a4a4a4;--line: #d9dbe4;--line-input: #d9d9d9;--card-muted: #f5f5f5;--accent: var(--wb-primary-dark);--accent-soft: rgba(33, 61, 160, .08);--ring: rgba(33, 61, 160, .12);--ok: #1d7a4d;--ok-bg: #e5f3ec;--warn: #8a5a00;--warn-bg: #fff3d6;--err: #c8372d;--err-bg: #fbe9e7;--info: var(--wb-primary-dark);--info-bg: #e8ecf8;--neutral-bg: #f0f1f5;--radius: 15px;--radius-sm: 10px;--font: "Aeonik Pro Trial", Arial, sans-serif;font-family:var(--font);color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #0e1124;--panel: #161a33;--text: #eef0fa;--text-2: #d5d8e8;--muted: #8f94b0;--placeholder: #6c7190;--line: #2a2f52;--line-input: #343a63;--card-muted: #1c2140;--accent: #6b86ff;--accent-soft: rgba(107, 134, 255, .12);--ring: rgba(107, 134, 255, .22);--wb-cta: #3a49c9;--wb-cta-hover: #4b5ae0;--ok: #5ccf94;--ok-bg: #12301f;--warn: #e6b450;--warn-bg: #3a2e12;--err: #ff7a6e;--err-bg: #3d1a17;--info: #8fa5ff;--info-bg: #1f2a5c;--neutral-bg: #232846;color-scheme:dark}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.35;font-weight:300;-webkit-font-smoothing:antialiased}b,strong{font-weight:700}h1{font-size:30px;font-weight:400;margin:0 0 4px;letter-spacing:-.01em}h2{font-size:18px;font-weight:400;margin:0 0 14px}p{margin:0 0 8px}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13.5px;font-weight:400}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.w4{font-weight:400}.mt8{margin-top:8px}.mt12{margin-top:12px}.mt20{margin-top:20px}.mb8{margin-bottom:8px}.mb16{margin-bottom:16px}.pt8{padding-top:8px}.ml-auto{margin-left:auto}.self-start{align-self:flex-start}.nowrap{white-space:nowrap}.grow{flex:1;min-width:0}.stack{display:flex;flex-direction:column;gap:16px}.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.clamp1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:4px}.label{font-weight:400;font-size:14px;color:var(--text-2)}.hint{color:var(--muted);font-size:13px}.field-error{color:var(--err);font-size:13px}.check{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}button.link{border:0;background:none;min-height:0;padding:0;color:inherit;text-decoration:underline;font-weight:400}.layout{display:flex;min-height:100vh}aside{width:260px;background:var(--wb-gradient-v);color:#fff;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0;z-index:40}.brand{padding:28px 24px 26px;display:flex;flex-direction:column;gap:6px}.brand img{width:150px;height:auto;display:block}.brand .product{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#fff9;font-weight:400}nav{display:flex;flex-direction:column;padding:0 14px;gap:2px;flex:1;overflow-y:auto}nav a{color:#ffffffc7;text-decoration:none;padding:11px 14px;border-radius:var(--radius-sm);font-size:16px;font-weight:300;transition:background .15s,color .15s;display:flex;align-items:center;justify-content:space-between;gap:8px}nav a:hover{background:#ffffff14;color:#fff;text-decoration:none}nav a.active{background:#fffffff5;color:var(--wb-deep);font-weight:400}.nav-section{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:#ffffff73;padding:20px 14px 6px}.nav-count{background:#fff;color:var(--wb-deep);border-radius:999px;font-size:12px;min-width:22px;height:22px;display:inline-grid;place-items:center;padding:0 6px;font-weight:700}nav a.active .nav-count{background:var(--wb-cta);color:#fff}.user{padding:18px 20px 18px 24px;display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid rgba(255,255,255,.14)}.user .who{display:flex;flex-direction:column;min-width:0;line-height:1.25;text-decoration:none}.user .who b{font-weight:400;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user .who span{font-size:12.5px;color:#ffffffa6}.user .ghost{color:#fff;border-color:#ffffff59}.user .ghost:hover{background:#ffffff1a}main{flex:1;padding:40px 44px 60px;min-width:0}.topbar,.scrim{display:none}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:20px}.card.empty{text-align:center;padding:48px 24px;color:var(--muted)}.card.alert{background:var(--err-bg);color:var(--err);border-color:transparent}.card.narrow{max-width:720px}.card h2{margin-bottom:6px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;flex-wrap:wrap}.page-head p{margin:4px 0 0;max-width:760px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:16px}.card-head h2{margin:0 0 4px}.card-head.pad{padding:20px 24px 4px;margin:0}.crumbs{display:flex;gap:8px;flex-wrap:wrap;font-size:14px;color:var(--muted);margin-bottom:10px}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--accent)}button,.button{font:inherit;font-weight:300;border-radius:var(--radius);min-height:44px;padding:0 20px;border:1px solid var(--line-input);background:var(--panel);color:var(--text);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;transition:background .15s,border-color .15s}.button:hover{text-decoration:none}button:disabled{opacity:.5;cursor:default}button.primary,.button.primary{background:var(--wb-cta);border-color:var(--wb-cta);color:#fff}button.primary:hover:not(:disabled),.button.primary:hover{background:var(--wb-cta-hover);border-color:var(--wb-cta-hover)}button.ok-fill{background:var(--ok);border-color:var(--ok)}button.ok-fill:hover:not(:disabled){background:#176240;border-color:#176240}button.danger-fill{background:var(--err);border-color:var(--err)}button.danger-fill:hover:not(:disabled){background:#a92c23;border-color:#a92c23}.ghost{background:transparent}.ghost:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.ghost.danger{color:var(--err);border-color:transparent}.ghost.danger:hover:not(:disabled){background:var(--err-bg);border-color:transparent}.ghost.danger-line{color:var(--err);border-color:var(--err)}.ghost.danger-line:hover:not(:disabled){background:var(--err-bg);border-color:var(--err)}button.small,.button.small{min-height:32px;padding:0 12px;font-size:13px;border-radius:var(--radius-sm)}button.wide{width:100%;min-height:52px;margin-top:4px}button.icon{border:none;background:transparent;min-height:32px;min-width:32px;padding:0 8px;font-size:16px;color:var(--muted);border-radius:8px}button.icon:hover:not(:disabled){color:var(--text);background:var(--neutral-bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input,select,textarea{font:300 16px/1.35 var(--font);color:var(--text);background:var(--panel);border:1px solid var(--line-input);border-radius:var(--radius);min-height:46px;padding:0 16px;width:100%;min-width:0}select.auto{width:auto}textarea{padding-top:12px;padding-bottom:12px;min-height:100px;resize:vertical}input::placeholder,textarea::placeholder{color:var(--placeholder)}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:inset 0 0 0 1px var(--accent),0 0 0 3px var(--ring)}input:disabled{background:var(--neutral-bg)}input[type=checkbox],input[type=radio]{width:18px;height:18px;min-height:0;accent-color:var(--wb-cta);flex-shrink:0;margin:0}input[type=file]{border:1px dashed var(--line-input);padding:12px 16px;min-height:0;cursor:pointer}input.search{width:260px}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12.5px;font-weight:400;background:var(--neutral-bg);color:var(--muted);white-space:nowrap}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.err{background:var(--err-bg);color:var(--err)}.badge.info{background:var(--info-bg);color:var(--info)}.loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:48px;color:var(--muted)}.loading.full{min-height:100vh}.spinner{width:22px;height:22px;border:2.5px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;display:inline-block}.spinner.sm{width:14px;height:14px;border-width:2px;border-color:#fff6;border-top-color:currentColor}@keyframes spin{to{transform:rotate(360deg)}}.progress{display:flex;align-items:center;gap:10px;min-width:120px}.progress-track{flex:1;height:8px;background:var(--neutral-bg);border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:var(--wb-gradient);border-radius:999px;transition:width .4s}.progress-fill.done{background:var(--ok)}.progress-num{font-size:13px;font-variant-numeric:tabular-nums;color:var(--text-2);min-width:36px;text-align:right}.progress.small{min-width:96px}.progress.small .progress-track{height:6px}.card.hero{background:var(--wb-gradient);color:#fff;border:0;display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:center}.card.hero .progress-track{background:#ffffff2e;height:10px}.card.hero .progress-fill{background:#fff}.hero-label{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#ffffffb3}.hero-num{font-size:44px;font-weight:400;line-height:1.1;font-variant-numeric:tabular-nums}.hero-sub{color:#ffffffc7;font-size:14px}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.course-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:10px;color:var(--text);text-decoration:none;transition:box-shadow .15s,transform .15s,border-color .15s;position:relative;overflow:hidden}.course-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--wb-gradient)}a.course-card:hover{text-decoration:none;border-color:var(--accent);box-shadow:0 10px 28px #11142d14;transform:translateY(-2px)}.course-card h2{margin:0;font-size:20px}.course-card p{margin:0}.course-card.locked{opacity:.65}.course-card.locked:before{background:var(--line)}.course-top{display:flex;justify-content:space-between;align-items:center}.course-num{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.course-foot{margin-top:auto;padding-top:10px;display:flex;flex-direction:column;gap:6px}.lock{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--neutral-bg);color:var(--muted);vertical-align:middle;flex-shrink:0}.module-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px;flex-wrap:wrap}.module-head h2{margin:0;display:flex;align-items:center;gap:10px}.module-head p{margin:4px 0 0}.module-head .progress{width:220px}.module.locked{background:var(--card-muted)}ol.lessons,ul.lessons{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.lesson{display:flex;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;color:var(--text);text-decoration:none;background:var(--panel);transition:border-color .15s,background .15s}a.lesson:hover{border-color:var(--accent);background:var(--accent-soft);text-decoration:none}.lesson.locked{color:var(--muted);background:transparent;border-style:dashed}.lesson-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lesson-main b{font-weight:400}.lesson-side{display:flex;align-items:center;gap:12px;flex-shrink:0}.lessons.compact .lesson{padding:8px 12px}.licon{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;font-weight:700;font-size:16px}.licon.assignment{background:var(--info-bg);color:var(--info)}.licon.test{background:var(--warn-bg);color:var(--warn)}.pad-s{padding:8px 4px}.md{line-height:1.6;color:var(--text-2);overflow-wrap:anywhere}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md h1,.md h2,.md h3{color:var(--text);font-weight:400;margin:1.2em 0 .5em}.md h1{font-size:24px}.md h2{font-size:20px}.md h3{font-size:17px}.md p,.md ul,.md ol{margin:0 0 .8em}.md strong{color:var(--text)}.md code{background:var(--neutral-bg);padding:2px 6px;border-radius:6px;font-size:.92em}.md pre{background:var(--card-muted);padding:14px 16px;border-radius:var(--radius-sm);overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.md pre code{background:none;padding:0;white-space:inherit;font-size:14px}.md blockquote{margin:0 0 .8em;padding:8px 16px;border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 10px 10px 0}.md img{max-width:100%;border-radius:var(--radius-sm)}.md table{border-collapse:collapse;margin-bottom:.8em;display:block;overflow-x:auto}.md th,.md td{border:1px solid var(--line);padding:6px 10px}.md tr:last-child td{border-bottom:1px solid var(--line)}.task-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}.task-title{display:flex;align-items:center;gap:12px;min-width:0}.task-title h2{margin:0}.task-n{width:30px;height:30px;border-radius:50%;display:inline-grid;place-items:center;background:var(--wb-gradient);color:#fff;font-size:13px;font-weight:700;flex-shrink:0}.task-n.ok{background:var(--ok)}.task-n.err{background:var(--err)}.task-body{margin:0 0 16px 42px}.card.task.accepted{border-color:#1d7a4d59}.card.task.rejected{border-color:#c8372d59}.answer{border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:8px}.answer-form{border-top:1px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:14px}.answer-text{white-space:pre-wrap;background:var(--card-muted);border-radius:var(--radius-sm);padding:14px 16px;overflow-wrap:anywhere}.file-link{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);align-self:flex-start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.review-note{border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:14px;background:var(--neutral-bg)}.review-note p{margin:4px 0 0;white-space:pre-wrap}.review-note b{font-weight:400}.review-note.err{background:var(--err-bg);color:var(--err)}.review-note.ok{background:var(--ok-bg);color:var(--ok)}.review-note.info{background:var(--info-bg);color:var(--info);margin:14px 0 0}.next-box{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;border-color:#1d7a4d59;background:var(--ok-bg)}.next-box b{font-weight:400;font-size:17px;color:var(--ok)}.next-box p{margin:2px 0 0}.stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.stats3>div{display:flex;flex-direction:column;gap:4px;padding:16px;border-radius:var(--radius-sm);background:var(--card-muted)}.stats3 b{font-size:26px;font-weight:400}.test-intro p{margin-bottom:16px}.q-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.q-text{font-size:17px;font-weight:400;white-space:pre-wrap}.options{display:flex;flex-direction:column;gap:8px}.option{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--line-input);border-radius:12px;cursor:pointer;transition:border-color .15s,background .15s}.option:hover{border-color:var(--accent)}.option.on{border-color:var(--accent);background:var(--accent-soft)}.option.static{cursor:default}.option.static:hover{border-color:var(--line-input)}.option.right{border-color:#1d7a4d80;background:var(--ok-bg)}.option.wrong{border-color:#c8372d80;background:var(--err-bg)}.opt-mark{width:18px;text-align:center;color:var(--muted)}.card.question.q-ok{border-left:4px solid var(--ok)}.card.question.q-err{border-left:4px solid var(--err)}.submit-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;position:sticky;bottom:12px;box-shadow:0 10px 30px #11142d1a}.result{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.result .actions{margin-left:auto}.result-num{font-size:48px;font-weight:400;width:120px;height:120px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.result b{font-size:20px;font-weight:400}.result p{margin:4px 0 0;color:var(--muted)}.result.ok .result-num{background:var(--ok-bg);color:var(--ok)}.result.err .result-num{background:var(--err-bg);color:var(--err)}.review-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.side-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.side-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;font-size:14px}.side-list li.cur{background:var(--accent-soft)}.table-wrap{padding:0;overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-size:13px;color:var(--muted);font-weight:400;padding:14px 20px;border-bottom:1px solid var(--line);background:var(--card-muted);white-space:nowrap}.table-wrap th:first-child{border-top-left-radius:var(--radius)}.table-wrap th:last-child{border-top-right-radius:var(--radius)}td{padding:14px 20px;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:none}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--accent-soft)}.row-actions{text-align:right;width:1%;white-space:nowrap}.pager{display:flex;gap:10px;align-items:center;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--line)}.pager .muted{margin-right:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field.full,.full{grid-column:1 / -1}.field.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-sec{margin-top:8px;padding-top:16px;border-top:1px solid var(--line);font-weight:400;font-size:17px}.input-row{display:flex;gap:8px}.toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:300;white-space:nowrap}.toggle input{position:absolute;opacity:0;width:1px;height:1px}.toggle .track{width:40px;height:22px;border-radius:999px;background:var(--line-input);position:relative;transition:background .15s;flex-shrink:0}.toggle .track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 3px #0003}.toggle input:checked+.track{background:var(--wb-cta)}.toggle input:checked+.track:after{transform:translate(18px)}.toggle input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:2px}.toggle input:disabled+.track{opacity:.5}.form-error{background:var(--err-bg);color:var(--err);padding:12px 16px;border-radius:var(--radius-sm);margin-top:4px}.option-list{display:flex;flex-direction:column;gap:8px}.option-row{display:flex;align-items:center;gap:10px}.seg{display:inline-flex;padding:4px;gap:4px;border:1px solid var(--line-input);border-radius:12px;background:var(--panel);flex-wrap:wrap}.seg button{min-height:36px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:var(--muted)}.seg button.on{background:var(--accent-soft);color:var(--accent)}.seg-count{background:var(--neutral-bg);border-radius:999px;font-size:12px;padding:1px 8px}.seg button.on .seg-count{background:var(--wb-cta);color:#fff}.small-seg button{min-height:30px;font-size:13px}.md-editor{display:flex;flex-direction:column;gap:8px}.md-editor .seg{align-self:flex-start}.md-editor textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px}.md-preview{border:1px solid var(--line-input);border-radius:var(--radius);padding:14px 16px;min-height:120px}.move{display:inline-flex;gap:2px}.move button.icon{min-width:28px;padding:0 4px;font-size:15px}ol.editor-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.editor-list li{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px}.opt-preview{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.chip{font-size:12.5px;padding:3px 10px;border-radius:999px;background:var(--neutral-bg);color:var(--text-2)}.chip.ok{background:var(--ok-bg);color:var(--ok)}.roles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.roles .role{margin:0;padding:18px 20px}.roles .role p{margin:6px 0 0}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#11142d8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px;z-index:50}.modal{background:var(--panel);border-radius:20px;width:100%;max-width:540px;max-height:calc(100vh - 32px);overflow-y:auto;padding:28px;box-shadow:0 18px 40px #00000029}.modal.wide{max-width:820px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}.modal-head h2{margin:0;font-size:22px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;flex-wrap:wrap}.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:10px;z-index:100;max-width:calc(100vw - 40px)}.toast{padding:14px 18px;border-radius:var(--radius);background:var(--wb-gradient);color:#fff;box-shadow:0 18px 40px #0003;max-width:440px;font-weight:400}.toast.err{background:var(--err)}.login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:32px 16px;background:#121a2e url(/spa/brand/login-bg.svg) center bottom / cover no-repeat}.login-logo{width:210px;height:auto}.login .card{width:100%;max-width:440px;padding:32px;display:flex;flex-direction:column;gap:18px;border:none;box-shadow:0 18px 40px #0000004d;margin:0}.login h1{font-size:26px}.login .card p{margin:0}.login-foot{color:#ffffffbf;font-size:14px}.login-foot a{color:#fff;text-decoration:underline}.mail-icon{width:64px;height:64px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:28px}@media (max-width: 1100px){main{padding:32px 28px 60px}.review-grid{grid-template-columns:1fr}.module-head .progress{width:160px}}@media (max-width: 900px){.layout{display:block}.topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:30;padding:10px 16px;background:var(--wb-gradient);color:#fff}.topbar .icon{color:#fff}.topbar .icon:hover{background:#ffffff1f;color:#fff}.topbar-logo{height:20px;width:auto}aside{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .22s}aside.open{transform:none;box-shadow:0 0 40px #0006}.scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#11142d73;z-index:35}main{padding:24px 20px 48px}.roles{grid-template-columns:1fr}}@media (max-width: 640px){h1{font-size:24px}h2{font-size:17px}main{padding:18px 16px 40px}.card{padding:18px;border-radius:14px}.page-head{align-items:stretch;flex-direction:column;margin-bottom:18px}.page-head .actions,.page-head form,input.search{width:100%}.course-grid{grid-template-columns:1fr;gap:14px}.form-grid,.field.two,.stats3{grid-template-columns:1fr}.card.hero{grid-template-columns:1fr;gap:14px}.hero-num{font-size:36px}.module-head .progress{width:100%}.lesson{flex-wrap:wrap;gap:10px 12px}.lesson-side{width:100%;padding-left:48px;justify-content:space-between}.task-body{margin-left:0}.task-head{flex-direction:column}.actions>button,.actions>.button{flex:1}.result{flex-direction:column;align-items:flex-start}.result .actions{margin-left:0;width:100%}.result-num{width:96px;height:96px;font-size:36px}.submit-bar{bottom:8px}.editor-list li{flex-wrap:wrap}.editor-list li .grow{flex-basis:calc(100% - 42px)}.seg{display:flex}.seg button{flex:1;padding:0 8px}.modal{padding:20px;border-radius:16px}.toasts{left:16px;right:16px;bottom:16px}.table-wrap thead{display:none}.table-wrap tr{display:block;border-bottom:1px solid var(--line);padding:10px 0}.table-wrap tr:last-child{border-bottom:0}.table-wrap td{display:flex;justify-content:space-between;align-items:center;gap:12px;border:none;padding:5px 18px;text-align:right}.table-wrap td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:13px;text-align:left;flex-shrink:0}.table-wrap td:first-child{text-align:left;display:block}.table-wrap td:first-child:before{display:none}.row-actions{width:auto;justify-content:flex-end!important}.clamp1{max-width:100%}}.file-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.file-tile{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;color:var(--text);transition:border-color .15s,background .15s;min-width:0}.file-tile:hover{border-color:var(--accent);background:var(--accent-soft);text-decoration:none}.file-meta{display:flex;flex-direction:column;min-width:0}.file-meta b{font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-ext{width:42px;height:42px;border-radius:10px;background:var(--wb-gradient);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:700;letter-spacing:.04em;flex-shrink:0}label.button{cursor:pointer}label.button.disabled{opacity:.5;pointer-events:none}details.key-card{border-color:#8a5a004d;background:var(--warn-bg);padding:18px 22px}details.key-card summary{color:var(--warn);font-weight:400}details.key-card[open] summary{margin-bottom:12px}details.key-card .md{color:var(--text-2)}.md table{font-size:14px}.mono-area{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px}.form-fields{display:flex;flex-direction:column;gap:14px}.form-fields textarea.field-input{min-height:0;padding-top:10px;padding-bottom:10px;resize:vertical}.fields-view{margin:0;display:grid;grid-template-columns:minmax(140px,220px) 1fr;border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden}.fields-view>div{display:contents}.fields-view dt,.fields-view dd{margin:0;padding:10px 14px;border-bottom:1px solid var(--line)}.fields-view>div:last-child dt,.fields-view>div:last-child dd{border-bottom:0}.fields-view dt{color:var(--muted);font-size:14px;background:var(--card-muted)}.fields-view dd{white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width: 640px){.fields-view{grid-template-columns:1fr}.fields-view dt{border-bottom:0;padding-bottom:2px}}.md-input{border:1px solid var(--line-input);border-radius:var(--radius);background:var(--panel);overflow:hidden;transition:border-color .15s,box-shadow .15s}.md-input:focus-within{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent),0 0 0 3px var(--ring)}.md-input.invalid{border-color:var(--err)}.md-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:4px 6px;border-bottom:1px solid var(--line);background:var(--card-muted);flex-wrap:wrap}.md-tools,.md-tabs{display:flex;gap:2px}.md-toolbar button{min-height:30px;min-width:32px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:var(--text-2);font-size:14px}.md-toolbar button:hover:not(:disabled){background:var(--panel);color:var(--text)}.md-tabs button{font-size:13px;color:var(--muted)}.md-tabs button.on{background:var(--panel);color:var(--accent);box-shadow:0 1px 2px #11142d14}.md-input textarea{border:0;border-radius:0;box-shadow:none!important;min-height:0;display:block}.md-input textarea:focus{box-shadow:none}.md-input-preview{padding:12px 16px}.answer-md{background:var(--card-muted);border-radius:var(--radius-sm);padding:14px 16px}.fields-view dd{white-space:normal}.fields-view dd .md p{margin:0 0 .4em}.fields-view dd .md>:last-child{margin-bottom:0}.choice-list{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0;border-radius:var(--radius-sm)}.choice-list.invalid{outline:1px solid var(--err);outline-offset:4px}.choice{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--line-input);border-radius:8px;cursor:pointer;font-size:14px;transition:border-color .15s,background .15s;-webkit-user-select:none;user-select:none}.choice:hover{border-color:var(--accent)}.choice.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.choice input{width:16px;height:16px}input.invalid{border-color:var(--err)}.task-files{margin:0 0 16px 42px}@media (max-width: 640px){.task-files{margin-left:0}}
