/* Ultraviolet application theme. Layout foundations remain in academy.css. */
:root{color-scheme:dark;--ink:#f0edf6;--muted:#b0a8c0;--accent:#bf9eff;--on-accent:#201330;--green:var(--accent);--deep:#ceb5ff;--lime:var(--accent);--bg:#16131f;--paper:#221d2c;--soft:#2e253f;--rail:#100e17;--line:#393244;--amber:#f1cd8f;--red:#ffb4bd;--success:#a9d9be;--sidebar:88px;line-height:1.65}
*:focus-visible{outline:2px solid var(--accent)}
h1{font-size:clamp(28px,2.8vw,36px);letter-spacing:-.8px}h2{font-size:22px}small{font-size:12px}
.sidebar{width:var(--sidebar);background:var(--rail);padding:25px 10px 18px;border-color:var(--line);overflow-x:hidden}
.brand{justify-content:center;color:var(--ink);font-size:16px;gap:12px;white-space:normal}.brand-name{display:none}.brand small{font-size:11px;letter-spacing:0;color:var(--muted)}
.brand-mark{width:32px;height:32px;border-radius:50%;font:500 18px 'Segoe UI',sans-serif;background:var(--accent);color:var(--on-accent)}
.navigation-toggle{display:grid;place-items:center;background:transparent;color:var(--muted);border:1px solid var(--line);border-radius:8px;width:32px;height:30px;margin:19px auto 15px}.navigation-toggle svg{width:16px;height:16px}
.lab-label{display:none}nav a{flex-direction:column;justify-content:center;gap:5px;min-height:59px;padding:8px 4px;margin:4px 0;border-radius:12px;color:var(--muted);font-size:11px}
nav a:hover{background:var(--paper);color:var(--ink)}nav a.selected{background:var(--soft);color:var(--accent);box-shadow:none}.nav-icon{display:inline-grid;place-items:center;width:22px;height:22px;flex:none}.nav-icon svg{width:20px;height:20px}
.nav-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.nav-short{font-size:11px;line-height:1.2}.nav-heading{border-top:1px solid var(--line);padding-top:12px;margin-top:17px;font-size:0}
.sidebar-bottom{padding-top:25px;font-size:11px}.sidebar-bottom .environment-label{display:none}.sidebar-bottom a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;color:var(--muted);font-size:11px}.secure-dot{background:var(--success)}
.navigation-expanded{--sidebar:240px}.navigation-expanded .sidebar{padding-inline:18px}.navigation-expanded .brand{justify-content:flex-start}.navigation-expanded .brand-name{display:block}.navigation-expanded .navigation-toggle{margin-inline-end:0}.navigation-expanded .navigation-toggle svg{transform:rotate(180deg)}
.navigation-expanded nav a{flex-direction:row;justify-content:flex-start;gap:12px;min-height:44px;padding:11px;font-size:13px}.navigation-expanded .nav-text{position:static;width:auto;height:auto;overflow:visible;clip:auto}.navigation-expanded .nav-short{display:none}.navigation-expanded .nav-heading{font-size:11px}.navigation-expanded .sidebar-bottom .environment-label{display:block}.navigation-expanded .sidebar-bottom a{justify-content:flex-start}
.workspace,[dir=rtl] .workspace{margin-inline-start:var(--sidebar)}[dir=rtl] .sidebar{width:var(--sidebar)}[dir=rtl] .brand{font-size:16px}
.topbar{height:auto;min-height:78px;background:var(--bg);padding:16px 36px;gap:22px}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-brand{font-size:16px;font-weight:500;color:var(--ink)}.topbar-brand:hover{text-decoration:none}.topbar-right{gap:14px}.internal-label{border:0;font-size:11px;letter-spacing:1px;color:var(--muted);padding:0}
.text-button{color:var(--muted);font-size:12px;padding:6px 0}.text-button:hover{color:var(--accent)}.avatar{width:32px;height:32px;flex:none;background:var(--soft);border:0}.identity{font-size:12px;font-weight:500;line-height:1.5}.identity small{font-size:11px}.menu-button{display:none}
main{padding:32px 36px 42px;max-width:1500px}.page-heading{gap:24px;margin-bottom:28px}.eyebrow{font-size:11px;letter-spacing:1.3px;font-weight:500;color:var(--muted)}
.button{font-size:13px;font-weight:500;color:var(--on-accent);border-radius:12px}.button.light{color:var(--on-accent)}.button.secondary{color:var(--accent);border-color:var(--line)}.button.secondary:hover{background:var(--soft)}.button-group{flex-wrap:wrap}
.onboarding-strip{background:var(--soft);border-color:var(--line);border-radius:12px;font-size:12px;margin-bottom:23px}.onboarding-strip a{font-weight:500}
.badge{font-size:11px;font-weight:500;border-radius:6px;background:var(--soft);color:var(--muted)}.badge.passed,.badge.completed{background:#243a31;color:var(--success)}.badge.warning,.badge.overdue,.badge.revise{background:#3e3125;color:var(--amber)}.badge.pending{background:#29344a;color:#b3caff}
.learning-layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:26px}.next-step{display:block;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:16px;min-height:0}.hero-copy{padding:28px}
.path-kicker{color:var(--muted);font-size:11px;letter-spacing:1.2px;text-transform:uppercase;margin:0 0 18px}.hero-copy h2{font-size:30px;font-weight:550;max-width:650px;margin-bottom:16px}.hero-copy>p:not(.eyebrow):not(.path-kicker){font-size:13px;color:var(--muted);max-width:630px}.hero-meta{font-size:12px;color:var(--muted);gap:10px 20px;flex-wrap:wrap;margin:19px 0 23px}
.module-checkpoints{margin-top:24px}.module-checkpoint{display:flex;align-items:flex-start;gap:13px;padding:15px 0;border-top:1px solid var(--line);color:var(--ink)}.module-checkpoint:hover{color:var(--accent);text-decoration:none}.module-checkpoint h3{font-size:14px;margin:0 0 3px}.module-checkpoint p{font-size:12px;color:var(--muted);margin:0}
.learning-record{border:1px solid var(--line);border-radius:16px;padding:24px}.learning-record strong{display:block;font-size:34px;font-weight:500;line-height:1.3;margin:15px 0 7px;font-variant-numeric:tabular-nums}.learning-record strong small{font-size:16px;color:var(--muted)}.learning-record p{font-size:12px;color:var(--muted);margin-bottom:0}.learning-record .record-section+.record-section{border-top:1px solid var(--line);padding-top:19px;margin-top:22px}.learning-record .record-section>span{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.learning-record .record-detail{margin-top:16px}.learning-record .record-detail strong{display:inline;font-size:13px;margin:0}
.training-tools{margin:28px 0 32px}.training-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.training-tool{display:block;padding:21px;border-radius:14px;background:var(--paper);color:var(--ink)}.training-tool:hover{background:var(--soft);text-decoration:none}.training-tool .tool-monogram{margin-bottom:17px;width:34px;height:34px}.training-tool h3{margin-bottom:3px}.training-tool p{font-size:12px;color:var(--muted);margin:0}
.stat-strip span,.stat-strip p,.stat-strip strong small{color:var(--muted)}.stat-strip strong{font-variant-numeric:tabular-nums}.dashboard-grid{grid-template-columns:minmax(0,1.8fr) minmax(220px,1fr);gap:32px}.section-heading a,.section-heading>span{font-size:12px}.journey-row:hover{background:var(--paper)}.path-number{font-family:inherit;color:var(--muted);font-size:21px}.journey-row p,.row-progress{font-size:12px}.row-progress{width:105px}
progress,progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}
.desk-aside h2{font-family:inherit;font-size:21px;font-weight:500}.desk-aside p{font-size:13px}.desk-aside a{font-size:13px}.page-footer{max-width:1500px;padding:20px 36px;color:var(--muted);font-size:11px;letter-spacing:0}
.notice{background:var(--soft);border-color:var(--line);border-radius:10px;font-size:13px}.notice.error{background:#3f2834;border-color:#77515d;color:var(--red)}.notice.warning{background:#3e3125;border-color:#70583b;color:var(--amber)}.notice.success{background:#243a31;border-color:#3d6553;color:var(--success)}
.back-link{font-size:13px}.path-feature .path-number{font-size:38px}.path-feature p,.module-row p{font-size:13px}.inline-meta,.completion-block span{font-size:12px}.step-marker{border-color:var(--line);color:var(--muted);width:28px;height:28px}.step-marker.complete{background:var(--soft);color:var(--accent);border-color:var(--accent)}
.content-grid{gap:40px}.spaced-list{color:var(--muted);font-size:14px}.reading-aside{background:var(--paper);border:1px solid var(--line);border-radius:14px}.reading-aside p,.reading-aside a{font-size:13px}.lesson-row p{font-size:12px}.checkpoint{background:var(--paper);border-radius:12px}.checkpoint>span{color:var(--muted)}.checkpoint p{font-size:12px}.prose{font-size:15px;line-height:1.9}
.resource-link{background:var(--paper);border-radius:12px}.resource-link>span:first-child{font-size:11px}.resource-link small{font-size:12px}.confirm-panel p{font-size:13px}label.checkbox{font-size:13px}input[type=checkbox],input[type=radio]{accent-color:var(--accent);width:16px;height:16px}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:#53485f;background:var(--bg);border-radius:8px;min-height:42px}label{font-size:12px;font-weight:500}.form-panel{background:var(--paper);border-radius:14px}.form-panel .helptext,.form-panel ul:not(.errorlist){font-size:12px}.errorlist{font-size:13px}
.quiz-form legend{font-size:16px;font-weight:500}.quiz-option{background:var(--paper);border-radius:10px;font-size:14px}.quiz-option:has(input:checked){border-color:var(--accent);background:var(--soft)}.result-panel{background:var(--soft);border-radius:14px}
.table-wrap{background:var(--paper);border-radius:12px}table{font-size:13px}th{background:var(--soft);color:var(--muted);font-size:12px;letter-spacing:0;font-weight:500}td{border-color:var(--line)}td small{font-size:11px}
.file-list{background:var(--paper);border-radius:12px;overflow:hidden}.file-list a{font-size:13px}.file-list small{font-size:12px}.objective-callout{background:var(--soft);border-color:var(--accent)}.objective-callout p:last-child{font-size:13px}.rubric-row{border-color:var(--line)}.rubric-row strong{font-size:13px}.rubric-row span{font-size:12px}
.filter-bar{background:var(--paper);border:1px solid var(--line);border-radius:12px}.filter-bar label{font-size:12px}.filter-bar input,.filter-bar select{font-size:13px}.filter-bar a,.results-count{font-size:12px}.resource-type{font-size:11px;color:var(--muted)}.resource-list p{font-size:13px}.resource-list .access-note{font-size:12px}.detail-list{font-size:14px}.detail-list dt{font-size:13px}.help-note{font-size:13px}
.tool-item p{font-size:13px}.tool-item span:not(.row-arrow){color:var(--muted);font-size:12px}.tool-monogram{background:var(--soft);color:var(--accent);border:0;border-radius:10px}.tool-monogram svg{width:19px;height:19px}.code-example{background:var(--rail);color:var(--accent);border:1px solid var(--line);border-radius:12px;font-size:13px}
.glossary dd{color:var(--muted);font-size:14px}.glossary dt{font-size:18px;font-weight:500}.feedback-item{background:var(--paper);border-radius:12px;font-size:13px}.feedback-item p{font-size:13px}.feedback-text{border-color:var(--accent)}.hash{font-size:12px}summary{font-size:13px;font-weight:500}.empty-state{background:var(--paper);border-color:var(--line);border-radius:12px;font-size:14px}.submitted-findings{background:var(--paper);border-radius:12px}.score-label{font-size:13px}
.area-progress>div{font-size:13px;gap:15px}.area-progress small{font-size:12px}.trend-list>div,.trend-list strong{font-size:12px}.trend-list meter::-webkit-meter-bar{background:var(--line);border:0}.trend-list meter::-webkit-meter-optimum-value{background:var(--accent)}.trend-list meter::-moz-meter-bar{background:var(--accent)}
.competency-dot{background:var(--soft);color:var(--muted)}.competency-dot.verified{background:#243a31;color:var(--success)}.path-detail{border-radius:12px;overflow:hidden}.path-detail>summary{background:var(--paper);font-size:14px}.audit-detail{font-size:12px}.orientation{background:var(--paper);border-radius:14px}
.login-page{background:var(--bg)}.login-layout{max-width:1000px;min-height:560px;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:none;padding:0}.login-intro{background:var(--rail);padding:48px;display:flex;flex-direction:column;justify-content:center}.login-intro .brand{justify-content:flex-start;margin-bottom:55px}.login-intro .brand-mark{background:var(--accent);width:36px;height:36px}.login-intro h1{font-family:inherit;font-size:35px;font-weight:500;line-height:1.3}.login-intro p:not(.eyebrow){font-size:14px;color:var(--muted);margin:13px 0}.login-intro>small{font-size:11px;color:var(--muted);margin-top:45px}.login-form{background:var(--paper);padding:52px 48px}.login-form h2{font-size:27px}.login-form>p:not(.eyebrow){font-size:13px}.login-form .help-note{font-size:12px}
@media(min-width:1600px){.hero-copy{padding:32px}.hero-copy h2{font-size:34px}.next-step{min-height:0}}
@media(max-width:1180px){:root{--sidebar:88px}.navigation-expanded{--sidebar:240px}.sidebar{padding-inline:10px}main{padding:28px}.topbar{padding-inline:28px}.internal-label{display:none}.content-grid{gap:26px}.dashboard-grid{gap:25px}.page-footer{padding-inline:28px}}
@media(max-width:900px){.sidebar,[dir=rtl] .sidebar{width:245px;padding-inline:18px;visibility:hidden;box-shadow:5px 0 35px #0005}.workspace,[dir=rtl] .workspace{margin-inline-start:0}.menu-open .sidebar{visibility:visible}.sidebar .brand{justify-content:flex-start}.sidebar .brand-name{display:block}.navigation-toggle{display:none}.sidebar nav{margin-top:27px}.sidebar nav a{flex-direction:row;justify-content:flex-start;min-height:44px;padding:11px;gap:12px}.sidebar .nav-text{position:static;width:auto;height:auto;overflow:visible;clip:auto;font-size:13px}.sidebar .nav-short{display:none}.sidebar .nav-heading{font-size:11px}.sidebar-bottom .environment-label{display:block}.sidebar-bottom a{justify-content:flex-start}.menu-button{display:grid;place-items:center;width:40px;min-width:40px;height:40px;min-height:40px;border:1px solid var(--line);border-radius:10px;background:transparent;color:var(--accent)}.menu-button svg{width:20px;height:20px}.learning-layout{grid-template-columns:minmax(0,1fr) 230px;gap:20px}.hero-copy{padding:24px}.content-grid{grid-template-columns:1fr}.topbar{gap:16px;padding-inline:22px}.topbar-right{gap:10px}.identity{max-width:150px}}
@media(max-width:700px){main{padding:26px 20px}.topbar{flex-wrap:wrap;padding:15px 20px}.topbar-right{width:100%}.topbar-right .avatar{margin-inline-start:auto}.identity{display:block;max-width:145px;overflow-wrap:anywhere}.topbar-brand{font-size:16px}.page-heading{align-items:start;flex-wrap:wrap;gap:18px}.learning-layout{grid-template-columns:1fr}.hero-copy h2{font-size:27px}.learning-record{display:grid;grid-template-columns:1fr 1fr;gap:22px}.learning-record .record-section+.record-section{border:0;padding:0;margin:0}.learning-record .record-detail{grid-column:1/-1;margin:0}.learning-record strong{font-size:28px}.training-tool-grid{grid-template-columns:1fr;gap:12px}.training-tool{display:flex;align-items:center;gap:15px;padding:17px 20px}.training-tool .tool-monogram{margin:0}.dashboard-grid{grid-template-columns:1fr;gap:28px}.desk-aside{padding:22px;border:1px solid var(--line);background:var(--paper);border-radius:14px}.row-progress{width:70px}.journey-row{gap:10px}.journey-row h3{font-size:13px}.journey-row p{font-size:11px}.journey-row .path-number{min-width:24px;font-size:18px}.page-footer{padding:20px}.reading-aside{padding:23px}.module-row>div{min-width:180px}.login-page{padding:20px}.login-layout{grid-template-columns:1fr}.login-intro{padding:29px}.login-intro .brand{margin-bottom:25px}.login-intro h1{font-size:28px}.login-form{padding:30px}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px}.text-button{min-height:40px}.form-panel{padding:20px}}
@media(pointer:coarse){.button,.text-button,.menu-button{min-height:44px}.menu-button,.navigation-toggle{min-width:44px;min-height:44px}}
@media print{:root{color-scheme:light;--ink:#202020;--muted:#555;--green:#633c94;--accent:#633c94;--bg:white;--paper:white;--soft:#f2eff7;--line:#ddd}.workspace,[dir=rtl] .workspace{margin:0}main{padding:0}.learning-record,.next-step,.training-tool{break-inside:avoid}}
