:root{--bg-grad-1:#18202e;--bg-grad-2:#0b0e14;--bg-grad-3:#080a0f;--bg-sidebar:#0b0d12ee;--bg-surface:#10131a;--bg-surface-2:#171b23;--bg-surface-3:#191e27;--bg-hover:#151922;--bg-hover-2:#20242e;--bg-modal:#11151d;--bg-reader-modal:#0e1117;--bg-reader-body:#05070a;--bg-reader-toolbar:#0b0d12;--text-1:#f5f7fb;--text-2:#8d95a4;--text-3:#5e6775;--border:#262d38;--border-soft:#1c222b;--accent:#ff5c5c;--accent-2:#f2534f;--accent-dark:#7a2323;--accent-text-on:#11150b;--accent-soft-bg:#1a1010;--accent-ring:#ff5c5c33;--calendar-filter:invert(1);--bg-danger-soft:#1e1414;--border-danger:#3a2323;--bg-featured-1:#1c2315;--bg-featured-2:#11160f;--border-featured:#3c4724}[data-theme=light]{--bg-grad-1:#ffe9d6;--bg-grad-2:#fff6ef;--bg-grad-3:#ffffff;--bg-sidebar:#fffaf5ee;--bg-surface:#ffffff;--bg-surface-2:#f2ede6;--bg-surface-3:#f2ede6;--bg-hover:#fbeee0;--bg-hover-2:#f0e6d8;--bg-modal:#ffffff;--bg-reader-modal:#ffffff;--bg-reader-body:#efe9e1;--bg-reader-toolbar:#f7f3ee;--text-1:#211a12;--text-2:#8a7d6c;--text-3:#6b5f50;--border:#e7ddd0;--border-soft:#f1ece4;--accent:#ff7a1a;--accent-2:#ff8c1f;--accent-dark:#c65b00;--accent-text-on:#1a0d00;--accent-soft-bg:#fff1e0;--accent-ring:#ff7a1a33;--calendar-filter:none;--bg-danger-soft:#fdeceb;--border-danger:#f3c9c4;--bg-featured-1:#eafcec;--bg-featured-2:#f5fff6;--border-featured:#bfe8b8}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg-grad-3);color:var(--text-1)}button,input,select{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}.app{min-height:100vh;display:flex;background:radial-gradient(circle at 75% 0%,var(--bg-grad-1) 0,var(--bg-grad-2) 35%,var(--bg-grad-3) 70%)}.sidebar{width:76px;min-height:100vh;border-right:1px solid var(--border-soft);background:var(--bg-sidebar);padding:22px 12px;position:fixed;left:0;top:0;z-index:30;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;transition:width .22s ease,box-shadow .22s ease}.sidebar.expanded{width:250px;box-shadow:20px 0 60px #0008}@media(hover:hover)and (pointer:fine){.sidebar:hover{width:250px;box-shadow:20px 0 60px #0008}}.brand{display:flex;align-items:center;gap:11px;padding:0 4px 22px}.brandIcon{flex:0 0 auto;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--accent);color:var(--accent-text-on);font-weight:900;font-size:22px;overflow:hidden}.brandIcon img{width:100%;height:100%;object-fit:cover;display:block}.brand>div:nth-child(2){overflow:hidden;white-space:nowrap;opacity:0;transition:opacity .15s}.sidebar.expanded .brand>div:nth-child(2),.sidebar:hover .brand>div:nth-child(2){opacity:1}.brand b{display:block;font-size:18px}.brand small{display:block;color:var(--text-2);font-size:11px;margin-top:2px}.sidebarToggle{display:none}nav{display:grid;gap:6px}nav button,.navGroupHead{display:flex;align-items:center;gap:12px;padding:12px;border-radius:11px;color:var(--text-2);text-align:left;width:100%}nav button svg,.navGroupHead svg{flex:0 0 auto}nav button span,.navGroupHead span{overflow:hidden;white-space:nowrap;opacity:0;transition:opacity .15s;flex:1}.sidebar.expanded nav button span,.sidebar.expanded .navGroupHead span,.sidebar:hover nav button span,.sidebar:hover .navGroupHead span{opacity:1}nav button:hover,.navGroupHead:hover{background:var(--bg-hover);color:var(--text-1)}nav button.active,.navGroupHead.active{background:var(--accent);color:var(--accent-text-on);font-weight:700}.navGroupHead .chev{margin-left:auto;flex:0 0 auto;opacity:0;transition:opacity .15s}.sidebar.expanded .navGroupHead .chev,.sidebar:hover .navGroupHead .chev{opacity:1}.navSub{display:grid;gap:4px;padding-left:14px;margin:2px 0 4px}.navSub button{padding:9px 10px;font-size:13px}.sidebarBottom{margin-top:auto;display:grid;gap:8px;opacity:0;pointer-events:none;transition:opacity .15s}.sidebar.expanded .sidebarBottom,.sidebar:hover .sidebarBottom{opacity:1;pointer-events:auto}.emptyHint{color:var(--text-3);font-size:12px;padding:10px 0}.resetData{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:9px;color:var(--text-2);font-size:11px}.resetData:hover{background:var(--bg-hover);color:#ff9d9d}.cloud{border:1px solid var(--border);background:var(--bg-surface);border-radius:12px;padding:12px;display:flex;gap:10px}.cloud span{font-size:20px}.cloud b,.cloud small{display:block}.cloud small{font-size:11px;color:var(--text-2);margin-top:3px}main{width:calc(100% - 76px);margin-left:76px;padding:30px 34px;transition:margin-left .22s ease,width .22s ease}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.headerActions{display:flex;align-items:center;gap:12px}.notifWrap{position:relative}.notifBellBtn{position:relative;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-1)}.notifBellBtn:hover{background:var(--bg-hover)}.notifBadge{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#e6342e;color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center;box-shadow:0 0 0 2px var(--bg-surface)}.notifPop{position:absolute;top:calc(100% + 10px);right:0;width:min(340px,92vw);background:var(--bg-modal);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 20px 60px #000a;z-index:40}.notifPopHead{display:flex;align-items:center;gap:12px;padding:16px}.notifPopHead{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--accent-text-on)}.notifPopIcon{width:36px;height:36px;border-radius:10px;background:#ffffff30;display:grid;place-items:center;flex:0 0 auto}.notifPopHead b{display:block;font-size:14px}.notifPopHead small{display:block;font-size:11px;opacity:.85;margin-top:2px}.notifList{max-height:320px;overflow-y:auto;padding:8px}.notifEmpty{display:grid;place-items:center;gap:6px;padding:26px 10px;text-align:center}.notifEmptyIcon{width:44px;height:44px;border-radius:12px;background:var(--bg-surface-2);display:grid;place-items:center;color:var(--accent)}.notifEmpty b{font-size:13.5px}.notifEmpty small{color:var(--text-2);font-size:12px}.notifItem{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border-radius:11px;text-align:left}.notifItem:hover{background:var(--bg-hover-2)}.notifItemIcon{width:32px;height:32px;border-radius:9px;background:var(--bg-surface-2);display:grid;place-items:center;flex:0 0 auto;color:var(--accent-2)}.notifItemBody{flex:1;min-width:0}.notifItemBody b{display:block;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notifItemBody small{display:block;color:var(--text-2);font-size:11px;margin-top:1px}.notifItemTag{font-size:9.5px;font-weight:800;color:var(--accent-2);background:var(--accent-soft-bg);padding:3px 7px;border-radius:20px;text-transform:uppercase;letter-spacing:.02em;flex:0 0 auto}.notifFoot{display:flex;gap:8px;padding:10px;border-top:1px solid var(--border-soft)}.notifFootGhost{flex:1;background:var(--bg-surface-2);color:var(--text-1);border-radius:10px;padding:9px;font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;gap:6px}.notifFootGhost:hover{background:var(--bg-hover-2)}h1{font-size:28px;margin:0 0 4px}header p{margin:0;color:var(--text-2);font-size:13px}.add,.primary{background:var(--accent);color:var(--accent-text-on);border-radius:10px;padding:11px 15px;font-weight:750;display:flex;align-items:center;gap:8px}.content{max-width:1280px;margin:auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.stat{border:1px solid var(--border);background:var(--bg-surface);border-radius:15px;padding:18px;min-height:125px;display:flex;flex-direction:column;align-items:flex-start}.stat.featured{background:linear-gradient(135deg,var(--bg-featured-1),var(--bg-featured-2));border-color:var(--border-featured)}.statIcon{width:35px;height:35px;border-radius:10px;background:var(--bg-surface-2);display:grid;place-items:center;margin-bottom:14px;color:var(--text-1)}.stat small{color:var(--text-2);font-size:12px}.manualBadge{display:inline-block;margin-left:7px;padding:1px 7px;border-radius:20px;background:var(--bg-surface-3);color:var(--text-2);font-size:9.5px;letter-spacing:.4px;text-transform:uppercase;vertical-align:middle}.stat strong{font-size:22px;margin-top:5px}.positive{color:#4ade80!important}.negative{color:#ff6b6b!important}.grid2{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-bottom:16px}.grid3{display:grid;grid-template-columns:1fr 1fr .7fr;gap:16px}.panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:15px;padding:20px}.panelTitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.panelTitle h2,.panel h2{font-size:15px;margin:0}.panelTitle span,.panelTitle button,.panel>p,.panel small{color:var(--text-2);font-size:12px}.panelTitle button{color:var(--text-1)}.chart{height:185px;border-bottom:1px solid var(--border);display:flex;align-items:flex-end}.bars{width:100%;height:100%;display:flex;align-items:flex-end;justify-content:space-around;gap:7px}.barWrap{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;flex:1;gap:5px}.bar{width:100%;max-width:28px;border-radius:6px 6px 0 0;background:var(--accent-2)}.barWrap small{font-size:9px;color:var(--text-3)}.legend{display:flex;gap:22px;padding-top:15px}.legend span{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--text-2)}.legend i{width:7px;height:7px;border-radius:50%;background:var(--accent-2)}.legend .in i{background:#4ade80}.legend .out i{background:#ff6b6b}.legend b{color:var(--text-1)}.ai{background:linear-gradient(145deg,var(--bg-surface),var(--bg-surface))}.aiHead{display:flex;gap:12px;align-items:center;margin-bottom:18px}.aiHead h2{margin-bottom:3px}.aiIcon{width:40px;height:40px;border-radius:12px;background:var(--accent);color:var(--accent-text-on);display:grid;place-items:center}.ai p{line-height:1.6;color:var(--text-2);font-size:13px}.tip{padding:11px;background:var(--bg-surface-2);border-radius:10px}.ghost{border:1px solid var(--border);border-radius:9px;padding:9px 12px;font-size:12px;color:var(--text-1)}.row,.transaction,.todoRow{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-soft)}.rowClickable{cursor:pointer;border-radius:10px;margin:0 -8px;padding:12px 8px;transition:background .15s ease}.rowClickable:hover{background:var(--bg-hover-2)}.row:last-child,.transaction:last-child,.todoRow:last-child{border-bottom:0}.rowIcon{width:34px;height:34px;border-radius:9px;background:var(--bg-surface-3);display:grid;place-items:center;color:var(--text-1)}.row>div:nth-child(2){flex:1}.row b,.row small{display:block}.row small{margin-top:3px}.row strong{font-size:12px}.todoRow svg{color:var(--text-3)}.todoRow .done{color:#ff8a80}.todoRow span{font-size:13px}.doneText{text-decoration:line-through;color:var(--text-3)}.mini{text-align:center}.score{font-size:42px;font-weight:800;margin:20px 0 8px}.score span{font-size:14px;color:var(--text-3)}.progress{height:8px;background:var(--bg-surface-2);border-radius:10px;overflow:hidden}.progress i{display:block;height:100%;background:var(--accent-2);border-radius:10px}.transaction>div:first-child{flex:1}.transaction b,.transaction small{display:block}.transaction small{margin-top:4px;color:var(--text-2)}.transaction button{color:var(--text-3)}.debt{margin-bottom:15px}.debt .panelTitle>b{color:#ff8a80}.debtNumbers{display:flex;justify-content:space-between;margin-top:12px;color:var(--text-2);font-size:12px}.debtNumbers b{color:var(--text-1);margin-left:5px}.cardVisual{min-height:205px;border-radius:20px;padding:24px;margin-bottom:16px;background:linear-gradient(135deg,var(--accent-2),var(--accent-dark));color:var(--accent-text-on);display:flex;flex-direction:column;justify-content:space-between;max-width:440px}.cardVisual span{font-weight:800}.cardVisual b{display:block;font-size:20px;letter-spacing:3px;margin-top:35px}.cardVisual strong{font-size:28px}.cardVisual small{font-weight:700}.reminder{padding:15px 0}.todoAdd{display:flex;gap:10px;margin-bottom:10px}.todoAdd input{flex:1;background:var(--bg-surface-3);border:1px solid var(--border);border-radius:10px;padding:12px;color:var(--text-1);outline:none}.todoAdd button{background:var(--accent);color:var(--accent-text-on);border-radius:10px;width:44px}.bigTodo{padding:15px 5px;justify-content:space-between}.bigTodo .todoMain{display:flex;align-items:center;gap:12px;cursor:pointer;flex:1}.bigTodo button{color:var(--text-3);padding:4px}.inlineAdd{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-soft)}.inlineAdd input,.inlineAdd select{flex:1;min-width:120px;background:var(--bg-surface-3);border:1px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--text-1);outline:none;font-size:13px}.inlineAdd button{background:var(--accent);color:var(--accent-text-on);border-radius:10px;width:40px}.row button{color:var(--text-3);margin-left:auto}.debtActions{display:flex;gap:10px;margin-top:14px}.bootScreen{min-height:100vh;display:grid;place-items:center;background:var(--bg-grad-3);color:var(--text-2);font-size:14px}.authScreen{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 75% 0%,var(--bg-grad-1) 0,var(--bg-grad-2) 35%,var(--bg-grad-3) 70%);padding:20px}.authCard{width:min(380px,100%);background:var(--bg-modal);border:1px solid var(--border);border-radius:18px;padding:28px;display:grid;gap:14px;box-shadow:0 20px 80px #000}.authBrand{display:flex;align-items:center;gap:11px;margin-bottom:6px}.authCard h1{margin:0;font-size:22px}.authSub{margin:0;color:var(--text-2);font-size:13px;line-height:1.5}.authCard label{font-size:12px;color:var(--text-2);display:grid;gap:6px}.authCard input{background:var(--bg-surface-3);border:1px solid var(--border);color:var(--text-1);padding:11px;border-radius:9px;outline:none}.authMessage{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:9px;padding:10px;font-size:12px;color:var(--text-1);line-height:1.5}.authSwitch{text-align:center;font-size:12px;color:var(--text-2);padding:6px}.authSwitch:hover{color:var(--accent)}.ghost.danger{color:#ff9d9d;border-color:var(--border-danger)}.aiText{line-height:1.6;color:var(--text-2);font-size:13px;white-space:pre-wrap}.aiErrorMsg{background:var(--bg-danger-soft);border:1px solid var(--border-danger);color:#ff9d9d;border-radius:9px;padding:10px;font-size:12px}.ghost:disabled{opacity:.6;cursor:default}.modalBack{position:fixed;inset:0;background:#000a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:50;display:grid;place-items:center;padding:20px}.modal{width:min(450px,100%);background:var(--bg-modal);border:1px solid var(--border);border-radius:18px;padding:22px;display:grid;gap:14px;box-shadow:0 20px 80px #000}.modalHead{display:flex;justify-content:space-between;align-items:center}.modal h2{margin:0;font-size:18px}.modal label{font-size:12px;color:var(--text-2);display:grid;gap:6px}.modal input,.modal select{background:var(--bg-surface-3);border:1px solid var(--border);color:var(--text-1);padding:11px;border-radius:9px;outline:none}.primary{justify-content:center;margin-top:4px}.themeToggle{display:flex;gap:8px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:10px;padding:4px}.themeToggle button{flex:1;padding:9px 10px;border-radius:7px;font-size:12.5px;font-weight:700;color:var(--text-2);display:flex;align-items:center;justify-content:center;gap:6px}.themeToggle button.active{background:var(--accent);color:var(--accent-text-on)}@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:1fr 1fr}.mini{grid-column:span 2}}@media(max-width:760px){.sidebar{width:64px;padding:18px 8px}.sidebar.expanded{width:230px;box-shadow:20px 0 60px #0008}.sidebarToggle{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--bg-surface-2);border:1px solid var(--border);color:var(--text-1);margin:0 0 14px auto;flex:0 0 auto;transition:transform .22s ease}.sidebar.expanded .sidebarToggle{transform:rotate(180deg)}main{width:calc(100% - 64px);margin-left:64px;padding:20px 15px}header{justify-content:flex-start}header>div{flex:1}header>.headerActions{flex:0 0 auto}.add{font-size:0;padding:11px}.add svg{font-size:19px}.notifPop{position:fixed;top:66px;right:12px;left:12px;width:auto}.grid2,.grid3{grid-template-columns:1fr}.mini{grid-column:auto}.stats{grid-template-columns:1fr 1fr}.stat{min-height:115px}.stat strong{font-size:18px}.chart{height:150px}h1{font-size:23px}}@media(max-width:430px){.stats{grid-template-columns:1fr}.stat{min-height:100px}}.reminderGrid{display:grid;gap:14px}.reminderCard{position:relative;background:var(--bg-surface);border:1.5px solid var(--border);border-radius:16px;padding:18px 20px;transition:border-color .15s ease}.reminderCard.green{border-color:#3ecf6a}.reminderCard.yellow{border-color:#f0b429}.reminderCard.red{border-color:var(--accent-2)}.reminderCard.gray{border-color:var(--border)}.reminderCardTop{display:flex;align-items:center;justify-content:space-between;gap:16px}.reminderCardLeft{display:flex;align-items:center;gap:12px;min-width:0}.reminderCardIcon{flex:0 0 auto;width:38px;height:38px;border-radius:10px;background:var(--bg-surface-2);display:grid;place-items:center;color:var(--text-1)}.reminderCardLeft b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reminderCardLeft small{display:block;color:var(--text-2);font-size:12px;margin-top:3px}.reminderCardRight{display:flex;align-items:center;gap:16px;flex:0 0 auto}.reminderCardMenu{color:var(--text-3);padding:4px}.reminderCardCount{text-align:center;min-width:64px}.reminderCardCount strong{display:block;font-size:34px;font-weight:800;line-height:1}.reminderCard.green .reminderCardCount strong{color:#3ecf6a}.reminderCard.yellow .reminderCardCount strong{color:#f0b429}.reminderCard.red .reminderCardCount strong{color:var(--accent-2)}.reminderCard.gray .reminderCardCount strong{color:var(--text-2)}.reminderCardCount small{display:block;color:var(--text-2);font-size:9.5px;letter-spacing:.6px;margin-top:5px}.reminderCardMenuPop{position:absolute;top:52px;right:18px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:10px;padding:6px;display:grid;gap:2px;min-width:170px;z-index:5;box-shadow:0 12px 30px #000a}.reminderCardMenuPop button{padding:9px 10px;border-radius:7px;font-size:12.5px;text-align:left;color:var(--text-1);display:flex;align-items:center;gap:6px;width:100%}.reminderCardMenuPop button:hover{background:var(--bg-hover-2)}.reminderCardMenuPop button.danger{color:#ff9d9d}.reminderCard .debtNumbers{margin-top:12px}.shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:22px 16px}.bookTile{position:relative;display:flex;flex-direction:column;gap:6px;cursor:grab}.bookTile.dragging{opacity:.4}.bookTile.addTile{cursor:pointer}.bookCoverWrap{position:relative;aspect-ratio:3/4.2;border-radius:10px;overflow:hidden;background:var(--bg-surface-2);border:1px solid var(--border);cursor:pointer;box-shadow:0 10px 24px #0006;transition:transform .15s ease}.bookCoverWrap:hover{transform:translateY(-3px)}.bookCoverImg{width:100%;height:100%}.bookCoverImg img{width:100%;height:100%;object-fit:cover;display:block}.bookCoverPlaceholder{width:100%;height:100%;display:grid;place-items:center;color:var(--text-3)}.addCover{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-2);border:1px dashed var(--border);background:transparent;box-shadow:none;font-size:12px;text-align:center;padding:10px}.addCover:hover{color:var(--accent);border-color:var(--accent)}.bookMenuBtn{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:8px;background:#000a;color:#f5f7fb;display:grid;place-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.bookMenu{position:absolute;top:36px;right:6px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:10px;padding:6px;display:grid;gap:2px;min-width:170px;z-index:5;box-shadow:0 12px 30px #000a}.bookMenu button{padding:9px 10px;border-radius:7px;font-size:12.5px;text-align:left;color:var(--text-1);display:flex;align-items:center;gap:6px}.bookMenu button:hover{background:var(--bg-hover-2)}.bookMenu button.danger{color:#ff9d9d}.bookTitle{font-size:12.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}.bookProgressLabel{color:var(--text-2);font-size:11px}.readerBack{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:60;display:grid;place-items:center;padding:14px}.readerModal{width:min(760px,100%);height:min(88vh,900px);background:var(--bg-reader-modal);border:1px solid var(--border);border-radius:16px;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;box-shadow:0 30px 100px #000;transition:width .18s ease}.readerModalWide{width:min(1180px,96%)}.readerHead{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-soft)}.readerHead b{font-size:14px}.readerHeadActions{display:flex;align-items:center;gap:8px}.readerHeadActions .ghost{display:flex;align-items:center;gap:6px;font-size:12px;padding:7px 11px;border-radius:8px;border:1px solid var(--border);color:var(--text-1)}.readerHeadActions .ghost:hover{border-color:var(--accent);color:var(--accent)}.readerHeadActions .ghost.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text-on)}.readerHeadActions>button:last-child{width:32px;height:32px;display:grid;place-items:center;border-radius:8px}.readerHeadActions>button:last-child:hover{background:var(--bg-surface-3);color:#ff8a80}.readerMain{display:flex;min-height:0;overflow:hidden}.readerBody{flex:1;min-width:0;overflow:auto;display:grid;place-items:start center;padding:12px;background:var(--bg-reader-body)}.readerCanvas{max-width:100%;border-radius:6px;box-shadow:0 10px 30px #0008;cursor:pointer}.readerHint{color:var(--text-2);font-size:13px;padding:40px}.readerNav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-top:1px solid var(--border-soft);font-size:12.5px;color:var(--text-2)}.notesPane{width:360px;flex-shrink:0;border-left:1px solid var(--border-soft);background:var(--bg-reader-toolbar);display:flex;flex-direction:column;min-height:0}.notesPaneHead{padding:12px 14px;border-bottom:1px solid var(--border-soft);display:flex;flex-direction:column;gap:2px}.notesPaneHead b{font-size:13px;color:var(--text-1)}.notesPaneHead span{font-size:11px;color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notesPaneBody{flex:1;overflow:auto}.notesPaneBody .noteTextarea{min-height:100%;padding:16px}@media(max-width:760px){.shelf{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:16px 10px}.readerBack{padding:0}.readerModal{width:100%;height:100%;border-radius:0}.readerModalWide{width:100%}.readerHeadActions .ghost span{display:none}.readerMain{flex-direction:column}.notesPane{width:100%;height:44vh;border-left:none;border-top:1px solid var(--border-soft)}}.notesActions{display:flex;justify-content:flex-end;margin-bottom:14px}.notesActions .ghost{display:flex;align-items:center;gap:6px}.notesGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:22px 16px}.noteTile{position:relative;display:flex;flex-direction:column;gap:6px;cursor:grab}.noteTile.dragging{opacity:.4}.noteTile.addTile{cursor:pointer}.noteCoverWrap{position:relative;aspect-ratio:3/3.6;border-radius:10px;overflow:hidden;background:var(--bg-surface-2);border:1px solid var(--border);cursor:pointer;box-shadow:0 10px 24px #0006;transition:transform .15s ease;padding:14px;display:flex;flex-direction:column}.noteCoverWrap:hover{transform:translateY(-3px)}.noteCoverWrap.addCover{background:transparent;border:1px dashed var(--border);box-shadow:none;padding:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-2);font-size:12px;text-align:center}.noteCoverWrap.addCover:hover{color:var(--accent);border-color:var(--accent)}.noteTitle{font-size:13px;color:var(--text-1);display:block;margin-bottom:8px;word-break:break-word;font-weight:700}.notePreview{font-size:11.5px;color:var(--text-2);line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;margin:0}.noteModal{grid-template-rows:auto auto 1fr!important}.noteTitleInput{flex:1;background:transparent;border:none;outline:none;color:var(--text-1);font-size:15px;font-weight:700;padding:4px 0}.noteEditorBody{overflow:auto}.noteTextarea{width:100%;height:100%;min-height:100%;border:none;outline:none;resize:none;background:var(--bg-reader-body);color:var(--text-1);padding:20px;font-size:14px;line-height:1.7;font-family:inherit}.noteToolbar{display:flex;align-items:center;gap:2px;padding:8px 14px;border-bottom:1px solid var(--border-soft);background:var(--bg-reader-toolbar);flex-wrap:wrap;position:relative}.noteToolbar>button,.emojiWrap>button{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--text-2)}.noteToolbar>button:hover,.emojiWrap>button:hover{background:var(--bg-surface-3);color:#ff8a80}.noteToolDivider{width:1px;height:20px;background:var(--border);margin:0 6px}.emojiWrap{position:relative;display:inline-flex}.emojiPopover{position:absolute;top:calc(100% + 8px);left:0;z-index:5;width:236px;background:var(--bg-modal);border:1px solid var(--border);border-radius:12px;padding:10px;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;box-shadow:0 20px 60px #000a}.emojiBtn{width:26px;height:26px;font-size:16px;border-radius:6px;display:grid;place-items:center}.emojiBtn:hover{background:var(--bg-hover-2)}.noteRichBody{outline:none;overflow-wrap:break-word}.noteRichBody:empty:before{content:attr(data-placeholder);color:var(--text-3)}.noteRichBody ul,.noteRichBody ol{padding-left:22px;margin:8px 0}.noteRichBody li{margin:4px 0}.noteRichBody .checklist-item{display:flex;align-items:flex-start;gap:8px;margin:6px 0}.noteRichBody .checklist-item .check-box{flex:0 0 16px;width:16px;height:16px;margin-top:2px;border:2px solid var(--border);border-radius:4px;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.noteRichBody .checklist-item .check-box:hover{border-color:#ff8a80}.noteRichBody .checklist-item.checked .check-box{background:#ff8a80;border-color:#ff8a80}.noteRichBody .checklist-item.checked .check-box:after{content:"";position:absolute;left:3px;top:-1px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.noteRichBody .checklist-item .check-text{flex:1;outline:none}.noteRichBody .checklist-item .check-text:empty:before{content:"Item";color:var(--text-3)}.noteRichBody .checklist-item.checked .check-text{text-decoration:line-through;color:var(--text-3)}@media(max-width:760px){.notesGrid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}.monthToolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--bg-surface)}.monthToolbar label{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--text-1)}.monthToolbar input{padding:8px 12px;border:1px solid var(--accent);border-radius:9px;background:var(--accent-soft-bg);color:var(--text-1);font-weight:700;outline:none}.monthToolbar input:focus{border-color:var(--accent-2);box-shadow:0 0 0 3px var(--accent-ring)}.monthToolbar input::-webkit-calendar-picker-indicator{filter:var(--calendar-filter)}.monthToolbar span{color:var(--text-2);font-size:13px}.budgetGrid,.goalGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:14px}.budgetCard,.goalCard{background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;padding:16px}.budgetCard h3,.goalCard h3{margin:0}.budgetCard .panelTitle button,.goalCard .panelTitle button{background:none;border:0;cursor:pointer}.budgetCard>b,.goalCard>strong{font-size:22px}.budgetCard small,.goalCard small{color:var(--text-2)}.budgetCard p{font-size:13px;color:var(--text-2)}.goalCard h3{display:flex;align-items:center;gap:7px}.goalActions{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:13px;color:var(--text-2)}.goalActions button{border:0;background:none;font-weight:700;cursor:pointer}.budgetCard .progress,.goalCard .progress{margin-top:12px}.studyGoalsHead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.studyGoalsHead h2{margin:0 0 4px;font-size:22px}.studyGoalsHead p{margin:0;color:var(--text-2);font-size:13px}.studyStats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}.studyStat{border:1px solid var(--border);background:var(--bg-surface);border-radius:15px;padding:16px;display:flex;flex-direction:column;gap:10px}.studyStatIcon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center}.studyStat strong{font-size:24px}.studyStat small{color:var(--text-2);font-size:12px}.studyGoalsListHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.studyGoalsListHead h3{margin:0;font-size:15px}.filterWrap{display:flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--bg-surface);border-radius:9px;padding:8px 12px;color:var(--accent-2)}.filterWrap select{background:none;border:none;color:inherit;font-weight:700;font-size:12.5px;outline:none}.studyGoalList{display:grid;gap:14px}.studyGoalCard{position:relative;background:var(--bg-surface);border:1px solid var(--border);border-radius:16px;padding:18px 20px;display:flex;gap:14px}.studyGoalIcon{flex:0 0 auto;width:44px;height:44px;border-radius:12px;display:grid;place-items:center}.studyGoalBody{flex:1;min-width:0}.studyGoalTop{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.studyGoalTop h4{margin:0;font-size:15.5px}.studyGoalTop p{margin:3px 0 0;color:var(--text-2);font-size:12.5px}.studyGoalMenuBtn{color:var(--text-3);padding:4px;flex:0 0 auto}.studyGoalProgressRow{display:flex;align-items:center;gap:12px;margin-top:12px}.studyGoalProgressRow .progress{flex:1}.studyGoalPct{font-size:13.5px;font-weight:800;min-width:38px;text-align:right}.studyGoalFoot{display:flex;justify-content:space-between;align-items:center;margin-top:10px;gap:10px;flex-wrap:wrap}.studyGoalFootInfo{display:flex;align-items:center;gap:6px;color:var(--text-2);font-size:12px;min-height:16px}.studyGoalBadge{font-size:11px;font-weight:700;padding:5px 10px;border-radius:20px;border:1px solid;white-space:nowrap}.studyGoalMenuPop{position:absolute;top:44px;right:16px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:10px;padding:6px;display:grid;gap:2px;min-width:190px;z-index:5;box-shadow:0 12px 30px #000a}.studyGoalMenuPop button{padding:9px 10px;border-radius:7px;font-size:12.5px;text-align:left;color:var(--text-1);display:flex;align-items:center;gap:6px;width:100%}.studyGoalMenuPop button:hover{background:var(--bg-hover-2)}.studyGoalMenuPop button.danger{color:#ff9d9d}.iconColorPicker{display:flex;flex-wrap:wrap;gap:8px}.iconPickBtn{width:36px;height:36px;border-radius:10px;background:var(--bg-surface-3);border:1.5px solid var(--border);display:grid;place-items:center;color:var(--text-2)}.iconPickBtn.active{border-color:var(--text-1);color:var(--text-1)}.colorPickBtn{width:28px;height:28px;border-radius:50%;border:2px solid transparent;cursor:pointer}.colorPickBtn.active{border-color:var(--text-1)}.modeToggle{display:flex;gap:8px;background:var(--bg-surface-2);border:1px solid var(--border);border-radius:10px;padding:4px}.modeToggle button{flex:1;padding:9px 10px;border-radius:7px;font-size:12.5px;font-weight:700;color:var(--text-2)}.modeToggle button.active{background:var(--accent);color:var(--accent-text-on)}.fieldRow{display:flex;gap:10px}.fieldRow>label{flex:1}@media(max-width:760px){.studyStats{grid-template-columns:1fr 1fr}.studyGoalsHead{flex-direction:column}.studyGoalCard{padding:15px}}@media(max-width:430px){.studyStats{grid-template-columns:1fr 1fr}}
