:root{--bg:#f6f8fc;--card:#fff;--text:#101828;--muted:#667085;--border:#e3e9f2;--blue:#245bdb;--blue2:#173f92;--soft:#edf3ff;--shadow:0 16px 35px #173f9213;font-family:Inter,"Segoe UI",Arial,sans-serif;color-scheme:light}
:root[data-theme=dark]{--bg:#0d1421;--card:#141e2f;--text:#eef4ff;--muted:#9bacbf;--border:#26354a;--blue:#6f9cff;--blue2:#b6ccff;--soft:#1d2e4b;--shadow:0 16px 35px #0004;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}#app{min-height:100vh}.main-shell{margin-left:248px;min-width:0}.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:var(--card);border-right:1px solid var(--border);z-index:30;display:flex;flex-direction:column}.brand{height:82px;display:flex;align-items:center;gap:12px;padding:0 25px;border-bottom:1px solid var(--border)}.brandmark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#3478f4,#173f92);color:#fff;font-weight:850;font-size:14px;box-shadow:0 8px 16px #245bdb30}.brand strong,.brand small{display:block}.brand strong{font-size:16px}.brand small{font-size:9px;letter-spacing:.18em;color:var(--muted);margin-top:2px}.sidebar nav{padding:18px 13px;display:grid;gap:4px;overflow:auto}.nav-item{border:0;background:transparent;color:var(--muted);border-radius:9px;display:flex;align-items:center;gap:12px;padding:10px 12px;text-align:left;font-size:13px;font-weight:650}.nav-item:hover,.nav-item.active{background:var(--soft);color:var(--blue)}.ui-icon{width:28px;height:28px;display:inline-grid;place-items:center;border-radius:8px;font-weight:800;font-style:normal;flex:none}.nav-item .ui-icon{width:21px;height:21px;font-size:17px}.side-profile{margin-top:auto;border-top:1px solid var(--border);padding:18px 22px;display:flex;align-items:center;gap:11px;min-width:0}.side-profile strong,.side-profile small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.side-profile strong{font-size:13px}.side-profile small{font-size:11px;color:var(--muted);margin-top:3px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#dfeaff;color:#245bdb;font-weight:800;flex:none}.topbar{height:70px;background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 38px;position:sticky;top:0;z-index:20}.top-left,.top-actions{display:flex;align-items:center;gap:16px}.top-left>span{font-size:13px;color:var(--muted);font-weight:650}.top-pill{border:1px solid var(--border);border-radius:30px;padding:7px 12px;color:var(--blue2);font-size:12px;font-weight:700}.icon-btn{border:0;background:transparent;color:var(--muted);width:36px;height:36px;border-radius:8px;font-size:20px}.icon-btn:hover{background:var(--soft)}#menuBtn{display:none}.top-actions .avatar{width:32px;height:32px;font-size:12px}.content{width:min(1220px,100%);padding:38px 40px 100px;margin:auto}.loading,.error{background:var(--card);border:1px solid var(--border);border-radius:15px;padding:60px;text-align:center;color:var(--muted)}.eyebrow,.hero-kicker{font-weight:800;font-size:10px;letter-spacing:.13em;color:var(--blue)}h1,h2,p{overflow-wrap:anywhere}.page-heading{margin-bottom:27px}.page-heading h1,.welcome h1{font-size:clamp(28px,3vw,37px);line-height:1.15;letter-spacing:-.045em;margin:8px 0}.page-heading p,.welcome p{color:var(--muted);margin:0;font-size:14px}.welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.welcome em{color:#e7a13c;font-style:normal}.goal{background:var(--soft);color:var(--blue2);padding:11px 15px;border-radius:10px;font-size:12px;font-weight:750;white-space:nowrap}.hero-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,.82fr);gap:19px}.hero{min-height:295px;background:linear-gradient(120deg,#153d91,#245bdb 62%,#3977f0);border-radius:18px;color:#fff;position:relative;overflow:hidden;display:flex;box-shadow:0 18px 30px #18499420}.hero>div:first-child{padding:31px 35px;width:68%;position:relative;z-index:2}.hero-kicker{color:#bfdaff}.hero h2{font-size:clamp(25px,2.7vw,35px);line-height:1.1;letter-spacing:-.04em;margin:24px 0 12px}.hero p{font-size:13px;color:#d7e6ff}.hero small{display:block;color:#d7e6ff;font-size:11px;margin-top:7px}.hero-art{position:absolute;right:0;top:0;width:38%;height:100%;display:grid;place-items:center;font-size:60px;font-weight:900;color:#ffffffb8;background:radial-gradient(circle,#8ec1ff70,transparent 58%)}.hero-art:before{content:"";position:absolute;width:155px;height:155px;border:1px solid #ffffff55;border-radius:50%;box-shadow:0 0 0 20px #ffffff10,0 0 0 44px #ffffff0b}.hero-art span,.hero-art b{position:absolute;background:#fff;color:#2053b4;border-radius:20px;padding:6px 12px;font-size:10px}.hero-art span{left:4%;top:56px}.hero-art b{right:9%;bottom:65px}.progress{height:6px;background:color-mix(in srgb,var(--border) 70%,transparent);border-radius:10px;overflow:hidden;margin:14px 0 0}.progress i{height:100%;display:block;background:var(--blue);border-radius:inherit}.hero .progress{background:#ffffff42}.hero .progress i{background:#fff}.btn{border:0;border-radius:9px;padding:10px 15px;font-size:12px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn.primary{background:#245bdb;color:#fff}.btn.primary:hover{background:#194abe}.btn.light{background:#fff;color:#174394;margin-top:3px}.btn.outline{background:transparent;color:var(--blue);border:1px solid var(--border)}.btn.ghost,.link{border:0;background:transparent;color:var(--blue);font-weight:750}.btn.success{background:#dff6ed;color:#16835a}.progress-card,.stat,.quick-card,.course-progress,.module,.small-card,.path-card,.prompt-card,.tool-card,.practice>aside,.practice>section,.lesson,.lesson-aside>section,.onboard,.empty,.certificate{background:var(--card);border:1px solid var(--border);border-radius:15px}.progress-card{padding:25px;display:flex;flex-direction:column}.ring{width:140px;height:140px;border-radius:50%;background:conic-gradient(#245bdb var(--p),var(--soft) 0);margin:auto;display:grid;place-items:center}.ring>div{width:108px;height:108px;background:var(--card);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column}.ring strong{font-size:30px;letter-spacing:-.05em}.ring small{color:var(--muted);font-size:9px}.progress-card footer{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0 34px}.stat{min-height:115px;padding:18px 20px}.stat .ui-icon{float:right;background:var(--soft);color:var(--blue)}.stat strong,.stat>span:last-child{display:block}.stat strong{font-size:24px}.stat>span:last-child{color:var(--muted);font-size:12px;margin-top:4px}.section-head{display:flex;align-items:end;justify-content:space-between;margin:30px 0 15px}.section-head h2{font-size:21px;letter-spacing:-.03em;margin:5px 0 0}.path-highlight{display:flex;align-items:center;gap:17px;background:linear-gradient(100deg,color-mix(in srgb,var(--blue) 11%,var(--card)),var(--card));border:1px solid color-mix(in srgb,var(--blue) 25%,var(--border));border-radius:15px;padding:19px 22px}.path-highlight>.ui-icon{width:50px;height:50px;background:#d7e6ff;color:#245bdb;font-size:23px}.path-highlight div{flex:1}.path-highlight strong{font-size:15px}.path-highlight p{font-size:12px;color:var(--muted);margin:4px 0}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quick-card{text-align:left;padding:19px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;color:var(--text)}.quick-card:hover,.path-card:hover,.prompt-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.quick-card .ui-icon{background:#f0eaff;color:#704fc3}.quick-card .sky{background:#e6f3ff;color:#3081c9}.quick-card strong{font-size:14px}.quick-card small{color:var(--muted)}.quick-card>span:last-child{color:var(--blue);font-size:12px;font-weight:750;margin-top:5px}.course-progress{padding:21px 25px;margin-bottom:17px;display:flex;align-items:center;justify-content:space-between;gap:25px}.course-progress p{color:var(--muted);font-size:12px;margin:5px 0 0}.course-progress>div:last-child{width:220px;display:flex;align-items:center;gap:15px}.course-progress .progress{flex:1;margin:0}.modules{display:grid;gap:9px}.module{overflow:hidden}.module summary{list-style:none;display:flex;align-items:center;gap:14px;padding:16px 18px;cursor:pointer}.module summary::-webkit-details-marker{display:none}.module summary>span:nth-child(2){flex:1}.module summary strong,.module summary small{display:block}.module summary strong{font-size:14px}.module summary small{font-size:11px;color:var(--muted);margin-top:3px}.module summary>b{font-size:21px;transition:.2s}.module[open] summary>b{transform:rotate(90deg)}.module-no{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:var(--soft);color:var(--blue);font-size:12px;font-weight:800}.module>div{border-top:1px solid var(--border);padding:5px 17px 10px}.module>div button{display:flex;align-items:center;gap:12px;width:100%;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);padding:12px 2px;text-align:left;font-size:13px}.module>div button:last-child{border:0}.module>div button:disabled{opacity:.45}.module>div button:not(:disabled):hover{color:var(--blue)}.module>div button>span:nth-child(2){flex:1}.module>div small{font-size:11px;color:var(--muted)}.lesson-state{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--blue);font-size:10px}.lesson-state.done{background:#dff6ed;color:#16835a}.course-tile{display:grid;grid-template-columns:35% 1fr;background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden}.course-tile>div:last-child{padding:31px 35px}.course-tile h2{font-size:27px;letter-spacing:-.04em;margin:9px 0}.course-tile p{color:var(--muted);font-size:13px;line-height:1.65}.course-art{min-height:285px;background:linear-gradient(140deg,#133575,#2766df);display:grid;place-items:center;color:#a9cbff;font-size:60px;font-weight:900;position:relative}.course-art:after{content:"";position:absolute;width:170px;height:170px;border:1px solid #ffffff33;border-radius:50%;box-shadow:0 0 0 28px #ffffff10}.course-art span{position:absolute;bottom:25px;left:26px;color:#fff;letter-spacing:.14em;font-size:10px}.meta{color:var(--muted);font-size:12px;margin:18px 0}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.small-card,.path-card,.prompt-card,.tool-card{padding:21px}.small-card strong{display:block;margin:12px 0 5px;font-size:14px}.small-card p,.path-card p,.tool-card p{color:var(--muted);font-size:12px;line-height:1.55}.small-card small,.status{font-size:10px;color:var(--muted)}.color{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#dce9ff;color:#245bdb}.pink{background:#ffe4f0;color:#c54584}.orange{background:#fff0d7;color:#ad6a13}.teal{background:#d9f5f1;color:#198b80}.violet{background:#eee4ff;color:#714fc1}.green{background:#dff2e5;color:#258552}.slate{background:#e7edf4;color:#45647e}.indigo{background:#e4e6ff;color:#555dc5}.recommend{background:var(--soft);color:var(--blue2);padding:14px 17px;border-radius:10px;font-size:13px;margin-bottom:17px}.path-card{position:relative;min-height:235px;display:flex;flex-direction:column}.path-card .status{position:absolute;right:19px;top:23px}.path-card h2{font-size:16px;margin:17px 0 3px}.path-card footer{border-top:1px solid var(--border);padding-top:13px;margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:7px;color:var(--muted);font-size:10px}.search{max-width:530px;display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--border);padding:0 12px;border-radius:10px;margin-bottom:17px;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:10px 11px;background:var(--card);color:var(--text)}.search input{border:0;outline:0}.prompt-card{min-height:275px;display:flex;flex-direction:column}.prompt-card header,.lesson-aside header{display:flex;justify-content:space-between;align-items:center}.prompt-card header span{color:var(--blue);font-size:10px;letter-spacing:.1em;font-weight:800;text-transform:uppercase}.prompt-card header button,.lesson-aside header button{border:0;background:transparent;color:var(--blue);font-size:20px}.prompt-card h2{font-size:17px;margin:17px 0 6px}.prompt-card p{font-size:12px;color:var(--muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.prompt-card footer{margin-top:auto;display:flex;gap:6px}.practice{display:grid;grid-template-columns:225px 1fr;gap:16px;align-items:start}.practice>aside{padding:15px}.practice aside h3{font-size:12px;margin:4px 8px 12px}.practice aside button{display:block;width:100%;border:0;background:transparent;color:var(--text);text-align:left;padding:12px;border-radius:9px}.practice aside button.selected{background:var(--soft);color:var(--blue)}.practice aside small,.practice aside strong{display:block}.practice aside small{font-size:10px;color:var(--muted)}.practice aside strong{font-size:12px;margin-top:3px}.practice>section{padding:31px;max-width:800px}.practice section h2{font-size:24px;letter-spacing:-.04em;margin:9px 0}.practice section>p{font-size:14px;color:var(--muted)}.task{background:var(--soft);border-left:3px solid var(--blue);padding:13px 17px;border-radius:7px;margin:23px 0;color:var(--blue2)}.task p{font-size:13px;margin:5px 0}.practice label{font-size:13px;font-weight:700}.practice textarea{display:block;margin-top:8px;resize:vertical}.practice form>small{color:var(--muted);font-size:10px;margin-left:12px}.review{background:#ecf8f2;border:1px solid #c6e9d7;border-radius:10px;margin-top:20px;padding:19px;color:#205b40}.review h3{margin:0}.review li,.review p{font-size:12px}.tool-card{min-height:195px}.tool-letter{width:38px;height:38px;display:grid;place-items:center;border-radius:9px;background:var(--soft);color:var(--blue);font-weight:850;font-size:19px;margin-bottom:16px}.tool-card h2{font-size:17px;margin:8px 0 3px}.tool-card a{color:var(--blue);font-size:12px;font-weight:750}.list{display:grid;gap:9px}.list>button{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:11px;padding:17px;text-align:left;color:var(--text)}.list>button:hover{border-color:var(--blue)}.list>button>span:nth-child(2){flex:1}.list strong,.list small{display:block}.list small{color:var(--muted);font-size:11px;margin-top:4px}.empty{text-align:center;padding:68px 23px}.empty>.ui-icon{width:58px;height:58px;margin:auto;background:var(--soft);color:var(--blue);font-size:26px}.empty h2{font-size:19px;margin:19px 0 6px}.empty p{color:var(--muted);font-size:13px;max-width:410px;margin:0 auto 20px}.back{border:0;background:transparent;color:var(--blue);font-weight:750;font-size:12px;margin-bottom:19px}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:22px;align-items:start}.lesson{padding:36px 42px}.lesson h1{font-size:clamp(28px,3vw,37px);line-height:1.15;letter-spacing:-.045em;margin:10px 0}.lesson>p{font-size:14px;line-height:1.7}.lesson h2{font-size:20px;margin:28px 0 13px}.lesson-intro{display:flex;align-items:center;gap:17px;background:var(--soft);border-radius:12px;padding:21px;margin:28px 0;color:var(--blue2)}.lesson-intro .ui-icon{background:#d5e5ff;color:#245bdb}.lesson-intro p{font-size:14px;line-height:1.6;margin:0}.takeaways{display:grid;gap:8px}.takeaways>div{display:flex;gap:14px;border:1px solid var(--border);border-radius:9px;padding:11px 13px}.takeaways span{color:var(--blue);font-size:11px;font-weight:800}.takeaways p{font-size:14px;margin:0}.prompt-example{background:#172f61;color:#fff;border-radius:12px;padding:22px;margin-top:20px}.prompt-example strong{color:#b7d3ff;font-size:12px}.prompt-example p{line-height:1.65;font-size:14px}.prompt-example .btn{color:#fff;border-color:#7797d0}.guidance{background:var(--soft);border-radius:8px;padding:14px;color:var(--blue2);font-size:13px;margin-top:8px}.challenge{margin-top:24px;padding:18px;border:1px solid #bcd4ff;border-radius:10px;background:color-mix(in srgb,var(--blue) 5%,var(--card))}.challenge p{font-size:13px;margin:5px 0}.lesson-end{border-top:1px solid var(--border);margin-top:27px;padding-top:21px;display:flex;gap:10px;flex-wrap:wrap}.lesson-aside{display:grid;gap:13px;position:sticky;top:88px}.lesson-aside>section{padding:19px}.lesson-aside p{color:var(--muted);font-size:12px;line-height:1.55}.lesson-aside textarea{resize:vertical;margin-bottom:10px}.lesson-aside .tutor{background:linear-gradient(145deg,var(--soft),var(--card))}.onboard{max-width:810px;margin:30px auto;padding:43px}.onboard h1{font-size:34px;letter-spacing:-.05em;margin:8px 0}.onboard>p{color:var(--muted);font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:24px 0}.form-grid label{font-size:12px;font-weight:700;display:grid;gap:7px}.certificate{text-align:center;padding:60px 30px;border:8px double #b99b52;background:linear-gradient(135deg,var(--card),color-mix(in srgb,#d9b65a 8%,var(--card)))}.certificate>span{font-size:10px;letter-spacing:.2em;color:#997b34}.certificate h1{font-family:Georgia,serif;font-size:36px}.certificate h2{font-family:Georgia,serif;color:var(--blue)}.certificate p{color:var(--muted);line-height:1.7}.modal{position:fixed;inset:0;background:#071022a8;z-index:100;display:grid;place-items:center;padding:20px}.modal[hidden]{display:none}.modal-card{width:min(620px,100%);background:var(--card);border-radius:16px;padding:28px;position:relative;box-shadow:0 30px 80px #0007}.modal-card h2{margin:8px 0}.modal-card p{color:var(--muted);font-size:13px}.modal-card textarea{margin:8px 0 15px;resize:vertical}.modal-close{position:absolute;right:16px;top:14px;border:0;background:transparent;color:var(--muted);font-size:25px}.toast{position:fixed;right:20px;bottom:20px;background:#12305f;color:#fff;padding:12px 17px;border-radius:9px;box-shadow:0 15px 35px #0004;z-index:110;opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;font-size:13px}.toast.show{opacity:1;transform:none}.toast.bad{background:#9d2e28}.mobile-nav{display:none}
@media(max-width:1050px){.content{padding:30px 27px 90px}.card-grid{grid-template-columns:repeat(2,1fr)}.hero>div:first-child{width:75%}.hero-art{opacity:.65}}
@media(max-width:800px){.main-shell{margin-left:0}.sidebar{transform:translateX(-100%);transition:.22s;box-shadow:15px 0 35px #0003}.menu-open .sidebar{transform:none}.menu-open:after{content:"";position:fixed;inset:0;background:#0006;z-index:25}.topbar{padding:0 18px}#menuBtn{display:block}.content{padding:25px 18px 95px}.hero-grid{grid-template-columns:1fr}.progress-card{display:none}.stats{grid-template-columns:repeat(2,1fr)}.lesson-layout{grid-template-columns:1fr}.lesson-aside{position:static}.practice{grid-template-columns:1fr}.practice>aside{display:flex;overflow:auto;gap:7px}.practice aside h3{display:none}.practice aside button{min-width:165px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--card);border-top:1px solid var(--border);z-index:24;display:flex;justify-content:space-around;padding:6px}.mobile-nav button{border:0;background:transparent;color:var(--muted);display:grid;justify-items:center;gap:2px;font-size:9px;font-weight:700}.mobile-nav button.active{color:var(--blue)}.mobile-nav .ui-icon{font-size:17px}.top-pill{display:none}}
@media(max-width:560px){.topbar{height:60px}.top-left>span,.top-actions .avatar{display:none}.content{padding:21px 14px 88px}.welcome{align-items:flex-start}.goal{display:none}.hero{min-height:300px}.hero>div:first-child{padding:27px 23px;width:92%}.hero-art{opacity:.23;width:60%}.hero h2{font-size:28px}.stats{gap:8px;margin:11px 0 26px}.stat{min-height:103px;padding:14px}.quick-grid,.card-grid{grid-template-columns:1fr}.path-highlight{align-items:flex-start;flex-wrap:wrap}.path-highlight div{width:calc(100% - 68px)}.course-progress{align-items:flex-start;flex-direction:column}.course-progress>div:last-child{width:100%}.course-tile{grid-template-columns:1fr}.course-art{min-height:145px}.course-tile>div:last-child{padding:23px}.practice>section{padding:21px}.practice form>small{display:block;margin:8px 0}.lesson{padding:26px 21px}.lesson-intro{align-items:flex-start;flex-direction:column}.onboard{padding:25px 20px;margin:0}.onboard h1{font-size:28px}.form-grid{grid-template-columns:1fr}.toast{left:14px;right:14px;bottom:78px;text-align:center}}
.studio-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:22px}.studio-section{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:25px;margin-bottom:20px}.studio-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.studio-head h2{font-size:20px;margin:5px 0 0}.studio-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:22px;align-items:start}.editor-form{display:grid;gap:14px;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:20px}.editor-form label{display:grid;gap:7px;font-size:12px;font-weight:750;color:var(--text)}.editor-form textarea{resize:vertical;line-height:1.5}.editor-form .btn{justify-self:start}.form-row{display:grid;grid-template-columns:1fr 150px;gap:12px}.content-list{display:grid;gap:7px;max-height:720px;overflow:auto;padding-right:3px}.content-list.compact{max-height:390px}.content-list button{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:9px;text-align:left;padding:12px}.content-list button:hover{border-color:var(--blue);background:var(--soft)}.content-list button span{flex:1;min-width:0}.content-list strong,.content-list small{display:block}.content-list strong{font-size:12px}.content-list small{font-size:10px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.content-list b{font-size:10px;color:var(--blue);text-transform:uppercase;letter-spacing:.08em}
@media(max-width:800px){.studio-layout{grid-template-columns:1fr}.content-list{max-height:360px}}
@media(max-width:560px){.form-row{grid-template-columns:1fr}.studio-stats{grid-template-columns:1fr}.studio-section{padding:18px}.studio-head{align-items:flex-start;flex-direction:column}.editor-form{padding:15px}}
.side-profile>div{min-width:0;flex:1}.side-profile>button{border:0;background:transparent;color:var(--muted);font-size:19px;padding:6px;border-radius:7px}.side-profile>button:hover{background:var(--soft);color:var(--blue)}
.login-page{min-height:100vh;background:radial-gradient(circle at 15% 15%,#dfeaff 0,transparent 28%),radial-gradient(circle at 85% 80%,#e9e4ff 0,transparent 26%),var(--bg);display:grid;place-items:center;padding:28px}.login-shell{width:min(960px,100%);display:grid;grid-template-columns:1.05fr .95fr;background:var(--card);border:1px solid var(--border);border-radius:22px;box-shadow:0 30px 80px #173f9220;overflow:hidden}.login-panel{padding:48px}.login-brand{display:flex;align-items:center;gap:11px;margin-bottom:55px}.login-brand strong,.login-brand small{display:block}.login-brand small{font-size:9px;letter-spacing:.17em;color:var(--muted)}.login-panel h1{font-size:38px;letter-spacing:-.05em;margin:8px 0}.login-panel>p,.access-panel>p{color:var(--muted);font-size:14px;line-height:1.6}.login-form{display:grid;gap:16px;margin-top:27px}.login-form label{display:grid;gap:7px;font-size:12px;font-weight:750}.login-form .btn{margin-top:4px;min-height:43px}.login-message{min-height:20px;font-size:12px;color:var(--muted)}.error-text{color:#c83b32}.access-panel{padding:48px 42px;background:linear-gradient(145deg,#173f92,#245bdb);color:#fff}.access-panel .eyebrow{color:#bcd5ff}.access-panel h2{font-size:27px;letter-spacing:-.04em;margin:12px 0 5px}.access-panel>p{color:#d7e6ff;margin-bottom:27px}.access-card{width:100%;display:flex;align-items:center;gap:13px;border:1px solid #ffffff2b;background:#ffffff12;color:#fff;border-radius:13px;padding:16px;text-align:left;margin-bottom:12px}.access-card:hover{background:#ffffff20;border-color:#ffffff60}.access-card>span:nth-child(2){flex:1}.access-card strong,.access-card small,.access-card code{display:block}.access-card strong{font-size:14px}.access-card small{font-size:11px;color:#d7e6ff;margin:3px 0 9px}.access-card code{font-size:10px;color:#fff;background:#071f5538;padding:5px 7px;border-radius:5px;width:max-content}.access-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#fff;color:#245bdb;font-weight:850;flex:none}.access-icon.student{background:#dff6ed;color:#16835a}.access-card>b{font-size:11px}.login-page[data-theme=dark]{background:var(--bg)}
@media(max-width:720px){.login-page{padding:14px;align-items:start}.login-shell{grid-template-columns:1fr}.login-panel,.access-panel{padding:30px 24px}.login-brand{margin-bottom:35px}.login-panel h1{font-size:32px}}
.installer-page{background:var(--bg);padding:30px}.installer-shell{width:min(1000px,100%);margin:auto}.installer-shell>header{display:flex;gap:18px;align-items:center;margin:10px 0 28px}.installer-shell header h1{font-size:34px;letter-spacing:-.045em;margin:5px 0}.installer-shell header p{color:var(--muted);margin:0}.installer-shell form{display:grid;gap:14px}.installer-shell section{display:grid;grid-template-columns:48px 1fr;gap:18px;background:var(--card);border:1px solid var(--border);border-radius:15px;padding:25px}.installer-shell section h2{font-size:19px;margin:0 0 5px}.installer-shell section h2 small{font-size:10px;color:var(--muted);font-weight:600}.installer-shell section p{color:var(--muted);font-size:12px}.step{width:42px;height:42px;border-radius:11px;background:var(--soft);color:var(--blue);display:grid;place-items:center;font-weight:850}.check-grid{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.check{padding:7px 10px;border-radius:8px;background:var(--soft);font-size:11px}.check b{margin-right:5px}.check.ready{color:#16835a;background:#e8f7f0}.check.failed{color:#b42d25;background:#fff0ef}.installer-shell .form-grid{margin:16px 0}.installer-shell .wide{grid-column:1/-1}.switch-row{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:8px!important;margin:14px 0}.switch-row input{width:auto}.inline-result{font-size:11px;margin-left:10px}.inline-result.ok,.install-result.ok{color:#16835a}.inline-result.bad,.install-result.bad{color:#c2372f}.hint{font-size:10px!important}.install-result{margin-top:12px;font-size:12px;font-weight:700}
@media(max-width:620px){.installer-page{padding:14px}.installer-shell section{grid-template-columns:1fr;padding:19px}.installer-shell .form-grid{grid-template-columns:1fr}.installer-shell .wide{grid-column:auto}.installer-shell header h1{font-size:28px}}
.security-points{margin-top:30px;border-top:1px solid #ffffff25;padding-top:18px}.security-points p{color:#e7efff;font-size:12px;margin:10px 0}.admin-loading{background:var(--card);border:1px solid var(--border);border-radius:15px;padding:50px;text-align:center;color:var(--muted)}.admin-grid{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(500px,1.2fr);gap:18px;align-items:start}.user-table-wrap,.security-panel{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px}.table-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.table-tools input{max-width:250px}.responsive-table{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:10px;border-bottom:1px solid var(--border)}td{padding:13px 10px;border-bottom:1px solid var(--border);white-space:nowrap}td strong,td small{display:block}td small{font-size:10px;color:var(--muted);margin-top:3px}.role-badge,.status-badge{display:inline-block;border-radius:20px;padding:5px 8px;font-size:9px;font-weight:800;text-transform:uppercase}.role-badge.admin{background:#e8e9ff;color:#5158bd}.role-badge.student{background:var(--soft);color:var(--blue)}.status-badge.active{background:#e5f7ef;color:#16835a}.status-badge.inactive{background:#f0f2f5;color:#667085}.status-badge.locked{background:#fff0ef;color:#b42d25}.security-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:18px}.security-grid{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(500px,1.35fr);gap:18px}.security-panel h2{font-size:18px;margin:7px 0 14px}.security-panel dl{margin:0}.security-panel dl div{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);font-size:12px}.security-panel dt{color:var(--muted)}.security-panel dd{margin:0;font-weight:750}.security-panel .good{color:#16835a}.audit-list{display:grid;max-height:520px;overflow:auto}.audit-list>div{display:flex;align-items:center;gap:11px;padding:11px 2px;border-bottom:1px solid var(--border)}.audit-list>div>span:nth-child(2){flex:1}.audit-list strong,.audit-list small{display:block}.audit-list strong{font-size:11px;text-transform:capitalize}.audit-list small{font-size:9px;color:var(--muted);margin-top:3px}.audit-list code{font-size:9px;color:var(--muted)}.audit-icon{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--soft);color:var(--blue);font-size:10px}
@media(max-width:1050px){.admin-grid,.security-grid{grid-template-columns:1fr}.security-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.security-cards{grid-template-columns:1fr 1fr}.table-tools{align-items:flex-start;flex-direction:column}.table-tools input{max-width:none}.admin-loading{padding:25px}.audit-list code{display:none}}
