:root{--bg:#f8fafc;--bg-card:#ffffff;--border:#e2e8f0;--text:#0f172a;--text-muted:#64748b;--primary:#2563eb;--primary-hover:#1d4ed8;--shadow:0 1px 3px rgba(0,0,0,.08), 0 4px 16px rgba(0,0,0,.04);--radius:.75rem;--font-mono:'JetBrains Mono','Fira Code','Courier New',monospace}.sig-theme{font-family:'Inter',system-ui,sans-serif;color:var(--text);background:var(--bg);padding:1.5rem;border-radius:1rem;max-width:1300px;margin:0 auto}.text-center{text-align:center}.text-3xl{font-size:1.875rem;font-weight:800}.font-bold{font-weight:700}.text-muted{color:var(--text-muted)}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.flex{display:flex}.flex-1{flex:1}.gap-2{gap:.5rem}.inline-icon{display:inline-block;width:14px;height:14px;vertical-align:middle;margin-right:4px}.app-layout{display:flex;flex-direction:column;gap:1.5rem}@media (min-width:1024px){.app-layout{flex-direction:row;align-items:flex-start}.form-panel{width:380px;flex-shrink:0}.output-panel{flex:1;position:sticky;top:1.5rem}}.form-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.form-top-actions{display:flex;justify-content:flex-end}.tab-nav{display:flex;gap:.25rem;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:.5rem}.tab-btn{background:none;border:none;cursor:pointer;padding:.4rem .75rem;border-radius:.5rem;font-size:.82rem;font-weight:600;color:var(--text-muted);display:flex;align-items:center;gap:.35rem;transition:all .15s}.tab-btn i{width:14px;height:14px}.tab-btn:hover{background:#f1f5f9;color:var(--text)}.tab-btn.active{background:var(--primary);color:#fff}.tab-pane{display:none;padding-top:1rem}.tab-pane.active{display:block}.form-group{margin-bottom:1rem}.form-group label{display:flex;align-items:center;font-size:.875rem;font-weight:600;margin-bottom:.4rem;gap:.3rem}.form-control{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:.5rem;font-size:.9rem;outline:none;transition:border-color .15s,box-shadow .15s;background:#fff;color:var(--text)}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgb(37 99 235 / .12)}.radio-group{display:flex;gap:1rem}.radio-label{display:flex;align-items:center;gap:.4rem;cursor:pointer;font-size:.9rem;font-weight:500}.radio-label input{accent-color:var(--primary)}.color-input-group{display:flex;gap:.5rem;align-items:center}.color-input-group input[type="color"]{width:44px;height:40px;padding:2px;border:1px solid var(--border);border-radius:.5rem;cursor:pointer;background:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem 1.1rem;border-radius:.5rem;font-weight:600;font-size:.875rem;cursor:pointer;border:none;transition:all .15s}.btn-sm{padding:.35rem .75rem;font-size:.8rem}.btn i{width:16px;height:16px}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-outline{background:#fff0;border:1px solid var(--border);color:var(--text)}.btn-outline:hover{background:#f1f5f9}.preview-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.preview-header{background:#f1f5f9;border-bottom:1px solid var(--border);padding:.6rem 1rem;display:flex;align-items:center;gap:.4rem}.dot{width:12px;height:12px;border-radius:50%}.dot.red{background:#ef4444}.dot.yellow{background:#f59e0b}.dot.green{background:#22c55e}.preview-title{margin-left:.5rem;font-size:.8rem;font-weight:600;color:var(--text-muted)}.preview-body{padding:1.5rem 2rem;background:#fff;min-height:150px}.code-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.code-header{background:#1e293b;color:#94a3b8;padding:.6rem 1rem;font-size:.8rem;font-weight:600}.code-textarea{display:block;width:100%;height:220px;padding:1rem;background:#0f172a;color:#7dd3fc;font-family:var(--font-mono);font-size:.8rem;line-height:1.6;border:none;resize:vertical;outline:none;white-space:pre}.toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(100px);background:#0f172a;color:#fff;padding:.7rem 1.5rem;border-radius:2rem;font-weight:600;font-size:.875rem;opacity:0;transition:all .25s;z-index:1000}.toast.show{transform:translateX(-50%) translateY(0);opacity:1}