:root{--bg:#0a0714;--panel:#ffffff0d;--border:#ffffff1a;--text:#ece8f6;--dim:#a89fc4;--serif:"Fraunces", Georgia, serif}.app{--accent:#c084fc;--accent2:#f0abfc;--user-bubble:linear-gradient(135deg, #7c3aed, #c026d3);--mood-hue:0deg}.app[data-mood=good]{--accent:#34d399;--accent2:#6ee7b7;--user-bubble:linear-gradient(135deg, #047857, #10b981);--mood-hue:-135deg}.app[data-mood=mixed]{--accent:#fbbf24;--accent2:#fde68a;--user-bubble:linear-gradient(135deg, #b45309, #f59e0b);--mood-hue:128deg}.app[data-mood=bad]{--accent:#f87171;--accent2:#fda4af;--user-bubble:linear-gradient(135deg, #be123c, #f43f5e);--mood-hue:80deg}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}#root{height:100dvh}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;font-family:Outfit,system-ui,sans-serif;overflow:hidden}button,input{touch-action:manipulation}.app{max-width:1020px;height:100%;padding:0 20px;padding-top:env(safe-area-inset-top);flex-direction:column;margin:0 auto;display:flex;position:relative}.aurora{z-index:-1;background:radial-gradient(ellipse at 20% -10%, #1e1040 0%, transparent 55%), radial-gradient(ellipse at 90% 110%, #2a0a33 0%, transparent 55%), var(--bg);filter:hue-rotate(var(--mood-hue));transition:filter 2.5s;position:fixed;inset:0;overflow:hidden}.aurora-blob{filter:blur(90px);opacity:.35;mix-blend-mode:screen;border-radius:50%;width:55vw;height:55vw;animation:26s ease-in-out infinite alternate drift;position:absolute}.aurora-blob.a{background:#6d28d9;top:-18%;left:-12%}.aurora-blob.b{background:#be185d;animation-duration:34s;animation-delay:-8s;bottom:-22%;right:-14%}.aurora-blob.c{opacity:.22;background:#1d4ed8;width:38vw;height:38vw;animation-duration:42s;animation-delay:-18s;top:35%;left:45%}@keyframes drift{0%{transform:translate(0)scale(1)rotate(0)}50%{transform:translate(9vw,-6vh)scale(1.15)rotate(30deg)}to{transform:translate(-7vw,7vh)scale(.9)rotate(-25deg)}}.stars{background-image:radial-gradient(1.5px 1.5px at 12% 22%,#fff8,#0000),radial-gradient(1px 1px at 34% 71%,#fff6,#0000),radial-gradient(2px 2px at 56% 15%,#fff7,#0000),radial-gradient(1px 1px at 71% 48%,#fff5,#0000),radial-gradient(1.5px 1.5px at 88% 79%,#fff8,#0000),radial-gradient(1px 1px at 45% 91%,#fff5,#0000),radial-gradient(1.5px 1.5px at 8% 62%,#fff6,#0000),radial-gradient(1px 1px at 93% 33%,#fff7,#0000);animation:6s ease-in-out infinite alternate twinkle;position:absolute;inset:0}@keyframes twinkle{0%{opacity:.35}to{opacity:.9}}.header{justify-content:space-between;align-items:baseline;padding:20px 4px 14px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand h1{font-family:var(--serif);letter-spacing:.01em;color:var(--text);font-size:28px;font-weight:600;transition:color 1.2s}.brand h1:after{content:".";color:var(--accent);transition:color 1.2s}.tagline{color:var(--dim);font-size:12.5px;font-style:italic;font-family:var(--serif)}.header-right{align-items:center;gap:12px;display:flex}.tier-chip{color:var(--accent2);border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);white-space:nowrap;border-radius:999px;padding:4px 12px;font-size:11.5px;transition:color 1.2s,border-color 1.2s}.ghost-btn{border:none;border-bottom:1px dashed color-mix(in srgb, var(--dim) 55%, transparent);color:var(--dim);cursor:pointer;background:0 0;padding:4px 2px;font-family:inherit;font-size:13px;transition:color .25s,border-color .25s}.ghost-btn:hover{color:var(--accent2);border-bottom-color:var(--accent2)}.settings{background:var(--panel);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;margin-bottom:10px;padding:14px 18px}.settings label{color:var(--dim);flex-direction:column;gap:8px;font-size:13px;display:flex}.settings label+label{margin-top:12px}.settings input{border:1px solid var(--border);color:var(--text);background:#0000004d;border-radius:10px;outline:none;padding:10px 14px;font-family:inherit;font-size:15px}.settings input:focus{border-color:var(--accent)}.admin-panel{background:var(--panel);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:14px;margin-bottom:10px;padding:14px 16px}.admin-head{color:var(--text);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:14px;display:flex}.admin-error{color:#fca5a5;margin:0 0 8px;font-size:13px}.admin-empty{color:var(--dim);margin:8px 0 0;font-size:13px}.admin-list{flex-direction:column;gap:10px;max-height:360px;display:flex;overflow:auto}.admin-row{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:10px;display:flex}.admin-row.disabled{opacity:.55}.admin-row-main{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-label{border:1px solid var(--border);color:var(--text);font:inherit;background:#0000004d;border-radius:8px;min-width:100px;max-width:160px;padding:6px 10px;font-size:13px}.admin-key{color:var(--dim);font-size:11px}.admin-you,.admin-badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);color:var(--accent2);border-radius:999px;padding:2px 8px;font-size:10px}.admin-row-meta{color:var(--dim);gap:12px;font-size:12px;display:flex}.admin-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-row-actions select{border:1px solid var(--border);color:var(--text);font:inherit;background:#00000059;border-radius:8px;padding:5px 8px;font-size:12px}.orb{border-radius:50%;flex-shrink:0;position:relative}.orb-core{filter:hue-rotate(var(--mood-hue));background:radial-gradient(circle at 32% 28%,#fdf4ff 0%,#f0abfc 22%,#c084fc 48%,#7c3aed 78%,#4c1d95 100%);border-radius:50%;transition:filter 2s;position:absolute;inset:0;box-shadow:0 0 24px #c084fc99,0 0 70px #7c3aed55,inset 0 0 18px #fdf4ff33}.orb-ring{filter:hue-rotate(var(--mood-hue));border:1.5px solid #f0abfc55;border-top-color:#f0abfcee;border-radius:50%;transition:filter 2s;animation:3.5s linear infinite spin;position:absolute;inset:-18%}.orb-researching .orb-ring{border-top-color:#67e8f9;animation-duration:.8s}.orb-thinking .orb-ring{animation-duration:1.4s}@keyframes spin{to{transform:rotate(360deg)}}.orb-glint{filter:blur(2px);background:#fffc;border-radius:50%;width:26%;height:18%;position:absolute;top:16%;left:20%;transform:rotate(-25deg)}.globe-wrap{border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);height:min(46vh,480px);box-shadow:0 10px 60px color-mix(in srgb, var(--accent) 18%, transparent), inset 0 0 0 1px #ffffff0a;background:radial-gradient(circle at 50% 40%,#14102a,#060410);border-radius:22px;flex-shrink:0;transition:height .6s cubic-bezier(.22,1,.36,1),border-color 1.5s,box-shadow 1.5s;position:relative;overflow:hidden}.globe-wrap.compact{height:min(30vh,280px)}.globe-canvas,.globe-canvas .cesium-viewer{width:100%;height:100%}.cesium-viewer .cesium-widget-credits{transform-origin:0 100%;opacity:.5;transform:scale(.75)}.cesium-performanceDisplay-defaultContainer{display:none}.globe-loading{color:var(--dim);font-size:14px;font-style:italic;font-family:var(--serif);background:radial-gradient(circle at 50% 40%,#14102a,#060410);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.globe-search{align-items:center;gap:8px;width:min(320px,60%);display:flex;position:absolute;top:12px;left:14px}.globe-search input{border:1px solid var(--border);color:var(--text);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0714cc;border-radius:12px;outline:none;flex:1;padding:10px 15px;font-family:inherit;font-size:14px;transition:border-color .25s}.globe-search input:focus{border-color:var(--accent)}.globe-search input::placeholder{color:#a89fc499;font-style:italic}.globe-results{border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0d0919f2;border-radius:12px;list-style:none;position:absolute;top:46px;left:0;right:0;overflow:hidden;box-shadow:0 12px 40px #0008}.globe-results button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:10px 15px;font-family:inherit;font-size:13.5px;display:block}.globe-results li+li button{border-top:1px solid #ffffff0d}.globe-results button:hover{background:color-mix(in srgb, var(--accent) 14%, transparent)}.globe-orbit-btn{border:1px solid var(--border);color:var(--dim);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0714b8;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:12px;transition:color .2s,border-color .2s;position:absolute;bottom:14px;right:14px}.globe-orbit-btn:hover{color:var(--text);border-color:var(--accent)}.globe-hint{color:#ece8f6bb;border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#0a071488;border-radius:999px;padding:5px 12px;font-size:11.5px;animation:1s .5s both hint-fade;position:absolute;top:16px;right:14px}@keyframes hint-fade{0%{opacity:0;transform:translateY(-6px)}to{opacity:1}}.focusbar{border-left:3px solid var(--accent);background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 9%, transparent), transparent 70%);color:var(--dim);border-radius:4px 12px 12px 4px;align-items:center;gap:12px;margin-top:10px;padding:9px 16px;font-size:13.5px;transition:border-color 1.2s,background 1.2s;display:flex}.focus-label strong{color:var(--accent2);font-weight:600;font-family:var(--serif);font-style:italic;transition:color 1.2s}.mini-btn{border:none;border-bottom:1px dashed color-mix(in srgb, var(--dim) 55%, transparent);color:var(--dim);cursor:pointer;background:0 0;padding:2px 1px;font-family:inherit;font-size:12px;transition:color .2s,border-color .2s}.mini-btn:hover{color:var(--accent2);border-bottom-color:var(--accent2)}.mini-btn.clear{margin-left:auto}.chat{scrollbar-width:thin;scrollbar-color:#fff2 transparent;flex-direction:column;flex:1;gap:22px;padding:16px 4px 24px;display:flex;overflow-y:auto}.hero{text-align:center;flex-direction:column;align-items:center;gap:20px;margin:auto;padding:16px 0;display:flex}.hero-line{font-family:var(--serif);color:var(--dim);max-width:520px;font-size:21px;font-style:italic;font-weight:400;line-height:1.5}.suggestions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.chip{border:1px solid var(--border);color:var(--dim);cursor:pointer;background:0 0;border-radius:999px;padding:9px 18px;font-family:inherit;font-size:14px;transition:border-color .25s,color .25s}.chip:hover{border-color:var(--accent);color:var(--text)}.suggestions .chip:nth-child(2){transform:rotate(-.6deg)}.suggestions .chip:nth-child(3){transform:rotate(.5deg)}.msg{max-width:78%;font-size:15.5px;line-height:1.65}.msg-user{background:var(--user-bubble);box-shadow:0 6px 24px color-mix(in srgb, var(--accent) 24%, transparent);border-radius:18px 18px 4px;align-self:flex-end;padding:11px 17px;transition:background 1.2s,box-shadow 1.2s}.msg-ai{border-left:2px solid color-mix(in srgb, var(--accent) 45%, transparent);flex-direction:column;align-self:flex-start;gap:10px;padding:2px 0 2px 18px;transition:border-color 1.2s;display:flex}.msg-byline{font-family:var(--serif);color:var(--accent2);font-size:13px;font-style:italic;transition:color 1.2s}.md :is(p,ul,ol){margin:0 0 8px}.md :is(p,ul,ol):last-child{margin-bottom:0}.md ul,.md ol{padding-left:22px}.md a{color:var(--accent2);border-bottom:1px dotted color-mix(in srgb, var(--accent2) 45%, transparent);text-decoration:none;transition:color 1.2s}.md a:hover{border-bottom-style:solid}.md code{background:#0005;border-radius:6px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:13px}.md strong{color:#fff}.thoughts-toggle{color:var(--dim);font-family:var(--serif);cursor:pointer;opacity:.85;text-align:left;background:0 0;border:none;padding:0;font-size:13px;font-style:italic}.thoughts-toggle:hover{color:var(--accent2)}.thoughts-body{color:var(--dim);border-left:2px solid color-mix(in srgb, var(--accent) 33%, transparent);white-space:pre-wrap;max-height:240px;margin-top:8px;padding-left:12px;font-size:13px;font-style:italic;overflow:hidden auto}.toolstrip{flex-direction:column;gap:5px;display:flex}.toolchip{color:var(--dim);align-items:center;gap:8px;width:fit-content;max-width:100%;font-size:12.5px;display:inline-flex}.toolchip em{color:#86efac;opacity:.85;font-style:normal}.toolchip em:before{content:"· ";color:var(--dim)}.tooldot{background:#67e8f9;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1s ease-in-out infinite dot-pulse}.tooldot.done{background:#4ade80;animation:none}@keyframes dot-pulse{50%{opacity:.3}}.spinner{border:2px solid #67e8f955;border-top-color:#67e8f9;border-radius:50%;width:11px;height:11px;animation:.7s linear infinite spin}.spinner.big{border-width:3px;border-color:#c084fc44;border-top-color:var(--accent);width:34px;height:34px}.spinner.tiny{flex-shrink:0}.typing{gap:5px;padding:4px 2px;display:flex}.typing span{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite bounce}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-7px)}}.pcard{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 12%, transparent), color-mix(in srgb, var(--accent2) 7%, transparent));border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);box-shadow:0 8px 40px color-mix(in srgb, var(--accent) 18%, transparent), inset 0 1px 0 #ffffff14;border-radius:18px;align-items:center;gap:20px;margin-top:6px;padding:18px 22px;transition:background 1.2s,border-color 1.2s,box-shadow 1.2s;display:flex}.pcard-gauge{flex-shrink:0;position:relative}.pcard-prob{text-align:center;font-size:30px;font-weight:700;position:absolute;bottom:4px;left:0;right:0}.pcard-prob span{opacity:.8;font-size:16px}.pcard-body{flex-direction:column;gap:8px;min-width:0;display:flex}.pcard-verdict{font-family:var(--serif);color:#fff;font-size:18px;font-weight:600;line-height:1.35}.pcard-meta{flex-wrap:wrap;gap:8px;display:flex}.pill{border:1px solid var(--border);color:var(--dim);border-radius:999px;padding:4px 11px;font-size:11.5px}.pill-high{color:#86efac;border-color:#4ade8066}.pill-medium{color:#fcd34d;border-color:#fbbf2466}.pill-low{color:#fca5a5;border-color:#f8717166}.pcard-factors{color:var(--dim);font-size:13px;list-style:none}.pcard-factors li{padding:2px 0 2px 16px;position:relative}.pcard-factors li:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;transition:background 1.2s;position:absolute;top:9px;left:0}.composer{padding:12px 0 calc(22px + env(safe-area-inset-bottom));gap:10px;display:flex}.composer input{background:var(--panel);border:1px solid var(--border);color:var(--text);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:999px;outline:none;flex:1;padding:15px 24px;font-family:inherit;font-size:15.5px;transition:border-color .25s,box-shadow .25s}.composer input:focus{border-color:var(--accent);box-shadow:0 0 28px color-mix(in srgb, var(--accent) 20%, transparent)}.composer input::placeholder{color:#a89fc488;font-style:italic}.send{background:var(--user-bubble);color:#fff;cursor:pointer;width:52px;height:52px;box-shadow:0 4px 22px color-mix(in srgb, var(--accent) 40%, transparent);border:none;border-radius:50%;font-size:18px;transition:opacity .2s,background 1.2s,box-shadow 1.2s}.send:disabled{opacity:.35;cursor:default}.send.stop{box-shadow:none;background:#3f3f46;font-size:14px}@media (pointer:coarse){.composer input,.globe-search input,.settings input{font-size:16px}}@media (width<=640px){.app{padding:0 12px;padding-top:env(safe-area-inset-top)}.header{align-items:center;padding:12px 2px 10px}.brand{gap:10px}.brand h1{font-size:22px}.tagline{display:none}.ghost-btn{font-size:12px}.header-right{gap:8px}.tier-chip{padding:3px 9px;font-size:10.5px}.globe-wrap{border-radius:16px;height:min(34vh,320px)}.globe-wrap.compact{height:min(24vh,190px)}.globe-search{width:calc(100% - 28px)}.globe-hint{display:none}.globe-orbit-btn{bottom:10px;right:10px}.hero{gap:14px;padding:10px 0}.hero-line{font-size:17px}.chip{padding:8px 14px;font-size:13px}.chat{gap:18px;padding:12px 2px 16px}.msg{max-width:94%;font-size:15px}.msg-ai{padding-left:12px}.focusbar{flex-wrap:wrap;gap:8px;padding:8px 12px;font-size:12.5px}.pcard{text-align:center;flex-direction:column;gap:10px;padding:16px}.pcard-factors li{text-align:left}.pcard-verdict{font-size:16px}.composer{padding-top:8px}.composer input{padding:13px 18px}.send{width:48px;height:48px}}
