*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#1a1a2e;--bg-surface:#16213e;--bg-elevated:#0f3460;--text:#e8e8e8;--text-muted:#a0a0b0;--accent:#e94560;--accent-hover:#ff6b81;--border:#2a2a4a;--radius:8px;--radius-lg:12px;--shadow:0 2px 8px #0000004d;--font:system-ui, -apple-system, sans-serif;--font-mono:"Fira Code", "Cascadia Code", monospace}html,body{height:100%;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}button{cursor:pointer;border-radius:var(--radius);border:none;font-family:inherit;font-size:.95rem;transition:background .15s,transform .1s}button:active{transform:scale(.97)}input,textarea{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);color:var(--text);outline:none;padding:.65rem .85rem;font-family:inherit;font-size:.95rem;transition:border-color .15s}input:focus,textarea:focus{border-color:var(--accent)}.app-container{flex-direction:column;gap:1rem;max-width:1200px;height:100dvh;margin:0 auto;padding:1rem;display:flex}.card{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow);padding:1.5rem}.btn-primary{background:var(--accent);color:#fff;padding:.65rem 1.5rem;font-weight:600}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--bg-elevated);color:var(--text);padding:.65rem 1.5rem}.btn-secondary:hover{background:#1a4a7a}.btn-ghost{color:var(--text-muted);background:0 0;padding:.5rem .75rem}.btn-ghost:hover{color:var(--text);background:#ffffff0d}.btn-icon{border-radius:50%;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;padding:0;display:flex}.error-toast{color:#ff8a8a;border-radius:var(--radius);background:#5a1a1a;border:1px solid #8a2a2a;padding:.75rem 1rem;font-size:.9rem}.ql-editor{min-height:200px;font-size:1rem}.ql-toolbar{border-radius:var(--radius) var(--radius) 0 0;background:var(--bg-surface);border:1px solid var(--border)!important}.ql-container{border-radius:0 0 var(--radius) var(--radius);background:var(--bg-surface);border:1px solid var(--border)!important;border-top:none!important}.ql-editor.ql-blank:before{color:var(--text-muted)!important;font-style:normal!important}
