html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--font-main: "Inter", system-ui, -apple-system, sans-serif;--bg-color: #0f172a;--panel-bg: #182232;--text-main: #e2e6ea;--text-muted: #a3b2c7;--accent: #97e2fc;--error: #ef4444;--glass-border: rgba(255, 255, 255, .17);font-family:var(--font-main);line-height:1.5;color:var(--text-main);background-color:var(--panel-bg);font-synthesis:none;letter-spacing:.008em;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100vh}body{width:100vw;overflow:hidden;position:fixed;top:0;left:0;overscroll-behavior:none;display:flex;justify-content:center;align-items:center;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-moz-font-smoothing:antialiased;text-rendering:geometricPrecision}body{scrollbar-color:#535c67 transparent;scrollbar-width:thin}@supports (-moz-appearance: none){body{scrollbar-color:#535c67 transparent;scrollbar-width:thin}}#app{width:100%;height:100%;display:flex;justify-content:center;align-items:center}input,button,textarea{font-family:inherit;outline:none}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible{outline:1px solid var(--accent);outline-offset:3px}button{letter-spacing:.01em}a{text-decoration:none}.chat-wrapper{width:100%;height:-webkit-fill-available;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.chat-header{padding:10px;border-bottom:1px solid var(--glass-border);display:flex;justify-content:space-between;align-items:center;background:#313b49;flex-shrink:0;z-index:10;position:relative}.header-info{display:flex;align-items:center;gap:12px}.status-indicator{width:10px;height:10px;border-radius:50%}.status-indicator.active{background:#10b981;box-shadow:0 0 7px #10b981}.status-indicator.error{background:#f59e0b;box-shadow:0 0 7px #f59e0b}.status-indicator.loading{background:#97e2fc;box-shadow:0 0 7px #97e2fc;animation:pulse-dot .7s infinite}.status-indicator.offline{background:#ef4444;box-shadow:0 0 7px #ef4444;animation:pulse-dot .7s infinite}@keyframes pulse-dot{0%{opacity:.4;transform:scale(.7)}50%{opacity:1;transform:scale(1)}to{opacity:.4;transform:scale(.7)}}.header-badge{font-size:.8rem;background:#1c293e;color:var(--accent);padding:5.4px 12px;border-radius:8px;border:1px solid rgba(56,189,248,.5);text-decoration:none;transition:all .2s ease;letter-spacing:.01em}.header-badge:hover{background:#081a40;border-color:#f59e0b;transform:translateY(-2px)}.header-titles{display:flex;flex-direction:column;line-height:1.2}h1{font-size:1rem;font-weight:500;margin:0}.session-name{font-size:.8rem;color:var(--text-muted);letter-spacing:.01em}.header-meta{display:flex;align-items:center;gap:10px}.focus-status{font-size:.8rem;background:#1c293e;color:var(--accent);padding:7px;border-radius:8px;border:1px solid rgba(56,189,248,.5);text-decoration:none;transition:all .2s ease;letter-spacing:.01em}.focus-status--clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.focus-status--clickable:hover{background:#081a40;border-color:#f59e0b;transform:translateY(-2px)}.focus-status--clickable:active{transform:scale(.95)}.focus-status--clickable:disabled{cursor:not-allowed;opacity:.5}.focus-status--clickable:disabled:hover{background:#1c293e;color:var(--accent);border-color:#38bdf880;transform:translateY(0)}.focus-status.is-fokus{color:#d7e596;border-color:#d7e59680;background:#1c293e;font-weight:500}.focus-status.is-fokus:hover{background:#081a40;border-color:#f59e0b}.focus-status.is-fokus:disabled:hover{color:#d7e596;border-color:#d7e59680;background:#1c293e}.focus-context-bar{background:#242c36;border-bottom:1px solid var(--glass-border);padding:6px 20px;font-size:.75rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;z-index:8;animation:slideDown .17s ease-in}.focus-context-bar strong{color:#d7e596;font-weight:500}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.messages-container{flex:1;overflow-y:auto;padding:20px 20px 90px;display:flex;flex-direction:column;gap:20px}.message-row{display:flex;width:100%}.history-divider{width:100%;text-align:center;margin:10px 0;display:flex;align-items:center;justify-content:center;letter-spacing:.01em}.history-divider:before{content:"";flex:1;height:1px;background:var(--glass-border)}.history-divider:after{content:"";flex:1;height:1px;background:var(--glass-border)}.history-divider span{font-size:.8rem;color:#94a3b8;padding:4px 12px}.message-row.user{justify-content:flex-end}.message-group{display:flex;flex-direction:column;max-width:100%}.user .message-group{align-items:flex-end}.assistant .message-group{align-items:flex-start}.message-bubble{max-width:100%;padding:12px 18px;border-radius:18px;font-size:.95rem;line-height:1.5;overflow-wrap:break-word;word-wrap:break-word}.user .message-bubble{background:#97e2fc;color:#000;border-bottom-right-radius:4px;padding:7px 14px}.user .message-content::selection{background:var(--text-muted)}.user .message-content::-moz-selection{background:var(--text-muted)}.assistant .message-bubble{background:transparent;border:0;padding:0;border-radius:0}.message-time{font-size:.725rem;color:#94a3b8;line-height:1;letter-spacing:.01em}.user .message-time{text-align:right;margin-top:10px}.message-row.error-state .message-bubble{border:1px solid rgba(239,68,68,.4);background:#ef44440d;padding:12px 18px;color:#fca5a5;border-radius:18px 18px 18px 0}.message-row.error-state .message-bubble .markdown-body strong{font-weight:500;color:#fca5a5}.message-row.error-state .message-bubble p:last-child{margin-bottom:0}.retry-btn{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:7.6px 12px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:8px;color:#f59e0b;font-size:.8rem;cursor:pointer;transition:all .2s ease}.retry-btn:hover:not(:disabled){background:#f59e0b33;border-color:#f59e0b80;transform:translateY(-2px)}.retry-btn:disabled{opacity:.6;cursor:not-allowed}.chat-footer{padding:10px;border-top:1px solid var(--glass-border);background:#313b49;flex-shrink:0;padding-bottom:calc(env(safe-area-inset-bottom) + 10px);position:relative;z-index:10}.input-container{display:flex;align-items:center;background:#182232;border:1px solid var(--glass-border);border-radius:8px;padding:0 10px;transition:border-color .2s ease}.input-container:focus-within,.input-container.active-menu{border-color:#f59e0b}textarea{flex:1;background:transparent;border:none;outline:none;color:var(--text-main);resize:none;font-size:1rem;display:block;padding:12px 0;line-height:1.5}textarea:focus{outline:none}textarea::-moz-placeholder,textarea::-webkit-input-placeholder,textarea::placeholder{color:var(--text-muted);opacity:1;font-size:.95rem}textarea#chat-input::placeholder{padding-top:1px;font-size:.95rem;color:var(--text-muted)}textarea:disabled{cursor:not-allowed;opacity:.6}textarea.is-offline:disabled::-webkit-input-placeholder,textarea.is-offline:disabled::placeholder{color:#fca5a5;-webkit-text-fill-color:#fca5a5}.send-btn{background:none;border:none;width:36px;height:36px;color:var(--accent);cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:5px;border-radius:50%;transition:all .2s ease;background:#ffffff12}.send-btn svg{width:24px;height:24px}.send-btn:hover{color:var(--accent);background:#38bdf833}.new-chat-btn{background:#ffffff1a;border:1px solid var(--glass-border);color:var(--text-main);padding:6px 12px;border-radius:8px;font-size:.8rem;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s ease}.new-chat-btn:hover{border:1px solid #ffffff;transform:translateY(-2px);color:#fff}.new-chat-btn:disabled{cursor:not-allowed;opacity:.5}.new-chat-btn:disabled:hover{background:#ffffff1a;border:1px solid var(--glass-border);color:var(--text-main);transform:translateY(0)}.char-counter{font-size:.7rem;color:var(--accent)}.char-counter.warning{color:#f59e0b}.char-counter.limit-hit{color:var(--error);font-weight:600}.send-btn:disabled{opacity:.5;cursor:not-allowed;color:var(--text-muted);transition:none}.send-btn:disabled:hover{background:#ffffff1a}.loading{display:flex;gap:5px;padding:5px}.dot{width:5px;height:5px;background:#97e2fc;border-radius:50%;animation:dot-bounce .3s infinite alternate}.dot:nth-child(2){animation-delay:.15s}.dot:nth-child(3){animation-delay:.3s}.loading-container{display:flex!important;flex-direction:column;align-items:flex-start;gap:8px;background:transparent!important;border:none!important;padding:0!important;box-shadow:none!important}.loading-container .loading{background:#1c293e;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:13px 13px 10px}.loading-text{font-size:.8rem;color:var(--text-muted);font-style:italic;padding-left:5px}.fade-enter-active,.fade-leave-active{transition:opacity .17s ease}@keyframes dot-bounce{0%{transform:translateY(0);opacity:.5}to{transform:translateY(-3px);opacity:1}}.suggestions-container{display:flex;flex-direction:column;gap:12px;padding:10px 0}.suggestions-container .suggestion-hint{color:#94a3b8}.suggestion-hint{font-size:.8rem;color:var(--text-muted);letter-spacing:.01em}.suggestion-hint-floating{margin-bottom:10px}.suggestions-list{display:flex;flex-wrap:wrap;gap:10px}.suggestion-chip{background:#38bdf80d;border:1px solid rgba(56,189,248,.5);color:var(--accent);padding:7px 14px;border-radius:12px;font-size:.85rem;cursor:pointer;transition:all .2s ease;text-align:left;line-height:1.5;letter-spacing:.01em}.suggestion-chip:hover{background:#081a40;border-color:#f59e0b;transform:translateY(-2px)}.suggestion-chip:disabled{opacity:.6;cursor:not-allowed;transform:none!important;background:#ffffff0d;border-color:#ffffff1a}.suggestion-chip strong{font-family:JetBrains Mono,monospace;font-weight:500;font-size:.9rem;color:var(--text-main)}.markdown-body{line-height:1.5}.markdown-body p{margin-bottom:20px}.markdown-body ul,.markdown-body ol{margin:20px 0 20px 24px;padding:0}.markdown-body li{margin-bottom:10px}.markdown-body li>p{margin:0}.markdown-body p:has(img){text-align:left}.markdown-body p img{display:inline;width:49%;border-radius:9px;background:#101216d9;padding:3px;border:1px solid var(--glass-border);aspect-ratio:1/1;object-fit:cover}.markdown-body a{display:inline;color:#6fc;text-decoration:underline;text-decoration-color:var(--text-muted);text-decoration-style:dotted}.markdown-body .external-link-icon{position:relative;top:2px;color:var(--text-muted);margin-left:3px}.markdown-body a:hover{color:#f59e0b}.markdown-body code{font-size:.9rem;font-family:JetBrains Mono,monospace;color:#9eb9df;-webkit-box-decoration-break:clone;box-decoration-break:clone;letter-spacing:0}.markdown-body pre{background:#101216d9;padding:10px;border-radius:6px;overflow-x:auto;margin:0 0 20px;border:1px solid var(--glass-border);line-height:1.5}.markdown-body ul li pre,.markdown-body ol li pre{padding:5px 10px;margin:8px 0 10px}.markdown-body pre code{font-family:JetBrains Mono,monospace;-webkit-box-decoration-break:initial;box-decoration-break:initial}.markdown-body strong{color:#45c3f0;font-weight:500}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:40px 0 12px;line-height:1.2;font-size:1.15em;font-weight:500;border-bottom:1px solid var(--glass-border);padding-bottom:10px;color:#d7e596}.markdown-body h3{margin-top:25px}.markdown-body h2{margin-top:20px;border:0;font-size:1.2rem;padding-bottom:0}.markdown-body h3 a{text-decoration:none}.markdown-body h3 a .external-link-icon{width:15px;height:15px}.disclaimer{padding:5px 13px 0;font-size:.725rem;color:var(--text-muted);text-align:center;display:flex;justify-content:space-between;letter-spacing:.01em}.magic-btn{background:none;border:none;color:var(--accent);padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-radius .1s ease-in,background .1s ease-in,color .1s ease-in;border-radius:50%;margin-right:5px;width:36px;flex-shrink:0;overflow:hidden;white-space:nowrap;width:fit-content}.magic-btn:hover,.magic-btn.active{color:var(--accent);background:#38bdf81a}.magic-btn.active{background:#38bdf833}.magic-btn:disabled{cursor:not-allowed;opacity:.6;transition:none}.magic-btn:disabled:hover{background:none}.menu-overlay{position:fixed;inset:0;background:#101216d9;z-index:4}.fade-enter-active,.fade-leave-active{transition:opacity .1s ease-in}.fade-enter-from,.fade-leave-to{opacity:0}.floating-suggestions{position:absolute;bottom:calc(100% + 10px);left:10px;right:10px;background:#313b49;border:1px solid var(--glass-border);border-radius:8px;padding:10px;z-index:5;max-height:calc(100dvh - 160px);overflow-y:auto}.floating-suggestions .suggestion-chip{background:#1c293e}.floating-suggestions .suggestion-chip:hover{background:#081a40}.floating-suggestions .suggestion-chip.active{border-color:#f59e0b;transform:translateY(-2px);background:#081a40}.no-results{font-size:.8rem;color:var(--text-muted);text-align:center;width:100%;background:#1c293e;padding:10px;border-radius:8px}.expand-enter-active,.expand-leave-active{transition:all .2s ease}.expand-enter-from,.expand-leave-to{opacity:0;width:0;margin-left:0;margin-right:0;padding-left:0;padding-right:0}.slide-fade-enter-active{transition:all .1s ease-in}.slide-fade-leave-active{transition:all .1s ease-out}.slide-fade-enter-from,.slide-fade-leave-to{transform:translateY(10px);opacity:0}.suggestion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}.header-left-group{display:flex;align-items:center;gap:8px}.back-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;display:flex;align-items:center;margin-top:-11px;transition:all .2s ease}.back-btn:hover{color:var(--accent)}.shuffle-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:4px;display:flex;align-items:center;gap:2px;margin-top:-10px;transition:all .2s ease}.shuffle-btn:hover{color:var(--accent)}.page-indicator{font-size:.8rem;font-variant-numeric:tabular-nums;letter-spacing:0;line-height:1;opacity:.7}.page-label{font-size:.8rem;letter-spacing:.01em;line-height:1}.floating-suggestions.no-transition *{transition:none!important}.focus-prompt__inner{background:#303b49;border:1px solid var(--glass-border);border-radius:8px;padding:18px;width:calc(100vw - 45px);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100}@media(min-width:640px){.focus-prompt__inner{width:460px}}.focus-prompt__text{color:var(--text-main);margin-bottom:15px}.focus-prompt__actions{display:flex;gap:10px;justify-content:flex-end}.focus-btn.focus-btn--yes.focus-btn--deact{color:var(--text-main);background:transparent}.focus-btn.focus-btn--yes.focus-btn--deact:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.focus-btn.focus-btn--no.focus-btn--deact{background:var(--accent);color:initial}.focus-btn.focus-btn--no.focus-btn--deact:hover{background:#45c3f0;color:initial;transform:translateY(-2px)}.focus-btn{padding:8px 10px;border-radius:8px;cursor:pointer;border:none;min-width:80px;transition:all .2s ease;font-size:.9rem}.focus-btn--yes{background:var(--accent)}.focus-btn--yes:hover{background:#45c3f0;transform:translateY(-2px)}.focus-btn--no{color:var(--text-main);background:transparent}.focus-btn--no:hover{background:#ffffff26;border-color:#ffffff4d;transform:translateY(-2px)}.focus-modal-desc a{display:inline;color:#6fc;text-decoration:underline;text-decoration-color:var(--text-muted);text-decoration-style:dotted}.focus-modal-desc a:hover{color:#f59e0b}.suggestions-container.focus-suggestions{padding-top:0}.suggestions-container.focus-suggestions .suggestion-hint{margin-top:18px}.active-focus-container{margin:10px 0 0}.active-focus-label{margin-bottom:10px}.active-focus-list{display:flex;flex-direction:column;gap:10px}.active-focus-item{display:flex;justify-content:space-between;align-items:center;background:#ffffff08;border:1px solid var(--glass-border);padding:7px 14px;border-radius:12px;transition:all .2s ease;width:100%;min-width:0}.active-focus-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;color:#6fc;font-size:.85rem;letter-spacing:.01em}.active-focus-item:hover{background:#081a40;border-color:#f59e0b;transform:translateY(-2px)}.floating-suggestions .active-focus-item{background:#1c293e;border:1px solid rgba(56,189,248,.5)}.floating-suggestions .active-focus-item:hover{background:#081a40;border:1px solid #f59e0b}.pop-enter-active{transition:all .25s cubic-bezier(.16,1,.3,1.4)}.pop-leave-active{transition:all .17s ease}.pop-enter-from{opacity:0;transform:translate(-50%,-50%) scale(.85)}.pop-leave-to{opacity:0;transform:translate(-50%,-50%) scale(.95)}.app-container{width:100vw;height:100vh}
