:root{--ink:#162a3d;--ink-soft:#294057;--muted:#68798b;--line:#dce5ec;--paper:#f5f7f9;--white:#fff;--blue:#2867db;--blue-dark:#174aa9;--blue-pale:#edf3ff;--green:#23795f;--green-pale:#e9f7f0;--orange:#d96a3b;--shadow:0 24px 70px rgba(22,42,61,.09)}
*{box-sizing:border-box}html{background:var(--paper)}body{margin:0;color:var(--ink);font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);font-size:13px;font-weight:900;letter-spacing:.18em;text-decoration:none}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:var(--ink);color:#c5efd9;font-size:15px;letter-spacing:-.08em}.kicker,.overline{margin:0;color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.overline{display:block;color:#7d8c9d;font-size:9px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:10px;padding:13px 18px;font-weight:800;transition:.2s ease}.button-primary{background:var(--blue);color:var(--white);box-shadow:0 9px 20px rgba(40,103,219,.2)}.button-primary:hover{background:var(--blue-dark);transform:translateY(-1px)}.button-secondary{border:1px solid #bdd0ee;background:var(--white);color:var(--blue);white-space:nowrap}.button-secondary:hover{border-color:var(--blue);background:var(--blue-pale)}.form-status{min-height:20px;margin:9px 0 0;color:var(--muted);font-size:12px}.form-status.success{color:var(--green)}.form-status.error,.inline-error{color:#a4452a}.auth-screen{display:grid;grid-template-columns:minmax(440px,600px) 1fr;min-height:100vh;background:var(--white)}.auth-panel{width:min(440px,calc(100% - 48px));margin:auto;padding:44px 0}.auth-copy{margin:75px 0 30px}.auth-copy h1{max-width:460px;margin:14px 0;font-size:clamp(38px,4.5vw,58px);line-height:1.01;letter-spacing:-.06em}.auth-copy p:last-child{max-width:390px;color:var(--muted);font-size:16px}.auth-form,.magic-form{display:grid;gap:8px}.auth-form label,.magic-form label{margin-top:8px;color:var(--ink-soft);font-size:12px;font-weight:800}.auth-form input,.magic-form input,.workspace-card textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--white);color:var(--ink);outline:0;padding:13px 14px}.auth-form input:focus,.magic-form input:focus,.workspace-card textarea:focus{border-color:#81a7e8;box-shadow:0 0 0 3px var(--blue-pale)}.auth-form .button{margin-top:10px}.auth-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:#a7b3be;font-size:11px}.auth-divider:before,.auth-divider:after{content:"";height:1px;flex:1;background:var(--line)}.inline-form{display:grid;grid-template-columns:1fr auto;gap:8px}.auth-foot{margin:27px 0 0;color:var(--muted);font-size:12px}.auth-foot a{color:var(--blue);font-weight:800}.security-note{margin-top:70px;color:#9aa7b3;font-size:11px}.auth-aside{position:relative;overflow:hidden;background:linear-gradient(145deg,#162a3d 0%,#1d3c53 55%,#236c67 100%);display:grid;place-items:center}.auth-aside:before{content:"";position:absolute;inset:15% 10%;border:1px solid rgba(201,240,218,.18);border-radius:50%;transform:rotate(-24deg) scaleY(.62)}.aside-orbit{position:absolute;border:1px solid rgba(201,240,218,.2);border-radius:50%;transform:rotate(-25deg) scaleY(.6)}.orbit-one{width:700px;height:700px}.orbit-two{width:440px;height:440px}.aside-card{position:relative;width:min(390px,70%);padding:36px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.1);color:#fff;backdrop-filter:blur(8px);box-shadow:0 30px 80px rgba(0,0,0,.2)}.aside-label{display:block;margin-bottom:50px;color:#b9efd1;font-size:10px;font-weight:900;letter-spacing:.16em}.aside-card strong{display:block;font-size:35px;line-height:1.08;letter-spacing:-.05em}.aside-card small{color:#c1d2dd}.mini-progress{height:5px;margin:42px 0 11px;border-radius:99px;background:rgba(255,255,255,.2)}.mini-progress span{display:block;width:62%;height:100%;border-radius:99px;background:#b9efd1}.app-screen{min-height:100vh;background:var(--paper)}.app-header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:44px;height:76px;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid var(--line);background:rgba(255,255,255,.93);backdrop-filter:blur(12px)}.main-nav{display:flex;gap:5px;height:100%}.nav-link{position:relative;border:0;background:none;color:#7b8998;padding:0 15px;font-size:13px;font-weight:800}.nav-link.active{color:var(--ink)}.nav-link.active:after{content:"";position:absolute;right:14px;bottom:0;left:14px;height:3px;border-radius:3px;background:var(--blue)}.account-menu{display:flex;align-items:center;gap:18px;margin-left:auto;color:#718091;font-size:12px}.logout{border:0;background:none;color:var(--blue);font-size:12px;font-weight:800}.app-main{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:64px 0 88px}.welcome-row,.workspace-heading{display:flex;justify-content:space-between;align-items:end;gap:36px}.welcome-row h1,.workspace-heading h1{margin:12px 0 15px;font-size:clamp(38px,5vw,62px);line-height:.99;letter-spacing:-.065em}.welcome-row h1 em,.workspace-heading h1 em{color:var(--blue);font-style:normal}.lead{max-width:580px;margin:0;color:var(--muted);font-size:16px}.hero-action{margin-bottom:8px}.progress-card{margin:52px 0 24px;padding:22px 25px;border:1px solid var(--line);border-radius:14px;background:var(--white)}.progress-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.progress-heading strong{display:block;margin-top:3px;font-size:14px}.progress-heading>span{color:var(--blue);font-size:25px;font-weight:900;letter-spacing:-.06em}.progress-track{height:7px;margin:18px 0 10px;border-radius:99px;background:#e7edf2;overflow:hidden}.progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),#53bca4);transition:width .4s}.progress-card p{margin:0;color:#8794a1;font-size:12px}.course-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px}.lesson-sidebar,.lesson-panel,.workspace-card{border:1px solid var(--line);border-radius:15px;background:var(--white);box-shadow:0 12px 35px rgba(22,42,61,.04)}.lesson-sidebar{align-self:start;padding:22px 0}.sidebar-heading{padding:0 21px 19px;border-bottom:1px solid var(--line)}.sidebar-heading strong{display:block;margin-top:5px;font-size:15px}.lesson-list{padding-top:8px}.lesson-item{display:grid;grid-template-columns:28px 1fr;gap:10px;width:100%;border:0;border-left:3px solid transparent;background:none;color:var(--ink-soft);padding:13px 20px;text-align:left}.lesson-item:hover{background:#f8fafc}.lesson-item.active{border-left-color:var(--blue);background:var(--blue-pale);color:var(--blue-dark)}.lesson-item.complete .lesson-dot{border-color:var(--green);background:var(--green);color:#fff}.lesson-dot{display:grid;place-items:center;width:23px;height:23px;border:1px solid #bcc9d5;border-radius:50%;color:#738293;font-size:10px;font-weight:900}.lesson-item strong{font-size:12px;line-height:1.35}.lesson-item small{display:block;margin-top:3px;color:#9aa7b3;font-size:10px}.lesson-panel{min-height:520px;padding:36px 44px}.lesson-top{display:flex;justify-content:space-between;align-items:center}.lesson-number{color:var(--blue);font-size:10px;font-weight:900;letter-spacing:.14em}.complete-badge{border-radius:99px;background:var(--green-pale);color:var(--green);padding:5px 9px;font-size:10px;font-weight:900}.lesson-panel h2{max-width:700px;margin:18px 0 27px;font-size:clamp(27px,4vw,44px);line-height:1.04;letter-spacing:-.05em}.rich-content{max-width:720px;color:#516476;font-size:15px;line-height:1.8}.rich-content h3{margin:27px 0 7px;color:var(--ink);font-size:17px}.rich-content p{margin:0 0 17px}.rich-content ul,.rich-content ol{margin:0 0 18px;padding-left:22px}.rich-content li{margin:5px 0}.rich-content a{color:var(--blue);font-weight:800}.lesson-actions{display:flex;align-items:center;gap:20px;margin-top:36px;padding-top:23px;border-top:1px solid var(--line)}.text-button{border:0;background:none;color:var(--blue);font-size:12px;font-weight:800}.workspace-heading{align-items:start;margin-bottom:42px}.workspace-rule{display:grid;gap:5px;min-width:250px;padding:16px 18px;border-left:3px solid var(--green);background:var(--green-pale);color:var(--green);font-size:12px}.workspace-rule b{font-size:11px}.workspace-rule span{color:#507a6e}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}.workspace-card{padding:27px}.card-title{display:flex;align-items:flex-start;gap:13px;margin-bottom:24px}.card-title h2{margin:0;font-size:18px}.card-title p{margin:4px 0 0;color:#8794a1;font-size:12px}.card-index{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;background:var(--blue-pale);color:var(--blue);font-size:11px;font-weight:900}.card-index.green{background:var(--green-pale);color:var(--green)}.workspace-card label{display:block;margin:17px 0 7px;color:var(--ink-soft);font-size:11px;font-weight:900}.workspace-card label span{color:var(--orange)}.workspace-card textarea{min-height:165px;resize:vertical;line-height:1.55}.workspace-card textarea.cv-text{min-height:115px}.file-drop{display:flex;align-items:center;gap:12px;min-height:53px;padding:8px 12px;border:1px dashed #aebdca;border-radius:9px;background:#fbfcfd}.file-drop input{max-width:50%;font-size:11px}.file-drop span{color:#8794a1;font-size:11px}.workspace-consent{display:flex;gap:8px;margin:17px 0;color:#8493a1}.workspace-consent span{color:var(--blue);font-size:17px}.workspace-consent p{margin:0;font-size:11px;line-height:1.45}.workspace-card>.button{width:100%}.inline-error{margin-top:12px;padding:10px 12px;border:1px solid #f0c9bd;border-radius:8px;background:#fff3ef;font-size:12px}.result-card{position:relative;min-height:620px}.copy-button{margin-left:auto;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--blue);padding:7px 10px;font-size:11px;font-weight:800}.result-empty{display:grid;place-items:center;align-content:center;min-height:460px;text-align:center;color:#8794a1}.result-icon{display:grid;place-items:center;width:49px;height:49px;margin-bottom:14px;border-radius:50%;background:var(--green-pale);color:var(--green);font-size:22px}.result-empty strong{color:var(--ink-soft);font-size:16px}.result-empty p{max-width:280px;margin:7px 0;line-height:1.55;font-size:12px}.result-card pre{display:none;max-height:680px;margin:0;overflow:auto;white-space:pre-wrap;color:#425568;font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace}.result-card.has-result .result-empty{display:none}.result-card.has-result pre{display:block}.app-footer{display:flex;justify-content:space-between;gap:20px;padding:23px clamp(20px,5vw,72px);border-top:1px solid var(--line);color:#8996a2;font-size:10px}.app-footer span:first-child{color:var(--ink);font-weight:900;letter-spacing:.14em}.empty-state{display:grid;place-items:center;min-height:440px;color:#8794a1}.spinner{width:25px;height:25px;border:3px solid #d9e5f4;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[hidden]{display:none!important}
@media(max-width:900px){.auth-screen{grid-template-columns:1fr}.auth-aside{display:none}.auth-panel{padding:32px 0}.auth-copy{margin-top:65px}.security-note{margin-top:50px}.app-header{gap:18px;padding:0 20px}.main-nav{margin-left:auto}.account-menu>span{display:none}.app-main{width:min(100% - 28px,720px);padding-top:38px}.welcome-row,.workspace-heading{display:block}.hero-action{margin-top:25px}.course-layout,.workspace-grid{grid-template-columns:1fr}.lesson-sidebar{order:2}.lesson-panel{padding:28px 23px}.lesson-list{display:grid;grid-template-columns:repeat(2,1fr)}.lesson-item{padding:12px 14px}.workspace-rule{margin-top:25px}.app-footer{display:grid;gap:7px}}
@media(max-width:520px){.auth-panel{width:calc(100% - 36px)}.auth-copy h1{font-size:42px}.inline-form{grid-template-columns:1fr}.inline-form .button{width:100%}.app-header{height:66px}.brand{font-size:11px}.brand-mark{width:31px;height:31px}.main-nav{gap:0}.nav-link{padding:0 7px;font-size:11px}.nav-link.active:after{right:7px;left:7px}.app-main{width:calc(100% - 20px)}.welcome-row h1,.workspace-heading h1{font-size:43px}.lesson-list{grid-template-columns:1fr}.lesson-panel{min-height:460px}.workspace-card{padding:20px}.file-drop{display:block;padding:12px}.file-drop input{max-width:100%;width:100%}.file-drop span{display:block;margin-top:8px}.lesson-actions{display:grid;gap:13px}.lesson-actions .button,.lesson-actions .text-button{width:100%}}
