.flash-main { max-width: 1140px; padding-block: 54px 70px; }
.flash-title { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:38px; }
.flash-title h1 { margin:0; font-size:clamp(54px,7vw,84px); letter-spacing:-.075em; }
.flash-title h1 span { color:#2a6d98; }
.flash-title p { margin:15px 0 0; color:var(--muted); font-size:17px; }
.flash-page fieldset { padding:0; border:0; margin:0; min-width:0; }
.flash-page legend,.flash-label { display:block; margin-bottom:12px; color:var(--ink); font-size:12px; font-weight:750; }
.flash-products { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.flash-products legend { margin-bottom:14px; }
.flash-product { position:relative; display:flex; align-items:center; justify-content:center; gap:20px; padding:12px 26px; border:1px solid var(--line); border-radius:20px; cursor:pointer; min-width:0; }
.flash-product.pomo { background:var(--pomo-surface); }.flash-product.liar { background:var(--bot-surface); }
.flash-product img { width:140px; height:125px; object-fit:contain; }
.flash-product > span { font-size:30px; letter-spacing:-.055em; font-weight:800; white-space:nowrap; }
.flash-product em { color:#955563; font-family:Georgia,serif; font-weight:400; }.flash-product.liar em { color:#2a6d98; }
.flash-product input { position:absolute; top:14px; right:14px; accent-color:var(--ink); }
.flash-product:has(input:checked) { border-color:var(--ink); box-shadow:inset 0 0 0 1px var(--ink); }
.flash-product:has(input:focus-visible),.flash-source label:has(input:focus-visible) { outline:3px solid var(--ink); outline-offset:4px; }
.flash-workspace { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:26px; align-items:start; }
.flash-card { padding:30px; border:1px solid var(--line); border-radius:var(--radius-panel); background:white; min-width:0; }
.flash-card h2 { font-size:26px; letter-spacing:-.05em; margin:0 0 28px; }
.flash-page select { width:100%; min-height:48px; padding:10px 12px; border:1px solid #89949b; border-radius:10px; font:inherit; color:var(--ink); background:var(--paper); font-size:13px; }
.flash-help { color:#506371; font-size:12px; line-height:1.65; margin:10px 0 24px; }
.flash-source { display:flex; flex-wrap:wrap; gap:8px; }.flash-source legend { width:100%; }
.flash-source label { display:flex; gap:8px; align-items:center; min-height:46px; padding:8px 12px; background:var(--paper); border:1px solid var(--line); border-radius:10px; font-size:12px; cursor:pointer; }
.flash-source input,.flash-confirm input { accent-color:var(--ink); width:16px; height:16px; flex-shrink:0; }
.flash-source label:has(input:checked) { background:#e8f1f6; border-color:#2a6d98; }
.flash-source label:has(input:disabled) { opacity:.55; cursor:default; }
#release-info { font-size:12px; line-height:1.7; color:#506371; margin:20px 0; }
#custom-panel { margin-top:22px; }#firmware-file { width:100%; font-size:12px; }
#firmware-file::file-selector-button { min-height:44px; margin-right:10px; padding:8px 12px; border:1px solid #89949b; border-radius:8px; background:var(--paper); color:var(--ink); font:inherit; cursor:pointer; }
.file-review { padding:16px; margin-top:22px; background:#eef4ef; border-radius:12px; font-size:12px; overflow-wrap:anywhere; }
.file-review strong,.file-review span { display:block; }.file-review span { margin-top:6px; color:#405665; }
.file-review details { margin-top:12px; }.file-review code { display:block; margin-top:10px; font-size:10px; }
.flash-source-link { margin-top:20px; font-size:12px; color:#506371; }.flash-source-link a { font-size:12px; }
.boot-instructions { padding-left:20px; margin:0 0 24px; font-size:13px; line-height:1.8; }.boot-instructions li+li { margin-top:10px; }
.flash-notice { font-size:12px; line-height:1.7; padding:14px; background:#fff4dd; border-radius:10px; }
#connection-state { font-size:12px; font-weight:750; }.flash-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin:12px 0 24px; }
.flash-confirm { display:flex; align-items:start; gap:10px; margin:24px 0 18px; font-size:12px; line-height:1.65; cursor:pointer; }
.flash-confirm input { margin-top:3px; }.flash-action { width:100%; }
.flash-page button:disabled { cursor:not-allowed; }.flash-page .button { font-size:13px; }
#flash-status { min-height:40px; font-size:12px; line-height:1.7; margin:16px 0 0; }#flash-status[data-error=true] { color:#a32936; }
#flash-progress-wrap { margin-top:22px; font-size:12px; }#flash-progress { width:100%; height:12px; margin-top:9px; accent-color:#2a6d98; }
.flash-log { margin-top:20px; font-size:12px; }.flash-log pre { max-height:160px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; font:11px/1.6 monospace; background:var(--paper); padding:12px; }
.flash-page summary { cursor:pointer; min-height:36px; padding-block:8px; }
.flash-build-help { padding:22px 0; margin-top:20px; border-block:1px solid var(--line); font-size:12px; line-height:1.8; }
.flash-build-help summary { font-weight:750; }.flash-build-help pre { overflow:auto; padding:16px; border-radius:10px; background:#edf0ef; font-size:11px; }.flash-build-help a { text-decoration:underline; }
@media(max-width:800px){.flash-workspace{grid-template-columns:1fr}.flash-product{gap:6px;padding:16px 12px}.flash-product img{width:105px;height:105px}.flash-product>span{font-size:24px}.flash-title{align-items:start}.flash-title>.text-link{font-size:11px}.flash-card{padding:24px}}
@media(max-width:480px){.flash-title{display:block}.flash-title>.text-link{margin-top:12px}.flash-main{padding-block:34px 45px}.flash-product{flex-direction:column;gap:0;padding:10px}.flash-product img{width:110px;height:100px}.flash-product>span{font-size:24px;margin:0 0 8px}.flash-products{gap:10px}.flash-card{padding:20px}.flash-card h2{font-size:25px}.flash-source label{flex:1;font-size:11px;padding:8px}.flash-page .site-header nav>a:not(.button){display:inline-flex}}
@media(forced-colors:active){.flash-product:has(input:checked),.flash-source label:has(input:checked){border:2px solid Highlight}.file-review{border:1px solid CanvasText}}
