@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Sora:wght@500;700;800&display=swap";html,body,#root{margin:0;min-height:100%}html{color-scheme:dark}:root{--bg: #090b10;--bg-soft: #0f131d;--panel: rgba(14, 18, 28, .9);--panel-strong: rgba(18, 23, 35, .95);--line: rgba(156, 180, 255, .17);--line-strong: rgba(156, 180, 255, .32);--text: #edf2ff;--muted: #9ea8c3;--accent: #5aa2ff;--accent-2: #79f2c8;--danger: #ff7b8b;--radius: 18px}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:Space Grotesk,sans-serif;color:var(--text);background:radial-gradient(circle at 15% 12%,#22366d 0%,transparent 26%),radial-gradient(circle at 84% 6%,#17344f 0%,transparent 22%),linear-gradient(145deg,#07090f,#0a0f18 45%,#080b12)}.page-shell{position:relative;min-height:100vh;padding:1.5rem 1rem 2rem}.backdrop{position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(125deg,rgba(90,162,255,.08),transparent 45%),radial-gradient(circle at 80% 10%,rgba(121,242,200,.07),transparent 30%)}.layout{position:relative;display:grid;gap:1rem;grid-template-columns:1fr 1fr;max-width:1240px;margin:0 auto;animation:fade-up .42s ease}.panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,var(--panel-strong) 0%,var(--panel) 100%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 20px 44px #00000073}.control-panel,.preview-panel{padding:1.2rem}.kicker{margin:0;text-transform:uppercase;font-size:.71rem;letter-spacing:.16em;color:var(--accent-2);font-weight:700}h1,h2{font-family:Sora,sans-serif;letter-spacing:-.01em;margin:.4rem 0 .65rem}h1{font-size:clamp(1.5rem,2.4vw,2rem)}h2{font-size:clamp(1.15rem,1.6vw,1.35rem)}.lede{margin-top:0;color:var(--muted);line-height:1.5}.form-grid{display:grid;gap:.85rem}label{display:grid;gap:.35rem;font-size:.92rem;font-weight:600;color:#c9d2eb}input,select,button{font:inherit}input,select{width:100%;border:1px solid var(--line);border-radius:12px;padding:.68rem .78rem;color:var(--text);background:#090c12bf;outline:none;transition:border-color .14s ease,box-shadow .14s ease}input:focus,select:focus{border-color:var(--line-strong);box-shadow:0 0 0 3px #5aa2ff29}.inline-checkbox{display:flex;align-items:center;gap:.55rem;font-weight:500;color:var(--muted)}.inline-checkbox input{width:1rem;height:1rem;accent-color:var(--accent)}.action-row{display:flex;gap:.7rem}button{border:1px solid transparent;border-radius:12px;padding:.68rem .95rem;font-weight:700;color:#06101f;background:linear-gradient(130deg,var(--accent),#98c1ff);cursor:pointer;transition:transform .12s ease,filter .12s ease,border-color .12s ease}button:disabled{cursor:wait;opacity:.75}button:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.04)}button.ghost{background:#0c111cbf;border-color:var(--line);color:#d4ddf5}.error{margin:.8rem 0 0;color:var(--danger);font-weight:700;font-size:.92rem}.preview-image{width:100%;border-radius:14px;aspect-ratio:1 / 1;object-fit:cover;border:1px solid var(--line)}.prompt-text{line-height:1.52;color:var(--muted);font-size:.93rem}.meta-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem}.meta-row span{border:1px solid var(--line);border-radius:999px;padding:.2rem .58rem;font-size:.76rem;color:#c0cbe8;background:#0b0f18cc}.history-panel{position:relative;max-width:1240px;margin:1rem auto 0;padding:1rem;animation:fade-up .56s ease}.history-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.history-card{border:1px solid var(--line);border-radius:12px;background:#080b12bf;padding:.48rem}.history-card img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:9px;border:1px solid rgba(156,180,255,.2)}.history-card p{margin:.45rem 0;font-size:.84rem;font-weight:700;color:#d6e0ff}.history-actions{display:grid;gap:.42rem}.empty-state{color:var(--muted)}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:940px){.layout{grid-template-columns:1fr}.page-shell{padding-top:1rem}}.title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.logout-btn{white-space:nowrap;margin-top:.1rem}
