:root{--bg: #070A14;--bg-2: #0B1020;--surface: #111729;--surface-2: #182036;--line: rgba(148, 163, 184, .16);--text: #E8EEF9;--muted: #9AA7BF;--faint: #7B88A3;--cyan: #35D0FF;--violet: #8B5CF6;--pink: #F472B6;--teal: #2DD4BF;--green: #22D37F;--red: #FF5A6E;--amber: #FFB547;--glow-cyan: 0 0 24px rgba(53, 208, 255, .35);--r: 16px;--r-sm: 10px;--nav-h: 64px;--sab: env(safe-area-inset-bottom, 0px);--sat: env(safe-area-inset-top, 0px);--font: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--dur: .18s;--ease: cubic-bezier(.2, .8, .2, 1)}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{margin:0;font:16px/1.5 var(--font);color:var(--text);background:var(--bg);min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}img,svg{display:block;max-width:100%}a{color:var(--cyan)}h1,h2,h3{margin:0;line-height:1.25;font-weight:650;letter-spacing:-.01em}h1{font-size:22px}h2{font-size:17px}h3{font-size:15px}p{margin:0}ul,ol{margin:0;padding-left:20px}.num{font-variant-numeric:tabular-nums}.skip{position:absolute;left:-999px;top:8px;background:var(--surface);padding:8px 12px;border-radius:8px;z-index:100}.skip:focus{left:8px}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.noscript{padding:24px;text-align:center}.bg-glow{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(620px 420px at 88% -8%,rgba(139,92,246,.22),transparent 62%),radial-gradient(520px 380px at -12% 28%,rgba(53,208,255,.13),transparent 62%),radial-gradient(720px 520px at 50% 112%,rgba(45,212,191,.1),transparent 62%)}main{padding-bottom:calc(var(--nav-h) + var(--sab))}.view{min-height:calc(100dvh - var(--nav-h) - var(--sab));padding:var(--sat) 16px 24px;max-width:760px;margin:0 auto}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;min-height:60px;padding:10px 0;background:linear-gradient(var(--bg) 78%,transparent)}.topbar .title{flex:1;min-width:0}.topbar h1{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .sub{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-weight:550;white-space:nowrap;transition:background var(--dur),transform .1s,opacity var(--dur)}.btn:active{transform:scale(.97)}.btn:hover{background:var(--surface-2)}.btn-primary{background:linear-gradient(135deg,var(--cyan),var(--violet));border:0;color:#06101c;font-weight:700;box-shadow:var(--glow-cyan)}.btn-primary:hover{background:linear-gradient(135deg,var(--cyan),var(--violet));filter:brightness(1.06)}.btn-ghost{background:transparent;border-color:transparent}.btn-danger{color:var(--red);border-color:#ff5a6e66}.btn-danger.solid{background:var(--red);color:#1a0509;border:0}.btn[disabled],.btn[aria-disabled=true]{opacity:.45;pointer-events:none}.btn-sm{min-height:36px;padding:0 12px;font-size:14px;border-radius:10px}.icon-btn{width:44px;height:44px;padding:0;border-radius:12px;flex:none}.icon-btn svg{width:22px;height:22px}.btn svg{width:18px;height:18px;flex:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px}.card+.card{margin-top:12px}.card h2{margin-bottom:10px;display:flex;align-items:center;gap:8px}.card h2 svg{width:18px;height:18px;color:var(--cyan);flex:none}.muted{color:var(--muted)}.faint{color:var(--faint)}.small{font-size:14px}.xs{font-size:12px}.row{display:flex;align-items:center;gap:8px}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.stack{display:grid;gap:8px}.mt{margin-top:12px}.mb{margin-bottom:12px}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 10px 0 12px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:13px;max-width:100%}.chip .x{width:28px;height:28px;border-radius:50%;border:0;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center}.chip .x svg{width:16px;height:16px}.chip svg.k{width:16px;height:16px;color:var(--cyan)}.pill{display:inline-block;font-size:11px;line-height:18px;padding:1px 8px;border-radius:999px;font-weight:650;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.pill.tinggi{background:#ff5a6e2e;color:#ff9aa4}.pill.sederhana{background:#ffb5472e;color:#ffd08a}.pill.rendah{background:#94a3b82e;color:#c3cdde}.pill.positif,.pill.naik,.pill.searah{background:#22d37f29;color:#6fedb0}.pill.negatif,.pill.turun,.pill.berlawanan{background:#ff5a6e29;color:#ff9aa4}.pill.neutral,.pill.tidak_pasti,.pill.campur{background:#94a3b829;color:#c3cdde}.pill.contoh{background:#8b5cf638;color:#c9b6ff}.nav{position:fixed;left:0;right:0;bottom:0;z-index:30;height:calc(var(--nav-h) + var(--sab));padding:0 6px var(--sab);display:flex;background:#0b1020f7;border-top:1px solid var(--line)}.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:var(--nav-h);background:none;border:0;color:var(--muted);font-size:11px;font-weight:550;position:relative;border-radius:12px}.nav-btn svg{width:24px;height:24px}.nav-btn[aria-current=page]{color:var(--cyan)}.nav-btn[aria-current=page]:before{content:"";position:absolute;top:0;width:28px;height:3px;border-radius:0 0 3px 3px;background:var(--cyan);box-shadow:0 0 12px var(--cyan)}.nav-btn .dot{position:absolute;top:10px;right:calc(50% - 18px);width:8px;height:8px;border-radius:50%;background:var(--pink);box-shadow:0 0 8px var(--pink)}.view-chat{display:flex;flex-direction:column;height:calc(100dvh - var(--nav-h) - var(--sab));min-height:0;padding-bottom:0}.msgs{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:8px 0 16px;scroll-behavior:smooth}.msg{display:flex;gap:10px;max-width:94%;animation:fadeup var(--dur) var(--ease)}.msg.user{align-self:flex-end;flex-direction:row-reverse}.bubble{padding:10px 14px;border-radius:18px;background:var(--surface);border:1px solid var(--line);overflow-wrap:anywhere;min-width:0}.msg.user .bubble{background:linear-gradient(135deg,#35d0ff2e,#8b5cf63d);border-color:#35d0ff47;border-bottom-right-radius:6px;white-space:pre-wrap}.msg.ai .bubble{border-bottom-left-radius:6px}.msg.ralat .bubble{border-color:#ff5a6e73}.msg .meta{font-size:11px;color:var(--faint);margin-top:6px}.msg .files{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.msg .files span{font-size:12px;background:#ffffff14;border-radius:8px;padding:2px 8px}.mini-avatar{width:32px;height:32px;flex:none;margin-top:4px}.md h1,.md h2,.md h3{margin:12px 0 6px;font-size:15px;color:var(--cyan)}.md h1:first-child,.md h2:first-child,.md h3:first-child,.md p:first-child{margin-top:0}.md p{margin:6px 0}.md ul,.md ol{margin:6px 0;padding-left:20px}.md li{margin:3px 0}.md table{border-collapse:collapse;font-size:13px;margin:8px 0;display:block;overflow-x:auto;max-width:100%}.md th,.md td{border:1px solid var(--line);padding:4px 8px;text-align:left;white-space:nowrap}.md th{background:var(--surface-2)}.md code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;background:var(--surface-2);padding:1px 5px;border-radius:4px}.md a{word-break:break-all}.md hr{border:0;border-top:1px solid var(--line);margin:10px 0}.kad{display:grid;gap:8px}.kad .act{font-size:24px;font-weight:800}.composer{flex:none;padding:8px 0;background:linear-gradient(transparent,var(--bg) 25%)}.attach-list{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.composer-box{display:flex;align-items:flex-end;gap:4px;padding:5px;border:1px solid var(--line);border-radius:24px;background:var(--surface);transition:border-color var(--dur),box-shadow var(--dur)}.composer-box:focus-within{border-color:#35d0ff80;box-shadow:0 0 0 3px #35d0ff1f}.composer textarea{flex:1;min-width:0;max-height:140px;min-height:42px;padding:9px 6px;border:0;background:transparent;resize:none;outline:none;font-size:16px;line-height:1.4}.composer .hint{font-size:12px;color:var(--faint);padding:6px 12px 0;display:flex;justify-content:space-between;gap:8px}.status{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);min-height:20px}.status .dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);flex:none}.status.busy .dot{background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:pulse 1s infinite}.status.off .dot{background:var(--amber);box-shadow:0 0 8px var(--amber)}.suggest{display:flex;gap:8px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none}.suggest::-webkit-scrollbar{display:none}.suggest .chip{flex:none;min-height:38px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes fadeup{0%{opacity:0;transform:translateY(6px)}}.avatar{width:48px;height:48px;flex:none}.avatar .core{animation:breathe 3.2s ease-in-out infinite;transform-origin:50% 50%;transform-box:fill-box}.avatar .orbit{animation:spin 26s linear infinite;transform-origin:50% 50%;transform-box:fill-box}.avatar.busy .core{animation-duration:1.1s}.avatar.busy .orbit{animation-duration:5s}@keyframes breathe{0%,to{transform:scale(1);opacity:.92}50%{transform:scale(1.14);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}.hero{display:grid;justify-items:center;text-align:center;gap:10px;padding:28px 8px 16px}.hero .avatar{width:112px;height:112px}.hero p{color:var(--muted);max-width:34ch}.verdict{position:relative;overflow:hidden}.verdict:before{content:"";position:absolute;inset:-40% -20% auto auto;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--vc, var(--cyan)) 0%,transparent 65%);opacity:.18;pointer-events:none}.verdict .act{font-size:34px;font-weight:800;letter-spacing:.01em;line-height:1.1}.act-BELI{--vc: var(--green);color:var(--green)}.act-JUAL{--vc: var(--red);color:var(--red)}.act-TAHAN{--vc: var(--amber);color:var(--amber)}.act-PERHATI{--vc: var(--cyan);color:var(--cyan)}.act-ELAK{--vc: #F87171;color:#f87171}.verdict.act-BELI:before{--vc: var(--green)}.verdict.act-JUAL:before{--vc: var(--red)}.verdict.act-TAHAN:before{--vc: var(--amber)}.verdict.act-PERHATI:before{--vc: var(--cyan)}.verdict.act-ELAK:before{--vc: #F87171}.meter{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.meter>i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--cyan),var(--violet));box-shadow:0 0 10px #35d0ff80}.kv{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kv div{background:var(--surface-2);border-radius:10px;padding:8px 10px;min-width:0}.kv b{display:block;font-size:11px;color:var(--muted);font-weight:550;text-transform:uppercase;letter-spacing:.04em}.kv span{font-weight:650;font-size:15px;overflow-wrap:anywhere}.scores{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.score{background:var(--surface-2);border-radius:12px;padding:10px}.score b{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);font-weight:550;margin-bottom:6px}.score b em{font-style:normal;color:var(--text);font-weight:700}.list{display:grid;gap:8px}.item{padding:10px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line)}.item b{display:block}.item .row{justify-content:space-between;align-items:flex-start}.item p{font-size:14px;color:var(--muted);margin-top:2px}.chain{display:grid;gap:6px}.chain .arrow{display:flex;align-items:center;gap:8px;font-size:14px}.chain .arrow svg{width:16px;height:16px;color:var(--faint);flex:none}.stock-card{display:flex;gap:12px;align-items:center;width:100%;text-align:left}.stock-card .orb{width:44px;height:44px;border-radius:50%;flex:none;background:radial-gradient(circle at 40% 35%,#fff 0%,var(--vc, var(--cyan)) 30%,transparent 72%);box-shadow:0 0 18px var(--vc, var(--cyan))}.graph{position:relative;height:480px;border-radius:14px;background:radial-gradient(circle at 50% 50%,rgba(53,208,255,.07),transparent 60%),var(--bg-2);border:1px solid var(--line);overflow:hidden;touch-action:pan-y}.graph canvas{width:100%;height:100%;display:block}.graph .tip{position:absolute;left:10px;top:10px;font-size:12px;color:var(--faint);pointer-events:none}.legend{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:8px;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;vertical-align:-1px;box-shadow:0 0 6px currentColor}.chart svg{width:100%;height:auto}.chart .cap{font-size:13px;color:var(--muted);margin-top:4px}.chart table{width:100%;border-collapse:collapse;font-size:13px;margin-top:8px}.chart td,.chart th{padding:4px 6px;border-bottom:1px solid var(--line);text-align:right}.chart th:first-child,.chart td:first-child{text-align:left}.file{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line)}.file .ico{width:40px;height:40px;border-radius:10px;background:#35d0ff1f;color:var(--cyan);display:grid;place-items:center;flex:none}.file .ico svg{width:20px;height:20px}.file .name{font-weight:550;overflow-wrap:anywhere}.file .sub{font-size:12px;color:var(--muted)}.file.trash{opacity:.75}.storage{height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden}.storage i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--cyan))}.field{display:grid;gap:6px;margin-bottom:14px}.field label{font-size:14px;font-weight:550}.field .help{font-size:12px;color:var(--faint)}.input{min-height:44px;padding:0 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface-2);width:100%;font-size:16px}.input:focus{outline:none;border-color:#35d0ff99;box-shadow:0 0 0 3px #35d0ff1f}select.input{appearance:none;-webkit-appearance:none;padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 19px,calc(100% - 13px) 19px;background-size:5px 5px;background-repeat:no-repeat}.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 0}.switch input{appearance:none;width:48px;height:28px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);position:relative;flex:none;transition:background var(--dur);margin:0}.switch input:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--muted);transition:transform var(--dur),background var(--dur)}.switch input:checked{background:#35d0ff59;border-color:var(--cyan)}.switch input:checked:after{transform:translate(20px);background:var(--cyan);box-shadow:0 0 8px var(--cyan)}.err{color:#ff9aa4;font-size:13px}.scrim{position:fixed;inset:0;z-index:40;background:#03060ebd;display:flex;align-items:flex-end;justify-content:center;animation:fade var(--dur)}.scrim.center{align-items:center;padding:16px}.sheet{width:100%;max-width:760px;max-height:86dvh;overflow:auto;background:var(--surface);border-radius:20px 20px 0 0;padding:10px 16px calc(16px + var(--sab));border-top:1px solid var(--line);animation:up .22s var(--ease)}.sheet .grab{width:40px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 12px}.sheet h2,.dialog h2{margin-bottom:8px}.sheet .actions,.dialog .actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}.dialog{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;animation:up .22s var(--ease)}.dialog p{color:var(--muted)}@keyframes up{0%{transform:translateY(24px);opacity:0}}@keyframes fade{0%{opacity:0}}.toasts{position:fixed;left:12px;right:12px;bottom:calc(var(--nav-h) + var(--sab) + 12px);z-index:50;display:grid;gap:8px;pointer-events:none;max-width:480px;margin:0 auto}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:#1b2340;border:1px solid var(--line);box-shadow:0 8px 30px #00000073;font-size:14px;animation:up .2s var(--ease)}.toast.ok{border-color:#22d37f73}.toast.ralat{border-color:#ff5a6e8c}.toast button{margin-left:auto}.empty{text-align:center;padding:40px 16px;color:var(--muted)}.empty svg{width:40px;height:40px;margin:0 auto 12px;color:var(--faint)}.spin{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.18);border-top-color:var(--cyan);animation:spin .8s linear infinite;flex:none}.src a{font-size:13px}details.card summary{cursor:pointer;font-weight:650;display:flex;align-items:center;gap:8px;list-style:none;min-height:32px}details.card summary::-webkit-details-marker{display:none}details.card summary:after{content:"+";margin-left:auto;color:var(--muted);font-size:20px}details.card[open] summary:after{content:"\2013"}details.card[open] summary{margin-bottom:10px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(min-width:768px){.view{padding-left:24px;padding-right:24px}.kv{grid-template-columns:repeat(3,1fr)}}@media(max-width:360px){.kv,.scores{grid-template-columns:1fr 1fr}}
/*# sourceMappingURL=app.css.map */
