/* Kody palette: ocean blue body, turquoise highlights, violet headphones. */
:root{
 --brand-ocean:#0879a4;
 --brand-ocean-deep:#075574;
 --brand-turquoise:#54d2db;
 --brand-violet:#8064cf;
 --brand-sun:#ffd36b;
 --bg:#0b1929;
 --s1:#11263b;
 --s2:#19334b;
 --s3:#23445c;
 --bd:rgba(133,192,218,.14);
 --bd2:rgba(133,192,218,.25);
 --s:#54d2db;
 --t:#f3faff;
 --t2:#b0c7d9;
 --code:#65d2ec;
 --codeb:#10354b;
 --lang:#bba5f0;
 --langb:#30264b;
 --grad:linear-gradient(135deg,var(--brand-ocean),#086c98);
}
body:has(.edu-page){background:#f7fbff}
.btn-p{background:var(--grad);box-shadow:0 5px 0 var(--brand-ocean-deep);color:#fff}
.btn-p:active{box-shadow:0 2px 0 var(--brand-ocean-deep)}
.prod-btn.on.code{background:#65d2ec;color:#103047;box-shadow:0 4px 0 #2888a5}
.prod-btn.on.lang{background:#c6b2f4;color:#322050;box-shadow:0 4px 0 #8167b1}
::selection{background:#beeef4;color:#123b59}
.edu-page{
 --edu-ink:#193c58;
 --edu-muted:#526b80;
 --edu-green:var(--brand-ocean);
 background:#f7fbff;
 color:var(--edu-ink);
}
.edu-page button:focus-visible,.edu-page a:focus-visible{outline-color:var(--brand-ocean)}
.edu-nav,.edu-courses,.edu-method,.edu-footer{border-color:#dce7f0}
.edu-brand{color:var(--brand-ocean)}
.edu-brand span{color:var(--brand-violet)}
.edu-nav .edu-login,.edu-secondary{background:#fff;border-color:#cddfea;color:var(--brand-ocean)}
.edu-primary{background:var(--brand-ocean);border-bottom-color:var(--brand-ocean-deep)}
.edu-primary:hover{background:#076e96}
.edu-orbit{background:#dcf5f7;border-color:#edf9fc}
.edu-code{background:var(--brand-sun);color:#654709;box-shadow:0 5px 0 #e9b746}
.edu-word{background:#f1ebff;color:#6544ab;box-shadow:0 5px 0 #d9cdef}
.edu-kody{background:#fff;border-color:#cddfea;color:var(--edu-ink)}
.edu-course{background:#fff;border-color:#d6e4ef;color:var(--edu-ink)}
.edu-course:hover{background:#edf9fc;border-color:#83c8dc}
.edu-course-icon{color:var(--brand-ocean)}
.edu-finish{background:#e3f4fa;border:1px solid #c8e6f1}
.edu-demo{background:#eeebfa;border:1px solid #ded6f0}
.edu-demo-tabs button{border-color:#c8d9e8;color:#425d76}
.edu-demo-tabs button[aria-pressed=true]{border-color:var(--brand-ocean);background:#e2f4fa;color:#075574}
.edu-exercise{border-color:#d5dbee;background:#fff}
.edu-exercise-label{color:#655381}
.edu-example{background:#eef5fb;color:#193c58}
.edu-answers button{border-color:#d5e2ec;color:#193c58}
.edu-answers button>span{border-color:#cadce9;color:#526b80}
.edu-answers .is-correct{background:#def5ed;border-color:#258260;color:#15573f}
.edu-answers .is-retry{background:#fff3d8;border-color:#b77a1b;color:#70480c}
.edu-greet{background:#fff;border-color:#bbdce9;color:var(--brand-ocean)}

/* Shared light surfaces across authentication and the learning application. */
:root{
 --bg:#f7fbff;--s1:#ffffff;--s2:#edf5fb;--s3:#deedf7;
 --bd:#d8e5ef;--bd2:#bbd0df;--t:#193c58;--t2:#526b80;
 --s:#0879a4;--ok:#21815e;--err:#bd3e4b;--en:#916000;
 --code:#0879a4;--codeb:#e0f4fa;--lang:#704db0;--langb:#f0eafa;
 --shadow-lip:0 5px 0 #c2d7e6;
}
body{color-scheme:light}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid #0879a4;outline-offset:3px}
.auth-wrap{background:radial-gradient(ellipse at 15% 20%,#e1f5f8 0,transparent 55%),radial-gradient(ellipse at 85% 85%,#eee8fa 0,transparent 50%),#f7fbff}
.auth-wrap>.glow{display:none}
.auth-card{border:2px solid #d8e5ef;border-bottom-width:5px;box-shadow:0 16px 48px #193c580a}
.logo{color:#0879a4}
.field label{color:#304f68}
.field input,.tinput,select,textarea{color:var(--t);background:var(--s1);border-color:var(--bd2)}
.field input::placeholder,.tinput::placeholder,textarea::placeholder{color:#637c90;opacity:1}
.field input:focus,.tinput:focus{border-color:#0879a4;box-shadow:0 0 0 3px #dff1f8}
.field input:-webkit-autofill{-webkit-text-fill-color:#193c58;-webkit-box-shadow:0 0 0 1000px #edf5fb inset}
.ob-opt{border-color:#d8e5ef;box-shadow:0 3px 0 #d8e5ef}
.ob-opt:hover{border-color:#69b8d2;background:#edf9fc}
.ob-opt.sel,.ob-opt.selected,.ob-opt.on{background:#e2f4fa;border-color:#0879a4;color:#075574}
.side{background:#fff}.side-user{background:#edf5fb}
.glass,.bnav,.mobile-topbar,.ls-bottom{background:rgba(255,255,255,.96);border-color:#d8e5ef}
.snav.on{background:#e3f4fa;border-color:#a4d4e6;color:#075574}
.bnav button.on{color:#0879a4}.bnav button.related{color:#65518d}
.more-menu,.course-switch-menu,.modal,.toast{box-shadow:0 12px 32px #193c5818}
.btn-ghost{background:white;border-color:#bbd0df;color:#193c58}
.btn[disabled]{background:#e0eaf2;color:#60778b}
.btn-c{background:#b7ecf2;color:#164656;box-shadow:0 5px 0 #73bdca}
.btn-ok{background:#21815e;color:#fff;box-shadow:0 5px 0 #15573f}
.btn-err{background:#fff0f1;color:#a62d3c;border-color:#e5adb3}
.tag.p{background:#eee8fa;color:#6544ab;border-color:#d2c5eb}
.tag.c{background:#e1f4fa;color:#075574;border-color:#b0dce9}
.tag.g{background:#e1f4eb;color:#15573f;border-color:#b3ddc9}
.tag.y{background:#fff3d5;color:#795008;border-color:#e9cf93}
.tag.r{background:#ffedf0;color:#a62d3c;border-color:#e8bec5}
.dh-pills-row .pill,.dh-continue,.dh-path-row,.rv-hero,.rv-lang,#lesson-root .ls-hearts{background:#fff;border-color:#d8e5ef;color:#193c58}
.dh-sec-label{color:#526b80}.dh-bar{background:#deedf7}.dh-bar i{background:#0879a4}
.dh-continue .dh-pct,.lp-cur .dh-path-row .dh-tt b,.rv-hero-n{color:#0879a4}
.dh-cta{background:#0879a4;color:#fff;box-shadow:0 4px 0 #075574}
.dh-cta.alt{background:#fff;border-color:#bbd0df;color:#0879a4;box-shadow:none}
.lp-cur .dh-path-row{background:#e5f5fa;border-color:#a4d4e6}
.rv-kody{background:#eeeafa;border-color:#d8cbed}.rv-kody p{color:#493767}
.node.cur .nb{color:white}.node.done .nb{background:#e1f4eb;border-color:#21815e;color:#15573f}
.node-callout{background:white;box-shadow:0 6px 18px #193c5815}.node-callout::after{border-top-color:white}
.node-callout .nc-xp{color:#795008}.node.locked{opacity:.7}
.unit-head{background:#e5f5fa}.mission-card{background:#fff9e9;border-color:#e9d7a7}
.lopt,.wchip{box-shadow:0 3px 0 #d8e5ef}.lopt.sel{background:#e1f4fa;border-color:#0879a4;color:#075574}
.lopt.good,.fb.ok h4,.fb.ok .fico{color:#15573f}.lopt.good{background:#e1f4eb}
.lopt.bad,.fb.bad h4,.fb.bad .fico{color:#a62d3c}.lopt.bad{background:#ffedf0}
.ls-hearts,#lesson-root .ls-hearts{color:#a62d3c}.ls-hearts .hinf{color:#0879a4}
.rv-f-tag.dom{color:#15573f;background:#e1f4eb;border-color:#b3ddc9}
.course-card:hover{border-color:#82bfd4}.tab.on{box-shadow:0 4px 0 #075574}
/* Code retains its dark surface and readable syntax colors. */
.codebox{background:#102538;color:#e6edf7;border-color:#29445c}
.codebox textarea,.codebox input{background:#102538;color:#e6edf7}
@media(max-width:600px){.auth-card{padding:26px 22px}.auth-wrap{padding:20px}}
#lesson-root .lsx:hover{color:#0879a4}
#lesson-root .lsbar{background:#deedf7;border-color:#c7dce9}
#lesson-root .lsbar>div{background:#0879a4;box-shadow:none}
#lesson-root .ls-hearts .hinf{color:#0879a4}
#lesson-root .ls-start-card{background:#eaf6fb;border-color:#c4e0ed}
#lesson-root .fb{background:#fff;border-color:#d8e5ef}
#lesson-root .fb.ok{background:#edf8f2;border-color:#a8d5bd}
#lesson-root .fb.bad{background:#fff0f2;border-color:#e5b4bf}
#lesson-root .lopt.good{background:#e1f4eb;color:#15573f}
#lesson-root .lopt.bad{background:#ffedf0;color:#a62d3c}
#lesson-root .fb-cta .ls-fb-err{background:#fff;color:#a62d3c;border-color:#e5b4bf;box-shadow:0 4px 0 #e5b4bf}
#lesson-root .ls-go,#lesson-root .fb-cta .ls-fb-ok{background:#0879a4;color:white;box-shadow:0 5px 0 #075574}
.rv-chip b{color:#193c58}.rv-chip.ok b{color:#15573f}.rv-chip.s b{color:#075574}
.rv-f-tag.dif{color:#a62d3c;background:#ffedf0;border-color:#e5b4bf}
.rv-reco .rc b,.rv-reco-badge{color:#795008}
.dh-kody .dh-k-txt{color:#193c58}
.ep-error,.diff-desafio{color:#a62d3c}
.lrow.done .st,.flash-back .fm,.mitem.done,.diff-facil{color:#15573f}
#lesson-root .lopt.good::after{color:#15573f}
#lesson-root .lopt.bad::after,#lesson-root .lopt.bad .n{color:#a62d3c}
/* Legacy inline accent labels in account, store, progress and reward panels. */
:where(.shell,.modal,.pro-card,.ls-end) [style*="color:#c4b5fd"]{color:#6544ab!important}
:where(.shell,.modal,.pro-card,.ls-end) [style*="color:#86efac"]{color:#15573f!important}
:where(.shell,.modal,.pro-card,.ls-end) [style*="color:#7ddcff"]{color:#075574!important}
:where(.shell,.modal,.pro-card,.ls-end) [style*="color:#FBCC0E"]{color:#795008!important}
