:root{--bg: #f4f4f4;--surface: #ffffff;--text: #2b2e31;--text-secondary: #5f6570;--border: #e1e4e8;--accent: #3b82f6;--accent-hover: #2563eb;--danger: #ef4444;--cat-business: #3b82f6;--cat-media: #8b5cf6;--cat-science: #10b981;--cat-economy: #f59e0b;--radius: 12px;--radius-sm: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .08);--transition: .2s ease;--bottom-nav-height: 64px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}.header{background:var(--text);color:#fff}.header-inner{max-width:1100px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between}.tabs-bar{background:#ffffff12;border-top:1px solid rgba(255,255,255,.1)}.tabs-inner{max-width:1100px;margin:0 auto;padding:0 24px;display:flex;gap:4px}.tab-btn{padding:10px 20px;background:none;border:none;border-bottom:3px solid transparent;color:#fff9;font-size:.92rem;font-weight:500;cursor:pointer;transition:color var(--transition),border-color var(--transition);white-space:nowrap}.tab-btn:hover{color:#fff}.tab-btn--active{color:#fff;border-bottom-color:var(--accent)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:6px;padding:1px 6px;background:var(--accent);color:#fff;border-radius:10px;font-size:.7rem;font-weight:700;line-height:1.4;vertical-align:middle}.logo{font-size:1.4rem;font-weight:700;display:flex;align-items:center;gap:10px;letter-spacing:-.02em}.logo-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px}.logo-icon img{width:100%;height:100%;object-fit:contain}.header .logo-icon img{filter:invert(1)}.header-status{display:flex;align-items:center;gap:8px;font-size:.85rem;opacity:.7}.api-starting-badge{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:600;color:#fbbf24;letter-spacing:.02em}.ml-status-badge{font-size:.75rem;font-weight:600;color:var(--text-secondary);background:var(--border);padding:2px 7px;border-radius:10px;cursor:default;white-space:nowrap}.status-dot{width:8px;height:8px;border-radius:50%}.status-ok{background:#34d399;box-shadow:0 0 6px #34d399aa}.status-err{background:var(--danger);box-shadow:0 0 6px var(--danger)}.main{max-width:1100px;margin:32px auto;padding:0 24px;display:flex;flex-direction:column;gap:28px}.settings-stack{display:flex;flex-direction:column;gap:28px}.card{background:var(--surface);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.card h2{font-size:1.25rem;font-weight:700;margin-bottom:20px;letter-spacing:-.01em}.card-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.card-header-row h2{margin-bottom:0}.input,.textarea{display:block;width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:.95rem;color:var(--text);background:var(--bg);transition:border-color var(--transition);margin-bottom:12px}.input:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #3b82f626}.textarea{resize:vertical;min-height:120px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;background:var(--surface);color:var(--text);transition:all var(--transition);line-height:1.25}.btn:hover:not(:disabled){background:var(--bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-sm{padding:6px 14px;font-size:.82rem}.btn-icon{padding:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-icon--spinning svg{animation:btn-spin .8s linear infinite}.alert{padding:12px 16px;border-radius:var(--radius-sm);font-size:.9rem;margin-top:16px}.alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.alert-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0;border-radius:var(--radius-sm);padding:10px 14px;font-size:.88rem;margin-bottom:12px}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary)}.empty-state code{background:var(--bg);padding:2px 6px;border-radius:4px;font-size:.85rem}.bottom-nav{display:none}@media(max-width:640px){:root{--bg: #ffffff;--surface: #f4f4f4}.header-inner{padding:12px 16px}.logo{font-size:1.2rem;gap:8px}.logo-icon{width:30px;height:30px}.tabs-bar{display:none}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--text);z-index:100;border-top:1px solid rgba(255,255,255,.08);padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 4px 12px;background:none;border:none;cursor:pointer;gap:4px;color:#ffffff73;transition:color var(--transition);font-size:.62rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;position:relative}.bottom-nav-btn--active{color:var(--accent)}.bottom-nav-btn__icon{width:22px;height:22px;flex-shrink:0;display:block}.bottom-nav-btn__badge{position:absolute;top:8px;right:calc(50% - 18px);min-width:16px;height:16px;padding:0 4px;background:var(--accent);color:#fff;border-radius:8px;font-size:.58rem;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.main{padding:0 12px;margin:16px auto;padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px) + 16px);gap:16px}.card{padding:0;background:transparent;box-shadow:none;border-radius:0}.settings-stack{gap:24px}.article-grid{grid-template-columns:1fr;gap:8px}.article-card{padding:14px 16px;gap:6px;border-radius:10px;border:none;box-shadow:none}.article-card:hover{box-shadow:none;border-color:transparent}.article-card-title{font-size:.95rem;-webkit-line-clamp:2}.category-filter{position:sticky;top:0;z-index:90;background:var(--bg);margin:0 -12px 12px;padding:10px 16px 12px;border-bottom:1px solid var(--border)}.card-header-row{padding:4px 0 8px;flex-wrap:wrap;gap:8px;margin-bottom:0}.card-header-row h2{font-size:1.1rem}.score-label{width:100px;font-size:.78rem}.score-value{width:44px;font-size:.78rem}.interests-header{flex-wrap:wrap;gap:4px}.interests-hint{font-size:.88rem}.modal-backdrop{padding:0;align-items:flex-end}.modal-window{max-width:100%;max-height:92vh;border-radius:var(--radius) var(--radius) 0 0;animation:slideUpSheet .22s ease;background:#fff}@keyframes slideUpSheet{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-window:before{content:"";display:block;width:36px;height:4px;background:var(--border);border-radius:2px;margin:10px auto 0;flex-shrink:0}.modal-header{padding:12px 20px 0}.modal-title{font-size:1.1rem;padding:10px 20px 0}.modal-summary-block{margin:14px 20px 0}.modal-body-section,.modal-scores-section{padding:14px 20px 0}.modal-footer{padding:16px 20px 20px}.rss-sources{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:4px;margin-bottom:12px}.rss-sources::-webkit-scrollbar{display:none}.source-list{gap:8px}.source-card{padding:14px 16px;gap:12px}}.score-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.score-label{width:140px;flex-shrink:0;font-size:.85rem;color:var(--text-secondary);text-align:right}.score-bar-track{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.score-bar-fill{height:100%;border-radius:4px;transition:width .5s ease}.score-value{width:52px;flex-shrink:0;font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums}.category-filter{display:flex;gap:8px;overflow-x:auto;padding-bottom:16px;scrollbar-width:none;-ms-overflow-style:none;margin-bottom:4px;-webkit-overflow-scrolling:touch}.category-filter::-webkit-scrollbar{display:none}.category-chip{flex-shrink:0;padding:7px 16px;border-radius:22px;font-size:.84rem;font-weight:600;cursor:pointer;border:1.5px solid var(--border);background:var(--surface);color:var(--text-secondary);transition:all var(--transition);white-space:nowrap;line-height:1.3}.category-chip:hover{border-color:var(--accent);color:var(--accent);background:#eff6ff}.category-chip--active{background:var(--text);color:#fff;border-color:var(--text)}.category-chip--icon{padding:0;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.filter-chip-icon{display:inline-block;width:15px;height:15px;background:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;flex-shrink:0}.article-list{display:flex;flex-direction:column;gap:1px;background:var(--border);border-radius:var(--radius);overflow:hidden}.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.article-card{padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:box-shadow var(--transition),border-color var(--transition),transform var(--transition);-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.article-card:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--border);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.article-card:hover{box-shadow:var(--shadow-lg);border-color:#c7d2e8;transform:translateY(-1px)}.article-card:hover:after{transform:scaleX(1)}.article-card:focus{outline:2px solid var(--accent);outline-offset:2px}.article-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.article-card-source{font-size:.72rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.article-card-date{font-size:.72rem;color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.article-card-title{font-size:.97rem;font-weight:700;line-height:1.45;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:-.01em}.article-card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:2px}.article-card-has-summary{font-size:.7rem;font-weight:700;color:var(--cat-science);letter-spacing:.04em}.articles-total-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;padding:1px 8px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-size:.75rem;font-weight:600;color:var(--text-secondary);vertical-align:middle}.loading-state{display:flex;align-items:center;justify-content:center;gap:10px;padding:40px;color:var(--text-secondary);font-size:.9rem}.loading-spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.scored-badge{display:inline-flex;align-items:center;margin-left:10px;padding:2px 9px;background:#eff6ff;color:var(--accent);border:1px solid #bfdbfe;border-radius:20px;font-size:.72rem;font-weight:700;letter-spacing:.04em;vertical-align:middle}.category-badge{display:inline-block;padding:4px 14px;border-radius:20px;color:#fff;font-size:.85rem;font-weight:600;line-height:1.3}.category-badge-sm{padding:2px 10px;font-size:.75rem}.article-card-category{font-size:.72rem;color:var(--text-secondary);font-weight:500}.feed-card-summary{font-size:.82rem;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scored-badge--btn{background:none;border:1px solid #bfdbfe;font:inherit;cursor:pointer;background:#eff6ff;color:var(--accent);border-radius:20px;padding:2px 9px;font-size:.72rem;font-weight:700;letter-spacing:.04em;transition:background .15s,border-color .15s}.scored-badge--btn:hover{background:#dbeafe;border-color:#93c5fd}.feed-load-more{display:flex;justify-content:center;padding:16px 0 4px}.cat-filter-modal{width:min(420px,95vw);max-width:420px;overflow-y:visible;display:flex;flex-direction:column;max-height:min(80vh,620px)}.cat-filter-toolbar{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.cat-filter-search{flex:1;min-width:0;padding:6px 12px;border-radius:20px;border:1.5px solid var(--border);background:var(--bg);font-size:.87rem;color:var(--text);outline:none;transition:border-color .15s}.cat-filter-search:focus{border-color:var(--accent)}.cat-filter-count{font-size:.78rem;color:var(--text-secondary);white-space:nowrap;min-width:52px;text-align:right;flex-shrink:0}.cat-filter-body{overflow-y:auto;max-height:min(400px,calc(75vh - 130px));flex:1}.cat-filter-empty{padding:16px 20px;font-size:.87rem;color:var(--text-secondary);font-style:italic}.cat-filter-section{border-bottom:1px solid var(--border)}.cat-filter-section:last-child{border-bottom:none}.cat-filter-section-header{display:flex;align-items:center;gap:6px;width:100%;padding:9px 16px;background:none;border:none;cursor:pointer;text-align:left;transition:background .1s}.cat-filter-section-header:hover{background:#00000009}.cat-filter-chevron{display:inline-block;font-size:1rem;color:var(--text-secondary);transition:transform .18s;width:14px;text-align:center;line-height:1;flex-shrink:0}.cat-filter-chevron--open{transform:rotate(90deg)}.cat-filter-section-name{flex:1;font-size:.84rem;font-weight:700;color:var(--accent);letter-spacing:.01em}.cat-filter-section-letter{flex:1;font-size:.88rem;font-weight:700;color:var(--text)}.cat-filter-section-badge{background:var(--accent);color:#fff;border-radius:10px;font-size:.69rem;font-weight:700;padding:1px 6px;min-width:18px;text-align:center;flex-shrink:0}.cat-filter-list{display:flex;flex-direction:column;padding:2px 0 6px 28px}.cat-filter-item{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 0;border-radius:6px;cursor:pointer;transition:background .1s}.cat-filter-item:hover{background:#0000000a}.cat-filter-item input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--accent);flex-shrink:0}.cat-filter-label{font-size:.88rem;color:var(--text);-webkit-user-select:none;user-select:none;line-height:1.35}.category-chip--active[data-cat=Бизнес]{background:var(--cat-business);border-color:var(--cat-business)}.category-chip--active[data-cat="Интернет и СМИ"]{background:var(--cat-media);border-color:var(--cat-media)}.category-chip--active[data-cat="Наука и техника"]{background:var(--cat-science);border-color:var(--cat-science)}.category-chip--active[data-cat=Экономика]{background:var(--cat-economy);border-color:var(--cat-economy)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-window{background:var(--surface);border-radius:var(--radius);box-shadow:0 20px 60px #0003;width:100%;max-width:680px;max-height:88vh;overflow-y:auto;overscroll-behavior-y:contain;display:flex;flex-direction:column;animation:slideUp .18s ease;will-change:transform}@keyframes slideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 24px 0}.modal-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.modal-source{font-size:.75rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.04em}.modal-date{font-size:.78rem;color:var(--text-secondary)}.modal-close{flex-shrink:0;background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--text-secondary);padding:2px 6px;border-radius:var(--radius-sm);transition:background var(--transition),color var(--transition);line-height:1}.modal-close:hover{background:var(--bg);color:var(--text)}.modal-title{font-size:1.3rem;font-weight:700;line-height:1.4;letter-spacing:-.01em;padding:12px 24px 0}.modal-summary-block{margin:16px 24px 0;padding:14px 16px;background:#eff6ff;border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.modal-summary-label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--accent);margin-bottom:6px}.modal-summary-text{font-size:.95rem;line-height:1.65;color:var(--text)}.modal-body-section{padding:16px 24px 0}.modal-section-label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-secondary);margin-bottom:8px}.modal-body-text{font-size:.92rem;line-height:1.7;color:var(--text-secondary);max-height:260px;overflow-y:auto}.modal-scores-section{padding:16px 24px 0}.modal-scores{display:flex;flex-direction:column;gap:6px}.modal-summarize-row{display:flex;align-items:center;gap:10px;padding:12px 24px 0}.modal-summarize-error{font-size:.78rem;color:var(--error, #ef4444)}.modal-summary-block--custom{background:#f0fdf4;border-left-color:#22c55e}.prompt-textarea{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:.88rem;font-family:inherit;resize:none;overflow-y:auto;transition:border-color .15s}.prompt-textarea:focus{outline:none;border-color:var(--accent)}.prompt-textarea:disabled{opacity:.6}.prompt-textarea-wrap{position:relative}.prompt-char-counter{position:absolute;bottom:9px;right:12px;font-size:.72rem;color:var(--text-secondary);pointer-events:none;line-height:1}.prompt-examples-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.prompt-examples-list{display:flex;flex-direction:column;gap:4px}.prompt-example-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 12px;font-size:.82rem;color:var(--text);cursor:pointer;text-align:left;transition:background var(--transition),border-color var(--transition);font-family:inherit;line-height:1.4}.prompt-example-btn:hover{background:#eff6ff;border-color:#bfdbfe}.compression-section{margin-top:8px}.examples-refresh-btn{display:flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#3b82f6;background:none;border:none;cursor:pointer;font-family:inherit;padding:2px 0}.examples-refresh-btn:hover{color:#1d4ed8}.example-arrow{color:#c4c9d4;font-size:14px;flex-shrink:0}.prompt-example-btn{display:flex;align-items:center;justify-content:space-between;gap:8px}.sheet-divider{height:1px;background:#f3f4f6;margin:0 -20px}.modal-footer{display:flex;align-items:center;gap:12px;padding:20px 24px 24px;margin-top:8px;border-top:1px solid var(--border)}.modal-no-link{font-size:.85rem;color:var(--text-secondary)}.help-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:300;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .15s ease}.help-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--text-secondary);background:none;color:var(--text-secondary);font-size:.7rem;font-weight:700;line-height:1;cursor:pointer;padding:0;transition:border-color .15s,color .15s,background .15s}.help-btn:hover{border-color:var(--accent);color:var(--accent);background:#3b82f612}.help-modal{background:var(--surface);border-radius:var(--radius);box-shadow:0 8px 32px #0000002e;max-width:420px;width:calc(100% - 32px);max-height:80vh;overflow-y:auto;display:flex;flex-direction:column}.help-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 12px;border-bottom:1px solid var(--border)}.help-modal-title{font-size:1rem;font-weight:700;color:var(--text)}.help-modal-body{padding:16px 20px 20px;font-size:.9rem;line-height:1.65;color:var(--text)}.help-modal-body p{margin:0 0 10px}.help-modal-body p:last-child{margin-bottom:0}.modal-qa-section{padding:16px 24px 0}.qa-list{list-style:none;display:flex;flex-direction:column;gap:6px;margin-top:10px}.qa-item{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.qa-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 14px;background:var(--surface);border:none;cursor:pointer;text-align:left;font-size:.88rem;color:var(--text);transition:background var(--transition)}.qa-question:hover{background:var(--bg)}.qa-question--open{background:#eff6ff;color:var(--accent)}.qa-question-text{flex:1;line-height:1.4}.qa-chevron{font-size:.65rem;flex-shrink:0;color:var(--text-secondary)}.qa-answer{padding:10px 14px;font-size:.85rem;color:var(--text-secondary);line-height:1.55;background:#f8fafc;border-top:1px solid var(--border)}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:flex-end;z-index:1000;animation:overlay-in .18s ease;overscroll-behavior:none;touch-action:none}@keyframes overlay-in{0%{background:#0000}to{background:#00000073}}.sheet{width:100%;background:var(--bg, #fff);border-radius:20px 20px 0 0;max-height:91vh;display:flex;flex-direction:column;animation:sheet-up .22s cubic-bezier(.32,.72,0,1);box-shadow:0 -4px 32px #0000001f}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{display:flex;justify-content:center;padding:10px 0 4px;flex-shrink:0}.sheet-handle-bar{width:36px;height:4px;background:#d1d5db;border-radius:2px}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:4px 20px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.sheet-title-row{display:flex;align-items:center;gap:8px}.sheet-title{font-size:17px;font-weight:700;color:var(--text)}.sheet-saved-badge{font-size:11px;font-weight:500;color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;padding:2px 7px}.sheet-close-btn{flex-shrink:0;background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--text-secondary);padding:2px 6px;border-radius:var(--radius-sm);transition:background var(--transition),color var(--transition);line-height:1}.sheet-close-btn:hover{background:var(--bg);color:var(--text)}.sheet-body{padding:16px 20px;display:flex;flex-direction:column;gap:18px;overflow-y:auto;flex:1}.sheet-footer{padding:12px 20px 20px;display:flex;flex-direction:column;gap:6px;flex-shrink:0;border-top:1px solid var(--border)}.sheet-footer .btn-full{width:100%;background:#111;color:#fff;border:none;border-radius:12px;padding:14px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background var(--transition)}.sheet-footer .btn-full:hover{background:#374151}.sheet-footer .btn-reset-text{background:none;border:none;color:#9ca3af;font-size:13px;cursor:pointer;font-family:inherit;text-decoration:underline;text-underline-offset:3px;padding:6px 0;text-align:center}.rss-sources{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px;font-size:.82rem}.rss-sources-label{color:var(--text-secondary);font-weight:600}.rss-source-chip{display:inline-flex;align-items:center;padding:3px 10px;background:var(--bg);border:1px solid var(--border);border-radius:20px;color:var(--accent);text-decoration:none;font-weight:500;transition:background var(--transition),border-color var(--transition)}.rss-source-chip:hover{background:#eff6ff;border-color:var(--accent)}.sources-count{font-size:.85rem;color:var(--text-secondary);font-weight:500}.sources-header-right{display:flex;align-items:center;gap:10px}.sources-toggle-all{white-space:nowrap}.sources-hint{font-size:.88rem;color:var(--text-secondary);margin-bottom:20px}.source-list{list-style:none;display:flex;flex-direction:column;gap:12px}.source-card{display:flex;align-items:center;gap:16px;padding:16px 18px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--transition),box-shadow var(--transition)}.source-card--on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.source-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.source-card-label{font-weight:600;font-size:.97rem}.source-card-desc{font-size:.82rem;color:var(--text-secondary)}.source-card-categories{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;margin-bottom:2px}.source-card-url{font-size:.78rem;color:var(--accent);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-card-url:hover{text-decoration:underline}.source-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.source-remove-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--text-secondary);font-size:1.2rem;line-height:1;cursor:pointer;transition:background var(--transition),color var(--transition);padding:0}.source-remove-btn:hover{background:var(--border);color:var(--text)}.source-list--mt{margin-top:16px}.tg-section{margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}.tg-section__title{font-size:1rem;font-weight:600;margin:0 0 8px}.tg-add-row{display:flex;gap:10px;align-items:center;margin-bottom:6px}.tg-input-wrap{position:relative;display:flex;align-items:center;flex:1}.tg-at{position:absolute;left:12px;font-size:.95rem;color:var(--text-secondary);pointer-events:none;-webkit-user-select:none;user-select:none}.tg-input{width:100%;padding:9px 12px 9px 26px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text);font:inherit;font-size:.9rem;transition:border-color var(--transition)}.tg-input:focus{outline:none;border-color:var(--accent)}.tg-input--error{border-color:#e05252}.tg-add-btn{flex-shrink:0;padding:9px 18px}.tg-error{font-size:.82rem;color:#e05252;margin:0 0 4px}.toggle{flex-shrink:0;position:relative;width:44px;height:24px;background:var(--border);border:none;border-radius:12px;cursor:pointer;transition:background var(--transition);padding:0}.toggle--on{background:var(--accent)}.toggle-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform var(--transition)}.toggle--on .toggle-knob{transform:translate(20px)}.source-card-icon{width:20px;height:20px;margin-right:-6px;flex-shrink:0;object-fit:contain}.interests-panel{display:flex;flex-direction:column;gap:6px}.interests-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.interests-title{font-size:1.1rem;font-weight:700;letter-spacing:-.01em}.interests-hint{font-size:.88rem;color:var(--text-secondary);padding:0;margin-bottom:2px}.interests-input-row{display:flex;gap:10px;align-items:stretch}.interests-input{margin-bottom:0;flex:1}.interests-input-row .btn.btn-sm{padding:12px 20px;font-size:.95rem}.toggle-label-row{display:flex;align-items:center;gap:6px}.modal-summary-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.btn-summary-toggle{flex-shrink:0;background:none;border:1px solid var(--border);border-radius:6px;padding:2px 8px;font-size:.72rem;color:var(--text-secondary);cursor:pointer;transition:background var(--transition),color var(--transition);white-space:nowrap}.btn-summary-toggle:hover{background:var(--bg);color:var(--accent);border-color:var(--accent)}.modal-summary-placeholder{color:var(--text-secondary);font-style:italic;font-size:.88rem}.display-settings-list{display:flex;flex-direction:column;gap:14px;margin-top:4px}.toggle-row-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.toggle-label{font-size:.92rem;color:var(--text)}.settings-actions-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;row-gap:6px}.settings-actions-row .interests-hint{margin:0}.interests-loading{display:flex;padding:8px 0}.interests-empty{font-size:.88rem;color:var(--text-secondary);padding:4px 0}.interests-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px}.interest-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px 4px 12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:20px;font-size:.85rem;color:var(--text)}.interest-chip-text{font-weight:500}.interest-chip-no-emb{font-size:.75rem;color:#d97706;flex-shrink:0;cursor:default}.interest-chip-delete{background:none;border:none;cursor:pointer;font-size:1rem;line-height:1;color:var(--text-secondary);padding:0 2px;border-radius:50%;transition:color var(--transition),background var(--transition);display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.interest-chip-delete:hover{color:var(--danger);background:#fee2e2}.settings-preview-card{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-preview-info{display:flex;flex-direction:column;gap:3px;min-width:0}.settings-preview-title{font-size:15px;font-weight:600;color:var(--text)}.settings-preview-sub{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-preview-sub em{font-style:normal;color:var(--text)}.section-label{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:8px}.interest-group{display:flex;flex-direction:column;gap:8px}.interest-group-header{display:flex;align-items:baseline;gap:6px}.interest-group-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;align-self:center}.interest-group-title{font-weight:600;font-size:.85rem;color:var(--text)}.interest-group-hint{font-size:.78rem;color:var(--text-secondary)}.chip-must{background:#f3f4f6;border-color:#9ca3af;color:#111}.chip-exclude{background:#fff5f5;border-color:#fecaca;color:#dc2626}.chip-active{outline:2px solid #3b82f6;outline-offset:1px}.group-popover{position:fixed;display:flex;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 4px 16px #0000001f;padding:4px 6px;gap:2px;white-space:nowrap}.group-popover-arrow{position:absolute;transform:translate(-50%);width:0;height:0;pointer-events:none;z-index:1}.group-popover-arrow--down{top:100%;border:6px solid transparent;border-top-color:#e5e7eb}.group-popover-arrow--down:before{content:"";position:absolute;top:-7px;left:-5px;border:5px solid transparent;border-top-color:#fff}.group-popover-arrow--up{bottom:100%;border:6px solid transparent;border-bottom-color:#e5e7eb}.group-popover-arrow--up:before{content:"";position:absolute;bottom:-7px;left:-5px;border:5px solid transparent;border-bottom-color:#fff}.group-popover-btn{background:none;border:none;cursor:pointer;font-size:.78rem;font-weight:500;padding:4px 9px;border-radius:6px;transition:background var(--transition),color var(--transition);line-height:1.3}.group-popover-btn:hover{background:#f3f4f6}.group-popover-btn--active{background:#eff6ff}.group-popover-btn--soft{color:#1d4ed8}.group-popover-btn--must{color:#374151}.group-popover-btn--exclude{color:#dc2626}.group-popover-btn--active.group-popover-btn--soft{background:#dbeafe}.group-popover-btn--active.group-popover-btn--must{background:#f3f4f6}.group-popover-btn--active.group-popover-btn--exclude{background:#fee2e2}.group-popover-sep{width:1px;height:18px;background:#e5e7eb;flex-shrink:0}.compression-scale{padding:4px 0 2px}.cs-track{position:relative;height:36px;cursor:pointer;display:flex;align-items:center}.cs-track--dragging{cursor:grabbing}.cs-bg{position:absolute;left:0;right:0;height:5px;background:#e5e7eb;border-radius:3px;pointer-events:none}.cs-range{position:relative;width:calc(100% - 22px);margin:0 11px;height:36px;display:flex;align-items:center;pointer-events:none}.cs-fill{position:absolute;left:0;height:5px;background:linear-gradient(90deg,#60a5fa,#3b82f6);border-radius:3px}.cs-tick{position:absolute;width:8px;height:8px;border-radius:50%;background:#d1d5db;transform:translate(-50%);z-index:1}.cs-tick--filled{background:#3b82f6}.cs-thumb{position:absolute;width:22px;height:22px;border-radius:50%;background:#fff;border:2.5px solid #3b82f6;box-shadow:0 1px 4px #00000026;transform:translate(-50%);z-index:2;transition:transform .15s ease,box-shadow .15s ease}.cs-thumb--dragging{transform:translate(-50%) scale(1.18);box-shadow:0 2px 8px #0000002e,0 0 0 6px #3b82f624}.cs-step-labels{position:relative;width:calc(100% - 22px);margin:4px 11px 0;height:1.4em}.cs-step-label{position:absolute;font-size:11px;color:#9ca3af;-webkit-user-select:none;user-select:none;white-space:nowrap;line-height:1.4}.cs-step-label--active{color:#3b82f6;font-weight:600}.cs-full-label{text-align:center;font-size:.78rem;color:var(--text-secondary);margin-top:6px;min-height:1.2em}.settings-preview-card--col{flex-direction:column;align-items:stretch;gap:6px}.settings-preview-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.settings-preview-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.preview-block{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;cursor:pointer;transition:background .15s,border-color .15s;outline:none}.preview-block:hover,.preview-block:focus-visible{background:#eef2f7;border-color:#c7d0db}.interests-preview-chips{display:flex;flex-wrap:wrap;gap:4px}.interests-preview-chip{font-size:11px;line-height:1.3;padding:2px 8px;border-radius:10px;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.interests-preview-chip--soft{background:#3b82f61a;color:#1d4ed8;border:1px solid rgba(59,130,246,.2)}.interests-preview-chip--must{background:#11182712;color:#374151;border:1px solid rgba(17,24,39,.14)}.interests-preview-chip--exclude{background:#ef444414;color:#dc2626;border:1px solid rgba(239,68,68,.18)}.interests-preview-chip--more{background:transparent;color:#9ca3af;border:1px solid #e5e7eb}.interests-preview-empty{margin-top:6px;font-size:12px;color:#9ca3af;font-style:italic}.summarization-preview{margin-top:6px;display:flex;flex-direction:column;gap:5px}.compression-mini{display:flex;align-items:flex-end;gap:3px}.compression-mini-bar{width:5px;border-radius:2px;background:#e5e7eb;transition:background .2s}.compression-mini-bar--active{background:#3b82f6}.compression-mini-label{font-size:11px;color:#3b82f6;font-weight:600;margin-left:6px;align-self:center;line-height:1}.summarization-preview-prompt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:normal!important;text-overflow:unset}.login-backdrop{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--bg);padding:24px 16px}.login-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:40px 36px 36px;box-shadow:0 4px 24px #00000014;display:flex;flex-direction:column;gap:20px}.login-logo{display:flex;align-items:center;gap:10px;justify-content:center}.login-app-name{font-size:1.5rem;font-weight:700;color:var(--text);letter-spacing:-.02em}.login-subtitle{text-align:center;color:var(--text-secondary);font-size:.9rem;margin:-8px 0 0}.login-form{display:flex;flex-direction:column;gap:12px}.login-label{font-size:.82rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:-4px}.login-card--google-only{align-items:center;text-align:center;padding:48px 36px 44px;gap:24px;max-width:360px}.login-google{display:flex;justify-content:center}.google-signin-btn{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;background:#fff;color:#3c4043;border:1px solid #dadce0;border-radius:4px;font-size:14px;font-weight:500;font-family:Google Sans,Roboto,sans-serif;cursor:pointer;width:280px;justify-content:center;transition:background .15s,box-shadow .15s;box-shadow:0 1px 2px #3c404314}.google-signin-btn:hover{background:#f8f9fa;box-shadow:0 1px 3px #3c404333}.google-signin-btn:active{background:#f1f3f4}.login-google-loading{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:.9rem;padding:10px 0}.logout-btn{color:var(--text-secondary);font-size:.78rem;padding:4px 10px;border-color:var(--border);margin-left:4px}.logout-btn:hover{color:var(--danger, #ef4444);border-color:var(--danger, #ef4444);background:transparent}.profile-row{display:flex;gap:12px;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--border)}.profile-row:last-child{border-bottom:none}.profile-label{min-width:140px;font-size:.85rem;color:var(--text-secondary);flex-shrink:0}.profile-value{font-weight:500;word-break:break-all}.btn-danger{background:var(--danger);color:#fff;border:none}.btn-danger:hover{background:#dc2626}.btn-warning{background:#f59e0b;color:#fff;border:none;gap:6px}.btn-warning:hover:not(:disabled){background:#d97706}.btn-secondary{background:var(--bg);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary);font-weight:500}.btn-ghost:hover:not(:disabled){background:var(--bg);color:var(--text)}.login-divider{display:flex;align-items:center;gap:12px;width:100%;color:var(--text-secondary);font-size:.8rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border)}.login-test{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.test-signin-btn{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;width:280px;justify-content:center;transition:background var(--transition),border-color var(--transition)}.test-signin-btn:hover{background:var(--bg);border-color:#9ca3af}.test-signin-btn:active{background:#f1f3f4}.test-signin-btn svg{color:#6366f1;flex-shrink:0}.login-test-hint{font-size:.78rem;color:var(--text-secondary)}.test-login-animation{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%;padding:8px 0}.test-login-icon{color:#6366f1;animation:test-icon-pulse 2s ease-in-out infinite}@keyframes test-icon-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.92)}}.test-login-message{font-size:.95rem;color:var(--text);font-weight:500;min-height:1.4em;transition:opacity .3s}.test-login-progress-track{width:100%;max-width:240px;height:4px;background:var(--border);border-radius:99px;overflow:hidden}.test-login-progress-bar{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:99px;transition:width .1s linear}.test-login-hint{font-size:.78rem;color:var(--text-secondary)}.test-login-cancel{font-size:.85rem}.card-header-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.card-header-row h2{margin:0}.test-account-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:#ede9fe;color:#5b21b6;border-radius:99px;font-size:.78rem;font-weight:600;border:1px solid #c4b5fd}.test-account-reset-section{margin-top:20px;padding:16px;background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:12px}.test-account-reset-desc{font-size:.85rem;color:#92400e;line-height:1.5}.alert-success{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}
