*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.55}html{--bg:#f6f9ff;--ink:#0f2550;--muted:#61738e;--border:#dbe6f2;--blue:#166fe5;--blue-deep:#103e89;--hero:#eaf3ff}html[data-theme=dark]{--bg:#0b1425;--surface:#15233b;--ink:#edf4ff;--muted:#a8b9d2;--border:#2c3f5a;--blue:#65a9ff;--blue-deep:#92bdff;--hero:#101f35}html[data-theme=ocean]{--bg:#f1fbfa;--surface:#fff;--ink:#124747;--muted:#4f7477;--border:#c9e8e7;--blue:#058b91;--blue-deep:#03676f;--hero:#e2f8f6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,select{cursor:pointer}.container{width:min(1180px,calc(100% - 40px));margin:auto}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:var(--surface);border-bottom:1px solid var(--border)}.nav{height:76px;align-items:center;justify-content:space-between;gap:18px}.brand,.nav{display:flex}.brand{gap:8px;font-size:21px;font-weight:850;color:var(--blue-deep);white-space:nowrap}.brand span:last-child{color:var(--blue)}.brand-icon{display:inline-flex;background:var(--blue);color:#fff;border-radius:12px;padding:9px}.nav nav,.toolbar{gap:24px}.nav nav,.nav nav a,.toolbar{display:flex;align-items:center}.nav nav a{gap:6px;font-weight:600;font-size:14px}.toolbar{gap:8px}.toolbar select{max-width:125px;padding:9px 5px}.theme-button,.toolbar select{background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:10px}.theme-button{padding:10px;display:flex}.hero{padding:80px 0}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;grid-gap:60px;gap:60px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--blue);display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800}.hero h1,h1{font-size:clamp(36px,5vw,60px);letter-spacing:-.045em;line-height:1.12;margin:22px 0}.hero-lead{font-size:18px;color:var(--muted);max-width:630px}.hero-actions{display:flex;align-items:center;gap:18px;margin-top:28px;flex-wrap:wrap}.button{display:inline-flex;gap:12px;align-items:center;padding:13px 20px;border-radius:12px;font-weight:750}.primary{color:#fff;background:#166fe5;box-shadow:0 10px 30px #166fe52a}.metrics{display:flex;gap:22px;margin-top:40px;flex-wrap:wrap}.metrics span{font-size:13px;color:var(--muted)}.metrics strong{font-size:21px;color:var(--ink);margin-right:5px}.hero-card{background:linear-gradient(145deg,#086ad9,#18376c);border-radius:28px;padding:34px;min-height:335px;color:#fff;box-shadow:0 25px 55px #0b498b33;display:flex;flex-direction:column;justify-content:space-between}.hero-shape{height:210px;display:grid;place-items:center;position:relative;border:1px solid #ffffff45;border-radius:18px;background:repeating-linear-gradient(90deg,#ffffff09 0 1px,transparent 1px 24px),repeating-linear-gradient(0deg,#ffffff09 0 1px,transparent 1px 24px)}.dash-floating{position:absolute;bottom:17px;right:15px;letter-spacing:.12em;font-size:12px}.hero-caption{display:flex;gap:10px;align-items:center;font-weight:650}.section{padding:76px 0}.section-heading{margin-bottom:24px}.section h2{font-size:32px;margin:8px 0}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:25px;gap:25px}.course-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:0 10px 36px #163d7020}.course-visual{height:210px;position:relative;background:var(--hero)}.course-content{padding:28px}.course-content h3{font-size:27px;margin:10px 0}.course-content p{color:var(--muted);min-height:56px}.course-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}.course-bottom a{display:flex;align-items:center;gap:6px;color:var(--blue);font-weight:700}.pill{background:var(--hero);color:var(--blue-deep);padding:7px 11px;border-radius:999px;font-size:12px;font-weight:700}.muted{color:var(--muted)}.small{font-size:12px}.footer{border-top:1px solid var(--border);padding:26px 0;font-size:13px}.footer span{float:right}.detail-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:44px;gap:44px;align-items:center}.detail-image{position:relative;height:390px;border-radius:18px;overflow:hidden}.back{color:var(--blue);font-weight:750}.notice{padding:18px;border-left:4px solid var(--blue);background:var(--hero);border-radius:8px;margin:24px 0}.settings-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.setting-card{background:var(--surface);padding:26px;border:1px solid var(--border);border-radius:17px}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}.setting-row input{accent-color:var(--blue);width:19px;height:19px}.settings-note{grid-column:1/-1}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:800px){.nav{height:auto;min-height:70px;flex-wrap:wrap;padding:12px 0}.nav nav{order:3;width:100%;justify-content:space-between;gap:8px}.nav nav a{font-size:12px}.toolbar{margin-left:auto}.hero{padding:55px 0}.detail-grid,.hero-grid,.settings-grid{grid-template-columns:1fr}.hero-grid{gap:30px}.hero-card{min-height:260px}.cards{grid-template-columns:1fr}.section{padding:48px 0}.footer span{display:block;float:none}}.auth-container{display:flex;justify-content:center}.auth-card{width:min(100%,480px);background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:32px;box-shadow:0 12px 40px #102c5220}.auth-card h1{font-size:32px}.auth-card form{display:grid;grid-gap:15px;gap:15px}.auth-card label{display:grid;grid-gap:6px;gap:6px;font-weight:650}.auth-card input,.setting-card select{width:100%;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--bg);color:var(--ink)}.auth-card hr{border:0;border-top:1px solid var(--border);margin:20px 0}.secondary{border:1px solid var(--border)}.link-button{background:none;color:var(--blue);border:0;padding:12px 0;text-decoration:underline}.form-error{color:#c42b35}.dashboard-panel{border:1px solid var(--border);background:var(--surface);padding:28px;border-radius:16px;margin:30px 0}.settings-note{display:grid;justify-items:start;align-items:center}button:disabled{opacity:.5;cursor:not-allowed}.course-visual{height:auto;aspect-ratio:3/1;overflow:hidden}.detail-image{height:auto;aspect-ratio:3/1;background:var(--hero)}.course-visual img,.detail-image img{object-fit:contain!important}.brand{gap:0;display:inline-flex;align-items:center}.brand-mark{display:block;height:42px}@media(max-width:800px){.brand-mark{height:34px}}.brand-mark{height:68px;width:auto;max-width:min(260px,48vw)}@media(max-width:800px){.brand-mark{height:54px;max-width:min(205px,46vw)}}@media(max-width:390px){.brand-mark{height:47px;max-width:155px}}html{--bg:#f5f7fb;--surface:#fff;--ink:#16324f;--muted:#5d738c;--border:#d9e2f0;--blue:#2563eb;--blue-deep:#1d4ed8;--hero:#e9f2ff;--header-bg:#fff;--header-ink:#16324f;--header-border:#d9e2f0;--input-bg:#fff;--input-border:#cdd9e8;--soft-accent:#edf4ff;--card-shadow:0 10px 30px rgba(27,60,104,.075);--focus-ring:rgba(37,99,235,.21);--primary-hover:#1d4ed8;color-scheme:light}html[data-theme=dark]{--bg:#091526;--surface:#14243a;--ink:#e1eaf5;--muted:#a1b2c8;--border:#2d435f;--blue:#82b2ff;--blue-deep:#a4c7ff;--hero:#0e233b;--header-bg:#101e31;--header-ink:#d7e5f4;--header-border:#273b55;--input-bg:#0e1c30;--input-border:#344e6a;--soft-accent:#1e3450;--card-shadow:0 14px 34px rgba(0,0,0,.18);--focus-ring:rgba(130,178,255,.22);--primary-hover:#3972db;color-scheme:dark}html[data-theme=ocean]{--bg:#dceced;--surface:#f2f8f8;--ink:#123c42;--muted:#4f7075;--border:#a8c8cc;--blue:#0a7979;--blue-deep:#095e66;--hero:#c5e5e6;--header-bg:#103e48;--header-ink:#e1f0f1;--header-border:#245b63;--input-bg:#f7fcfc;--input-border:#8db8be;--soft-accent:#d4eeec;--card-shadow:0 12px 30px rgba(16,78,82,.105);--focus-ring:rgba(12,144,137,.19);--primary-hover:#075f62;color-scheme:light}body{background:var(--bg);color:var(--ink);transition:background-color .18s ease,color .18s ease}.topbar{background:var(--header-bg);border-color:var(--header-border)}.topbar,.topbar .nav a,.topbar .toolbar>svg{color:var(--header-ink)}.topbar .nav nav a:hover{color:var(--blue)}html[data-theme=ocean] .topbar .nav nav a:hover{color:#9ce5dc}.theme-button,.topbar .toolbar select{background:var(--input-bg);color:var(--ink);border:1px solid var(--input-border)}.theme-button:focus-visible,.topbar .toolbar select:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.brand-mark{height:58px;max-width:min(235px,45vw);object-fit:contain}html[data-theme=dark] .brand-mark{opacity:.82}html[data-theme=ocean] .brand-mark{opacity:.83}.hero{background:linear-gradient(135deg,var(--hero),var(--bg))}html[data-theme=ocean] .hero{background:linear-gradient(125deg,#b9e1e2,#d8eeee 49%,#dceced)}html[data-theme=dark] .hero{background:linear-gradient(125deg,#112b46,#0d1c30 58%,#091526)}.hero-card{background:linear-gradient(145deg,#1766c4,#113a78)}html[data-theme=ocean] .hero-card{background:linear-gradient(150deg,#176e75,#0d4553)}html[data-theme=dark] .hero-card{background:linear-gradient(150deg,#243f61,#122b45)}.auth-card,.course-card,.dashboard-panel,.setting-card{background:var(--surface);border-color:var(--border);box-shadow:var(--card-shadow)}html[data-theme=ocean] .course-card,html[data-theme=ocean] .dashboard-panel,html[data-theme=ocean] .setting-card{border-color:#94c1c5}.course-visual,.detail-image,.notice,.pill{background:var(--soft-accent)}.notice,.pill{color:var(--blue-deep)}.button.primary,.primary{background:#2563eb;color:#fff;box-shadow:0 8px 24px rgba(37,99,235,.18)}html[data-theme=dark] .button.primary,html[data-theme=dark] .primary{background:#356eca;color:#fff;box-shadow:none}html[data-theme=ocean] .button.primary,html[data-theme=ocean] .primary{background:#087878;color:#fff;box-shadow:0 8px 24px rgba(8,120,120,.17)}.button.primary:hover,.primary:hover{filter:brightness(.94)}.secondary{background:var(--surface);color:var(--ink);border-color:var(--border)}a,button:not(:disabled),select{transition:background-color .15s,color .15s,border-color .15s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.auth-card input,.setting-card select,input,select,textarea{background:var(--input-bg);color:var(--ink);border-color:var(--input-border)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}input[type=checkbox],input[type=radio]{accent-color:var(--blue)}.course-bottom a,.link-button,a.back{color:var(--blue-deep)}.footer{background:var(--surface);border-color:var(--border)}.course-learning-block,.course-markdown,.course-section-heading,.course-toc{color:var(--ink)}.course-learning-block,.course-section-heading,.course-toc{border-color:var(--border);background:var(--surface)}.course-markdown table td,.course-markdown table th{border-color:var(--border)}html[data-theme=ocean] .course-markdown .course-learning-block{background:#e9f5f3}html[data-theme=dark] .course-markdown .course-learning-block{background:#1a2e46}@media(max-width:800px){.brand-mark{height:49px;max-width:min(205px,46vw)}}@media(max-width:390px){.brand-mark{height:43px;max-width:155px}}@media(prefers-reduced-motion:reduce){a,body,button,select{transition:none}}html[data-theme=dark] .brand-mark{opacity:1;filter:none}.topbar .nav{height:76px;min-height:76px}.topbar .brand{flex:0 0 auto;min-width:0}.topbar .brand-mark{height:64px;width:auto;max-width:260px;object-fit:contain}.topbar .toolbar{gap:10px}.topbar .header-control{display:inline-flex;align-items:center;position:relative;height:39px;border:1px solid var(--header-border);border-radius:11px;background:color-mix(in srgb,var(--header-bg) 84%,var(--header-ink) 16%);color:var(--header-ink);transition:background .16s,border-color .16s,box-shadow .16s}.topbar .header-control:hover{background:color-mix(in srgb,var(--header-bg) 76%,var(--header-ink) 24%)}.topbar .header-control:focus-within{outline:2px solid var(--blue);outline-offset:2px}.topbar .header-control-icon{margin-left:11px;flex-shrink:0;opacity:.82;pointer-events:none}.topbar .header-control-arrow{position:absolute;right:10px;pointer-events:none;opacity:.75}.topbar .toolbar .header-control select{border:0;outline:0;box-shadow:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:6px 30px 6px 8px;margin:0;min-width:0;max-width:none;color:var(--header-ink);background:transparent;font-size:13px;font-weight:600;line-height:1.2;cursor:pointer}.topbar .toolbar .header-control select:focus-visible{outline:0}.topbar .toolbar .header-control select option{color:var(--ink);background:var(--surface)}html[data-theme=ocean] .topbar .header-control{border-color:#547c83}html[data-theme=dark] .topbar .header-control{border-color:#38506c}@media(max-width:800px){.topbar .nav{height:auto;min-height:70px}.topbar .brand-mark{height:54px;max-width:min(235px,43vw)}.topbar .toolbar{gap:6px}.topbar .header-control{height:36px}.topbar .header-control-icon{margin-left:8px;width:15px}.topbar .header-control-arrow{right:7px;width:13px}.topbar .toolbar .header-control select{padding:5px 24px 5px 6px;font-size:12px}}@media(max-width:480px){.topbar .brand-mark{height:46px;max-width:min(170px,40vw)}.topbar .header-control-icon{display:none}.topbar .toolbar .header-control select{max-width:95px;text-overflow:ellipsis}}html[data-theme=dark] .topbar .brand-mark{height:70px;width:auto;max-width:280px;object-fit:contain;opacity:1;filter:none}@media(max-width:800px){html[data-theme=dark] .topbar .brand-mark{height:62px;max-width:min(245px,45vw)}}@media(max-width:480px){html[data-theme=dark] .topbar .brand-mark{height:51px;max-width:min(195px,43vw)}}.topbar .brand-mark,html[data-theme=dark] .topbar .brand-mark,html[data-theme=ocean] .topbar .brand-mark{height:70px;width:auto;max-width:280px;object-fit:contain;opacity:1;filter:none}@media (max-width:800px){.topbar .brand-mark,html[data-theme=dark] .topbar .brand-mark,html[data-theme=ocean] .topbar .brand-mark{height:62px;max-width:min(245px,45vw)}}@media (max-width:480px){.topbar .brand-mark,html[data-theme=dark] .topbar .brand-mark,html[data-theme=ocean] .topbar .brand-mark{height:51px;max-width:min(195px,43vw)}}.topbar .brand{display:inline-flex;align-items:center;flex:0 0 280px;width:280px;min-width:280px;height:76px;gap:4px;white-space:nowrap;text-decoration:none}.topbar .brand-symbol{width:58px;height:58px;flex:0 0 58px;object-fit:contain;display:block}.topbar .brand-wordmark{display:inline-flex;align-items:baseline;white-space:pre;font:800 25px/1.08 Inter,Segoe UI,Arial,sans-serif;letter-spacing:-.055em;font-feature-settings:"kern";font-kerning:normal}.topbar .brand-edu,.topbar .brand-lms{color:#182f56}.topbar .brand-cert{color:#1672e4}html[data-theme=dark] .topbar .brand-edu,html[data-theme=dark] .topbar .brand-lms{color:#dce6f2}html[data-theme=dark] .topbar .brand-cert{color:#6daaff}html[data-theme=ocean] .topbar .brand-edu,html[data-theme=ocean] .topbar .brand-lms{color:#d4e9eb}html[data-theme=ocean] .topbar .brand-cert{color:#88d8dc}@media(max-width:800px){.topbar .brand{flex-basis:235px;width:235px;min-width:235px;height:60px;gap:3px}.topbar .brand-symbol{width:49px;height:49px;flex-basis:49px}.topbar .brand-wordmark{font-size:21px}}@media(max-width:480px){.topbar .brand{flex-basis:190px;width:190px;min-width:190px;height:53px;gap:2px}.topbar .brand-symbol{width:40px;height:40px;flex-basis:40px}.topbar .brand-wordmark{font-size:18px}}.profile-avatar{flex:none;display:inline-grid;place-items:center;border-radius:50%;overflow:hidden;background:var(--soft-accent,var(--hero));color:var(--blue-deep);border:1px solid var(--border);font-weight:800;line-height:1;text-transform:uppercase}.profile-avatar img{height:100%;width:100%;object-fit:cover}.profile-dashboard-intro,.profile-heading{display:flex;align-items:center;gap:18px}.profile-dashboard-intro{margin-bottom:18px}.profile-dashboard-intro p{margin:5px 0 12px}.profile-card{width:min(670px,100%);margin:0 auto;padding:32px;border:1px solid var(--border);border-radius:20px;background:var(--surface)}.profile-heading{margin:24px 0}.profile-heading h1{margin:0;font-size:clamp(28px,4vw,38px)}.profile-heading p{margin:2px 0}.profile-identity-form{display:grid;grid-gap:18px;gap:18px;margin-top:22px}.profile-identity-form label{display:grid;grid-gap:7px;gap:7px;font-weight:650}.profile-identity-form input{padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--ink);width:100%}@media(max-width:600px){.profile-card{padding:20px}.profile-dashboard-intro{align-items:flex-start}}