/* Bright ideas by day, colorful calm at night. */
:root{--canvas:#f6f7fd;--surface:#fff;--surface-soft:#f1f2fc;--ink:#28324b;--muted:#697590;--line:#e3e7f3;--primary:#7162d7;--accent:#a85c35;--accent-soft:#fff0e4;--v51-purple:#7162d7;--v51-purple-soft:#f0ebff;--v51-blue:#3f7cbe;--v51-blue-soft:#eaf4ff;--v51-teal:#287b72;--v51-teal-soft:#e4f5ef;--v51-orange:#af5e32;--v51-orange-soft:#fff0e0;--v51-glow:rgba(167,150,243,.13);--v51-halo:rgba(243,179,129,.16)}
html[data-theme=dark]{--canvas:#111724;--surface:#1b2437;--surface-soft:#242e45;--ink:#f0f3ff;--muted:#afbbd2;--line:#35415c;--primary:#8c7ce8;--accent:#ffc293;--accent-soft:#3c2c2b;--v51-purple:#b5a7ff;--v51-purple-soft:#342e50;--v51-blue:#8bc6ff;--v51-blue-soft:#223b55;--v51-teal:#8ad9c4;--v51-teal-soft:#1f3c3c;--v51-orange:#ffc293;--v51-orange-soft:#40332d;--v51-glow:rgba(108,98,195,.16);--v51-halo:rgba(179,112,77,.1)}
body.kx-v51{background:radial-gradient(ellipse at 85% 0,var(--v51-glow),transparent 50%),radial-gradient(ellipse at 5% 85%,var(--v51-halo),transparent 45%),var(--canvas)!important}.kx-v51 button{transition:transform .19s cubic-bezier(.2,.8,.2,1),background-color .2s,box-shadow .2s,border-color .2s!important}.kx-v51 button:hover{transform:translateY(-1px)}.kx-v51 button:active{transform:scale(.97)!important}.kx-v51 :is(.primary,.pill-button){background:linear-gradient(115deg,#7765d7,#5f74cc)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 5px 14px #7162d71c!important}.kx-v51 :is(.primary,.pill-button):hover{box-shadow:0 8px 20px #7162d735!important}.kx-v51 .secondary:hover{border-color:var(--v51-purple)!important;background:var(--v51-purple-soft)!important}.v51-tap{position:fixed;pointer-events:none;z-index:2147483000;width:var(--tap-size);height:var(--tap-size);border:2px solid var(--v51-purple);border-radius:50%;transform:translate(-50%,-50%);animation:v51-tap .45s ease-out forwards}@keyframes v51-tap{0%{opacity:.45;scale:.2}100%{opacity:0;scale:1.4}}
/* Login: art surrounds a centered form, with no side-by-side split. */
.kx-v51 .auth-gate{isolation:isolate;background:radial-gradient(ellipse at 18% 18%,var(--v51-purple-soft),transparent 53%),radial-gradient(ellipse at 85% 85%,var(--v51-orange-soft),transparent 48%),var(--canvas)!important;padding:56px 20px 28px!important}.v51-login-scene{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background-image:radial-gradient(var(--line) 1px,transparent 1px);background-size:30px 30px}.v51-orb{position:absolute;border:1px solid var(--line);border-radius:50%}.v51-orb-one{width:490px;height:490px;left:-200px;top:12%;box-shadow:0 0 0 50px var(--v51-glow)}.v51-orb-two{width:430px;height:430px;right:-170px;bottom:-120px;box-shadow:0 0 0 45px var(--v51-halo)}.v51-login-sticker{position:absolute;display:grid;place-items:center;gap:14px;padding:24px 32px;border:1px solid var(--line);border-radius:28px;background:var(--surface);box-shadow:0 16px 50px #2c274008}.v51-login-sticker svg{width:48px;height:48px}.v51-login-sticker small{font-size:12px;letter-spacing:1px}.v51-sticker-book{left:calc(50% - 440px);top:28%;transform:rotate(-9deg);color:var(--v51-purple);background:var(--v51-purple-soft)}.v51-sticker-spark{right:calc(50% - 440px);bottom:25%;transform:rotate(9deg);color:var(--v51-orange);background:var(--v51-orange-soft)}
body.kx-v51 .v51-login-card{width:min(100%,460px)!important;max-width:460px!important;padding:30px 38px 22px!important;border-radius:30px!important;border:1px solid var(--line)!important;box-shadow:0 24px 90px #222b5010,0 0 0 7px #ffffff25!important;position:relative;overflow:visible;background:var(--surface)!important}.v51-login-card:before{display:block!important;content:'';position:absolute;height:4px;left:30px;right:30px;top:-1px;background:linear-gradient(90deg,#a49ce4,#80c6c0,#f1b783);border-radius:10px}.kx-v51 .auth-brand{flex-direction:row!important;gap:14px!important;justify-content:center!important;margin:0 0 18px!important}.kx-v51 .auth-logo{width:90px!important;height:90px!important;flex:none;transform:rotate(-5deg);transition:transform .25s}.kx-v51 .auth-brand:hover .auth-logo{transform:rotate(4deg) translateY(-3px)}.kx-v51 .auth-brand>div:last-child{text-align:left}.kx-v51 .auth-title{color:var(--ink)!important;font-size:32px!important;letter-spacing:3px}.kx-v51 .auth-subtitle{max-width:180px;font-size:12px!important}.kx-v51 .auth-card h1{font-size:24px!important;font-weight:750}.kx-v51 .auth-description{font-size:12px!important;margin:8px 0 12px!important}.v51-login-chips{display:flex;gap:7px;justify-content:center;margin:0 0 22px;flex-wrap:wrap}.v51-login-chips span{font-size:10px;line-height:1.5;padding:5px 9px;background:var(--v51-purple-soft);color:var(--v51-purple);border-radius:20px}.v51-login-chips span+span{background:var(--v51-teal-soft);color:var(--v51-teal)}.kx-v51 .auth-role-tabs{background:var(--surface-soft)!important;border:1px solid var(--line)}.kx-v51 .auth-role-tabs button.active{color:var(--v51-purple)!important;background:var(--surface)!important;box-shadow:0 3px 10px #29326112!important}.kx-v51 .auth-card .field-label{margin:16px 0 6px!important;font-weight:600}.kx-v51 .auth-card .text-input{background:var(--canvas)!important;border-color:var(--line)!important;min-height:46px!important}.kx-v51 .auth-card .text-input:focus{border-color:var(--v51-purple)!important;box-shadow:0 0 0 3px var(--v51-purple-soft)!important;outline:none!important}.kx-v51 .auth-card .auth-submit{min-height:48px!important;font-size:15px}.kx-v51 .kx-consent{margin:17px 0!important}.kx-v51 .kx-consent input{accent-color:#7765d7}.kx-v51 .kx-company{font-size:10px;margin-top:18px}.kx-v51 .auth-help{border-top:1px solid var(--line);padding-top:12px}.kx-v51 .auth-help summary{color:var(--muted)}
/* Sidebar control is anchored to the rail center and never covers the toolbar. */
body.kx-v51 #kxSidebarToggle{left:calc(var(--kx-sidebar) - 14px)!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;width:28px!important;height:64px!important;min-height:64px!important;border:1px solid var(--line)!important;border-radius:13px!important;box-shadow:3px 0 12px #22315110!important;background:var(--surface)!important;color:var(--v51-purple)!important;font-size:0!important;padding:0!important;z-index:1300}body.kx-v51 #kxSidebarToggle:before{content:'‹';font-size:25px;font-weight:500;line-height:1}body.kx-v51.kx-sidebar-hidden #kxSidebarToggle{left:0!important;border-radius:0 14px 14px 0!important}body.kx-v51.kx-sidebar-hidden #kxSidebarToggle:before{content:'›'}body.kx-v51 .topbar{padding-left:0!important}.kx-v51 .sidebar{background:linear-gradient(180deg,var(--surface),var(--canvas))!important}.kx-v51 .sidebar .nav button .ico{width:30px!important;height:30px!important;padding:6px;display:grid;place-items:center;border-radius:10px;background:var(--v51-purple-soft);color:var(--v51-purple)}.kx-v51 .ico svg{width:20px;height:20px;display:block}.kx-v51 .sidebar .nav button[data-v51-tone=blue] .ico{color:var(--v51-blue);background:var(--v51-blue-soft)}.kx-v51 .sidebar .nav button[data-v51-tone=teal] .ico{color:var(--v51-teal);background:var(--v51-teal-soft)}.kx-v51 .sidebar .nav button[data-v51-tone=orange] .ico{color:var(--v51-orange);background:var(--v51-orange-soft)}body.kx-v51 .sidebar .nav button.active{background:var(--v51-purple-soft)!important;color:var(--v51-purple)!important}.kx-v51 .kx-nav-group{gap:6px}.kx-v51 .kx-nav-group>span{font-size:10px;padding-top:8px}.kx-v51 .sidebar .nav button{font-weight:600!important;gap:10px!important}.kx-v51 .brand-label small{font-size:10px!important;color:var(--muted)!important}.kx-v51 .brand-icon img{border-radius:14px!important}
/* Dashboard: restrained color fields and readable, warm detail. */
body.kx-v51 #homePage .v51-hero{border:1px solid var(--line)!important;background:linear-gradient(112deg,var(--v51-purple-soft) 0%,var(--surface) 52%,var(--v51-orange-soft) 100%)!important;min-height:310px!important;box-shadow:0 12px 38px #23315405!important;overflow:hidden;isolation:isolate}.v51-hero:before{content:'';position:absolute;width:310px;height:310px;border-radius:50%;right:5%;top:40px;background:radial-gradient(circle,var(--v51-halo),transparent 70%);z-index:-1}.kx-v51 .v51-hero .kx-overline{color:var(--v51-purple)!important;font-size:11px!important;letter-spacing:2px!important;font-weight:700}.kx-v51 .v51-hero .kx-dashboard-copy h1{font-size:clamp(27px,2.5vw,39px)!important;letter-spacing:-1px!important;max-width:560px}.kx-v51 .v51-hero .kx-dashboard-copy p{line-height:1.9!important;max-width:420px}.kx-v51 .v51-hero .kx-dashboard-art{height:285px!important;overflow:visible!important}.kx-v51 .v51-hero .kx-dashboard-art img{position:absolute;inset:auto 0 0!important;height:100%!important;object-position:center bottom!important;filter:drop-shadow(0 8px 16px #4133540b)!important}.v51-hero-ribbon{position:absolute;left:0;top:12px;display:flex;align-items:center;gap:6px;transform:rotate(-5deg);padding:7px 11px;font-size:10px;font-weight:600;background:var(--surface);color:var(--v51-teal);border:1px solid var(--line);border-radius:12px;z-index:2;box-shadow:0 5px 15px #28355308}.v51-hero-ribbon svg{width:14px;height:14px}.kx-v51 .v45-home-fox{height:105px!important;width:100px!important;right:22px!important;bottom:12px!important}.kx-v51 .kx-real-stats{font-size:11px!important;gap:16px!important;margin-top:24px!important}.kx-v51 .kx-real-stats b{color:var(--v51-purple)!important}.v51-heading-icon{display:inline-grid;place-items:center;width:34px;height:34px;padding:8px;margin-right:10px;vertical-align:middle;border-radius:12px;background:var(--v51-blue-soft);color:var(--v51-blue)}.v51-heading-icon svg{width:20px;height:20px}#kxReviewOverview .v51-heading-icon{background:var(--v51-teal-soft);color:var(--v51-teal)}body.kx-v51 #kxHomeCourses{background:linear-gradient(130deg,var(--surface),var(--v51-blue-soft))!important}body.kx-v51 #kxReviewOverview{background:linear-gradient(130deg,var(--surface),var(--v51-teal-soft))!important}body.kx-v51 :is(#kxHomeCourses,#kxReviewOverview){padding:24px!important;border-radius:22px!important;box-shadow:0 6px 22px #23315404!important}body.kx-v51 :is(#kxHomeCourses,#kxReviewOverview) h2{font-size:18px!important}.kx-v51 .kx-training-card:nth-child(3n+1) .kx-training-icon{background:var(--v51-purple-soft)!important;color:var(--v51-purple)!important}.kx-v51 .kx-training-card:nth-child(3n+2) .kx-training-icon{background:var(--v51-teal-soft)!important;color:var(--v51-teal)!important}.kx-v51 .kx-training-card:nth-child(3n) .kx-training-icon{background:var(--v51-orange-soft)!important;color:var(--v51-orange)!important}.kx-training-icon svg{width:24px;height:24px}.kx-v51 .kx-training-card:hover{border-color:var(--v51-purple)!important;box-shadow:0 10px 25px #7162d710!important}.kx-v51 .lesson-card{border-left:3px solid var(--v51-blue)!important}.kx-v51 .kx-settings-tabs button[aria-selected=true]{color:var(--v51-purple)!important;box-shadow:0 2px 8px #7162d710!important}.kx-v51 .kx-theme-toggle{border-color:var(--line)!important;color:var(--v51-purple)!important;background:var(--v51-purple-soft)!important;box-shadow:none!important}.kx-v51 .v43-credit-badge{background:var(--v51-teal-soft)!important;color:var(--v51-teal)!important}.kx-v51 .v43-credit-badge.low{background:var(--v51-orange-soft)!important;color:var(--v51-orange)!important}.kx-v51 .v42-controls{border-color:var(--line)!important;background:var(--surface)!important}.kx-v51 .v42-hero{background:linear-gradient(120deg,var(--surface),var(--v51-teal-soft))!important}.kx-v51 .v42-guide .primary{background:linear-gradient(115deg,#358e83,#4c9b9b)!important}.kx-v51 .v42-sound{background:var(--v51-teal-soft)!important;color:var(--v51-teal)!important}.kx-v51 .v43-balance{background:var(--v51-teal-soft)!important;color:var(--v51-teal)!important}.kx-v51 .v43-balance.low{background:var(--v51-orange-soft)!important;color:var(--v51-orange)!important}
@media(min-width:901px){.kx-v51 .main{padding-top:22px!important}.kx-v51 .topbar{margin-bottom:26px!important}.kx-v51 .sidebar .brand{padding-bottom:18px!important}}
@media(max-width:1100px){.v51-login-sticker{display:none}.kx-v51 .v51-hero .kx-dashboard-art{height:260px!important}.v51-hero-ribbon{left:-28px;font-size:9px}.kx-v51 .v51-hero .kx-dashboard-copy h1{font-size:30px!important}}
@media(max-width:900px){body.kx-v51 #kxSidebarToggle{left:0!important;border-radius:0 14px 14px 0!important}body.kx-v51 #kxSidebarToggle:before{content:'›'}body.kx-v51.kx-mobile-nav-open #kxSidebarToggle{left:calc(min(300px,86vw) - 14px)!important;border-radius:13px!important}body.kx-v51.kx-mobile-nav-open #kxSidebarToggle:before{content:'‹'}body.kx-v51 .topbar{padding-left:0!important;padding-right:45px!important}.kx-v51 .main{padding-left:22px!important}.kx-v51 .v51-hero .kx-dashboard-art{height:220px!important}.v51-hero-ribbon{display:none}}
@media(max-width:600px){body.kx-v51 .v51-login-card{padding:25px 22px 20px!important;border:1px solid var(--line)!important;border-radius:25px!important;background:var(--surface)!important}.kx-v51 .auth-gate{padding:64px 17px 24px!important}.kx-v51 .auth-brand{margin-bottom:13px!important;gap:10px!important}.kx-v51 .auth-logo{height:74px!important;width:74px!important}.kx-v51 .auth-title{font-size:28px!important}.kx-v51 .auth-subtitle{max-width:160px;font-size:10px!important}.kx-v51 .auth-card h1{font-size:21px!important}.v51-login-chips{margin-bottom:18px;gap:5px}.v51-login-chips span{font-size:9px;padding:4px 7px}.kx-v51 .auth-card .field-label{margin-top:13px!important}.kx-v51 .kx-consent{font-size:11px!important;flex-wrap:wrap;gap:6px}.kx-v51 .kx-consent input{flex-shrink:0}.kx-v51 .auth-links{margin-top:12px!important;font-size:10px!important}.kx-v51 .kx-company{margin-top:14px!important}.kx-v51 .main{padding:16px 14px 90px 22px!important}.kx-v51 .topbar{margin-bottom:22px!important}.kx-v51 #homePage .v51-hero{min-height:255px!important;padding:22px!important;grid-template-columns:minmax(0,1fr) 100px!important}.kx-v51 .v51-hero .kx-dashboard-copy h1{font-size:25px!important;line-height:1.4!important;letter-spacing:0!important}.kx-v51 .v51-hero .kx-dashboard-copy p{font-size:11px!important;margin-top:12px!important}.kx-v51 .v51-hero .kx-overline{font-size:9px!important;letter-spacing:0!important}.kx-v51 .v51-hero .kx-dashboard-art{height:175px!important;margin-top:37px!important}.kx-v51 .v45-home-fox{height:66px!important;width:66px!important;right:13px!important;bottom:13px!important}.kx-v51 .kx-real-stats{gap:6px!important;font-size:9px!important;flex-direction:column;align-items:flex-start;margin-top:18px!important}.kx-v51 .v51-hero .kx-hero-buttons{margin-top:16px!important}.kx-v51 :is(#kxHomeCourses,#kxReviewOverview){padding:19px!important}.v51-heading-icon{height:30px;width:30px;padding:6px;margin-right:8px}.kx-v51 .v51-hero .primary{padding:10px 12px!important;font-size:12px!important}.kx-v51 .v43-page-head{gap:10px}.kx-v51 .v43-page-head img{width:75px;height:75px}.kx-v51 .kx-coming-subjects article{padding:24px}}
@media(prefers-reduced-motion:reduce){.v51-tap{display:none}.kx-v51 *, .kx-v51 *:before,.kx-v51 *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* The sign-in surface stays above the mobile drawer while the viewport changes. */
body.kx-v51:not(.kx-signed-in) .app{visibility:hidden!important;pointer-events:none}
body.kx-v51 .auth-gate{z-index:1500}
body.kx-v51 .topbar .avatar{background:var(--v51-blue-soft)!important;border-color:var(--line)!important;color:var(--v51-blue)!important}
body.kx-v51 .topbar .avatar span{background:transparent!important;color:inherit!important}
body.kx-v51 .topbar .search input{background:transparent!important;color:var(--ink)!important}
body.kx-v51 .topbar .search input::placeholder{color:var(--muted)!important;opacity:1}

body.kx-v51 .auth-role-tabs[hidden]{display:none!important}
html[data-theme=dark] body.kx-v51 #accountLabel{background:transparent!important;color:var(--v51-blue)!important}
.kx-v51 .kx-character{background-image:url('/assets/fox-v51.webp')!important;background-size:contain!important;background-repeat:no-repeat!important;background-color:transparent!important}
@media(prefers-reduced-motion:reduce){html body.kx-v51 *,html body.kx-v51 *:before,html body.kx-v51 *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
