/* Whole-site midnight palette and consistent layered 3D surfaces. */
:root{--bg:#0b1117;--paper:#141e26;--ink:#e9f1f0;--muted:#a0b1b6;--teal:#5fd2c7;--deep:#112d35;--coral:#ff9b79;--gold:#ffd27e;--line:#30414a;--lift:0 16px 34px #02060988;--lift-deep:0 26px 50px #020609b8}
html{background:var(--bg)}body{color:var(--ink);background-color:var(--bg);background-image:radial-gradient(ellipse at 12% 9%,#16444a55 0,transparent 32%),radial-gradient(ellipse at 88% 40%,#392a4050 0,transparent 36%),linear-gradient(145deg,#0b1117,#101922 48%,#0b1117);background-attachment:fixed}::selection{background:#5fd2c755;color:#fff}
header{background:#0b1117dd;border-bottom:1px solid #ffffff10;backdrop-filter:blur(18px)}.nav{isolation:isolate}.mark{background:#111a20!important;border:1px solid #ffffff20}.mark img{filter:grayscale(1) invert(1) brightness(1.15);mix-blend-mode:screen!important}.wordmark{background:transparent!important;filter:invert(1) grayscale(1) drop-shadow(0 3px 2px #000)!important;mix-blend-mode:screen!important}
.hero{background:radial-gradient(ellipse at 75% 45%,#17444b42,transparent 42%)}.hero:after{border-color:#5fd2c733;box-shadow:0 0 0 40px #5fd2c70b,0 0 0 80px #5fd2c707}.hero p,.hint{color:var(--muted)}.art{perspective:1400px}.note{color:var(--ink);background:linear-gradient(145deg,#23323c,#17242d 70%);border:1px solid #78949b40;box-shadow:0 4px 0 #0b161d,0 10px 0 #101b22,0 30px 55px #0009, inset 1px 1px #ffffff22}.note:before{content:"";position:absolute;inset:7px;border-radius:15px;pointer-events:none;border:1px solid #ffffff0c;transform:translateZ(12px)}.note h3{color:#f3f5ef}.note p{color:#bdcbcb}.board{background:linear-gradient(145deg,#101a20,#17242a);border:1px solid #ffffff12;box-shadow:inset 0 4px 13px #0008,0 5px 0 #0a1116}.equation{color:#8ce5dc}.equation b{color:var(--coral)}.graph path:first-child{stroke:#52636a}.graph path:nth-child(2){filter:drop-shadow(0 0 4px #5fd2c788)}.float{background:linear-gradient(145deg,#202d35,#152129);border:1px solid #ffffff18;color:#bac9ca;box-shadow:0 4px 0 #080f14,0 14px 25px #0009}.float strong{color:#f1f4ef}
.bar{background:linear-gradient(110deg,#153f48,#1e6670 50%,#153f48);color:#f4f6ee;box-shadow:0 5px 0 #09252c,0 16px 35px #0007,inset 0 1px #ffffff24}.bar span{color:var(--gold)}.section{isolation:isolate}.section:not(.contact):not(.about):before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(135deg,#ffffff03,transparent 28%,#5fd2c705 72%,transparent);pointer-events:none}.courses,.practice{background:linear-gradient(145deg,#101820,#121d25 52%,#0f171e)!important}.courses:after,.practice:after{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#5fd2c744,transparent)}.about{background:linear-gradient(135deg,#14232a,#1c302f 52%,#17232a)!important}.approach{position:relative}.head .intro,.approach-copy p:not(.kicker){color:#aab9bc}.title{color:#edf3ef}.title em,h1 em{color:#72dcd0}.kicker{color:#ffb18f}.eyebrow{color:#78ded2}
.card,.resource-card,.step{color:var(--ink);background:linear-gradient(145deg,#202b33,#172129 68%,#151f27)!important;border-color:#ffffff18;box-shadow:0 4px 0 #091117,0 17px 32px #0006,inset 1px 1px #ffffff12}.card:hover,.resource-card:hover,.step:hover{border-color:#5fd2c76b;box-shadow:0 6px 0 #071015,0 28px 48px #0009,inset 1px 1px #ffffff1e}.card h3,.step h3,.resource-card h3{color:#f1f3ed}.card p,.step p{color:#afbdc0}.level{color:#98aaaf}.card a,.tool-link{color:#7be1d5}.card:nth-child(2) .icon{background:#412d2a;color:#ffac8c}.card:nth-child(3) .icon{background:#3c3626;color:#f1ca7e}.card:nth-child(4) .icon{background:#24353d;color:#a8dbe3}.icon{background:linear-gradient(145deg,#29433f,#18312f);box-shadow:inset 0 2px 5px #ffffff24,0 4px 0 #0c171a,0 10px 20px #0006}.step{background:linear-gradient(145deg,#202d33,#16232a)!important}.step i{color:var(--coral)}.course-photo{border:1px solid #ffffff20;box-shadow:0 4px 0 #0a1117,0 14px 24px #0008}.short-options a{background:#24323a;color:#8be0d4;border:1px solid #ffffff0c}.short-options a:hover{background:#2d4548}.quiz-options button{background:#25323a;color:var(--ink);border-color:#41525a}.quiz-options button:hover{background:#2a4544}.quiz p{color:#a9babd}.quiz p.correct{color:#78e0bf}.flashcard{background:linear-gradient(145deg,#243139,#17242a);border-color:#ffffff20;color:var(--ink);box-shadow:0 3px 0 #091117,0 10px 18px #0005}.flashcard strong{color:#7ce1d6}.flashcard small{color:#9eb0b2}
.about-copy p{color:#b6c3c3}.quote{color:#bce9df;border-color:var(--coral)}.facts b{color:#78ded2}.facts small{color:#acb9bb}.portrait{background:radial-gradient(ellipse at 50% 28%,#385e5d,#1c393d 45%,#13242a)!important;border:1px solid #9bd4c829;box-shadow:0 5px 0 #091218,0 26px 50px #0009,inset 1px 1px #ffffff24}.portrait label{background:#1d2b31;color:#eaf2ee;border:1px solid #ffffff20;box-shadow:0 4px 0 #0c151a,0 10px 20px #0008}.contact{background:radial-gradient(ellipse at 80% 20%,#1c555644,transparent 40%),linear-gradient(140deg,#0e252c,#102e36 56%,#0b1c22)!important}.contact .title{color:#f4f4ec}.contact-copy{color:#bfcece}.contact-grid>div>p:not(.kicker){color:#d3dfdc}.contact .form{background:linear-gradient(145deg,#202e36,#17242b)!important;color:#eef4ef;border:1px solid #ffffff1a;box-shadow:0 5px 0 #081218,0 25px 50px #0009,inset 1px 1px #ffffff17}.form label{color:#c6d2d1}.form input,.form select,.form textarea{background:#111b21;color:#e9f1f0;border-color:#3a4c53;color-scheme:dark}.form input::placeholder,.form textarea::placeholder{color:#84979c}.form option{background:#17232a;color:#eef4ef}.form #contact-status{color:#c2d7d4}.form #contact-status.error{color:#ffb09a}.form #contact-status.success{color:#8be0c2}.help{color:#a9b8ba}footer{background:linear-gradient(110deg,#080f14,#10252b);border-top:1px solid #ffffff15;color:#bac9c9}footer strong{color:#fff}
.btn{background:linear-gradient(145deg,#367e84,#1b5860);color:#f4fbf7;border:1px solid #8be5da44;box-shadow:0 4px 0 #0b3339,0 12px 22px #0007,inset 0 1px #ffffff36}.btn:hover{box-shadow:0 6px 0 #0b3339,0 18px 30px #0008,inset 0 1px #ffffff45}.btn.outline{background:linear-gradient(145deg,#1a252c,#111b21);color:#edf3ef;border-color:#ffffff28;box-shadow:0 4px 0 #080e13,0 10px 18px #0006}.pill{background:linear-gradient(145deg,#367e84,#1b5860);box-shadow:0 4px 0 #0b3339,0 10px 18px #0006,inset 0 1px #ffffff36}.calc-nav{background:linear-gradient(145deg,#25363c,#19262c);color:#b9f1e7;border:1px solid #ffffff1c;box-shadow:0 3px 0 #080f14,0 9px 16px #0007}.calc-nav:hover{color:#fff}.menu{color:#e8f1ee}.links{background:#101920}.links a{color:#d6e2df}.links a:hover{color:#84e4d8}
.ask-fab{background:linear-gradient(145deg,#55c5bc,#17616a);border:1px solid #c1fff566;box-shadow:0 5px 0 #07333c,0 15px 34px #000b,inset 0 1px #ffffff66}.ask-float-panel,.ask-panel{background:linear-gradient(145deg,#1c2a31,#111d24)!important;border-color:#ffffff24!important;box-shadow:0 7px 0 #08141a,0 32px 75px #000c,inset 1px 1px #ffffff16!important}.ask-top{background:linear-gradient(120deg,#1a5661,#11363f);border-bottom:1px solid #8ce9dd33}.ask-top strong{color:white}.ask-top small,.ask-privacy,.ask-context-note{color:#aabbbd}.ask-status{color:#c9dcda}.ask-controls label,.ask-compose label{color:#aec0c1}.ask-panel input,.ask-panel select,.ask-panel textarea{background:#0f191f!important;color:#e9f1ef!important;border-color:#3b5056!important;color-scheme:dark}.ask-panel select option{background:#111d24;color:#eef4ef}.ask-context{border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12}.ask-context summary{color:#86e1d5}.ask-chat{background:#0e171d!important;border-color:#ffffff16}.ask-msg.bot{background:linear-gradient(145deg,#24333a,#1b292f);border-color:#ffffff18;color:#e8f0ed;box-shadow:0 3px 0 #0c151b,0 8px 16px #0006}.ask-msg.user{background:linear-gradient(145deg,#24544e,#193c3a);color:#eaf8f1}.ask-msg small{color:#a7bbbc}.ask-msg button{background:#26383e;color:#a3eee0;border-color:#ffffff22}.ask-mic{background:#2b3e40;color:#9be5d9}.ask-send{background:linear-gradient(145deg,#3b938f,#236a70);color:#fff;box-shadow:0 3px 0 #103e43}
.calc-dialog{background:linear-gradient(145deg,#1d2b32,#101b21)!important;color:#edf4f0!important;border-color:#ffffff30!important;box-shadow:0 8px 0 #071217,0 40px 100px #000d,inset 1px 1px #ffffff20}.calc-head{background:linear-gradient(125deg,#246771,#122f38);border-bottom:1px solid #9ce8dc30}.calc-screen{background:linear-gradient(145deg,#13221f,#172b29);border-color:#43615a;box-shadow:inset 0 4px 13px #000a,0 3px 0 #0a1415}.calc-expression{color:#a5bbb6}.calc-result{color:#a3f0df;text-shadow:0 0 20px #64daca45}.calc-mode{background:#2a383b;color:#d6e5dd;box-shadow:0 3px 0 #10191c}.calc-mode[aria-pressed=true]{background:#246f6e;color:#fff}.calc-memory{color:#adc0bd}.calc-memory-key{background:linear-gradient(145deg,#27373d,#1a282f);color:#c5eee4;border-color:#ffffff1c;box-shadow:0 3px 0 #0a1419,0 7px 12px #0007}.calc-key{background:linear-gradient(145deg,#29373e,#1c282e);color:#e8f0ed;border-color:#ffffff18;box-shadow:0 3px 0 #091218,0 7px 13px #0008,inset 0 1px #ffffff14}.calc-key:hover{box-shadow:0 5px 0 #091218,0 12px 19px #0009,inset 0 1px #ffffff1c}.calc-key.fn{background:linear-gradient(145deg,#234642,#193330);color:#9ce8dc}.calc-key.op{background:linear-gradient(145deg,#44352d,#30251f);color:#ffd09d}.calc-key.danger{background:linear-gradient(145deg,#4a302e,#382320);color:#ffb7a5}.calc-key.eq{background:linear-gradient(145deg,#369188,#1a5d62);color:white;border-color:#66cbbd;box-shadow:0 4px 0 #0a353b,0 9px 15px #0008}.calc-foot{color:#9caeae}.calc-error{color:#ffad9d!important}
@media(max-width:650px){header{background:#0b1117f2}.links{background:#111b22;border:1px solid #ffffff17;border-radius:0 0 16px 16px;box-shadow:0 14px 28px #0009}.links a{padding:3px 0}.contact .form,.portrait{transform:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.brand{gap:9px}.wordmark{margin-left:0!important;width:148px}.mark{flex:none;margin-right:0}
.ask-compose{grid-template-columns:1fr!important;align-items:stretch!important}.ask-actions{justify-content:flex-end}.ask-upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:1px}.ask-photo-pick{border:1px solid #ffffff22;border-radius:24px;padding:8px 12px;background:linear-gradient(145deg,#263b40,#17282e);color:#a9eee2;font:700 11px var(--sans);cursor:pointer;box-shadow:0 3px 0 #081318,0 8px 14px #0007}.ask-photo-pick:hover{transform:translateY(-1px)}.ask-photo-hint{font-size:9px;color:#9eb1b2}.ask-photo-preview{display:flex;align-items:center;gap:8px;padding:5px 7px;border:1px solid #ffffff20;border-radius:10px;background:#16252b;color:#d9e7e4;font-size:10px}.ask-photo-preview[hidden]{display:none}.ask-photo-thumb{width:42px;height:42px;object-fit:cover;border-radius:6px;border:1px solid #ffffff25}.ask-photo-remove{border:0;border-radius:50%;width:24px;height:24px;background:#49302f;color:#ffc2ae;cursor:pointer;font-size:16px}.ask-msg .ask-user-photo{display:block;max-width:100%;max-height:190px;object-fit:contain;margin-top:8px;border-radius:8px;border:1px solid #ffffff24;background:#f5f4ee}
.ask-photo-hint{font-size:9px;color:#9eb1b2}.ask-photo-preview{display:flex;align-items:center;gap:8px;padding:5px 7px;border:1px solid #ffffff20;border-radius:10px;background:#16252b;color:#d9e7e4;font-size:10px}
@media(min-width:651px) and (max-width:1000px){.links{gap:14px;font-size:12px}.wordmark{width:132px}.brand{gap:8px}}
