:root{color-scheme:dark;--bg:#070812;--bg2:#11091d;--card:rgba(17,17,35,.78);--card-strong:rgba(25,18,46,.94);--line:rgba(192,113,255,.22);--text:#f8f3ff;--muted:#aaa2b8;--purple:#a94cff;--pink:#ef4ad8;--gold:#efc56d;--shadow:0 24px 70px rgba(0,0,0,.46)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:radial-gradient(circle at 60% -20%,#2b0d4d 0,#0b0916 38%,#070812 75%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{min-height:100vh}button,input{font:inherit}button{cursor:pointer}.shell{display:flex;justify-content:center;padding:0 12px 88px}.phone,.shell{min-height:100vh}.phone{width:min(100%,520px);position:relative;background:linear-gradient(180deg,rgba(7,8,18,.72),rgba(7,8,18,.96));overflow:hidden}.glow{position:absolute;width:320px;height:320px;border-radius:50%;filter:blur(70px);opacity:.16;pointer-events:none}.g1{background:#b442ff;right:-140px;top:14%}.g2{background:#ff3bc7;left:-180px;bottom:16%}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;position:relative;padding:24px;isolation:isolate}.hero:before{content:"";background:linear-gradient(180deg,rgba(6,5,14,.06) 15%,rgba(7,8,18,.12) 44%,rgba(7,8,18,.95) 79%,#070812);z-index:-1}.hero-image,.hero:before{position:absolute;inset:0}.hero-image{width:100%;height:78%;object-fit:cover;object-position:50% 32%;z-index:-2;filter:saturate(.96) contrast(1.04)}.brand-script{font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:72px;line-height:.9;margin:0 0 8px;text-shadow:0 0 32px rgba(191,70,255,.72);letter-spacing:-4px}.tagline{font-size:24px;line-height:1.25;margin:0 0 12px;max-width:380px}.sub{color:var(--muted);line-height:1.55;margin:0 0 22px}.brand-accent{font-size:clamp(26px,6vw,32px);font-weight:750;line-height:1.2}.context-line{line-height:1.5;margin-top:4px}.chat-heading .avatar{flex-shrink:0}.chat-heading>div{min-width:0}.data-use{margin:0 0 16px;font-size:13px;color:var(--muted);line-height:1.5}.data-use summary{padding:12px 0;color:#dfb7ff;cursor:pointer}.data-use summary:focus-visible{outline:2px solid #a951e8;outline-offset:4px;border-radius:4px}.data-use p{margin:0 0 8px}.primary{border:1px solid rgba(255,255,255,.16);background:linear-gradient(95deg,#7727e9,#df3bd5);color:white;padding:16px 22px;border-radius:18px;font-weight:750;box-shadow:0 10px 34px rgba(160,50,245,.35);width:100%}.primary:disabled{opacity:.48;cursor:not-allowed}.secondary{border:1px solid var(--line);background:rgba(23,18,43,.7);color:var(--text);padding:13px 18px;border-radius:15px}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;padding:16px 18px;background:linear-gradient(180deg,rgba(7,8,18,.97),rgba(7,8,18,.78),transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.avatar{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 30%;border:1px solid rgba(205,118,255,.62);box-shadow:0 0 24px rgba(171,73,255,.25)}.title{font-weight:800}.tiny{font-size:12px;color:var(--muted)}.content{padding:16px 18px 110px}.headline{font-size:34px;line-height:1.1;margin:12px 0 8px}.lead{color:var(--muted);line-height:1.55;margin:0 0 22px}.card{background:linear-gradient(180deg,rgba(26,19,48,.86),rgba(13,14,29,.9));border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.field{margin:0 0 15px}.field label{display:block;font-size:13px;color:#cfc5dc;margin:0 0 7px}.field input{width:100%;border:1px solid rgba(172,121,224,.24);background:#0e1123;color:white;border-radius:14px;padding:14px 15px;outline:none}.field input:focus{border-color:#a951e8;box-shadow:0 0 0 3px rgba(169,81,232,.11)}.notice{font-size:13px;color:#c9bfd7;background:rgba(115,61,169,.13);border:1px solid rgba(181,104,238,.18);padding:12px;border-radius:14px;line-height:1.45;margin-bottom:14px}.error{color:#ffd0dc;border-color:rgba(255,84,130,.32);background:rgba(153,26,65,.17)}.chat{display:flex;flex-direction:column;gap:12px;padding-bottom:104px}.bubble{max-width:88%;padding:13px 15px;border-radius:18px;line-height:1.48;white-space:pre-wrap}.bubble.assistant{align-self:flex-start;background:linear-gradient(135deg,#19172e,#23163a);border:1px solid rgba(170,100,231,.24);border-top-left-radius:7px}.bubble.user{align-self:flex-end;background:linear-gradient(135deg,#7426dc,#c23bc4);border-top-right-radius:7px}.meta{font-size:11px;color:#aaa0bc;margin-top:5px}.composer{position:fixed;left:50%;bottom:74px;transform:translateX(-50%);width:min(calc(100% - 28px),492px);display:flex;gap:9px;padding:9px;background:rgba(9,10,22,.92);border:1px solid rgba(178,110,236,.2);border-radius:20px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;box-shadow:0 20px 45px rgba(0,0,0,.35)}.composer input{flex:1 1;background:transparent;border:0;outline:0;color:white;padding:9px 7px}.send{width:44px;height:44px;border:0;border-radius:15px;background:linear-gradient(135deg,#8e2fe8,#e347cf);color:white;font-size:20px}.nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,520px);height:68px;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(7,8,18,.94);border-top:1px solid rgba(179,108,232,.14);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:30;padding-bottom:env(safe-area-inset-bottom)}.nav button{border:0;background:transparent;color:#8e879b;font-size:12px}.nav button.active{color:#d979ff}.nav .ico{display:block;font-size:20px;margin-bottom:3px}.status{display:flex;gap:8px;align-items:center;color:#cbbfd7;font-size:13px}.dot{width:8px;height:8px;border-radius:50%;background:#7fffad;box-shadow:0 0 10px #7fffad}.dot.off{background:#ff7798;box-shadow:0 0 10px #ff7798}.chart-grid{display:grid;grid-template-columns:1fr;gap:12px}.astro-section h3{margin:0 0 10px;font-size:17px}.json-list{display:grid;gap:8px}.astro-row{padding:11px 12px;border-radius:14px;background:rgba(8,10,24,.62);border:1px solid rgba(171,105,229,.13);font-size:13px;overflow-wrap:anywhere}.astro-row strong{color:#e6b3ff}.profile-box{display:flex;align-items:center;gap:14px}.profile-box .avatar{width:64px;height:64px}.muted{color:var(--muted)}.spacer{height:12px}.danger{border-color:rgba(255,95,120,.3);color:#ff9eb2;background:rgba(100,18,37,.18);width:100%}.loader{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin .85s linear infinite;vertical-align:-3px;margin-right:7px}@keyframes spin{to{transform:rotate(1turn)}}.smallprint{font-size:12px;line-height:1.45;color:#8f879c;margin-top:12px}@media (min-width:700px){.shell{padding-top:24px;padding-bottom:24px}.phone{max-height:calc(100vh - 48px);border:1px solid rgba(212,167,255,.16);border-radius:36px;box-shadow:0 30px 100px rgba(0,0,0,.55)}.hero,.phone{min-height:860px}.nav{bottom:24px;border-radius:0 0 36px 36px}.composer{bottom:98px}}.mic{width:44px;height:44px;border:1px solid rgba(178,110,236,.22);border-radius:15px;background:rgba(52,30,81,.7);color:white;font-size:18px;flex:0 0 auto}.mic.recording{animation:pulseMic 1s ease-in-out infinite;box-shadow:0 0 0 0 rgba(239,74,216,.45)}@keyframes pulseMic{0%,to{box-shadow:0 0 0 0 rgba(239,74,216,.35)}50%{box-shadow:0 0 0 8px rgba(239,74,216,0)}}fieldset{margin:0;padding:0;border:0;min-width:0}fieldset:disabled{opacity:.65}select{font:inherit;width:100%;min-height:48px;background:#0e1123;color:var(--text);border:1px solid var(--line);border-radius:14px;padding:12px}.city-results{margin-top:16px}input{min-width:0;font-size:16px}.composer input{width:0;min-width:0}.send{flex:0 0 44px}.bubble{overflow-wrap:anywhere}.astro-row span{display:block;color:var(--muted);margin-top:5px}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid #e6b3ff;outline-offset:3px}.phone{max-height:none}.hero{min-height:100svh}.nav{height:calc(68px + env(safe-area-inset-bottom))}.composer{bottom:calc(74px + env(safe-area-inset-bottom))}@media(min-width:700px){.hero{min-height:820px}.nav{bottom:24px}.composer{bottom:calc(98px + env(safe-area-inset-bottom))}}@media(max-width:400px){.shell{padding-left:0;padding-right:0}.hero{padding:22px}.headline{font-size:30px}.content{padding-left:14px;padding-right:14px}.composer{gap:5px}.composer input{padding-left:3px}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;scroll-behavior:auto!important}}.chat-shell{padding-bottom:0}.chat-shell .chat{padding-bottom:var(--chat-bottom-space,0)}.chat-shell .composer{bottom:var(--composer-bottom,calc(74px + env(safe-area-inset-bottom)));align-items:flex-end}@media(min-width:700px){.chat-shell .composer{bottom:var(--composer-bottom,calc(98px + env(safe-area-inset-bottom)))}}.composer textarea{font:inherit;font-size:16px;line-height:24px;flex:1 1;width:0;min-width:0;min-height:42px;max-height:160px;resize:none;border:0;outline:0;background:transparent;color:white;padding:9px 7px;border-radius:0}.composer textarea:focus-visible{outline:1px solid var(--muted);outline-offset:1px}.bubble.assistant{white-space:normal}.bubble.assistant p{margin:0 0 .75em}.bubble.assistant h2,.bubble.assistant h3{font-size:1.06em;line-height:1.4;font-weight:700;margin:.8em 0 .5em}.bubble.assistant strong{font-weight:700}.bubble.assistant em{font-style:italic}.bubble.assistant ol,.bubble.assistant ul{padding-left:1.3em;margin:.6em 0}.bubble.assistant li{margin:.25em 0}.bubble.assistant>:first-child{margin-top:0}.bubble.assistant>:nth-last-child(2){margin-bottom:0}.composer{flex-wrap:wrap}.attach{width:44px;height:44px;border:1px solid rgba(178,110,236,.22);border-radius:15px;background:rgba(52,30,81,.7);color:white;font-size:18px;flex:0 0 auto}.attach:disabled{opacity:.5}.attach-preview{flex:0 0 100%;order:-1;display:flex;flex-wrap:wrap;gap:10px;padding:2px 0 4px}.attach-thumb{position:relative;width:64px;height:64px}.attach-thumb img{width:64px;height:64px;object-fit:cover;border-radius:12px;border:1px solid rgba(178,110,236,.3);display:block}.attach-remove{position:absolute;top:-6px;right:-6px;width:24px;height:24px;border:0;border-radius:50%;background:#2a1747;color:white;font-size:16px;line-height:1;padding:0}.voice-row{align-self:flex-start;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-4px 0 0 4px}.voice-btn{border:0;background:transparent;color:#a99bc4;border-radius:12px;padding:4px 8px;font-size:12px;line-height:1.2;opacity:.85}.voice-btn:active,.voice-btn:hover{background:rgba(82,46,125,.5);color:#e9ddff;opacity:1}.voice-loading{display:inline-flex;align-items:center;gap:8px;color:#bdb0d6;font-size:13px}.voice-error{color:#ffb4c8;font-size:12px;max-width:260px}.voice-player{display:flex;align-items:center;gap:10px;padding:5px 12px 5px 6px;border:1px solid rgba(178,110,236,.28);background:rgba(52,30,81,.55);border-radius:18px}.voice-play{width:30px;height:30px;border:0;border-radius:50%;background:linear-gradient(135deg,#8e2fe8,#e347cf);color:#fff;font-size:12px;line-height:1;padding:0;flex:0 0 auto}.voice-bar{display:block;width:84px;height:4px;border-radius:2px;background:rgba(255,255,255,.18);overflow:hidden}.voice-bar>span{display:block;height:100%;background:linear-gradient(90deg,#c58cff,#f07be0)}.voice-time{color:#cfc4e6;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}