:root{color:#17202a;font-synthesis:none;text-rendering:optimizelegibility;background:#eef5f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,select,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.55}input{color:#17202a;background:#fff;border:1px solid #c9d7dd;border-radius:8px;width:100%;padding:12px}label{color:#334155;gap:7px;font-weight:800;display:grid}.authShell,.adminShell{color:#eaf6ff;background:radial-gradient(circle at 18% 16%,#2dd4bf3d,#0000 28%),radial-gradient(circle at 82% 12%,#6366f147,#0000 34%),linear-gradient(135deg,#061826 0%,#0b1020 100%);min-height:100vh;padding:28px}.authShell{grid-template-columns:minmax(0,1fr) 440px;align-items:center;gap:22px;display:grid}.authHero,.authPanel,.adminTopbar,.adminCards>div,.adminTable{background:#0f172ac7;border:1px solid #94a3b83d;border-radius:8px;box-shadow:0 24px 80px #00000047}.authHero{padding:34px}.authHero h1{letter-spacing:0;max-width:780px;margin:20px 0 12px;font-size:clamp(36px,6vw,78px);line-height:.98}.authHero p{color:#b9cad8;max-width:720px;line-height:1.6}.authStats{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.authStats span{color:#a7f3d0;background:#14b8a61f;border:1px solid #2dd4bf57;border-radius:999px;padding:8px 12px;font-weight:900}.authPanel{padding:20px}.authTabs{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px;display:grid}.authTabs button,.primaryButton,.adminActions button,.adminTable button,.accountBox button{color:#eaf6ff;background:#e2e8f01f;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:10px 12px;font-weight:900;display:inline-flex}.authTabs button.active,.primaryButton{color:#05202b;background:#23f0c7}.authForm{gap:14px;display:grid}.authForm h2{margin:0}.twoCols{grid-template-columns:1fr 1fr;gap:12px;display:grid}.verifyBox,.authMessage{color:#d7fff6;background:#23f0c71f;border-radius:8px;gap:10px;padding:12px;display:grid}.adminShell{gap:18px;display:grid}.adminTopbar{justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex}.adminTopbar h1{margin:4px 0 0}.adminActions{gap:10px;display:flex}.adminCards{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.adminCards>div{gap:7px;padding:16px;display:grid}.adminCards strong{font-size:34px}.adminCards span{color:#b9cad8}.adminTable{padding:16px;overflow:auto}.adminTable h2{margin:0 0 12px}.adminTable table{color:#eaf6ff}.adminTable td,.adminTable th{border-bottom-color:#94a3b829}.accountBox{color:#fff;background:linear-gradient(135deg,#073b4c,#0e7490);border:1px solid #0e74902e;border-radius:8px;grid-template-columns:1fr;gap:6px;padding:9px;display:grid}.accountBox strong{font-size:13px;line-height:1.1}.accountBox span{color:#ffffffb8;font-size:12px;font-weight:800}.accountBox button{color:#073b4c;background:#ffffffe0;justify-content:center;min-height:32px;padding:7px 9px;font-size:12px}.appShell{background:radial-gradient(circle at 20% 12%,#34d39938,#0000 28%),radial-gradient(circle at 82% 10%,#0ea5e92e,#0000 30%),linear-gradient(135deg,#f7fbfc 0%,#eaf3f5 100%);min-height:100vh;padding:24px}.hero{grid-template-columns:minmax(260px,.9fr) minmax(360px,1.25fr) 300px;align-items:stretch;gap:12px;max-width:1440px;margin:0 auto 12px;display:grid}.heroText,.heroMission,.heroPanel,.lessonRail,.lessonStage,.schemaPanel{background:#ffffffdb;border:1px solid #0f172a14;border-radius:8px;box-shadow:0 18px 45px #0f172a14}.heroText{background:linear-gradient(135deg,#fffffff0,#ecfdf5d1),radial-gradient(circle at 92% 22%,#10b98129,#0000 30%);border-color:#10b98133;align-content:center;min-height:0;padding:14px 16px;display:grid;position:relative;overflow:hidden}.heroText:after{display:none}.brandMark{color:#fff;background:#073b4c;border-radius:999px;justify-self:start;align-items:center;gap:8px;padding:7px 11px;font-size:13px;font-weight:800;display:inline-flex}.brandMark img{width:auto;height:20px;display:block}.academyBrandLink{text-decoration:none}.academyLogo{background:#061521;border-radius:14px;justify-self:start;align-items:center;width:88px;margin-bottom:12px;padding:8px 10px;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 12px 28px #07121b29}.academyLogo:hover{transform:translateY(-1px);box-shadow:0 18px 34px #07121b38}.academyLogo img{width:68px;height:auto;display:block}.hero h1{letter-spacing:0;margin:8px 0 5px;font-size:clamp(22px,2.1vw,32px);line-height:1.02}.hero p{color:#53616f;margin:0;font-size:12.5px;line-height:1.4}.heroMission{color:#fff;background:linear-gradient(135deg,#06495a,#0f7890),radial-gradient(circle at 85% 18%,#ffffff29,#0000 28%);border-color:#0e74902e;justify-content:space-between;align-items:center;gap:16px;min-height:0;padding:16px 18px;display:flex}.heroMission h2{margin:6px 0 5px;font-size:clamp(20px,2vw,30px);line-height:1.08}.heroMission p{color:#ffffffdb;font-size:13px}.heroMission .trophy{flex:none}.heroPanel{background:#ffffffeb;gap:8px;padding:12px;display:grid}.languageBox{grid-template-columns:auto 1fr;align-items:center;gap:7px;display:grid}.languageBox label{font-size:13px;font-weight:800}.languageBox select{background:#fff;border:1px solid #c9d7dd;border-radius:8px;grid-column:1/-1;width:100%;padding:8px 10px;font-size:14px}.progressRing{--progress:0%;background:linear-gradient(90deg, #10b9812e var(--progress), #e2e8f0cc 0), #f8fafc;border:1px solid #dbe8ed;border-radius:8px;justify-content:space-between;justify-self:stretch;align-items:center;gap:8px;width:100%;height:38px;min-height:0;margin:0 auto;padding:0 10px;display:flex}.progressRing strong{color:#073b4c;font-size:18px;line-height:1}.progressRing span{color:#53616f;margin-top:0;font-size:12px;font-weight:900;display:inline}.workspace{grid-template-columns:280px minmax(0,1fr) 300px;gap:18px;max-width:1440px;margin:0 auto;display:grid}.lessonRail,.schemaPanel{overscroll-behavior:contain;scrollbar-gutter:stable;align-self:start;max-height:calc(100vh - 24px);padding:18px;position:sticky;top:12px;overflow-y:auto}.lessonRail::-webkit-scrollbar{width:8px}.schemaPanel::-webkit-scrollbar{width:8px}.lessonRail::-webkit-scrollbar-track{background:#e2e8f09e;border-radius:999px}.schemaPanel::-webkit-scrollbar-track{background:#e2e8f09e;border-radius:999px}.lessonRail::-webkit-scrollbar-thumb{background:#073b4c47;border-radius:999px}.schemaPanel::-webkit-scrollbar-thumb{background:#073b4c47;border-radius:999px}.lessonRail::-webkit-scrollbar-thumb:hover{background:#073b4c6b}.schemaPanel::-webkit-scrollbar-thumb:hover{background:#073b4c6b}.railTitle{align-items:center;gap:8px;margin-bottom:16px;display:flex}.railTitle h2,.editorHeader h2,.resultTitle h2,.lessonHeader h2{margin:0}.lessonGroup{gap:8px;margin-bottom:18px;display:grid}.levelPill{color:#fff;border-radius:999px;justify-self:start;padding:5px 10px;font-size:12px;font-weight:900}.levelStart{background:#0ea5e9}.levelCore{background:#14b8a6}.levelPro{background:#f97316}.lessonButton{color:#17202a;text-align:left;background:#f4f8fa;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:12px;display:flex}.lessonButton.active{color:#fff;background:#073b4c}.lessonStage{min-width:0;padding:20px}.lessonHeader{color:#fff;background:linear-gradient(135deg,#073b4c,#0e7490);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;display:flex}.lessonHeader p{color:#ffffffc7;margin:8px 0 0}.eyebrow{color:#9ff6df;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:900;display:inline-block}.trophy{color:#facc15;flex:none}.storyBox{color:#064e3b;background:#ecfdf5;border-left:5px solid #10b981;border-radius:8px;margin:16px 0;padding:14px 16px;font-weight:700}.conceptGrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.conceptGrid>div{background:#f7fafb;border-radius:8px;padding:16px}.conceptGrid h3{margin:0 0 10px}.conceptGrid p{color:#53616f;margin:8px 0;line-height:1.45}.editorHeader,.resultTitle,.navButtons,.actionRow{justify-content:space-between;align-items:center;gap:10px;display:flex}.editorHeader{margin-top:18px;margin-bottom:10px}.actionRow button,.navButtons button{color:#073b4c;background:#e8f1f5;border-radius:8px;align-items:center;gap:7px;padding:10px 12px;font-weight:800;display:inline-flex}.actionRow .runButton{color:#fff;background:#10b981}.sqlEditor{resize:vertical;color:#e5f3ff;background:#0f172a;border:1px solid #cad9de;border-radius:8px;outline:none;width:100%;min-height:210px;padding:16px;font-family:Cascadia Code,Fira Code,Consolas,monospace;font-size:15px;line-height:1.55}.sqlEditor:focus{border-color:#10b981;box-shadow:0 0 0 4px #10b98124}.feedback{color:#53616f;background:#eef4f7;border-radius:8px;margin:12px 0;padding:12px 14px;font-weight:800}.feedback.success{color:#166534;background:#dcfce7}.feedback.needs-work{color:#92400e;background:#fef3c7}.feedback.error{color:#991b1b;background:#fee2e2}.resultPanel{border:1px solid #d6e2e7;border-radius:8px;overflow:hidden}.resultTitle{background:#f7fafb;border-bottom:1px solid #d6e2e7;padding:12px 14px}.resultTitle span{color:#53616f;font-weight:700}.tableWrap{max-height:330px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf2f4;padding:10px 12px}th{color:#fff;background:#073b4c;position:sticky;top:0}.emptyResult{color:#7b8794;place-items:center;min-height:130px;font-weight:700;display:grid}.navButtons{margin-top:16px}.schemaPanel{gap:12px;display:grid}.schemaCard{background:#f7fafb;border:1px solid #e2ebef;border-radius:8px;padding:12px}.schemaCard strong{color:#073b4c;margin-bottom:8px;display:block}.schemaCard div{flex-wrap:wrap;gap:6px;display:flex}.schemaCard span{color:#53616f;background:#fff;border:1px solid #dce7eb;border-radius:999px;padding:4px 7px;font-size:12px}@media (width<=1180px){.workspace{grid-template-columns:240px minmax(0,1fr)}.schemaPanel{grid-column:1/-1;position:static}}@media (width<=860px){.appShell,.authShell,.adminShell{padding:12px}.authShell,.hero,.workspace,.conceptGrid,.adminCards,.twoCols{grid-template-columns:1fr}.adminTopbar,.adminActions{flex-direction:column;align-items:stretch}.lessonRail{position:static}.heroText:after{display:none}.editorHeader,.actionRow{flex-direction:column;align-items:stretch}.actionRow button,.navButtons button{justify-content:center;width:100%}}
