.fp{max-width:820px;margin-inline:auto;--on-accent: #fff;--fp-ok-bg: #e6f6ec;--fp-ok-ink: #0a5c2b;--fp-warn-bg: #fff4d6;--fp-warn-ink: #6b4a00;--fp-bad-bg: #ffe1e6;--fp-bad-ink: #a3082b}.fp-panel{display:flex;flex-direction:column;gap:clamp(16px,2.4vw,22px)}.fp-banner{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px 12px 16px;border:var(--bw) solid var(--ink);border-radius:0;background:var(--fp-bad-bg);color:var(--fp-bad-ink);box-shadow:var(--shadow-sm);font-family:var(--font-body);font-weight:700;font-size:14px;line-height:1.45}.fp-banner svg{flex:none}.fp-banner p{margin:0;flex:1 1 auto}.fp-banner-x{flex:none;width:44px;height:44px;border:var(--bw) solid var(--ink);border-radius:0;background:var(--white);color:var(--ink);font-size:18px;line-height:1;cursor:pointer;touch-action:manipulation}.fp-modes{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.fp-mode-seg{align-self:flex-start;max-width:100%}.fp-mode-sub{margin:0;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.fp-input{display:flex;flex-direction:column;gap:8px}.fp-drop.fp-busy{pointer-events:none;background:var(--paper-2);border-style:solid}.fp-drop-icon{color:var(--ink);display:flex;justify-content:center;margin-bottom:10px}.fp-drop-title{margin:0 0 6px;font-family:var(--font-display);font-size:clamp(18px,3.2vw,22px);color:var(--ink)}.fp-drop-sub{margin:0;font-size:14px;font-weight:600;color:var(--text-dim)}.fp-drop-phase{min-height:18px;margin:0;font-size:12px;font-weight:700;color:var(--text-muted)}.fp-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.fp-source{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 12px;border:var(--bw) solid var(--ink);background:var(--white);box-shadow:var(--shadow-sm)}.fp-source-dot{flex:none;width:10px;height:10px;background:var(--tool);border:2px solid var(--ink)}.fp-source[data-oversize="1"] .fp-source-dot{background:var(--fp-warn-bg)}.fp-source-name{font-weight:700;font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42vw}.fp-source-meta{font-size:11px;font-weight:700;color:var(--text-muted);white-space:nowrap}.fp-head{margin:0;font-family:var(--font-display);font-size:clamp(18px,3vw,22px);color:var(--ink)}.fp-subhead{margin:8px 0 0;font-family:var(--font-display);font-size:16px;color:var(--ink)}.fp-sub,.fp-hint{margin:0;display:block;font-size:13px;font-weight:600;line-height:1.5;color:var(--text-dim)}.fp-label{display:block;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin-bottom:8px}.fp-caveat,.fp-blocked{margin:0;padding:10px 12px;border:var(--bw) solid var(--ink);background:var(--fp-warn-bg);color:var(--fp-warn-ink);font-size:13px;font-weight:700;line-height:1.5}.fp-blocked{background:var(--fp-bad-bg);color:var(--fp-bad-ink)}.fp-fit,.fp-check,.fp-split{display:flex;flex-direction:column;gap:clamp(14px,2.2vw,20px)}.fp-targets,.fp-slice{display:flex;flex-direction:column;gap:12px}.fp-target-row,.fp-slice{display:flex;flex-wrap:wrap;gap:10px}.fp-target{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:var(--tap);min-width:96px;padding:8px 14px;border:var(--bw) solid var(--ink);border-radius:0;background:var(--white);color:var(--ink);cursor:pointer;touch-action:manipulation;box-shadow:var(--shadow-sm);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.fp-target:hover:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}.fp-target:active:not(:disabled){transform:translate(4px,4px);box-shadow:0 0 0 var(--ink)}.fp-target[aria-pressed=true]{background:var(--tool);color:var(--on-accent)}.fp-target:disabled{opacity:.5;cursor:not-allowed}.fp-target-label{font-family:var(--font-display);font-size:15px}.fp-target-note{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75}.fp-custom{display:flex;flex-direction:column;gap:6px;max-width:320px}.fp-custom-field{width:100%}.fp-adv{border:var(--bw) solid var(--ink);background:var(--paper-2)}.fp-adv>summary{padding:12px 14px;min-height:var(--tap);display:flex;align-items:center;cursor:pointer;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}.fp-adv[open]>summary{border-bottom:var(--bw) solid var(--ink)}.fp-adv-group{padding:14px;border-bottom:1px solid var(--hairline)}.fp-adv-group:last-of-type{border-bottom:none}.fp-chips{display:flex;flex-wrap:wrap;gap:8px}.fp-cap,.fp-fps{min-height:var(--tap);min-width:96px;padding:10px 14px;border:var(--bw) solid var(--ink);border-radius:0;background:var(--white);color:var(--ink);font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;touch-action:manipulation}.fp-cap[aria-pressed=true],.fp-fps[aria-pressed=true]{background:var(--tool);color:var(--on-accent)}.fp-cap:disabled,.fp-fps:disabled{opacity:.5;cursor:not-allowed}label.fp-check{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;min-height:var(--tap);font-size:14px;font-weight:700;color:var(--ink);cursor:pointer}label.fp-check input{width:20px;height:20px;margin-top:2px;accent-color:var(--tool);flex:none}.fp-engine{margin:0;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.fp-progress{display:flex;flex-direction:column;gap:10px}.fp-progress-track{height:18px;border:var(--bw) solid var(--ink);background:var(--white);overflow:hidden}.fp-progress-bar{height:100%;background:var(--tool);transition:width .18s var(--ease-out)}.fp-progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.fp-progress-text,.fp-phase{margin:0;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink)}.fp-ledger{display:flex;flex-direction:column;gap:6px;padding:14px;border:var(--bw) solid var(--ink);background:var(--paper-2)}.fp-pass,.fp-final{margin:0;font-size:12px;font-weight:700;color:var(--ink)}.fp-final{padding-top:6px;border-top:1px solid var(--hairline);font-size:13px}.fp-ledger-note{margin:0;font-size:13px;font-weight:600;line-height:1.5;color:var(--text-dim)}.fp-ledger-warn{color:var(--fp-warn-ink);font-weight:700}.fp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.fp-facts-wrap,.fp-guide-wrap{overflow-x:auto}.fp-caption{text-align:left;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding-bottom:8px}.fp-facts,.fp-guide{width:100%;border-collapse:collapse;border:var(--bw) solid var(--ink);background:var(--white);font-size:13px;line-height:1.5}.fp-facts th,.fp-facts td,.fp-guide th,.fp-guide td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--hairline);color:var(--text)}.fp-facts th,.fp-guide thead th{font-weight:700;color:var(--ink);white-space:nowrap}.fp-guide thead th{background:var(--paper-2);border-bottom:var(--bw) solid var(--ink)}.fp-facts tr:last-child th,.fp-facts tr:last-child td,.fp-guide tbody tr:last-child th,.fp-guide tbody tr:last-child td{border-bottom:none}.fp-guide th[scope=row]{white-space:normal;min-width:140px}.fp-fix{display:block;margin-top:4px;font-size:12px;font-weight:700;color:var(--fp-warn-ink)}.fp-verdict,.fp-prov{display:inline-block;padding:3px 7px;border:2px solid var(--ink);font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.fp-prov{margin-left:8px;background:var(--paper-2);color:var(--text-dim)}.fp-prov[data-provenance=official]{background:var(--white);color:var(--ink)}.fp-verdict[data-verdict=pass]{background:var(--fp-ok-bg);color:var(--fp-ok-ink)}.fp-verdict[data-verdict=attention]{background:var(--fp-warn-bg);color:var(--fp-warn-ink)}.fp-verdict[data-verdict=unknown]{background:var(--paper-2);color:var(--text-dim)}.fp-surface{display:flex;flex-direction:column;gap:8px}.fp-surface-sub,.fp-cutmode-sub{margin:0;font-size:13px;font-weight:600;line-height:1.5;color:var(--text-dim)}.fp-dated{margin:0;padding:12px 14px;border:var(--bw) dashed var(--ink);background:var(--paper-2);font-size:13px;font-weight:600;line-height:1.55;color:var(--text-dim)}.fp-sources{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.5;color:var(--text-dim)}.fp-sources a{color:var(--ink)}.fp-source-pub{font-size:11px;font-weight:700;color:var(--text-muted)}.fp-cutmode{display:flex;flex-direction:column;gap:8px}.fp-cutmode-seg{align-self:flex-start;max-width:100%}.fp-segments{display:flex;flex-direction:column;gap:12px}.fp-seg-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.fp-seg{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 12px;border:var(--bw) solid var(--ink);background:var(--white);box-shadow:var(--shadow-sm)}.fp-seg-label{font-size:12px;font-weight:700;color:var(--ink)}.fp-unsupported{text-align:center;padding:clamp(24px,6vw,44px) 16px;border:var(--bw) dashed var(--ink);background:var(--paper-2)}.fp-unsupported-title{margin:0 0 10px;font-family:var(--font-display);font-size:22px;color:var(--ink)}.fp-unsupported-sub{margin:0 auto;max-width:460px;font-size:14px;font-weight:600;line-height:1.55;color:var(--text-dim)}.fp-note{margin:clamp(18px,3vw,26px) 0 0;max-width:70ch;font-size:13px;font-weight:600;line-height:1.6;color:var(--text-muted)}@media (max-width: 560px){.fp-mode-seg .seg-btn{padding-inline:10px;font-size:11px}.fp-cutmode-seg{display:flex;flex-direction:column;width:100%}.fp-cutmode-seg .seg-btn{border-right:none;border-bottom:var(--bw) solid var(--ink)}.fp-cutmode-seg .seg-btn:last-child{border-bottom:none}.fp-source-name{max-width:46vw}.fp-target,.fp-cap,.fp-fps{flex:1 1 auto}.fp-run,.fp-cut,.fp-save,.fp-zip,.fp-reset,.fp-fixit{width:100%}.fp-seg{align-items:flex-start;flex-direction:column}.fp-seg-save{width:100%}}@media (prefers-reduced-motion: reduce){.fp-progress-bar{transition:none}.fp-target,.fp-target:hover:not(:disabled),.fp-target:active:not(:disabled){transition:none;transform:none}}
