/* ── LxveFlasher (flasher.html) ─────────────────────────────────────────────── */
.flasher-title { font-family: var(--font-display); font-size: clamp(2.1rem, 5vw, 3.2rem); line-height: 1.05; margin: .3rem 0 .8rem; }
.flasher-lede { max-width: 62ch; color: var(--text-dim, #b7b7c6); font-size: 1.08rem; line-height: 1.6; margin-bottom: 2.2rem; }
.flasher-panel { border: 1px solid var(--border, #232334); border-radius: var(--radius-lg, 22px); padding: clamp(1.2rem, 3vw, 2rem); background: var(--surface, #12121a); }
.flasher-unsupported h2 { font-family: var(--font-display); margin-top: 0; }
.flasher-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.6rem; }
.flasher-step h2 { display: flex; align-items: center; gap: .6rem; font-size: 1.15rem; margin: 0 0 .7rem; font-family: var(--font-display); }
.flasher-num { display: inline-grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--accent, #a371f7); color: #0a0a0f; font-size: .95rem; font-weight: 700; }
.flasher-field { display: block; max-width: 380px; }
.flasher-field span { display: block; font-size: .85rem; color: var(--text-dim, #b7b7c6); margin-bottom: .35rem; }
.flasher-field select, .flasher-panel input[type="file"] { width: 100%; max-width: 420px; padding: .6rem .7rem; border-radius: var(--radius-md, 14px); border: 1px solid var(--border, #232334); background: var(--surface-2, #0d0d14); color: var(--text, #ececf1); font: inherit; }
.flasher-hint { font-size: .9rem; color: var(--text-dim, #b7b7c6); margin: .5rem 0; }
.flasher-progress { height: 8px; border-radius: 6px; background: var(--surface-2, #0d0d14); overflow: hidden; margin: 1rem 0 .6rem; max-width: 420px; }
.flasher-bar { height: 100%; width: 0; background: var(--accent, #a371f7); transition: width .2s ease; }
.flasher-log { max-width: 620px; min-height: 2.6rem; max-height: 240px; overflow: auto; margin: .8rem 0 0; padding: .7rem .8rem; border-radius: var(--radius-md, 14px); background: var(--surface-2, #0d0d14); border: 1px solid var(--border, #232334); color: var(--text-dim, #b7b7c6); font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; font-size: .84rem; white-space: pre-wrap; }
.flasher-safety { margin-top: 1.6rem; font-size: .88rem; color: var(--text-dim, #b7b7c6); border-top: 1px solid var(--border, #232334); padding-top: 1rem; }
