.ea-alicia{
  --ea-bg:#ffffff;
  --ea-card:#ffffff;
  --ea-text:#0b1220;
  --ea-muted:#5b667a;
  --ea-primary:#034078;
  --ea-accent:#AEDB9C;
  --ea-border:#e6eaf2;
  --ea-shadow:0 10px 30px rgba(3,64,120,.12);
  --ea-num:#FFF3A6;
  --ea-op:#2d2d2d;
  --ea-op-text:#fff;
  --ea-fn:#eaf2ff;
  --ea-board:#ffffff;
  --ea-board2:#f2f7ff;
  --ea-chalk:#0b1220;
  --ea-boardLine:rgba(3,64,120,.12);
  --ea-eraser:#AEDB9C;
  --ea-boardLine:rgba(255,255,255,.12);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  color:var(--ea-text);
}

.ea-alicia.ea-dark{
  --ea-bg:#0b1020;
  --ea-card:#101a34;
  --ea-text:#f2f6ff;
  --ea-muted:#b6c2da;
  --ea-border:#1f2a4b;
  --ea-shadow:0 10px 30px rgba(0,0,0,.35);
  --ea-fn:#15224a;
  --ea-num:#b9a94d;
  --ea-op:#000000;
  --ea-op-text:#ffffff;
  --ea-board:#0f6b4f;
  --ea-board2:#0d5f46;
  --ea-chalk:#f7fff8;
  --ea-eraser:#0f6b4f;
  --ea-boardLine:rgba(255,255,255,.12);
}

.ea-alicia *{box-sizing:border-box;}

.ea-alicia{max-width:980px;margin:18px auto;padding:14px;background:var(--ea-bg);border:1px solid var(--ea-border);border-radius:16px;box-shadow:var(--ea-shadow);}

.ea-alicia-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 6px 12px;}
.ea-alicia-brand{display:flex;align-items:center;gap:12px;}
.ea-alicia-badge{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--ea-primary),#0b63b6);color:#fff;font-weight:800;font-size:18px;}
.ea-alicia-title{font-weight:800;font-size:18px;line-height:1.1;}
.ea-alicia-subtitle{color:var(--ea-muted);font-size:13px;margin-top:2px;}

.ea-btn,.ea-btn-primary{border:1px solid var(--ea-border);background:var(--ea-card);color:var(--ea-text);padding:10px 12px;border-radius:12px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;}
.ea-btn:hover{transform:translateY(-1px);}
.ea-btn.is-active{border-color:var(--ea-primary);box-shadow:0 0 0 3px rgba(3,64,120,.12);}
.ea-btn-primary{background:linear-gradient(135deg,var(--ea-primary),#0b63b6);border-color:transparent;color:#fff;}

.ea-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:0 6px 8px;}
.ea-tab{border:1px solid var(--ea-border);background:var(--ea-card);padding:10px 12px;border-radius:999px;font-weight:800;cursor:pointer;color:var(--ea-text);}
.ea-tab.is-active{background:var(--ea-accent);border-color:transparent;color:#0b1220;}

.ea-panel{display:none;padding:10px 6px;}
.ea-panel.is-active{display:block;}

/* --- Calculator (Alicia-style) --- */
.ea-calc-wrap{display:grid;grid-template-columns:1fr;gap:12px;}
.ea-calc-screen{background:var(--ea-card);border:1px solid var(--ea-border);border-radius:14px;padding:12px;}
.ea-calc-label{color:var(--ea-muted);font-size:12px;font-weight:800;letter-spacing:.02em;}
.ea-calc-display{font-size:34px;font-weight:900;padding:6px 0;line-height:1.1;word-break:break-word;}
.ea-calc-mini{color:var(--ea-muted);font-size:12px;min-height:16px;}

.ea-calc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;}
.ea-key{border:0;border-radius:14px;padding:14px 10px;font-weight:900;font-size:18px;cursor:pointer;background:var(--ea-num);color:#111;box-shadow:0 6px 14px rgba(0,0,0,.08);}
.ea-key:active{transform:translateY(1px);}
.ea-key-op{background:var(--ea-op);color:var(--ea-op-text);} 
.ea-key-fn{background:var(--ea-fn);color:var(--ea-text);} 
.ea-key-eq{background:linear-gradient(135deg,#ff5a5f,#ff8b3d);color:#fff;}

/* --- Board --- */
.ea-draw-head{display:flex;flex-direction:column;gap:10px;}
.ea-draw-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.ea-range{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--ea-border);border-radius:12px;background:var(--ea-card);font-weight:800;color:var(--ea-muted);}
.ea-range input{width:140px;}

.ea-board-wrap{margin-top:10px;border-radius:18px;overflow:hidden;border:2px solid rgba(174,219,156,.45);background:linear-gradient(180deg,var(--ea-board),var(--ea-board2));}
.ea-board-wrap canvas{display:block;width:100%;height:640px;touch-action:none;}

@media (max-width:640px){
  .ea-board-wrap canvas{height:520px;}
  .ea-calc-display{font-size:30px;}
}

/* Result area pulse when new answer arrives */
.ea-output.ea-pulse{animation:eaPulse .55s ease-out;}
@keyframes eaPulse{from{transform:scale(0.99);}50%{transform:scale(1.01);}to{transform:scale(1);} }

.ea-draw-actions-bottom{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:12px 0 6px;}

.ea-label{font-weight:900;margin-bottom:8px;}
.ea-input{width:100%;padding:12px 12px;border:1px solid var(--ea-border);border-radius:12px;background:var(--ea-card);color:var(--ea-text);font-weight:700;}

.ea-image-row{display:grid;grid-template-columns:1fr;gap:12px;}
.ea-image-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.ea-preview{margin-top:10px;min-height:80px;}
.ea-preview img{max-width:100%;border-radius:14px;border:1px solid var(--ea-border);}

.ea-voice-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px;}
.ea-or{color:var(--ea-muted);font-weight:900;}

.ea-output{margin-top:14px;border:1px solid var(--ea-border);border-radius:16px;background:var(--ea-card);padding:12px;}
.ea-output-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.ea-output-title{font-weight:1000;font-size:16px;}
.ea-status{color:var(--ea-muted);font-weight:800;font-size:12px;}
.ea-output-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;color:var(--ea-muted);font-weight:800;}
.ea-k{opacity:.9;}
.ea-v{color:var(--ea-text);font-weight:1000;}
.ea-v-big{font-size:30px;line-height:1.05;}
@media (max-width: 520px){
  .ea-v-big{font-size:28px;}
}

.ea-steps{margin-top:10px;line-height:1.45;}
.ea-steps ol{margin:0;padding-left:18px;}
.ea-steps li{margin:6px 0;}

.ea-notebook-wrap{display:flex;justify-content:center;margin-top:10px;}
.ea-notebook{background:rgba(174,219,156,.18);border:1px dashed rgba(3,64,120,.35);border-radius:12px;padding:10px 12px;min-width:260px;max-width:100%;overflow:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:15px;line-height:1.25;white-space:pre;}

.ea-hint{margin-top:10px;color:var(--ea-muted);font-weight:800;font-size:12px;}


.ea-partial{display:inline-block;padding:2px 8px;border-radius:10px;background:rgba(174,219,156,.35);border:1px solid rgba(174,219,156,.75);font-weight:800;}
.ea-alicia.ea-dark .ea-partial{background:rgba(174,219,156,.18);border-color:rgba(174,219,156,.35);}
.ea-carry{font-size:.8em;vertical-align:super;font-weight:900;}
