:root{--ink:#171717;--muted:#6d6d68;--paper:#fff;--surface:#f3f1ec;--line:#dedbd3;--accent:#df5b35;--accent-dark:#b94324;--radius:18px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--surface);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}.topbar{height:84px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;background:#171717;color:#fff}.brand{display:flex;align-items:baseline;gap:18px;color:inherit;text-decoration:none}.brand-mark{font-size:27px;font-weight:900;letter-spacing:-1px}.brand-subtitle{font-size:14px;color:#c7c5bf}.privacy-badge{font-size:12px;padding:8px 12px;border:1px solid #565651;border-radius:99px;color:#ddd}.page-shell{max-width:1480px;margin:auto;padding:56px clamp(20px,5vw,72px) 72px}.intro{max-width:720px;margin-bottom:38px}.eyebrow{margin:0 0 9px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.18em}.intro h1{font-size:clamp(38px,5vw,72px);line-height:.98;letter-spacing:-.055em;margin:0 0 20px}.intro>p:last-child{font-size:18px;line-height:1.55;color:var(--muted);margin:0}.workspace{display:grid;grid-template-columns:minmax(340px,480px) minmax(0,1fr);gap:24px;align-items:start}.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 40px rgba(41,36,29,.06)}.form-panel,.preview-panel{padding:30px}.preview-panel{position:sticky;top:20px}.panel-heading{display:flex;gap:16px;align-items:flex-start;margin-bottom:27px}.step{display:grid;place-items:center;flex:0 0 38px;height:38px;background:var(--ink);color:#fff;border-radius:50%;font-size:12px;font-weight:800}.panel-heading h2{font-size:22px;margin:2px 0 5px}.panel-heading p{font-size:13px;color:var(--muted);margin:0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 14px}.field{display:grid;gap:8px;font-size:13px;font-weight:700}.field.full{grid-column:1/-1}.field em{font-weight:400;color:var(--muted)}input,select{width:100%;height:46px;padding:0 13px;border:1px solid #cbc8c1;border-radius:9px;background:#fff;font:inherit;color:var(--ink);outline:none}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(223,91,53,.13)}small{font-size:11px;font-weight:400;color:var(--muted)}.file-control{position:relative;display:flex;align-items:center;justify-content:center;height:46px;border:1px dashed #aaa69e;border-radius:9px;background:#faf9f6;color:#4c4a46}.file-control input{position:absolute;inset:0;opacity:0;cursor:pointer}.preview-stage{min-height:350px;overflow:hidden;padding:28px;background:#eeeae2;border-radius:12px;border:1px solid #e2ded5}.preview-empty{min-height:290px;display:grid;place-items:center;text-align:center;color:var(--muted)}.signature-preview{width:804px;padding:22px;background:#fff;transform-origin:top left}.message{min-height:22px;padding-top:10px;color:#a23620;font-size:13px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:9px}.button{min-height:46px;padding:0 20px;border-radius:10px;border:1px solid transparent;font-weight:800;cursor:pointer}.button:disabled{opacity:.42;cursor:not-allowed}.primary{background:var(--accent);color:#fff}.primary:not(:disabled):hover{background:var(--accent-dark)}.secondary{background:#fff;border-color:#bbb7ae}.instructions{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}.instructions summary{cursor:pointer;font-weight:800;color:var(--ink)}footer{padding:25px;text-align:center;background:#e8e5de;color:#77736b;font-size:12px}@media(max-width:980px){.workspace{grid-template-columns:1fr}.preview-panel{position:static}.preview-stage{min-height:300px}}@media(max-width:660px){.topbar{height:auto;padding:20px;align-items:flex-start}.brand{display:grid;gap:3px}.privacy-badge{display:none}.page-shell{padding-top:38px}.field-grid{grid-template-columns:1fr}.form-panel,.preview-panel{padding:20px}.preview-stage{padding:12px}.actions{display:grid}.button{width:100%}}
.crop-dialog{width:min(94vw,560px);max-height:94vh;padding:0;border:0;border-radius:20px;background:transparent;box-shadow:0 28px 80px rgba(0,0,0,.32)}.crop-dialog::backdrop{background:rgba(15,15,14,.72);backdrop-filter:blur(5px)}.crop-card{padding:28px;background:#fff;border-radius:20px}.crop-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.crop-heading h2{margin:0;font-size:28px}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:25px;line-height:1;cursor:pointer}.crop-help{margin:12px 0 18px;color:var(--muted);font-size:14px;line-height:1.5}.crop-canvas-wrap{display:grid;place-items:center;overflow:hidden;border-radius:14px;background:#222;touch-action:none}.crop-canvas-wrap canvas{display:block;width:min(100%,420px);height:auto;cursor:grab;touch-action:none}.crop-canvas-wrap canvas:active{cursor:grabbing}.zoom-control{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:18px;margin:18px 0;font-size:13px;font-weight:800}.zoom-control input{height:auto;padding:0;accent-color:var(--accent)}.filter-control{min-width:0;margin:18px 0;padding:0;border:0}.filter-control legend{margin-bottom:10px;font-size:13px;font-weight:800}.filter-options{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.filter-option{min-width:0;padding:5px;border:2px solid transparent;border-radius:11px;background:#f2f1ed;color:var(--ink);cursor:pointer}.filter-option:hover{background:#e9e7e1}.filter-option.is-active{border-color:var(--accent);background:#fff}.filter-thumb{display:block;width:100%;aspect-ratio:1;border-radius:7px;background-position:center;background-size:cover}.filter-option small{display:block;overflow:hidden;margin-top:5px;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.crop-actions{display:flex;justify-content:flex-end;gap:10px}@media(max-width:560px){.crop-card{padding:18px}.zoom-control{grid-template-columns:1fr;gap:8px}.filter-options{gap:5px}.filter-option{padding:3px}.filter-option small{font-size:9px}.crop-actions{display:grid;grid-template-columns:1fr 1fr}.crop-actions .button{padding:0 12px}}
.preview-stage{max-height:min(58vh,620px);overflow:auto;scrollbar-gutter:stable}.preview-stage::-webkit-scrollbar{width:10px}.preview-stage::-webkit-scrollbar-thumb{background:#c7c1b7;border:3px solid #eeeae2;border-radius:99px}@media(max-width:660px){.preview-stage{max-height:520px}}
:root{--ink:#282828;--muted:#6b6b6b;--surface:#f6f6f6;--line:#d2d2d2;--accent:#b3965f;--accent-dark:#8f7548;font-family:Poppins,Arial,sans-serif}.topbar{background:#282828}.eyebrow{color:#b3965f}.step{background:#282828}.preview-stage{background:#f1efe9}.primary{background:#282828}.primary:not(:disabled):hover{background:#000}.secondary{border-color:#b6b6b6}.file-control{background:#f6f6f6}.crop-dialog input{accent-color:#b3965f}input:focus,select:focus{border-color:#b3965f;box-shadow:0 0 0 3px rgba(179,150,95,.18)}
.brand-logo{display:block;width:116px;height:auto}.brand-subtitle{padding-left:18px;border-left:1px solid #6d6d6d}
.instructions[open] summary{margin-bottom:16px}.instruction-intro{display:grid;gap:4px;padding:14px 16px;border-left:3px solid #b3965f;background:#f6f6f6;color:#5f5f5f;line-height:1.5}.instruction-intro strong{color:#282828}.instruction-card{padding:16px 0;border-bottom:1px solid #e4e4e4}.instruction-card h3{margin:0 0 9px;color:#282828;font-size:14px}.instruction-card ol{margin:0;padding-left:21px;line-height:1.55}.instruction-card li+li{margin-top:5px}.instruction-tip{margin:16px 0 0;line-height:1.55;color:#5f5f5f}
.reset-button{margin-left:auto;border-color:transparent;background:transparent;color:#6b6b6b}.reset-button:hover{background:#f6f6f6;color:#282828}@media(max-width:660px){.reset-button{margin-left:0}}
.instruction-warning{margin:0 0 12px;padding:11px 13px;border-radius:8px;background:#f0eadf;color:#483c26;line-height:1.5}.instruction-note{margin:12px 0 0;color:#6b6b6b;line-height:1.5}.instructions code{padding:2px 5px;border-radius:4px;background:#ececec;color:#282828;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}
.instruction-help{margin:14px 0 0;padding:12px 14px;border:1px solid #b3965f;border-radius:8px;color:#282828;line-height:1.5}
.instruction-help a{color:#282828;font-weight:600;text-decoration:underline;text-underline-offset:2px}
.filter-options{gap:10px}.filter-option{position:relative;display:grid;justify-items:center;gap:7px;padding:9px 5px 8px;border:1px solid #dedbd3;border-radius:15px;background:#fff;box-shadow:0 3px 10px rgba(40,40,40,.04);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.filter-option:hover{border-color:#bdb7ab;background:#fff;box-shadow:0 7px 16px rgba(40,40,40,.09);transform:translateY(-2px)}.filter-option:focus-visible{outline:3px solid rgba(179,150,95,.28);outline-offset:2px}.filter-option.is-active{border-color:#b3965f;background:#faf8f3;box-shadow:0 0 0 2px rgba(179,150,95,.18),0 7px 18px rgba(40,40,40,.08)}.filter-option.is-active::after{content:'✓';position:absolute;top:5px;right:5px;display:grid;place-items:center;width:19px;height:19px;border:2px solid #fff;border-radius:50%;background:#b3965f;color:#fff;font-size:11px;font-weight:900;box-shadow:0 2px 5px rgba(0,0,0,.16)}.filter-thumb{width:58px;max-width:100%;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #d4d0c7}.filter-option.is-active .filter-thumb{box-shadow:0 0 0 2px #b3965f}.filter-option small{margin:0;color:#55514a;font-size:10px;font-weight:700;line-height:1.15}.filter-option.is-active small{color:#282828}@media(max-width:560px){.filter-options{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 9px;scroll-snap-type:x proximity}.filter-option{flex:0 0 78px;scroll-snap-align:start}.filter-thumb{width:54px}}
.filter-options{gap:12px}.filter-option{min-height:116px;padding:12px 7px 10px;border-radius:17px}.filter-thumb{width:72px}.filter-option small{font-size:11px}.filter-option.is-active::after{top:7px;right:7px;width:22px;height:22px;font-size:12px}@media(max-width:560px){.filter-option{flex-basis:94px;min-height:112px}.filter-thumb{width:68px}}
.topbar-actions{display:flex;align-items:center;gap:12px}.theme-toggle{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 13px;border:1px solid #565651;border-radius:99px;background:transparent;color:#f3f3f1;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .18s ease,border-color .18s ease}.theme-toggle:hover{border-color:#88877f;background:#30302e}.theme-toggle:focus-visible{outline:3px solid rgba(179,150,95,.42);outline-offset:2px}.theme-icon{display:grid;place-items:center;width:18px;font-size:17px;line-height:1}
[data-theme="dark"]{color-scheme:dark;--ink:#f1f0eb;--muted:#aaa9a2;--paper:#1e1e1c;--surface:#121211;--line:#3b3a36;--accent:#c1a66f;--accent-dark:#d0b77f;background:#121211}
[data-theme="dark"] body{background:#121211;color:var(--ink)}[data-theme="dark"] .topbar{background:#0d0d0c;border-bottom:1px solid #292927}[data-theme="dark"] .brand-subtitle{color:#aaa9a2}[data-theme="dark"] .panel{background:#1e1e1c;border-color:#3b3a36;box-shadow:0 18px 48px rgba(0,0,0,.28)}[data-theme="dark"] .step{background:#eeeae2;color:#171717}[data-theme="dark"] input,[data-theme="dark"] select{border-color:#4b4a45;background:#272725;color:#f1f0eb}[data-theme="dark"] input::placeholder{color:#77766f}[data-theme="dark"] .file-control{border-color:#5a5953;background:#252523;color:#d4d2cb}[data-theme="dark"] .preview-stage{border-color:#45433e;background:#292824;scrollbar-color:#5c5951 #292824}[data-theme="dark"] .preview-stage::-webkit-scrollbar-thumb{border-color:#292824;background:#625f57}[data-theme="dark"] .signature-preview{background:#fff}[data-theme="dark"] .secondary{border-color:#55534d;background:#292927;color:#f1f0eb}[data-theme="dark"] .secondary:hover{background:#33322f}[data-theme="dark"] .reset-button{color:#aaa9a2}[data-theme="dark"] .reset-button:hover{background:#2a2926;color:#fff}[data-theme="dark"] .instructions summary,[data-theme="dark"] .instruction-card h3,[data-theme="dark"] .instruction-intro strong,[data-theme="dark"] .instruction-help,[data-theme="dark"] .instruction-help a{color:#f1f0eb}[data-theme="dark"] .instruction-intro{background:#292824;color:#b9b7af}[data-theme="dark"] .instruction-card{border-color:#3b3a36}[data-theme="dark"] .instruction-warning{background:#332e24;color:#e2d4b8}[data-theme="dark"] .instructions code{background:#30302d;color:#eeeae2}[data-theme="dark"] .instruction-help{background:#24231f}[data-theme="dark"] .crop-card{background:#1e1e1c;color:#f1f0eb}[data-theme="dark"] .icon-button{border-color:#4b4a45;background:#292927;color:#fff}[data-theme="dark"] .filter-option{border-color:#45433e;background:#292927;color:#eeeae2;box-shadow:0 3px 12px rgba(0,0,0,.2)}[data-theme="dark"] .filter-option:hover{border-color:#6b685f;background:#32312e}[data-theme="dark"] .filter-option.is-active{border-color:#b3965f;background:#302d27}[data-theme="dark"] .filter-option small,[data-theme="dark"] .filter-option.is-active small{color:#e3e1da}[data-theme="dark"] footer{background:#181817;color:#88877f;border-top:1px solid #292927}
@media(max-width:660px){.topbar-actions{margin-left:auto}.theme-label{display:none}.theme-toggle{width:38px;padding:0;justify-content:center}.privacy-badge{display:none}}
.banner-source-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.banner-source-button{height:46px;border:1px solid #b3965f;border-radius:9px;background:#faf8f3;color:#282828;font:inherit;font-weight:700;cursor:pointer}.banner-source-button:hover{background:#f1ecdf}.banner-source-button span{margin-right:5px;color:#8f7548;font-size:18px}.selected-banner{display:grid;grid-template-columns:104px minmax(0,1fr) 32px;align-items:center;gap:12px;padding:10px;border:1px solid #dedbd3;border-radius:11px;background:#faf9f6}.selected-banner img{display:block;width:104px;height:48px;object-fit:cover;border-radius:7px;background:#eeeae2}.selected-banner div{display:grid;min-width:0;gap:3px}.selected-banner strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.selected-banner small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-banner-clear{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:#77736b;font-size:22px;cursor:pointer}.selected-banner-clear:hover{background:#ece9e2;color:#282828}
.banner-dialog{width:min(94vw,920px);max-height:92vh;padding:0;border:0;border-radius:20px;background:transparent;box-shadow:0 28px 80px rgba(0,0,0,.32)}.banner-dialog::backdrop{background:rgba(15,15,14,.72);backdrop-filter:blur(5px)}.banner-library-card{padding:28px;background:#fff;border-radius:20px;color:#282828}.banner-library-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.banner-library-heading .eyebrow{margin-bottom:7px}.banner-library-heading h2{margin:0 0 7px;font-size:29px}.banner-library-heading p:last-child{margin:0;color:#6b6b6b;font-size:13px}.banner-category-filters{display:flex;gap:8px;overflow-x:auto;margin:23px 0 18px;padding-bottom:2px}.banner-category-filters button{flex:0 0 auto;min-height:36px;padding:0 15px;border:1px solid #d6d2c9;border-radius:99px;background:#fff;color:#5c5953;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.banner-category-filters button:hover{border-color:#b3965f}.banner-category-filters button.is-active{border-color:#282828;background:#282828;color:#fff}.banner-library-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-height:min(62vh,590px);overflow:auto;padding:2px 5px 5px 2px}.banner-library-item{display:grid;align-content:start;gap:8px;min-width:0;padding:10px;border:2px solid transparent;border-radius:15px;background:#f5f3ee;color:#282828;text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.banner-library-item:hover{border-color:#c7b486;box-shadow:0 9px 24px rgba(40,40,40,.12);transform:translateY(-2px)}.banner-library-item.is-selected{border-color:#b3965f;background:#faf8f3}.banner-library-image{position:relative;display:block;overflow:hidden;aspect-ratio:756/279;border-radius:10px;background:#e9e6df}.banner-library-image img{display:block;width:100%;height:100%;object-fit:cover}.banner-library-image span{position:absolute;top:8px;left:8px;padding:5px 8px;border-radius:99px;background:rgba(24,24,23,.88);color:#fff;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.banner-library-item>strong{padding:0 3px;font-size:13px;line-height:1.35}.banner-library-item>small{padding:0 3px 3px;color:#6b6b6b;line-height:1.35}
[data-theme="dark"] .banner-source-button{border-color:#8f7548;background:#2b2924;color:#f1f0eb}[data-theme="dark"] .banner-source-button:hover{background:#343027}[data-theme="dark"] .selected-banner{border-color:#45433e;background:#292824}[data-theme="dark"] .selected-banner-clear{color:#aaa9a2}[data-theme="dark"] .selected-banner-clear:hover{background:#383630;color:#fff}[data-theme="dark"] .banner-library-card{background:#1e1e1c;color:#f1f0eb}[data-theme="dark"] .banner-library-heading p:last-child{color:#aaa9a2}[data-theme="dark"] .banner-category-filters button{border-color:#4b4a45;background:#292927;color:#d7d5ce}[data-theme="dark"] .banner-category-filters button.is-active{border-color:#eeeae2;background:#eeeae2;color:#171717}[data-theme="dark"] .banner-library-item{background:#292824;color:#f1f0eb}[data-theme="dark"] .banner-library-item:hover,[data-theme="dark"] .banner-library-item.is-selected{border-color:#b3965f;background:#302d27}[data-theme="dark"] .banner-library-item>small{color:#aaa9a2}
@media(max-width:660px){.banner-source-actions{grid-template-columns:1fr}.selected-banner{grid-template-columns:82px minmax(0,1fr) 30px}.selected-banner img{width:82px;height:40px}.banner-dialog{width:96vw}.banner-library-card{padding:20px}.banner-library-heading h2{font-size:24px}.banner-library-grid{grid-template-columns:1fr;max-height:65vh}.banner-category-filters{margin-top:18px}}
.banner-library-image img{object-fit:contain;background:#fff}
.selected-banner[hidden]{display:none}
