:root{--brand: #4c6fff;--brand-deep: #3b5bee;--brand-soft: rgba(76, 111, 255, .09);--violet: #7a5cff;--bg: #f4f5fa;--card: #ffffff;--text: #1a2233;--text-2: #5a6478;--line: #e8eaf1;--danger: #ff5c5c;--shadow: 0 1px 2px rgba(23, 32, 64, .05), 0 4px 16px rgba(23, 32, 64, .06);--heat-0: #ebedf0;--heat-1: #9be9a8;--heat-2: #40c463;--heat-3: #30a14e;--heat-4: #216e39;--heat-miss: #ffc9c2}[data-theme=dark]{--bg: #0e1117;--card: #161a23;--text: #e6e9f2;--text-2: #9aa3b8;--line: #262d3d;--brand-soft: rgba(96, 125, 255, .16);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 20px rgba(0, 0, 0, .35);--heat-0: #1c222d;--heat-miss: #5c2a24}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;transition:background .25s ease}body:has(.app-shell){height:100vh;height:100dvh;overflow:hidden}.app-shell{display:flex;height:100vh;height:100dvh;overflow:hidden}.app-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:stretch;height:100vh;height:100dvh;overflow:hidden}.app-main .content{flex:1;min-height:0;overflow:hidden}.sidebar{width:264px;position:sticky;top:0;height:100vh;flex-shrink:0;display:flex;flex-direction:column;padding:20px 14px 16px;overscroll-behavior:contain;background:var(--card);border-right:1px solid var(--line)}.logo{display:flex;align-items:center;gap:10px;padding:4px 6px 20px 10px}.logo-brand{display:flex;align-items:center;gap:10px;min-width:0}.sidebar.nav-hidden{display:none}.nav-show-btn{position:fixed;top:14px;left:14px;z-index:210;box-shadow:var(--shadow)}@media(max-width:768px){.nav-show-btn{display:none}}.notify-history{display:flex;flex-direction:column;gap:12px}.notify-item{padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--card);display:flex;align-items:flex-start;gap:10px}.notify-item.unread{border-left:3px solid var(--brand);background:color-mix(in srgb,var(--brand) 4%,var(--card))}.notify-item .notify-read-check{margin-top:3px;flex-shrink:0}.notify-item .notify-body{flex:1;min-width:0}.notify-item .notify-unread-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);margin-top:7px;flex-shrink:0}.birthday-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.birthday-card{padding:14px 16px;display:flex;flex-direction:column;gap:8px}.birthday-card.today{border:1.5px solid var(--brand);background:color-mix(in srgb,var(--brand) 6%,var(--card))}.birthday-card.soon{border-left:3px solid #faad14}.birthday-head{display:flex;align-items:center;gap:4px}.birthday-name{font-size:15px}.birthday-date-line{font-size:13px;display:flex;align-items:center;gap:8px;color:var(--text)}.birthday-cal-tag{font-size:11px;padding:1px 6px;border-radius:6px;background:color-mix(in srgb,var(--brand) 10%,transparent);color:var(--brand)}.birthday-lunar-this-year{font-size:12px;color:var(--text-2)}.birthday-countdown{display:flex;align-items:baseline;gap:10px}.birthday-countdown .cd-num{font-size:20px;font-weight:750;color:var(--text)}.birthday-countdown .cd-num.today{color:var(--danger)}.birthday-countdown .cd-num.soon{color:#faad14}.birthday-countdown .cd-age{font-size:12.5px;color:var(--text-2)}.birthday-note{font-size:12.5px;color:var(--text-2);white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.birthday-form{display:flex;flex-direction:column;gap:12px}.birthday-form .bf-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.birthday-form .bf-label{font-size:13px;color:var(--text-2);flex-shrink:0}.birthday-form .bf-hint{font-size:12.5px;color:var(--text-2);background:var(--bg, #f6f7fb);border-radius:8px;padding:8px 10px}.travel-page .stat-card:nth-child(1){background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 30%,var(--card)),var(--card) 100%)}.travel-page .stat-card:nth-child(1) .num{color:var(--brand)}.travel-page .stat-card:nth-child(2){background:linear-gradient(135deg,color-mix(in srgb,#00a896 35%,var(--card)),var(--card) 70%)}.travel-page .stat-card:nth-child(2) .num{color:#00a896}.travel-page .stat-card:nth-child(3){background:linear-gradient(135deg,color-mix(in srgb,#faad14 40%,var(--card)),var(--card) 70%)}.travel-page .stat-card:nth-child(3) .num{color:#d48806}:root[data-theme=dark] .travel-page .stat-card:nth-child(3) .num{color:#ffc53d}.travel-split{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:14px;align-items:stretch}@media(max-width:768px){.travel-split{grid-template-columns:1fr}.travel-detail{height:auto;min-height:0}.travel-map-card div,.travel-map-card canvas{touch-action:pan-y!important}.travel-map-card.map-zoomed div,.travel-map-card.map-zoomed canvas{touch-action:none!important}.travel-split .travel-detail{min-height:calc(100dvh - 170px)}}.map-reset-btn{position:absolute;right:12px;bottom:44px;z-index:121;box-shadow:0 2px 8px #00000024}.travel-map-card{position:relative;padding:12px}.map-back-btn{position:absolute;top:20px;left:20px;z-index:6;box-shadow:0 4px 14px #00000024}.map-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:color-mix(in srgb,var(--card) 60%,transparent);z-index:5;border-radius:inherit}.map-quick{position:absolute;z-index:120;transform:translate(-50%,calc(-100% - 10px));background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 24px #00000029;padding:10px 12px;display:flex;flex-direction:column;gap:6px;min-width:180px}.map-quick:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%) rotate(45deg);width:10px;height:10px;background:var(--card);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.map-quick b{font-size:14px}.map-quick-prov{font-size:11.5px;color:var(--text-2);margin-top:-4px}.map-quick-ops{display:flex;gap:6px}.map-quick-ops .ant-btn{flex:1}.travel-detail{padding:14px 16px;overflow-y:auto;height:0;min-height:100%}.city-detail{display:flex;flex-direction:column;gap:10px}.city-detail-head{display:flex;align-items:center;gap:8px;font-size:16px}.city-detail-ops{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.travel-legend{display:flex;gap:16px;align-items:center;padding:6px 10px 2px;font-size:12px;color:var(--text-2)}.travel-legend .dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px;vertical-align:-1px}.travel-legend .dot.lit{background:#00b3a0;box-shadow:0 0 5px #00e5c5b3}.travel-legend .dot.wish{background:transparent;border:2px solid #faad14}.travel-prov-group{margin-bottom:10px}.travel-prov-title{font-size:12.5px;font-weight:650;color:var(--text-2);margin-bottom:6px}.travel-city-chips{display:flex;flex-wrap:wrap;gap:6px}.travel-chip{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:3px 10px;font-size:12.5px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.travel-chip:hover{border-color:var(--brand)}.travel-chip.lit{background:color-mix(in srgb,#00b3a0 12%,var(--card));border-color:#00b3a0}.travel-chip.wish{border-color:#faad14;border-style:dashed}.travel-chip em{font-style:normal;font-size:10.5px;font-weight:700;background:var(--danger);color:#fff;border-radius:999px;padding:0 5px;line-height:15px}.city-detail .visit-form{border:1px dashed var(--line);border-radius:10px;padding:10px;margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.city-detail .vf-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.city-detail .vf-row label{font-size:12.5px;color:var(--text-2)}.visit-history .visit-row{display:flex;align-items:flex-start;gap:8px;padding:8px 6px;border-top:1px solid var(--line)}.visit-history .vh-ops{display:flex;flex-direction:row;align-items:center;gap:2px;flex-shrink:0}.visit-history .vh-ops .ant-btn{padding-inline:4px}.visit-history .visit-row .vh-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.visit-history .visit-row .vh-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.visit-history .visit-row .vh-date{font-size:13px;white-space:nowrap}.visit-history .visit-row .vh-sub{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--text-2)}.trips-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media(max-width:1500px){.trips-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1150px){.trips-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.trips-grid{grid-template-columns:1fr}}.trip-card{padding:14px 16px;display:flex;flex-direction:column;gap:8px;border-left:3px solid var(--line)}.trip-card.planning{border-left-color:#faad14}.trip-card.finished{border-left-color:#52c41a}.trip-head{display:flex;align-items:center;gap:8px}.trip-title{font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.5px;color:var(--text-2)}.trip-dest:before{content:"📍";margin-right:2px;font-size:11px}.trip-budget{color:#d46b08}.trip-todos-head{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--text-2);margin-bottom:4px}.trip-todo-list{display:flex;flex-direction:column;gap:4px}.trip-todo-list.inline{display:grid;grid-template-columns:1fr 1fr}.trip-todo-item{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;min-width:0}.trip-todo-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trip-todo-item.done span{color:var(--text-2);text-decoration:line-through}.trip-todo-more{font-size:12px;color:var(--text-2);align-self:center}.trip-foot{display:flex;align-items:center;gap:2px;margin-top:2px}.trip-cities{display:flex;gap:10px}.trip-city-link{font-size:12.5px;color:var(--text-2);cursor:pointer;display:inline-flex;align-items:center;gap:4px}.trip-city-link:hover{color:var(--brand)}.trip-form{display:flex;flex-direction:column;gap:12px}.trip-form .tf-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.trip-form .tf-row label{font-size:13px;color:var(--text-2);flex-shrink:0}.trip-form .tf-grid{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:10px 12px;align-items:center}.trip-form .tf-grid label{font-size:13px;color:var(--text-2);flex-shrink:0}.trip-form .tf-hint{font-size:12.5px;color:var(--text-2)}.plans-section-title{font-size:14px;font-weight:700;display:flex;align-items:center;gap:10px;margin-bottom:10px}.plans-section-title>span:first-child{white-space:nowrap}@media(max-width:768px){.plans-section-title .ant-input-search{width:100%!important}}.wish-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}@media(max-width:1500px){.wish-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:1150px){.wish-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.wish-grid{grid-template-columns:repeat(2,1fr)}}.wish-card{padding:13px 16px;display:flex;flex-direction:column;gap:8px;border:1px dashed #faad14;min-height:118px}.wish-card .wish-ops{margin-top:auto}.wish-head{display:flex;align-items:baseline;gap:8px}.wish-head b{font-size:14.5px}.wish-prov{font-size:12px;color:var(--text-2)}.wish-note{font-size:12.5px;color:var(--text-2);word-break:break-word}.wish-ops{display:flex;align-items:center;gap:4px}.wish-ops{justify-content:space-between}.wish-ops .ant-btn{flex:0 0 auto}.trip-note-modal .ant-input-textarea{position:relative}.trip-note-modal .ant-input-textarea textarea{padding-bottom:30px}.trip-note-modal .ant-input-data-count{position:absolute;right:12px;bottom:10px;margin:0;pointer-events:none;font-size:12px;color:var(--text-2)}.detail-section-title{margin-top:14px;padding-top:10px;border-top:1px solid var(--line);font-size:13px;font-weight:700;color:var(--text-1)}.wish-detail-row{display:flex;align-items:flex-start;gap:8px;padding:8px 6px}.tcm-search{position:relative;margin-bottom:10px}.tcm-candidates{position:absolute;top:100%;left:0;right:0;z-index:20;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0000001f;max-height:260px;overflow-y:auto}.tcm-candidate{display:flex;justify-content:space-between;width:100%;padding:8px 12px;border:none;background:transparent;cursor:pointer;font-size:13px;color:var(--text)}.tcm-candidate:hover{background:color-mix(in srgb,var(--brand) 8%,transparent)}.tcm-candidate span{color:var(--text-2);font-size:12px}.tcm-empty{padding:10px 12px;font-size:12.5px;color:var(--text-2)}.tcm-list{display:flex;flex-direction:column}.tcm-row{display:flex;align-items:center;gap:10px;padding:7px 4px;border-top:1px solid var(--line);font-size:13px}.tcm-row b{flex:1}.tcm-row span{color:var(--text-2);font-size:12px}.tcm-hint{font-size:12px;color:var(--text-2);margin-top:8px}.tcal-card{padding:14px}.tcal-nav{display:flex;align-items:center;gap:8px;margin-bottom:10px}.tcal-arrow{font-size:18px;line-height:1;color:var(--text-2)}.tcal-hint{font-size:12.5px;color:var(--text-2)}.tcal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.tcal-wd{text-align:center;font-size:12px;color:var(--text-2);padding:4px 0}.tcal-cell{min-height:76px;border:1px solid var(--line);border-radius:10px;padding:5px 6px;display:flex;flex-direction:column;gap:3px;overflow:hidden;background:var(--card);transition:border-color .15s}.tcal-cell:hover{border-color:var(--brand)}.tcal-cell.out{opacity:.38}.tcal-cell.today{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.tcal-cell.has-trip{background:color-mix(in srgb,var(--brand) 7%,var(--card))}.tcal-day{font-size:12.5px;font-weight:600;color:var(--text)}.tcal-cell.today .tcal-day{color:var(--brand);font-weight:800}.tcal-trip-chip{font-size:10.5px;background:var(--brand);color:#fff;border-radius:4px;padding:0 5px;line-height:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:768px){.tcal-trip-chip{font-size:0;padding:0;width:7px;height:7px;line-height:7px;border-radius:50%;display:inline-block;flex:0 0 auto}.tcal-trip-more{font-size:0;width:5px;height:5px;border-radius:50%;background:var(--text-2);display:inline-block}.tcal-lit{font-size:9px}}.tcal-trip-more{font-size:10px;color:var(--text-2)}.tcal-lit{font-size:10px;color:#00a896;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tcal-lit:before{content:"● ";font-size:8px}.tcal-timeline{padding:16px 18px;display:flex;flex-direction:column;gap:14px}.tl-month-label{font-size:13px;font-weight:700;color:var(--text-2);margin-bottom:6px}.tl-events{display:flex;flex-direction:column;gap:6px}.tl-event{display:flex;align-items:center;gap:10px;font-size:13.5px;padding:6px 8px;border-radius:8px;background:color-mix(in srgb,var(--brand) 4%,transparent)}.tl-event.lit{background:color-mix(in srgb,#00a896 7%,transparent)}.tl-dot{width:8px;height:8px;border-radius:50%;background:var(--brand);flex-shrink:0}.tl-event.lit .tl-dot{background:#00a896}.tl-day{color:var(--text-2);font-size:12px;flex-shrink:0}.tl-sub{color:var(--text-2);font-size:12px}.notify-item .notify-text{font-size:14px;line-height:1.6;word-break:break-word}.notify-item .notify-time{font-size:12px;color:var(--text-2);margin-top:7px}.logo-icon{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--brand),var(--violet));display:grid;place-items:center;color:#fff;font-size:19px;font-weight:700;box-shadow:0 6px 14px #4c6fff59}.logo-name{font-size:17px;font-weight:700;letter-spacing:.5px}.nav-list{display:flex;flex-direction:column;gap:2px;overflow-y:auto;overscroll-behavior:contain}.nav-expand-actions{display:flex;gap:8px;padding:2px 6px 10px}.nav-expand-actions .ant-btn{flex:1;font-size:12px;color:var(--text-2)}.nav-item{position:relative}.nav-badge{margin-left:auto;background:var(--danger);color:#fff;font-size:10.5px;font-weight:650;line-height:16px;padding:0 6px;border-radius:999px;font-variant-numeric:tabular-nums;flex-shrink:0}.nav-item.active .nav-badge{background:#fff;color:var(--brand)}.page-tabs{flex:none;display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;scrollbar-width:thin}.page-tab{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:4px 10px;border-radius:8px;border:1px solid var(--line);background:var(--card);font-size:12.5px;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s,border-color .15s,background .15s}.page-tab:hover{color:var(--brand);border-color:var(--brand)}.page-tab.active{color:var(--brand);background:var(--brand-soft);border-color:var(--brand);font-weight:600}.page-tab-close{font-size:10px;padding:2px;border-radius:4px}.page-tab-close:hover{color:var(--danger);background:#ff5c5c1f}.keep-hidden{display:none}.ctx-menu{position:fixed;z-index:1200;min-width:128px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:4px}.ctx-menu-item{padding:7px 12px;font-size:13px;border-radius:7px;cursor:pointer;color:var(--text)}.ctx-menu-item:hover{background:var(--brand-soft);color:var(--brand)}.ctx-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1199}.notes-tree-folder.drag-over,.notes-item.file.drag-over{outline:2px dashed var(--brand);outline-offset:-2px;background:var(--brand-soft)}.pane-resizer{position:absolute;left:-9px;top:0;width:18px;height:100%;cursor:col-resize;z-index:6;background:transparent}.pane-resizer:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;border-radius:2px;transform:translate(-50%);background:transparent;transition:background .15s}.pane-resizer:hover:after,.pane-resizer:active:after{background:var(--brand)}.pane-resizer.pane-resizer-r{left:auto;right:-9px}body.col-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.col-resizing *{cursor:col-resize!important}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group+.nav-group{margin-top:10px}.nav-group-label{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--text-2);padding:8px 10px 5px;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;transition:color .15s,background .15s}.nav-group-label:hover{color:var(--brand);background:var(--brand-soft)}.nav-group-label .nav-caret{font-size:10px;color:var(--text-2);transition:transform .2s ease;display:inline-flex}.nav-group.collapsed .nav-caret{transform:rotate(-90deg)}.nav-group.collapsed .nav-group-items{display:none}.nav-group:first-child .nav-group-label{padding-top:3px}.nav-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:11px;color:var(--text-2);font-size:14.5px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.nav-item:hover{background:var(--brand-soft);color:var(--brand)}.nav-item.active{background:linear-gradient(135deg,var(--brand),var(--violet));color:#fff;box-shadow:0 6px 16px #4c6fff59}.sidebar-footer{margin-top:auto;display:flex;align-items:center;gap:6px;padding:10px 6px 0;border-top:1px solid var(--line)}.content{flex:1;min-width:0;display:flex;flex-direction:column;padding:14px 32px 0}.nav-collapsed .content{padding-left:66px}.page-viewport{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:40px;scrollbar-width:none}.page-viewport::-webkit-scrollbar{display:none}.page-viewport .page-title{position:sticky;top:0;z-index:20;background:var(--bg);padding:4px 0 10px;margin:0 0 10px}.page-viewport>div{height:100%}.kb-page{height:100%;display:flex;flex-direction:column}.kb-page>.card{flex:1;min-height:0;display:flex;flex-direction:column}.kb-page .ant-table-wrapper{flex:1;min-height:0;overflow:auto;scrollbar-width:none}.kb-page .ant-table-wrapper::-webkit-scrollbar{display:none}.kb-page .ant-table-wrapper .ant-table-thead>tr>th{position:sticky!important;top:0;z-index:3}.kb-page .ant-table-content{overflow:visible!important}.kb-page .ant-pagination{flex:none;margin:12px 0 2px}.page-loading{min-height:100vh;display:grid;place-items:center}.mobile-header,.tabbar{display:none}@media(max-width:768px){.sidebar{display:none}.content{padding:10px 14px 0}.page-viewport{padding-bottom:0}.page-viewport:after{content:"";display:block;height:calc(96px + env(safe-area-inset-bottom,0px))}.page-viewport>div{height:auto;min-height:calc(100% - 96px - env(safe-area-inset-bottom,0px))}.page-viewport>div:has(>.memo-page),.page-viewport>div:has(>.kb-page),.page-viewport>div:has(>.learning-page){height:calc(100% - 96px - env(safe-area-inset-bottom,0px));min-height:0}.mobile-header{display:flex;position:sticky;top:0;z-index:90;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--card);border-bottom:1px solid var(--line)}.app-main{width:100%}.tabbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:100;background:var(--card);border-top:1px solid var(--line);padding:5px 8px calc(5px + env(safe-area-inset-bottom))}.tabbar-inner{display:grid;grid-auto-flow:column;grid-auto-columns:1fr}.tab-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 0;border-radius:9px;font-size:10.5px;color:var(--text-2);text-decoration:none;white-space:nowrap}.tab-item.active{color:var(--brand);font-weight:600}}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:20px}.page-title{font-size:21px;font-weight:700;margin:0 0 18px;display:flex;align-items:center;gap:10px}.lock-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:grid;place-items:center;padding:20px;background:radial-gradient(900px 500px at 15% -5%,rgba(122,92,255,.4),transparent),radial-gradient(800px 500px at 95% 105%,rgba(76,111,255,.4),transparent),linear-gradient(135deg,#4c6fff,#7a5cff)}.lock-card{width:min(400px,100%);border-radius:20px;border:1px solid rgba(255,255,255,.28);background:#ffffff24;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 24px 64px #172b6359;padding:30px 28px 22px;color:#fff;text-align:center}.lock-clock{font-size:54px;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:3px;line-height:1.15;text-shadow:0 4px 24px rgba(23,43,99,.35)}.lock-date{font-size:13.5px;opacity:.85;margin-bottom:22px}.lock-logo{margin-bottom:18px}.lock-logo .logo-icon{width:52px;height:52px;font-size:25px;border-radius:15px;background:#fff3;border:1px solid rgba(255,255,255,.35);color:#fff;display:inline-grid;place-items:center}.lock-title{font-size:17px;font-weight:700;margin-top:10px}.lock-sub{font-size:12.5px;opacity:.8;margin-top:4px}.lock-card .ant-input-affix-wrapper{background:#ffffff29;border-color:#ffffff59;color:#fff}.lock-card .ant-input-affix-wrapper input,.lock-card .ant-input-affix-wrapper input::placeholder{color:#fff}.lock-card .ant-input-affix-wrapper input::placeholder{opacity:.65}.lock-card .ant-input-password-icon,.lock-card .ant-input-prefix{color:#ffffffbf}.lock-card .ant-input-affix-wrapper:focus-within,.lock-card .ant-input-affix-wrapper-focused{border-color:#fff;box-shadow:0 0 0 2px #ffffff40}.lock-hint{font-size:11.5px;opacity:.65;margin-top:14px}mark.search-hl{background:#ffd54f8c;color:inherit;padding:0 1px;border-radius:3px}.date-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.md-body,.notes-tree,.notes-outline-list,.export-tree{overscroll-behavior:contain}.doc-tabs-wrap{flex:1 1 220px;min-width:0;display:flex;flex-direction:column;gap:2px}.doc-tabs{min-width:0;display:flex;gap:8px;overflow-x:auto;padding:2px 0;scrollbar-width:none}.doc-tabs::-webkit-scrollbar{display:none}.doc-tabs-bar{position:relative;height:5px;background:color-mix(in srgb,var(--text-2) 12%,transparent);border-radius:3px;overflow:hidden}.doc-tabs-thumb{position:absolute;top:0;left:0;height:100%;border-radius:3px;background:color-mix(in srgb,var(--text-2) 45%,transparent);cursor:grab;touch-action:none}.doc-tabs-thumb:hover,.doc-tabs-thumb:active{background:var(--text-2)}.doc-tab{height:30px;flex-shrink:0}.doc-tab .doc-tab-name{max-width:min(420px,60vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.date-nav .current{font-size:16px;font-weight:650;min-width:200px;text-align:center}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:18px}.weight-page .stat-cards{margin-bottom:12px}.stat-card .label{font-size:12.5px;color:var(--text-2)}.travel-page .stat-card .label{font-weight:700}.stat-card-h{display:flex;align-items:center;justify-content:space-between;gap:12px}.stat-card-h .label{font-size:16px;font-weight:700;white-space:nowrap}.stat-card-h .num{font-size:22px;white-space:nowrap}.travel-page .stat-cards{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.travel-page .stat-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.travel-page .stat-card-h{gap:8px;padding:10px 12px}.travel-page .stat-card-h .label{font-size:13px}.travel-page .stat-card-h .num{font-size:17px}}.travel-page .stat-card:nth-child(4){background:linear-gradient(135deg,color-mix(in srgb,#eb2f96 30%,var(--card)),var(--card) 100%)}.travel-page .stat-card:nth-child(4) .num{color:#c41d7f}.stat-card .num{font-size:27px;font-weight:750;line-height:1.3}.stat-card .unit{font-size:13px;color:var(--text-2);margin-left:3px}.today-layout{display:grid;grid-template-columns:380px minmax(0,1fr);grid-template-areas:"side main";gap:16px;align-items:start}.today-main{grid-area:main;display:flex;flex-direction:column;gap:16px;min-width:0}.today-main .quick-add{margin-bottom:0}.today-side{grid-area:side;display:flex;flex-direction:column;gap:16px}.today-side .today-hero{margin-bottom:0}@media(min-width:1101px){.today-hero{flex-direction:column;text-align:center;align-items:center;padding:28px 22px 24px;gap:8px}.hero-date{font-size:21px}.hero-sub{justify-content:center}}@media(max-width:1100px){.today-layout{grid-template-columns:1fr;grid-template-areas:"side" "main"}}.mini-week{display:flex;gap:8px;align-items:flex-end;padding:4px 2px 0}.mw-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px}.mw-pct{font-size:10.5px;color:var(--text-2);height:14px;line-height:14px;font-variant-numeric:tabular-nums}.mw-col.today .mw-pct{color:var(--brand);font-weight:650}.mw-bar{width:100%;height:92px;background:var(--brand-soft);border-radius:6px;position:relative;overflow:hidden}.mw-bar i{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,var(--brand),var(--violet));border-radius:6px 6px 0 0;transition:height .4s ease}.mw-label{font-size:10.5px;color:var(--text-2)}.mw-col.today .mw-label{color:var(--brand);font-weight:650}.quote-card{position:relative;border:none;background:linear-gradient(135deg,#ffd76e,#ff9a5a);color:#7a4a1f;padding:16px 20px 18px;overflow:hidden}.quote-card:after{content:"❝";position:absolute;right:12px;bottom:-14px;font-size:64px;line-height:1;color:#7a4a1f1f;font-family:serif}.quote-icon{font-size:15px;color:#7a4a1fa6}.quote-text{font-size:14.5px;font-weight:650;line-height:1.75;margin-top:6px;word-break:break-word}.quote-actions{position:absolute;top:8px;right:8px;display:flex;gap:2px}.quote-actions .ant-btn{color:#7a4a1fb3}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch;padding-bottom:24px}.settings-grid .card{margin-bottom:0;min-width:0;max-width:100%;overflow:hidden}.settings-grid .card .ant-table-wrapper{max-width:100%}.settings-grid .card.wide{grid-column:1 / -1}@media(max-width:1100px){.settings-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.settings-grid{grid-template-columns:1fr}}.today-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:16px;padding:24px 26px;border:none;color:#fff;background:linear-gradient(120deg,var(--brand) 0%,var(--violet) 100%);position:relative;overflow:hidden}.today-hero:before,.today-hero:after{content:"";position:absolute;border-radius:50%;background:#ffffff17}.today-hero:before{width:240px;height:240px;right:-70px;top:-110px}.today-hero:after{width:150px;height:150px;right:130px;bottom:-90px}.hero-left{position:relative;z-index:1}.hero-date{font-size:26px;font-weight:750;margin:0 0 6px}.hero-sub{font-size:13.5px;opacity:.88;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.hero-ring{position:relative;z-index:1}.quick-add{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}@media(max-width:768px){.quick-add{flex-direction:column;align-items:stretch}.quick-add>*{width:100%!important;min-width:0!important;flex:none!important}.quick-add .ant-select{min-width:0!important}.quick-add .ant-segmented{align-self:flex-start}.quick-add .ant-select-selection-overflow{flex-wrap:wrap;row-gap:4px}.quick-add .ant-select-selection-search{min-width:80px}}.quick-add .ant-input,.quick-add .ant-select-selector{border-radius:10px!important}.task-section-title{font-size:13px;font-weight:650;color:var(--text-2);margin:18px 0 8px;display:flex;gap:8px;align-items:center}.task-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;transition:background .15s}.task-row:hover{background:var(--brand-soft)}.task-row .task-title{flex:1;min-width:0;font-size:14.5px;word-break:break-word;display:flex;align-items:baseline;gap:8px}.task-row .task-note{font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.task-row.done .task-note{opacity:.7}.task-row.done .task-title{color:var(--text-2);text-decoration:line-through}.task-row .row-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.task-row:hover .row-actions,.task-row:focus-within .row-actions{opacity:1}@media(hover:none){.task-row .row-actions{opacity:1}}.task-time{font-size:12px;font-weight:650;color:var(--brand);background:var(--brand-soft);padding:2px 9px;border-radius:999px;white-space:nowrap}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px}.goal-section-title{font-size:13px;font-weight:650;color:var(--text-2);margin:18px 2px 10px;display:flex;align-items:center;gap:8px}.goal-section-title:hover{color:var(--text)}.goal-section-title .sec-caret{display:inline-flex;font-size:10px;color:var(--text-2);transition:transform .2s ease}.goal-section-title .sec-caret.collapsed{transform:rotate(-90deg)}.goal-section-title .dot{width:8px;height:8px;border-radius:50%}.goal-card{display:flex;flex-direction:column;gap:12px}.goal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.goal-title{font-size:15.5px;font-weight:650;margin:0;word-break:break-word}.goal-note{color:var(--text-2);font-size:13px;margin:0;white-space:pre-wrap;word-break:break-word}.subtask-row{display:flex;align-items:center;gap:9px;padding:5px 6px;border-radius:9px;font-size:13.5px}.subtask-row:hover{background:var(--brand-soft)}.subtask-row .st-title{flex:1;min-width:0;word-break:break-word}.subtask-row.done .st-title{color:var(--text-2);text-decoration:line-through}.milestone-row{display:flex;align-items:center;gap:8px;font-size:13px;padding:3px 0}.milestone-date{font-size:11.5px;color:var(--brand);background:var(--brand-soft);padding:1px 7px;border-radius:6px;white-space:nowrap}.milestone-row.overdue .milestone-date{color:var(--danger);background:#ff5c5c1f}.day-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day-cell{text-align:center;padding:9px 2px;border-radius:11px;border:1px solid var(--line);cursor:pointer;transition:transform .12s,border-color .12s}.day-cell:hover{transform:translateY(-2px);border-color:var(--brand)}.day-cell.today{border-color:var(--brand);background:var(--brand-soft)}.day-cell .dw{font-size:11.5px;color:var(--text-2)}.day-cell .rate{font-size:15px;font-weight:700;margin-top:2px}.day-cell .rate.none{color:var(--text-2);font-weight:500}.heat-scroll{overflow-x:auto;padding-bottom:8px}.heat-swipe-hint{display:none;font-size:11.5px;color:var(--text-2);margin-bottom:6px}.heat-wd-labels{display:grid;grid-template-rows:repeat(7,13px);gap:3px;margin-right:5px;margin-top:16px;font-size:10.5px;color:var(--text-2)}.heat-wd-labels span{line-height:13px}.heat-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,13px);gap:3px;width:max-content}.heat-cell{width:13px;height:13px;border-radius:3.5px;background:var(--heat-0);cursor:pointer}.heat-cell.f{background:transparent;cursor:default}.heat-cell.l1{background:var(--heat-1)}.heat-cell.l2{background:var(--heat-2)}.heat-cell.l3{background:var(--heat-3)}.heat-cell.l4{background:var(--heat-4)}.heat-cell.miss{background:var(--heat-miss)}.heat-cell:hover{outline:1.5px solid var(--brand)}@media(max-width:768px){.heat-swipe-hint{display:block}.heat-cell{width:18px;height:18px;border-radius:4.5px}.heat-grid{grid-template-rows:repeat(7,18px);gap:4px}.heat-months{grid-auto-columns:18px;gap:4px}.heat-wd-labels{grid-template-rows:repeat(7,18px);gap:4px;margin-top:20px}.heat-wd-labels span{line-height:18px}}.heat-legend{display:flex;align-items:center;gap:4px;justify-content:flex-end;font-size:11.5px;color:var(--text-2);margin-top:6px}.heat-months{display:grid;grid-auto-flow:column;grid-auto-columns:13px;gap:3px;font-size:10.5px;color:var(--text-2);height:16px}.heat-months span{white-space:nowrap}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(900px 500px at 15% -5%,rgba(122,92,255,.35),transparent),radial-gradient(800px 500px at 95% 105%,rgba(76,111,255,.35),transparent),linear-gradient(135deg,#4c6fff,#7a5cff)}.auth-card{width:min(400px,100%);border:none}.auth-logo{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:22px}.auth-logo .logo-icon{width:56px;height:56px;border-radius:16px;font-size:27px}.auth-logo .name{font-size:20px;font-weight:750}.auth-logo .sub{font-size:13px;color:var(--text-2)}.ring-wrap{position:relative;display:inline-grid;place-items:center}.ring-text{position:absolute;text-align:center;line-height:1.25}.ring-text .pct{font-size:22px;font-weight:750}.ring-text .cnt{font-size:11.5px;opacity:.85}.fin-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;transition:background .15s}.fin-row:hover{background:var(--brand-soft)}.fin-row .fin-note{flex:1;min-width:0;font-size:13.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fin-row .fin-note .cat{color:var(--text-2);font-size:12px;margin-left:8px}.fin-amount{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.fin-amount.expense{color:var(--danger)}.fin-amount.income{color:var(--heat-3)}.fin-day{font-size:12.5px;color:var(--text-2);padding:8px 12px 3px;display:flex;justify-content:space-between;gap:10px}.fin-charts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px}@media(max-width:960px){.fin-charts{grid-template-columns:1fr}}.finpage{height:100%;min-height:0;display:flex;flex-direction:column}.finpage>*:not(.finpage-records){flex:none}.finpage-records{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px;min-height:180px}.finpage-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.finpage-scroll::-webkit-scrollbar{display:none}@media(max-width:768px){.finpage{height:auto;min-height:0}.finpage .date-nav{position:sticky;top:0;z-index:5;background:var(--bg);padding:6px 0;margin-bottom:8px}.finpage-records{min-height:0}.finpage-scroll{max-height:52dvh}}.weight-page.finpage{height:auto;min-height:0;padding-bottom:16px}.weight-page .finpage-records{flex:none}.weight-page .finpage-scroll{flex:none;max-height:600px}.stat-card .num.green{color:var(--heat-3)}.kb-filter{display:flex;gap:12px;align-items:center;flex-wrap:nowrap;overflow-x:auto}.kb-form-head{display:flex;gap:12px;margin-top:8px}.kb-form-head .kb-form-title{flex:1;min-width:0}.kb-form-head .kb-form-cat{width:260px;flex:none}@media(max-width:768px){.kb-form-head .kb-form-title{flex:3}.kb-form-head .kb-form-cat{width:auto;flex:2;min-width:0}}.kb-filter .ant-segmented{flex-shrink:0}.kb-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr))}.kb-card{gap:8px}.kb-content-preview{font-size:12.5px;color:var(--text-2);line-height:1.7;white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;background:var(--bg);border-radius:10px;padding:10px 12px;margin-top:2px}.fin-time{font-size:11.5px;color:var(--text-2);white-space:nowrap;font-variant-numeric:tabular-nums}.col-resizer{position:absolute;top:0;right:-3px;width:7px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:2;touch-action:none}.col-resizer:hover,.col-resizer.dragging{background:#4c6fff66;border-radius:2px}.example-toggle{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--text-2);cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 10px;border:1px dashed var(--line);border-radius:10px;transition:color .15s,border-color .15s}.example-toggle:hover{color:var(--brand);border-color:var(--brand)}.kb-pre-tip{pointer-events:auto!important}.kb-pre-tip .ant-tooltip-inner{overflow:hidden}.kb-pre-tip .ant-tooltip-inner>div{scrollbar-width:thin}.notes-page{display:flex;flex-direction:column}.notes-layout{display:grid;grid-template-columns:var(--nw-side, 272px) minmax(0,1fr) var(--nw-out, 250px);gap:14px;align-items:stretch;height:calc(100vh - 208px);min-height:480px}.notes-layout.side-collapsed{grid-template-columns:minmax(0,1fr) var(--nw-out, 250px)}.notes-layout.editing{grid-template-columns:var(--nw-side, 272px) var(--nw-edit, minmax(0, 1.15fr)) minmax(0,1fr)}.notes-layout.side-collapsed.editing{grid-template-columns:var(--nw-edit, minmax(0, 1.15fr)) minmax(0,1fr)}.notes-main,.notes-outline{position:relative}.notes-side{padding:12px;display:flex;flex-direction:column;gap:10px;overflow:hidden}.notes-tree{overflow-y:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:2px}.notes-tree-group{display:flex;flex-direction:column;gap:2px}.notes-tree-folder{display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:9px;font-size:13.5px;font-weight:650;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.notes-tree-folder:hover{background:var(--brand-soft)}.notes-tree-folder .nt-caret{font-size:10px;color:var(--text-2);transition:transform .18s ease;display:inline-flex}.notes-tree-folder .nt-name:hover{color:var(--brand)}.notes-tree-folder .nt-add{margin-left:auto;opacity:0;transition:opacity .15s}.notes-tree-folder:hover .nt-add{opacity:1}.nt-file-icon{color:var(--text-2);flex-shrink:0}.notes-item{display:flex;align-items:flex-start;gap:8px;padding:7px 8px 7px 26px;border-radius:9px;cursor:pointer;border:1px solid transparent}.notes-item:hover{background:var(--brand-soft)}.notes-item.on{background:var(--brand-soft);border-color:var(--brand)}.notes-item.on .nt-file-icon,.notes-item.on .notes-item-title{color:var(--brand)}.notes-item-body{min-width:0;flex:1}.notes-item-title{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-item-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--text-2);margin-top:2px}.notes-main{display:flex;flex-direction:column;min-width:0;min-height:0;padding:20px 26px;overflow:hidden}.notes-edit-head{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.notes-article{display:flex;flex-direction:column;height:100%;min-height:0}.notes-article-inner{display:flex;flex-direction:column;height:100%;min-height:0;width:100%}.notes-title{font-size:24px;font-weight:750;margin:0 0 10px;word-break:break-word}.notes-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--text-2);margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.notes-loading{padding:60px;text-align:center}.md-body{font-size:15px;line-height:1.9;color:var(--text);word-break:break-word;flex:1;min-height:0;overflow-y:auto;padding-right:8px}.md-body h1,.md-body h2,.md-body h3,.md-body h4,.md-body h5,.md-body h6{font-weight:700;margin:1.4em 0 .6em;line-height:1.4}.md-body h1{font-size:1.6em;padding-bottom:.35em;border-bottom:1px solid var(--line)}.md-body h2{font-size:1.32em;padding-bottom:.3em;border-bottom:1px solid var(--line)}.md-body h3{font-size:1.14em}.md-body h4{font-size:1em}.md-body h5{font-size:.94em;color:var(--text-2)}.md-body h6{font-size:.9em;color:var(--text-2);font-weight:650}.md-body p{margin:.75em 0}.md-body a{color:var(--brand);text-decoration:none}.md-body a:hover{text-decoration:underline}.md-body blockquote{margin:.9em 0;padding:.6em 1.1em;border-left:4px solid var(--brand);background:var(--brand-soft);border-radius:0 8px 8px 0;color:var(--text-2)}.md-body ul,.md-body ol{padding-left:1.7em;margin:.6em 0}.md-body li{margin:.3em 0}.md-body code{font-family:Consolas,JetBrains Mono,monospace;font-size:.87em;background:var(--brand-soft);padding:.15em .4em;border-radius:5px}.md-body pre{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px 16px;overflow-x:auto;margin:.9em 0}.md-body pre code{background:transparent;padding:0;font-size:13px;line-height:1.75}.md-body table{border-collapse:collapse;margin:.9em 0;width:100%}.md-body th,.md-body td{border:1px solid var(--line);padding:7px 12px;font-size:13.5px}.md-body th{background:var(--bg);font-weight:650}.md-body img{max-width:100%;border-radius:10px}.md-body hr{border:none;border-top:1px solid var(--line);margin:1.5em 0}.md-toolbar{display:flex;align-items:center;gap:2px;padding:5px 8px;border:1px solid var(--line);border-bottom:none;border-radius:10px 10px 0 0;background:var(--bg);flex-wrap:wrap}.md-toolbar-sep{width:1px;height:16px;background:var(--line);margin:0 4px}.md-count{font-size:11.5px;color:var(--text-2)}.notes-editor-scroll{flex:1;min-height:0;overflow-y:auto;border:1px solid var(--line);border-radius:0 0 10px 10px;background:var(--card)}.notes-editor-scroll:focus-within{border-color:var(--brand)}.notes-editor-input{display:block;width:100%;min-height:100%;height:auto;overflow:hidden;resize:none;outline:none;padding:16px 18px;font-family:Consolas,JetBrains Mono,monospace;font-size:14px;line-height:1.8;color:var(--text);background:transparent}.notes-outline{padding:12px;display:flex;flex-direction:column;overflow:hidden}.notes-outline-head{font-size:13px;font-weight:650;color:var(--text-2);display:flex;align-items:center;gap:6px;padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:8px}.notes-outline-list{overflow-y:auto;flex:1;min-height:0}.notes-outline-item{font-size:12.5px;color:var(--text-2);padding:4px 8px;border-radius:7px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-left:2px solid transparent}.notes-outline-item:hover{color:var(--brand);background:var(--brand-soft)}.notes-outline-item.on{color:var(--brand);font-weight:650;border-left-color:var(--brand);background:var(--brand-soft)}.notes-preview .md-body{padding-right:4px}.export-tree{max-height:46vh;overflow-y:auto;border:1px solid var(--line);border-radius:10px;padding:8px}.export-tree-group{margin-bottom:6px}.export-tree-folder{display:flex;align-items:center;gap:7px;font-size:13.5px;font-weight:650;padding:6px 8px;background:var(--bg);border-radius:8px}.export-tree-item{display:flex;align-items:center;gap:7px;font-size:13px;padding:5px 8px 5px 26px;border-radius:7px;color:var(--text)}.export-tree-item:hover{background:var(--brand-soft)}@media(max-width:1100px){.notes-layout,.notes-layout.side-collapsed,.notes-layout.editing{display:flex;flex-direction:column;height:auto}.notes-side,.notes-outline{max-height:300px}.pane-resizer{display:none}}.habit-page{display:flex;flex-direction:column}.habit-month{font-size:16px;font-weight:700;padding:0 10px;white-space:nowrap}.habit-rate{font-size:13px;color:var(--text-2);margin-right:10px;white-space:nowrap}.habit-rate b{color:var(--brand);font-size:15px}.habit-empty{padding:0 16px}.habit-scroll{overflow:auto;max-height:calc(100vh - 200px);min-height:320px}.habit-table{border-collapse:separate;border-spacing:0;font-size:12.5px;width:100%;table-layout:fixed}.habit-table .hg-col-time{width:var(--hw-time, 92px)}.habit-table .hg-col-act{width:var(--hw-act, 112px)}.habit-table .hg-col-detail{width:var(--hw-detail, 240px)}.habit-table th,.habit-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:4px 6px;text-align:center;white-space:nowrap}.habit-table thead th{position:sticky;background:var(--card);z-index:3;font-weight:650;color:var(--text-2)}.habit-table thead tr:first-child th{top:0}.habit-table thead tr:nth-child(2) th{top:30px;font-size:12px}.habit-table .hg-time,.habit-table .hg-act,.habit-table .hg-detail{position:sticky;background:var(--card);z-index:2;text-align:left}.habit-table .hg-time{left:0;width:var(--hw-time, 92px);min-width:var(--hw-time, 92px);max-width:var(--hw-time, 92px);color:#ad6800;font-weight:700;background:color-mix(in srgb,#ffe58f 55%,var(--card))}.habit-table .hg-act{left:var(--hw-time, 92px);width:var(--hw-act, 112px);min-width:var(--hw-act, 112px);max-width:var(--hw-act, 112px);overflow:hidden;text-overflow:ellipsis;font-weight:650;background:color-mix(in srgb,#ffe58f 35%,var(--card))}.habit-table .hg-detail{left:calc(var(--hw-time, 92px) + var(--hw-act, 112px));width:var(--hw-detail, 240px);min-width:var(--hw-detail, 240px);max-width:var(--hw-detail, 240px);overflow:hidden;text-overflow:ellipsis;color:var(--text-2);font-size:12px}.habit-table .th-resizer{position:absolute;top:0;right:-5px;width:10px;height:100%;cursor:col-resize;z-index:7}.habit-table .th-resizer:after{content:"";position:absolute;top:15%;bottom:15%;left:50%;width:3px;border-radius:2px;transform:translate(-50%);background:transparent;transition:background .15s}.habit-table .th-resizer:hover:after,.habit-table .th-resizer:active:after{background:var(--brand)}.habit-table .hg-corner{z-index:5}.habit-table .hg-week{left:0;background:var(--card)}.habit-table .hg-wd,.habit-table .hg-day{min-width:34px;padding:3px 2px}.habit-table .hg-wd.weekend,.habit-table .hg-day.weekend,.habit-table .hg-cell.weekend{background:color-mix(in srgb,#8c8c8c 8%,var(--card))}.habit-table .hg-wd.today{color:var(--brand);font-weight:800}.habit-table .hg-cell{cursor:pointer;min-width:34px;height:30px;position:relative;padding:0}.habit-table .hg-cell:hover{background:var(--brand-soft)}.habit-table .hg-mark{display:flex;align-items:center;justify-content:center;width:100%;height:30px;font-size:14px;font-weight:800}.habit-table .hg-mark.done{color:#237804;background:color-mix(in srgb,#95de64 32%,transparent)}.habit-table .hg-mark.missed{color:#cf1322;background:color-mix(in srgb,#ffa39e 30%,transparent);font-size:12px}.habit-table .hg-mark.na{color:var(--text-2);background:color-mix(in srgb,#bfbfbf 22%,transparent);font-size:13px;font-weight:600}.habit-table .hg-mark.has-reason:after{content:"";position:absolute;top:0;right:0;border-style:solid;border-width:0 7px 7px 0;border-color:transparent #cf1322 transparent transparent}.habit-manage-list{display:flex;flex-direction:column;gap:6px;max-height:60vh;overflow:auto}.habit-manage-head,.habit-manage-row{display:grid;grid-template-columns:110px 150px 1fr 118px;gap:6px;align-items:center}.habit-manage-head{font-size:12px;color:var(--text-2);padding:0 0 2px}.habit-manage-row.add{padding-top:6px;border-top:1px dashed var(--line)}@media(max-width:768px){.habit-manage-head,.habit-manage-row{grid-template-columns:120px 180px minmax(146px,1fr) 96px;min-width:560px}}.habit-manage-ops{display:flex;gap:2px;justify-content:center}.habit-table tfoot td{position:sticky;bottom:0;background:var(--card);font-weight:700;font-size:11.5px;color:var(--text-2);z-index:3;padding:3px 2px}.habit-table tfoot .hg-time,.habit-table tfoot .hg-act,.habit-table tfoot .hg-detail{z-index:4}.habit-table .hg-cell.day-sum{cursor:default;color:var(--text-2)}.habit-table .hg-cell.day-sum:hover{background:transparent}@media(max-width:768px){.habit-table .hg-detail,.habit-table thead th,.habit-table tfoot td{position:static}.habit-table .hg-time{position:sticky;left:0;z-index:2}.habit-table .hg-act{position:sticky;left:100px;z-index:2}.habit-table thead th.hg-time,.habit-table thead th.hg-act{position:sticky;z-index:5}.habit-table tfoot td.hg-time,.habit-table tfoot td.hg-act{position:sticky;z-index:4}.habit-table .th-resizer{display:none}.habit-table .hg-time{width:100px;min-width:100px;max-width:100px}.habit-table .hg-act{width:96px;min-width:96px;max-width:96px}.habit-table .hg-detail{width:140px;min-width:140px;max-width:140px}.habit-table .hg-col-time{width:100px}.habit-table .hg-col-act{width:96px}.habit-table .hg-col-detail{width:140px}.habit-scroll{max-height:none;padding:0}}.habit-table .hg-cell.day-sum.today{color:var(--brand)}.diet-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:14px;margin-top:12px;align-items:stretch}.diet-card{display:flex;flex-direction:column;justify-content:center;gap:12px}.diet-row{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.diet-cell{display:flex;align-items:center;gap:10px}.diet-line{display:flex;align-items:center;gap:12px}.diet-label{font-size:13px;color:var(--text-2);white-space:nowrap}.diet-ai-btn{margin-left:auto}.diet-line.ai{flex-wrap:wrap;row-gap:6px}.diet-ai-result{display:inline-flex;align-items:center;gap:8px;min-width:0;flex:1}.diet-ai-advice{font-size:12.5px;color:var(--text-2)}.diet-value{font-size:26px;font-weight:750;line-height:1.1}.diet-unit{font-size:12px;color:var(--text-2);font-weight:400}.diet-quick{align-items:center;margin-bottom:0}.diet-detail{margin-top:10px;margin-bottom:12px;padding:12px}.diet-detail-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.diet-detail-list{height:clamp(96px,calc(100vh - 748px),280px);overflow-y:auto;padding-right:4px}@media(max-width:768px){.diet-detail-list{height:auto;min-height:240px;max-height:52dvh}}.diet-pager{display:flex;justify-content:center;align-items:center;gap:12px;padding-top:8px;border-top:1px dashed var(--line);margin-top:8px}.diet-pager-info{font-size:12px;color:var(--text-2);min-width:76px;text-align:center;font-variant-numeric:tabular-nums}@media(max-width:1100px){.diet-grid{grid-template-columns:1fr}}.memo-page{height:100%;min-height:0;display:flex;flex-direction:column;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}.memo-count{font-size:13px;color:var(--text-2);margin-left:10px}.memo-add{flex:none;display:flex;gap:14px;align-items:stretch;margin:14px 0 0}.memo-add-main{flex:1;display:flex;flex-direction:column}.memo-add-textarea .ant-input{resize:vertical}.memo-add-textarea{min-height:96px}.memo-add-count{text-align:right;font-size:12px;color:var(--text-2);margin-top:2px}.memo-add-side{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:10px;padding:4px 0}.memo-add-side .ant-checkbox-wrapper{font-size:13px;color:var(--text-2);white-space:nowrap}.memo-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:14px}.memo-day-list .memo-item{padding:10px 14px;box-shadow:none;border-radius:12px}.memo-item{display:flex;align-items:center;gap:8px;padding:10px 14px;flex-wrap:wrap}.memo-item.pinned{border-color:color-mix(in srgb,var(--brand) 35%,var(--line));background:color-mix(in srgb,var(--brand) 4%,var(--card))}.memo-pin{flex:none}.memo-content{flex:1;min-width:0;font-size:14px;white-space:pre-wrap;word-break:break-word;cursor:pointer;line-height:1.55}.memo-meta{flex:none;font-size:12px;color:var(--text-2)}.memo-remind-at{flex:none;width:92px;display:inline-flex;align-items:center;gap:3px;font-size:12px;color:var(--text-2)}.memo-remind-at.active{color:var(--brand)}.memo-remind-at.sent{text-decoration:line-through;opacity:.65}.memo-item.done .memo-content{text-decoration:line-through;color:var(--text-2);opacity:.7}.memo-item.done{opacity:.78}.memo-day-card{padding:10px 14px;margin-bottom:14px}.memo-day-card.pinned{border-color:color-mix(in srgb,var(--brand) 35%,var(--line));background:color-mix(in srgb,var(--brand) 4%,var(--card))}.memo-day-head{margin:0 0 4px -4px;cursor:pointer}.memo-day-head:hover{background:var(--brand-soft)}.memo-day-head b{font-size:14px}.memo-day-list{display:flex;flex-direction:column;gap:8px}.memo-day-list .memo-item.card{margin:0;background:var(--card);border-color:var(--line)}.learning-track{padding:12px 16px}.track-head{display:flex;align-items:center;gap:8px;cursor:grab;border-radius:8px;padding:2px 4px;margin:0 0 8px -4px}.track-head:active{cursor:grabbing}.track-head:hover{background:var(--brand-soft)}.track-head .track-caret{display:inline-flex;color:var(--text-2);transition:transform .2s ease;font-size:10px}.track-head .track-caret.collapsed{transform:rotate(-90deg)}.learning-item{display:flex;align-items:center;gap:12px;padding:7px 10px;border-radius:9px}.learning-item:hover{background:var(--brand-soft)}.li-check{flex:none;width:17px;height:17px;border-radius:5px;border:1.5px solid var(--line);background:var(--card);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;color:transparent;transition:all .15s}.li-check.on{border-color:#52c41a;background:#52c41a;color:#fff}.learning-item .li-status-tag{cursor:pointer;-webkit-user-select:none;user-select:none;min-width:56px;text-align:center;margin-inline-end:0}.learning-item .li-title{font-size:14px;line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:120px}.learning-item.st-done .li-title{text-decoration:line-through;color:var(--text-2)}.learning-item .li-right{display:flex;align-items:center;gap:10px;margin-left:auto}.learning-item .li-range .ant-picker{width:240px}.li-done-at{font-size:12px;color:#52c41a;white-space:nowrap}.li-note-btn{padding:0;white-space:nowrap}.li-note{width:100%}.li-note-render{border:1px dashed var(--line);border-radius:9px;padding:8px 12px;font-size:13px}.learning-page{height:100%;min-height:0;display:flex;flex-direction:column}.learning-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;align-items:stretch}.learning-cat-title{display:flex;align-items:center;gap:8px;margin:18px 0 8px;padding:4px 8px;font-size:13px;font-weight:700;color:var(--text-2);cursor:pointer;border-radius:8px}.learning-cat-title:hover{background:var(--brand-soft)}.learning-cat-title.drag-over{outline:2px dashed var(--brand);outline-offset:2px}.learning-cat-title .track-caret{display:inline-flex;color:var(--text-2);transition:transform .2s ease;font-size:10px}.learning-cat-title .track-caret.collapsed{transform:rotate(-90deg)}.learning-summary{display:flex;align-items:center;gap:18px;padding:14px 20px;margin-bottom:12px;flex-wrap:wrap}.learning-summary-info{flex:1;min-width:160px}.learning-summary-actions{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}@media(max-width:768px){.learning-summary{flex-direction:column;align-items:stretch;gap:12px}.learning-summary-actions{margin-left:0;justify-content:flex-start}.learning-summary-actions input,.learning-summary-actions .ant-select{width:100%!important;min-width:0!important}.learning-item{flex-wrap:wrap}.learning-item .li-title{max-width:none;white-space:normal}.learning-item .li-range .ant-picker,.learning-item .ant-picker{width:100%!important}}.tree-chart-modal .ant-modal-body{padding:0 8px 8px}.tree-legend{display:flex;gap:16px;padding:6px 12px 0;font-size:12px;color:var(--text-2)}.tree-legend .lg{display:inline-flex;align-items:center;gap:5px}.tree-legend .lg:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c)}.skill-source{margin:0;padding:12px 14px;background:color-mix(in srgb,var(--text) 4%,var(--card));border:1px solid var(--line);border-radius:10px;font-size:12.5px;line-height:1.6;overflow:auto;max-height:calc(100vh - 300px);white-space:pre-wrap;word-break:break-word}.skill-fm{margin:0 0 12px;padding:8px 12px;background:color-mix(in srgb,var(--text) 4%,var(--card));border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:8px;font-size:12px;line-height:1.6;color:var(--text-2);white-space:pre-wrap;word-break:break-word}.mgr-cat-row{cursor:grab;padding-inline:6px}.mgr-cat-row:active{cursor:grabbing}.mgr-cat-row.drag-over{outline:2px dashed var(--brand);outline-offset:-2px;background:var(--brand-soft)}.mgr-cat-drag{color:var(--text-2);font-size:13px;flex-shrink:0}.skill-file-meta{font-size:13px;color:var(--text-2);padding:8px 4px}.skill-file-meta p{margin:4px 0}.pv-tabs{display:inline-flex;gap:2px;margin-right:8px}.pv-tab{padding:2px 8px;border-radius:6px;font-size:12px;cursor:pointer;color:var(--text-2)}.pv-tab.on{background:var(--brand-soft);color:var(--brand);font-weight:650}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-2)}@media(pointer:coarse){.ant-tooltip{display:none!important}.ant-select-dropdown .rc-virtual-list-scrollbar-vertical{visibility:visible!important}.ant-select-dropdown:has(.rc-virtual-list-scrollbar),.ant-select-dropdown .rc-virtual-list-scrollbar{touch-action:none;overscroll-behavior:contain}}html{touch-action:manipulation}.native-field{position:relative;display:inline-flex;align-items:center;width:190px;height:32px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--text);vertical-align:middle;transition:border-color .2s,box-shadow .2s}.native-field:focus-within{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.native-field input,.native-field .native-select{flex:1;min-width:0;border:0;padding:0;background:transparent;color:inherit;font:inherit;outline:none;height:100%}.native-field .native-select{-moz-appearance:none;appearance:none;-webkit-appearance:none}.native-field input::-webkit-date-and-time-value{height:1.4em;line-height:1.4;text-align:left}.native-field input::-webkit-outer-spin-button,.native-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.native-field input:disabled,.native-field .native-select:disabled{color:var(--text-2)}.native-field .native-clear{flex:0 0 auto;width:16px;height:16px;margin-left:4px;border:0;padding:0;border-radius:50%;background:var(--text-2);color:var(--card);font-size:12px;line-height:16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.native-field.native-small{height:24px;border-radius:8px;padding:0 7px}.native-field.native-large{height:40px}.native-range-group{display:inline-flex;align-items:center;gap:4px}.native-range-group .native-field{width:auto}.native-range-group .native-field input{width:118px}.native-range-sep{flex:0 0 auto;color:var(--text-2);font-size:12px}@media(max-width:768px){.ant-input,textarea.ant-input,.ant-input-number-input,.ant-picker-input>input,.ant-select-selection-search-input,.native-field input,.native-field .native-select{font-size:16px!important}.ant-btn-icon-only{position:relative}.ant-btn-icon-only:before{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px;border-radius:inherit}.memo-add{flex-direction:column;gap:8px;padding:12px 14px;margin:10px 0 calc(-28px - env(safe-area-inset-bottom,0px)) 0}.memo-add-side{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px 14px;width:100%;margin-left:0}.memo-add-count{display:none}.ant-modal{position:static;margin:0;padding-bottom:0;width:94vw!important;max-width:94vw!important}.ant-modal .ant-modal-content{max-height:80dvh;overflow-y:auto;border-radius:16px;padding-bottom:20px}.ant-modal-wrap{display:flex;align-items:center;justify-content:center;overflow-y:auto}}.sw-updating{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--bg, #f5f6fa);overscroll-behavior:contain}.sw-updating-title{font-size:17px;font-weight:600;color:var(--text)}.sw-updating-sub{font-size:13px;color:var(--text-2)}.sw-updating-ring{width:40px;height:40px;border:4px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:sw-spin .9s linear infinite}@keyframes sw-spin{to{transform:rotate(360deg)}}.ant-message{top:96px!important}.monitor-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}.monitor-card{display:flex;flex-direction:column;gap:10px;padding:18px 20px}.monitor-card .m-label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--text-2);white-space:nowrap}.monitor-card .m-value{font-size:26px;font-weight:700;color:var(--text);line-height:1.1;font-variant-numeric:tabular-nums}.monitor-card .m-unit{font-size:13px;font-weight:500;color:var(--text-2);margin-left:4px}.monitor-card .m-sub{font-size:12px;color:var(--text-2)}.monitor-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;margin-bottom:14px}.monitor-page>.monitor-panel{margin-bottom:14px}.monitor-page>.monitor-panel:last-child{margin-bottom:0}.monitor-card-title{display:inline-flex;align-items:center;gap:7px;font-weight:600}.monitor-kv{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;font-size:13px;color:var(--text-2)}.monitor-kv b{color:var(--text);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.monitor-meta{font-size:12px;color:var(--text-2)}.monitor-table-name{margin-left:8px;font-size:12px;color:var(--text-2);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media(max-width:1100px){.monitor-grid{grid-template-columns:1fr}}@media(max-width:900px){.monitor-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.monitor-cards{grid-template-columns:1fr}.monitor-meta{display:none}.monitor-card{padding:15px 16px}}
