@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";body{margin:0}:root{--teal:#173c38;--teal-mid:#2a5c57;--teal-light:#e8f0ef;--beige:#eae8e3;--beige-dark:#d5d2cb;--muted:#5f6665;--cream:#f7f5f2;--white:#fff;--border:#dddbd6;--danger:#c0392b;--warn-bg:#fff8e6;--warn-text:#8a6000;--radius:6px;--radius-lg:10px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #173c381a;--font-ui:"Inter", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-ui);background:var(--cream);color:var(--teal);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-main{grid-template-columns:480px 1fr;align-items:start;gap:32px;width:100%;max-width:1100px;margin:0 auto;padding:32px 24px 64px;display:grid}.app-header{background:var(--teal);color:var(--white);z-index:100;height:60px;box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;padding:0 32px;display:flex;position:sticky;top:0}.header-brand{align-items:center;gap:12px;display:flex}.header-crest{opacity:.7;font-size:22px}.header-title{letter-spacing:.02em;font-size:16px;font-weight:600;line-height:1.2;display:block}.header-subtitle{opacity:.6;font-size:11px;line-height:1;display:block}.header-meta{gap:8px;display:flex}.header-badge{letter-spacing:.06em;text-transform:uppercase;color:#ffffffd9;background:#ffffff1f;border:1px solid #fff3;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600}.form-column{flex-direction:column;gap:0;display:flex}.form-section{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:24px}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--border);margin:0 0 20px;padding-bottom:12px;font-size:13px;font-weight:600}.field-row{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.field-group{margin-bottom:20px}.field-label{color:var(--teal);font-size:13px;font-weight:500}.field-label--sub{color:var(--muted);font-size:12px}.optional{color:var(--muted);font-size:12px;font-weight:400}.field-input{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:14px;font-family:var(--font-ui);color:var(--teal);background:var(--white);outline:none;padding:8px 12px;transition:border-color .15s}.field-input:focus{border-color:var(--teal-mid);box-shadow:0 0 0 3px #173c3814}.field-input--narrow{max-width:120px}.field-textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;font-size:14px;font-family:var(--font-ui);color:var(--teal);background:var(--white);resize:vertical;outline:none;padding:8px 12px;line-height:1.5;transition:border-color .15s}.field-textarea:focus{border-color:var(--teal-mid);box-shadow:0 0 0 3px #173c3814}.field-footer{justify-content:space-between;align-items:flex-start;gap:12px;margin-top:8px;display:flex}.toggle-group{border:1px solid var(--border);border-radius:var(--radius);width:fit-content;display:flex;overflow:hidden}.toggle-btn{font-size:13px;font-weight:500;font-family:var(--font-ui);background:var(--white);color:var(--muted);cursor:pointer;border:none;border-right:1px solid var(--border);padding:8px 18px;transition:background .12s,color .12s}.toggle-btn:last-child{border-right:none}.toggle-btn.active{background:var(--teal);color:var(--white)}.toggle-btn:not(.active):hover{background:var(--teal-light)}.field-row--meta{flex-direction:row;align-items:center;gap:8px}.meta-pill{background:var(--teal-light);border-radius:4px;align-items:center;gap:6px;padding:4px 10px;display:flex}.meta-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:600}.meta-value{color:var(--teal);font-size:12px;font-weight:600}.char-counter{color:var(--muted);font-size:12px}.char-counter--warn{color:var(--warn-text)}.char-advisory{background:var(--warn-bg);color:var(--warn-text);border-radius:3px;margin-top:2px;padding:2px 6px;font-size:11px;display:block}.font-size-selector{flex-direction:column;flex:1;gap:4px;display:flex}.font-size-label{color:var(--muted);white-space:nowrap;font-size:11px}.font-size-controls{align-items:center;gap:6px;display:flex}.font-size-bound{color:var(--muted);text-align:center;min-width:16px;font-size:11px}.font-size-range{appearance:none;background:linear-gradient(to right, var(--teal) 0%, var(--teal) calc((var(--val,50%) )), var(--beige-dark) calc((var(--val,50%))));cursor:pointer;height:4px;accent-color:var(--teal);border-radius:2px;outline:none;flex:1}.font-size-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--teal);cursor:pointer;width:16px;height:16px;box-shadow:var(--shadow-sm);border-radius:50%}.font-size-range::-moz-range-thumb{background:var(--teal);cursor:pointer;width:16px;height:16px;box-shadow:var(--shadow-sm);border:none;border-radius:50%}.font-size-number{border:1px solid var(--border);border-radius:var(--radius);width:42px;font-size:13px;font-family:var(--font-ui);color:var(--teal);text-align:center;outline:none;padding:3px 6px}.font-size-number:focus{border-color:var(--teal-mid)}.font-size-unit{color:var(--muted);font-size:11px}.split-toggle-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.switch{cursor:pointer;align-items:center;width:38px;height:22px;display:inline-flex;position:relative}.switch input{opacity:0;width:0;height:0;position:absolute}.switch-thumb{background:var(--beige-dark);border-radius:11px;transition:background .2s;position:absolute;inset:0}.switch-thumb:after{content:"";background:var(--white);width:16px;height:16px;box-shadow:var(--shadow-sm);border-radius:50%;transition:transform .2s;position:absolute;top:3px;left:3px}.switch input:checked+.switch-thumb{background:var(--teal)}.switch input:checked+.switch-thumb:after{transform:translate(16px)}.split-headline-block{border-left:3px solid var(--teal-light);margin-top:4px;padding-left:12px}.logo-selector-hint{color:var(--muted);margin:0 0 10px;font-size:12px}.logo-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;display:grid}.logo-grid-item{border:2px solid var(--border);border-radius:var(--radius);background:var(--white);cursor:pointer;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;transition:border-color .12s,background .12s;display:flex}.logo-grid-item:hover{border-color:var(--teal-mid);background:var(--teal-light)}.logo-grid-item.selected{border-color:var(--teal);background:var(--teal-light)}.logo-grid-img{object-fit:contain;max-width:90px;max-height:36px}.logo-grid-name{color:var(--muted);text-align:center;font-size:11px}.image-upload-area{border:2px dashed var(--border);border-radius:var(--radius);cursor:pointer;background:var(--cream);justify-content:center;align-items:center;height:120px;transition:border-color .15s,background .15s;display:flex;overflow:hidden}.image-upload-area:hover{border-color:var(--teal-mid);background:var(--teal-light)}.image-upload-placeholder{color:var(--muted);flex-direction:column;align-items:center;gap:8px;font-size:13px;display:flex}.upload-icon{font-size:24px}.image-preview{object-fit:cover;width:100%;height:100%}.hidden-file-input{display:none}.btn-remove-image{color:var(--muted);cursor:pointer;font-size:12px;font-family:var(--font-ui);background:0 0;border:none;text-decoration:underline}.btn-remove-image:hover{color:var(--danger)}.upload-size-hint{color:var(--beige-dark);font-size:11px}.image-actions{align-items:center;gap:12px;margin-top:8px;display:flex}.btn-change-image{border:1px solid var(--border);border-radius:var(--radius);font-size:12px;font-family:var(--font-ui);color:var(--teal);cursor:pointer;background:0 0;padding:4px 10px}.btn-change-image:hover{background:var(--teal-light);border-color:var(--teal-mid)}.crop-control{border:1px solid var(--border);border-radius:var(--radius);background:var(--cream);overflow:hidden}.crop-control-header{border-bottom:1px solid var(--border);background:var(--white);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.crop-control-label{color:var(--teal);font-size:12px;font-weight:500}.crop-control-hint{color:var(--muted);font-size:11px}.crop-viewport{cursor:ns-resize;-webkit-user-select:none;user-select:none;width:100%;position:relative;overflow:hidden}.crop-image{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block;position:absolute;top:0;left:0}.crop-drag-hint{color:#ffffffe6;pointer-events:none;white-space:nowrap;background:#00000059;border-radius:3px;padding:2px 8px;font-size:11px;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.crop-slider-row{border-top:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:flex}.crop-bound-label{color:var(--muted);min-width:36px;font-size:11px}.crop-bound-label:last-child{text-align:right}.crop-slider{accent-color:var(--teal);cursor:pointer;flex:1}.preview-column{position:sticky;top:92px}.preview-panel{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.preview-header{border-bottom:1px solid var(--border);background:var(--cream);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.preview-label{text-transform:uppercase;letter-spacing:.06em;color:var(--teal);font-size:12px;font-weight:600}.preview-header-actions{align-items:center;gap:10px;display:flex}.preview-hint{color:var(--muted);font-size:11px}.btn-restart{font-size:11px;font-weight:500;font-family:var(--font-ui);color:var(--teal);border:1px solid var(--teal);cursor:pointer;white-space:nowrap;background:0 0;border-radius:4px;padding:3px 9px;transition:background .12s,color .12s}.btn-restart:hover{background:var(--teal);color:var(--white)}.preview-frame-wrapper{background:#e8e8e8;justify-content:center;align-items:center;min-height:298px;padding:24px;display:flex}.preview-iframe{border:none;display:block;box-shadow:0 2px 12px #0000002e}.preview-empty{background:var(--beige);width:300px;height:250px;color:var(--muted);text-align:center;border-radius:2px;justify-content:center;align-items:center;padding:24px;font-size:13px;display:flex}.preview-dimensions{color:var(--muted);text-align:center;border-top:1px solid var(--border);background:var(--cream);padding:8px 18px;font-size:11px}.macro-reminder{border-top:1px solid var(--border);background:var(--cream);padding:14px 18px}.macro-reminder-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.macro-reminder-label{text-transform:uppercase;letter-spacing:.06em;color:var(--teal);font-size:11px;font-weight:600}.btn-copy-macro{font-size:11px;font-weight:500;font-family:var(--font-ui);color:var(--teal);border:1px solid var(--teal);cursor:pointer;background:0 0;border-radius:4px;padding:2px 8px;transition:background .12s,color .12s}.btn-copy-macro:hover{background:var(--teal);color:var(--white)}.btn-copy-macro.copied{background:var(--teal);color:var(--white);border-color:var(--teal)}.macro-string{color:var(--teal);background:var(--beige);border:1px solid var(--border);border-radius:var(--radius);word-break:break-all;margin-bottom:7px;padding:7px 10px;font-family:SFMono-Regular,Consolas,monospace;font-size:10px;line-height:1.6;display:block}.macro-hint{color:var(--muted);margin:0;font-size:11px;line-height:1.4}.export-section{background:var(--teal);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-top:0;padding:24px}.export-filename{flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.export-filename-label{text-transform:uppercase;letter-spacing:.07em;color:#fff9;font-size:11px;font-weight:600}.export-filename-value{color:#ffffffe6;word-break:break-all;font-family:SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.5}.export-error{color:#fca5a5;background:#ffffff14;border-radius:4px;margin-bottom:12px;padding:8px 12px;font-size:13px}.btn-export{background:var(--white);width:100%;color:var(--teal);border-radius:var(--radius);font-size:15px;font-weight:600;font-family:var(--font-ui);cursor:pointer;letter-spacing:.01em;border:none;padding:14px;transition:opacity .15s,transform .1s}.btn-export:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.btn-export:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-export.loading{opacity:.7;cursor:wait}
