:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#282e3e;background:#f6f7fb;font-synthesis:none;--accent:#3048c9}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,.button,.file-button{cursor:pointer;border:0;border-radius:24px;padding:12px 19px;background:var(--accent);color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;font-weight:600}button:disabled{opacity:.5;cursor:wait}button:hover{filter:brightness(.95)}button.secondary{background:#edefff;color:#3048c9}button.danger{background:#ffe6ea;color:#a3203e;margin-left:12px}input,textarea,select{width:100%;border:1px solid #d8deeb;background:#fff;border-radius:8px;padding:12px;color:#282e3e}input:focus,textarea:focus,select:focus{outline:2px solid #4255ff;outline-offset:1px}input[type=radio]{width:auto}textarea{min-height:130px;resize:vertical}label{display:block;font-size:13px;font-weight:600;margin:18px 0}label input,label textarea,label select{margin-top:8px}h1{font-size:34px;letter-spacing:-1px;font-weight:600;margin:12px 0}h2{font-size:23px;font-weight:600}h3{font-size:19px;font-weight:600}p{color:#586380;line-height:1.65}small{color:#586380;display:block;font-size:12px}.eyebrow{font-size:10px;letter-spacing:1.5px;font-weight:700;color:#586380}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:20px;color:#3048c9}.shell{display:flex;min-height:100vh}aside{width:260px;background:#fff;position:fixed;inset:0 auto 0 0;border-right:1px solid #e9ecf4;padding:30px 20px;display:flex;flex-direction:column}.workspace-label{font-size:10px;letter-spacing:1.5px;color:#939bb4;margin:40px 12px 15px}nav{display:grid;gap:6px}nav button{border-radius:8px;background:none;color:#586380;justify-content:flex-start;text-align:left;padding:14px 12px;font-weight:500}nav button.active{background:#edefff;color:#3048c9}nav b{background:#3048c9;color:#fff;border-radius:15px;padding:2px 7px;margin-left:auto}.profile{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:25px}.profile button{background:none;color:#586380;padding:6px}.profile strong{font-size:12px}.avatar{width:35px;height:35px;flex-shrink:0;border-radius:50%;background:#ffe2cf;color:#855023;display:grid;place-items:center}main{margin-left:260px;width:calc(100% - 260px)}header{height:78px;border-bottom:1px solid #e6e9f1;display:flex;align-items:center;justify-content:space-between;padding:0 42px;background:#fff;font-size:12px;color:#586380}.content{max-width:1450px;margin:auto;padding:38px 42px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.hero{background:#edefff;display:flex;justify-content:space-between;align-items:center;padding:32px 38px;border-radius:14px;margin:24px 0}.hero h2{font-size:29px}.hero-icon{color:#b7bffc;margin-right:45px}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.card{background:#fff;border:1px solid #e4e8f1;border-radius:12px;padding:24px;margin-bottom:16px;box-shadow:0 2px 8px #282e3e03}.stats .card strong{display:block;font-size:30px;font-weight:600;margin-top:14px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.exercise>div:first-child{display:flex;align-items:center;justify-content:space-between}.badge{display:inline-block;border-radius:5px;background:#fff0cf;color:#86671d;padding:6px 8px;font-size:10px;font-weight:700}.badge.green{background:#e5f6ed;color:#25865a}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.toolbar{display:flex;gap:12px;margin:22px 0;flex-wrap:wrap}.toolbar input{flex:1;min-width:200px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th{color:#586380;font-size:11px;text-transform:uppercase;letter-spacing:.5px}td,th{padding:16px 10px;border-bottom:1px solid #edf0f7}td small{margin-top:5px}.file-button{background:#edefff;color:#3048c9;margin:0}.file-button input{display:none}.lesson{background:#f6f7fb;border-radius:10px;padding:20px}.lesson button{margin:8px 8px 0 0}.pre{white-space:pre-wrap}.muted{font-size:12px}.narrow{max-width:550px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#18244088;display:flex;align-items:center;justify-content:center;padding:20px;z-index:9}.dialog{background:#fff;max-width:780px;width:100%;max-height:92vh;overflow:auto;border-radius:16px;padding:32px;position:relative}.close{position:absolute;right:15px;top:10px;background:#f6f7fb;color:#282e3e;padding:7px 13px;font-size:22px}.code-input,pre,code{font-family:ui-monospace,monospace;font-size:12px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f6f7fb;padding:15px;border-radius:8px;max-height:400px;overflow:auto}.large{min-height:280px}.error,.notice{padding:16px;background:#ffe5e9;border-radius:8px;color:#a3203e;margin-bottom:15px}.notice{background:#e5f6ed;color:#25865a}.notice button{float:right;padding:0 8px;background:none;color:inherit}.empty{padding:50px;text-align:center}.userrow{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf0f7;padding:12px}.mobile{display:none}.login{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}.intro{background:#edefff;padding:12vh 10%;display:flex;flex-direction:column;align-items:flex-start}.intro>svg{color:#3048c9;margin-bottom:40px}.intro h1{font-size:56px;line-height:1.1;margin-top:25px}.code{background:#fff9;padding:25px;white-space:pre;font-family:monospace;border-radius:12px;margin-top:30px;color:#3048c9}.login form{max-width:430px;width:100%;align-self:center;justify-self:center;padding:30px}.login form .brand{margin-bottom:65px}.login form button{width:100%;margin:14px 0}a{color:#3048c9}details{padding:14px;border-bottom:1px solid #edf0f7}summary{cursor:pointer}@media(max-width:1150px){.stats{grid-template-columns:repeat(3,1fr)}aside{width:225px}main{margin-left:225px;width:calc(100% - 225px)}.content{padding:25px}.grid{grid-template-columns:1fr}}@media(max-width:760px){aside{display:none;width:260px;z-index:8;box-shadow:0 0 0 100vw #18244066}aside.show{display:flex}main{margin:0;width:100%}header{padding:0 20px;height:64px}.mobile{display:flex;background:none;color:#282e3e;padding:0}.content{padding:25px 18px}h1{font-size:28px}.page-title{align-items:flex-start;flex-direction:column}.hero{padding:24px}.hero h2{font-size:24px}.hero-icon{display:none}.stats{gap:8px}.stats .card{padding:16px 12px}.stats small{font-size:10px}.toolbar{flex-direction:column}.login{grid-template-columns:1fr}.intro{display:none}.dialog{padding:28px 20px}.userrow{gap:10px}.card{padding:20px}}.check{display:inline-flex;align-items:center;gap:8px;margin:8px 14px 8px 0;font-weight:400}.check input{width:auto;margin:0}fieldset{border:1px solid #e4e8f1;border-radius:8px;margin:16px 0;padding:15px}legend{font-size:13px;font-weight:600}.ai-conversation{display:grid;gap:12px;margin:20px 0;max-height:520px;overflow:auto}.ai-message{padding:16px;border:1px solid #dce3ef;border-radius:12px;overflow-wrap:anywhere}.ai-message.user{background:#eef4ff}.ai-message p{margin-bottom:0}.ai-message .pre{white-space:pre-wrap}details pre{overflow:auto;max-height:450px}.platform-logo{display:block;width:52px;height:52px;flex:0 0 auto;object-fit:contain;aspect-ratio:1;max-width:100%}.brand{color:#1e2d3b;min-width:0;gap:12px}.header-identity{display:flex;align-items:center;gap:14px;min-width:0}.header-identity .platform-logo{width:46px;height:46px}.header-identity span{min-width:0}.intro .logo-intro{width:132px;height:132px;margin-bottom:32px}.login form .platform-logo{width:64px;height:64px}aside{overflow-y:auto}@media(max-width:760px){.header-identity{gap:10px;margin:0 12px}.header-identity .platform-logo{width:42px;height:42px}.header-identity span{font-size:11px;line-height:1.35}.login form .brand{margin-bottom:36px}.login form .platform-logo{width:64px;height:64px}}@media(max-width:380px){.header-identity span{display:none}}
