.ProseMirror{position:relative}.ProseMirror{word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;-webkit-font-variant-ligatures:none;font-variant-ligatures:none;font-feature-settings:"liga" 0}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection *::selection{background:0 0}.ProseMirror-hideselection *::-moz-selection{background:0 0}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror [draggable][contenteditable=false]{user-select:text}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:"";position:absolute;pointer-events:none;border:2px solid #8cf;inset:-2px -2px -2px -32px}img.ProseMirror-separator{display:inline!important;border:none!important;margin:0!important}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-display:"Inter",system-ui,sans-serif;--font-body:"Inter",system-ui,sans-serif;--font-mono:"JetBrains Mono","SF Mono",monospace;--phone-w:375px;--phone-h:780px;--phone-radius:24px;--bg-page:#f2f2f7;--bg-phone:#fff;--bg-surface:#fff;--bg-surface-hover:#f0f0f5;--border:#e0e0e0;--border-light:#c8c8d0;--text-primary:#1c1b1f;--text-secondary:#49454f;--text-tertiary:#79747e;--accent:#0b6bcb;--accent-dim:#0b6bcb1a;--accent-text:#0b6bcb;--error:#ba1a1a;--error-bg:#ba1a1a14;--accent-btn-text:#fff;--nav-bg:#fff;--nav-indicator:#0b6bcb1f}[data-theme=dark]{--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--bg-page:#111318;--bg-phone:#1c1b1f;--bg-surface:#2b2930;--bg-surface-hover:#36343b;--border:#3a383f;--border-light:#48464d;--text-primary:#e6e1e5;--text-secondary:#cac4d0;--text-tertiary:#938f99;--accent:#a8c8ff;--accent-dim:#a8c8ff1f;--accent-text:#a8c8ff;--error:#ffb4ab;--error-bg:#ffb4ab1a;--accent-btn-text:#00315d;--nav-bg:#1c1b1f;--nav-indicator:#a8c8ff29}html{background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);min-height:100vh;line-height:1.5}.stage{display:flex;flex-direction:column;align-items: center;gap:1.5rem;min-height:100vh;padding:2.5rem 1rem 2rem}.phone-frame{width:var(--phone-w);height:var(--phone-h);background:var(--bg-phone);border-radius:var(--phone-radius);position:relative;overflow:hidden;flex-shrink:0;box-shadow:0 1px 3px #00000014,0 8px 24px #0000001f}.phone-screen{background:var(--bg-phone);overflow-y:auto;overflow-x:hidden;display:flex;scrollbar-width:none;flex-direction:column;width:100%;height:100%;&::-webkit-scrollbar{display:none}&.onboarding{justify-content:center;align-items: center}}.onboarding-inner{text-align:center;width:100%;padding:2rem 1.75rem}.logo-block{margin-bottom:2.5rem;& .pulse-ring{animation:fadeInUp .6s ease-out;margin:0 auto 1rem}& h1{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;animation:fadeInUp .6s ease-out .1s both;font-size:2rem;font-weight:700}}.tagline{color:var(--text-secondary);animation:fadeInUp .6s ease-out .2s both;margin-top:.25rem;font-size:.85rem;font-weight:400}.auth-screen{animation:fadeInUp .6s ease-out .3s both;& form{display:flex;flex-direction:column;gap:.6rem}& input{font-family:var(--font-body);border:1px solid var(--border);color:var(--text-primary);background:0 0;border-radius:12px;width:100%;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s;font-size:.85rem;&::placeholder{color:var(--text-tertiary)}&:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}}& button[type=submit]{font-family:var(--font-body);background:var(--accent);color:var(--accent-btn-text);cursor:pointer;border:none;border-radius:20px;padding:.75rem 1rem;transition:background .15s,transform .1s,box-shadow .15s;font-size:.85rem;font-weight:600;&:hover{box-shadow:0 1px 3px #00000026}&:active{transform:scale(.98)}&:disabled{background:var(--border);color:var(--text-tertiary);cursor:not-allowed;box-shadow:none}}}.auth-hint{color:var(--text-secondary);margin-bottom:1.25rem;font-size:.82rem;line-height:1.6}.auth-error{font-family:var(--font-mono);color:var(--error);background:var(--error-bg);border-radius:12px;margin-bottom:.75rem;padding:.5rem .7rem;font-size:.72rem}.auth-toggle{color:var(--text-tertiary);text-align:center;margin-top:.75rem;font-size:.78rem}.toggle-btn{color:var(--accent-text);cursor:pointer;font-size:.78rem;font-family:var(--font-body);text-decoration:underline;text-underline-offset:2px;background:0 0;border:none;padding:0;&:hover{color:var(--accent)}}.app-header{flex-shrink:0;padding:1.5rem 1.25rem 0;& h1{font-family:var(--font-display);color:var(--text-primary);letter-spacing:-.02em;font-size:1.4rem;font-weight:700}}.header-row{display:flex;justify-content:space-between;align-items: center}.key-btn{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;display:flex;border-radius:12px;justify-content:center;align-items: center;padding:.4rem;transition:border-color .15s,color .15s,background .15s;&:hover{border-color:var(--border-light);color:var(--text-primary);background:var(--bg-surface-hover)}}.topic-tabs{display:flex;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--border);flex-shrink:0;gap:.35rem;padding:.5rem 1.25rem;&::-webkit-scrollbar{display:none}}.topic-tab{font-family:var(--font-body);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:20px;flex-shrink:0;padding:.3rem .75rem;transition:background .15s,color .15s,border-color .15s;font-size:.75rem;font-weight:500;&.read{opacity:.55}&:hover{background:var(--bg-surface-hover);border-color:var(--border-light);color:var(--text-primary)}&.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent-text);font-weight:600}}.topic-tab-spinner{display:inline-block;border:1.5px solid var(--text-secondary);animation:tabSpin .6s linear infinite;vertical-align:middle;border-top-color:#0000;border-radius:50%;width:.65em;height:.65em;margin-right:.3em}@keyframes tabSpin{to{transform:rotate(360deg)}}.bottom-nav{display:flex;background:var(--nav-bg);border-top:1px solid var(--border);flex-shrink:0;justify-content:space-around;align-items: center;padding:.4rem 0 .6rem}.nav-item{display:flex;cursor:pointer;color:var(--text-tertiary);position:relative;font-family:var(--font-body);background:0 0;border:none;border-radius:16px;flex-direction:column;align-items: center;gap:.2rem;padding:.4rem 1.5rem;transition:color .15s;&:before{content:"";position:absolute;background:var(--nav-indicator);border-radius:16px;width:64px;height:32px;transition:transform .2s;top:0;left:50%;transform:translate(-50%)scaleX(0)}&:hover{color:var(--text-secondary)}&.active{color:var(--accent-text);&:before{transform:translate(-50%)scaleX(1)}}}.nav-icon{position:relative;z-index:1;width:24px;height:24px}.nav-label{letter-spacing:.02em;position:relative;z-index:1;font-size:.68rem;font-weight:500}.app-body{overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent;flex:1;padding:1rem 1.25rem;&:hover{scrollbar-color:var(--border-light)transparent}&::-webkit-scrollbar{width:4px}&::-webkit-scrollbar-track{background:0 0}&::-webkit-scrollbar-thumb{background:0 0;border-radius:4px}&:hover::-webkit-scrollbar-thumb{background:var(--border-light)}}.empty-state{display:flex;text-align:center;animation:fadeInUp .4s ease-out;flex-direction:column;justify-content:center;align-items: center;padding:4rem 1.5rem}.empty-state-icon{color:var(--accent);opacity:.7;margin-bottom:1rem}.empty-state-title{font-family:var(--font-display);color:var(--text-primary);margin-bottom:.4rem;font-size:1.1rem;font-weight:600}.empty-state-hint{color:var(--text-tertiary);max-width:240px;font-size:.78rem;line-height:1.5}.setup-topics-btn{color:var(--accent-btn-text);background:var(--accent);cursor:pointer;border:none;border-radius:8px;margin-top:1.25rem;padding:.6rem 1.5rem;transition:opacity .15s;font-size:.82rem;font-weight:600;&:hover{opacity:.85}}.loading-state{display:flex;flex-direction:column;justify-content:center;align-items: center;gap:1rem;padding:4rem 0}.pulse-ring{position:relative;display:flex;justify-content:center;align-items: center;width:40px;height:40px;&:before{content:"";position:absolute;border:1.5px solid var(--accent);opacity:.3;animation:pulseExpand 1.8s ease-out infinite;border-radius:50%;inset:0}}.pulse-dot{background:var(--accent);animation:pulseFade 1.8s ease-in-out infinite;border-radius:50%;width:8px;height:8px}@keyframes pulseExpand{0%{transform:scale(.5);opacity:.6}to{transform:scale(2);opacity:0}}@keyframes pulseFade{0%,to{opacity:.4}50%{opacity:1}}.loading-label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.error-state{text-align:center;padding:3rem 0}.error-icon{background:var(--error-bg);color:var(--error);font-family:var(--font-mono);display:flex;border-radius:50%;justify-content:center;align-items: center;width:36px;height:36px;margin:0 auto .75rem;font-size:1.1rem;font-weight:700}.error-title{color:var(--text-primary);margin-bottom:.35rem;font-size:.9rem;font-weight:600}.error-message{font-family:var(--font-mono);color:var(--error);background:var(--error-bg);word-break:break-word;text-align:left;border-radius:12px;max-width:100%;margin:0 auto 1rem;padding:.6rem .8rem;font-size:.72rem}.retry-btn{font-family:var(--font-body);background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;border-radius:20px;padding:.5rem 1.25rem;transition:border-color .15s,background .15s;font-size:.8rem;font-weight:600;&:hover{background:var(--bg-surface-hover);border-color:var(--border-light)}}.results{display:flex;flex-direction:column;gap:.75rem}.topic-section{background:var(--bg-surface);border:1px solid var(--border);animation:fadeInUp .4s ease-out both;border-radius:16px;padding:1rem;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a;&:first-child{animation-delay:50ms}&:nth-child(2){animation-delay:.1s}&:nth-child(3){animation-delay:.15s}&:nth-child(4){animation-delay:.2s}&:nth-child(5){animation-delay:.25s}&:nth-child(6){animation-delay:.3s}& h2{font-family:var(--font-display);color:var(--text-primary);font-size:1rem;font-weight:600}}.topic-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.25rem}.item-count{font-family:var(--font-mono);color:var(--text-tertiary);letter-spacing:.02em;display:flex;align-items: center;gap:.2rem;font-size:.65rem}.empty-topic{color:var(--text-tertiary);font-size:.78rem;font-style:italic}.news-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.news-item{display:flex;border-top:1px solid var(--border);align-items:baseline;gap:.65rem;padding:.3rem 0;&:first-child{border-top:none;padding-top:0}}.news-date{font-family:var(--font-mono);color:var(--accent-text);letter-spacing:.01em;flex-shrink:0;min-width:3.5em;font-size:.65rem}.news-desc{color:var(--text-primary);font-size:.8rem;line-height:1.45;& a{color:var(--accent-text);text-decoration:none;border-bottom:1px solid var(--accent-dim);transition:border-color .15s;&:hover{border-bottom-color:var(--accent-text)}}& .source-link{margin-left:.3rem}}.topic-prompt-page{display:flex;overflow:hidden;flex-direction:column;flex:1;width:100%}.prompt-hint{color:var(--text-tertiary);flex-shrink:0;padding:.75rem 1.25rem 0;font-size:.72rem}.prompt-text-wall{text-align:left;overflow-y:auto;color:var(--text-tertiary);flex:1;padding:1rem 1.25rem;font-size:.88rem;line-height:1.7}.prompt-topic{display:inline-flex;border:1px solid color-mix(in srgb,var(--accent)40%,transparent);color:var(--accent-text);white-space:nowrap;vertical-align:baseline;background:0 0;border-radius:999px;align-items: center;gap:.25rem;padding:.1rem .15rem .1rem .45rem;font-weight:600}.prompt-topic-remove{font-family:var(--font-body);color:var(--accent-text);cursor:pointer;display:inline-flex;opacity:.5;background:0 0;border:none;border-radius:50%;justify-content:center;align-items: center;width:1.5rem;height:1.5rem;padding:0;transition:opacity .15s,background .15s;font-size:.95rem;&:hover{opacity:1;background:color-mix(in srgb,var(--accent)20%,transparent)}}.prompt-topic-placeholder{color:var(--accent-text);letter-spacing:.15em;font-weight:700}.prompt-add-bar{display:flex;background:color-mix(in srgb,var(--bg-phone)80%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:16px;flex-shrink:0;gap:.4rem;margin:.5rem .75rem;padding:.4rem;box-shadow:0 2px 8px #00000014;& input{font-family:var(--font-body);color:var(--text-primary);outline:none;background:0 0;border:none;flex:1;padding:.5rem .75rem;font-size:.82rem;&::placeholder{color:var(--text-tertiary)}}& button{background:var(--accent);color:var(--accent-btn-text);cursor:pointer;display:flex;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items: center;width:2rem;height:2rem;transition:opacity .15s,box-shadow .15s;font-size:1.1rem;font-weight:600;line-height:1;&:hover{box-shadow:0 1px 3px #00000026}&:disabled{background:var(--border);color:var(--text-tertiary);cursor:not-allowed;box-shadow:none}}}.settings-page{display:flex;flex-direction:column;gap:1.25rem}.settings-section{display:flex;flex-direction:column;gap:.6rem}.theme-options{display:flex;gap:.5rem}.theme-option{display:flex;background:var(--bg-surface);border:1px solid var(--border);font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;border-radius:16px;flex:1;justify-content:center;align-items: center;gap:.5rem;padding:.65rem .8rem;transition:border-color .15s,color .15s,background .15s;font-size:.82rem;font-weight:500;&:hover{border-color:var(--border-light);color:var(--text-primary);background:var(--bg-surface-hover)}&.active{border-color:var(--accent);color:var(--accent-text);background:var(--accent-dim)}}.secondary-btn{background:var(--bg-surface);border:1px solid var(--border);font-family:var(--font-body);color:var(--text-secondary);cursor:pointer;border-radius:16px;align-self: flex-start;padding:.55rem 1rem;transition:border-color .15s,color .15s,background .15s;font-size:.82rem;font-weight:500;&:hover{border-color:var(--border-light);color:var(--text-primary);background:var(--bg-surface-hover)}}.profile-select{font-family:var(--font-body);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:12px;max-width:140px;margin-left:auto;margin-right:.5rem;padding:.3rem .5rem;font-size:.75rem;&:focus{outline:none;border-color:var(--accent)}}.experiment-list{display:flex;flex-direction:column;gap:.4rem}.experiment-item{display:flex;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items: center;gap:.5rem;padding:.5rem .7rem}.experiment-item-info{display:flex;flex-direction:column;gap:.1rem;min-width:0}.experiment-name{color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem;font-weight:600;&.inactive{opacity:.5}}.experiment-meta{font-family:var(--font-mono);color:var(--text-tertiary);font-size:.65rem}.experiment-item-actions{display:flex;flex-shrink:0;gap:.3rem}.experiment-btn{font-family:var(--font-body);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:.25rem .5rem;transition:border-color .15s,color .15s,background .15s;font-size:.7rem;font-weight:500;&:hover:not(:disabled){border-color:var(--border-light);color:var(--text-primary);background:var(--bg-surface-hover)}&:disabled{opacity:.4;cursor:not-allowed}&--danger{color:var(--error);&:hover{color:var(--error);background:var(--error-bg);border-color:var(--error)}}}.experiment-form{display:flex;flex-direction:column;gap:.5rem}.experiment-input{font-family:var(--font-body);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-primary);border-radius:12px;width:100%;padding:.55rem .75rem;transition:border-color .2s;font-size:.82rem;&:focus{outline:none;border-color:var(--accent)}&::placeholder{color:var(--text-tertiary)}&:disabled{opacity:.5;cursor:not-allowed}}select.experiment-input option{background:var(--bg-surface);color:var(--text-primary)}.experiment-textarea{resize:vertical;font-family:var(--font-mono);field-sizing:content;min-height:3rem;font-size:.75rem}.experiment-prompt-header{display:flex;justify-content:space-between;align-items: center}.experiment-prompt-label{color:var(--text-tertiary);font-size:.75rem}.prompt-editor-wrap{display:flex;flex-direction:column;gap:.35rem}.prompt-editor{background:var(--bg-surface);border:1px solid var(--border);overflow-y:auto;scrollbar-width:thin;scrollbar-color:transparent transparent;border-radius:12px;min-height:6rem;max-height:12rem;padding:.55rem .75rem;transition:border-color .2s;&:hover{scrollbar-color:var(--border-light)transparent}&:focus-within{border-color:var(--accent)}& .ProseMirror{outline:none;font-family:var(--font-mono);color:var(--text-primary);font-size:.75rem;line-height:1.6;& p{margin:0}}}.prompt-placeholder{display:inline-flex;border:1px solid color-mix(in srgb,var(--accent)40%,transparent);color:var(--accent-text);font-weight:600;font-family:var(--font-body);white-space:nowrap;vertical-align:baseline;cursor:default;background:0 0;border-radius:999px;align-items: center;padding:.05rem .4rem;font-size:.7rem;&.ProseMirror-selectednode{outline:2px solid var(--accent);outline-offset:1px}}.prompt-editor-missing{display:flex;color:var(--error);align-items: center;gap:.3rem;font-size:.72rem;font-weight:500}.prompt-editor-insert-btn{font-family:var(--font-mono);background:var(--error-bg);border:1px solid var(--error);color:var(--error);cursor:pointer;border-radius:8px;padding:.1rem .35rem;transition:background .15s,color .15s;font-size:.68rem;&:hover{background:var(--error);color:#fff}}.prompt-section{display:flex;flex-direction:column;gap:.25rem}.prompt-section-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:600}.prompt-section-fixed{color:var(--text-tertiary);font-size:.7rem;font-style:italic}.experiment-error{color:var(--error);font-size:.75rem}.experiment-form-actions{display:flex;gap:.4rem}.streaming-indicator{display:flex;justify-content:center;align-items: center;gap:.5rem;padding:.5rem 0}.streaming-dots{display:flex;gap:.25rem}.streaming-dot{background:var(--accent);animation:dotPulse 1.4s ease-in-out infinite;border-radius:50%;width:6px;height:6px;&:nth-child(2){animation-delay:.2s}&:nth-child(3){animation-delay:.4s}}@keyframes dotPulse{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.streaming-label{color:var(--text-tertiary);font-size:.78rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.log-page{font-family:var(--font-body);color:var(--text-primary);max-width:1200px;margin:0 auto;padding:2rem 1.5rem;& h1{font-family:var(--font-display);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}}.log-summary{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.85rem}.log-pricing{display:flex;font-family:var(--font-mono);color:var(--text-tertiary);background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.35rem;margin-bottom:1rem;padding:.5rem .75rem;font-size:.72rem}.log-pricing-title{color:var(--text-secondary);font-family:var(--font-body);font-size:.85rem;font-weight:500}.log-pricing-lines{display:flex;flex-wrap:wrap;gap:.35rem 1rem}.log-error{color:var(--error);background:var(--error-bg);border-radius:8px;margin-bottom:1rem;padding:.5rem .75rem;font-size:.85rem}.log-loading{color:var(--text-tertiary);font-size:.85rem}.log-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px}.log-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.8rem;& th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);background:var(--bg-surface);border-bottom:1px solid var(--border);padding:.65rem .75rem;font-size:.72rem;font-weight:600}& td{border-bottom:1px solid var(--border);color:var(--text-primary);padding:.55rem .75rem}& tbody tr:last-child td{border-bottom:none}}.log-row{cursor:pointer;&:hover{background:var(--bg-surface-hover)}}.log-status{display:inline-block;vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:.4rem}.log-status-pending{background:#f59e0b}.log-status-completed{background:#22c55e}.log-status-failed{background:#ef4444}.log-chevron{display:inline-block;color:var(--text-tertiary);margin-right:.5rem;transition:transform .15s;font-size:.6rem;&.open{transform:rotate(90deg)}}.log-detail{& td{border-bottom:1px solid var(--border);padding:0}}.log-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));background:var(--bg-surface);gap:.4rem 1.5rem;padding:.6rem .75rem .75rem 1.75rem;font-size:.78rem}.log-detail-label{display:block;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-bottom:.1rem;font-size:.65rem;font-weight:600}.log-cached{color:var(--text-tertiary);font-size:.72rem}.log-empty{text-align:center;color:var(--text-tertiary);padding:2rem .75rem}.log-pagination{display:flex;color:var(--text-secondary);justify-content:center;align-items: center;gap:1rem;margin-top:1rem;font-size:.85rem;& button{font-family:var(--font-body);background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:.45rem 1rem;transition:border-color .15s,background .15s;font-size:.8rem;font-weight:500;&:hover:not(:disabled){background:var(--bg-surface-hover);border-color:var(--border-light)}&:disabled{color:var(--text-tertiary);cursor:not-allowed}}}@media (width<=480px){.stage{gap:0;padding:0}.phone-frame{width:100%;height:100vh;box-shadow:none;border-radius:0;height:100dvh}.phone-screen{width:100%;height:100vh;border-radius:0;height:100dvh}.bottom-nav{position:fixed;z-index:100;bottom:0;left:0;right:0}.app-body,.topic-prompt-page{padding-bottom:5rem}}
