/* CHEMYSTIC V88 • MYSTIC PURPLE + NEON CYAN • global theme */
:root{color-scheme:dark;--chem-bg:#0b0920;--chem-deep:#12102c;--chem-panel:#21183f;--chem-border:#6c4c9e;--chem-violet:#aa7aff;--chem-cyan:#43e5f5;--chem-gold:#ffd37e;--chem-text:#f7f2ff;--chem-muted:#cbc0e5}
html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at 78% 5%,#39205e 0%,#17102f 42%,#0a091d 100%)!important;color:var(--chem-text)!important;min-height:100vh}a{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--chem-cyan)!important;outline-offset:3px}button{cursor:pointer}h1,h2,h3{color:#f9f4ff}p{color:#d6cbea}input,select,textarea{accent-color:#a773ff}input[type=range]{accent-color:#b27dff}
.cm-page{background:radial-gradient(ellipse at 75% 0%,#47226a 0%,#191131 43%,#08081b 100%)!important}.cm-stars{opacity:.42;background-image:radial-gradient(#c8aaff 1px,transparent 1px),radial-gradient(#64eafb .8px,transparent .8px);background-position:0 0,25px 23px;background-size:51px 51px,71px 71px}.cm-login-card{border-color:#8f63cb;background:linear-gradient(150deg,#291840f5,#100e2bf8);box-shadow:0 26px 100px #0009,0 0 65px #954fff20}.cm-topline,.cm-kicker,.cm-sectionlabel{color:#dcb7ff}.cm-ghost{border-color:#7859ab;color:#efddff;background:#a073e01b}.cm-emblem{background:radial-gradient(circle at 38% 30%,#a57aff,#3e205f 65%,#15102e);box-shadow:0 0 49px #a454ff80,inset 0 0 18px #6ffaff44;border:2px solid #b788ff}.cm-login h1{background:linear-gradient(95deg,#fff,#d4b2ff 48%,#5ceaff);color:transparent;background-clip:text}.cm-login input{background:#0d0b26;border-color:#694b91}.cm-login input:focus{outline:2px solid #58ddf1}.cm-tagline{color:#90f3ff!important}.cm-primary{background:linear-gradient(100deg,#9966ff,#d1a0fa 50%,#64eafa);color:#130b2b;box-shadow:0 9px 28px #7e42ef4d}.cm-logo{color:#d8b4ff!important}.cm-logo small{color:#87e8f5}.cm-header nav a{color:#e3d8f4}.cm-header nav a:hover,.cm-header nav .active{background:#995df04a}.cm-header nav{border-color:#7453ac}.cm-hero{border-color:#8559b0;background:radial-gradient(circle at 81% 39%,#7038ab87,transparent 47%),linear-gradient(126deg,#261741,#1a1739);box-shadow:0 25px 75px #09041888}.cm-hero p{color:#e0d4ef}.cm-orb{border-color:#a87cff;background:radial-gradient(circle at 37% 35%,#ad72ec,#382064 65%,#15122b);box-shadow:0 0 85px #9865ff78,inset 0 0 45px #59e6ff70}.cm-sectionlabel{color:#a6eafa}.cm-tile{border-color:#7156a2;background:#241c40}.cm-a{background:linear-gradient(135deg,#44216c,#21183f)}.cm-b{background:linear-gradient(135deg,#263e77,#251d49)}.cm-c{background:linear-gradient(135deg,#16465d,#251a4c)}.cm-d{background:linear-gradient(135deg,#5b3650,#2c1d44)}.cm-tile:hover{box-shadow:0 16px 40px #6f30bd51;border-color:#bd90ff}.cm-tile span{color:#73eeff}.cm-secondary a,.cm-secondary button{background:#201738;border-color:#62478e}.cm-secondary a:hover,.cm-secondary button:hover{background:#39215c}.cm-exit{background:linear-gradient(105deg,#4c2580,#241c48);border-color:#b287ff;color:#fff!important;box-shadow:0 8px 30px #0009}.cm-login p,.cm-tile p{color:#d7cce7}.cm-main footer{color:#b9a4d7}
/* Legacy components (V83–V86): scoped visual skin only; no game logic changes */
.chem-nav{background:#160e32f5!important;border-bottom-color:#845ac0!important;color:#f8efff!important}.chem-nav a{color:#f2e7ff!important}.chem-nav a:hover{background:#a55aff44!important}.chem-nav button{background:#3d2366!important;border-color:#a67cdd!important}.panel,.card,.world-card,.chapter-card,.level-card,.lab-card,.box,.modal-content{border-color:#674696!important}button.primary,.primary-btn,.btn-primary{background:linear-gradient(110deg,#8957df,#47ddef)!important;color:#140b25!important}button,select{border-color:#7954aa}button:hover{filter:brightness(1.11)}
/* Override inline legacy palettes while retaining per-module structure and contrast */
body:not(.cm-page) .panel,body:not(.cm-page) .card{background-color:#211838}body:not(.cm-page) .eyebrow,body:not(.cm-page) .pill{color:#84e8f7}body:not(.cm-page) a:hover{color:#78eaff}body:not(.cm-page) input{background-color:#16112f;color:#fff;border-color:#7550a5}
@media(max-width:900px){.cm-header nav{background:#201438;border-color:#805bb0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
