/* assets/calculators/casio.css
   fx-991CW-inspired (not 1:1 clone). Requires templates/casio.php markup above.
*/

.mc-calc--casio .mc-calc__inner.casio{
  --body:#e9eaec;
  --body2:#dadbde;
  --edge:#b8babf;
  --shadow:rgba(0,0,0,.18);

  --displayFrame1:#2f3136;
  --displayFrame2:#1e2024;

  --lcd1:#d9ead9;
  --lcd2:#cfe4cf;
  --lcdText:#132417;

  --key1:#ffffff;
  --key2:#f2f3f5;
  --keyBorder:#c8c9cc;

  --fn1:#eef0f3;
  --fn2:#e2e6ec;

  --op1:#dcecff;
  --op2:#cfe3ff;
  --opText:#103a66;

  --shift1:#ffd08a;
  --shift2:#ffbf66;

  --alpha1:#ffb3b3;
  --alpha2:#ff9a9a;

  --eq1:#2d6cdf;
  --eq2:#1d55bd;

  --text:#12161a;
  --muted:rgba(18,22,26,.65);

  max-width:780px;
  margin:0 auto;
}

/* Body panel */
.mc-calc--casio .casio__panel{
  background:linear-gradient(180deg,var(--body) 0%,var(--body2) 100%);
  border:1px solid var(--edge);
  border-radius:18px;
  box-shadow:0 18px 40px var(--shadow);
  padding:18px;
  position:relative;
  overflow:hidden;
}

.mc-calc--casio .casio__panel::before{
  content:"";
  position:absolute;
  inset:-40% -30%;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.60), transparent 52%),
    radial-gradient(circle at 85% 35%, rgba(255,255,255,.22), transparent 55%);
  transform:rotate(-8deg);
  pointer-events:none;
}

/* Display frame */
.mc-calc--casio .casio__display{
  background:linear-gradient(180deg,var(--displayFrame1),var(--displayFrame2));
  border-radius:14px;
  padding:12px 12px 10px;
  border:1px solid rgba(0,0,0,.25);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  margin-bottom:14px;
}

.mc-calc--casio .casio__displayTop{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-weight:900;
  font-size:12px;
  letter-spacing:.6px;
  color:rgba(255,255,255,.78);
  margin-bottom:8px;
}

.mc-calc--casio .casio__mem{
  opacity:0;
  transition:opacity .15s ease;
}
.mc-calc--casio .casio__mem.is-on{ opacity:1; }

/* LCD realism wrapper */
.mc-calc--casio .casio__lcd{
  position:relative;
  border-radius:12px;
  background:linear-gradient(180deg,var(--lcd1),var(--lcd2));
  border:1px solid rgba(0,0,0,.25);
  box-shadow:
    inset 0 2px 14px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.35);
  overflow:hidden;
}

/* faint “ghost segments” */
.mc-calc--casio .casio__lcdGhost{
  position:absolute;
  inset:0;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  padding:14px 12px;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-weight:1000;
  font-size:clamp(22px, 2.8vw, 30px);
  letter-spacing:.5px;
  color:rgba(19,36,23,.13);
  transform:translateY(1px);
  pointer-events:none;
  user-select:none;
}

/* scanlines */
.mc-calc--casio .casio__lcdScanlines{
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(0,0,0,.04) 0px,
      rgba(0,0,0,.04) 1px,
      rgba(255,255,255,.00) 2px,
      rgba(255,255,255,.00) 4px
    );
  mix-blend-mode:multiply;
  opacity:.35;
  pointer-events:none;
}

/* glare / reflection */
.mc-calc--casio .casio__lcdGlare{
  position:absolute;
  inset:-30% -20%;
  background:
    radial-gradient(circle at 25% 25%, rgba(255,255,255,.50), transparent 45%),
    linear-gradient(135deg, rgba(255,255,255,.25), transparent 55%);
  transform:rotate(-12deg);
  opacity:.35;
  pointer-events:none;
}

/* actual screen */
.mc-calc--casio .casio__screen{
  position:relative;
  z-index:2;
  width:100%;
  background:transparent;
  border:0;
  padding:14px 12px;
  font-size:clamp(22px, 2.8vw, 30px);
  font-weight:1000;
  color:var(--lcdText);
  text-align:right;
  letter-spacing:.5px;
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  outline:none;
}

/* Keys grid (layout upgrade: 5 columns) */
.mc-calc--casio .casio__keys{
  display:grid;
  gap:10px;
}

.mc-calc--casio .casio__row{
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:10px;
}

/* key base */
.mc-calc--casio .casio__key{
  appearance:none;
  border:1px solid var(--keyBorder);
  border-radius:11px;
  background:linear-gradient(180deg,var(--key1) 0%,var(--key2) 100%);
  color:var(--text);
  font-weight:900;
  cursor:pointer;
  user-select:none;
  padding:10px 8px 12px;
  box-shadow:0 2px 0 rgba(0,0,0,.12);
  transition:transform .05s ease, box-shadow .05s ease, filter .15s ease;
  display:flex;
  flex-direction:column;
  gap:6px;
  min-height:56px;
}
.mc-calc--casio .casio__key:hover{ filter:brightness(.985); }
.mc-calc--casio .casio__key:active{
  transform:translateY(1px);
  box-shadow:0 1px 0 rgba(0,0,0,.12);
}

/* small legend + main label */
.mc-calc--casio .casio__kSub{
  font-size:10px;
  line-height:1;
  font-weight:900;
  color:rgba(18,22,26,.65);
  letter-spacing:.2px;
}
.mc-calc--casio .casio__kSub--empty{ opacity:0; }
.mc-calc--casio .casio__kMain{
  font-size:16px;
  line-height:1;
  font-weight:1000;
}

/* groups */
.mc-calc--casio .casio__key.is-fn{
  background:linear-gradient(180deg,var(--fn1) 0%,var(--fn2) 100%);
}
.mc-calc--casio .casio__key.is-op{
  background:linear-gradient(180deg,var(--op1) 0%,var(--op2) 100%);
  color:var(--opText);
}
.mc-calc--casio .casio__key.is-shift{
  background:linear-gradient(180deg,var(--shift1) 0%,var(--shift2) 100%);
}
.mc-calc--casio .casio__key.is-alpha{
  background:linear-gradient(180deg,var(--alpha1) 0%,var(--alpha2) 100%);
}
.mc-calc--casio .casio__key.is-ac{
  border-color:rgba(0,0,0,.22);
  background:linear-gradient(180deg,#ff6a6a 0%,#ff5252 100%);
  color:#fff;
}
.mc-calc--casio .casio__key.is-eq{
  border-color:rgba(0,0,0,.22);
  background:linear-gradient(180deg,var(--eq1) 0%,var(--eq2) 100%);
  color:#fff;
}

/* History */
.mc-calc--casio .casio__history{
  margin-top:14px;
  background:linear-gradient(180deg,#f5f6f7 0%, #eef0f2 100%);
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  padding:10px 10px 8px;
}
.mc-calc--casio .casio__historyHdr{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
  margin-bottom:8px;
}
.mc-calc--casio .casio__historyHdr h4{
  margin:0;
  font-size:13px;
  font-weight:1000;
}
.mc-calc--casio .casio__historyList{
  list-style:none;
  padding:0;
  margin:0;
  max-height:140px;
  overflow:auto;
  border-top:1px dashed rgba(0,0,0,.12);
}
.mc-calc--casio .casio__historyList li{
  padding:8px 2px;
  border-bottom:1px dashed rgba(0,0,0,.12);
  font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-weight:900;
  font-size:12px;
  color:rgba(18,22,26,.78);
  word-break:break-word;
}
.mc-calc--casio .casio__historyList li:last-child{ border-bottom:0; }

@media (max-width:560px){
  .mc-calc--casio .casio__panel{ padding:14px; }
  .mc-calc--casio .casio__key{ min-height:54px; }
  .mc-calc--casio .casio__kMain{ font-size:15px; }
}