/* Giao diện khung mô phỏng (dùng chung cho mọi trang) */
.sim{--sb:#0b1630;--sl:rgba(148,180,255,.18);background:linear-gradient(180deg,#0e1b3d,#0b1630);border:1px solid #1d2f5f;border-radius:18px;color:#e6eeff;overflow:hidden;margin:18px 0;box-shadow:0 10px 30px -12px rgba(8,20,60,.55);outline:none;font-family:"Be Vietnam Pro",system-ui,sans-serif}
.sim:focus-visible{box-shadow:0 0 0 3px #38bdf8}
.sim:not(.sim-ready){min-height:240px;display:grid;place-items:center}
.sim:not(.sim-ready)::before{content:"Đang tải mô phỏng…";color:#8ea3cf;font-size:14px}
.sim-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px 8px 16px;border-bottom:1px solid var(--sl);flex-wrap:wrap}
.sim-title{font-weight:700;font-size:15px;letter-spacing:.1px}
.sim-tbar{display:flex;gap:6px;align-items:center}
.sim-btn{appearance:none;border:1px solid #2b4382;background:#14254f;color:#e6eeff;border-radius:10px;min-width:36px;height:34px;padding:0 10px;font:600 14px/1 "Be Vietnam Pro",system-ui,sans-serif;cursor:pointer;transition:background .15s,transform .05s}
.sim-btn:hover{background:#1c3268}.sim-btn:active{transform:translateY(1px)}
.sim-btn.on{background:#0f766e;border-color:#3b82f6}
.sim-btn-action{background:linear-gradient(180deg,#f59e0b,#d97706);border-color:#f59e0b;color:#1a1200}
.sim-btn-action:hover{background:linear-gradient(180deg,#fbbf24,#f59e0b)}
.sim-speed{background:#14254f;color:#e6eeff;border:1px solid #2b4382;border-radius:10px;height:34px;padding:0 6px;font:600 13px "Be Vietnam Pro",system-ui,sans-serif}
.sim-stage{position:relative;background:#0b1630}
.sim-canvas{display:block;width:100%;user-select:none;-webkit-user-select:none}
.sim-draggable{cursor:grab}.sim-draggable:active{cursor:grabbing}
/* Ô số liệu: lưới cột cố định (chỉ phụ thuộc bề rộng khung, không phụ thuộc giá trị) → số thay đổi không làm các ô xô lệch.
   Mỗi ô: tên bên trái, giá trị + đơn vị căn phải, chữ số đều độ rộng. */
.sim-readouts{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:6px;padding:10px 12px 2px;background:rgba(6,14,34,.35);border-top:1px solid var(--sl)}
.sim-read{--rc:#5eead4;display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;column-gap:6px;min-width:0;background:rgba(20,37,79,.85);border:1px solid #233a74;border-left:3px solid var(--rc);border-radius:9px;padding:6px 10px;font-size:13px;contain:layout paint}
.sim-read-l{color:#9fb4e6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.sim-read-v{color:#fff;font-size:14px;font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.sim-read-u{color:#9fb4e6;font-size:12px;white-space:nowrap;min-width:0}
.sim-controls{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px 16px;padding:12px 16px 14px}
.sim-ctrl{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#c7d5f5;min-width:0}
.sim-ctrl select{max-width:100%;min-width:0}
.sim-ctrl-top{display:flex;justify-content:space-between;gap:6px}
.sim-ctrl-v{color:#fbbf24;font-variant-numeric:tabular-nums}
.sim-ctrl-toggle{flex-direction:row;align-items:center;gap:8px;cursor:pointer}
.sim-ctrl-toggle input{width:18px;height:18px;accent-color:#38bdf8}
.sim-ctrl select{background:#14254f;color:#e6eeff;border:1px solid #2b4382;border-radius:9px;height:34px;padding:0 8px;font:500 13px "Be Vietnam Pro",system-ui,sans-serif}
.sim-ctrl input[type=range]{width:100%;accent-color:#38bdf8;height:22px}
.sim-hint{padding:0 16px 14px;color:#9fb4e6;font-size:13px;line-height:1.5}
.sim-missing{padding:40px;text-align:center;color:#fca5a5}
.sim:fullscreen{border-radius:0;overflow:auto;display:flex;flex-direction:column}
@media (max-width:560px){.sim-readouts{grid-template-columns:repeat(2,minmax(0,1fr))}.sim-read{padding:5px 8px}
  .sim{border-radius:14px;margin:14px -4px}.sim-controls{grid-template-columns:1fr 1fr;gap:8px 12px;padding:10px 12px}.sim-title{font-size:14px}}
