@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--color-primary: #4f46e5;--color-primary-light: #eef2ff;--color-primary-hover: #4338ca;--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--color-text: #0f172a;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .04);--shadow-md: 0 4px 12px rgba(15, 23, 42, .06);--shadow-lg: 0 8px 24px rgba(15, 23, 42, .08);--sidebar-width: 220px;--header-height: 60px;--content-padding: 24px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text);background:var(--color-bg)}#root{height:100vh}.app-layout{height:100vh;background:var(--color-bg)!important}.app-sider{border-right:1px solid var(--color-border-light)!important;background:var(--color-surface)!important;box-shadow:var(--shadow-sm)}.app-sider-themed{border-right:none!important;box-shadow:none}.app-sider-notes{background:#14532d!important}.app-sider-stash{background:#134e4a!important}.app-sider-fx{background:#1e1b4b!important}.app-sider-themed .app-logo{border-bottom-color:#ffffff14}.app-sider-notes .app-logo-icon{background:linear-gradient(135deg,#4ade80,#16a34a)}.app-sider-notes .app-logo-text{color:#dcfce7}.app-sider-notes .app-logo-sub{color:#86efac}.app-sider-notes .app-menu.ant-menu-dark .ant-menu-item-selected{color:#bbf7d0!important}.app-sider-notes .app-menu.ant-menu-dark .ant-menu-item-selected .anticon,.app-sider-notes .app-menu.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title .anticon{color:#4ade80!important}.app-sider-stash .app-logo-icon{background:linear-gradient(135deg,#2dd4bf,#0d9488)}.app-sider-stash .app-logo-text{color:#ccfbf1}.app-sider-stash .app-logo-sub{color:#5eead4}.app-sider-stash .app-menu.ant-menu-dark .ant-menu-item-selected{color:#99f6e4!important}.app-sider-stash .app-menu.ant-menu-dark .ant-menu-item-selected .anticon,.app-sider-stash .app-menu.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title .anticon{color:#2dd4bf!important}.app-sider-fx .app-logo-icon{background:linear-gradient(135deg,#a78bfa,#6366f1)}.app-sider-fx .app-logo-text{color:#e0e7ff}.app-sider-fx .app-logo-sub{color:#a5b4fc}.app-sider-fx .app-menu.ant-menu-dark .ant-menu-item-selected{color:#ede9fe!important;background:#a78bfa29!important;box-shadow:inset 3px 0 #a78bfa}.app-sider-fx .app-menu.ant-menu-dark .ant-menu-item-selected .anticon,.app-sider-fx .app-menu.ant-menu-dark .ant-menu-submenu-selected>.ant-menu-submenu-title .anticon{color:#c4b5fd!important}.app-sider-space{flex-shrink:0;padding:0 14px 10px}.app-sider-space .ant-select{width:100%}.app-sider-space .ant-select-selector{background:#ffffff12!important;border-color:#ffffff1a!important;color:#e0e7ff!important;border-radius:var(--radius-sm)!important;font-size:13px;min-height:34px!important}.app-sider-space .ant-select-selection-item{color:#e0e7ff!important}.app-sider-space .ant-select-arrow,.app-sider-space .ant-select-suffix{color:#a5b4fc!important}.app-sider-space .ant-select-selection-placeholder{color:#818cf8!important}.app-sider-space .ant-select:hover .ant-select-selector,.app-sider-space .ant-select-focused .ant-select-selector{border-color:#a78bfa73!important}.app-sider .ant-layout-sider-children{display:flex;flex-direction:column}.app-logo{display:flex;align-items:center;gap:10px;padding:20px 18px 16px;border-bottom:1px solid var(--color-border-light)}.app-logo-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;font-size:15px;font-weight:700;letter-spacing:-.5px;flex-shrink:0}.app-logo-text{font-size:17px;font-weight:700;color:var(--color-text);letter-spacing:-.3px;line-height:1.2}.app-logo-sub{font-size:11px;font-weight:500;color:var(--color-text-muted);margin-top:1px}.app-menu{flex:1;padding:12px 10px!important;border-inline-end:none!important;background:transparent!important;overflow-y:auto}.app-menu .ant-menu-item,.app-menu .ant-menu-submenu-title{margin:2px 0!important;width:100%!important;font-weight:500}.app-sider-themed .app-menu.ant-menu-dark .ant-menu-item,.app-sider-themed .app-menu.ant-menu-dark .ant-menu-submenu-title{border-radius:var(--radius-sm)}.app-sider-themed .app-menu.ant-menu-dark .ant-menu-sub .ant-menu-item{padding-left:44px!important}.app-sider-themed .app-menu.ant-menu-dark .ant-menu-item-selected{background:#ffffff24!important}.app-sider-themed .app-menu.ant-menu-dark .ant-menu-item:hover,.app-sider-themed .app-menu.ant-menu-dark .ant-menu-submenu-title:hover{background:#ffffff14!important}.app-sider-themed .app-menu .ant-menu-title-content{overflow:hidden;text-overflow:ellipsis}.app-header{display:flex;align-items:center;justify-content:flex-end;height:var(--header-height)!important;padding:0 var(--content-padding)!important;background:var(--color-surface)!important;border-bottom:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);line-height:var(--header-height)!important}.app-header-user{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:var(--radius-sm);transition:background .2s}.app-header-user:hover{background:var(--color-border-light)}.app-content{margin:var(--content-padding)!important;min-height:280px;overflow:auto}.page-container{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-header{margin-bottom:24px}.page-title{font-size:22px;font-weight:700;color:var(--color-text);letter-spacing:-.4px;line-height:1.3;margin:0}.page-subtitle{margin-top:4px;font-size:14px;color:var(--color-text-secondary)}.stat-card{border:1px solid var(--color-border-light)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-sm)!important;transition:box-shadow .2s,border-color .2s,transform .2s;cursor:pointer}.stat-card:hover{border-color:var(--color-border)!important;box-shadow:var(--shadow-md)!important;transform:translateY(-1px)}.stat-card .ant-statistic-title{color:var(--color-text-secondary);font-size:13px;font-weight:500;margin-bottom:6px}.stat-card .ant-statistic-content{font-weight:700;letter-spacing:-.5px}.content-card{border:1px solid var(--color-border-light)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-sm)!important}.content-card .ant-card-head{border-bottom:1px solid var(--color-border-light);min-height:52px;padding:0 20px}.content-card .ant-card-head-title{font-size:15px;font-weight:600;color:var(--color-text)}.content-card .ant-card-body{padding:0}.list-item-row{padding:12px 20px!important;transition:background .15s}.list-item-row:hover{background:#fafbfc}.empty-state{text-align:center;padding:32px 20px;color:var(--color-text-muted)}.empty-state-icon{font-size:40px;margin-bottom:12px;color:var(--color-border)}.login-page{display:flex;min-height:100vh;background:var(--color-bg)}.login-brand{display:none;flex:1;position:relative;overflow:hidden;background:linear-gradient(145deg,#312e81,#4f46e5 45%,#6366f1)}@media(min-width:900px){.login-brand{display:flex;flex-direction:column;justify-content:center;padding:60px}}.login-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 80%,rgba(255,255,255,.08) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,255,255,.06) 0%,transparent 40%)}.login-brand-content{position:relative;z-index:1;max-width:400px}.login-brand-logo{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:22px;font-weight:700;margin-bottom:28px}.login-brand-title{font-size:32px;font-weight:700;color:#fff;letter-spacing:-.5px;line-height:1.25;margin-bottom:12px}.login-brand-desc{font-size:16px;color:#ffffffbf;line-height:1.7}.login-form-panel{display:flex;align-items:center;justify-content:center;flex:1;padding:32px 24px}.login-card{width:100%;max-width:400px;border:1px solid var(--color-border-light)!important;border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-lg)!important}.login-card .ant-card-body{padding:36px 32px 32px!important}.login-mobile-logo{display:flex;align-items:center;gap:10px;margin-bottom:28px}@media(min-width:900px){.login-mobile-logo{display:none}}.login-card-title{font-size:22px;font-weight:700;color:var(--color-text);letter-spacing:-.3px;margin-bottom:4px}.login-card-subtitle{font-size:14px;color:var(--color-text-secondary);margin-bottom:24px}.notice-popover{width:340px}.notice-item{cursor:pointer;transition:background .15s;border-radius:var(--radius-sm)}.notice-item--unread{background:#f0fdf4}.notice-item:hover{background:var(--color-border-light)}.notice-footer{text-align:center;padding:10px 0 4px;border-top:1px solid var(--color-border-light)}.markdown-body{font-size:14px;line-height:1.75;color:var(--color-text)}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin-top:1.5em;margin-bottom:.5em;font-weight:600;color:var(--color-text)}.markdown-body p{margin-bottom:1em}.markdown-body code{padding:2px 6px;border-radius:4px;background:var(--color-border-light);font-size:.9em}.markdown-body pre{padding:16px;border-radius:var(--radius-md);background:#1e293b;color:#e2e8f0;overflow-x:auto;margin-bottom:1em}.markdown-body pre code{padding:0;background:transparent;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.stash-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:var(--color-text-secondary);font-size:13px;font-weight:600;letter-spacing:.02em}.stash-category-grid,.stash-bookmark-grid{display:grid;gap:14px;margin-bottom:24px}.stash-category-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}.stash-bookmark-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.stash-bookmark-list{display:flex;flex-direction:column;gap:8px}.stash-category-card{position:relative;padding:18px 16px 14px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(160deg,#f0fdfa,#fff 55%);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}.stash-category-card:hover{border-color:#5eead4;box-shadow:var(--shadow-md);transform:translateY(-2px)}.stash-category-card.is-dragging{opacity:.45}.stash-category-card__toolbar{position:absolute;top:8px;right:8px;display:flex;gap:2px;opacity:0;transition:opacity .15s}.stash-category-card:hover .stash-category-card__toolbar{opacity:1}.stash-category-card__icon{font-size:32px;color:#0d9488;margin-bottom:10px}.stash-category-card__name{font-weight:600;font-size:14px;color:var(--color-text);margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stash-category-card__meta{display:flex;flex-wrap:wrap;gap:4px}.stash-bookmark-card{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);transition:border-color .2s,box-shadow .2s,transform .2s}.stash-bookmark-card:hover{border-color:#99f6e4;box-shadow:var(--shadow-md)}.stash-bookmark-card.is-selected{border-color:#14b8a6;background:#f0fdfa}.stash-bookmark-card.is-dragging{opacity:.45}.stash-bookmark-card--grid{padding:12px 12px 14px;cursor:grab}.stash-bookmark-card--grid:hover{transform:translateY(-2px)}.stash-bookmark-card--list{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;cursor:grab}.stash-bookmark-card__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.stash-bookmark-card__link{display:block;text-decoration:none;color:inherit}.stash-bookmark-card__icon-wrap{width:44px;height:44px;border-radius:12px;background:#f0fdfa;border:1px solid #ccfbf1;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.stash-bookmark-card__icon{width:28px;height:28px;border-radius:6px}.stash-bookmark-card__icon-fallback{font-size:22px;color:#0d9488}.stash-bookmark-card__favicon{flex-shrink:0;width:40px;height:40px;border-radius:10px;background:#f0fdfa;border:1px solid #ccfbf1;display:flex;align-items:center;justify-content:center;color:#0d9488;font-size:18px}.stash-bookmark-card__favicon img{width:24px;height:24px;border-radius:4px}.stash-bookmark-card__body{flex:1;min-width:0}.stash-bookmark-card__title{display:block;font-weight:600;font-size:14px;color:var(--color-text);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stash-bookmark-card__title:hover{color:#0d9488}.stash-bookmark-card--grid .stash-bookmark-card__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;line-height:1.35;min-height:2.7em}.stash-bookmark-card__domain,.stash-bookmark-card__url{font-size:12px;color:var(--color-text-muted);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stash-bookmark-card__visit{margin-left:8px;color:var(--color-text-muted);opacity:.85}.stash-bookmark-card__desc{font-size:12px;color:var(--color-text-secondary);margin-top:6px;line-height:1.45}.stash-bookmark-card__desc--grid{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stash-bookmark-card__tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.stash-bookmark-card__tag{margin:0!important;font-size:11px;cursor:pointer}.stash-bookmark-card__actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.stash-bookmark-card--grid .stash-bookmark-card__actions{opacity:0;transition:opacity .15s}.stash-bookmark-card--grid:hover .stash-bookmark-card__actions,.stash-bookmark-card--grid.is-selected .stash-bookmark-card__actions{opacity:1}.stash-bookmark-card--list .stash-bookmark-card__actions{opacity:0}.stash-bookmark-card--list:hover .stash-bookmark-card__actions,.stash-bookmark-card--list.is-selected .stash-bookmark-card__actions{opacity:1}.stash-drag-handle{color:#cbd5e1;cursor:grab;font-size:14px}.stash-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background .15s,color .15s}.stash-icon-btn:hover{background:#f1f5f9;color:var(--color-text)}.stash-icon-btn--danger:hover{background:#fef2f2;color:#dc2626}.stash-batch-bar{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:100;padding:10px 16px;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.stash-search-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.project-layout{display:flex;gap:16px;align-items:flex-start}.project-sidebar{width:200px;flex-shrink:0;position:sticky;top:0;align-self:flex-start;max-height:calc(100vh - var(--header-height) - 48px);overflow-y:auto}.project-nav{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);padding:6px 0 8px}.project-nav-back{text-align:left;padding:4px 12px!important;margin-bottom:2px;color:var(--color-text-secondary)!important;height:auto!important}.project-nav-title{padding:6px 16px 10px;border-bottom:1px solid var(--color-border-light);margin-bottom:4px}.project-nav-menu{border-inline-end:none!important;background:transparent!important}.project-nav-menu .ant-menu-submenu-title,.project-nav-menu .ant-menu-item{height:34px!important;line-height:34px!important;margin:1px 6px!important;width:calc(100% - 12px)!important;border-radius:var(--radius-sm)}.project-main{flex:1;min-width:0}.projects-filter-sidebar{width:220px;flex-shrink:0;position:sticky;top:0;align-self:flex-start}.projects-filter-section-label{display:block;font-size:11px;letter-spacing:.04em;margin-bottom:6px;padding-left:2px}.app-menu .ant-menu-item-group-title{font-size:11px;color:var(--color-text-muted);padding-left:12px!important;line-height:1.6}.app-menu .ant-menu-item-group-list .ant-menu-item{padding-left:20px!important}.app-sider-project{padding:0 12px 8px;border-bottom:1px solid var(--color-border-light);margin-bottom:4px}.app-sider-project-back{text-align:left;padding:0 4px!important;margin-bottom:4px;color:var(--color-text-secondary)!important;height:32px!important}.app-sider-project-name{padding:0 4px 4px;min-height:22px}.app-sider-project-name .ant-typography{font-size:13px;color:var(--color-text)}
