@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap');

:root{--ink:#33253a;--muted:#85788c;--pink:#ed6eaa;--pink-deep:#d94f91;--lav:#f3eafa;--line:#eee5ef;--paper:#fffdfd;--shadow:0 16px 48px rgba(88,48,91,.08)}
*{box-sizing:border-box}
body{margin:0;background:#fff9fc;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px}
button,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
.app-shell{display:grid;grid-template-columns:292px minmax(0,1fr);min-height:100vh;max-width:1600px;margin:0 auto;background:var(--paper)}
.sidebar{background:linear-gradient(165deg,#fff0f7 0%,#f5f0ff 48%,#effcf9 100%);padding:26px 19px 18px;display:flex;flex-direction:column;gap:19px;border-right:1px solid #f0e6f0;min-height:100vh}
.brand-row{display:flex;align-items:center;gap:11px;padding:2px 5px 5px}
.brand-mark{width:42px;height:42px;border-radius:15px;background:linear-gradient(140deg,#f9a9cd,#bda7ed);display:grid;place-items:center;color:white;font-size:29px;box-shadow:0 6px 15px #e9b4d1aa}
.brand-name{font-family:Georgia,"Times New Roman",serif;font-size:24px;letter-spacing:-.7px}
.brand-tag{font-size:11px;color:#96839a;margin-top:2px;letter-spacing:.35px}
.new-chat{height:45px;border:1px solid #ead8e9;border-radius:13px;background:#ffffffb8;color:#61435f;font-weight:600;text-align:left;padding:0 14px;box-shadow:0 4px 12px #9d74a00a;transition:.2s}
.new-chat:hover{background:#fff;transform:translateY(-1px);box-shadow:0 7px 17px #9d74a018}
.new-chat span{font-size:20px;margin-right:8px;color:var(--pink-deep);vertical-align:-2px}
.side-card{background:#ffffffc9;border:1px solid #ffffff;border-radius:17px;padding:15px 13px;box-shadow:0 7px 22px #7c58830b}
.side-card h2{font-size:13px;margin:0 0 13px;font-weight:700;color:#5a3b60;letter-spacing:.1px}
.side-card h2 span{margin-right:5px}
.resource-item{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 0;border-top:1px solid #f4edf4}
.resource-item:first-of-type{border-top:0;padding-top:0}
.resource-item strong,.resource-item span{display:block}
.resource-item strong{font-size:11.5px;font-weight:700;margin-bottom:4px}
.resource-item div span{font-size:11px;color:#897a8d}
.resource-item>a{display:grid;place-items:center;width:27px;height:27px;flex-shrink:0;border-radius:9px;background:#fbf2f8;color:#b65d91}
.simple-link{display:flex;justify-content:space-between;padding:9px 1px;border-top:1px solid #f4edf4;font-size:12px;color:#645269}
.simple-link:first-of-type{border-top:0;padding-top:0}
.simple-link span{color:#b65d91}
.founder-card p{font-size:11.5px;line-height:1.65;color:#786b7f;margin:0 0 9px}
.founder-card p strong{color:#4a354e}
.founder-card .founder-quote{font-family:Georgia,"Times New Roman",serif;font-style:italic;color:#9b5c86;font-size:12px;margin-bottom:0}
.sidebar-foot{margin-top:auto;padding:13px 5px 2px;font-size:10.5px;color:#88778e;display:flex;align-items:center;gap:7px}
.online-dot,.status-dot{width:7px;height:7px;background:#6ac7a6;border-radius:50%;display:inline-block;box-shadow:0 0 0 3px #6ac7a61e}
.main-panel{min-width:0;min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 55% 15%,#fff5fa 0%,#fffdfd 44%,#fff 100%)}
.topbar{height:65px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid #f4edf2;background:#ffffffa8}
.topbar-label{font-size:12px;color:#796a7f;display:flex;align-items:center;gap:9px}
.privacy-label{font-size:11px;color:#9c8ca0;background:#faf4fa;border:1px solid #f0e6f0;border-radius:20px;padding:7px 10px}
.mobile-menu{display:none;border:0;background:transparent;color:#745d79;font-size:20px}
.chat-area{flex:1;width:100%;max-width:900px;margin:0 auto;padding:45px 35px 20px;display:flex;flex-direction:column}
.welcome{max-width:650px;margin:0 auto;width:100%;text-align:center;padding:9px 0 20px}
.welcome-orb{position:relative;margin:0 auto 19px;width:66px;height:66px;border-radius:24px;background:linear-gradient(145deg,#ffd9e9,#e8dcff 70%,#d7f6ed);display:grid;place-items:center;box-shadow:0 12px 28px #dcb4d733;transform:rotate(-4deg)}
.welcome-orb span{font-size:36px;color:#d96da6;transform:rotate(4deg)}
.welcome-orb i{position:absolute;right:-6px;top:-6px;font-size:18px;color:#e3ad55;font-style:normal}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.5px;color:#d76fa4;margin-bottom:12px}
h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(39px,4.5vw,54px);line-height:1.14;letter-spacing:-1.5px;font-weight:500;margin:0;color:#3c2c42}
h1 em{font-weight:500;color:#d96da6}
.welcome-copy{max-width:435px;margin:16px auto 27px;color:#8b7e91;line-height:1.8;font-size:13px}
.prompt-heading{font-size:11px;font-weight:700;color:#77657d;margin-bottom:12px}
.prompt-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left}
.prompt-card{display:flex;align-items:center;gap:10px;min-height:69px;padding:12px;border:1px solid #f0e6ef;border-radius:14px;background:#ffffffc9;text-align:left;box-shadow:0 4px 14px #8b5e8a06;transition:transform .18s,border-color .18s,box-shadow .18s;color:var(--ink)}
.prompt-card:hover{transform:translateY(-2px);border-color:#e9c6dc;box-shadow:0 9px 20px #8b5e8a10}
.prompt-icon{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:11px;font-size:18px}
.lavender{background:#f0e8ff;color:#9c7ad1}.peach{background:#fff0e8;color:#d9896c}.mint{background:#e8f8f1;color:#61a98b}.rose{background:#ffedf5;color:#d76ca4}
.prompt-card strong,.prompt-card small{display:block}
.prompt-card strong{font-size:11px;margin-bottom:4px;font-weight:700}
.prompt-card small{font-size:10px;color:#9a8c9d}
.prompt-arrow{margin-left:auto;color:#bba7bd;font-size:14px;align-self:flex-start}
.messages{display:flex;flex-direction:column;gap:18px;width:100%;max-width:690px;margin:0 auto;padding:6px 0 25px}
.message{display:flex;gap:10px;align-items:flex-start;animation:fade-in .22s ease}
.message.user{flex-direction:row-reverse}
.avatar{width:31px;height:31px;flex:0 0 31px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#f7d6e7,#e6dcff);color:#b95e91;font-size:17px}
.message.user .avatar{background:#f0eaf5;color:#7e6888;font-size:13px}
.bubble{max-width:min(84%,570px);padding:13px 16px;border:1px solid #f0e7ef;border-radius:5px 16px 16px 16px;background:#fff;box-shadow:0 5px 17px #79517b08;color:#55465b;font-size:13px;line-height:1.75;overflow-wrap:anywhere;white-space:pre-wrap}
.message.user .bubble{background:#f9edf5;border-color:#f5e3ef;border-radius:16px 5px 16px 16px;color:#67485f}
.typing{display:flex;gap:4px;align-items:center;height:17px}
.typing span{width:5px;height:5px;background:#d78cb3;border-radius:50%;animation:bounce 1s infinite ease-in-out}
.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}
.composer-wrap{width:100%;max-width:760px;margin:0 auto;padding:0 30px 20px}
.composer{display:flex;align-items:flex-end;gap:10px;padding:10px 10px 10px 17px;border:1px solid #eadde9;border-radius:19px;background:#fff;box-shadow:0 10px 30px #885c880e;transition:border-color .2s,box-shadow .2s}
.composer:focus-within{border-color:#dfb2ce;box-shadow:0 10px 30px #885c8818}
textarea{resize:none;outline:0;border:0;background:transparent;flex:1;min-width:0;max-height:140px;line-height:1.6;color:#4e3c54;padding:6px 0}
textarea::placeholder{color:#b0a1b3}
.send-button{height:37px;width:37px;flex:0 0 37px;border:0;border-radius:12px;background:linear-gradient(140deg,#ef8fbc,#d779b1);color:white;font-size:23px;display:grid;place-items:center;box-shadow:0 5px 12px #df8bb62c;transition:transform .15s,opacity .15s}
.send-button:hover{transform:translateY(-1px)}.send-button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.composer-bottom{display:flex;justify-content:space-between;gap:12px;padding:9px 3px 0;color:#b0a3b3;font-size:10px}
.disclaimer{text-align:center;font-size:10px;color:#b0a3b3;line-height:1.55;margin:10px auto 0;max-width:610px}
.error-note{color:#a74e72;font-size:12px;padding:10px 13px;background:#fff2f5;border:1px solid #f4dce6;border-radius:12px;line-height:1.5}
.mobile-scrim{display:none}
@keyframes bounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
@keyframes fade-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1300px){.chat-area{padding-top:55px}.welcome{padding-top:18px}}
@media(max-width:900px){.app-shell{grid-template-columns:250px minmax(0,1fr)}.sidebar{padding:22px 14px}.chat-area{padding:35px 22px 15px}.topbar{padding:0 22px}.composer-wrap{padding:0 20px 16px}.prompt-card{padding:10px;gap:8px}.prompt-icon{width:30px;height:30px}}
@media(max-width:680px){.app-shell{display:block}.sidebar{position:fixed;z-index:20;left:0;top:0;bottom:0;width:min(310px,86vw);min-height:0;overflow-y:auto;transform:translateX(-105%);transition:transform .25s ease;box-shadow:10px 0 40px #3e22411a}.sidebar.open{transform:translateX(0)}.mobile-scrim.show{display:block;position:fixed;z-index:15;inset:0;background:#2e1b35a1;backdrop-filter:blur(2px)}.main-panel{min-height:100dvh}.topbar{height:58px;padding:0 16px;gap:12px}.mobile-menu{display:block}.topbar-label{margin-right:auto;font-size:11px}.privacy-label{font-size:10px;padding:6px 8px}.chat-area{padding:30px 17px 15px}.welcome{padding-top:6px}.welcome-orb{width:57px;height:57px;border-radius:20px;margin-bottom:16px}.welcome-orb span{font-size:31px}h1{font-size:42px}.welcome-copy{font-size:12px;margin:14px auto 24px}.prompt-grid{gap:8px}.prompt-card{min-height:78px;gap:8px;padding:10px}.prompt-card strong{font-size:10.5px}.prompt-card small{font-size:9px;line-height:1.4}.prompt-icon{width:28px;height:28px;font-size:15px;border-radius:9px}.prompt-arrow{display:none}.composer-wrap{padding:0 12px 12px}.composer{border-radius:16px;padding:8px 8px 8px 13px}.composer-bottom{font-size:9px}.disclaimer{font-size:9px;padding:0 6px}.bubble{font-size:12.5px;padding:11px 13px}.messages{gap:14px}}
@media(max-width:360px){h1{font-size:36px}.prompt-card{gap:6px;padding:8px}.prompt-card small{font-size:8.5px}.prompt-card strong{font-size:9.5px}}
