/* Gili theme – navy / teal on white. No purple, orange, red or yellow; sans-serif only. Loaded after app.css on gili only. */
:root{--p:#0E8C8C;--v:#0E8C8C;--k:#0E8C8C;--navy:#0F2A4A;--blue:#0E8C8C;--cyan:#14A3A3;--g:#0E8C8C;--o:#0E8C8C;--ink:#10243B;--bg:#FFFFFF;--grad:linear-gradient(135deg,#0F2A4A,#14506B 60%,#0E8C8C);--ia:#14A3A3}
html,body,#app{background:#fff}
body,button,textarea,input,h1,h2,h3,.name,.wordmark{font-family:Rubik,"Varela Round",system-ui,sans-serif}
.top{box-shadow:0 4px 16px #0f2a4a30;--ia:#7FD3D3}
.dot{background:#5FD0C5}
.me .bubble{background:#0F2A4A;box-shadow:none}
.gate{background:linear-gradient(160deg,#0F2A4A,#0E8C8C)}
.wordmark{text-shadow:none}
.tabs{box-shadow:0 -2px 12px #0f2a4a14}.tabs button.on{color:#0E8C8C}
.mbar{background:#EAF5F5}
.bg-math{display:none}
.alon-av .lid,.alon-hero .lid,.alon-hero .ant{display:none}
.alon-av{background:none;box-shadow:0 0 0 3px #ffffff50;animation:none}
.alon-hero.gili{display:flex;justify-content:center}.alon-hero.gili img{width:160px;height:160px}
.bubble{unicode-bidi:plaintext}
.fb.bad,.mc button.bad{background:#E2E8F0!important;color:#10243B}
.mc button.ok{background:#0E8C8C!important;color:#fff}
.confetti i{background:var(--c)!important}.confetti{filter:hue-rotate(0)}
/* stage path */
#stagesView{padding:14px}
.mpath,.mstage{display:flex;flex-direction:column;gap:12px;color:#10243B}
.mhead{display:flex;gap:12px;align-items:center}.mhead h2{margin:2px 0;font-size:20px;color:#0F2A4A}.mhead p{margin:0;color:#4A6076;font-size:14px}
.bar{height:8px;border-radius:8px;background:#E3EEF2;overflow:hidden}.bar i{display:block;height:100%;background:#0E8C8C}
.nodes{list-style:none;margin:6px 0;padding:0 0 0 0;position:relative;display:flex;flex-direction:column;gap:10px}
.nodes:before{content:"";position:absolute;top:22px;bottom:22px;right:23px;width:3px;background:#D5E4EA}
.nodes li button{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:12px;width:100%;cursor:pointer;position:relative}
.nodes .n{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:18px;background:#fff;border:3px solid #0F2A4A;color:#0F2A4A}
.nodes .n svg{width:22px;height:22px}
.nodes .t{flex:1;background:#fff;border:1.5px solid #D5E4EA;border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.nodes .t b{font-size:15px}.nodes .t small{color:#4A6076;font-size:12.5px}
.nodes .done .n{background:#0E8C8C;border-color:#0E8C8C;color:#fff}
.nodes .now .n{background:#0F2A4A;color:#fff;box-shadow:0 0 0 5px #0E8C8C33}.nodes .now .t{border-color:#0E8C8C}
.nodes .lock button{cursor:default}.nodes .lock .n{border-color:#B8C7D3;color:#8A9BAA}.nodes .lock .t{color:#8A9BAA;background:#F7FAFB}
.back{all:unset;cursor:pointer;color:#0E8C8C;font-weight:700;font-size:14px;display:flex;gap:4px;align-items:center}
.badge{background:#EAF5F5;color:#0E6E6E;border-radius:10px;padding:2px 8px;font-size:12.5px;font-weight:700}
.okline{background:#EAF5F5;color:#0E6E6E;border-radius:12px;padding:8px 12px;font-weight:700;display:flex;gap:6px;align-items:center}
.mtabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:#F1F6F8;border-radius:14px;padding:4px}
.mtabs button{border:0;background:none;border-radius:11px;padding:9px 4px;font-weight:700;color:#4A6076;display:flex;gap:5px;justify-content:center;align-items:center}
.mtabs button.on{background:#fff;color:#0F2A4A;box-shadow:0 1px 4px #0f2a4a22}
.mbody{display:flex;flex-direction:column;gap:12px}.mbody h3{margin:4px 0 0;font-size:16px;color:#0F2A4A}
.guide{display:flex;gap:10px;align-items:flex-start;background:#F4F9FA;border:1.5px solid #D5E4EA;border-radius:16px;padding:10px}
.guide img{flex:none;border-radius:50%}.guide .say{flex:1;font-size:15px;line-height:1.5}.guide .hear{border:0;background:#fff;border-radius:50%;width:36px;height:36px;color:#0F2A4A}
.concepts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.concepts li{display:flex;gap:8px;align-items:center;background:#fff;border:1.5px solid #D5E4EA;border-radius:12px;padding:10px 12px}
.acts{display:flex;flex-direction:column;gap:8px}
.acts button{display:flex;gap:10px;align-items:flex-start;text-align:right;background:#fff;border:1.5px solid #D5E4EA;border-radius:14px;padding:12px;color:#10243B;font-size:14.5px;line-height:1.45;cursor:pointer}
.acts button>span:first-child{flex:none;width:34px;height:34px;border-radius:50%;background:#0F2A4A;color:#fff;display:grid;place-items:center;--ia:#5FD0C5}
.pill{border:2px solid #0F2A4A;background:#fff;color:#0F2A4A;border-radius:999px;padding:10px 16px;font-weight:700}
.pill.on{background:#0F2A4A;color:#fff}.pill.wide{width:100%;display:flex;gap:6px;justify-content:center}
.nav{display:flex;gap:8px;flex-wrap:wrap}
.mq{font-size:18px;line-height:1.45}
.mopts{display:flex;flex-direction:column;gap:8px}
.mopts button{text-align:right;background:#fff;border:2px solid #C9D8E1;border-radius:14px;padding:12px 14px;font-size:15.5px;color:#10243B;cursor:pointer}
.mopts button.ok{background:#0E8C8C;border-color:#0E8C8C;color:#fff}.mopts button.bad{background:#E2E8F0;border-color:#8A9BAA}
.res{font-weight:700;display:flex;gap:6px;align-items:center;color:#0F2A4A}
.lvl{display:flex;justify-content:space-between;font-size:13px;color:#4A6076}
/* parent screen */
.pstages{margin:10px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14px}
.pstages li{display:flex;gap:8px;align-items:center}.pstages li span{flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;border:2px solid #B8C7D3;color:#8A9BAA}
.pstages li.done span{background:#0E8C8C;border-color:#0E8C8C;color:#fff}.pstages li.now span{border-color:#0F2A4A;color:#0F2A4A}.pstages li.lock{color:#8A9BAA}
.pstages small{color:#4A6076}.pnote{font-size:12.5px;color:#4A6076;margin:8px 0 0}
/* neutralise Alon's green / orange / yellow / red accents */
.dot{animation:none}
.banner{background:#EAF5F5;color:#0E4F5C;border-bottom-color:#CDE6E6}
.bubble.err{background:#EEF2F6;color:#10243B}.err{color:#0F2A4A}
.tag.weak,.tag.due{background:#EAF5F5;color:#0E6E6E}.tag.now{background:#E3EBF3;color:#0F2A4A}
.qopt.ok{background:#E0F2F1!important;border-color:#0E8C8C!important}.qopt.bad{background:#EEF2F6!important;border-color:#8A9BAA!important}
#stagesView{background:#fff}
.mic{background:#EAF5F5;color:#0E8C8C}.recording .mic{background:#0E8C8C;color:#fff;box-shadow:0 0 0 8px #0e8c8c33}
@keyframes pulse{50%{box-shadow:0 0 0 14px #0e8c8c11}}
.send,.card .primary,.btn{background:#0E8C8C;box-shadow:0 3px 0 #0A6666}
.send:active,.card .primary:active{box-shadow:0 1px 0 #0A6666}
.buy{background:#0F2A4A;box-shadow:0 3px 0 #08182B}
.card .danger{background:#EEF2F6;color:#0F2A4A}
.top,.toast{--ia:#7FD3D3}
.ico.ok{color:#0E8C8C}.ico.bad{color:#4A6076}
.scores .g{color:#0E8C8C}.scores .r{color:#4A6076}
.chips button,.chips button:nth-child(2),.chips button:nth-child(3){border-color:#C9DDE3;box-shadow:0 2px 0 #C9DDE3;color:#0F2A4A}
