:root{--bg:#0a0e1a;--bg2:#0f1526;--panel:#131b2e;--panel2:#182238;--border:#24304d;--text:#d6deef;--muted:#8b98b8;--accent:#4d8ef7;--accent2:#4dd0e1;--good:#3fb950;--warn:#e3b341;--bad:#f85149;--purple:#bc8cff;--radius:12px;--mono:"Cascadia Code",Consolas,monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6;min-height:100vh}a{color:var(--accent);text-decoration:none}button{font-family:inherit}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;gap:14px;padding:12px 22px;background:rgba(10,14,26,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.topbar,.topbar .brand{display:flex;align-items:center}.topbar .brand{font-weight:800;color:#fff;font-size:16px;gap:8px}.brand-logo{width:26px;height:26px;object-fit:contain;filter:invert(.9) brightness(1.4)}.topbar .spacer{flex:1 1}.topbar .who{color:var(--muted);font-size:13px}.wrap{max-width:1040px;margin:0 auto;padding:34px 22px 80px}.hero-kicker{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--accent2);font-weight:700;margin-bottom:8px}h1.page-title{color:#fff;font-size:30px;margin-bottom:8px}h1.page-title .grad{background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}.lede{color:var(--muted);max-width:720px;margin-bottom:26px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:16px;gap:16px}.mod-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s,transform .15s}.mod-card.open:hover{border-color:var(--accent);transform:translateY(-2px)}.mod-card.locked{opacity:.55}.mod-card .mod-head{display:flex;align-items:center;gap:10px}.mod-card .mod-icon{font-size:26px}.mod-card h3{color:#fff;font-size:17px;flex:1 1}.mod-card .tagline{color:var(--muted);font-size:13.5px;flex:1 1}.mod-card .mod-actions{display:flex;gap:8px;margin-top:8px;align-items:center}.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:11.5px;font-weight:700;letter-spacing:.4px;white-space:nowrap}.badge.green{background:rgba(63,185,80,.12);color:var(--good);border:1px solid rgba(63,185,80,.4)}.badge.blue{background:rgba(77,142,247,.15);color:var(--accent);border:1px solid rgba(77,142,247,.4)}.badge.gray{background:rgba(139,152,184,.12);color:var(--muted);border:1px solid rgba(139,152,184,.35)}.btn{display:inline-block;border:none;border-radius:9px;cursor:pointer;padding:9px 18px;font-size:14px;font-weight:700;text-align:center;background:var(--accent);color:#fff;transition:filter .15s}.btn:hover{filter:brightness(1.15)}.btn.secondary{background:var(--panel2);color:var(--text);border:1px solid var(--border)}.btn.small{padding:5px 12px;font-size:12.5px;border-radius:7px}.btn.danger{background:rgba(248,81,73,.15);color:var(--bad);border:1px solid rgba(248,81,73,.4)}.btn:disabled{opacity:.5;cursor:not-allowed}.login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:400px;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:34px}.login-card .logo{text-align:center;font-size:40px;margin-bottom:6px}.login-card h1{color:#fff;text-align:center;font-size:22px;margin-bottom:4px}.login-card .sub{color:var(--muted);text-align:center;font-size:13.5px;margin-bottom:24px}.field{margin-bottom:14px}.field label{display:block;font-size:13px;color:var(--muted);margin-bottom:5px}.field input,.field select{width:100%;padding:10px 13px;border-radius:9px;font-size:14.5px;background:var(--bg2);border:1px solid var(--border);color:var(--text)}.field input:focus{outline:none;border-color:var(--accent)}.err{background:rgba(248,81,73,.1);border:1px solid rgba(248,81,73,.4);color:var(--bad);border-radius:9px}.err,.ok-msg{padding:10px 14px;font-size:13.5px;margin-bottom:14px}.ok-msg{background:rgba(63,185,80,.1);border:1px solid rgba(63,185,80,.4);color:var(--good);border-radius:9px}table.admin{width:100%;border-collapse:collapse;font-size:13.5px;background:var(--panel);border-radius:var(--radius);overflow:hidden}table.admin th{background:var(--panel2);color:#fff;text-align:left;padding:9px 12px;font-size:12px;letter-spacing:.5px}table.admin td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:middle}table.admin tr:last-child td{border-bottom:none}.mod-toggles{display:flex;gap:5px;flex-wrap:wrap}.mod-toggle{cursor:pointer;border-radius:7px;padding:3px 8px;font-size:12px;border:1px solid var(--border);background:var(--bg2);color:var(--muted);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:all .12s}.mod-toggle.on{background:rgba(63,185,80,.15);color:var(--good);border-color:rgba(63,185,80,.5)}.mod-toggle.done{background:rgba(77,142,247,.18);color:var(--accent);border-color:rgba(77,142,247,.5)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;margin:16px 0}.note{color:var(--muted);font-size:13px}.landing-hero{text-align:center;padding:60px 20px 30px}.landing-hero img.big-logo{width:84px;height:84px;object-fit:contain;filter:invert(.9) brightness(1.4);margin-bottom:14px}.landing-hero h1{color:#fff;font-size:38px}.landing-hero h1 .grad{background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}.landing-hero .tag{color:var(--muted);font-size:16.5px;max-width:640px;margin:12px auto 24px;line-height:1.65}.landing-hero .ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn.big{padding:13px 28px;font-size:16px;border-radius:11px}.btn.ghost{background:transparent;border:1px solid var(--accent);color:var(--accent)}.landing-section{max-width:1040px;margin:0 auto;padding:26px 22px}.landing-section h2{color:#fff;font-size:24px;margin-bottom:6px}.landing-section .sub{color:var(--muted);margin-bottom:18px}.free-badge{background:rgba(63,185,80,.15);color:var(--good);border:1px solid rgba(63,185,80,.5);border-radius:20px;font-size:11px;font-weight:800;padding:2px 10px;letter-spacing:.5px}.price-card{position:relative;overflow:hidden;max-width:560px;margin:0 auto;background:var(--panel);border:1px solid var(--accent);border-radius:18px;padding:30px;text-align:center}.price-card .early-ribbon{position:absolute;top:16px;right:-34px;transform:rotate(45deg);background:linear-gradient(90deg,#e3b341,#f0883e);color:#241a02;font-weight:800;font-size:12px;letter-spacing:.3px;padding:5px 40px;box-shadow:0 2px 8px rgba(0,0,0,.35)}.price-card .anchor-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:2px}.price-card .anchor{color:var(--muted);font-size:20px;text-decoration:line-through;-webkit-text-decoration-color:var(--bad);text-decoration-color:var(--bad)}.price-card .off-badge{background:rgba(63,185,80,.15);color:var(--good);border:1px solid rgba(63,185,80,.5);border-radius:20px;font-size:12px;font-weight:800;padding:2px 10px}.price-card .amount{font-size:44px;color:#fff;font-weight:800}.price-card .amount small{font-size:15px;color:var(--muted);font-weight:400}.price-card ul{list-style:none;margin:18px 0;text-align:left}.price-card li{padding:6px 0;font-size:14.5px}.price-card li:before{content:"✓  ";color:var(--good);font-weight:800}.price-card li.no:before{content:"○  ";color:var(--muted)}.landing-foot{text-align:center;color:var(--muted);font-size:13px;padding:30px 20px 50px}.landing-foot a{color:var(--accent)}code{background:rgba(77,142,247,.12);color:#9fc3ff;padding:1px 6px;border-radius:5px;font-family:var(--mono);font-size:.88em}.quiz-wrap{max-width:760px}.quiz-hook{display:inline-block;margin-top:20px;padding:11px 20px;border-radius:24px;background:rgba(77,208,225,.1);border:1px solid var(--accent2);color:var(--text);text-decoration:none;font-size:14.5px;transition:background .15s}.quiz-hook:hover{background:rgba(77,208,225,.18)}.quiz-hook strong{color:var(--accent2)}.quiz-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px;margin:14px 0}.quiz-card.cta{border-color:var(--accent2);background:linear-gradient(160deg,var(--panel),rgba(77,208,225,.06));text-align:center}.quiz-card.locked{opacity:.7}.quiz-card .qc-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.quiz-card .qc-head h3{color:#fff;flex:1 1;font-size:17px}.quiz-card .mod-icon{font-size:24px}.level-btns{display:flex;gap:7px;flex-wrap:wrap;margin-top:6px}.q-progress{margin-bottom:12px}.q-progress-bar{height:7px;background:var(--panel2);border-radius:6px;overflow:hidden;margin-bottom:6px}.q-progress-bar>div{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .3s}.q-text{color:#fff;font-size:18px;line-height:1.5;margin-bottom:14px}.q-opts{display:flex;flex-direction:column;gap:9px}.q-opt{display:flex;gap:11px;align-items:flex-start;padding:12px 15px;border-radius:10px;border:1px solid var(--border);background:var(--bg2);cursor:pointer;transition:border-color .15s,background .15s;font-size:15px}.q-opt.sel,.q-opt:hover{border-color:var(--accent)}.q-opt.sel{background:rgba(77,142,247,.12)}.q-opt input{margin-top:3px;accent-color:var(--accent);flex-shrink:0}.q-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px}.q-name{width:100%;padding:10px 13px;border-radius:9px;background:var(--bg2);border:1px solid var(--border);color:var(--text);font-size:14.5px}.q-name:focus{outline:none;border-color:var(--accent)}.quiz-card.result{text-align:center}.score-ring{--pct:0;width:130px;height:130px;border-radius:50%;margin:6px auto 14px;background:radial-gradient(closest-side,var(--panel) 78%,transparent 79% 100%),conic-gradient(var(--accent2) calc(var(--pct) * 1%),var(--border) 0);display:flex;align-items:center;justify-content:center}.score-num{font-size:34px;font-weight:800;color:#fff}.score-num small{font-size:16px;color:var(--muted);font-weight:600}.topic-breakdown{margin:18px 0;text-align:left;display:flex;flex-direction:column;gap:8px}.tb-row{display:grid;grid-template-columns:92px 1fr 42px;align-items:center;grid-gap:10px;gap:10px;font-size:14px;color:var(--text)}.tb-row.wide{grid-template-columns:160px 1fr 34px;font-size:13.5px}.tb-bar{height:8px;background:var(--panel2);border-radius:6px;overflow:hidden}.tb-bar>div{height:100%;background:linear-gradient(90deg,var(--accent),var(--good))}.result-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px}.weak-cta{margin-top:16px;padding:12px 16px;border-radius:10px;background:rgba(227,179,65,.1);border:1px solid rgba(227,179,65,.4);color:var(--text);font-size:14px}.review-item{padding:12px 0;border-top:1px dashed var(--border)}.review-item .note{margin-top:4px}.ok-line{color:var(--good)}.bad-line,.ok-line{font-size:13.5px;margin:3px 0}.bad-line{color:var(--bad)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:12px;gap:12px}.stat-tile{background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:14px;text-align:center}.stat-icon{font-size:20px}.stat-num{font-size:24px;font-weight:800;color:#fff;margin:2px 0}.stat-label{font-size:12px;color:var(--muted)}.score-dist{display:flex;gap:8px;flex-wrap:wrap}.spark{gap:2px;height:54px}.spark,.spark-bar{display:flex;align-items:flex-end}.spark-bar{flex:1 1;min-width:3px;height:100%}.spark-bar>div{width:100%;background:linear-gradient(180deg,var(--accent2),var(--accent));border-radius:2px 2px 0 0;min-height:2px}.ai-disclaimer{background:rgba(227,179,65,.09);border:1px solid rgba(227,179,65,.4);border-radius:10px;padding:12px 15px;margin:14px 0;font-size:13px;line-height:1.6;color:var(--muted)}.ai-disclaimer strong{color:var(--text)}.ai-disclaimer a{color:var(--accent)}.review-card{margin-top:22px}.stars{display:inline-flex;gap:4px}.star{background:none;border:none;cursor:pointer;font-size:30px;line-height:1;color:var(--border);transition:color .12s,transform .12s;padding:0}.star:hover{transform:scale(1.12)}.star.on{color:var(--warn)}.star:disabled{cursor:default}.stars-static{color:var(--warn);font-size:15px;letter-spacing:1px}.review-text{width:100%;margin-top:12px;padding:11px 13px;border-radius:10px;background:var(--bg2);border:1px solid var(--border);color:var(--text);font-size:14.5px;font-family:inherit;resize:vertical}.review-text:focus{outline:none;border-color:var(--accent)}.sqldemo{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);max-width:760px;margin:0 auto;overflow:hidden}.sqldemo-head{display:flex;align-items:center;gap:7px;padding:10px 14px;background:var(--panel);border-bottom:1px solid var(--border)}.sqldemo-dot{width:11px;height:11px;border-radius:50%;background:var(--border)}.sqldemo-head .sqldemo-dot:first-child{background:#f85149}.sqldemo-head .sqldemo-dot:nth-child(2){background:#e3b341}.sqldemo-head .sqldemo-dot:nth-child(3){background:#3fb950}.sqldemo-title{margin-left:8px;font-size:13px;color:var(--muted);font-weight:600}.sqldemo-hint{font-size:13.5px;color:var(--muted);padding:12px 16px 0}.sqldemo-hint code{color:var(--accent2)}.sqldemo-chips{display:flex;gap:8px;flex-wrap:wrap;padding:10px 16px 0}.sqldemo-chip{background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:20px;padding:5px 14px;font-size:12.5px;cursor:pointer}.sqldemo-chip:hover{border-color:var(--accent);color:#fff}.sqldemo-input{display:block;width:calc(100% - 32px);margin:12px 16px 0;resize:vertical;background:#080c16;color:var(--accent2);border:1px solid var(--border);border-radius:9px;padding:12px 14px;font-family:var(--mono);font-size:13.5px}.sqldemo-input:focus{outline:none;border-color:var(--accent)}.sqldemo-actions{display:flex;align-items:center;gap:14px;padding:12px 16px;flex-wrap:wrap}.sqldemo-error{color:var(--bad);font-size:13.5px;padding:0 16px 14px;font-family:var(--mono)}.sqldemo-result{margin:0 16px 16px;border:1px solid var(--border);border-radius:9px;overflow-x:auto}.sqldemo-result table{width:100%;border-collapse:collapse;font-size:13px}.sqldemo-result th{text-align:left;padding:8px 12px;background:var(--panel);color:var(--accent2);font-family:var(--mono);border-bottom:1px solid var(--border)}.sqldemo-result td{padding:7px 12px;border-bottom:1px solid rgba(36,48,77,.5)}.sqldemo-result tr:last-child td{border-bottom:none}.instructor-card{display:flex;gap:22px;align-items:center;flex-wrap:wrap;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:26px 28px;max-width:760px;margin:0 auto}.instructor-photo{width:96px;height:96px;border-radius:50%;object-fit:cover;border:2px solid var(--accent)}.instructor-photo-fallback{width:96px;height:96px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2))}.instructor-body{flex:1 1;min-width:260px}.instructor-body h3{color:#fff;font-size:20px;margin-bottom:4px}.instructor-role{color:var(--accent2);font-size:13.5px;font-weight:600;margin-bottom:8px}.instructor-bio{color:var(--muted);font-size:14px;margin-bottom:12px}.instructor-links{display:flex;gap:10px;flex-wrap:wrap}.linkedin-btn{display:inline-flex;align-items:center;gap:7px;background:#0a66c2;color:#fff;font-weight:700;font-size:13px;padding:8px 16px;border-radius:8px}.linkedin-btn:hover{filter:brightness(1.1)}.mod-progress{display:flex;flex-direction:column;gap:4px;margin:2px 0 4px}.mod-progress-bar{height:7px;background:var(--panel2);border-radius:5px;overflow:hidden}.mod-progress-bar>div{height:100%;border-radius:5px;transition:width .4s ease;background:linear-gradient(90deg,var(--accent),var(--accent2))}.cert-shell{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:40px 18px}.cert-card{max-width:720px;margin:0 auto;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:40px 44px;text-align:center}.cert-doc{border:2px solid var(--accent);box-shadow:0 0 60px rgba(77,142,247,.15)}.cert-brand{display:flex;align-items:center;justify-content:center;gap:10px;font-size:19px;font-weight:800;color:#fff}.cert-brand span{color:var(--accent)}.cert-kicker{margin-top:22px;font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--accent2);font-weight:700}.cert-name{font-size:34px;color:#fff;margin:14px 0 4px}.cert-line{color:var(--muted);font-size:14.5px}.cert-course{font-size:24px;color:#fff;font-weight:800;margin:14px 0}.cert-meta{display:flex;flex-direction:column;gap:6px;margin-top:24px;padding-top:18px;border-top:1px dashed var(--border);font-size:13px;color:var(--muted)}.cert-verify{color:var(--good);font-weight:600}.cert-note{margin-top:16px;font-size:12px;color:var(--muted)}@media print{body{background:#fff}.cert-shell>.note,.topbar{display:none!important}.cert-card{border-color:#888;box-shadow:none}}.store{display:grid;grid-template-columns:1fr 400px;grid-gap:22px;gap:22px;align-items:start;max-width:1100px;margin:0 auto}.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:12px;gap:12px}.store-card{display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;color:var(--text);font:inherit;transition:border-color .15s,transform .12s,background .15s}.store-card:hover{border-color:var(--accent);transform:translateY(-2px)}.store-card.on{border-color:var(--good);background:rgba(63,185,80,.09)}.store-card .sc-tick{width:26px;height:26px;flex:0 0 26px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--border);color:var(--muted);font-weight:800;font-size:14px}.store-card.on .sc-tick{background:var(--good);border-color:var(--good);color:#06210d}.store-card .sc-icon{font-size:22px}.store-card .sc-body{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.store-card .sc-title{color:#fff;font-weight:700;font-size:15px}.store-card .sc-tag{color:var(--muted);font-size:12px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.store-card .sc-price{color:var(--accent2);font-weight:800;font-size:16px;white-space:nowrap}.cart{position:-webkit-sticky;position:sticky;top:76px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px}.cart-head{display:flex;align-items:baseline;gap:10px}.cart-head h3{color:#fff;font-size:18px;flex:1 1}.cart-empty{padding:14px 0}.cart-list{list-style:none;margin:12px 0 0;display:flex;flex-direction:column;gap:8px}.cart-list li{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--text)}.cart-list .ci-price{color:var(--accent2);font-weight:700;white-space:nowrap}.cart-list .ci-x{background:none;border:0;color:var(--muted);cursor:pointer;margin-left:8px;font-size:13px}.cart-list .ci-x:hover{color:var(--bad)}.cart-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.cart-total span{color:var(--muted)}.cart-total strong{color:#fff;font-size:28px}.cart-gst{margin-top:2px}.buy-notes{list-style:none;max-width:1100px;margin:20px auto 0;display:flex;flex-direction:column;gap:8px}.buy-notes li{color:var(--muted);font-size:13.5px;padding-left:22px;position:relative}.buy-notes li:before{content:"✓";position:absolute;left:0;color:var(--good);font-weight:800}.buy-notes li.no:before{content:"•";color:var(--warn)}@media (max-width:900px){.store{grid-template-columns:1fr}.cart{position:static}}.price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:10px;gap:10px}.price-cell{display:flex;align-items:center;gap:10px;background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:9px 12px}.price-cell .pc-name{flex:1 1;color:var(--text);font-size:13.5px}.price-cell .pc-input{display:flex;align-items:center;gap:4px}.price-cell .pc-rs{color:var(--muted)}.price-cell input{width:84px;background:var(--panel);border:1px solid var(--border);color:#fff;border-radius:7px;padding:6px 8px;font-size:14px}