:root{--background:#f8fbfc;--surface:#fff;--surface-muted:#eaf4f8;--text-heading:#0c1a27;--text-muted:#5d6c7b;--border:#d7e3e9;--accent:#f89800;--accent-strong:#e88500;--blue:#50a3f8;--green:#82c155;--steel:#2b5f81;color:var(--text-heading);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Nunito Sans,ui-sans-serif,system-ui,sans-serif}:root[data-theme=dark]{--background:#101820;--surface:#172532;--surface-muted:#203647;--text-heading:#f5f8fa;--text-muted:#b4c4cf;--border:#304858;--steel:#8dc8ef}*{box-sizing:border-box}#root{width:100%;min-height:100vh}html{scroll-behavior:smooth}body{min-width:320px;margin:0}button,a{transition:color .16s,background .16s,border-color .16s,opacity .16s,transform .16s}button:hover,a:hover{opacity:.88}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex="0"]:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}button,a{transition:none}}.app-shell{width:100%;min-height:100vh}.content-width{width:100%;max-width:1160px;margin-inline:auto;padding-inline:1.25rem}.site-header{justify-content:space-between;align-items:flex-start;width:100%;margin:0 auto;padding:1rem 1.25rem;display:flex;position:relative}.brand{color:var(--text-heading);align-items:center;gap:.6rem;font-size:1.2rem;font-weight:850;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent);color:#0c1a27;border-radius:.7rem;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;display:inline-flex}.header-actions{align-items:flex-start;gap:.6rem;display:flex}.ui-button{cursor:pointer;font:inherit;border:1px solid #0000;border-radius:.7rem;justify-content:center;align-items:center;gap:.45rem;padding:.65rem .9rem;font-size:.9rem;font-weight:750;text-decoration:none;display:inline-flex}.ui-button-default{background:var(--accent);color:#0c1a27}.ui-button-outline{border-color:var(--border);color:var(--text-heading);background:0 0}.ui-button-ghost{color:var(--text-heading);background:0 0}.icon-button{width:2.4rem;height:2.4rem;padding:0}.menu-group{flex-direction:column;align-items:center;display:flex;position:relative}.menu-popover{background:var(--surface);border:1px solid var(--border);z-index:5;border-radius:.9rem;min-width:12rem;padding:.4rem;display:none;position:absolute;top:3rem;right:0;box-shadow:0 1rem 2.5rem #0c1a2729}.menu-popover.is-open{display:grid}.menu-popover a{color:var(--text-muted);border-radius:.55rem;padding:.65rem .75rem;text-decoration:none}.menu-popover a:hover{background:var(--surface-muted);color:var(--text-heading)}.theme-option{justify-content:flex-start;width:100%}.tooltip{display:inline-flex;position:relative}.tooltip-content{background:var(--text-heading);color:var(--background);opacity:0;pointer-events:none;white-space:nowrap;z-index:10;border-radius:.35rem;padding:.35rem .5rem;font-size:.72rem;transition:opacity .16s,transform .16s;position:absolute;top:calc(100% + .45rem);right:0;transform:translateY(-.2rem)}.tooltip:hover .tooltip-content,.tooltip:focus-within .tooltip-content{opacity:1;transform:translateY(0)}.hero-section{flex-direction:column;align-items:stretch;gap:2rem;min-height:auto;padding-top:4rem;padding-bottom:4rem;display:flex}.eyebrow{color:var(--steel);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:.45rem;margin:0 0 1.2rem;font-size:.78rem;font-weight:850;display:flex}h1,h2,h3,p{margin-top:0}h1{color:var(--text-heading);letter-spacing:-.07em;max-width:9ch;margin-bottom:1.5rem;font-size:clamp(3.1rem,7vw,6.2rem);line-height:.94}h2{color:var(--text-heading);letter-spacing:-.05em;max-width:15ch;margin-bottom:1rem;font-size:clamp(2rem,4vw,3.4rem);line-height:1}h3{color:var(--text-heading);margin-bottom:.6rem;font-size:1.2rem}.lead,.section-heading>p,.callout-section>p{color:var(--text-muted);max-width:58ch;font-size:1.12rem;line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:1.2rem;margin-top:2rem;display:flex}.primary-button,.secondary-button{cursor:pointer;font:inherit;border:0;border-radius:.7rem;align-items:center;gap:.5rem;padding:.85rem 1.1rem;font-weight:800;text-decoration:none;display:inline-flex}.primary-button{background:var(--accent);color:#0c1a27}.secondary-button{background:var(--surface-muted);color:var(--text-heading);margin-top:2rem}.back-button{color:var(--steel);cursor:pointer;font:inherit;background:0 0;border:0;align-items:center;gap:.4rem;margin-bottom:2.5rem;padding:0;font-weight:800;display:inline-flex}.text-link{color:var(--steel);font-weight:800;text-decoration:none}.hero-visual{background:linear-gradient(145deg, var(--surface-muted), transparent);border:1px solid var(--border);border-radius:2rem;justify-content:center;align-items:center;width:100%;height:300px;display:flex;position:relative;overflow:hidden}.visual-orbit{border:1px solid #50a3f859;border-radius:50%;width:430px;height:300px;position:absolute;transform:rotate(-25deg)}.orbit-two{border-color:#f8980073;width:300px;height:190px;transform:rotate(35deg)}.visual-card{background:var(--surface);border:1px solid var(--border);z-index:1;border-radius:1.3rem;gap:.6rem;width:235px;padding:1.4rem;display:grid;transform:rotate(-5deg);box-shadow:0 1.2rem 3rem #0c1a2724}.visual-label,.visual-note{color:var(--text-muted);font-size:.78rem}.visual-card strong{color:var(--text-heading);font-size:1.4rem}.visual-bars{align-items:end;gap:.45rem;height:80px;display:flex}.visual-bars i{background:var(--blue);border-radius:.3rem .3rem 0 0;flex:1;height:45%;display:block}.visual-bars i:nth-child(2){background:var(--green);height:62%}.visual-bars i:nth-child(3){background:var(--accent);height:52%}.visual-bars i:nth-child(4){background:var(--steel);height:78%}.visual-bars i:nth-child(5){background:var(--blue);height:95%}.information-section{padding-top:4rem;padding-bottom:6rem}.section-heading{margin-bottom:2.2rem}.feature-grid{grid-template-columns:1fr;gap:1rem;display:grid}.ui-card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.5rem}.ui-card p{color:var(--text-muted);margin-bottom:0;line-height:1.65}.feature-icon{color:var(--steel);margin-bottom:1.8rem}.callout-section{background:var(--steel);color:#fff;border-radius:1.5rem;grid-template-columns:1fr;align-items:end;gap:2rem;margin-bottom:4rem;padding:2rem;display:grid}.callout-section h2,.callout-section .eyebrow{color:#fff}.callout-section>p{color:#ffffffd1}.simple-page{min-height:620px;padding-top:6rem;padding-bottom:6rem}.simple-page h1{max-width:11ch}.admin-page{min-height:620px;padding-top:4rem;padding-bottom:6rem}.admin-heading{justify-content:space-between;align-items:end;gap:2rem;display:flex}.admin-heading h1{max-width:none}.admin-filters{flex-wrap:wrap;align-items:center;gap:.8rem;margin:2rem 0 1rem;display:flex}.admin-search{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:.7rem;flex:1;align-items:center;gap:.6rem;min-width:240px;padding:.7rem .8rem;display:flex}.admin-search input,.admin-role-filter select{color:var(--text-heading);font:inherit;background:0 0;border:0;outline:0;width:100%}.admin-role-filter{background:var(--surface);border:1px solid var(--border);border-radius:.7rem;min-width:180px;padding:.7rem .8rem}.admin-count{color:var(--text-muted);font-size:.9rem;font-weight:750}.admin-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:1rem;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:680px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;padding:1rem}.admin-table th{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}.admin-table td{color:var(--text-heading)}.admin-table tr:last-child td{border-bottom:0}.role-badge{background:var(--surface-muted);color:var(--text-heading);border-radius:999px;padding:.35rem .6rem;font-size:.78rem;font-weight:800;display:inline-flex}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.dialog-backdrop{z-index:20;background:#0c1a2794;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.auth-dialog{background:var(--surface);border:1px solid var(--border);border-radius:1.2rem;width:100%;max-width:560px;padding:clamp(2rem,5vw,3.5rem);position:relative;box-shadow:0 1.5rem 4rem #0c1a273d}.confirm-dialog{background:var(--surface);border:1px solid var(--border);border-radius:1.2rem;width:100%;max-width:430px;padding:2rem;box-shadow:0 1.5rem 4rem #0c1a273d}.confirm-dialog h2{max-width:none}.confirm-dialog p{color:var(--text-muted);line-height:1.6}.confirm-actions{justify-content:flex-end;gap:.7rem;margin-top:1.5rem;display:flex}.confirm-actions .secondary-button{margin-top:0}.dialog-close{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:.5rem;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex;position:absolute;top:1rem;right:1rem}.dialog-icon{background:var(--surface-muted);color:var(--steel);border-radius:.7rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;margin-bottom:1.2rem;display:flex}.auth-dialog h2{max-width:none;font-size:2rem}.auth-form,.registration-form{gap:.55rem;margin-top:1.4rem;display:grid}.auth-form label,.registration-form label{color:var(--text-heading);font-size:.86rem;font-weight:750}.auth-form input,.registration-form input{background:var(--background);border:1px solid var(--border);color:var(--text-heading);font:inherit;border-radius:.6rem;width:100%;margin-bottom:.55rem;padding:.75rem .8rem}.auth-form input:focus,.registration-form input:focus{border-color:var(--blue);outline:3px solid #50a3f833}.password-field{position:relative}.password-field input{padding-right:3rem}.password-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:flex;position:absolute;top:.05rem;right:.25rem}.dialog-submit{justify-content:center;margin-top:.5rem}.register-divider{color:var(--text-muted);text-transform:uppercase;align-items:center;gap:.8rem;margin-top:1.8rem;font-size:.8rem;font-weight:750;display:flex}.register-divider:before,.register-divider:after{background:var(--border);content:"";flex:1;height:1px}.role-options{gap:.7rem;margin-top:1.4rem;display:grid}.role-option{background:var(--surface-muted);color:var(--text-heading);border:1px solid #0000;border-radius:.7rem;align-items:center;gap:.7rem;padding:.85rem;font-weight:800;text-decoration:none;display:flex}.role-option:hover{border-color:var(--blue)}.registration-form{max-width:430px}.resource-grid{grid-template-columns:1fr;gap:1rem;max-width:860px;margin:2.5rem 0;display:grid}.content-filters{flex-wrap:wrap;align-items:center;gap:.8rem;max-width:900px;margin:2.5rem 0 1.2rem;display:flex}.content-filters>label:not(.content-search){background:var(--surface);border:1px solid var(--border);border-radius:.7rem;padding:.7rem .8rem}.content-filters select{color:var(--text-heading);font:inherit;background:0 0;border:0;outline:0}.content-search{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:.7rem;flex:1;align-items:center;gap:.6rem;min-width:220px;padding:.7rem .8rem;display:flex}.content-search input{color:var(--text-heading);font:inherit;background:0 0;border:0;outline:0;width:100%}.content-card-grid{grid-template-columns:1fr;gap:1rem;max-width:900px;margin:1.2rem 0 4rem;display:grid}.topic-card{color:inherit;text-decoration:none;transition:border-color .16s,transform .16s}.topic-card:hover{border-color:var(--blue);opacity:1;transform:translateY(-2px)}.learning-content{max-width:860px}.learning-content h1{max-width:none}.learning-copy{background:var(--surface);border:1px solid var(--border);border-radius:1rem;margin:2.5rem 0;padding:1.5rem}.learning-copy h2,.learning-section-heading h2{max-width:none;font-size:1.5rem}.learning-copy p{color:var(--text-muted);margin-bottom:0;line-height:1.75}.learning-media{margin:2.5rem 0 1.5rem}.learning-section-heading{color:var(--text-heading);align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.learning-section-heading h2{margin-bottom:0}.learning-media video{background:var(--text-heading);border-radius:1rem;width:100%;max-height:540px;display:block}.learning-media-note{color:var(--text-muted);font-style:italic}.learning-download{margin-bottom:4rem}.content-meta,.content-audience{color:var(--steel);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800}.content-audience{margin-top:1rem;display:block}.full-form{gap:1.2rem;max-width:760px;margin-top:2.5rem;display:grid}.full-form fieldset{background:var(--surface);border:1px solid var(--border);border-radius:1rem;gap:1rem;margin:0;padding:1.25rem;display:grid}.full-form legend{color:var(--text-heading);padding-inline:.35rem;font-size:1.15rem;font-weight:850}.form-grid{grid-template-columns:1fr;gap:1rem;display:grid}.form-field{gap:.4rem;display:grid}.form-field>span,.field-label{color:var(--text-heading);font-size:.86rem;font-weight:750}.form-field input,.form-field select,.form-field textarea{background:var(--background);border:1px solid var(--border);color:var(--text-heading);font:inherit;border-radius:.6rem;width:100%;padding:.75rem .8rem}.form-field textarea{resize:vertical}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--blue);outline:3px solid #50a3f833}.checkbox-group{gap:.7rem;display:grid}.checkbox-grid{grid-template-columns:1fr;gap:.55rem;display:grid}.check-row{color:var(--text-muted);align-items:flex-start;gap:.55rem;font-size:.9rem;line-height:1.45;display:flex}.check-row input{accent-color:var(--steel);flex:none;width:1rem;height:1rem;margin-top:.15rem}.field-error{color:#e94b1f;font-size:.78rem;font-weight:700}.form-submit{justify-content:center;justify-self:start}.form-success{background:var(--surface);border:1px solid var(--border);border-radius:1rem;max-width:600px;margin-top:2.5rem;padding:2rem}.form-success h2{max-width:none}.form-success p:last-child{color:var(--text-muted);line-height:1.6}.status-error{color:#e94b1f;font-weight:700}.status-success{color:var(--green);font-weight:800}.site-footer{border-top:1px solid var(--border);padding:2.5rem 0}.footer-inner{grid-template-columns:1fr;align-items:end;gap:1.5rem;display:grid}.footer-inner p{color:var(--text-muted);max-width:30ch;margin:1rem 0 0;font-size:.9rem}.footer-links{gap:1.2rem;display:flex}.footer-links a{color:var(--text-muted);font-size:.9rem;text-decoration:none}.footer-inner small{color:var(--text-muted)}@media (width>=480px){.content-width,.site-header{padding-inline:2rem}.login-button span{display:inline}}@media (width>=761px){.site-header{align-items:flex-start;padding-block:1.25rem}.hero-section{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);align-items:center;gap:4rem;min-height:610px;padding-top:5rem;padding-bottom:5rem;display:grid}.hero-visual{height:390px}.feature-grid,.resource-grid,.content-card-grid{grid-template-columns:repeat(3,1fr)}.callout-section{grid-template-columns:1fr .75fr}.footer-inner{grid-template-columns:1fr auto auto}.form-grid,.checkbox-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.login-button span{display:none}.login-button{padding:.65rem}h1{font-size:clamp(3rem,16vw,5rem)}.feature-grid,.callout-section,.footer-inner{grid-template-columns:1fr}.callout-section{margin-bottom:4rem;padding:2rem}.footer-links{flex-wrap:wrap}.footer-inner small{order:3}.admin-heading{flex-direction:column;align-items:flex-start}}
