/* Simple SEM functional styles */
.sem-calc { width: 360px; border: 3px solid #9aa3a8; background: #f5f7f9; padding: 8px; font-family: Arial, sans-serif; border-radius:8px; }
.sem-tabs { display:flex; gap:8px; }
.sem-tabs .tab { padding:10px 18px; background:#e9eef4; cursor:pointer; font-weight:700; border-radius:6px; border:1px solid #bfc9d3; }
.sem-tabs .tab.active { background:#2f5f85; color:#fff; }
.display-top { height:22px; background:#fff; text-align:right; padding:2px 8px; border:1px solid #999; margin-top:8px; color:#000; font-weight:700; }
.display-main { height:56px; background:#2f5f85; color:#fff; text-align:right; padding:8px; font-size:34px; margin-top:8px; border-radius:6px; display:flex; align-items:center; justify-content:flex-end; box-sizing:border-box; }
.keys { display:grid; grid-template-columns: repeat(5, 1fr); gap:8px; margin-top:12px; }
.keys button { padding:12px; border-radius:8px; border:1px solid #8fa0ad; background:#dbe6ef; cursor:pointer; font-weight:700; font-size:16px; }
.keys button.op { background:#fff; }
.keys button.ctrl { background:#fff; }
.keys button.eq { background:#2f5f85; color:#fff; grid-column:4/6; }
.keys button.wide { grid-column:1/3; }
.keys button.sci { display:inline-block; }
.keys .angle { display:flex; align-items:center; gap:6px; padding:0 6px; background:transparent; border:none; font-weight:600; color:#08406b; }
@media (max-width:420px){ .sem-calc { width:100%; } .display-main { font-size:26px; } }
