.fpc-title-preview { position:absolute; bottom:0; left:0; right:0; padding:16px; background:rgba(20,27,24,.92); color:#f3f0e7; font-weight:800; text-align:center; overflow-wrap:anywhere; }
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

.fpc {
    --fpc-paper: #f3f0e7;
    --fpc-panel: #e8e4d8;
    --fpc-ink: #202821;
    --fpc-muted: #636b60;
    --fpc-rule: rgba(32,40,33,.22);
    --fpc-red: #d94e35;
    --fpc-yellow: #e9d772;
    --fpc-blue: #344d64;
    background: var(--fpc-paper);
    color: var(--fpc-ink);
    font-family: 'Manrope', sans-serif;
    min-height: 100dvh;
    overflow: hidden;
    padding-bottom: 0;
}
.fpc, .fpc * { box-sizing: border-box; }
.fpc [hidden] { display: none !important; }
.fpc :focus-visible { outline: 3px solid var(--fpc-blue); outline-offset: 3px; }
.fpc a { color: inherit; }
.fpc-shell { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }
.fpc-masthead { display:flex; justify-content:space-between; align-items:center; min-height:64px; border-bottom:1px solid var(--fpc-rule); gap:18px; }
.fpc-brand { display:flex; align-items:center; gap:10px; text-decoration:none; font:500 10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.1em; }
.fpc-mark { display:grid; place-items:center; width:25px; height:25px; background:var(--fpc-red); color:var(--fpc-paper); font:800 15px 'Barlow Condensed',sans-serif; transform:rotate(-6deg); }
.fpc-nav { display:flex; align-items:center; gap:22px; color:var(--fpc-muted); font:500 10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.07em; }
.fpc-nav a { text-decoration-thickness:1px; text-underline-offset:4px; }
.fpc-nav .fpc-current { color:var(--fpc-ink); }
.fpc-hero { padding:58px 0 48px; }
.fpc-hero-top { display:flex; align-items:center; gap:10px; margin-bottom:22px; font:500 10px 'DM Mono',monospace; letter-spacing:.12em; text-transform:uppercase; }
.fpc-hero-top::before { content:""; width:28px; height:2px; background:var(--fpc-red); }
.fpc-hero-grid { display:grid; grid-template-columns:minmax(310px,.78fr) minmax(0,1.22fr); gap:clamp(34px,6vw,90px); align-items:center; }
.fpc h1,.fpc h2,.fpc h3,.fpc p { margin-top:0; }
.fpc h1 { font:800 clamp(4.2rem,9.2vw,8.6rem)/.79 'Barlow Condensed',sans-serif; letter-spacing:-.045em; text-transform:uppercase; max-width:560px; margin-bottom:25px; }
.fpc h1 em { color:var(--fpc-red); font-style:normal; display:block; }
.fpc-deck { color:#485249; max-width:430px; font-size:15px; line-height:1.75; margin-bottom:23px; }
.fpc-value { display:flex; align-items:center; gap:14px; padding-top:17px; border-top:1px solid var(--fpc-rule); max-width:425px; }
.fpc-value-price { color:var(--fpc-red); font:800 33px/.9 'Barlow Condensed',sans-serif; white-space:nowrap; }
.fpc-value small { display:block; color:var(--fpc-muted); font:400 10px/1.6 'DM Mono',monospace; }
.fpc-gallery { min-width:0; }
.fpc-gallery-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:13px; }
.fpc-overline { display:block; color:var(--fpc-red); font:500 9px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.13em; margin-bottom:6px; }
.fpc-gallery-head h2 { margin:0; font:800 28px/.95 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.fpc-gallery-head p { max-width:220px; margin:0; text-align:right; color:var(--fpc-muted); font:400 9px/1.5 'DM Mono',monospace; }
.fpc-example-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.fpc-example { padding:0; min-width:0; text-align:left; color:inherit; border:1px solid var(--fpc-rule); background:#e8e4d8; cursor:pointer; transition:transform .18s ease,border-color .18s ease; }
.fpc-example:hover { transform:translateY(-3px); border-color:var(--fpc-ink); }
.fpc-example:focus-visible { outline-offset:2px; }
.fpc-example-images { display:grid; grid-template-columns:1fr 1fr; gap:2px; aspect-ratio:1.42; overflow:hidden; background:var(--fpc-ink); }
.fpc-example-images img { display:block; width:100%; height:100%; object-fit:cover; min-width:0; }
.fpc-example-caption { display:flex; justify-content:space-between; gap:5px; padding:9px 8px; font:500 8px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.05em; }
.fpc-example-caption span:last-child { color:var(--fpc-red); }
.fpc-gallery-empty { grid-column:1/-1; padding:26px; border:1px dashed var(--fpc-rule); color:var(--fpc-muted); font:400 11px/1.6 'DM Mono',monospace; }
.fpc-sample-key { display:flex; gap:12px; color:var(--fpc-muted); margin-top:9px; font:400 8px 'DM Mono',monospace; text-transform:uppercase; }
.fpc-sample-key span::before { content:""; display:inline-block; width:7px; height:7px; margin-right:5px; background:var(--fpc-blue); }
.fpc-sample-key span:last-child::before { background:var(--fpc-red); }
.fpc-ruleband { background:var(--fpc-ink); color:var(--fpc-paper); padding:18px 0; }
.fpc-ruleband-inner { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.fpc-ruleband strong { font:700 19px 'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:.04em; }
.fpc-ruleband p { margin:0; max-width:600px; color:#c4c8bd; font:400 10px/1.6 'DM Mono',monospace; }
.fpc-studio { padding:58px 0 72px; }
.fpc-section-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:24px; border-bottom:2px solid var(--fpc-ink); padding-bottom:14px; }
.fpc-section-head h2 { margin:0; font:800 clamp(2.4rem,5vw,4.5rem)/.87 'Barlow Condensed',sans-serif; text-transform:uppercase; letter-spacing:-.025em; }
.fpc-section-head p { max-width:330px; margin:0; color:var(--fpc-muted); font:400 10px/1.6 'DM Mono',monospace; }
.fpc-account { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px 22px; align-items:center; padding:17px 20px; margin-bottom:23px; background:var(--fpc-panel); border:1px solid var(--fpc-rule); }
.fpc-account-main { min-width:0; }
.fpc-account-label { color:var(--fpc-red); display:block; margin-bottom:5px; font:500 9px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.1em; }
.fpc-account-title { margin:0 0 8px!important; font:700 17px 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.fpc-balances { display:flex; flex-wrap:wrap; gap:12px 25px; margin:0; }
.fpc-balances div { display:grid; gap:3px; }
.fpc-balances dt { color:var(--fpc-muted); font:400 8px 'DM Mono',monospace; text-transform:uppercase; }
.fpc-balances dd { margin:0; font:500 11px 'DM Mono',monospace; }
.fpc-capacity,.fpc-account-status { margin:7px 0 0; color:var(--fpc-muted); font:400 9px/1.5 'DM Mono',monospace; }
.fpc-account-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:flex-end; }
.fpc-button { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:42px; padding:10px 14px; border:1px solid var(--fpc-ink); background:transparent; color:var(--fpc-ink); cursor:pointer; text-decoration:none; font:500 9px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.05em; }
.fpc-button:hover:not(:disabled) { background:var(--fpc-yellow); }
.fpc-button:disabled { opacity:.48; cursor:not-allowed; }
.fpc-button-primary { color:var(--fpc-paper); background:var(--fpc-ink); }
.fpc-button-primary:hover:not(:disabled) { color:var(--fpc-ink); }
.fpc-workbench { display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); align-items:start; gap:clamp(20px,4vw,52px); }
.fpc-controls { padding:clamp(18px,3vw,28px); border:1px solid var(--fpc-ink); background:#eeeadf; box-shadow:5px 5px 0 rgba(32,40,33,.13); }
.fpc-field { margin-bottom:22px; }
.fpc-label-row { display:flex; justify-content:space-between; gap:10px; align-items:baseline; margin-bottom:9px; }
.fpc-label { font:500 9px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.1em; }
.fpc-hint { color:var(--fpc-muted); font:400 9px 'DM Mono',monospace; }
.fpc-upload { display:flex; gap:14px; align-items:center; min-height:120px; padding:12px; border:1px dashed #737a70; background:#f5f2e9; cursor:pointer; }
.fpc-upload:hover { border-color:var(--fpc-red); }
.fpc-upload input { position:absolute; width:1px; height:1px; opacity:0; }
.fpc-photo-thumb { display:grid; place-items:center; flex:0 0 74px; width:74px; height:94px; overflow:hidden; background:var(--fpc-panel); color:var(--fpc-muted); font:400 8px/1.4 'DM Mono',monospace; text-align:center; }
.fpc-photo-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.fpc-upload-copy strong { display:block; margin-bottom:5px; font:700 14px 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.fpc-upload-copy span { display:block; color:var(--fpc-muted); font:400 9px/1.6 'DM Mono',monospace; }
.fpc-file-error { margin:8px 0 0; color:#9b3527; font:500 10px/1.5 'DM Mono',monospace; }
.fpc-style-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.fpc-style { position:relative; }
.fpc-style input { position:absolute; opacity:0; inset:0; }
.fpc-style label { display:flex; flex-direction:column; justify-content:center; min-height:63px; padding:9px 11px; border:1px solid var(--fpc-rule); cursor:pointer; }
.fpc-style label:hover { border-color:var(--fpc-ink); }
.fpc-style input:checked+label { background:var(--fpc-ink); color:var(--fpc-paper); border-color:var(--fpc-ink); }
.fpc-style input:focus-visible+label { outline:3px solid var(--fpc-blue); outline-offset:2px; }
.fpc-style strong { font:700 13px 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.fpc-style small { margin-top:3px; color:var(--fpc-muted); font:400 8px/1.4 'DM Mono',monospace; }
.fpc-style input:checked+label small { color:#c4c8bd; }
.fpc-title-input { width:100%; min-height:45px; padding:10px 12px; border:1px solid var(--fpc-ink); background:#f7f4eb; color:var(--fpc-ink); font:600 13px 'Manrope',sans-serif; }
.fpc-consent { display:grid; grid-template-columns:18px 1fr; gap:9px; align-items:start; color:#4e574e; font:400 9px/1.65 'DM Mono',monospace; }
.fpc-consent input { width:16px; height:16px; margin:2px 0 0; accent-color:var(--fpc-red); }
.fpc-consent a { text-underline-offset:2px; }
.fpc-submit-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:18px; }
.fpc-action-generate { min-height:52px; }
.fpc-cost-note { margin:11px 0 0; color:var(--fpc-muted); font:400 9px/1.6 'DM Mono',monospace; }
.fpc-results { min-width:0; border:1px solid var(--fpc-ink); background:var(--fpc-panel); padding:15px; }
.fpc-results-head { display:flex; justify-content:space-between; gap:12px; align-items:center; border-bottom:1px solid var(--fpc-rule); padding-bottom:11px; margin-bottom:13px; }
.fpc-results-head strong { font:700 14px 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.fpc-results-head span { color:var(--fpc-muted); font:400 8px 'DM Mono',monospace; text-transform:uppercase; }
.fpc-result-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.fpc-result-card { min-width:0; border:1px solid var(--fpc-rule); background:#f4f0e7; }
.fpc-result-image-wrap { position:relative; display:grid; place-items:center; min-height:140px; padding:7px; background:#dad6ca; }
.fpc-result-image-wrap.is-ready { aspect-ratio:2/3; }
.fpc-result-image { display:block; max-width:100%; max-height:360px; object-fit:contain; }
.fpc-result-empty { width:100%; height:100%; min-height:170px; display:grid; place-items:center; padding:20px; text-align:center; color:var(--fpc-muted); font:400 9px/1.6 'DM Mono',monospace; }
.fpc-result-info { padding:9px; }
.fpc-result-info strong { display:block; font:700 12px 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.fpc-result-info small { display:block; margin-top:3px; color:var(--fpc-muted); font:400 8px 'DM Mono',monospace; }
.fpc-result-info .fpc-button { width:100%; min-height:35px; margin-top:8px; }
.fpc-notice { margin:12px 0 0; padding:10px 12px; border-left:3px solid var(--fpc-red); background:#f1dfd7; color:#5d332b; font:400 9px/1.6 'DM Mono',monospace; }
.fpc-notice[hidden] { display:none; }
.fpc-notice a { color:inherit; }
.fpc-safety { padding:30px 0 40px; border-top:1px solid var(--fpc-rule); }
.fpc-safety-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:30px; }
.fpc-safety h2 { margin:0; font:800 31px/.9 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.fpc-safety p { margin:0; color:var(--fpc-muted); font:400 9px/1.8 'DM Mono',monospace; }
.fpc-footer { display:flex; justify-content:space-between; gap:14px; padding:16px 0 25px; border-top:1px solid var(--fpc-rule); color:var(--fpc-muted); font:400 8px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.07em; }
.fpc-dialog { width:min(460px,calc(100% - 28px)); max-height:calc(100% - 28px); overflow:auto; padding:24px; border:2px solid var(--fpc-ink); background:var(--fpc-paper); color:var(--fpc-ink); box-shadow:7px 7px 0 var(--fpc-ink); }
.fpc-dialog::backdrop { background:rgba(24,31,26,.66); }
.fpc-dialog h2 { margin:0 0 10px; font:800 29px/.95 'Barlow Condensed',sans-serif; text-transform:uppercase; }
.fpc-dialog p { color:#4f584f; font-size:12px; line-height:1.7; }
.fpc-dialog-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; margin-top:18px; }
.fpc-saving { color:var(--fpc-red)!important; }
.fpc-loading { color:var(--fpc-muted); }
@media (max-width: 900px) {
 .fpc-hero-grid { grid-template-columns:1fr; gap:35px; }
 .fpc-gallery { max-width:720px; }
 .fpc-workbench { grid-template-columns:1fr; }
 .fpc-results { min-height:300px; }
}
@media (max-width: 620px) {
 .fpc-shell { width:calc(100% - 30px); }
 .fpc-masthead { min-height:56px; }
 .fpc-nav { gap:11px; font-size:8px; }
 .fpc-nav .fpc-current { display:none; }
 .fpc-hero { padding:38px 0 32px; }
 .fpc h1 { font-size:clamp(4.3rem,20vw,6.2rem); }
 .fpc-deck { font-size:13px; }
 .fpc-gallery-head { align-items:start; flex-direction:column; }
 .fpc-gallery-head p { text-align:left; }
 .fpc-example-grid { gap:6px; }
 .fpc-example-caption { font-size:7px; padding:7px 5px; }
 .fpc-ruleband-inner,.fpc-section-head { align-items:flex-start; flex-direction:column; }
 .fpc-ruleband-inner { gap:7px; }
 .fpc-studio { padding:42px 0 50px; }
 .fpc-account { grid-template-columns:1fr; padding:14px; }
 .fpc-account-actions { justify-content:flex-start; }
 .fpc-workbench { gap:18px; }
 .fpc-controls { padding:16px; }
 .fpc-submit-row { grid-template-columns:1fr; }
 .fpc-result-grid { gap:6px; }
 .fpc-result-image-wrap { min-height:130px; }
 .fpc-safety-grid { grid-template-columns:1fr; gap:13px; }
 .fpc-footer { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce) {
 .fpc *, .fpc *::before, .fpc *::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
}
