/* Shared visual refinement. Loaded after the existing page styles. */
:root{--bg:#101c24;--bg-alt:#14252e;--surface:#192b34;--surface-hover:#203740;--border:#30454e;--text:#edf4f3;--text-dim:#b8cacd;--text-dimmer:#9bb2b7;--cyan:#8cdbcb;--green:#8cdbcb;--purple:#b3c4d4;--gradient-main:linear-gradient(120deg,#a4e5cd,#83cfc4);--shadow-glow:0 18px 48px #071a2033;--radius:16px}
body{font-family:"Segoe UI Variable Text","Segoe UI",system-ui,sans-serif;font-size:15px;line-height:1.7}
h1,h2,h3{text-wrap:balance;letter-spacing:-.035em}p{text-wrap:pretty}
button,input,select,textarea{font:inherit}a,button{touch-action:manipulation}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--cyan);outline-offset:4px}
.skip-link{position:fixed;top:10px;left:16px;padding:10px 18px;background:var(--cyan);color:var(--bg);z-index:200;transform:translateY(-160%)}.skip-link:focus{transform:none}
.navbar,.navbar.scrolled,.dash-nav{background:#101c24f5;border-bottom:1px solid var(--border);box-shadow:none}
.brand-tile{background:var(--cyan);color:#102b2b;border-radius:9px;box-shadow:none}.brand-symbol,.brand-number{color:#102b2b}.brand-name{letter-spacing:-.04em}
.nav-links{gap:22px}.nav-links a{font-size:13px;font-weight:600}.nav-links a:hover,.nav-links a.is-active{color:var(--cyan)}
.nav-cta,.btn-primary{background:var(--cyan);color:#102b2b;box-shadow:none;border:1px solid transparent}.btn{border-radius:9px;font-weight:650;transition:background .2s,transform .2s,box-shadow .2s}.btn-primary:hover{background:#afe9dd;box-shadow:0 8px 24px #071a2033;transform:translateY(-2px)}.btn:active{transform:translateY(1px)}
.landing-body .bg-elements{opacity:.16}.landing-body .hero{min-height:auto;padding:150px 0 45px;background:radial-gradient(ellipse at 85% 40%,#24564d40,transparent 55%)}
.hero-inner{grid-template-columns:1.1fr 1fr;gap:70px;padding-top:0;padding-bottom:45px}.hero h1{font-size:clamp(44px,5.7vw,76px);line-height:1.1;font-weight:700;letter-spacing:-.055em;margin-bottom:26px}.hero .text-gradient{background:none;color:var(--cyan)}.hero-sub{font-size:17px;line-height:1.85;max-width:510px}.eyebrow{border:0;background:none;padding:0;color:var(--cyan);font-size:11px;letter-spacing:.13em;margin-bottom:25px}.hero-actions{gap:12px}.hero-actions .btn{padding:14px 20px}
.hero-visual{height:440px;border:1px solid #4b756b;border-radius:120px 120px 20px 20px;background:radial-gradient(ellipse at 50% 70%,#345e574d,transparent 65%),linear-gradient(#a0d8ca09 1px,transparent 1px),linear-gradient(90deg,#a0d8ca09 1px,transparent 1px);background-size:auto,32px 32px,32px 32px;overflow:hidden}.lab-caption{position:absolute;left:30px;top:35px;z-index:2}.lab-caption span{display:block;font-size:10px;letter-spacing:.18em;color:var(--cyan);margin-bottom:8px}.lab-caption strong{font-weight:500;font-size:21px;line-height:1.45}.hero-visual .atom{transform:translateY(35px) scale(.8)}.hero-visual .flask{bottom:24px;right:28px}.hero-visual .burner{display:none}
.hero-bottom{display:flex;gap:35px;width:100%;padding-top:20px;border-top:1px solid var(--border);color:var(--text-dimmer);font-size:12px;letter-spacing:.025em}.hero-bottom span::before{content:'↗';color:var(--cyan);margin-right:10px}.scroll-cue{display:none}
.learning-paths{padding:70px 0 80px;border-bottom:1px solid var(--border)}.paths-heading{max-width:650px;margin-bottom:28px}.paths-heading h2{font-size:clamp(28px,3vw,38px)}.paths-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}.path-card{padding:32px;background:var(--surface);border-radius:14px;display:flex;flex-direction:column;border:1px solid var(--border);transition:transform .2s,border-color .2s}.path-card:hover{transform:translateY(-4px);border-color:var(--cyan)}.path-number{color:var(--cyan);font-size:11px;letter-spacing:.12em;margin-bottom:22px}.path-card h3{font-size:25px}.path-card p{max-width:470px}.path-link{display:flex;justify-content:space-between;margin-top:auto;padding-top:20px;color:var(--cyan);font-weight:600;font-size:14px}
.landing-body .section-head{text-align:left;max-width:720px;margin-left:0;margin-bottom:35px}.section-head h2{font-size:clamp(28px,3.5vw,42px)}.section-tag{font-size:11px;letter-spacing:.12em}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.feature-card,.molecule-card{background:var(--surface);border-color:var(--border);border-radius:14px;box-shadow:none}.feature-card{padding:30px}.feature-card:hover{border-color:#63887f;box-shadow:none}.feature-icon{filter:grayscale(.7)}.about-stats{border-top:1px solid var(--border);padding-top:24px}.stat-num{font-variant-numeric:tabular-nums}.landing-body .reveal{opacity:1;transform:none}.footer{background:var(--bg-alt)}
.dash-main{padding:38px 0 72px}.dash-main .container{max-width:1440px}.dash-header{padding-bottom:22px;border-bottom:1px solid var(--border);margin-bottom:28px}.dash-header h2{font-size:30px}.stats-bar{position:relative;top:auto;background:var(--bg-alt)}.stats-bar-inner{padding-top:16px;padding-bottom:16px;gap:30px}.stats-bar-item .stat-num{font-size:25px}.stats-bar-sep{min-height:40px}.nav-dropdown,.mobile-nav-links{background:var(--bg-alt)}.nav-user-btn{border-radius:9px}.card,.list,.tile,.dashboard-panel,.quiz-card{box-shadow:0 6px 20px #071a2014}.card{padding:28px}.dashboard-panel{padding:0;background:var(--surface)}.tile{border-radius:13px}.tile-title{font-size:17px}.tile-meta{line-height:1.65}.quiz-filter-panel{background:var(--bg-alt);border-color:var(--border);padding:14px}.quiz-filter-label{text-transform:none;letter-spacing:0;font-size:12px}.quiz-search-field input:focus,.quiz-filter-select:focus{transform:none}.dashboard-table th{font-size:12px;text-transform:none;letter-spacing:0;background:var(--bg-alt);padding:14px}.dashboard-table td{padding:16px 14px}.dashboard-table tbody tr:nth-child(even){background:#ffffff02}.dashboard-table tbody tr:hover{background:#8cdbcb09}
.field-input,.field input,.field select,.field textarea{background-color:#12232c!important;border-color:#40545d!important}.field label,.field-label{font-size:14px;color:var(--text)}select option{background:var(--bg-alt);color:var(--text)}.field-hint{line-height:1.65}.list-empty,.tile-empty{padding:48px 24px}.auth-shell{min-height:100dvh;background:radial-gradient(ellipse at 50% 20%,#35645640,transparent 60%);padding:50px 20px}.auth-intro{text-align:center;margin:8px 0 24px}.auth-intro h1{font-size:36px;line-height:1.2}.auth-intro p{font-size:14px}.auth-card{max-width:460px}.auth-card .card{padding:32px;border-top:3px solid var(--cyan)}
@media(min-width:721px) and (max-width:1100px){.landing-body .nav-links{gap:12px}.landing-body .nav-links a{font-size:12px}.dash-nav-left{gap:16px}.dash-nav .nav-links{gap:12px}}
@media(max-width:1000px){.hero-inner{gap:30px}.hero-visual{height:390px}.dash-nav .nav-links,.dash-nav .nav-user{display:none}.dash-nav .nav-toggle{display:flex}.mobile-nav-links{display:block}.hero h1{font-size:54px}}
@media(max-width:720px){.container{padding-left:20px;padding-right:20px}.landing-body .hero{padding-top:112px}.hero-inner{grid-template-columns:1fr;gap:35px}.hero h1{font-size:48px}.hero-visual{order:0;height:340px;width:100%;max-width:480px;justify-self:center;border-radius:80px 80px 16px 16px}.hero-sub{font-size:16px}.hero-bottom{gap:12px;flex-wrap:wrap;font-size:11px}.hero-actions{flex-direction:row}.hero-actions .btn{width:100%}.paths-grid,.feature-grid{grid-template-columns:1fr}.learning-paths{padding:48px 0}.path-card{padding:25px}.nav-links{background:var(--bg-alt)}.dash-header h2{font-size:25px}.dash-main{padding-top:24px}.card{padding:20px}.dashboard-panel{padding:0}.stats-bar-inner{gap:18px}.stats-bar-rings{gap:14px}.stats-bar{position:relative}.auth-intro h1{font-size:30px}.auth-card .card{padding:24px}.tile-grid-wide{grid-template-columns:minmax(0,1fr)}}
/* A quiet, light workspace keeps long forms and results easy to read. */
body.dash-body{--bg:#f2f6f5;--bg-alt:#e8f0ed;--surface:#fff;--surface-hover:#edf5f1;--border:#d4e2dc;--text:#203832;--text-dim:#4d665e;--text-dimmer:#627c72;--cyan:#237363;--green:#237363;--purple:#536d79;--gradient-main:linear-gradient(120deg,#237363,#305f56)}
.dash-body .field-input,.dash-body .field input,.dash-body .field select,.dash-body .field textarea{background-color:#fff!important;border-color:#b9cec4!important;color:var(--text)}
.dash-body .btn-primary,.dash-body .nav-cta,.dash-body .brand-tile,.dash-body .brand-symbol,.dash-body .brand-number{color:#fff}.dash-body .btn-primary:hover{background:#195647}.dash-body .auth-shell{background:radial-gradient(ellipse at 50% 10%,#c8e4d980,transparent 65%)}.dash-body .mobile-nav-links{background:#f2f6f5}.landing-body .nav-links .nav-cta{color:#102b2b}
/* Keep hero actions readable against their white background. */
.dash-body .student-dashboard-hero .btn-primary{background:#fff;color:#0e6177}
.dash-body .student-dashboard-hero .btn-primary:hover{background:#195647;color:#fff}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
