:root{--bg-gradient: linear-gradient(160deg, #e8e9ee 0%, #d8dae4 35%, #bfc4d2 65%, #9aa2b8 100%);--glass-bg: rgba(255, 255, 255, .56);--glass-bg-hover: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .76);--glass-blur: blur(20px);--glass-shadow: 0 4px 16px rgba(80,90,110,.08), inset 0 1px 0 rgba(255,255,255,.95), inset 1px 0 0 rgba(255,255,255,.55);--glass-shadow-lg: 0 8px 28px rgba(80,90,110,.11), inset 0 1px 0 rgba(255,255,255,.98), inset 1px 0 0 rgba(255,255,255,.65);--panel-bg: rgba(238,240,246,.96);--color-primary: #7b7fb2;--color-secondary: #c4afc8;--color-tertiary: #7ab8c8;--color-success: #5a9e88;--color-warning: #b07858;--text-primary: #1e2028;--text-secondary: #8a8fa8;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--sidebar-width: 220px;--font-sans: "PingFang SC", "Segoe UI", "Helvetica Neue", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}svg{shape-rendering:geometricPrecision}input[type=date],input[type=datetime-local],input[type=time],input[type=month]{color-scheme:dark;font-family:var(--font-sans)}html,body,#app{height:100%;overflow:hidden;font-family:var(--font-sans);color:var(--text-primary);-webkit-font-smoothing:antialiased}body{background:var(--bg-gradient);background-attachment:fixed;min-height:100vh}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);corner-shape:squircle;box-shadow:var(--glass-shadow);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:background .25s ease,box-shadow .25s ease}.glass-card:hover{background:var(--glass-bg-hover);box-shadow:var(--glass-shadow-lg)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:transparent;margin-top:8px;margin-bottom:8px}::-webkit-scrollbar-thumb{background:#7b7fb238;border-radius:99px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-title{font-size:15px;font-weight:700}.section-link{font-size:13px;color:var(--color-primary);cursor:pointer}.cap-capsule{flex:1;min-width:0;display:flex;align-items:center;gap:5px;padding:4px 8px 4px 5px;border-radius:20px;border:1px solid;background:var(--cap-bg);transition:filter .12s}.cap-tag{flex-shrink:0;font-size:8px;font-weight:600;letter-spacing:.04em;border-radius:3px;padding:0 4px;line-height:13px}.cap-tag-proj{background:#ffffff8c}.cap-tag-ev{background:#d2af2847;color:#7a5c00}.cap-sdot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.cap-s-pending{background:#9e9fc4}.cap-s-active{background:#7b7fb2}.cap-name{font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1;padding-bottom:2px;margin-bottom:-2px}.cap-days{font-size:10px;font-weight:700;color:var(--text-secondary);flex-shrink:0;white-space:nowrap;margin-left:4px}.cap-days.urgent{color:var(--color-warning, #c8962a)}.cap-capsule{transition:box-shadow .25s ease}.cap-row:hover .cap-capsule{box-shadow:inset 0 0 0 100px #ffffff73,0 2px 6px #505a6e1a}.cal-chip{transition:box-shadow .25s ease}.cal-chip:hover,.cal-chip.bar-hovered{box-shadow:inset 0 0 0 100px #ffffff73,0 2px 6px #505a6e1a}.file-card-btn{position:relative;width:20px;height:20px;border-radius:5px;border:none;background:#ffffffc7;color:var(--text-secondary);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;box-shadow:0 1px 4px #00000014}.file-card-btn:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px}.file-card-btn:hover{background:#fff;color:var(--text-primary)}.file-card-btn.del:hover{color:#e05555}.file-list-btn{width:24px;height:24px;border-radius:6px;border:none;background:none;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s,background .15s}.file-list-btn:hover{background:#7b7fb21a;color:var(--color-primary)}.file-list-btn.del:hover{background:#c85a5a1a;color:#c85a5a}.fc-card,.folder-card{position:relative;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;will-change:transform;-webkit-user-select:none;user-select:none}.fc-card{transition:transform .25s cubic-bezier(.34,1.2,.64,1),box-shadow .25s ease,background .2s,border-color .2s}.folder-card{transition:transform .22s cubic-bezier(.34,1.2,.64,1),box-shadow .22s ease,background .18s}.fc-card:after,.folder-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#ffffff26;opacity:0;pointer-events:none;z-index:1;transition:opacity .25s ease}.fc-card:hover:after,.folder-card:hover:after{opacity:1}.fc-card:hover,.folder-card:hover{transform:translateY(-2px)}.fc-card:active:not(:has(.fc-hover-actions:active)){transform:translateY(1px);opacity:.93}.folder-card:active:not(:has(.fd-hover-actions:active)){transform:translateY(1px);opacity:.93}.panel-left{background:#fff9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-right:1px solid rgba(255,255,255,.62);box-shadow:inset -1px 0 #ffffffa6}.popup-menu{background:#fff9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.75);border-radius:10px;box-shadow:0 4px 20px #0000001a;padding:4px;-webkit-user-select:none;user-select:none}.popup-close-btn{width:22px;height:22px;border-radius:6px;border:none;padding:0;background:none;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .12s,color .12s}.popup-close-btn:hover{background:#00000012;color:var(--text-primary)}.popup-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;background:none;border-radius:7px;font-size:13px;font-family:var(--font-sans);color:var(--text-primary);cursor:pointer;text-align:left;white-space:nowrap;transition:background .12s}.popup-menu-item:hover:not(:disabled){background:#0000000d}.popup-menu-item:disabled{opacity:.4;cursor:default}.popup-menu-item.active{color:var(--color-primary);font-weight:600}.popup-menu-item.danger{color:#c85a5a}.popup-menu-item.danger:hover:not(:disabled){background:#c85a5a1a}.popup-menu-sep{height:1px;background:#00000012;margin:3px 6px}.popup-menu-shortcut{margin-left:auto;font-size:11px;color:var(--text-secondary);opacity:.7}.popup-menu-dark{background:#141626f0;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.11);border-radius:10px;box-shadow:0 4px 24px #00000080,inset 0 1px #ffffff0f;padding:4px;-webkit-user-select:none;user-select:none}.popup-menu-dark .popup-menu-item{color:#ffffffb8;font-family:var(--font-sans)}.popup-menu-dark .popup-menu-item:hover:not(:disabled){background:#ffffff12;color:#ffffffeb}.popup-menu-dark .popup-menu-item:disabled{opacity:.35}.popup-menu-dark .popup-menu-item.active{color:#a096ebf2;font-weight:600}.popup-menu-dark .popup-menu-item.danger{color:#dc6464e6}.popup-menu-dark .popup-menu-item.danger:hover:not(:disabled){background:#c850501f}.popup-menu-dark .popup-menu-sep{background:#ffffff14;margin:3px 6px;height:1px}.popup-menu-dark .popup-close-btn{color:#ffffff59}.popup-menu-dark .popup-close-btn:hover{background:#ffffff14;color:#ffffffbf}.popup-menu-dark .popup-menu-shortcut{color:#ffffff4d}.title-edit-input{background:#ffffffb8;border:1px solid rgba(0,0,0,.1);border-radius:7px;outline:none;padding:2px 8px;margin:-3px -9px;font-weight:700;line-height:1.2;font-family:var(--font-sans);color:var(--text-primary);box-shadow:0 0 0 3px #7b7fb21a;caret-color:var(--color-primary);transition:border-color .15s,box-shadow .15s}.title-edit-input:focus{border-color:#7b7fb266;box-shadow:0 0 0 3px #7b7fb224}.form-input{width:100%;padding:8px 12px;border-radius:9px;border:1px solid rgba(255,255,255,.75);background:#ffffffad;font-size:13px;font-family:var(--font-sans);color:var(--text-primary);outline:none;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:#7b7fb28c;box-shadow:0 0 0 3px #7b7fb21f;background:#ffffffd9}::placeholder{color:var(--text-secondary);opacity:.75}.phys-drag-clone{box-shadow:0 22px 50px #1e233c4d;cursor:grabbing;opacity:.97}.phys-drag-source{opacity:0!important}
