:root{--ink:#0b1220;--ink-elevated:#151d2e;--ink-soft:#1a2438;--mist:#e8eef5;--mist-dim:#b7c2d0;--teal:#14b8a6;--teal-deep:#0f766e;--teal-ink:#06201c;--coral:#ff6b4a;--danger:#ff5c5c;--ok:#34d399;--line:#ffffff24;--shadow:0 18px 50px #00000059;--radius:18px;--radius-sm:12px;--font-display:"Fraunces", Georgia, serif;--font-ui:"Sora", "Segoe UI", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font-ui);background:radial-gradient(1100px 520px at 8% -12%, #1c2d4a 0%, transparent 55%), radial-gradient(900px 480px at 100% 0%, #14b8a61f 0%, transparent 50%), var(--ink);color:var(--mist);line-height:1.45}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:600}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer;background:var(--teal);color:var(--teal-ink);border:0;border-radius:999px;padding:10px 16px;font-weight:600;transition:transform .16s,opacity .16s,background .16s}button:hover:not(:disabled){transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}button.secondary{background:var(--ink-soft);color:var(--mist);border:1px solid var(--line)}button.danger{background:var(--danger);color:#fff}button.ghost{color:var(--mist);border:1px solid var(--line);background:0 0}input,select,textarea{border-radius:var(--radius-sm);border:1px solid var(--line);width:100%;color:var(--mist);background:#0b1220d9;padding:11px 13px}input:focus,select:focus,textarea:focus{outline-offset:1px;outline:2px solid #14b8a673}label{color:var(--mist-dim);margin:12px 0 6px;font-size:.82rem;font-weight:500;display:block}.muted{color:var(--mist-dim)}.pill{letter-spacing:.04em;text-transform:uppercase;background:#ffffff14;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.pill.teal{color:var(--teal);background:#14b8a633}.pill.coral{color:var(--coral);background:#ff6b4a33}.pill.warn{color:#c4b5fd;background:#7c3aed38}.shell{grid-template-rows:auto 1fr;min-height:100vh;display:grid}.shell-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:40;background:#0b1220d1;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;display:flex;position:sticky;top:0}.brand-mark{font-family:var(--font-display);font-size:1.45rem;line-height:1}.shell-nav{flex-wrap:wrap;gap:6px;display:flex}.shell-nav a{color:var(--mist-dim);border-radius:999px;padding:8px 14px;font-size:.9rem;font-weight:500;text-decoration:none}.shell-nav a.active,.shell-nav a:hover{color:var(--mist);background:#14b8a624;text-decoration:none}.shell-main{gap:22px;width:min(1180px,100%);margin:0 auto;padding:28px 20px 56px;display:grid}.page-hero h1{font-size:clamp(1.8rem,3vw,2.5rem)}.page-hero p{color:var(--mist-dim);max-width:52ch;margin:8px 0 0}.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:linear-gradient(#151d2ef2,#111827f2);padding:18px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat-card strong{font-family:var(--font-display);margin-top:8px;font-size:2rem;line-height:1;display:block}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.prompt-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.prompt-card{border-radius:var(--radius);border:1px solid var(--line);background:var(--ink-elevated);transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden}.prompt-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px #0006}.prompt-card img,.prompt-card .thumb-fallback{aspect-ratio:3/4;object-fit:cover;background:#243148;width:100%;display:block}.prompt-card .body{padding:12px}.prompt-card .body h3{font-family:var(--font-ui);margin:6px 0;font-size:.98rem}.prompt-card .meta{color:var(--mist-dim);font-size:.78rem}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar input[type=search]{max-width:280px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);color:var(--mist-dim);background:0 0;border-radius:999px;padding:7px 12px;font-size:.82rem}.chip.active{color:var(--teal);background:#14b8a62e;border-color:#14b8a666}.split-2{grid-template-columns:1fr 1.05fr;gap:18px;display:grid}.dropzone{border-radius:var(--radius);text-align:center;cursor:pointer;background:#14b8a60d;border:1.5px dashed #14b8a673;padding:28px 18px;transition:background .16s,border-color .16s}.dropzone.active,.dropzone:hover{border-color:var(--teal);background:#14b8a61a}.dropzone img{border-radius:var(--radius-sm);object-fit:cover;max-width:100%;max-height:280px;margin-top:12px}.drawer-backdrop,.modal-backdrop{z-index:60;background:#0408109e;animation:.18s fadeIn;position:fixed;inset:0}.drawer{background:var(--ink-elevated);border-left:1px solid var(--line);z-index:70;width:min(440px,100%);height:100%;box-shadow:var(--shadow);padding:20px;animation:.22s slideIn;position:fixed;top:0;right:0;overflow:auto}.modal{background:var(--ink-elevated);border:1px solid var(--line);border-radius:var(--radius);z-index:80;width:min(420px,100% - 32px);box-shadow:var(--shadow);padding:20px;animation:.18s fadeIn;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.toast-host{z-index:90;gap:8px;width:min(360px,100% - 32px);display:grid;position:fixed;bottom:16px;right:16px}.toast{border-radius:var(--radius-sm);color:#9ff0e0;background:#14352f;border:1px solid #14b8a659;padding:12px 14px;animation:.18s fadeIn}.toast.error{color:#ffb4b4;background:#3a1515;border-color:#ff5c5c59}.login-wrap{background:linear-gradient(160deg,#0b122066,#0b1220d9),radial-gradient(700px 400px at 70% 20%,#14b8a633,#0000);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(440px,92vw)}.login-card h1{margin-bottom:6px;font-size:2.2rem}.callout{border-radius:var(--radius-sm);color:var(--mist-dim);background:#ff6b4a1a;border:1px solid #ff6b4a47;padding:12px 14px;font-size:.9rem}.callout.ok{background:#14b8a61a;border-color:#14b8a647}.empty{text-align:center;color:var(--mist-dim);padding:40px 20px}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#1a2438,#243148,#1a2438) 0 0/200% 100%;height:1.2em;animation:1.2s linear infinite shimmer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:.4;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=900px){.stats-grid,.split-2{grid-template-columns:1fr}.shell-header{flex-direction:column;align-items:flex-start}}
