/* ── Card ───────────────────────────────────────────────────────────────────── */ .card { background: var(--bgcard); border: 1px solid var(--border); border-radius: var(--rl); padding: 18px; } .card + .card { margin-top: 16px; } .card-title { font-family: var(--font-d); font-size: 12px; color: var(--gold); letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 14px; display: flex; align-items: center; gap: 8px; } .card-title::before { content: ''; display: block; width: 3px; height: 13px; background: var(--gold); border-radius: 2px; flex-shrink: 0; } /* ── Inputs ─────────────────────────────────────────────────────────────────── */ input, select, textarea { background: var(--bg2); border: 1px solid var(--borderem); border-radius: var(--r); color: var(--t1); font-family: var(--font-b); font-size: 13px; padding: 7px 11px; outline: none; transition: border-color 0.15s; width: 100%; } input:focus, select:focus, textarea:focus { border-color: var(--blue); } input::placeholder { color: var(--t3); } select option { background: var(--bg2); } /* ── Buttons ────────────────────────────────────────────────────────────────── */ .btn { display: inline-flex; align-items: center; gap: 6px; padding: 7px 16px; border-radius: var(--r); border: 1px solid var(--borderem); background: var(--bg2); color: var(--t1); font-size: 13px; font-family: var(--font-b); cursor: pointer; transition: all 0.15s; white-space: nowrap; } .btn:hover { background: var(--bg3); } .btn:active { transform: scale(0.98); } .btn:disabled { opacity: 0.4; cursor: default; } .btn-gold { background: var(--golddim); border-color: var(--gold); color: var(--gold); } .btn-gold:hover { background: #4a3510; } .btn-red { border-color: var(--red); color: var(--red); } .btn-red:hover { background: var(--redbg); } .btn-sm { padding: 4px 11px; font-size: 12px; } /* ── Stats row ──────────────────────────────────────────────────────────────── */ .stats-row { display: flex; gap: 12px; flex-wrap: wrap; } .stat { flex: 1; min-width: 130px; background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r); padding: 12px 14px; } .stat-label { font-size: 11px; color: var(--t2); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 5px; } .stat-value { font-size: 20px; font-weight: 600; } .stat-sub { font-size: 11px; color: var(--t3); margin-top: 2px; } /* ── Badges ─────────────────────────────────────────────────────────────────── */ .badge { padding: 1px 7px; border-radius: 2px; font-size: 11px; font-weight: 500; border: 1px solid transparent; } .badge-tank { background: rgba(74,158,255,.14); border-color: rgba(74,158,255,.4); color: var(--blue); } .badge-heal { background: rgba(76,175,125,.14); border-color: rgba(76,175,125,.4); color: var(--green); } .badge-dps { background: rgba(224,92,92,.14); border-color: rgba(224,92,92,.4); color: var(--red); } .badge-gold { background: var(--goldbg); border-color: rgba(200,168,75,.4); color: var(--gold); } .badge-planned { opacity: 0.55; border-style: dashed; } /* ── DR Bar ─────────────────────────────────────────────────────────────────── */ .dr-bar-wrap { background: var(--bg2); border-radius: 4px; height: 7px; overflow: hidden; margin-top: 5px; } .dr-bar { height: 100%; border-radius: 4px; background: var(--green); transition: width 0.3s; } /* ── Damage grid (in detail panel) ─────────────────────────────────────────── */ .dmg-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; } .dmg-box { background: var(--bg2); border-radius: var(--r); padding: 10px 12px; } .dmg-box-label { font-size: 11px; color: var(--t2); margin-bottom: 3px; } .dmg-box-val { font-size: 16px; font-weight: 600; } /* ── Mitigation picker ──────────────────────────────────────────────────────── */ .mitig-picker { display: grid; grid-template-columns: repeat(auto-fill, minmax(155px, 1fr)); gap: 5px; } .mitig-opt { display: flex; align-items: center; gap: 7px; padding: 6px 9px; border: 1px solid var(--border); border-radius: var(--r); cursor: pointer; transition: all 0.12s; background: var(--bg2); user-select: none; } .mitig-opt:hover { border-color: var(--borderem); } .mitig-opt.sel { border-color: var(--gold); background: var(--goldbg); } .mitig-opt.active-log { opacity: 0.5; cursor: default; } .mitig-opt .opt-name { font-size: 12px; flex: 1; } .mitig-opt .opt-dr { font-size: 11px; color: var(--t2); } /* ── Event Explorer ─────────────────────────────────────────────────────────── */ .explorer-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; margin-bottom: 12px; } .form-group { display: flex; flex-direction: column; gap: 5px; } .form-group label { font-size: 11px; color: var(--t2); text-transform: uppercase; letter-spacing: 0.05em; } .form-group input, .form-group select { width: 100%; } /* ── Terminal output ────────────────────────────────────────────────────────── */ .terminal { background: var(--bg0); border: 1px solid var(--border); border-radius: var(--r); color: #a3e635; padding: 16px; min-height: 200px; white-space: pre-wrap; overflow-x: auto; font-size: 13px; line-height: 1.6; font-family: 'Courier New', monospace; }