:root{--nav:#3f536b;--page:#cfdbe2;--panel:#e7eaee;--ink:#0f172a;--muted:rgba(15,23,42,.7);--stroke:rgba(15,23,42,.18);--pill:#e9eef5;--cta:#7aa3cf;--ctaText:#0f172a}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}.app{min-height:100vh;display:flex;flex-direction:column}.topbar{height:72px;background:var(--nav);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.08)}.brand{display:flex;align-items:center;gap:12px}.brandMark{width:38px;height:38px;border:2px solid rgba(255,255,255,.7);display:grid;place-items:center;font-weight:700;text-decoration:none;border-radius:6px}.brandMark:hover{border-color:#fffffff2}.brandMark:focus-visible{outline:3px solid rgba(255,255,255,.55);outline-offset:3px}.brandLogo{width:100%;height:100%;object-fit:contain;display:block}.brandName{font-weight:700;letter-spacing:.2px}.brandTagline{font-size:12px;opacity:.75;margin-top:2px}.topbarRight{display:flex;align-items:center;gap:12px}.topBtn{border:1px solid rgba(15,23,42,.18);background:#ffffffa6;border-radius:10px;padding:8px 12px;font-weight:600;cursor:pointer}.topBtn:hover{background:#ffffffd9}.pill{background:var(--pill);color:var(--ink);padding:10px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.25);font-weight:600;min-width:120px;text-align:center}.cta{background:var(--cta);color:var(--ctaText);padding:10px 14px;border-radius:8px;text-decoration:none;font-weight:700;border:1px solid rgba(255,255,255,.25)}.main{flex:1;padding:18px}.footer{height:44px;display:flex;align-items:center;justify-content:center;gap:10px;border-top:1px solid var(--stroke);color:var(--muted);background:#ffffff40}.footer a{color:var(--muted);text-decoration:none}.footer a:hover{text-decoration:underline}.dot{opacity:.5}.feedsList{display:flex;flex-direction:column;gap:14px}.feedCard{text-align:left;padding:14px;border-radius:12px;border:1px solid var(--stroke);background:#3f536beb;color:#fff;cursor:pointer}.feedCard:hover{filter:brightness(1.03)}.feedCard.active{outline:none;border:2px solid #ff9f1c}.feedTitle{font-weight:900;font-size:18px;letter-spacing:.2px}.feedMeta{margin-top:6px;opacity:.75;font-size:13px;line-height:1.25}.feedAction{margin-top:12px;display:inline-block;padding:10px 12px;border-radius:10px;background:#1ab4ffd9;color:#0f172af2;font-weight:900;border:0;cursor:pointer;font:inherit;text-align:left;appearance:none}.modalOverlay{position:fixed;inset:0;background:#00000059;display:grid;place-items:center;z-index:50}.modalCard{width:min(520px,calc(100vw - 28px));border-radius:14px;border:1px solid rgba(255,255,255,.2);background:#3f536bfa;color:#fff;padding:18px;box-shadow:0 10px 30px #00000040}.modalTitle{font-weight:900;font-size:18px}.modalSub{margin-top:6px;opacity:.78;font-size:13px}.modalInput{width:100%;margin-top:14px;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#ffffff1f;color:#fff;outline:none}.modalInput::placeholder{color:#ffffff8c}.modalActions{margin-top:14px;display:flex;justify-content:flex-end;gap:10px}.btnGhost{padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;font-weight:800;cursor:pointer}.btnPrimary{padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#7aa3cff2;color:#0f172af2;font-weight:900;cursor:pointer}.btnPrimary:disabled{opacity:.45;cursor:not-allowed}.feedCard{position:relative}.feedRemove{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:10px;border:1px solid rgba(255,255,255,.22);background:#ffffff1a;color:#ffffffeb;font-weight:900;cursor:pointer;display:grid;place-items:center;opacity:.65}.feedCard:hover .feedRemove{opacity:1}.feedRemove:hover{background:#ffffff2e}.dash{height:calc(100vh - 116px);display:grid;grid-template-columns:minmax(220px,320px) minmax(420px,720px) minmax(220px,360px);justify-content:center;gap:clamp(14px,1.4vw,18px)}.panel{background:#ffffff2e;border:1px solid var(--stroke);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;min-height:0}.panelTitle{padding:16px 18px;font-weight:800;letter-spacing:.6px;color:#0f172a8c;border-bottom:1px solid var(--stroke)}.panelBody{padding:18px;overflow:auto}.placeholder{height:120px;border:1px dashed rgba(15,23,42,.25);border-radius:10px;display:grid;place-items:center;color:#0f172a8c;background:#ffffff38}.categoryList{display:flex;flex-direction:column;gap:10px}.catBtn{padding:12px 14px;border-radius:8px;border:1px solid var(--stroke);background:#ffffff59;color:var(--ink);font-weight:600;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease}.catBtn:hover{background:#ffffff8c}.catBtn.active{background:#3f536bf2;color:#fff;border-color:#3f536b}.panelHint{font-size:12px;font-weight:700;letter-spacing:.2px;color:#0f172a73;margin-top:6px}.panelFooter{padding:12px 18px;border-top:1px solid var(--stroke);color:#0f172a8c;font-size:13px;background:#ffffff1a}.counter strong{color:#0f172acc}.catBtn{display:flex;align-items:center;justify-content:space-between;gap:10px}.catBtn:disabled{opacity:.45;cursor:not-allowed}.tag{font-size:11px;font-weight:800;padding:6px 8px;border-radius:999px;background:#ffffff40;border:1px solid rgba(255,255,255,.25);color:#ffffffe6}.mixSelected{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.mixChip{padding:10px 12px;border-radius:10px;border:1px solid var(--stroke);background:#ffffff59;font-weight:700;cursor:pointer}.mixChip.on{background:#ffffffa6;border-color:#0f172a40}.saveBtn{margin-top:14px;width:100%;padding:12px 14px;border-radius:10px;border:1px solid rgba(15,23,42,.25);background:#3f536bf2;color:#fff;font-weight:900;letter-spacing:.3px;cursor:pointer}.saveBtn:disabled{opacity:.45;cursor:not-allowed}.microHint{margin-top:10px;font-size:12px;color:#0f172a8c}.mixList{display:flex;flex-direction:column;gap:14px}.mixRow{padding:12px;border-radius:10px;border:1px solid var(--stroke);background:#ffffff59}.mixRow.active{background:#fff9;border-color:#0f172a4d}.mixLabel{font-weight:800;margin-bottom:8px}.mixControls{display:grid;grid-template-columns:36px 1fr 36px 48px;align-items:center;gap:10px}.mixControls button{height:32px;border-radius:8px;border:1px solid var(--stroke);background:#ffffff8c;font-size:18px;cursor:pointer}.mixControls button:disabled{opacity:.4;cursor:not-allowed}.mixBar{height:12px;border-radius:999px;background:#0f172a26;overflow:hidden}.mixFill{height:100%;background:#3f536bf2}.mixValue{font-weight:800;text-align:right}.saveRow{margin-top:14px;display:flex;gap:10px}.saveAsNewBtn{width:160px;padding:12px 14px;border-radius:10px;border:1px solid rgba(15,23,42,.25);background:#ffffff73;color:#0f172ad9;font-weight:900;letter-spacing:.2px;cursor:pointer}.saveAsNewBtn:disabled{opacity:.45;cursor:not-allowed}.disabledPanel{opacity:.55;pointer-events:none;filter:grayscale(.2)}.panelSub{font-size:12px;font-weight:800;letter-spacing:.2px;color:#0f172a73;margin-left:8px}.toast{position:fixed;top:84px;right:18px;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:#3f536bf5;color:#fff;font-weight:900;box-shadow:0 10px 26px #0000002e;z-index:80;max-width:420px}.fs-page{height:calc(100vh - 116px);overflow:hidden;padding:0;box-sizing:border-box}.fs-grid{height:100%;display:grid;grid-template-columns:minmax(220px,320px) minmax(420px,720px) minmax(220px,360px);grid-template-rows:1fr;justify-content:center;gap:clamp(14px,1.4vw,18px)}.fs-panel{background:#ffffff29;border:1px solid rgba(15,23,42,.1);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;min-height:0}.fs-panelHead{padding:14px 16px;font-weight:700;letter-spacing:.02em;color:#0f172ab3;background:#ffffff1a;border-bottom:1px solid rgba(15,23,42,.1)}.fs-panelBody{padding:14px;overflow:hidden;flex:1;min-height:0;display:flex;flex-direction:column}.fs-center .fs-panelBody{padding:14px}.fs-centerHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.fs-centerTitle{font-weight:800;color:#0f172abf}.fs-empty{padding:12px;border-radius:10px;background:#ffffff1a;color:#0f172ab3}.fs-btn{border:0;border-radius:999px;padding:10px 14px;font-weight:700;cursor:pointer}.fs-btnPrimary{background:#1d4ed8cc;color:#fff}.fs-btnGhost{background:#ffffff29;color:#0f172abf}.fs-linkBtn{background:transparent;border:0;padding:0;font-weight:700;cursor:pointer;color:#0f172ab3}.fs-linkBtn:hover{text-decoration:underline}.fs-leftList{display:flex;flex-direction:column;gap:14px;flex:1;min-height:0;overflow-y:auto}.fs-feedCard{background:#0f172a2e;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:14px}.fs-feedCard.is-active{outline:2px solid rgba(29,78,216,.55)}.fs-feedTitle{color:#ffffffeb;font-weight:800;font-size:18px;margin-bottom:6px}.fs-feedMeta{color:#ffffffb3;font-size:13px;margin-bottom:10px}.fs-feedMetaLine{color:#ffffffb3;font-size:12px;margin:2px 0 10px}.fs-stream{display:flex;flex-direction:column;gap:14px;flex:1;min-height:0;overflow-y:auto}.fs-articleCard{flex:0 0 auto;display:grid;grid-template-columns:1fr;background:#ffffffe0;border-radius:16px;overflow:hidden;cursor:pointer;box-shadow:0 6px 18px #0f172a14}.fs-articleImg{width:100%;height:220px;object-fit:cover;display:block}.fs-articleImgEmpty{height:220px;background:#0f172a1a}.fs-articleContent{padding:14px 16px 12px}.fs-articleTitle{font-weight:900;color:#0f172aeb;margin-bottom:8px}.fs-articleDesc{color:#0f172ab3;line-height:1.35;margin-bottom:10px;font-size:14px}.fs-articleMeta{display:flex;align-items:center;gap:8px;color:#0f172a8c;font-size:12px;margin-bottom:10px}.fs-dot{opacity:.6}.fs-articleActions{display:flex;gap:18px}.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.clamp-1{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.fs-reader{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;overflow-y:auto}.fs-readerFrameWrap{flex:1;min-height:520px;border-radius:14px;overflow:hidden;background:#ffffffe0}.fs-iframe{width:100%;height:100%;border:0}.fs-readerFallback{display:flex;align-items:center;gap:10px;color:#0f172aa6;font-size:13px}.fs-savedList{display:flex;flex-direction:column;gap:14px;flex:1;min-height:0;overflow-y:auto}.fs-savedCard{flex:0 0 auto;background:#ffffffe0;border-radius:14px;overflow:hidden;cursor:pointer;box-shadow:0 6px 18px #0f172a14}.fs-savedImg{width:100%;height:140px;object-fit:cover;display:block}.fs-savedContent{padding:12px 14px}.fs-savedTitle{font-weight:900;color:#0f172aeb;margin-bottom:8px}html,body,#root{height:100%}body{margin:0}html,body,#root{height:100%;overflow:hidden}
