:root{--bg-dark: #0d1117;--bg-card: #161b22;--bg-card-hover: #1c2128;--border: #30363d;--text: #e6edf3;--text-muted: #8b949e;--accent: #58a6ff;--accent-hover: #79b8ff;--success: #3fb950;--error: #f85149;--warning: #d29922;--donate: #ea6045;--donate-hover: #f07858;--font-sans: "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono: "Consolas", "Monaco", monospace;--radius: 12px;--shadow: 0 8px 24px rgba(0, 0, 0, .4)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:var(--bg-dark);color:var(--text);line-height:1.6;min-height:100vh}#root{min-height:100vh}.app{max-width:900px;margin:0 auto;padding:2rem 1.5rem}.hero{text-align:center;padding:3rem 1rem 2rem;border-bottom:1px solid var(--border);margin-bottom:2rem}.hero h1{font-size:2.25rem;font-weight:700;margin:0 0 .5rem;letter-spacing:-.02em}.hero .subtitle{color:var(--text-muted);font-size:1.1rem;margin-bottom:.35rem}.hero .tagline{margin-bottom:1.5rem;font-size:1rem}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border-radius:var(--radius);border:none;cursor:pointer;transition:background .2s,transform .1s;font-family:inherit}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-donate{background:var(--donate);color:#fff}.btn-donate:hover:not(:disabled){background:var(--donate-hover);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--accent);border:2px solid var(--accent)}.btn-outline:hover:not(:disabled){background:#58a6ff1a}.btn-ghost{background:var(--bg-card);color:var(--text);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--bg-card-hover)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.25rem;box-shadow:var(--shadow)}.card h2{font-size:1.35rem;margin:0 0 .75rem;color:var(--text)}.card h3{font-size:1.1rem;margin:0 0 .5rem;color:var(--text-muted)}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-weight:600;margin-bottom:.4rem;color:var(--text)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.65rem .9rem;font-size:1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-dark);color:var(--text);font-family:inherit}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #58a6ff26}.form-group textarea{min-height:120px;resize:vertical}.form-group .hint{font-size:.9rem;color:var(--text-muted);margin:0 0 .5rem}.form-group.prompt-del-prompt{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.rough-idea-row{display:flex;gap:1rem;align-items:flex-start;flex-wrap:wrap}.rough-idea-row textarea{flex:1;min-width:200px}.rough-idea-row .btn{flex-shrink:0;white-space:nowrap}@media (max-width: 520px){.rough-idea-row{flex-direction:column}.rough-idea-row textarea{width:100%}}.iteration-card{border-left:4px solid var(--accent)}.iteration-card .section-label{font-size:.85rem;font-weight:600;color:var(--accent);margin-bottom:.35rem}.iteration-card pre{white-space:pre-wrap;word-break:break-word;margin:0 0 1rem;padding:1rem;background:var(--bg-dark);border-radius:8px;font-size:.95rem;line-height:1.5;border:1px solid var(--border)}.iteration-card .stats{font-size:.85rem;color:var(--text-muted);margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.iteration-card .stats strong{color:var(--success)}.alert{padding:1rem 1.25rem;border-radius:var(--radius);margin-bottom:1rem}.alert-error{background:#f8514926;border:1px solid var(--error);color:var(--error)}.alert-warning{background:#d2992226;border:1px solid var(--warning);color:var(--warning)}.final-output pre{white-space:pre-wrap;word-break:break-word;max-height:60vh;overflow:auto;padding:1rem;background:var(--bg-dark);border-radius:8px;font-size:.95rem;border:1px solid var(--border)}.actions-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.footer{text-align:center;padding:2rem 1rem;color:var(--text-muted);font-size:.9rem;border-top:1px solid var(--border);margin-top:2rem}.footer p{margin:0 0 .5rem}.footer-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.25rem;font-size:.8rem}.footer-link{background:none;border:none;padding:0;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:inherit;text-decoration:none;opacity:.85}.footer-link:hover{text-decoration:underline;color:var(--text);opacity:1}a.footer-link{text-decoration:none}.footer-sep{opacity:.5;-webkit-user-select:none;user-select:none}.settings-trigger{text-align:center;margin-top:1rem;margin-bottom:.5rem}.settings-btn{font-size:.8rem;opacity:.7}.settings-btn:hover{opacity:1}.settings-panel .hint{margin-bottom:1rem}.text-muted{color:var(--text-muted);font-size:.9rem}.token-blocked{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.token-blocked .block-screen{max-width:520px}.token-blocked .block-screen h1{font-size:1.5rem;margin-bottom:1rem;color:var(--text)}.block-message{margin-bottom:1.5rem;color:var(--text-muted);line-height:1.6}.token-blocked .formspree-form .form-group{margin-bottom:1rem}.token-blocked .formspree-form label{display:block;font-weight:600;margin-bottom:.35rem;color:var(--text)}.token-blocked .formspree-form input,.token-blocked .formspree-form textarea{width:100%;padding:.6rem .75rem;font-size:1rem;border:1px solid var(--border);border-radius:8px;background:var(--bg-dark);color:var(--text);font-family:inherit}.token-blocked .formspree-form button[type=submit]{margin-top:.5rem}.token-counter{font-size:.85rem;color:var(--text-muted);margin:.25rem 0}.token-counter strong{color:var(--success)}.terms-page{display:flex;align-items:flex-start;justify-content:center;min-height:100vh;padding:2rem}.terms-page .terms-card{max-width:640px}.terms-page .terms-card h1{font-size:1.75rem;margin-bottom:1.25rem;color:var(--text)}.terms-body{margin-bottom:1.5rem;line-height:1.7;color:var(--text)}.terms-body p{margin:0 0 1rem}.terms-body p:last-child{margin-bottom:0}.terms-body strong{color:var(--accent)}.terms-checkbox-row{margin-bottom:1rem}.checkbox-label{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:auto;margin-top:.25rem;cursor:pointer}.link-inline{background:none;border:none;padding:0;font:inherit;color:var(--accent);text-decoration:underline;cursor:pointer}.link-inline:hover{color:var(--accent-hover)}
