:root{color-scheme:light;--ink: #1b1914;--muted: #6d675c;--paper: #f4f0e6;--panel: #fffdf8;--line: #e3dccf;--accent: #0e6b4f;--accent-ink: #f3fff8;--well: #e8e2d6;--danger: #8d2e2a;--shadow: 0 18px 50px rgba(48, 38, 22, .12);font-family:Iowan Old Style,Palatino,Palatino Linotype,Georgia,serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,textarea{font:inherit;color:inherit}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;background:var(--ink);color:#f6f1e6}.brand{display:flex;align-items:center;gap:12px}.mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(246,241,230,.35);border-radius:10px;font-size:13px;letter-spacing:.04em;text-transform:lowercase}.brand-name,.brand-sub,.preview-title,.preview-meta,.hint,.totals{margin:0}.brand-name{font-size:16px;letter-spacing:.01em}.brand-sub,.preview-meta,.hint{font-family:Avenir Next,Segoe UI,sans-serif;font-size:12px;color:#c9c1b2}.top-links{display:flex;gap:16px;font-family:Avenir Next,Segoe UI,sans-serif;font-size:13px}.top-links a{color:#f6f1e6;text-decoration:none;border-bottom:1px solid transparent}.top-links a:hover{border-bottom-color:currentColor}.workspace{flex:1;display:grid;grid-template-columns:minmax(300px,390px) 1fr;min-height:0}.panel{background:var(--panel);border-right:1px solid var(--line);padding:8px 18px 28px;overflow:auto;max-height:calc(100vh - 70px)}.panel section{padding:16px 0;border-bottom:1px solid var(--line)}.panel h2{margin:0 0 10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;font-family:Avenir Next,Segoe UI,sans-serif}.hint{margin-top:8px;color:var(--muted)}.segment,.themes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.themes{grid-template-columns:repeat(3,1fr)}.segment button,.theme,.text-button,.download{border:1px solid var(--line);background:#fff;border-radius:10px;cursor:pointer}.segment button,.theme{padding:10px 8px;font-family:Avenir Next,Segoe UI,sans-serif;font-size:14px}.segment button.is-on,.theme.is-on{background:var(--ink);color:#f6f1e6;border-color:var(--ink)}.theme{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.swatch{width:100%;height:8px;border-radius:99px}label{display:flex;flex-direction:column;gap:6px;margin-top:10px;font-family:Avenir Next,Segoe UI,sans-serif;font-size:12px;color:var(--muted)}input,textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 10px;font-size:14px;color:var(--ink)}textarea{resize:vertical}.section-head{display:flex;align-items:center;justify-content:space-between}.pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.lines li{padding:10px;border:1px solid var(--line);border-radius:12px;background:#fffcf7}.text-button{padding:4px 8px;font-family:Avenir Next,Segoe UI,sans-serif;font-size:12px;background:transparent}.text-button.danger{color:var(--danger);border-color:transparent;margin-top:4px}.totals{display:flex;justify-content:space-between;gap:8px;margin-top:12px;font-family:Avenir Next,Segoe UI,sans-serif;font-size:13px}.preview{display:flex;flex-direction:column;min-width:0;min-height:calc(100vh - 70px);background:radial-gradient(circle at top,rgba(255,255,255,.7),transparent 42%),var(--well)}.preview-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px}.preview-title{font-size:18px}.preview-meta{color:var(--muted);margin-top:2px}.download{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);text-decoration:none;padding:10px 16px;font-family:Avenir Next,Segoe UI,sans-serif;font-size:14px}.download[aria-disabled=true]{opacity:.45;pointer-events:none}.stage{flex:1;margin:0 18px 18px;background:#fff;border-radius:16px;box-shadow:var(--shadow);overflow:hidden;min-height:640px;display:flex}.stage iframe{width:100%;border:0;min-height:640px;background:#fff}.waiting,.error{margin:auto;padding:24px;font-family:Avenir Next,Segoe UI,sans-serif;color:var(--muted)}.error{color:var(--danger)}@media(max-width:860px){.workspace{grid-template-columns:1fr}.panel{max-height:none;border-right:0;border-bottom:1px solid var(--line)}.preview,.stage,.stage iframe{min-height:70vh}}
