:root{--primary:#1875f3;--primary-hover:#1462cc;--primary-light:#e8f1fe;--background:#f5f5f5;--surface:#fff;--border:#ddd;--border-light:#eee;--hover:#f0f0f0;--active:#e8e8e8;--text:#333;--text-secondary:#666;--text-muted:#888;--danger:#d93025}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--background);color:var(--text);-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,sans-serif;font-size:15px}a{color:inherit;cursor:pointer;text-decoration:none}input[type=text],input[type=url],input[type=password],select,textarea{border:1px solid var(--border);background-color:#fff;border-radius:5px;width:100%;padding:8px;font-family:inherit;font-size:15px}input[type=text]:focus,input[type=url]:focus,input[type=password]:focus,select:focus,textarea:focus{border-color:#bbb;outline:none}.material-symbols-outlined{vertical-align:middle;-webkit-user-select:none;user-select:none}.header,.reader-toolbar,.subbar,.segmented,.list-section,.list-row,.dropdown-menu,.modal-actions,.popup-actions,button,.icon-btn{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.header{border-bottom:1px solid var(--border);padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top));z-index:100;background:#fff;justify-content:space-between;align-items:center;gap:8px;min-height:56px;display:flex;position:sticky;top:0;box-shadow:0 2px 4px #0000000d}.header-left{align-items:center;gap:8px;min-width:0;display:flex}.header-icon{color:var(--primary);flex-shrink:0;font-size:24px}.header-favicon{object-fit:contain;border-radius:4px;flex-shrink:0;width:24px;height:24px}.header-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:600;overflow:hidden}.header-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.logo{vertical-align:middle;flex-shrink:0;width:36px;height:36px}.icon-btn{cursor:pointer;color:#000;background:0 0;border:none;border-radius:6px;padding:8px;font-size:20px;line-height:0;transition:background .2s}.icon-btn .material-symbols-outlined{color:#000}.icon-btn:hover{background:var(--hover)}.icon-btn.disabled{opacity:.35;pointer-events:none}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}button{cursor:pointer;background:var(--primary);color:#fff;border:none;border-radius:4px;padding:8px 16px;font-family:inherit;font-size:15px}button:hover{background:var(--primary-hover)}button:disabled{opacity:.6;cursor:default}button.secondary{color:var(--text);border:1px solid var(--border);background:#fff}button.secondary:hover{background:var(--hover)}button.danger{color:var(--danger);border:1px solid var(--border);background:#fff}.dropdown{position:relative}.dropdown-menu{border:1px solid var(--border);z-index:200;background:#fff;border-radius:6px;min-width:200px;padding:8px 0;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #0000001a}.dropdown-menu a{white-space:nowrap;align-items:center;gap:10px;padding:8px 14px;display:flex}.dropdown-menu a:hover{background:var(--hover)}.dropdown-menu .material-symbols-outlined{font-size:20px}.header-nav{flex-shrink:0;display:flex}.nav-btn{background:var(--hover);color:#555;border:1px solid var(--border);cursor:pointer;border-radius:0;padding:7px 14px;font-size:14px;font-weight:500;transition:background .15s,color .15s}.nav-btn:hover{background:var(--active)}.nav-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.nav-btn:first-child{border-radius:8px 0 0 8px}.nav-btn:last-child{border-radius:0 8px 8px 0}.nav-btn-icon{vertical-align:middle;font-size:16px}.nav-btn-label{margin-left:4px}@media (width<=600px){.nav-btn-label,.header-title.hide-mobile{display:none}.nav-btn{padding:7px 20px}}.subbar{justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.subbar-info{color:var(--text-muted);font-size:13px}.segmented{background:var(--active);border-radius:8px;padding:2px;display:inline-flex}.segmented a{color:var(--text-secondary);border-radius:6px;padding:5px 14px;font-size:14px}.segmented a.active{color:var(--primary);background:#fff;font-weight:500;box-shadow:0 1px 2px #0000001a}.page{max-width:820px;padding-bottom:calc(24px + env(safe-area-inset-bottom));margin:0 auto}.list{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff}@media (width>=821px){.list{border:1px solid var(--border);border-radius:8px;margin:0 10px 10px;overflow:hidden}}.list-section{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;background:var(--background);align-items:center;gap:8px;padding:14px 14px 6px;font-size:13px;font-weight:600;display:flex}.list-section .grow{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}a.list-section:hover{color:var(--primary)}.feed-group{border:1px solid var(--border);background:#fff;border-radius:12px;margin:8px 10px 14px;overflow:hidden}.feed-group-header{border-bottom:1px solid var(--border);background:#f5f8fe;align-items:center;gap:10px;padding:12px 14px;display:flex}.feed-group-title{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:17px;font-weight:700;overflow:hidden}.feed-group-icon{color:var(--primary);font-size:22px}.feed-group-count{color:var(--text-secondary);font-size:13px}.feed-group .list-row:last-child{border-bottom:none}.list-row{border-bottom:1px solid var(--border-light);cursor:pointer;align-items:center;gap:12px;min-height:48px;padding:12px 14px;display:flex}.list-row:last-child{border-bottom:none}.list-row:hover{background:#fafafa}.list-row.highlight{background:var(--primary-light)}.list-row .row-icon{color:var(--primary);font-size:22px}.feed-icon{object-fit:contain;border-radius:4px;flex-shrink:0;width:22px;height:22px}.row-thumbnail{object-fit:cover;background:var(--hover);border-radius:6px;flex-shrink:0;align-self:flex-start;width:64px;height:64px}.list-row .row-main{flex:1;min-width:0}.row-title{color:var(--text);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.row-title.read{color:var(--text-muted);font-weight:400}.row-description{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:13px;overflow:hidden}.row-meta{color:var(--text-muted);align-items:center;gap:6px;margin-top:3px;font-size:12px;display:flex}.row-meta .material-symbols-outlined{color:var(--primary);font-size:14px}.badge{background:var(--primary);color:#fff;text-align:center;border-radius:12px;min-width:24px;padding:2px 8px;font-size:12px;font-weight:600}.badge.muted{background:var(--active);color:var(--text-secondary)}.all-feeds-row .row-title{color:var(--primary)}.error-icon{color:var(--danger)!important;font-size:18px!important}.empty-state{text-align:center;color:var(--text-secondary);flex-direction:column;align-items:center;gap:14px;padding:48px 24px;display:flex}.empty-state .material-symbols-outlined{color:#bbb;font-size:48px}.reader{background:#fff;flex-direction:column;height:100dvh;display:flex}.reader-frame{background:#fff;border:none;flex:1;width:100%}.reader-notice{color:var(--text-secondary);border-bottom:1px solid var(--border);background:#fff8e1;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.reader-notice a{color:var(--primary);white-space:nowrap;font-weight:500}.reader-toolbar{border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);background:#fff;justify-content:space-around;align-items:stretch;display:flex;box-shadow:0 -2px 4px #0000000a}.reader-toolbar a{color:var(--text-secondary);flex-direction:column;flex:1;align-items:center;gap:2px;max-width:160px;padding:8px 4px;font-size:12px;display:flex}.reader-toolbar a:hover{background:var(--hover)}.reader-toolbar a .material-symbols-outlined{color:var(--text);font-size:24px}.reader-toolbar a.primary .material-symbols-outlined,.reader-toolbar a.primary{color:var(--primary)}.reader-toolbar a.disabled{opacity:.35;pointer-events:none}.reader-loading{color:var(--text-muted);flex:1;justify-content:center;align-items:center;display:flex}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:flex-start;padding-top:24px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:8px;flex-direction:column;gap:14px;width:90%;max-width:500px;max-height:calc(100vh - 48px);padding:20px;display:flex;overflow-y:auto;box-shadow:0 4px 8px #0000001a}.modal-content h2{color:var(--text);font-size:18px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.modal-actions .spacer{flex:1}.input-group{flex-direction:column;gap:4px;width:100%;display:flex}.input-group label{color:var(--text-secondary);font-size:13px}.hint{color:var(--text-muted);font-size:13px}.error-message{color:var(--danger);font-size:14px}.category-row{align-items:center;gap:4px;display:flex}.category-row input{flex:1}.category-row .icon-btn{padding:6px}.auth-page{background:var(--background);min-height:100%;padding:24px 16px}.auth-container{background:#fff;border-radius:8px;flex-direction:column;align-items:center;gap:16px;max-width:400px;margin:0 auto;padding:24px 20px;display:flex;box-shadow:0 4px 8px #0000001a}.auth-container h2{color:var(--text);margin-bottom:8px}.auth-container .logo{width:64px;height:64px}.splash{background:var(--background);justify-content:center;align-items:center;height:100vh;display:flex}.splash img{width:100px;height:100px}@media (width<=820px){.header{padding:6px 8px;padding-top:calc(6px + env(safe-area-inset-top))}.header-title{font-size:17px}.modal-overlay{padding-top:0}.modal-content{width:100%;max-width:100%;max-height:90vh;padding-top:calc(20px + env(safe-area-inset-top));border-radius:0 0 12px 12px}input[type=text],input[type=url],input[type=password],select,textarea{font-size:16px}}.popup-overlay{z-index:2000;padding:calc(16px + env(safe-area-inset-top)) 16px 16px;background:#00000059;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.popup{border-top:4px solid var(--primary);background:#fff;border-radius:12px;flex-direction:column;gap:16px;width:100%;max-width:440px;padding:18px 18px 14px;display:flex;box-shadow:0 12px 32px #0000002e,0 2px 6px #00000014}.popup-danger{border-top-color:var(--danger)}.popup-success{border-top-color:#1e8e3e}.popup-body{align-items:flex-start;gap:14px;display:flex}.popup-icon{width:40px;height:40px;color:var(--primary);background:var(--primary-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:24px;display:flex}.popup-danger .popup-icon{color:var(--danger);background:#fce8e6}.popup-success .popup-icon{color:#1e8e3e;background:#e6f4ea}.popup-text{min-width:0;padding-top:2px}.popup-title{color:var(--text);margin-bottom:4px;font-size:16px;font-weight:600}.popup-message{color:var(--text-secondary);overflow-wrap:anywhere;line-height:1.45}.popup-actions{justify-content:flex-end;gap:8px;display:flex}.popup-actions button{min-width:88px}button.button-danger{background:var(--danger)}button.button-danger:hover{background:#b3261e}.popup-enter-active,.popup-leave-active{transition:opacity .18s}.popup-enter-active .popup,.popup-leave-active .popup{transition:transform .22s cubic-bezier(.2,.9,.3,1.1)}.popup-enter-from,.popup-leave-to{opacity:0}.popup-enter-from .popup,.popup-leave-to .popup{transform:translateY(-24px)}
