*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}#root{flex-direction:column;height:100vh;display:flex}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#1a1a1a;--bg-sidebar:#141414;--bg-card:#222;--bg-hover:#2a2a2a;--border:#333;--text:#e0e0e0;--text-sub:#888;--text-muted:#555;--accent:#61ff3b;--accent-hover:#86ff64;--accent-rgb:97, 255, 59;--read-text:#555;color:var(--text);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;font:inherit;background:0 0;border:none}input,select{border:1px solid var(--border);color:var(--text);font:inherit;background:#2a2a2a;border-radius:4px;width:100%;padding:6px 10px}input:focus,select:focus{outline:1px solid var(--accent)}ul{list-style:none}.loading-screen{height:100vh;color:var(--text-sub);justify-content:center;align-items:center;display:flex}.login-page{justify-content:center;align-items:center;height:100vh;display:flex}.login-card{text-align:center;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;width:320px;padding:48px 40px}.login-card h1{margin-bottom:6px;font-size:22px}.login-card p{color:var(--text-sub);margin-bottom:28px}.btn-google{color:#333;background:#fff;border-radius:4px;align-items:center;gap:10px;padding:10px 20px;font-size:14px;font-weight:500;transition:background .15s;display:inline-flex}.btn-google:hover{background:#f0f0f0}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-manager{background:radial-gradient(circle at top, #61ff3b0a, transparent 42%), var(--bg)}.header{border-bottom:1px solid var(--border);background:var(--bg-sidebar);flex-shrink:0;justify-content:space-between;align-items:center;height:44px;padding:0 16px;display:flex}.header-brand{align-items:baseline;gap:8px;min-width:0;display:inline-flex}.header-logo{font-size:15px;font-weight:700}.header-version{color:#e0e0e06b;letter-spacing:.02em;font-size:11px;font-weight:600}.header-user{align-items:center;gap:12px;min-width:0;display:flex}.avatar{border-radius:50%}.worker-health-grid{grid-auto-columns:minmax(132px,1fr);grid-auto-flow:column;align-items:stretch;gap:10px;min-width:0;max-width:min(76vw,940px);display:grid}.worker-health-stat{border:1px solid var(--border);background:#ffffff08;border-radius:999px;flex-shrink:0;grid-template-columns:56px minmax(0,1fr);align-items:center;min-width:132px;height:24px;padding:0 10px;display:grid;overflow:hidden}.worker-health-stat-label,.worker-health-stat-value{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;line-height:1;overflow:hidden}.worker-health-stat-label{color:#ffffff85;text-align:left;font-weight:600}.worker-health-stat-value{color:#fffffff0;text-align:right;text-overflow:ellipsis;font-weight:700;overflow:hidden}.worker-health-stat.is-healthy{background:#61ff3b14;border-color:#61ff3b8c}.worker-health-stat.is-warning{background:#fff50017;border-color:#fff500cc}.worker-health-stat.is-error{background:#ff636314;border-color:#ff636394}.worker-health-stat.is-unknown{background:#ffffff08;border-color:#ffffff1f}.header-logout-button{margin-left:0}.layout{flex:1;display:flex;overflow:hidden}.sidebar-shell{flex-shrink:0;min-width:0;height:100%}.sidebar-shell.collapsed{overflow:hidden}.layout-resize-handle{cursor:col-resize;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:8px;display:flex;position:relative}.layout-resize-handle.collapsed{cursor:default;width:12px}.layout-resize-handle:after{content:"";background:#ffffff0a;width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.layout-resize-handle:hover:after,.layout-resize-handle:active:after{background:rgba(var(--accent-rgb), .45)}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.sidebar.collapsed{align-items:stretch}.sidebar-collapse-slot{flex-shrink:0;justify-content:flex-end;align-items:center;height:32px;padding:6px 8px 2px;display:flex}.sidebar-collapse-button{border:1px solid var(--border);width:24px;height:24px;color:var(--text-sub);background:#ffffff08;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-collapse-button:hover{color:#fff;border-color:rgba(var(--accent-rgb), .44);background:rgba(var(--accent-rgb), .14)}.sidebar-collapse-icon{font-size:16px;line-height:1;display:block;transform:translateY(-1px)}.sidebar-content{flex-direction:column;flex:1;min-height:0;display:flex}.sidebar-pane{flex-direction:column;min-height:0;display:flex}.sidebar-pane-overview{border-bottom:1px solid var(--border);flex:0 0 42%}.sidebar-pane-detail{flex:1}.sidebar-split-handle{cursor:row-resize;background:0 0;flex-shrink:0;height:8px;position:relative}.sidebar-split-handle:after{content:"";background:#ffffff0d;height:1px;position:absolute;top:50%;left:20px;right:20px;transform:translateY(-50%)}.sidebar-split-handle:hover:after,.sidebar-split-handle:active:after{background:rgba(var(--accent-rgb), .45)}.sidebar-nav{scrollbar-color:#000 #191919;scrollbar-width:thin;min-height:0;padding:6px 0;overflow-y:auto}.sidebar-nav-overview{flex-direction:column;flex:1;padding-top:0;display:flex}.sidebar-nav-detail{flex:1;padding-top:0}.sidebar-nav::-webkit-scrollbar{width:10px}.sidebar-nav::-webkit-scrollbar-track{background:#191919}.sidebar-nav::-webkit-scrollbar-thumb{background:#000;border:2px solid #191919;border-radius:999px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#222}.sidebar-item{text-align:left;width:100%;color:var(--text-sub);border-radius:0;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:background .1s,color .1s;display:flex;overflow:hidden}.sidebar-item:hover{background:var(--bg-hover);color:var(--text)}.sidebar-item.active{background:rgba(var(--accent-rgb), .17);color:#f4ffe6}.sidebar-item[data-drop-target=true]{background:rgba(var(--accent-rgb), .24);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb), .5);color:#f6ffea}.sidebar-feed-item[data-dragging=true]{opacity:.5}.sidebar-all{color:var(--text);font-weight:600}.sidebar-overview-pinned{z-index:2;background:var(--bg-sidebar);border-bottom:1px solid var(--border);position:sticky;top:0}.sidebar-overview-pinned .sidebar-item{margin-bottom:0}.sidebar-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sidebar-badges{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.unread-badge{background:rgba(var(--accent-rgb), .2);color:var(--accent);text-align:center;border-radius:8px;flex-shrink:0;min-width:16px;padding:0 5px;font-size:10px;font-weight:700;line-height:16px}.error-badge{color:#fff7b8;text-shadow:0 0 5px #fff50040;text-align:center;background:#fff50024;border-color:#fff500d6;border-radius:8px;flex-shrink:0;min-width:16px;padding:0 5px;font-size:10px;font-weight:700;line-height:16px}.sidebar-folder-header{color:var(--text);font-weight:600}.sidebar-folder-list{flex-direction:column;gap:2px;padding-top:4px;display:flex}.sidebar-feed-item,.sidebar-feed-item.compact{padding-left:14px}.sidebar-feed-item .feed-title{font-size:12px}.feed-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.favicon{border-radius:2px;flex-shrink:0}.sidebar-feed-icon{opacity:.9;width:14px;height:14px;color:var(--text-sub);flex-shrink:0;justify-content:center;align-items:center;font-size:13px;line-height:1;display:inline-flex}.sidebar-feed-icon-clip{background:#ffffff0a;border:1px solid #ffffff14;border-radius:4px;font-size:11px}.sidebar-feed-item.clip-feed .feed-title{letter-spacing:.01em;font-weight:700}.sidebar-feed-item.clip-feed.active{background:rgba(var(--accent-rgb), .14)}.sidebar-detail-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:10px 12px 8px}.sidebar-detail-title{color:#f1f1f1;font-size:13px;font-weight:700;line-height:1.2}.sidebar-detail-subtitle{color:var(--text-sub);margin-top:3px;font-size:10px}.sidebar-empty-detail{color:var(--text-muted);padding:16px 12px;font-size:12px}.sidebar-actions{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding:8px 12px;display:flex;position:relative}.sidebar-context-menu{z-index:250;border:1px solid var(--border);background:#1f1f1f;border-radius:8px;flex-direction:column;gap:2px;min-width:132px;padding:4px;display:flex;position:fixed;box-shadow:0 8px 26px #00000073}.sidebar-context-menu button{text-align:left;color:var(--text);border-radius:6px;padding:7px 9px;font-size:12px}.sidebar-context-menu button:hover:not(:disabled){background:var(--bg-hover)}.sidebar-context-menu button:disabled{opacity:.55;cursor:default}.sidebar-context-menu button.danger{color:#ff9f9f}.sidebar-context-menu button.danger:hover:not(:disabled){background:#ff5a5a24}.sidebar.collapsed .sidebar-content,.sidebar.collapsed .sidebar-actions{display:none}.btn-text{color:var(--text-sub);text-align:left;padding:3px 0;font-size:12px}.btn-text:hover{color:var(--accent)}.import-status{color:var(--accent);padding:2px 0;font-size:11px}.sync-status{color:var(--accent);white-space:nowrap;font-size:11px}.sidebar-menu-button{border:1px solid var(--border);width:100%;color:var(--text);background:#ffffff08;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:12px;display:inline-flex}.sidebar-menu-button:hover,.sidebar-menu-button.open{background:rgba(var(--accent-rgb), .14);border-color:rgba(var(--accent-rgb), .44)}.sidebar-menu-caret{color:var(--text-sub);font-size:10px}.sidebar-menu-dropdown{border:1px solid var(--border);z-index:20;background:#1b1b1b;border-radius:10px;padding:6px;position:absolute;bottom:calc(100% + 8px);left:12px;right:12px;box-shadow:0 14px 36px #00000059}.sidebar-menu-item{text-align:left;width:100%;color:var(--text-sub);border-radius:6px;padding:8px 10px;font-size:12px}.sidebar-menu-item:hover{background:var(--bg-hover);color:var(--text)}.article-list-container{scrollbar-gutter:stable;flex-direction:column;flex:1;display:flex;position:relative;overflow-y:auto}.article-list-container.is-syncing{cursor:progress}.article-list-header{border-bottom:1px solid var(--border);background:var(--bg);z-index:10;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:14px 16px 0;display:flex;position:sticky;top:0}.article-title-group{flex-direction:column;gap:22px;min-width:0;display:flex}.article-page-title{letter-spacing:-.02em;color:#f2f2f2;font-size:21px;font-weight:700;line-height:1}.article-tabs{gap:22px;display:flex;position:relative}.article-tabs button{color:var(--text-sub);letter-spacing:.01em;padding:0 0 10px;font-size:13px;font-weight:600;transition:color .12s;position:relative}.article-tabs button:hover{color:var(--text)}.article-tabs button.active{color:#fff}.article-tabs button:disabled{color:var(--text-sub);cursor:default}.article-tabs button.active:after{content:"";background:var(--accent);z-index:1;border-radius:999px;height:2px;position:absolute;bottom:-1px;left:0;right:0}.article-header-actions{align-items:center;gap:10px;padding-top:3px;display:flex}.action-pill,.action-solid,.action-icon{border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;height:30px;transition:background .12s,color .12s,border-color .12s,opacity .12s;display:inline-flex}.action-pill{color:var(--text-sub);background:#ffffff08;padding:0 11px}.action-pill:hover{color:var(--text);border-color:var(--accent);background:rgba(var(--accent-rgb), .14)}.action-pill:disabled,.action-icon:disabled{opacity:.46;cursor:default;color:var(--text-sub);border-color:var(--border);background:#ffffff08}.action-pill:disabled:hover,.action-icon:disabled:hover{color:var(--text-sub);border-color:var(--border);background:#ffffff08}.action-pill.active{color:#f6ffea;border-color:rgba(var(--accent-rgb), .6);background:rgba(var(--accent-rgb), .22)}.sort-toggle,.hidden-toggle,.webclip-toggle,.mark-all-button{width:92px}.hidden-toggle.active{border-color:rgba(var(--accent-rgb), .6);background:rgba(var(--accent-rgb), .24);color:#f6ffea}.hidden-toggle.active:hover{border-color:rgba(var(--accent-rgb), .78);background:rgba(var(--accent-rgb), .3)}.undo-button{width:92px}.undo-button:disabled{opacity:.45;cursor:default;color:var(--text-sub);background:#ffffff08}.undo-button.active{border-color:rgba(var(--accent-rgb), .6);background:rgba(var(--accent-rgb), .24);color:#f6ffea}.undo-button.active:hover{border-color:rgba(var(--accent-rgb), .78);background:rgba(var(--accent-rgb), .3)}.action-solid{color:#102006;border-color:rgba(var(--accent-rgb), .7);background:linear-gradient(#8dff5b 0%,#40d91d 100%);padding:0 11px;box-shadow:inset 0 1px #ffffff29}.action-solid:hover{background:linear-gradient(#a2ff73 0%,#55e22f 100%)}.action-solid:disabled{opacity:.45;cursor:default}.action-icon{width:30px;color:var(--text-sub);background:#ffffff08;font-size:15px;position:relative;overflow:hidden}.action-icon:hover{border-color:rgba(var(--accent-rgb), .6);background:rgba(var(--accent-rgb), .22);color:#f6ffea}.refresh-button{border-radius:999px}.refresh-indicator{pointer-events:none;position:absolute;inset:0}.refresh-ring{width:100%;height:100%;transform:rotate(-90deg)}.refresh-ring-track{fill:none;stroke:#fff3;stroke-width:2px}.refresh-ring-progress{fill:none;stroke:rgba(var(--accent-rgb), .95);stroke-width:2px;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--refresh-progress,0));transition:stroke-dashoffset .4s linear}.refresh-icon{z-index:2;font-size:14px;line-height:1;position:relative}.empty{text-align:center;color:var(--text-muted);padding:40px}.article-list{flex:1}.article-item{border-bottom:1px solid var(--border);align-items:center;height:25px;padding-right:3px;transition:background .1s;display:flex}.article-item:hover{background:var(--bg-hover)}.article-item.read .article-feed,.article-item.read .article-title{color:var(--read-text)}.article-item.read .article-date{color:var(--text-muted)}.article-link{text-align:left;min-width:0;height:100%;color:var(--text);flex:1;grid-template-columns:minmax(154px,176px) 52px minmax(0,1fr) 42px;align-items:center;gap:0;padding:0 8px 0 12px;text-decoration:none;display:grid}.article-link:hover{color:var(--accent)}.article-feed{color:inherit;opacity:.54;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.25;overflow:hidden}.article-gap{width:52px;height:1px;display:block}.article-title{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.2;overflow:hidden}.article-item.unread .article-title{font-weight:600}.article-date{color:inherit;opacity:.58;text-align:right;white-space:nowrap;justify-self:end;width:42px;font-size:12px;line-height:1.2}.article-item.read .article-link{color:var(--read-text)}.article-toast{z-index:200;border:1px solid var(--border);color:var(--text);background:#1c1c1cf5;border-radius:10px;padding:10px 14px;font-size:12px;line-height:1.4;animation:.18s ease-out toast-slide-in;position:fixed;top:56px;right:18px;box-shadow:0 12px 30px #00000059}.article-toast.is-ok{border-color:rgba(var(--accent-rgb), .38);color:#f4ffe8}.article-toast.is-info{color:var(--text);border-color:#ffffff14}.article-toast.is-error{color:#ffd4d4;border-color:#ff5c5c6b}.article-sync-overlay{z-index:40;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);cursor:progress;pointer-events:all;background:#12121280;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.article-sync-card{border:1px solid var(--border);background:#181818f5;border-radius:14px;flex-direction:column;align-items:center;gap:12px;min-width:150px;padding:18px 22px;display:flex;box-shadow:0 14px 34px #0000005c}.article-sync-spinner{border:3px solid #ffffff29;border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite article-sync-spin}.article-sync-text{color:#f4ffe8;letter-spacing:.02em;font-size:12px;font-weight:700}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes article-sync-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-read,.btn-mark-above,.btn-open-above{border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:color .1s,background .1s;display:flex}.btn-read{color:var(--text-muted);font-size:13px}.btn-read:hover:not(:disabled){color:#4caf50;background:#1b2e1b}.btn-read.done{color:#2e7d32}.btn-read:disabled{cursor:default}.btn-mark-above,.btn-open-above{color:var(--text-muted);opacity:0;font-size:13px;transition:color .1s,background .1s,opacity .15s}.article-item:hover .btn-mark-above,.article-item:hover .btn-open-above{opacity:1}.btn-mark-above:hover{color:var(--accent);background:var(--bg-hover)}.btn-open-above:hover{color:#4caf50;background:#1b2e1b}.loader{text-align:center;color:var(--text-muted);padding:16px;font-size:12px}.end-mark{color:var(--text-muted)}.modal.fm-modal{flex-direction:column;width:min(98vw,1560px);max-width:min(98vw,1560px);height:min(94vh,980px);max-height:min(94vh,980px);padding:0;display:flex;overflow:hidden}.fm-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 14px;display:flex}.fm-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.fm-header h3{margin-bottom:4px;font-size:16px}.fm-header p{color:var(--text-sub);max-width:720px;font-size:12px;line-height:1.5}.fm-close{color:var(--text-sub);border-radius:3px;padding:2px 6px;font-size:18px;line-height:1}.fm-close:hover{background:var(--bg-hover);color:var(--text)}.fm-overview{flex-shrink:0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:12px 20px 0;display:grid}.fm-stat{border:1px solid var(--border);background:#ffffff05;border-radius:10px;padding:10px 12px}.fm-stat span{color:var(--text-sub);margin-bottom:4px;font-size:11px;display:block}.fm-stat strong{letter-spacing:-.02em;color:#fff;font-size:18px;display:block}.fm-toolbar{flex-wrap:wrap;flex-shrink:0;align-items:end;gap:10px;padding:12px 20px 14px;display:flex}.fm-search,.fm-control{flex-direction:column;gap:4px;display:flex}.fm-search{flex:1;min-width:min(320px,100%)}.fm-search span,.fm-control span{color:var(--text-sub);font-size:11px}.fm-refresh{border:1px solid var(--border);color:var(--text);background:#ffffff08;border-radius:10px;padding:9px 14px;font-size:12px}.fm-refresh-header{min-width:104px}.fm-refresh:hover:not(:disabled){background:rgba(var(--accent-rgb), .14);border-color:rgba(var(--accent-rgb), .44)}.fm-refresh:disabled{opacity:.45;cursor:default}.fm-refresh-mini{border-radius:999px;min-width:72px;padding:6px 10px;font-size:11px}.fm-grid{flex:1;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:12px;min-height:0;padding:0 20px 18px;display:grid}.fm-column{border:1px solid var(--border);background:#ffffff05;border-radius:14px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.fm-column-header{border-bottom:1px solid var(--border);color:var(--text-sub);background:#ffffff05;flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:12px;display:flex}.fm-subtitle{color:var(--text-sub);font-size:11px}.fm-pill{border:1px solid var(--border);color:var(--text-sub);border-radius:999px;padding:4px 10px;font-size:11px}.fm-pill.active{color:#f6ffea;border-color:rgba(var(--accent-rgb), .6);background:rgba(var(--accent-rgb), .22)}.fm-folder-list,.fm-feed-list{scrollbar-gutter:stable;flex:1;min-height:0;overflow-y:auto}.fm-folder-list{padding:10px}.fm-feed-list{padding:4px 0}.fm-folder-list::-webkit-scrollbar{width:10px}.fm-feed-list::-webkit-scrollbar{width:10px}.fm-folder-list::-webkit-scrollbar-track{background:#191919}.fm-feed-list::-webkit-scrollbar-track{background:#191919}.fm-folder-list::-webkit-scrollbar-thumb{background:#000;border:2px solid #191919;border-radius:999px}.fm-feed-list::-webkit-scrollbar-thumb{background:#000;border:2px solid #191919;border-radius:999px}.fm-folder-card{border:1px solid var(--border);background:#ffffff05;border-radius:12px;flex-direction:column;gap:8px;margin-bottom:8px;padding:10px;display:flex}.fm-folder-card.selected{border-color:rgba(var(--accent-rgb), .55);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb), .2)}.fm-folder-row{align-items:center;gap:8px;display:flex}.fm-folder-name{text-align:left;color:#f1f1f1;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.fm-folder-name:hover{color:var(--accent)}.fm-no-folder{cursor:default;color:var(--text-muted)}.fm-no-folder:hover{color:var(--text-muted)}.fm-folder-edit{flex-shrink:0}.fm-folder-meta{color:var(--text-sub);flex-wrap:wrap;gap:8px;font-size:11px;display:flex}.fm-folder-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.fm-folder-select-btn{text-align:left;border:1px solid var(--border);color:var(--text-sub);background:#ffffff05;border-radius:8px;flex:1;padding:7px 10px;font-size:12px}.fm-folder-select-btn:hover{color:var(--text);background:var(--bg-hover)}.fm-feed-row{border-bottom:1px solid #ffffff0a;grid-template-columns:18px minmax(0,1fr) 156px 24px;align-items:flex-start;gap:10px;padding:10px 16px;display:grid}.fm-feed-row:hover{background:var(--bg-hover)}.fm-favicon{border-radius:3px;flex-shrink:0;margin-top:2px}.fm-feed-main{flex-direction:column;gap:5px;min-width:0;display:flex}.fm-feed-title-line{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.fm-name{text-align:left;color:#f4f4f4;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.fm-name:hover{color:var(--accent)}.fm-edit-input{background:var(--bg);border:1px solid var(--accent);min-width:0;color:var(--text);font-size:13px;font:inherit;border-radius:8px;flex:1;padding:5px 8px}.fm-folder-select{background:var(--bg);border:1px solid var(--border);color:var(--text-sub);border-radius:8px;flex-shrink:0;align-self:start;width:100%;padding:7px 8px;font-size:11px}.fm-delete{width:24px;height:24px;color:var(--text-muted);border-radius:6px;flex-shrink:0;justify-content:center;align-self:start;align-items:center;font-size:14px;transition:color .1s,background .1s;display:flex}.fm-delete:hover:not(:disabled){color:#ef5350;background:#ef53501f}.fm-delete:disabled{opacity:.4}.fm-feed-meta{min-width:0;color:var(--text-sub);flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.fm-feed-url,.fm-feed-folder{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.fm-feed-url{max-width:360px}.fm-feed-folder{color:var(--text)}.fm-feed-time{color:var(--text-sub);flex-shrink:0}.fm-feed-meta-sep{color:var(--text-muted);flex-shrink:0}.fm-feed-error{color:#ff9c9c;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;line-height:1.5;overflow:hidden}@media (height<=860px){.fm-header{padding:14px 18px 10px}.fm-overview{gap:6px;padding:10px 18px 0}.fm-stat{padding:8px 10px}.fm-stat strong{font-size:16px}.fm-toolbar{padding:10px 18px 12px}.fm-grid{gap:10px;padding:0 18px 14px}.fm-feed-row{padding:8px 12px}}.fm-badge{border:1px solid #0000;border-radius:999px;flex-shrink:0;align-items:center;padding:3px 8px;font-size:10px;line-height:1;display:inline-flex}.fm-badge-danger{color:#ffb4b4;background:#ff5c5c1f;border-color:#ff5c5c38}.fm-badge-warn{color:#fff7b8;text-shadow:0 0 5px #fff50040;background:#fff50024;border-color:#fff500d6}.fm-badge-muted{color:var(--text-sub);background:#ffffff0a;border-color:#ffffff14}.fm-badge-ok{color:#9ce5ad;background:#46aa5c1f;border-color:#46aa5c3d}.fm-badge-neutral{color:var(--text-sub);background:#ffffff0a;border-color:#ffffff14}.fm-badge-accent{color:#f4ffe4;border-color:rgba(var(--accent-rgb), .4);background:rgba(var(--accent-rgb), .24)}.fm-empty{text-align:center;color:var(--text-muted);padding:22px 14px;font-size:12px}.fm-tabs{flex-shrink:0;gap:8px;padding:12px 20px 0;display:flex}.fm-tab{border:1px solid var(--border);color:var(--text-sub);background:#ffffff08;border-radius:999px;padding:7px 14px;font-size:12px;font-weight:700}.fm-tab.active{color:#f6ffea;border-color:rgba(var(--accent-rgb), .58);background:rgba(var(--accent-rgb), .2)}.fm-dashboard{flex-direction:column;flex:1;min-height:0;padding-bottom:12px;display:flex}.fm-overview-dashboard{padding-top:12px}.fm-dashboard-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.9fr);gap:12px;min-height:0;padding:12px 20px 0;display:grid}.fm-dashboard-grid-secondary{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fm-panel{border:1px solid var(--border);background:#ffffff05;border-radius:14px;min-height:0;overflow:hidden}.fm-panel-wide{min-width:0}.fm-panel-header{border-bottom:1px solid var(--border);color:var(--text-sub);background:#ffffff05;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;font-size:12px;display:flex}.fm-donut-wrap{align-items:center;gap:16px;min-width:0;padding:14px;display:flex}.fm-donut{aspect-ratio:1;border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:152px;position:relative;box-shadow:inset 0 0 0 10px #0003}.fm-donut-hole{text-align:center;background:#1a1a1af5;border:1px solid #ffffff0d;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:22%}.fm-donut-hole strong{color:#fff;font-size:24px;line-height:1}.fm-donut-hole span{color:var(--text-sub);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.fm-donut-wrap .fm-distribution{flex:1;min-width:0;padding:0}.fm-run-chart{grid-template-columns:repeat(8,minmax(0,1fr));align-items:end;gap:10px;padding:14px;display:grid}.fm-run-bar-group{flex-direction:column;gap:8px;min-width:0;display:flex}.fm-run-meta,.fm-run-foot{color:var(--text-sub);justify-content:space-between;gap:6px;min-width:0;font-size:10px;display:flex}.fm-run-meta span,.fm-run-foot span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fm-run-tone{border:1px solid var(--border);background:#ffffff08;border-radius:999px;padding:2px 6px}.fm-run-tone.is-ok{color:#d7ffe0;border-color:#61ff3b52}.fm-run-tone.is-warn{color:#fff7b8;border-color:#fff500cc}.fm-run-tone.is-danger{color:#ffcece;border-color:#ff5c5c61}.fm-run-tone.is-muted{color:var(--text-sub)}.fm-run-bar-track{border:1px solid var(--border);background:linear-gradient(#ffffff0d,#ffffff04),linear-gradient(#0000 0 72%,#ffffff0f 72% 73%,#0000 73% 100%);border-radius:14px;height:138px;position:relative;overflow:hidden}.fm-run-bar-duration,.fm-run-bar-failed{border-radius:999px 999px 0 0;width:60%;position:absolute;left:50%;transform:translate(-50%)}.fm-run-bar-duration{background:linear-gradient(180deg, rgba(var(--accent-rgb), .45), rgba(var(--accent-rgb), .85));box-shadow:0 0 16px rgba(var(--accent-rgb), .18);bottom:0}.fm-run-bar-failed{background:linear-gradient(#ff5c5c40,#ff5c5ce0);width:24%;bottom:0;box-shadow:0 0 10px #ff5c5c26}.fm-distribution{flex-direction:column;gap:12px;padding:14px;display:flex}.fm-distribution-row{flex-direction:column;gap:6px;display:flex}.fm-distribution-label{color:var(--text-sub);justify-content:space-between;gap:8px;font-size:12px;display:flex}.fm-distribution-track{border:1px solid var(--border);background:#ffffff0d;border-radius:999px;height:12px;overflow:hidden}.fm-distribution-fill{border-radius:inherit;height:100%}.fm-distribution-fill.is-ok{background:linear-gradient(90deg,#61ff3b6b,#61ff3be6)}.fm-distribution-fill.is-muted{background:linear-gradient(90deg,#ffffff2e,#ffffff6b)}.fm-distribution-fill.is-warn{background:linear-gradient(90deg,#fff50061,#fff500e0)}.fm-distribution-fill.is-danger{background:linear-gradient(90deg,#ff5c5c61,#ff5c5ce6)}.fm-metric-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;display:grid}.fm-metric{border:1px solid var(--border);background:#ffffff05;border-radius:12px;padding:10px 12px}.fm-metric span{color:var(--text-sub);margin-bottom:4px;font-size:11px;display:block}.fm-metric strong{color:#fff;letter-spacing:-.02em;font-size:18px;display:block}.fm-note-list{color:var(--text-sub);flex-direction:column;gap:10px;padding:14px;font-size:12px;line-height:1.6;display:flex}.modal-overlay{z-index:100;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:12px;width:340px;padding:24px;display:flex}.modal.fm-modal{border-radius:12px}.manager-page{background:var(--bg);z-index:100;justify-content:stretch;align-items:stretch;display:flex;position:fixed;inset:0;overflow:hidden}.manager-page .fm-modal.fm-modal-standalone{width:100vw;max-width:none;height:100vh;max-height:none;box-shadow:none;background:linear-gradient(180deg, #ffffff04, #ffffff03), var(--bg);border:none;border-radius:0;padding:0}.manager-page .fm-modal.fm-modal-standalone .fm-dashboard{padding-bottom:16px}.manager-page .fm-modal.fm-modal-standalone .fm-grid{padding-bottom:20px}.manager-page .fm-modal.fm-modal-standalone .fm-folder-list,.manager-page .fm-modal.fm-modal-standalone .fm-feed-list{max-height:none}.manager-page .fm-modal.fm-modal-standalone .fm-header{padding:18px 24px 14px}.manager-page .fm-modal.fm-modal-standalone .fm-overview,.manager-page .fm-modal.fm-modal-standalone .fm-toolbar,.manager-page .fm-modal.fm-modal-standalone .fm-tabs,.manager-page .fm-modal.fm-modal-standalone .fm-dashboard-grid{padding-left:24px;padding-right:24px}.manager-page .fm-modal.fm-modal-standalone .fm-overview-dashboard{padding-top:12px}.modal h3{font-size:15px}.confirm-modal{width:380px}.confirm-text{color:var(--text-sub);font-size:13px;line-height:1.6}.modal-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.modal-actions button{border:1px solid var(--border);color:var(--text-sub);border-radius:4px;padding:6px 16px;font-size:13px}.modal-actions button:hover{background:var(--bg-hover)}.btn-primary{font-weight:700;background:var(--accent)!important;border-color:var(--accent)!important;color:#132407!important}.btn-primary:hover:not(:disabled){background:var(--accent-hover)!important}.btn-primary:disabled{opacity:.5;cursor:default}.error{color:#ef5350;font-size:12px}
