:root{color-scheme:dark;--navy:#07142f;--navy2:#101d43;--lav:#a99fe8;--lav2:#d5cff8;--cream:#fff1d7;--ink:#f7f5ff;--muted:#aaa9c4;--danger:#ff9d9d;--line:rgba(213,207,248,.16);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{min-height:100%;background:#07142f}body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 50% -10%,#28366d 0,transparent 43%),linear-gradient(155deg,var(--navy),#090f25 78%);line-height:1.55}a{color:var(--lav2)}button,input,textarea{font:inherit}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.muted,.disclaimer,small{color:var(--muted)}
.topbar{height:76px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(7,15,37,.72);backdrop-filter:blur(18px);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:white;font-weight:720;letter-spacing:.01em}.brand img{width:42px;height:42px;border-radius:11px}.topbar nav{display:flex;align-items:center;gap:20px}.topbar nav form{display:inline}.topbar nav a,.link{text-decoration:none;background:none;border:0;color:var(--lav2);padding:8px;cursor:pointer}.nav-cta{border:1px solid var(--lav)!important;border-radius:999px;padding:9px 15px!important}.flash{max-width:800px;margin:18px auto 0;padding:12px 18px;background:#292c59;border:1px solid var(--lav);border-radius:12px}
.app-shell{width:min(920px,calc(100% - 38px));margin:0 auto;padding:64px 0 100px}.hero{text-align:center}.moon-mark{font-size:58px;color:var(--cream);filter:drop-shadow(0 0 20px #ffe7bd77);line-height:1}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--lav);font-size:.76rem;font-weight:750}.hero h1,.result-head h1{font-family:Georgia,serif;font-size:clamp(2.6rem,8vw,5.2rem);line-height:1.03;margin:8px 0 18px;font-weight:500}.intro{max-width:650px;margin:0 auto 30px;color:#d0cfe2;font-size:1.08rem}.hero form{background:rgba(23,31,67,.78);border:1px solid rgba(183,173,239,.32);border-radius:25px;padding:14px;box-shadow:0 28px 80px #02071588;text-align:left}textarea{display:block;width:100%;height:270px;resize:vertical;background:transparent;color:white;border:0;outline:none;padding:18px;font-size:1.07rem;line-height:1.65}textarea::placeholder{color:#777a9c}.composer-foot{border-top:1px solid var(--line);padding:13px 8px 2px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.composer-foot span{color:var(--muted);font-size:.82rem}.primary,.secondary,.danger{border:0;border-radius:999px;padding:12px 20px;font-weight:720;cursor:pointer}.primary{background:linear-gradient(120deg,#b9afea,#eee9ff);color:#121738}.primary:disabled{opacity:.5}.secondary{background:transparent;color:var(--lav2);border:1px solid #6d6798}.danger{background:#4f1c32;color:#ffd9e2;border:1px solid #a54b6d}.disclaimer{font-size:.8rem;margin:18px}
.history-button{position:fixed;top:96px;left:28px;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:#141f46;z-index:14;padding:13px;cursor:pointer}.history-button span{height:2px;background:var(--lav2);display:block;margin:5px;border-radius:2px}.history-panel{position:fixed;z-index:30;inset:0 auto 0 0;width:min(390px,90vw);background:#0c1533;box-shadow:20px 0 60px #0008;transform:translateX(-105%);transition:.25s;padding:26px;overflow-y:auto}.history-panel.open{transform:none}.history-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:15px}.history-head button,.dialog-close{border:0;background:transparent;color:white;font-size:2rem;cursor:pointer}.history-row{display:flex;border-bottom:1px solid var(--line);padding:7px 0;gap:5px}.history-open{flex:1;background:none;border:0;color:white;text-align:left;padding:10px;cursor:pointer}.history-open strong,.history-open small{display:block}.history-delete{background:none;border:0;color:#dba3bb;cursor:pointer}.scrim{position:fixed;inset:0;background:#01051299;z-index:29;display:none}.scrim.show{display:block}
.result-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:40px}.result-head h1{font-size:clamp(2rem,6vw,4rem);margin-bottom:0}.messages{display:flex;flex-direction:column;gap:26px}.bubble{white-space:pre-wrap;padding:22px 25px;border-radius:26px;line-height:1.75;box-shadow:0 14px 40px #0003}.dream-bubble{align-self:flex-end;max-width:75%;background:linear-gradient(135deg,#857ac5,#5e5799);border-bottom-right-radius:7px}.response-bubble{align-self:flex-start;max-width:92%;background:#171f43;border:1px solid var(--line);border-bottom-left-radius:7px;color:#eae8f5}
.loading{position:fixed;z-index:40;inset:0;background:#07112beF;display:grid;place-content:center;text-align:center;padding:30px}.spinner{width:68px;height:68px;margin:0 auto 24px;border:4px solid #514d78;border-top-color:var(--cream);border-radius:50%;animation:spin 1s linear infinite}.loading h2{font-family:Georgia,serif;font-size:2rem;margin:0}.loading p{color:var(--lav)}@keyframes spin{to{transform:rotate(360deg)}}
dialog{width:min(620px,calc(100% - 30px));background:#121b3d;color:white;border:1px solid #7972aa;border-radius:25px;padding:32px;box-shadow:0 30px 100px #000b}dialog::backdrop{background:#010410bb}.dialog-close{position:absolute;right:18px;top:10px}.plans{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.plans button{width:100%;min-height:90px;background:#202a56;color:white;border:1px solid #756fa8;border-radius:17px;padding:14px;cursor:pointer}.plans strong,.plans span{display:block}.plans span{color:#bdbbd2;font-size:.85rem;margin-top:5px}
.card-page{width:min(680px,calc(100% - 36px));margin:60px auto 100px}.auth-card,.account-card,.legal-card{background:rgba(20,29,63,.85);border:1px solid var(--line);border-radius:25px;padding:clamp(24px,6vw,48px)}.auth-card h1,.account-card h1,.legal-card h1{font:500 clamp(2rem,8vw,3.5rem)/1.1 Georgia,serif;margin-top:0}.auth-card form,.account-card form{display:grid;gap:17px}.auth-card label,.account-card label{display:grid;gap:7px;color:#c9c7dc}.auth-card input,.account-card input{width:100%;border:1px solid #464b72;border-radius:12px;padding:13px;background:#0b1330;color:white}.auth-card .primary{justify-self:start}.account-card hr{border:0;border-top:1px solid var(--line);margin:30px 0}.status{display:inline-block;border-radius:999px;padding:5px 10px;font-size:.78rem;margin-bottom:15px}.good{background:#1e4e45;color:#b9f5df}.warn{background:#52451f;color:#ffe6a1}
footer{min-height:90px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;padding:20px;color:var(--muted);font-size:.82rem}footer a{color:#bbb8d2;text-decoration:none}
@media(max-width:650px){.topbar{padding:0 14px}.brand span{display:none}.topbar nav{gap:4px}.history-button{top:88px;left:14px}.app-shell{padding-top:80px}.hero h1{font-size:3rem}textarea{height:240px}.composer-foot{align-items:stretch;flex-direction:column}.composer-foot .primary{width:100%}.result-head{align-items:flex-start;flex-direction:column}.dream-bubble{max-width:88%}.response-bubble{max-width:100%}.plans{grid-template-columns:1fr}.card-page{margin-top:30px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}}

