/* ── LxveFlasher (flasher.html) — biscuit tokens ─────────────────────────────── */
.flasher-main { max-width: 1000px; margin: 0 auto; padding: 48px 28px 60px; }
.flasher-title { font-family: var(--display); font-weight: 400; font-size: clamp(1.9rem, 4.6vw, 3rem); line-height: 1.12; letter-spacing: -.01em; margin: .2rem 0 .7rem; color: #fff; }
.flasher-lede { max-width: 62ch; color: var(--dim); font-size: 1.08rem; line-height: 1.6; margin-bottom: 2.2rem; }
.flasher-panel { border: 1px solid var(--line); border-radius: 8px; padding: clamp(1.2rem, 3vw, 2rem); background: var(--card); }
.flasher-unsupported h2 { font-family: var(--display); margin-top: 0; color: #fff; }
.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.12rem; font-weight: 600; margin: 0 0 .7rem; color: #fff; }
.flasher-num { display: inline-grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--accent); color: #0a0a0f; font-size: .95rem; font-weight: 700; }
.flasher-field { display: block; max-width: 420px; margin-bottom: .5rem; }
.flasher-field span { display: block; font-size: .85rem; color: var(--dim); margin-bottom: .35rem; }
.flasher-field select, .flasher-panel input[type="file"] { width: 100%; max-width: 420px; padding: .6rem .7rem; border-radius: 5px; border: 1px solid var(--line2); background: var(--bg2); color: var(--text); font: inherit; }
.flasher-field select:focus-visible, .flasher-panel input[type="file"]:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-color: var(--accent); }
.flasher-hint { font-size: .9rem; color: var(--dim); margin: .5rem 0; max-width: 62ch; }
.flasher-profiles { margin-bottom: 1rem; }
.flasher-byo { margin-top: 1rem; color: var(--dim); font-size: .92rem; }
.flasher-byo summary { cursor: pointer; color: var(--text); }
.flasher-byo summary:hover { color: var(--accent); }
.flasher-progress { height: 8px; border-radius: 6px; background: var(--bg2); overflow: hidden; margin: 1rem 0 .6rem; max-width: 420px; }
.flasher-bar { height: 100%; width: 0; background: var(--accent); 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: 6px; background: var(--bg2); border: 1px solid var(--line); color: var(--dim); font-family: var(--mono); font-size: .84rem; white-space: pre-wrap; }
.flasher-safety { margin-top: 1.6rem; font-size: .88rem; color: var(--dim); border-top: 1px solid var(--line); padding-top: 1rem; }
@media (prefers-reduced-motion: reduce) { .flasher-bar { transition: none; } }
