@import"https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Syne:wght@400;600;800&display=swap";:root{font-family:Space Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;line-height:1.5;font-weight:400;color:#e2e8f0;background-color:#0f172a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-display: "Syne", "Space Mono", sans-serif;--text-primary: #f8fafc;--text-secondary: #cbd5f5;--text-muted: #94a3b8;--surface: rgba(15, 23, 42, .7);--surface-soft: rgba(30, 41, 59, .6);--surface-strong: rgba(15, 23, 42, .9);--border-subtle: rgba(148, 163, 184, .2);--shadow-strong: rgba(15, 23, 42, .4)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 20% 20%,rgba(56,189,248,.2),transparent 40%),radial-gradient(circle at 80% 10%,rgba(244,114,182,.2),transparent 35%),radial-gradient(circle at 10% 80%,rgba(99,102,241,.2),transparent 45%),linear-gradient(140deg,#0f172a,#1e1b4b 65%);color:var(--text-primary)}body[data-theme=light]{--text-primary: #0f172a;--text-secondary: #1e293b;--text-muted: #64748b;--surface: rgba(255, 255, 255, .82);--surface-soft: rgba(248, 250, 252, .95);--surface-strong: rgba(255, 255, 255, .9);--border-subtle: rgba(148, 163, 184, .35);--shadow-strong: rgba(148, 163, 184, .35);color:var(--text-primary);background:radial-gradient(circle at 15% 15%,rgba(59,130,246,.18),transparent 45%),radial-gradient(circle at 85% 20%,rgba(236,72,153,.15),transparent 38%),radial-gradient(circle at 20% 85%,rgba(14,165,233,.15),transparent 42%),linear-gradient(140deg,#f8fafc,#e2e8f0 65%)}button,textarea{font-family:inherit}#root{min-height:100vh}.app{min-height:100vh;padding:2rem 1.25rem 3rem;color:var(--text-primary);position:relative}.content{max-width:600px;margin:0 auto;display:grid;gap:2rem}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.header-actions{display:flex;align-items:center;gap:.6rem}.logo{font-family:var(--font-display);font-weight:800;font-size:1.5rem;letter-spacing:.02em;background:linear-gradient(120deg,#8b5cf6,#22d3ee,#f472b6);-webkit-background-clip:text;color:transparent}.logo .spark{filter:drop-shadow(0 0 10px rgba(59,130,246,.7))}.toggle-button{padding:.45rem .75rem;border-radius:999px;border:1px solid var(--border-subtle);background:var(--surface);color:var(--text-secondary);font-size:.8rem;cursor:pointer}.menu-button{width:44px;height:44px;border-radius:14px;border:1px solid var(--border-subtle);background:var(--surface);display:grid;gap:5px;place-content:center;cursor:pointer}.menu-button span{display:block;width:18px;height:2px;background:var(--text-secondary);border-radius:999px}.hero{display:grid;gap:1.25rem}.eyebrow{font-size:.85rem;letter-spacing:.3em;text-transform:uppercase;color:var(--text-muted);margin:0}.hero h1{font-family:var(--font-display);font-size:clamp(2.4rem,6vw,3.3rem);margin:0}.tagline{color:var(--text-secondary);margin:0;font-size:1rem}.input-card{background:var(--surface);border:1px solid var(--border-subtle);box-shadow:0 20px 60px var(--shadow-strong);padding:1.25rem;border-radius:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;gap:.75rem}.input-card label{font-size:.9rem;color:var(--text-muted)}.input-card textarea{width:100%;min-height:110px;border-radius:16px;border:none;background:var(--surface-soft);color:var(--text-primary);font-size:1rem;padding:.9rem 1rem;resize:none;outline:none;box-shadow:0 0 0 1px #6366f133}.input-card textarea::placeholder{color:#94a3b8cc}.input-card textarea:focus{box-shadow:0 0 0 2px #6366f199,0 0 24px #38bdf859}.input-meta{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-muted)}.chip-row{display:flex;gap:.75rem;flex-wrap:wrap}.chip{border-radius:999px;border:1px solid var(--border-subtle);padding:.5rem .9rem;background:var(--surface);color:var(--text-secondary);display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.chip.active{background:#e2e8f0;color:#0f172a;border-color:transparent;box-shadow:0 10px 30px #94a3b84d}.actions{width:100%}.generate-button{width:100%;padding:.95rem 1.1rem;border-radius:18px;border:none;background:linear-gradient(120deg,#22d3ee,#6366f1);color:#0f172a;font-size:1.05rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:transform .2s ease,box-shadow .2s ease}.generate-button:disabled{cursor:not-allowed;opacity:.6;box-shadow:none}.generate-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 18px 40px #6366f159}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid rgba(15,23,42,.2);border-top-color:#0f172a;animation:spin .8s linear infinite}.results{display:grid;gap:1rem}.error-text{margin:0;color:#fca5a5;font-size:.85rem}.api-panel{display:grid;gap:1rem;background:var(--surface);border:1px solid var(--border-subtle);border-radius:20px;padding:1.25rem;box-shadow:0 18px 40px var(--shadow-strong)}.api-panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.api-panel-header h2{margin:0 0 .25rem;font-size:1.1rem}.api-panel-header p{margin:0;color:var(--text-muted);font-size:.85rem}.api-panel-body{display:grid;gap:1rem}.api-meta{display:grid;gap:.6rem;font-size:.85rem;color:var(--text-secondary)}.api-meta div{display:flex;justify-content:space-between;gap:1rem}.api-meta strong{color:var(--text-primary);font-weight:600}.generate-button.outline{background:transparent;border:1px solid var(--border-subtle);color:var(--text-primary);box-shadow:none}.api-preview{margin:0;padding:1rem;border-radius:16px;background:var(--surface-soft);color:var(--text-secondary);font-size:.8rem;min-height:140px;overflow-x:auto;white-space:pre-wrap;border:1px solid var(--border-subtle)}.results-header{display:flex;justify-content:space-between;align-items:center;color:var(--text-muted);font-size:.85rem;gap:1rem}.results-header h2{margin:0;font-size:1.1rem;color:var(--text-primary)}.card-stack{display:grid;gap:1rem}.result-card{text-align:left;border-radius:18px;border:1px solid transparent;padding:1.2rem 1.1rem 1.6rem;background:var(--surface-soft);color:var(--text-primary);position:relative;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;width:100%}.result-card p{margin:0;font-size:1rem;line-height:1.5}.result-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px #0f172a73}.copy-chip{position:absolute;top:12px;right:12px;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .55rem;border-radius:999px;background:var(--surface-strong);border:1px solid var(--border-subtle)}.copied{display:inline-block;margin-top:.75rem;font-size:.8rem;color:#a5b4fc}.vibe-cute{background:linear-gradient(140deg,#f472b633,#0f172ae6);border-color:#f472b666}.vibe-dark{background:linear-gradient(140deg,#111827e6,#0f172acc);border-color:#64748b66}.vibe-minimal{background:linear-gradient(140deg,#e2e8f033,#0f172ae6);border-color:#e2e8f059}.vibe-glitch{background:linear-gradient(140deg,#38bdf840,#0f172ae6);border-color:#22d3ee59}.vibe-formal{background:linear-gradient(140deg,#94a3b833,#0f172ae6);border-color:#94a3b866}.confetti-layer{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:10}.confetti{position:absolute;top:-10px;width:10px;height:16px;background:var(--confetti-color);animation:confetti-fall 1.2s ease-in forwards;transform:rotate(var(--confetti-rotate, 0deg))}.confetti:nth-child(3n){--confetti-color: #f472b6}.confetti:nth-child(3n+1){--confetti-color: #22d3ee}.confetti:nth-child(3n+2){--confetti-color: #c4b5fd}.float-in{animation:float-in .8s ease both}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}@keyframes float-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes confetti-fall{0%{transform:translateY(0) rotate(var(--confetti-rotate, 0deg));opacity:1}to{transform:translateY(110vh) rotate(280deg);opacity:0}}@media(min-width:768px){.app{padding:3rem 2rem 4rem}}@media(max-width:540px){.app-header{gap:1rem;align-items:flex-start}.header-actions{flex-wrap:wrap;justify-content:flex-end}.results-header{flex-direction:column;align-items:flex-start}}
