:root{color-scheme:dark;--ink:#f4f0e9;--muted:#a8b4c5;--gold:#ebce89;--line:rgba(224,193,124,.28);--vh:100dvh;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#0a111e;color:var(--ink)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 8%,#1e3548 0,rgba(17,29,45,.7) 28%,transparent 62%),#0a111e;min-height:100svh}button,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}.shell{max-width:1000px;margin:auto;padding:0 36px;height:var(--vh);min-height:420px;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:25px 0 21px;border-bottom:1px solid rgba(187,202,222,.19);flex:none}.brand{font-size:27px;font-weight:650;letter-spacing:-.8px;color:var(--gold);white-space:nowrap}.brand>span{margin-right:5px}.brand small{font-size:14px;font-weight:400;color:var(--muted);letter-spacing:0}.test-badge{font-size:12px;border:1px solid var(--line);border-radius:30px;padding:9px 13px;color:#d3c49f;white-space:nowrap}main{display:flex;flex-direction:column;flex:1;min-height:0}.welcome{display:flex;align-items:center;justify-content:center;gap:30px;padding:30px 0 20px;flex:none;transition:padding .3s ease}.portrait{width:190px;height:190px;flex:none;border-radius:50%;background-image:url('/assets/lumi-reference.jpg');background-size:239.93% auto;background-position:50% 23.4%;position:relative;box-shadow:0 0 60px rgba(229,187,95,.09);animation:float 8s ease-in-out infinite}.spark{position:absolute;right:8px;top:9px;color:#ffe5a7;font-size:26px;opacity:0;filter:drop-shadow(0 0 8px #eac779)}.thinking .spark{animation:sparkle 1.8s ease-in-out infinite}.eyebrow{font-size:10px;letter-spacing:2.4px;color:#c8b883;margin:0 0 13px}h1{font-weight:600;letter-spacing:-1.5px;font-size:clamp(28px,4.5vw,43px);margin:0 0 12px;line-height:1.13}em{font-style:normal;color:var(--gold)}.subtitle{font-size:17px;color:var(--muted);margin:0}.subtitle span{color:var(--gold)}.credit{font-size:13px;letter-spacing:.35px;color:#ceba87;margin:17px 0 0}.suggestions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:0 0 20px;flex:none}.suggestions button{min-height:44px;padding:10px 18px;border:1px solid var(--line);border-radius:30px;color:#e6dcc5;background:rgba(28,42,59,.55);font-size:14px;transition:background .15s}.suggestions button:hover{background:#29394c}.suggestions span{color:var(--gold);margin-right:6px;font-size:18px}.conversation{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#455068 transparent;padding:4px 4px 18px;display:flex;flex-direction:column;gap:16px}.message{max-width:85%;padding:18px 22px;border-radius:20px;border:1px solid #35455d;background:#1b2a3e;align-self:flex-start}.message p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:17px;line-height:1.65;margin:6px 0 0}.speaker{font-size:10px;letter-spacing:1.9px;color:#d0ba88}.message.user{align-self:flex-end;background:#26302f;border-color:#5c5745;border-bottom-right-radius:5px}.message.assistant{border-bottom-left-radius:5px}.message.user .speaker{color:#c6c7ba}.message.error{border-color:#9b795b}.intro{max-width:650px}.composer-area{flex:none;padding:4px 0 14px;background:linear-gradient(0deg,#0a111e 85%,transparent)}.status{font-size:12px;min-height:18px;color:var(--muted);margin:0 4px 8px}form{display:flex;align-items:flex-end;padding:10px;gap:10px;border:1px solid #9e8759;border-radius:24px;background:#172234;box-shadow:0 0 28px rgba(230,192,113,.035)}textarea{width:100%;resize:none;border:0;outline:none!important;background:transparent;color:var(--ink);font-size:18px;line-height:26px;min-height:48px;max-height:108px;padding:12px 10px;scrollbar-width:thin}textarea::placeholder{color:#9298a3}.send{width:64px;height:48px;flex:none;display:grid;place-items:center;border:0;border-radius:16px;background:linear-gradient(135deg,#f8dda0,#cea44f);color:#1e2024}.send svg{width:26px;height:26px;fill:currentColor}.footer-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#929eb0;font-size:11px;margin:8px 4px 0}.footer-actions button{color:#ccb887;background:none;border:none;min-height:36px;font-size:12px;white-space:nowrap}.privacy{font-size:11px;color:#929eb0;margin:0 4px;line-height:1.6}.privacy summary{cursor:pointer;width:fit-content;min-height:26px}.privacy[open]{max-height:160px;overflow:auto}.privacy p{max-width:780px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{border:1px solid #61573f;border-radius:24px;padding:38px;max-width:min(500px,calc(100% - 32px));background:#152133;color:var(--ink);line-height:1.7;box-shadow:0 30px 120px #0008}dialog::backdrop{background:#050912bb;backdrop-filter:blur(5px)}dialog h2{font-size:28px;letter-spacing:-.8px;line-height:1.3}dialog .close{position:absolute;right:10px;top:8px;width:44px;height:44px;font-size:28px;border:0;background:transparent;color:var(--muted)}.chatting .welcome{justify-content:flex-start;padding:12px 4px;gap:14px}.chatting .portrait{width:48px;height:48px;animation:none}.chatting h1{font-size:19px;letter-spacing:-.4px;margin:0}.chatting .eyebrow,.chatting .subtitle,.chatting .credit{display:none}.chatting .suggestions{display:none}
@keyframes float{0%,100%{transform:translateY(0) rotate(-.4deg)}50%{transform:translateY(-4px) rotate(.4deg)}}@keyframes sparkle{0%,100%{opacity:.15;transform:scale(.85)}50%{opacity:1;transform:scale(1.08)}}
@media(max-width:650px){.shell{padding:0 18px}.topbar{padding:18px 0 16px}.brand{font-size:24px}.brand small{font-size:12px}.test-badge{font-size:10px;padding:7px 9px}.welcome{flex-direction:column;gap:17px;text-align:center;padding:20px 0 18px}.portrait{width:166px;height:166px}.eyebrow{display:none}h1{font-size:31px;letter-spacing:-1px}.subtitle{font-size:15px}.credit{font-size:12px;margin-top:13px}.suggestions{gap:7px;margin-bottom:15px}.suggestions button{padding:8px 11px;font-size:12px}.suggestions span{font-size:15px;margin-right:3px}.message{max-width:94%;padding:14px 17px}.message p{font-size:16px;line-height:1.55}.composer-area{padding-bottom:max(8px,env(safe-area-inset-bottom))}textarea{font-size:16px}.footer-actions{font-size:10px;gap:5px}.footer-actions button{font-size:11px}.privacy{font-size:10px}.chatting .welcome{flex-direction:row;text-align:left}.chatting .portrait{width:42px;height:42px}.chatting h1{font-size:18px}.status{font-size:11px}.send{width:52px}form{border-radius:21px}.privacy summary{min-height:28px}}
@media(max-height:740px){.welcome{padding:12px 0;gap:14px}.portrait{width:130px;height:130px}.credit{margin-top:8px}.suggestions{margin-bottom:10px}.message p{line-height:1.5}.topbar{padding-top:13px;padding-bottom:12px}}
@media(max-height:530px){.shell{min-height:300px}.welcome{display:none}.suggestions{display:none}.privacy{display:none}.topbar{padding:8px 0}.footer-actions{display:none}.conversation{padding-top:10px}.composer-area{padding-bottom:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
