body{margin:0;min-width:320px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--teal: #2b6a65;--teal-dark: #1e4d49;--teal-deep: #163a37;--teal-light: #3a8a84;--gold: #c8963e;--gold-light: #e8c97a;--cream: #f8f5ef;--cream-warm: #f0ebe1;--white: #ffffff;--ink: #1a1a18;--ink-secondary: #484842;--ink-muted: #84837a;--border: #d2cdc3;--border-light: #e5e0d6;--radius: 12px;--radius-sm: 8px;--focus: rgba(43, 106, 101, .15);--shadow: 0 10px 40px rgba(0, 0, 0, .08)}body{background:var(--cream);color:var(--ink);font-family:DM Sans,sans-serif;-webkit-font-smoothing:antialiased}.app{min-height:100vh;background:var(--cream)}.signal-bar{background:var(--teal-deep);padding:6px 16px;text-align:center;font-size:11px;color:#ffffffb3;letter-spacing:.02em}.signal-bar strong{color:var(--gold-light)}.header{padding:14px 20px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10;background:var(--cream);border-bottom:1px solid var(--border-light)}.header-title{font-family:Bebas Neue,sans-serif;font-size:22px;font-weight:400;letter-spacing:.04em;color:var(--teal-dark);display:flex;align-items:center;gap:8px}.header-sub{font-size:11px;color:var(--ink-muted);letter-spacing:.02em}.pro-badge{font-family:Bebas Neue,sans-serif;font-size:10px;padding:2px 8px;border-radius:4px;background:var(--gold);color:var(--teal-deep);font-weight:400;letter-spacing:.08em}.pitch-stripe{height:3px;background:linear-gradient(90deg,var(--teal-deep),var(--teal),var(--teal-light),var(--gold))}.demo-btn{padding:8px 16px;border-radius:var(--radius-sm);background:var(--white);border:1.5px solid var(--border);color:var(--ink-secondary);font-family:Bebas Neue,sans-serif;font-size:14px;font-weight:400;letter-spacing:.06em;cursor:pointer;transition:all .15s}.demo-btn:hover{border-color:var(--teal);color:var(--teal)}.main{max-width:480px;margin:0 auto;padding:0 16px 80px}@media(min-width:769px){.main{max-width:960px;display:flex;gap:28px;padding:20px 28px 40px}.preview-area{flex:1;position:sticky;top:80px;align-self:flex-start}.controls{flex:1;min-width:0}}.preview-area{padding:20px 0;display:flex;justify-content:center}@media(max-width:768px){.preview-area{position:sticky;top:57px;z-index:8;background:var(--cream);margin:0 -16px;padding:8px 16px 6px;border-bottom:1px solid var(--border-light);box-shadow:0 4px 12px #0000000f;cursor:pointer}.preview-area .preview-scaler{transform:scale(.45);transform-origin:top center;pointer-events:none}.preview-area .preview-wrap{display:flex;justify-content:center;overflow:hidden}.preview-area.expanded{position:relative;top:auto;border-bottom:none;box-shadow:none;padding:16px 0}.preview-area.expanded .preview-wrap{overflow:visible}}.empty-state{width:100%;aspect-ratio:1/1;max-width:400px;border-radius:var(--radius);border:2px dashed var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--ink-muted);cursor:pointer;transition:border-color .2s;background:var(--white)}.empty-state:hover{border-color:var(--teal)}.empty-icon{font-size:32px}.empty-text{font-family:Bebas Neue,sans-serif;font-size:16px;letter-spacing:.04em;color:var(--ink-secondary)}.empty-sub{font-size:12px;color:var(--ink-muted)}.controls{display:flex;flex-direction:column;gap:16px}.section{background:var(--white);border-radius:var(--radius);padding:16px;border:1px solid var(--border)}.section-label{font-family:Bebas Neue,sans-serif;font-size:13px;font-weight:400;color:var(--teal);margin-bottom:10px;letter-spacing:.08em;text-transform:uppercase}.template-grid{display:flex;gap:6px;flex-wrap:wrap}.template-btn{padding:7px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);cursor:pointer;background:var(--white);color:var(--ink-secondary);font-family:DM Sans,sans-serif;font-size:12px;font-weight:600;transition:all .15s ease;display:flex;align-items:center;gap:4px}.template-btn:hover{border-color:var(--teal);color:var(--teal)}.template-btn.active{background:var(--teal);color:var(--white);border-color:var(--teal);font-weight:700}.template-btn.locked{opacity:.5;border-style:dashed}.template-btn.locked:hover{opacity:.7;border-color:var(--ink-muted);color:var(--ink-muted)}.lock-icon{font-size:10px;margin-left:1px}.field-group{display:flex;flex-direction:column;gap:14px}.field-label{font-family:Bebas Neue,sans-serif;font-size:12px;font-weight:400;color:var(--ink-secondary);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;display:block}.field-input{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:2px solid var(--border);background:var(--cream);color:var(--ink);font-size:.95rem;font-family:DM Sans,sans-serif;font-weight:500;outline:none;transition:all .15s}.field-input::placeholder{color:var(--ink-muted);font-weight:400}.field-input:focus{border-color:var(--teal);background:var(--white);box-shadow:0 0 0 4px var(--focus)}.field-row{display:flex;gap:10px}.result-buttons{display:flex;gap:6px}.result-btn{flex:1;padding:10px 0;border-radius:var(--radius-sm);border:2px solid var(--border);cursor:pointer;font-size:13px;font-weight:700;font-family:inherit;transition:all .15s;background:var(--white)}.upload-row{display:flex;align-items:center;gap:8px}.upload-btn{flex:1;padding:10px;border-radius:var(--radius-sm);border:2px dashed var(--border);background:var(--cream);color:var(--ink-secondary);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s}.upload-btn:hover{border-color:var(--teal);color:var(--teal)}.upload-thumb{width:34px;height:34px;border-radius:6px;object-fit:cover;border:1.5px solid var(--border)}.upload-clear{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--border);background:var(--white);color:var(--ink-muted);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;transition:all .15s}.upload-clear:hover{border-color:#ef4444;color:#ef4444}.color-row{display:flex;gap:7px;flex-wrap:wrap}.color-swatch{width:34px;height:34px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:transform .1s}.color-swatch:hover{transform:scale(1.1)}.hex-toggle{font-size:16px;font-weight:700;color:var(--ink-muted);display:flex;align-items:center;justify-content:center;font-family:inherit;background:var(--cream);border:2px dashed var(--border)}.hex-row{display:flex;gap:8px}.hex-input{flex:1;font-family:JetBrains Mono,monospace;font-size:13px}.hex-apply{padding:10px 16px;border-radius:var(--radius-sm);border:none;background:var(--teal);color:var(--white);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .15s}.hex-apply:hover{background:var(--teal-light)}.style-rows{display:flex;flex-direction:column;gap:10px}.style-row-label{font-family:Bebas Neue,sans-serif;font-size:11px;font-weight:400;color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px}.style-row-label-row{display:flex;justify-content:space-between;padding:0 2px}.style-row-label-row .style-row-label{width:50%}.toggle-row{display:flex;gap:6px}.toggle-btn{flex:1;padding:8px 0;border-radius:var(--radius-sm);border:1.5px solid var(--border);cursor:pointer;background:var(--white);color:var(--ink-muted);font-size:12px;font-weight:600;font-family:inherit;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:4px}.toggle-btn.active{background:var(--teal);color:var(--white);border-color:var(--teal)}.toggle-btn.locked{opacity:.4;border-style:dashed}.toggle-btn.locked:hover{opacity:.6}.export-section{text-align:center}.export-btn{width:100%;padding:14px;border-radius:var(--radius-sm);border:none;background:var(--gold);color:var(--teal-deep);font-family:Bebas Neue,sans-serif;font-size:16px;font-weight:400;letter-spacing:.06em;cursor:pointer;box-shadow:0 8px 24px #c8963e4d;transition:all .2s}.export-btn:hover{background:var(--gold-light);transform:translateY(-2px)}.export-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.export-free{padding:12px}.export-free-text{font-size:13px;font-weight:600;color:var(--ink-muted)}.export-upgrade{width:100%;padding:10px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:transparent;color:var(--gold);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;margin-top:6px;transition:all .15s}.export-upgrade:hover{border-color:var(--gold);background:#c8963e0d}@media(max-width:768px){.export-section{display:none}}.fab{position:fixed;bottom:20px;right:16px;padding:10px 16px;border-radius:24px;border:none;background:var(--teal);color:var(--white);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;box-shadow:0 4px 16px #2b6a6566;z-index:20;transition:all .15s}.fab:hover{background:var(--teal-light);transform:translateY(-2px)}@media(min-width:769px){.fab{display:none}}@media(hover:none){.fab:hover,.demo-btn:hover,.export-btn:hover{transform:none}}.modal-overlay{position:fixed;inset:0;background:#163a3799;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal-content{background:var(--white);border-radius:var(--radius);border:1px solid var(--border);max-width:400px;width:100%;padding:32px 28px;position:relative;box-shadow:var(--shadow)}.modal-close{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--ink-muted);font-size:22px;cursor:pointer;line-height:1}.modal-close:hover{color:var(--ink)}.modal-body{text-align:center}.modal-icon{font-size:32px;margin-bottom:12px}.modal-badge{display:inline-block;font-family:Bebas Neue,sans-serif;font-size:13px;padding:3px 12px;border-radius:4px;background:var(--gold);color:var(--teal-deep);font-weight:400;letter-spacing:.08em;margin-bottom:14px}.modal-title{font-family:Bebas Neue,sans-serif;font-size:26px;font-weight:400;letter-spacing:.03em;color:var(--ink);margin-bottom:8px}.modal-text{font-size:14px;color:var(--ink-secondary);line-height:1.6;margin-bottom:18px}.modal-price{margin-bottom:18px}.modal-price-amount{font-family:Bebas Neue,sans-serif;font-size:36px;font-weight:400;color:var(--teal-deep)}.modal-price-period{font-size:15px;color:var(--ink-muted)}.modal-price-alt{display:block;font-size:12px;color:var(--ink-muted);margin-top:2px}.modal-form{display:flex;flex-direction:column;gap:10px}.modal-cta{width:100%;padding:14px;border-radius:var(--radius-sm);border:none;background:var(--gold);color:var(--teal-deep);font-family:Bebas Neue,sans-serif;font-size:16px;font-weight:400;letter-spacing:.06em;cursor:pointer;box-shadow:0 8px 24px #c8963e4d;transition:all .2s}.modal-cta:hover{background:var(--gold-light);transform:translateY(-1px)}
