:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:flex-start;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.pwa-install-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;width:100%;height:100%;opacity:1}.pwa-install-toast-content{display:flex;flex-direction:column;align-items:center;gap:16px;background:linear-gradient(135deg,#667eea,#764ba2);padding:32px;border-radius:16px;box-shadow:0 8px 32px #667eea59;max-width:500px;min-width:480px;position:relative;overflow:visible;color:#fff;text-align:center;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pwa-install-toast-content:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#4ade80,#facc15,#fb923c,#f87171);opacity:.8}.pwa-install-toast-icon{font-size:48px;flex-shrink:0;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.pwa-install-toast-text{flex:1;text-align:center}.pwa-install-toast-text strong{display:block;font-size:24px;font-weight:700;color:#fff;margin-bottom:12px;background:linear-gradient(135deg,#f0abfc,#fde68a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.pwa-install-toast-text p{margin:0 0 16px;font-size:16px;color:#ffffffe6;line-height:1.6}.pwa-benefits-list{list-style:none;padding:0;margin:0 0 16px;text-align:left;width:100%}.pwa-benefits-list li{font-size:13px;color:#ffffffd9;line-height:1.7;margin-bottom:6px;padding-left:15px;display:flex;align-items:flex-start;gap:8px;width:100%;text-align:left}.pwa-benefits-list li:before{content:"";margin-right:8px}.pwa-install-toast-actions{display:flex;gap:16px;flex-shrink:0;margin-top:12px}.pwa-install-toast-button{padding:12px 32px;background:linear-gradient(135deg,#fff,#f0f4f8);color:#667eea;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 4px 16px #fff3}.pwa-install-toast-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffffff4d}.pwa-install-toast-button:active{transform:translateY(0)}.pwa-install-toast-dismiss{padding:12px 32px;background:transparent;color:#ffffffe6;border:1px solid rgba(255,255,255,.3);border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pwa-install-toast-dismiss:hover{background:#ffffff1a;color:#fff;border-color:#ffffff80}.pwa-install-toast-dismiss:active{background:#fff3}.pwa-install-menu-item{position:fixed;top:80px;right:20px;z-index:1000}.pwa-install-menu-button{padding:8px 12px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 6px #3b82f64d;display:flex;align-items:center;gap:6px}.pwa-install-menu-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.pwa-install-menu-button:active{transform:translateY(0)}.pwa-install-dropdown{position:absolute;top:100%;right:0;margin-top:8px;z-index:9999}.pwa-install-dropdown-content{background:#fff;padding:20px;border-radius:12px;box-shadow:0 10px 40px #0003;min-width:280px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.pwa-install-dropdown-content h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#1f2937}.pwa-install-dropdown-content p{margin:0 0 16px;font-size:14px;color:#6b7280;line-height:1.5}.pwa-install-dropdown-content ul{margin:0 0 20px;padding-left:20px;list-style:none}.pwa-install-dropdown-content li{margin:0 0 8px;font-size:14px;color:#374151;line-height:1.6}.pwa-install-dropdown-content li:before{content:"✓ ";color:#10b981;font-weight:600}.pwa-install-dropdown-actions{display:flex;gap:12px;justify-content:flex-end}.pwa-install-button{padding:10px 24px;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.pwa-install-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666}.pwa-install-button:active{transform:translateY(0)}.pwa-dismiss-button{padding:10px 24px;background:transparent;color:#6b7280;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.pwa-dismiss-button:hover{background:#f3f4f6;color:#374151}.pwa-dismiss-button:active{background:#e5e7eb}@media(max-width:768px){.pwa-install-toast{top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%}.pwa-install-toast-content{max-width:calc(100vw - 20px);width:90%;padding:24px}.pwa-install-menu-item{top:60px;right:10px}.pwa-install-menu-button{padding:8px 16px;font-size:13px}.pwa-install-dropdown-content{min-width:calc(100vw - 20px);padding:16px}.pwa-install-dropdown-actions{flex-direction:column}.pwa-install-dropdown-actions button{width:100%}}:root{--base-font-size: 12px;--log-font-size: 12px;--date-font-size: 11px;--header-font-size: 13px;--user-text-size: 14px}*{box-sizing:border-box}body{font-size:var(--base-font-size);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif}.calendar-container{font-family:inherit}.layout-day .node{font-size:var(--base-font-size)!important}.layout-day .log-list{max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0 2px 0 0!important;min-height:0!important;height:100%!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:0!important;flex-wrap:nowrap!important;flex-grow:1!important;flex:1 1 100%!important;position:relative!important;flex-basis:0!important;margin-left:-2px!important}.layout-day .log-item{flex-grow:0!important;flex:0 0 auto!important;min-height:24px!important;max-height:24px!important;height:24px!important}.layout-day .node-date{flex-shrink:0!important;flex-grow:0!important;flex-basis:auto!important;margin:0!important;padding:0!important}.layout-day .log-list::-webkit-scrollbar{width:3px!important}.layout-day .log-list::-webkit-scrollbar-track{background:transparent!important}.layout-day .log-list::-webkit-scrollbar-thumb{background:#0003!important;border-radius:3px!important}.layout-day .log-list::-webkit-scrollbar-thumb:hover{background:#0000004d!important}.layout-day .node .log-item{font-size:var(--log-font-size)!important;line-height:1.4!important;height:24px!important;min-height:24px!important;max-height:24px!important;padding:4px 8px 4px 2px!important;background-color:transparent;color:#000;border-radius:0!important;margin:0!important;flex-grow:1!important;flex-basis:24px!important;flex:1 0 24px!important;align-items:center!important;display:flex!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;box-sizing:border-box!important;border-bottom:1px solid rgba(0,0,0,.05)!important;text-align:left!important;justify-content:flex-start!important}.layout-day .nodes-container .day-node .node-logs .log-item,.layout-day .nodes-container .day-node .log-list .log-item,.layout-day .node .log-list .log-item,.layout-day .node .node-logs .log-item,.layout-day .log-list .log-item,.nodes-container.layout-day .log-item,.layout-day .day-node .node-content .log-item,.layout-day .node-content .log-item{text-align:left!important;justify-content:flex-start!important;align-items:center!important;display:flex!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;box-sizing:border-box!important}.layout-day .node .node-date{font-size:var(--date-font-size)!important;font-weight:600!important}.layout-day .day-header span{font-size:10px!important;font-weight:500!important;height:15px!important;min-height:15px!important;max-height:15px!important;line-height:15px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)!important;flex:1!important;width:12.5%!important;transition:none!important;animation:none!important}.layout-day .day-header{display:grid!important;grid-template-columns:3ch repeat(7,minmax(40px,1fr))!important;grid-template-rows:auto!important;row-gap:1px!important;column-gap:1px!important;width:100%!important;height:auto!important;line-height:15px!important;align-items:center!important;justify-content:center!important;padding:0!important;background:transparent!important;font-size:10px!important;font-weight:500!important;color:#2d3748!important;position:sticky!important;top:0!important;z-index:5!important;box-shadow:none!important;box-sizing:border-box!important;margin:0!important;transition:none!important;animation:none!important}.layout-day .day-header:hover,.layout-day .day-header:hover>*,.nodes-container.layout-day .day-header:hover,.nodes-container.layout-day .day-header:hover>*,.layout-day .day-header>span:hover,.layout-day .day-header>.week-number-header:hover{background:linear-gradient(135deg,#f0f9ff,#e0f2fe)!important;transform:none!important;transition:none!important;animation:none!important;box-shadow:none!important;z-index:5!important;color:var(--color-blue)!important}.layout-day .day-node:hover,.layout-day .node:hover,.layout-day .node-node:hover,.layout-day .node-node-day:hover,.layout-day .day-node .node-date:hover,.layout-day .node .node-date:hover,.layout-day .node-node .node-date:hover,.layout-day .node-node-day .node-date:hover,.nodes-container.layout-day .day-node:hover{transform:none!important;box-shadow:none!important;border-color:var(--color-node-border)!important;background-color:#fff!important;z-index:10!important;animation:none!important;transition:none!important}.layout-day .day-node:hover:before,.layout-day .node:hover:before,.layout-day .node-node:hover:before,.layout-day .node-node-day:hover:before,.nodes-container.layout-day .day-node:hover:before{transform:none!important;box-shadow:none!important;border-color:var(--color-node-border)!important;background-color:#fff!important;z-index:10!important;animation:none!important;transition:none!important;content:none!important}.layout-day .node:after,.layout-day .day-node:after,.layout-day .node-node:after,.layout-day .node-node-day:after,.layout-day .node:hover:after,.layout-day .day-node:hover:after,.layout-day .node-node:hover:after,.layout-day .node-node-day:hover:after{content:attr(data-log-count)!important;transform:none!important;box-shadow:none!important;transition:none!important;animation:none!important}.nodes-container.layout-day:hover{background-color:#e2e8f0!important;transition:none!important;animation:none!important}.layout-day .node-week:hover,.layout-day .node-week:hover>*,.layout-day .node.node-week:hover,.layout-day .node.node-week:hover>*,.nodes-container.layout-day .node-week:hover,.nodes-container.layout-day .node-week:hover>*{background:linear-gradient(135deg,#f0fdf4,#dcfce7)!important;color:#475569!important;transform:none!important;transition:none!important;animation:none!important;box-shadow:none!important;z-index:5!important;border-right:2px solid #bbf7d0!important}.layout-day .day-header>span:first-child{justify-self:center!important;align-self:center!important;text-align:center!important;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}.layout-day .day-header>span:first-child,.layout-day .day-header>.week-number-header{grid-column:auto!important;grid-row:auto!important;width:3ch!important;text-align:center!important;font-weight:700!important;font-family:SimHei,黑体,sans-serif!important;background:linear-gradient(135deg,#f0fdf4,#dcfce7)!important;color:var(--color-blue)!important;border-right:none!important;height:18px!important;min-height:18px!important;max-height:18px!important;line-height:18px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;box-sizing:border-box!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:12px!important;letter-spacing:1px!important;text-transform:none!important;text-shadow:none!important;box-shadow:none!important;position:relative!important;left:0!important;right:0!important;top:0!important;flex:1!important;transform:translate(-6px)!important}.layout-day .day-header>span:not(:first-child){grid-column:auto!important;grid-row:auto!important}.layout-day .day-header>span:first-child:hover,.layout-day .day-header>.week-number-header:hover{background:linear-gradient(135deg,#f0fdf4,#dcfce7)!important;color:var(--color-blue)!important;transform:none!important;transition:none!important;animation:none!important;box-shadow:none!important;z-index:5!important}.layout-day .node-week{grid-column:1!important;width:3ch!important;background:linear-gradient(135deg,#f0fdf4,#dcfce7)!important;background-color:#f0fdf4!important;border-right:2px solid #bbf7d0!important;display:grid!important;place-items:center!important;margin:0!important;box-sizing:border-box!important;z-index:20!important;position:relative!important;min-height:80px!important;height:100%!important;border:none!important;border-radius:0!important;box-shadow:inset 0 1px #fffc!important;overflow:visible!important;font-size:10px!important;font-weight:700!important;font-family:Georgia,serif!important;color:#475569!important;text-shadow:0 1px 0 rgba(255,255,255,.8)!important;line-height:1!important;text-indent:0!important;background-image:none!important;flex-shrink:0!important;flex-grow:0!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;text-align:center!important;padding:0!important;transition:none!important;animation:none!important}.layout-day .node-week>div{display:grid!important;place-items:center!important;width:100%!important;height:100%!important;padding:0!important;margin:0!important;background:transparent!important;transition:none!important;animation:none!important}.layout-day .node-week *{background-color:transparent!important;padding:0!important;margin:0!important;text-indent:0!important;line-height:1!important;display:grid!important;place-items:center!important;transition:none!important;animation:none!important}.layout-day .node.node-week{border-radius:0!important;margin:0!important;padding:0!important;background:linear-gradient(135deg,#f1f5f9,#e2e8f0)!important;background-color:#f1f5f9!important;border:none!important;border-right:2px solid #cbd5e1!important;box-shadow:inset 0 1px #ffffffe6,0 1px 2px #0000000d!important;display:grid!important;place-items:center!important;align-items:center!important;justify-content:center!important;text-align:center!important;box-sizing:border-box!important;overflow:visible!important;position:relative!important;animation:none!important;transition:none!important;grid-column:1!important;width:3ch!important;min-height:80px!important;height:100%!important;font-size:10px!important;font-weight:600!important;font-family:Georgia,serif!important;color:#2d3748!important;text-shadow:0 1px 0 rgba(255,255,255,.6)!important}.layout-day .node.node-week:hover,.layout-day .node-week:hover,.layout-day .node-week:hover>*,.layout-day .node.node-week.middle-node:hover,.layout-day .nodes-container.layout-day .node.node-week:hover,.layout-day .nodes-container.layout-day .node.node-week.middle-node:hover,.nodes-container.layout-day>.node.node-week:hover,.nodes-container.layout-day>.node.node-week.middle-node:hover,.layout-day>.node.node-week:hover,.layout-day>.node.node-week.middle-node:hover,.layout-day .node.node-week:hover:before,.layout-day .node-week:hover:before,.layout-day .node.node-week:hover:after,.layout-day .node-week:hover:after,.layout-day .node.node-week:hover *,.layout-day .node-week:hover *{background:linear-gradient(135deg,#f0fdf4,#dcfce7)!important;background-color:#f0fdf4!important;background-image:none!important;transform:none!important;transition:none!important;animation:none!important;box-shadow:inset 0 1px #fffc!important;border-right:2px solid #bbf7d0!important;border-color:transparent!important;z-index:20!important;position:relative!important;border-radius:0!important;padding:0!important;margin:0!important;color:#2d3748!important;opacity:1!important;filter:none!important;text-decoration:none!important;outline:none!important;box-sizing:border-box!important;overflow:visible!important;width:100%!important;height:100%!important;display:grid!important;place-items:center!important}.layout-day .node.node-week:before,.layout-day .node.node-week:after{display:none!important;content:none!important}.layout-day .node.node-week span{background:transparent!important;padding:0!important;margin:0!important;display:grid!important;place-items:center!important;width:100%!important;height:100%!important}.layout-day .node-week .node-content{display:grid!important;place-items:center!important;width:100%!important;height:100%!important;padding:0!important;margin:0!important;background-color:transparent!important}.layout-day .node-week .node-date{font-size:6px!important;color:#4a5568!important;font-weight:400!important;font-family:Brush Script MT,Comic Sans MS,Segoe Print,Lucida Handwriting,cursive,serif!important;text-align:center!important;background-color:transparent!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;padding:0!important;margin:0!important;line-height:1!important;text-indent:0!important;background-image:none!important}.layout-day .node-week.header-week{grid-column:1!important;width:3ch!important;background-color:#f7fafc!important;border-right:1px solid #e2e8f0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:4px 0!important;margin:0!important;font-size:11px!important;font-weight:700!important;color:#2d3748!important;min-height:auto!important;border:none!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}.layout-day .node-week .node-content{display:grid!important;place-items:center!important;width:100%!important;height:100%!important;background-color:transparent!important;padding:0!important;margin:0!important}.layout-day .node-week .node-date{font-size:14px!important;color:#4a5568!important;font-weight:600!important;text-align:center!important;background-color:transparent!important;display:grid!important;place-items:center!important;width:100%!important;height:100%!important;padding:0!important;margin:0!important;line-height:1!important;box-sizing:border-box!important;z-index:20!important;position:relative!important}.view-btn,.view-title,.nav-btn,.search-panel{font-size:var(--header-font-size)!important}.user-menu-btn{font-size:var(--user-text-size)!important}.layout-day *{font-size:inherit!important}.calendar-container{position:fixed!important;inset:0!important;width:100%!important;height:100vh!important;overflow-x:hidden!important;overflow-y:hidden!important;background-color:#fafafa!important;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif!important;display:flex!important;flex-direction:column!important;z-index:1!important;box-sizing:border-box!important;margin:0!important;padding:0!important}.calendar-header{position:fixed;top:0;left:0;right:0;z-index:100;background:linear-gradient(135deg,#fff,#f0f4f8,#e6f0f5);color:#4a5568;padding:4px 16px;box-shadow:0 1px 2px #00000014;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;height:36px;line-height:36px;border-bottom:1px solid rgba(187,204,214,.25);transition:all .2s ease;flex-wrap:nowrap}.header-left,.header-right{display:flex;align-items:center;gap:8px;width:auto;flex-shrink:0}.calendar-header h1{font-size:var(--user-text-size);font-weight:600;margin:0;color:#1d1d1f;display:flex}.view-switcher{display:flex;background:#fffc;border-radius:8px;padding:2px;box-shadow:0 1px 3px #00000014;border:1px solid rgba(148,163,184,.2);flex-shrink:0;transition:all .2s ease;min-width:auto;max-width:100%;justify-content:flex-start;gap:2px;align-items:center;flex-wrap:nowrap}.view-btn{position:relative;padding:4px 8px;border:none;background:transparent;color:#64748b;font-size:var(--header-font-size);font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s ease;overflow:hidden;z-index:1;letter-spacing:0;min-width:30px;width:auto;text-align:center;flex-shrink:0;height:26px;display:flex;align-items:center;justify-content:center;flex:0}.view-btn.active{background:#94a3b8!important;color:#fff!important;box-shadow:0 2px 4px #94a3b84d!important;font-weight:600!important;transform:translateY(0)!important;outline:none!important;position:relative;z-index:2;border-radius:6px!important}.view-btn:focus{outline:none!important;box-shadow:none!important;background:transparent!important;color:#64748b!important}.view-btn:active{background:transparent!important;color:#64748b!important;opacity:.8;transform:none}.view-btn.active:focus,.view-btn.active:active,.view-btn.active:hover,.view-btn.active:focus-visible{background:linear-gradient(135deg,#94a3b8,#64748b)!important;color:#fff!important;box-shadow:0 2px 6px #94a3b84d!important;opacity:.9;transform:none!important;outline:none!important}.view-btn:hover{color:#475569;transform:none}.view-btn:focus-visible{box-shadow:0 0 0 3px #94a3b833}.view-title{color:#5a6f7c;font-weight:600;font-size:var(--header-font-size);padding:6px 10px;background:linear-gradient(135deg,#f0f8f9,#e6f3f5,#d9eef1);border:1px solid rgba(187,222,228,.4);border-radius:10px;box-shadow:0 1px 2px #bbdee44d;display:flex;align-items:center;margin:0;transition:all .3s ease;width:30%;max-width:80px;min-width:80px;text-align:center;justify-content:center;letter-spacing:-.5px;white-space:nowrap;flex-shrink:0;height:28px}.view-title:hover{color:#4a5f6c;background:linear-gradient(135deg,#e6f3f5,#cfe8ec);box-shadow:0 2px 4px #bbdee466;transform:translateY(-1px)}.user-info{display:flex;align-items:center;gap:12px;font-size:13px}.username{color:#4a5568;font-weight:500}.user-info button{padding:6px 12px!important;font-size:13px!important;background-color:#bbccd633!important;color:#4a5568!important;border:1px solid rgba(187,204,214,.3)!important;border-radius:4px!important;cursor:pointer!important;transition:all .2s ease!important}.user-info button:hover{background-color:#bbccd64d!important;transform:none!important}.control-container{display:flex;align-items:center;gap:16px;margin:0;flex-wrap:nowrap}.scale-control{display:flex;align-items:center;gap:8px;margin:0}.scale-control label{font-size:13px!important;color:#4a5568e6!important;font-weight:400!important}.scale-control input[type=range]{width:120px;-webkit-appearance:none;appearance:none;height:4px;background:#bbccd666;border-radius:2px;outline:none;transition:all .2s ease}.scale-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:#fff;border:2px solid #a0bcc2;border-radius:50%;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #bbccd64d}.scale-control input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 2px 6px #bbccd666}.scale-value{font-weight:600;min-width:40px;color:#4a5568;font-size:13px}.control-container button{padding:8px 16px!important;font-size:13px!important;background-color:#bbccd633!important;color:#4a5568!important;border:1px solid rgba(187,204,214,.3)!important;border-radius:4px!important;cursor:pointer!important;transition:all .2s ease!important;font-weight:500!important;box-shadow:none!important}.control-container button:hover{background-color:#bbccd64d!important;transform:none!important}.calendar-header p{display:none}.scroll-container{position:relative!important;width:100%!important;margin-top:0!important;padding-top:34px!important;overflow-y:hidden!important;overflow-x:hidden!important;cursor:default!important;scroll-behavior:smooth!important;-ms-overflow-style:none!important;scrollbar-width:none!important;pointer-events:auto!important;z-index:2!important;touch-action:auto!important;-webkit-user-select:none!important;user-select:none!important;display:flex!important;flex-direction:column!important;box-shadow:none!important;height:100%!important;min-height:100%!important;max-height:100%!important;box-sizing:border-box!important;flex:1!important;background:transparent!important}button:focus,input[type=range]:focus{outline:none}button:focus-visible,input[type=range]:focus-visible{outline:3px solid rgba(102,126,234,.5);outline-offset:2px;border-radius:4px}.node:focus{outline:none}.node:focus-visible{outline:3px solid rgba(102,126,234,.5);outline-offset:4px;border-radius:50%}.calendar-container{position:fixed;inset:0;width:100%;height:100vh;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}.scroll-container{width:100%!important;margin:0!important;padding-top:38px!important;overflow:hidden!important;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;height:100%!important;flex:1!important;display:flex!important;flex-direction:column!important;background:transparent!important;max-width:none!important;position:relative;box-sizing:border-box!important}.nodes-container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;box-sizing:border-box!important;display:flex!important;background:transparent!important;min-width:100%!important;height:100%!important;overflow:hidden!important;position:relative!important;flex:1!important;align-items:stretch!important;justify-content:stretch!important}.month-nav{display:flex;align-items:center;gap:6px;margin-left:8px;flex-shrink:0;background:#fffffff2;padding:2px 6px;border-radius:14px;box-shadow:0 1px 3px #bbccd640;border:1px solid rgba(187,204,214,.35)}.nav-btn{padding:4px 10px;border:1px solid rgba(187,204,214,.3);background:linear-gradient(135deg,#fff,#f5f8fa,#f0f4f7);color:#6b7280;border-radius:10px;cursor:pointer;font-size:var(--header-font-size);font-weight:500;transition:all .3s ease;z-index:1;min-width:32px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 2px #bbccd633}.nav-btn:hover{background:linear-gradient(135deg,#f5f8fa,#e9eff2);color:#4a5568;transform:translateY(-1px);box-shadow:0 2px 4px #bbccd659;border-color:#bbccd673}.nav-btn:active{transform:translateY(0);box-shadow:0 1px 3px #bbccd666}.nav-btn.prev,.nav-btn.next{font-size:14px;padding:4px 8px;min-width:32px;height:28px;background:linear-gradient(135deg,#f0f4f7,#e5eaee);color:#6b7280;border-color:#bbccd64d;box-shadow:0 1px 2px #bbccd640}.nav-btn.prev:hover,.nav-btn.next:hover{background:linear-gradient(135deg,#e5eaee,#d1dce0);color:#4a5568;transform:translateY(-1px);box-shadow:0 2px 4px #bbccd659;border-color:#bbccd673}.nav-btn.today{background:linear-gradient(135deg,#a0bcc2,#7fa7b0);color:#fff;box-shadow:0 1px 3px #a0bcc24d;font-weight:600;border-color:#a0bcc259;min-width:70px;height:28px}.nav-btn.today:hover{background:linear-gradient(135deg,#7fa7b0,#a0bcc2);color:#fff;box-shadow:0 2px 4px #a0bcc266;transform:translateY(-1px)}.action-btn{padding:4px 8px;border:1px solid rgba(187,204,214,.3);background:linear-gradient(135deg,#fafbfc,#f0f4f8,#e6eaee);color:#6b7280;border-radius:8px;cursor:pointer;font-size:var(--header-font-size);font-weight:500;transition:all .2s ease;z-index:1;min-width:28px;height:26px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 2px #bbccd633}.fullscreen-btn{position:relative;width:18px;height:18px;display:flex;align-items:center;justify-content:center}.fullscreen-btn.enter-fullscreen{position:relative}.fullscreen-btn.enter-fullscreen:before{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border:1.5px solid #6b7280;border-radius:2px;background:linear-gradient(135deg,#ffffff1a,#0000000d);box-shadow:0 1px 2px #0000000d;transition:all .3s ease}.fullscreen-btn.enter-fullscreen:after{content:"";position:absolute;bottom:2px;right:2px;width:0;height:0;border-style:solid;border-width:0 4px 4px 0;border-color:transparent rgba(107,114,128,.8) rgba(74,85,104,1) transparent;border-radius:0 0 1px;transition:all .3s ease;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1))}.fullscreen-btn.exit-fullscreen{position:relative}.fullscreen-btn.exit-fullscreen:before{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;border:1.5px solid #6b7280;border-radius:2px;background:linear-gradient(135deg,#ffffff1a,#0000000d);box-shadow:0 1px 2px #0000000d;transition:all .3s ease}.fullscreen-btn.exit-fullscreen:after{content:"";position:absolute;top:2px;left:2px;width:0;height:0;border-style:solid;border-width:4px 0 0 4px;border-color:transparent transparent transparent rgba(74,85,104,1);border-left-color:#4a5568;border-radius:0 0 0 1px;transition:all .3s ease;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1))}.fullscreen-btn .arrow-1,.fullscreen-btn .arrow-2{display:none}.action-btn:hover .fullscreen-btn:before{border-color:#5a67d8;background:linear-gradient(135deg,#ffffff26,#00000014);box-shadow:0 2px 4px #5a67d826;transform:scale(1.05);transition:all .3s ease}.action-btn:hover .fullscreen-btn.enter-fullscreen:after{border-color:transparent rgba(90,103,216,.9) rgba(79,70,229,1) transparent;transform:scale(1.1);filter:drop-shadow(0 1px 2px rgba(90,103,216,.2));transition:all .3s ease}.action-btn:hover .fullscreen-btn.exit-fullscreen:after{border-color:transparent transparent transparent rgba(79,70,229,1);transform:scale(1.1);filter:drop-shadow(0 1px 2px rgba(90,103,216,.2));transition:all .3s ease}.action-btn:active .fullscreen-btn:before{border-color:#4c51bf;background:linear-gradient(135deg,#ffffff1a,#0000001a);box-shadow:0 1px 2px #4c51bf33;transform:scale(.95);transition:all .1s ease}.action-btn:active .fullscreen-btn.enter-fullscreen:after{border-color:transparent rgba(76,81,191,.9) rgba(67,56,202,1) transparent;transform:scale(.9);filter:drop-shadow(0 1px 1px rgba(0,0,0,.15));transition:all .1s ease}.action-btn:active .fullscreen-btn.exit-fullscreen:after{border-color:transparent transparent transparent rgba(67,56,202,1);transform:scale(.9);filter:drop-shadow(0 1px 1px rgba(0,0,0,.15));transition:all .1s ease}html.simulated-fullscreen,body.simulated-fullscreen{width:100%!important;height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;position:fixed!important;inset:0!important;background-color:#fff!important;z-index:2147483647!important;scrollbar-width:none!important;-ms-overflow-style:none!important}html.simulated-fullscreen .calendar-container,body.simulated-fullscreen .calendar-container{width:100%!important;height:100%!important;position:fixed!important;inset:0!important;margin:0!important;padding:0!important;background-color:#fff!important;z-index:999999!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}html.simulated-fullscreen .calendar-container>*,body.simulated-fullscreen .calendar-container>*{margin:0!important;padding:0!important;box-sizing:border-box!important}html.simulated-fullscreen .scroll-container,body.simulated-fullscreen .scroll-container{width:100%!important;height:calc(100% - 36px)!important;padding-top:36px!important;margin:0!important;flex:1!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;position:relative!important}html.simulated-fullscreen .nodes-container,body.simulated-fullscreen .nodes-container{width:100%!important;height:100%!important;flex:1!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}html.simulated-fullscreen .nodes-container.layout-day,body.simulated-fullscreen .nodes-container.layout-day{display:grid!important;grid-template-rows:auto repeat(var(--rows),1fr)!important;overflow:hidden!important;align-content:start!important;align-items:stretch!important;height:100%!important}html.simulated-fullscreen,body.simulated-fullscreen{-webkit-touch-callout:none!important;-webkit-user-select:none!important;-webkit-tap-highlight-color:transparent!important;touch-action:manipulation!important;-webkit-appearance:none!important;scrollbar-width:none!important;-ms-overflow-style:none!important}html.simulated-fullscreen::-webkit-scrollbar,body.simulated-fullscreen::-webkit-scrollbar{display:none!important}html.simulated-fullscreen .calendar-container,body.simulated-fullscreen .calendar-container{width:100%!important;height:100%!important;position:fixed!important;inset:0!important;margin:0!important;padding:0!important;background-color:#fff!important;z-index:999999!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;height:100vh!important;height:100dvh!important}html.simulated-fullscreen .nodes-container.layout-month,body.simulated-fullscreen .nodes-container.layout-month,html.simulated-fullscreen .nodes-container.layout-year,body.simulated-fullscreen .nodes-container.layout-year,:fullscreen .nodes-container.layout-month,:-webkit-full-screen .nodes-container.layout-month,:-moz-full-screen .nodes-container.layout-month,:-ms-fullscreen .nodes-container.layout-month,:fullscreen .nodes-container.layout-year,:-webkit-full-screen .nodes-container.layout-year,:-moz-full-screen .nodes-container.layout-year,:-ms-fullscreen .nodes-container.layout-year{display:flex!important;justify-content:center!important;align-items:center!important;overflow:hidden!important}:fullscreen,:-webkit-full-screen,:-moz-full-screen,:-ms-fullscreen{background-color:#fff!important}:fullscreen .calendar-container,:-webkit-full-screen .calendar-container,:-moz-full-screen .calendar-container,:-ms-fullscreen .calendar-container{width:100%!important;height:100%!important;background-color:#fff!important;overflow:hidden!important}:fullscreen .scroll-container,:-webkit-full-screen .scroll-container,:-moz-full-screen .scroll-container,:-ms-fullscreen .scroll-container{width:100%!important;height:calc(100% - 36px)!important;padding-top:36px!important;margin:0!important;flex:1!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;position:relative!important}:fullscreen .nodes-container,:-webkit-full-screen .nodes-container,:-moz-full-screen .nodes-container,:-ms-fullscreen .nodes-container{width:100%!important;height:100%!important;flex:1!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}:fullscreen .nodes-container.layout-day,:-webkit-full-screen .nodes-container.layout-day,:-moz-full-screen .nodes-container.layout-day,:-ms-fullscreen .nodes-container.layout-day{display:grid!important;grid-template-rows:auto repeat(var(--rows),1fr)!important;overflow:hidden!important;align-content:start!important;align-items:stretch!important;height:100%!important}@media only screen and (max-device-width:1024px){::-webkit-full-page-media,html:-webkit-full-screen,html:-webkit-full-screen body{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;overflow:hidden!important}:-webkit-full-screen::-webkit-backdrop{background-color:#fff!important}html:-webkit-full-screen,html:-webkit-full-screen body{padding:0!important;margin:0!important}}:fullscreen::-webkit-backdrop,:-webkit-full-screen::-webkit-backdrop,:-moz-full-screen::-webkit-backdrop,:-ms-fullscreen::-webkit-backdrop{background-color:#fff!important;display:none!important}:-webkit-full-screen-ancestor{display:none!important}.edge-fullscreen,.edge-fullscreen body{background-color:#fff!important;overflow:hidden!important}@media screen and (-webkit-min-device-pixel-ratio:0){:-webkit-full-screen ::-webkit-backdrop{background-color:#fff!important;display:none!important}}@-moz-document url-prefix(){:-moz-full-screen{background-color:#fff!important}:-moz-full-screen::-moz-backdrop{background-color:#fff!important;display:none!important}}@media all and (-ms-high-contrast:none),(-ms-high-contrast:active){:-ms-fullscreen{background-color:#fff!important}}:fullscreen,:-webkit-full-screen,:-moz-full-screen,:-ms-fullscreen{background-color:#fff!important;z-index:999999!important}:fullscreen .calendar-container,:-webkit-full-screen .calendar-container,:-moz-full-screen .calendar-container,:-ms-fullscreen .calendar-container{width:100%!important;height:100%!important;background-color:#fff!important;z-index:999999!important;position:fixed!important;inset:0!important;margin:0!important;padding:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}@media only screen and (max-device-width:1024px){html.simulated-fullscreen,body.simulated-fullscreen{-webkit-touch-callout:none!important;-webkit-user-select:none!important;-webkit-tap-highlight-color:transparent!important;touch-action:manipulation!important;-webkit-appearance:none!important}html.simulated-fullscreen .calendar-container,body.simulated-fullscreen .calendar-container{width:100vw!important;height:100vh!important;max-width:100vw!important;max-height:100vh!important}}.mobile-simulated-keyboard{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:1000;opacity:.7;transition:opacity .3s ease;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;-webkit-tap-highlight-color:transparent;outline:none;draggable:false;-webkit-user-drag:none;user-drag:none;-webkit-clip-path:none;clip-path:none;pointer-events:auto;-webkit-appearance:none;appearance:none;-webkit-user-modify:read-only;-webkit-text-size-adjust:none;text-size-adjust:none}.mobile-simulated-keyboard *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;-webkit-tap-highlight-color:transparent;outline:none;draggable:false;-webkit-user-drag:none;user-drag:none;-webkit-clip-path:none;clip-path:none;pointer-events:auto;-webkit-appearance:none;appearance:none;-webkit-user-modify:read-only;-webkit-text-size-adjust:none;text-size-adjust:none}.keyboard-btn{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;draggable:false;-webkit-user-drag:none;user-drag:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-appearance:none;appearance:none;-webkit-user-modify:read-only;outline:none}.mobile-simulated-keyboard:hover{opacity:.9}.keyboard-row{display:flex;gap:10px;justify-content:center;align-items:center}.keyboard-btn{width:50px;height:50px;border-radius:50%;background:#fffc;border:2px solid rgba(100,116,139,.5);color:#475569;font-size:20px;font-weight:600;cursor:pointer;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .2s ease;box-shadow:0 4px 6px #0000001a}.keyboard-btn:hover{background:#ffffffe6;border-color:#64748bcc;box-shadow:0 6px 8px #00000026;transform:translateY(-2px)}.keyboard-btn:active{background:#f1f5f9e6;transform:translateY(0);box-shadow:0 2px 4px #0000001a}.keyboard-btn.center-btn{background:#94a3b8cc;color:#fff;border-color:#64748bcc;font-size:24px}.keyboard-btn.center-btn:hover{background:#94a3b8e6;border-color:#475568e6}.keyboard-btn.up-btn,.keyboard-btn.down-btn,.keyboard-btn.left-btn,.keyboard-btn.right-btn{font-size:22px}.keyboard-btn.space-btn{width:120px;border-radius:25px}.keyboard-spacer{width:50px}html.simulated-fullscreen .mobile-simulated-keyboard,body.simulated-fullscreen .mobile-simulated-keyboard,:fullscreen .mobile-simulated-keyboard,:-webkit-full-screen .mobile-simulated-keyboard,:-moz-full-screen .mobile-simulated-keyboard,:-ms-fullscreen .mobile-simulated-keyboard{z-index:999999!important;position:fixed!important;bottom:20px!important;right:20px!important}@media only screen and (max-device-width:768px){.keyboard-btn{width:40px;height:40px;font-size:18px}.keyboard-spacer{width:40px}.mobile-simulated-keyboard{bottom:15px;right:15px;gap:8px}.keyboard-row{gap:8px}}.mobile-simulated-keyboard.dragging{opacity:.95;cursor:grabbing;transition:none!important;box-shadow:0 8px 16px #0003}.mobile-simulated-keyboard.dragging .keyboard-btn.center-btn{background:#64748be6;border-color:#475568e6;transform:scale(1.1);box-shadow:0 6px 12px #00000040}.mobile-simulated-keyboard.dragging .keyboard-btn:not(.center-btn){opacity:.7;pointer-events:none;cursor:grabbing}.mobile-simulated-keyboard.dragging .keyboard-btn{pointer-events:none;cursor:grabbing}.mobile-simulated-keyboard.dragging{will-change:transform;backface-visibility:hidden;transform:translateZ(0)}.search-btn{margin-right:0;background:linear-gradient(135deg,#d1fae5,#a7f3d0,#86efac);color:#166534;border:1px solid rgba(167,243,208,.4);padding:4px;font-size:14px;min-width:28px;height:26px;border-radius:8px;box-shadow:0 1px 2px #a7f3d04d;transition:all .2s ease}.search-btn:hover{background:linear-gradient(135deg,#a7f3d0,#6ee7b7);box-shadow:0 2px 4px #a7f3d066;transform:translateY(-1px)}.refresh-btn{margin-right:0;background:linear-gradient(135deg,#e0e7ff,#c7d2fe,#818cf8);color:#312e81;border:1px solid rgba(129,140,248,.4);padding:4px;font-size:14px;min-width:28px;height:26px;border-radius:8px}.layout-day .day-header .week-number-header{height:20px!important;min-height:20px!important;max-height:20px!important;line-height:20px!important;align-items:center!important;display:flex!important;justify-content:center!important;flex:none!important;width:3ch!important;vertical-align:middle!important;position:relative!important;top:0!important;left:0!important}.refresh-btn:hover{background:linear-gradient(135deg,#c7d2fe,#6366f1);box-shadow:0 2px 4px #818cf866;transform:translateY(-1px);transition:all .2s ease}.refresh-btn:active{animation:rotate .5s ease-in-out}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tooltip-container{position:relative;display:inline-block}.tooltip-text{position:absolute;top:100%;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#a5b4fc,#818cf8,#6366f1);color:#fff;padding:4px 12px;border-radius:10px;font-size:12px;font-weight:500;white-space:nowrap;z-index:9999;opacity:0;transition:opacity .3s ease,transform .3s ease,box-shadow .3s ease;box-shadow:0 3px 12px #6366f133;border:1px solid rgba(255,255,255,.5);text-shadow:0 1px 1px rgba(0,0,0,.1);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);line-height:1.1;min-height:auto;height:auto}.tooltip-container:hover .tooltip-text{opacity:1;transform:translate(-50%) translateY(6px);box-shadow:0 4px 16px #6366f140}.tooltip-text:before{content:"";position:absolute;bottom:100%;left:50%;margin-left:-5px;border-width:6px;border-style:solid;border-color:transparent transparent #818cf8 transparent;filter:drop-shadow(0 -1px 2px rgba(99,102,241,.15))}.shortcuts-panel-overlay{position:fixed;inset:0;background:#4a556826;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.shortcuts-panel{background:linear-gradient(135deg,#fff,#f7fafc,#edf2f7);border-radius:20px;box-shadow:0 20px 60px #4a556826;max-width:400px;width:90%;max-height:80vh;overflow-y:auto;animation:slideUp .3s ease-out;border:1px solid rgba(148,163,184,.2)}.shortcuts-panel-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(148,163,184,.2);background:linear-gradient(135deg,#fff,#f7fafc,#edf2f7);border-top-left-radius:20px;border-top-right-radius:20px;position:relative;overflow:hidden}.shortcuts-panel-header:before{content:"";position:absolute;top:-50%;right:-20%;width:100px;height:100px;background:#ffffff4d;border-radius:50%;filter:blur(20px)}.shortcuts-panel-header h2{margin:0;font-size:20px;font-weight:700;color:#4a5568;font-family:"Noto Serif SC","Source Han Serif",Microsoft YaHei,serif;position:relative;z-index:1;letter-spacing:2px}.shortcuts-panel-close{background:#fffc;border:1px solid rgba(148,163,184,.3);font-size:20px;color:#4a5568;cursor:pointer;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative;z-index:1;box-shadow:0 2px 8px #94a3b833}.shortcuts-panel-close:hover{background:#fff;color:#2d3748;transform:scale(1.1);box-shadow:0 4px 12px #94a3b84d}.shortcuts-panel-content{padding:16px}.shortcuts-category{margin-bottom:16px}.shortcuts-category h3{margin:0 0 8px;font-size:13px;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:1px;border-bottom:2px solid rgba(148,163,184,.3);padding-bottom:4px;font-family:"Noto Serif SC","Source Han Serif",Microsoft YaHei,serif}.shortcuts-list{display:grid;grid-template-columns:1fr;gap:8px}.shortcut-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:#ffffffe6;border-radius:8px;border:1px solid rgba(148,163,184,.15);transition:all .3s ease;font-size:12px;box-shadow:0 1px 4px #94a3b81a;font-family:"Noto Serif SC","Source Han Serif",Microsoft YaHei,serif;min-height:32px}.shortcut-item:hover{background:#fff;border-color:#94a3b866;transform:translateY(-2px);box-shadow:0 6px 16px #94a3b826}.shortcut-keys{background:linear-gradient(135deg,#e2e8f0,#cbd5e0);color:#4a5568;padding:4px 10px;border:1px solid rgba(148,163,184,.3);border-radius:8px;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:12px;font-weight:600;box-shadow:0 2px 8px #94a3b833}.shortcut-desc{color:#4a5568;font-size:12px;font-weight:500;font-family:"Noto Serif SC","Source Han Serif",Microsoft YaHei,serif;letter-spacing:.3px;line-height:1.3}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.shortcuts-panel{width:95%;max-height:95vh}.shortcuts-panel-header{padding:12px 16px}.shortcuts-panel-content{padding:16px}.shortcuts-category{margin-bottom:16px}.shortcut-item{padding:8px 10px}.shortcut-keys{padding:2px 8px;font-size:12px}.shortcut-desc{font-size:12px}}.tag-btn{margin-right:0;background:linear-gradient(135deg,#dbeafe,#bfdbfe,#93c5fd);color:#1e40af;border:1px solid rgba(191,219,254,.4);padding:4px;font-size:14px;min-width:28px;height:26px;border-radius:8px;box-shadow:0 1px 2px #bfdbfe4d;transition:all .2s ease}.tag-btn:hover{background:linear-gradient(135deg,#bfdbfe,#60a5fa);box-shadow:0 2px 4px #bfdbfe66;transform:translateY(-1px)}.tag-btn-container{position:relative;display:inline-block}.tag-selector-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 15px 45px #0000001f;z-index:1000;min-width:160px;max-width:160px;max-height:400px;overflow:hidden;border:1px solid #e2e8f0}.tag-selector-content button{min-width:auto!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important}.tag-selector-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #f0f0f0;background:#fff}.tag-selector-header h3{margin:0;font-size:14px;font-weight:600;color:#1a202c;letter-spacing:-.5px}.close-btn{background:#f7fafc;border:none;font-size:14px;cursor:pointer;color:#718096;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;flex-shrink:0}.close-btn:hover{background:#edf2f7;color:#4a5568;transform:scale(1.1)}.tag-selector-content{padding:10px 12px;max-height:320px;overflow-y:hidden;display:flex;flex-direction:column;gap:6px}.tag-selector-content::-webkit-scrollbar{width:6px}.tag-selector-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.tag-selector-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.tag-selector-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tag-selector-footer{display:flex;justify-content:center;padding:8px 12px;border-top:1px solid #f0f0f0;background:#fff}.tag-btn-ok{padding:6px 16px;background:#667eea;color:#fff;border:2px solid #667eea;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;transition:all .25s ease;box-shadow:0 2px 8px #667eea4d;width:100%;outline:none;height:32px;display:flex;justify-content:center;align-items:center}.tag-btn-ok:hover{background:#5a67d8;border-color:#5a67d8;transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.tag-btn-ok:active{transform:translateY(0);box-shadow:0 2px 8px #667eea4d}.search-btn:hover{background:#5a67d8;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.search-btn:active{transform:translateY(0)}.logout-btn{margin-left:16px;background:#bbccd626;color:#4a5568;border:1px solid rgba(187,204,214,.3)}.logout-btn:hover{background:#bbccd640;transform:translateY(-1px);box-shadow:0 2px 4px #bbccd64d}.logout-btn:active{transform:translateY(0)}.user-menu-container{position:relative;display:inline-block;flex-shrink:0}.user-menu-btn{background:transparent;border:none;color:#4a5568;font-size:var(--user-text-size);font-weight:600;cursor:pointer;padding:6px 12px;border-radius:6px;transition:all .2s ease;display:flex;align-items:center;gap:6px;min-height:36px;height:36px;flex-shrink:0}.user-menu-btn:hover{background:#bbccd633;transform:translateY(0)}.user-menu-btn.avatar-btn{padding:3px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#bbccd626}.user-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;border:1px solid rgba(187,204,214,.3);transition:all .2s ease}.user-menu-btn.avatar-btn:hover{background:#bbccd640;transform:scale(1.02)}.user-menu-btn.avatar-btn:hover .user-avatar{border-color:#bbccd666;transform:scale(1.05)}.user-dropdown-menu{position:absolute;top:100%;left:0;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;z-index:1000;min-width:150px;overflow:hidden;margin-top:4px;padding:4px 0}.dropdown-item{width:100%;padding:8px 16px;border:none;background:transparent;color:#333;font-size:12px;font-weight:500;cursor:pointer;text-align:left;transition:all .2s ease;height:36px;line-height:20px;display:flex;align-items:center}.dropdown-item:hover{background:#f0f4f8;color:#667eea}.logout-item{color:#e63946;height:36px;padding:6px 16px 8px;line-height:20px;display:flex;align-items:center;border-top:1px solid #e5e5e5;margin-top:6px}.logout-item:hover{background:#fff0f0;color:#c1121f}.nodes-container.layout-day{display:grid!important;grid-template-columns:3ch repeat(7,minmax(40px,1fr))!important;grid-template-rows:auto repeat(var(--rows),1fr)!important;grid-auto-flow:row!important;gap:1px 1px!important;background:linear-gradient(135deg,#e2e8f0,#cbd5e1)!important;border-radius:8px!important;padding:0!important;box-shadow:0 4px 12px #0000000d!important;justify-items:stretch!important;align-items:stretch!important;align-content:start!important;width:100%!important;box-sizing:border-box!important;margin:0!important;overflow-x:auto!important;overflow-y:hidden!important;height:100%!important;min-height:100%!important;position:relative!important}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-10deg) scale(.9)}to{opacity:1;transform:rotate(0) scale(1)}}.node{transition:all .3s ease}.layout-day .node{grid-row:auto;width:100%!important;height:100%!important;min-height:100%!important;max-height:100%!important;border-radius:8px;margin:0;padding:28px 8px 8px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:stretch!important;text-align:left;box-sizing:border-box;overflow:visible;position:relative;animation:fadeInScale .4s ease-out forwards}.layout-day .node-content{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;flex-grow:1!important;width:100%!important;height:100%!important;flex:1 1 100%!important;min-height:0!important;margin:0!important;padding:0!important;position:relative!important;overflow:hidden!important;inset:0!important}.layout-day .log-list{max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;padding:0 2px 0 0!important;min-height:0!important;height:100%!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:0!important;flex-wrap:nowrap!important;flex-grow:1!important;flex:1 1 100%!important;position:relative!important;flex-basis:0!important}.layout-day .node.fade-in{animation:fadeInScale .4s ease-out forwards}.layout-month .node{animation:rotateIn .5s ease-out forwards}@keyframes yearNodeRotateIn{0%{opacity:0;transform:translate(-50%,-50%) rotate(-10deg) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) rotate(var(--initial-rotation, 0deg)) scale(1)}}.nodes-container{transition:all .3s ease-in-out;opacity:1}.nodes-container.layout-day,.nodes-container.layout-month,.nodes-container.layout-year{animation:none}.nodes-container.month-transition-left,.nodes-container.day-transition-left,.nodes-container.year-transition-left{animation:slideInLeft .3s ease-in-out forwards}.nodes-container.month-transition-right,.nodes-container.day-transition-right,.nodes-container.year-transition-right{animation:slideInRight .3s ease-in-out forwards}.nodes-container{will-change:transform,opacity;transform-origin:center}.layout-day .node{animation:fadeInScale .3s ease-out forwards;animation-delay:calc(var(--node-index, 0) * .01s)}.layout-day .node:nth-child(1){--node-index: 1}.layout-day .node:nth-child(2){--node-index: 2}.layout-day .node:nth-child(3){--node-index: 3}.layout-day .node:nth-child(4){--node-index: 4}.layout-day .node:nth-child(5){--node-index: 5}.layout-day .node:nth-child(6){--node-index: 6}.layout-day .node:nth-child(7){--node-index: 7}.layout-day .node:nth-child(8){--node-index: 8}.layout-day .node:nth-child(9){--node-index: 9}.layout-day .node:nth-child(10){--node-index: 10}.layout-day .node:nth-child(11){--node-index: 11}.layout-day .node:nth-child(12){--node-index: 12}.layout-day .node:nth-child(13){--node-index: 13}.layout-day .node:nth-child(14){--node-index: 14}.layout-day .node:nth-child(15){--node-index: 15}.layout-day .node:nth-child(16){--node-index: 16}.layout-day .node:nth-child(17){--node-index: 17}.layout-day .node:nth-child(18){--node-index: 18}.layout-day .node:nth-child(19){--node-index: 19}.layout-day .node:nth-child(20){--node-index: 20}.layout-day .node:nth-child(21){--node-index: 21}.layout-day .node:nth-child(22){--node-index: 22}.layout-day .node:nth-child(23){--node-index: 23}.layout-day .node:nth-child(24){--node-index: 24}.layout-day .node:nth-child(25){--node-index: 25}.layout-day .node:nth-child(26){--node-index: 26}.layout-day .node:nth-child(27){--node-index: 27}.layout-day .node:nth-child(28){--node-index: 28}.layout-day .node:nth-child(29){--node-index: 29}.layout-day .node:nth-child(30){--node-index: 30}.layout-day .node:nth-child(31){--node-index: 31}.layout-day .node:nth-child(32){--node-index: 32}.layout-day .node:nth-child(33){--node-index: 33}.layout-day .node:nth-child(34){--node-index: 34}.layout-day .node:nth-child(35){--node-index: 35}.layout-day .node:nth-child(36){--node-index: 36}.layout-day .node:nth-child(37){--node-index: 37}.layout-day .node:nth-child(38){--node-index: 38}.layout-day .node:nth-child(39){--node-index: 39}.layout-day .node:nth-child(40){--node-index: 40}.layout-day .node:nth-child(41){--node-index: 41}.layout-day .node:nth-child(42){--node-index: 42}@media(max-width:1200px){.layout-day .node{padding:28px 6px 6px!important;font-size:14px!important}.layout-day .node-date{font-size:12px!important;padding:3px 6px!important}.layout-day .log-item{padding:6px 4px!important;font-size:11px!important}.layout-day .day-header{padding:3px 0!important;min-height:18px!important}}@media(max-width:968px){.layout-day .node{padding:24px 4px 4px!important;font-size:12px!important}.layout-day .node-date{font-size:12px!important;padding:2px 4px!important}.layout-day .node-date{font-size:12px!important}.layout-day .log-item{padding:4px 2px!important;font-size:10px!important}.layout-day .day-header{padding:2px 0!important;min-height:16px!important}.layout-day .day-header span{font-size:10px!important;padding:0 1px!important}}@media(max-width:768px){.layout-day .node{padding:22px 3px 3px!important;font-size:11px!important}.layout-day .node-date{font-size:12px!important;padding:2px 3px!important}.layout-day .log-item{padding:3px 2px!important;font-size:9px!important}.nodes-container.layout-day{gap:1px 1px!important}.layout-day .day-header{padding:2px 0!important;min-height:16px!important}.layout-day .day-header span{font-size:9px!important;padding:0!important}.layout-day .day-header{display:grid!important;visibility:visible!important;opacity:1!important}}@media(max-width:480px){.layout-day .day-header{padding:1px 0!important;min-height:16px!important;display:grid!important;visibility:visible!important;opacity:1!important}.layout-day .day-header span{font-size:8px!important;padding:0 1px!important;min-width:20px!important;letter-spacing:-.5px!important;opacity:1!important;visibility:visible!important}.nodes-container.layout-day{gap:1px 1px!important}.layout-day .node{padding:20px 2px 2px!important}}.layout-day .node-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.layout-day .day-header{grid-column:1 / span 8!important;grid-row:1 / 2!important;display:grid!important;grid-template-columns:3ch repeat(7,minmax(40px,1fr))!important;gap:1px!important;font-weight:600!important;color:#334155!important;text-align:center!important;padding:4px 0!important;font-size:11px!important;margin:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;height:auto!important;line-height:1.4!important;overflow:visible!important;align-items:center!important;justify-items:stretch!important;justify-content:center!important;border-bottom:1px solid #cbd5e1!important;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif!important;white-space:nowrap!important;min-height:auto!important;max-height:none!important;flex-shrink:0!important;width:100%!important;z-index:10!important;position:relative!important;visibility:visible!important;opacity:1!important}.layout-day .day-header span{height:20px!important;min-height:20px!important;max-height:20px!important;line-height:20px!important;text-align:center!important;background-color:#fffffff2!important;border-right:none!important;z-index:5!important;font-family:var(--font-header)!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:visible!important;visibility:visible!important;opacity:1!important;border-radius:4px 4px 0 0!important;letter-spacing:2px!important;transition:all .3s ease-in-out!important;box-sizing:border-box!important;padding:0!important;margin:0!important;font-weight:700!important;color:var(--color-blue)!important;font-size:12px!important;flex:1!important;width:12.5%!important;vertical-align:middle!important}.layout-day .day-header>span:first-child{grid-column:1!important;grid-row:1!important;color:#334155!important;background:transparent!important;border-color:transparent!important;padding:0!important;margin:0!important;line-height:1!important;text-align:center!important;display:flex!important;align-items:center!important;justify-content:center!important;width:3ch!important;height:100%!important;box-sizing:border-box!important;vertical-align:middle!important;position:relative!important;inset:0!important;letter-spacing:-.5px!important;z-index:15!important;transform:translate(-1px)!important}.layout-day .day-header span:nth-child(2),.layout-day .day-header span:nth-child(3),.layout-day .day-header span:nth-child(4),.layout-day .day-header span:nth-child(5),.layout-day .day-header span:nth-child(6){grid-column:auto!important;grid-row:auto!important;color:#334155!important;background:#fffffff2!important;border-color:transparent!important;padding:0!important;height:20px!important;line-height:20px!important;text-align:center!important;display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;margin:0!important;box-sizing:border-box!important}.layout-day .day-header span:nth-child(7),.layout-day .day-header span:nth-child(8){grid-column:auto!important;grid-row:auto!important;color:#e53e3e!important;font-weight:600!important;background:#fffffff2!important;border-color:transparent!important;box-shadow:none!important;padding:0!important;height:20px!important;line-height:20px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;width:100%!important;height:100%!important;margin:0!important;box-sizing:border-box!important}.layout-day .day-header span:hover{transform:none!important;box-shadow:none!important;transition:none!important;z-index:5!important;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)!important;color:inherit!important}.layout-day .day-header span:nth-child(1):hover{background:linear-gradient(135deg,#f0fdf4,#dcfce7)!important;color:var(--color-blue)!important;transform:none!important;transition:none!important}.layout-day .day-header span:nth-child(2):hover,.layout-day .day-header span:nth-child(3):hover,.layout-day .day-header span:nth-child(4):hover,.layout-day .day-header span:nth-child(5):hover,.layout-day .day-header span:nth-child(6):hover{background:linear-gradient(135deg,#f0f9ff,#e0f2fe)!important;color:inherit!important;transform:none!important;transition:none!important}.layout-day .day-header span:nth-child(7):hover,.layout-day .day-header span:nth-child(8):hover{background:linear-gradient(135deg,#f0f9ff,#e0f2fe)!important;color:inherit!important;transform:none!important;transition:none!important}.layout-day .node-day{grid-column:auto / span 1!important;grid-column-start:auto!important;grid-column-end:auto!important}.layout-day .node.middle-node{background:inherit!important;border:inherit!important;border-radius:inherit!important;box-shadow:inherit!important;transition:inherit!important;position:inherit!important;overflow:inherit!important;animation:none!important;z-index:inherit!important;display:inherit!important;flex-direction:inherit!important;align-items:inherit!important;justify-content:inherit!important;text-align:inherit!important;box-sizing:inherit!important;padding:inherit!important;margin:inherit!important;height:inherit!important;width:inherit!important;min-height:inherit!important;max-height:inherit!important;visibility:inherit!important;opacity:inherit!important}.layout-day .node.middle-node .node-content{width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;padding:0 4px 4px!important;margin:0!important;pointer-events:auto!important;overflow:hidden!important;position:relative!important;box-sizing:border-box!important;flex:1!important;flex-shrink:1!important;z-index:1!important;visibility:visible!important;opacity:1!important}.layout-day .node.middle-node .node-date{display:block!important;visibility:visible!important;opacity:1!important;color:#fff!important;background:#ff7043!important;font-size:12px!important;font-weight:700!important;padding:2px 8px 1px!important;border-radius:8px!important;margin-bottom:2px!important;z-index:10!important;position:absolute!important;top:2px!important;left:4px!important;box-shadow:0 1px 2px #0000000d!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;text-shadow:0 1px 2px rgba(0,0,0,.15)!important;align-self:flex-start!important;border:1px solid rgba(255,112,67,.3)!important;line-height:1.1!important;height:auto!important;min-height:auto!important}.layout-day .node:not(.middle-node) .node-date{font-size:12px!important;font-weight:700!important;align-self:flex-start!important;padding:2px 6px!important;border-radius:6px!important;background:transparent!important;color:#334155!important;width:fit-content!important;z-index:10!important;position:relative!important;top:0!important;left:0!important;box-shadow:0 1px 2px #0000000d!important;border:1px solid rgba(226,232,240,.6)!important;text-align:center!important;display:inline-block!important;height:auto!important;margin:0 0 4px!important;overflow:visible!important;transform:none!important;white-space:nowrap!important;line-height:1.4!important;text-shadow:0 1px 2px rgba(0,0,0,.05)!important}.layout-day .node:not(.middle-node) .node-content{margin-top:0!important;padding-top:0!important;max-height:100%!important}.layout-day .node:not(.middle-node) .log-list{margin-top:24px!important;padding:0 2px 0 0!important;max-height:none!important;min-height:auto!important;height:calc(100% - 24px)!important;overflow-y:hidden!important;overflow-x:hidden!important;flex:1!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:0!important;flex-wrap:nowrap!important;flex-grow:1!important}.layout-day .node.middle-node .node-date{font-size:12px!important;font-weight:700!important;margin-bottom:8px!important;align-self:flex-start!important;padding:4px 8px 4px 2px!important;border-radius:12px!important;background:#ff7043!important;color:#fff!important;width:fit-content!important;text-shadow:none!important;z-index:10!important;position:absolute!important;top:0!important;left:4px!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;display:block!important;visibility:visible!important;opacity:1!important}.layout-day .node .node-label{font-size:12px!important;opacity:.9!important;margin:0!important;align-self:flex-start;color:#64748b}.holiday-name{display:inline-block;font-size:11px!important;font-weight:600!important;color:#475569!important;margin-left:4px!important;vertical-align:middle;line-height:1.2!important;height:auto!important}.holiday-badge{display:inline-block;font-size:10px!important;font-weight:700!important;padding:1px 4px!important;border-radius:4px!important;margin-left:4px!important;vertical-align:middle;line-height:1.2!important;height:auto!important}.holiday-badge.holiday{background-color:#4ade80!important;color:#166534!important;border:1px solid #22c55e!important;box-shadow:0 1px 2px #0000001a!important}.holiday-badge.workday{background-color:#fca5a5!important;color:#991b1b!important;border:1px solid #ef4444!important;box-shadow:0 1px 2px #0000001a!important}.node-date{display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;flex-wrap:nowrap!important;white-space:nowrap!important;height:auto!important;min-height:40px!important;padding:4px!important;border-radius:6px!important;background-color:#ffffffe6!important;border:1px solid rgba(0,0,0,.05)!important;gap:4px!important;overflow:hidden!important;text-overflow:ellipsis!important}.node-date>*,.node-date>.gregorian-date,.node-date>.lunar-date,.node-date>.solar-term,.node-date>.holiday-name,.node-date>.holiday-badge{display:inline-block!important;vertical-align:top!important;margin:0!important;padding:0!important;white-space:nowrap!important;line-height:1.2!important}.node-date>.gregorian-date{font-size:14px!important;font-weight:700!important;color:#2d3748!important;margin-right:2px!important}.node-date>.lunar-date{font-size:10px!important;font-weight:500!important;color:#64748b!important;margin-right:2px!important;margin-top:0!important;line-height:1.2!important}.node-date>.solar-term{font-size:9px!important;font-weight:600!important;color:#38a169!important;margin-right:2px!important;margin-top:0!important;line-height:1.2!important}.node-date>.holiday-name{font-size:10px!important;font-weight:600!important;color:#475569!important;margin-right:2px!important;margin-top:0!important;line-height:1.2!important}.node-date>.holiday-badge{font-size:10px!important;font-weight:700!important;margin-right:2px!important;margin-top:0!important;padding:1px 4px!important;line-height:1.2!important}.node-date>React.Fragment,.node-date>*>React.Fragment,.node-date>*>*>React.Fragment{display:inline!important}.layout-day .node .node-date{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-direction:row!important;flex-wrap:nowrap!important;white-space:nowrap!important;height:auto!important;min-height:36px!important;padding:2px 6px!important;border-radius:6px!important;background-color:#fffffff2!important;border:1px solid rgba(0,0,0,.1)!important;box-shadow:0 1px 2px #0000000d!important;gap:3px!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:all .2s ease!important}.layout-day .node.isCurrentMonth:not(.middle-node){background:#fff!important;border-color:#e2e8f0!important;opacity:1!important;box-shadow:0 2px 4px #0000000d!important}.layout-day .node:not(.isCurrentMonth){background:#fafbfc!important;opacity:.5!important;border-color:#f1f3f4!important;box-shadow:none!important;transition:all .3s ease!important}.layout-day .node:not(.isCurrentMonth) .node-date{color:#c5c7ca!important;background:#f1f3f4!important;font-weight:500!important;opacity:.8!important}.layout-day .node:not(.isCurrentMonth):hover{opacity:.7!important;transform:translateY(-3px)!important;box-shadow:0 6px 16px #0000001f!important;background:linear-gradient(135deg,#fff,#fce4ec)!important;color:inherit!important;border-color:#f48fb1!important;transition:all .2s ease-out!important;z-index:20!important}.layout-day .node.isCurrentMonth:not(.weekend):not(.middle-node):hover,.layout-day .node.day-1.isCurrentMonth:hover,.layout-day .node.day-2.isCurrentMonth:hover,.layout-day .node.day-3.isCurrentMonth:hover,.layout-day .node.day-4.isCurrentMonth:hover,.layout-day .node.day-5.isCurrentMonth:hover{transform:translateY(-3px)!important;box-shadow:0 6px 16px #0000001f!important;background:linear-gradient(135deg,#fff,#cbd5e1)!important;color:inherit!important;border-color:#d1d5db!important;transition:all .2s ease-out!important;z-index:20!important}.layout-day .node.day-6.isCurrentMonth,.layout-day .node.day-0.isCurrentMonth{background:#fff!important;border-color:#e2e8f0!important;transition:all .2s ease!important;box-shadow:0 2px 4px #0000000d!important;opacity:1!important}.layout-day .node.day-6:not(.isCurrentMonth),.layout-day .node.day-0:not(.isCurrentMonth){background:#fafbfc!important;border-color:#f1f3f4!important;transition:all .3s ease!important;box-shadow:none!important;opacity:.5!important}.layout-day .node.middle-node{background:#fff!important;color:#334155!important;border-color:#e2e8f0!important;transform:none!important;box-shadow:0 2px 4px #0000000d!important;position:relative!important;overflow:visible!important;animation:none!important;z-index:1!important;border:1px solid #e2e8f0!important;border-radius:8px!important}.layout-day .node.middle-node .node-date{font-size:12px!important;font-weight:700!important;margin-bottom:8px!important;align-self:flex-start!important;padding:4px 8px!important;border-radius:12px!important;background:#f1f5f9!important;color:#475569!important;text-shadow:none!important;z-index:10!important;position:relative!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;display:block!important;visibility:visible!important;opacity:1!important}.layout-day .node.middle-node .node-label{color:#64748b!important;opacity:.9!important;font-weight:500!important;text-shadow:none!important;z-index:10!important;position:relative;font-size:12px!important}.layout-day .node.middle-node:hover:not(.node-week){transform:translateY(-3px)!important;box-shadow:0 6px 16px #0000001f!important;background:linear-gradient(135deg,#fff,#fce4ec)!important;color:inherit!important;border-color:#f48fb1!important;transition:all .2s ease-out!important;z-index:20!important;animation:none!important;overflow:visible!important;position:relative!important;border-radius:8px!important}@keyframes pulse{0%,to{box-shadow:0 4px 16px #48bb7866}50%{box-shadow:0 6px 20px #48bb7899}}@keyframes shimmer{0%,to{transform:rotate(0);opacity:.5}50%{transform:rotate(180deg);opacity:.8}}@keyframes todayPulse{0%,to{box-shadow:0 8px 24px #f59e0b80;transform:scale(1.05)}50%{box-shadow:0 12px 32px #f59e0bb3;transform:scale(1.07)}}@keyframes todayShimmer{0%,to{transform:rotate(0);opacity:.5}50%{transform:rotate(180deg);opacity:.8}}.layout-day .node .log-item{font-size:11px!important;margin:2px 0!important;padding:4px 8px 4px 2px!important;border-radius:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:all .2s ease!important;box-shadow:none!important;position:relative!important;line-height:16px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;height:auto!important;width:100%!important;opacity:.95!important;box-sizing:border-box!important;align-self:stretch!important;min-height:auto!important;max-height:auto!important;border:none!important}.layout-day .node .log-item:hover{transform:translate(1px);box-shadow:0 2px 6px #00000014;transition:all .2s ease;opacity:1;z-index:5}.layout-day .node:after{content:attr(data-log-count);position:absolute;top:8px;right:8px;background:#00000014;color:#1d1d1f;font-size:11px;font-weight:600;padding:0;border-radius:10px;min-width:18px;height:18px;text-align:center;box-shadow:none;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.layout-day .node:before{display:none}.layout-day .node.isCurrentMonth:after{background:#00000014;color:#1d1d1f;box-shadow:none}.layout-day .node.isCurrentMonth:before{display:none}.layout-day .node:not(.isCurrentMonth):after{background:#0000000d;color:#6e6e73;opacity:.6;box-shadow:none}.layout-day .node:not(.isCurrentMonth):before{display:none}.layout-day .node.middle-node:after{content:attr(data-log-count)!important;position:absolute!important;top:8px!important;right:8px!important;background:#00000014!important;color:#1d1d1f!important;font-size:11px!important;font-weight:600!important;padding:0!important;border-radius:10px!important;min-width:18px!important;height:18px!important;text-align:center!important;box-shadow:none!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .2s ease!important;z-index:10!important;border:none!important}.layout-day .node.middle-node:before{display:none!important;content:none!important;border-top-color:#5a67d8!important;opacity:1!important;z-index:9!important}.layout-day .node[data-log-count="0"]:after,.layout-day .node[data-log-count="0"]:before{display:none!important}.layout-day .node.middle-node{background:#fff!important;color:#334155!important;border:1px solid #e2e8f0!important;box-shadow:0 2px 8px #0000000d!important;transform:none!important;overflow:visible!important;position:relative!important;z-index:5!important;border-radius:8px!important;display:block!important;visibility:visible!important;opacity:1!important;transition:all .3s ease!important;animation:none!important}.layout-day .node.middle-node .node-date{background:#ff7043!important;color:#fff!important;font-size:12px!important;font-weight:700!important;align-self:flex-start!important;padding:2px 8px 1px!important;border-radius:8px!important;text-shadow:0 1px 2px rgba(0,0,0,.15)!important;z-index:10!important;position:absolute!important;top:0!important;left:4px!important;box-shadow:0 1px 2px #0000000d!important;border:1px solid rgba(255,112,67,.3)!important;text-align:center!important;display:inline-block!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;transform:none!important;white-space:nowrap!important;line-height:1.1!important}.layout-day .node:not(.middle-node) .node-date{background:#f1f5f9!important;color:#334155!important;font-size:12px!important;font-weight:600!important;align-self:flex-start!important;padding:2px 8px 1px!important;border-radius:8px!important;text-shadow:0 1px 2px rgba(0,0,0,.05)!important;z-index:10!important;position:absolute!important;top:0!important;left:4px!important;box-shadow:0 1px 2px #0000000d!important;border:1px solid rgba(226,232,240,.6)!important;text-align:center!important;display:inline-block!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;transform:none!important;white-space:nowrap!important;line-height:1.1!important}.layout-day .node.middle-node .node-date:before{content:none!important}.layout-day .node.middle-node .log-list{background:#ffffffe6!important;padding:0!important;gap:0!important;max-height:none!important;min-height:auto!important;height:calc(100% - 24px)!important;overflow-y:hidden!important;overflow-x:hidden!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;z-index:5!important;position:relative!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;flex:1!important;width:100%!important;margin:24px 0 0!important;flex-grow:1!important;align-self:flex-start!important;flex-shrink:1!important;border-radius:8px!important;box-shadow:inset 0 1px 2px #0000000d!important;flex-wrap:nowrap!important}.layout-day .node.middle-node .log-item{font-size:11px!important;margin:2px 0!important;padding:4px 8px!important;border-radius:4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;transition:all .2s ease!important;box-shadow:none!important;position:relative!important;line-height:16px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;height:auto!important;width:100%!important;opacity:.95!important;box-sizing:border-box!important;align-self:stretch!important;min-height:auto!important;max-height:auto!important;border:none!important;background-color:transparent;color:#000}.layout-day .node.middle-node .log-item:hover{transform:translate(1px)!important;box-shadow:0 2px 6px #00000014!important;transition:all .2s ease!important;opacity:1!important;z-index:5!important}.layout-day{background:linear-gradient(135deg,#fff,#f8fafc)!important;border-radius:12px!important;box-shadow:0 4px 20px #00000014!important;border:1px solid rgba(226,232,240,.5)!important}.scroll-container{background:linear-gradient(135deg,#e2e8f0,#cbd5e1)!important}.layout-day .node:not(.middle-node) .node-date{background:transparent!important;color:#334155!important;font-size:12px!important;font-weight:600!important;align-self:flex-start!important;padding:2px 6px!important;border-radius:6px!important;text-shadow:0 1px 2px rgba(0,0,0,.05)!important;z-index:10!important;position:absolute!important;top:-2px!important;left:2px!important;box-shadow:0 1px 2px #0000000d!important;border:1px solid rgba(226,232,240,.6)!important;text-align:center!important;display:inline-block!important;width:auto!important;height:auto!important;margin:0!important;overflow:visible!important;transform:none!important;white-space:nowrap!important;line-height:1.4!important}.layout-day .node .node-label{color:#64748b!important;opacity:.8!important;font-weight:500!important;text-shadow:0 1px 2px rgba(0,0,0,.05)!important;z-index:10!important;position:relative!important;font-size:11px!important;margin-bottom:6px!important}.layout-day .node:not(.middle-node) .log-list{background:#ffffffe6!important;padding:0!important;gap:0!important;max-height:none!important;min-height:0!important;height:calc(100% - 24px)!important;bottom:0!important;overflow-y:auto!important;overflow-x:hidden!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;z-index:5!important;position:relative!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;flex-grow:1!important;flex:1 1 100%!important;flex-basis:0!important;width:100%!important;margin:24px 0 0!important;align-self:stretch!important;flex-shrink:1!important;border-radius:8px!important;box-shadow:inset 0 1px 2px #0000000d!important;flex-wrap:nowrap!important}.layout-day .node.middle-node .log-list{background:transparent!important;padding:0!important;gap:0!important;max-height:none!important;min-height:0!important;height:calc(100% - 24px)!important;overflow-y:auto!important;overflow-x:hidden!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;z-index:5!important;position:relative!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;flex-grow:1!important;flex:1 1 100%!important;flex-basis:0!important;width:100%!important;margin:24px 0 0!important;align-self:stretch!important;flex-shrink:1!important;flex-wrap:nowrap!important;bottom:0!important}.layout-day .node.isCurrentMonth{background:#fff!important;border-color:#0000000d!important}.layout-day .node:not(.isCurrentMonth){background:#fafafae6!important;opacity:.7!important}.scroll-container{padding-top:38px!important;height:calc(100vh - 38px)!important;min-height:calc(100vh - 38px)!important;overflow:hidden!important}.layout-day .node:not(.middle-node) .node-content{width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;display:flex!important;flex-direction:column!important;padding:0!important;margin:0!important;pointer-events:auto!important;overflow:hidden!important;position:relative!important;box-sizing:border-box!important;flex:1!important;flex-shrink:1!important;z-index:1!important}.layout-day .node.middle-node .node-content{width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;display:flex!important;flex-direction:column!important;padding:0!important;margin:0!important;pointer-events:auto!important;overflow:hidden!important;position:relative!important;box-sizing:border-box!important;flex:1!important;flex-shrink:1!important;z-index:1!important}.layout-day .node:not(.middle-node) .node-date{font-size:12px!important;font-weight:700!important;margin-bottom:2px!important;align-self:flex-start!important;padding:2px 8px 1px!important;border-radius:8px!important;background:#f1f5f9!important;color:#475569!important;display:block!important;visibility:visible!important;opacity:1!important;z-index:10!important;position:absolute!important;top:0!important;left:4px!important;line-height:1.1!important;height:auto!important;min-height:auto!important}.layout-day .node,.layout-day .node-content{overflow:visible!important}.layout-day .node-date{overflow:visible!important;display:block!important;visibility:visible!important;opacity:1!important}.layout-day .node.day-6.isCurrentMonth:not(.middle-node) .node-date,.layout-day .node.day-0.isCurrentMonth:not(.middle-node) .node-date{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)!important;color:#2e7d32!important;font-weight:700!important;padding:2px 8px 1px!important;border-radius:8px!important;box-shadow:0 1px 2px #0000000d!important;transition:all .2s ease!important;top:0!important;left:4px!important;line-height:1.1!important;margin-bottom:2px!important}.layout-day .node.middle-node.day-6.isCurrentMonth .node-date,.layout-day .node.middle-node.day-0.isCurrentMonth .node-date{background:#ff7043!important;color:#fff!important;font-size:12px!important;font-weight:700!important;padding:2px 8px 1px!important;border-radius:8px!important;top:0!important;left:4px!important;text-shadow:0 1px 2px rgba(0,0,0,.15)!important;box-shadow:0 1px 2px #0000000d!important;border:1px solid rgba(255,112,67,.3)!important;line-height:1.1!important;margin-bottom:2px!important}.layout-day .node.day-6:not(.isCurrentMonth):not(.middle-node) .node-date,.layout-day .node.day-0:not(.isCurrentMonth):not(.middle-node) .node-date{background:linear-gradient(135deg,#f1f8e9,#e8f5e9)!important;color:#388e3c!important;font-weight:500!important;padding:2px 8px 1px!important;border-radius:8px!important;box-shadow:0 1px 1px #0000000d!important;transition:all .2s ease!important;top:0!important;left:4px!important;line-height:1.1!important;margin-bottom:2px!important}.layout-day .node.day-6.isCurrentMonth:not(.middle-node):hover,.layout-day .node.day-0.isCurrentMonth:not(.middle-node):hover{background:linear-gradient(135deg,#f0fdf4,#dcfce7)!important;transform:translateY(-2px)!important;box-shadow:0 4px 8px #93c5fd4d!important;border-color:#bbf7d0!important;transition:all .3s ease!important;z-index:20!important}.layout-day .node.middle-node.day-6.isCurrentMonth:hover,.layout-day .node.middle-node.day-0.isCurrentMonth:hover{background:linear-gradient(135deg,#dcfce7,#bbf7d0)!important;transform:translateY(-2px)!important;box-shadow:0 4px 8px #93c5fd4d!important;border-color:#86efac!important;animation:none!important;overflow:visible!important;position:relative!important;z-index:20!important;border-radius:8px!important;color:inherit!important;transition:all .3s ease!important}.layout-day .node.day-6:not(.isCurrentMonth):not(.middle-node):hover,.layout-day .node.day-0:not(.isCurrentMonth):not(.middle-node):hover{background:linear-gradient(135deg,#dcfce7,#bbf7d0)!important;transform:translateY(-2px)!important;box-shadow:0 3px 6px #0000001a!important;border-color:#6ee7b7!important;opacity:.8!important;transition:all .3s ease!important;z-index:20!important}.layout-day .node{padding:0 16px!important}.layout-day .node:hover:not(.node-week) .log-list{max-height:120px!important;overflow-y:auto!important}.layout-day .node .log-list::-webkit-scrollbar{width:3px}.layout-day .node .log-list::-webkit-scrollbar-track{background:#94a3b8;border-radius:3px}.layout-day .node .log-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.layout-day .node .log-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.layout-day .node{position:relative!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;border-radius:8px!important;aspect-ratio:auto!important;width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;padding:12px 4px!important;background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:0 2px 4px #0000000d!important;text-align:left!important;box-sizing:border-box!important;overflow:hidden!important;margin:0!important;transition:all .2s ease!important;transform:none!important}.layout-day .node.middle-node{background:#fff!important;color:#334155!important;transform:none!important;box-shadow:0 2px 4px #0000000d!important;border:1px solid #e2e8f0!important;border-radius:8px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-start!important;text-align:left!important;box-sizing:border-box!important;transition:all .2s ease!important;animation:none!important;padding:12px 4px!important;overflow:visible!important;position:relative!important;z-index:5!important;width:100%!important;height:100%!important}.layout-day .node:hover:not(.node-week){transform:none!important;box-shadow:0 6px 16px #0000001f!important;background:linear-gradient(135deg,#fff,#cbd5e1)!important;color:inherit!important;border-color:#d1d5db!important;transition:all .2s ease-out!important;z-index:20!important}.layout-day .node:active{transform:translateY(0)!important;box-shadow:0 2px 4px #0000001a!important}.layout-day .node.weekend{background:linear-gradient(135deg,#fff,#f8fafc)!important;border:1px solid rgba(226,232,240,.8)!important;border-radius:12px!important;box-shadow:0 2px 8px #0000000a!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;position:relative!important;overflow:visible!important;opacity:1!important}.layout-day .node.weekend.isCurrentMonth:hover{background:linear-gradient(135deg,#f0fdf4,#dcfce7)!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #0000001a!important;border-color:#bbf7d0!important;color:inherit!important;transition:all .3s ease!important;z-index:20!important}.layout-day .node.notCurrentMonth{opacity:.6!important;background:linear-gradient(135deg,#f1f5f9,#e2e8f0)!important;border-color:#cbd5e1!important}@keyframes pulse{0%,to{transform:scale(1.1)!important;box-shadow:0 16px 40px #667eea80}50%{transform:scale(1.2)!important;box-shadow:0 20px 48px #667eeab3}}.node:active{transform:scale(.95);box-shadow:0 4px 12px #00000026;filter:brightness(.95)}.node-date{display:flex;flex-direction:column;align-items:flex-start;gap:2px;white-space:normal;overflow:visible}.gregorian-date{font-size:12px!important;font-weight:700!important;line-height:1.4}.lunar-date{font-size:10px!important;font-weight:500!important;color:#64748b!important;line-height:1.2;opacity:.8;font-family:楷体,STKaiti,KaiTi,SimKai,"serif"!important;margin-top:0!important;display:inline-block!important;vertical-align:middle!important}.node:not(.isCurrentMonth) .lunar-date{color:#c5c7ca!important;opacity:.6}.node.middle-node .lunar-date{color:#fff!important;opacity:.9}.node.weekend.isCurrentMonth:not(.middle-node) .lunar-date{color:#2e7d32!important}.compact-tag-option:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #00000026;filter:brightness(1.1)}.compact-tag-option.selected:hover{box-shadow:0 4px 16px #0003}.layout-day,.layout-month,.layout-year{transition:all .8s cubic-bezier(.4,0,.2,1);animation:fadeIn .8s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.current-month-display{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:60px;font-weight:300;color:#64748b33;pointer-events:none;z-index:0;line-height:1;white-space:nowrap;font-family:Microsoft YaHei,PingFang SC,Hiragino Sans GB,Heiti SC,WenQuanYi Micro Hei,sans-serif;letter-spacing:2px;text-shadow:0 1px 2px rgba(255,255,255,.8)}.solar-term{font-size:10px!important;font-weight:600!important;color:#38a169!important;line-height:1.2;font-family:宋体,STSong,SimSun,"serif"!important;margin-top:0!important;margin-left:2px!important;background-color:#f0fff4;padding:1px 4px;border-radius:3px;border:1px solid #9ae6b4;display:inline-block!important;vertical-align:middle!important}.node.middle-node .solar-term{color:#2f855a!important;background-color:#ffffffe6;border-color:#38a169}.node:not(.isCurrentMonth) .solar-term{color:#68d391!important;background-color:#f7fff7;border-color:#c6f6d5;opacity:.8}.layout-year .node.fade-in{animation:nodeFadeIn .6s ease-out forwards;opacity:0;transform:scale(.8)}@keyframes nodeFadeIn{to{opacity:1;transform:scale(1)}}.layout-year .node.fade-in:nth-child(3n+1){animation-delay:.1s}.layout-year .node.fade-in:nth-child(3n+2){animation-delay:.2s}.layout-year .node.fade-in:nth-child(3n+3){animation-delay:.3s}.layout-year .node-content{text-align:center;padding:8px;pointer-events:none}.layout-year .node-date{font-size:18px;font-weight:700;line-height:1.2}.layout-year .node-label{font-size:12px;opacity:.8;margin-top:4px;line-height:1.1}.layout-day .node-weekend{background:linear-gradient(135deg,#fff3cd,#ffeaa7);color:#856404}.layout-day .node-weekend:hover{background:linear-gradient(135deg,#fff,#fce4ec)!important;box-shadow:0 6px 16px #0000001f!important;border-color:#f48fb1!important;transition:all .2s ease-out!important;transform:translateY(-3px)!important;z-index:20!important}@keyframes pulseScale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.loading{animation:pulseScale 1.5s ease-in-out infinite}@media(max-width:768px){.calendar-header{padding:12px 16px;margin:0}.calendar-header h1{font-size:18px}.control-container{flex-direction:column;gap:12px}.scale-control{width:100%;max-width:200px}.scale-control input[type=range]{width:100%;max-width:250px}.scroll-container{margin-top:80px;height:calc(100vh - 120px);overflow-y:visible;padding:20px 0}}.scroll-container::-webkit-scrollbar{display:auto;width:8px;height:8px}.scroll-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.scroll-container.dragging{cursor:default;-webkit-user-select:none;user-select:none}.node-year{background:linear-gradient(135deg,#faf9f8,#f4f2f0,#e9e6e3);color:#4a4a4a;box-shadow:0 2px 8px #0000001a;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid rgba(255,255,255,.9);text-shadow:0 1px 2px rgba(255,255,255,.8)}.node-year:hover{background:linear-gradient(135deg,#f4f2f0,#e9e6e3,#dcd9d5);transform:scale(1.1) translateY(-4px);box-shadow:0 4px 12px #00000026;border-color:#fff}.node-day{background:linear-gradient(135deg,#faf9f8,#f4f2f0,#e9e6e3);color:#4a4a4a;border:2px solid rgba(255,255,255,.9);box-shadow:0 2px 8px #0000001a;transition:all .3s cubic-bezier(.4,0,.2,1);text-shadow:0 1px 2px rgba(255,255,255,.8)}.node-day:hover{background:linear-gradient(135deg,#f4f2f0,#e9e6e3,#dcd9d5);transform:translateY(-2px) scale(1.03);box-shadow:0 4px 12px #00000026;border-color:#fff;text-shadow:0 1px 2px rgba(255,255,255,.9)}.node-day.weekend{background:linear-gradient(135deg,#fff8f8,#fef6f6,#fee9e9);color:#666;box-shadow:0 2px 8px #ec48991a;border:2px solid rgba(255,255,255,.9)}.node-day.weekend:hover{background:linear-gradient(135deg,#fff,#fce4ec)!important;transform:translateY(-3px) scale(1.03)!important;box-shadow:0 6px 16px #0000001f!important;border-color:#f48fb1!important;transition:all .2s ease-out!important;z-index:20!important}.layout-year .node.middle-node{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 16px #667eea66;animation:none;z-index:100;border:2px solid rgba(255,255,255,.9)}.layout-year .node.middle-node:hover{background:inherit!important;box-shadow:inherit!important;transform:inherit!important}.layout-year .node.middle-node .node-date{font-weight:800;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.3)}.layout-year .node.middle-node .node-label{color:#ffffffe6;text-shadow:0 1px 2px rgba(0,0,0,.3);opacity:.9}@keyframes pulse{0%,to{box-shadow:0 0 0 4px #667eea80,0 6px 20px #667eea4d}50%{box-shadow:0 0 0 5px #667eeab3,0 8px 25px #667eea80}}.node-content{text-align:center;padding:10px 5px;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%}.node-day .node-content,.node-day .node-content *{text-align:left!important;align-items:flex-start!important}.node-day .log-item,.node-day .log-list .log-item,.node-day .node-content .log-item,.layout-day .node-day .log-item,.layout-month .node-day .log-item,.layout-year .node-day .log-item{text-align:left!important;justify-content:flex-start!important;align-items:center!important;display:flex!important}.node-day .log-item span{text-align:left!important;display:inline-block!important;justify-content:flex-start!important;align-items:center!important}.node-date{font-size:calc(1em + .2vw);font-weight:700;margin-bottom:2px;line-height:1.1;white-space:nowrap;overflow:visible;text-overflow:clip}.layout-year .node-year .node-date,.layout-day .node-day .node-date{font-size:calc(1em + .2vw)}.layout-year .node-label,.layout-day .node-label{font-size:calc(.65em + .1vw);opacity:.9;font-weight:500;white-space:nowrap;overflow:visible;text-overflow:clip;text-transform:none;letter-spacing:0;color:#555;line-height:1;display:block;text-shadow:0 1px 1px rgba(255,255,255,.5)}.layout-day .node-day .node-label{color:inherit;opacity:.9;text-shadow:0 1px 1px rgba(255,255,255,.8)}.layout-year .node-year .node-label{color:#333;text-shadow:0 1px 1px rgba(255,255,255,.8)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes viewTransition{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes hoverPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.fade-in{animation:fadeInUp .6s cubic-bezier(.4,0,.2,1) forwards}.layout-year .node:hover{animation:none!important}.loading-container{display:flex;justify-content:center;align-items:center;height:200px;width:100%}.loading-spinner{width:50px;height:50px;border:5px solid rgba(102,126,234,.1);border-left-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.keyboard-shortcuts{position:fixed;bottom:20px;right:20px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #0000001a;padding:15px 20px;max-width:300px;z-index:1000;opacity:.9;transition:all .3s ease}.keyboard-shortcuts:hover{opacity:1;transform:translateY(-5px);box-shadow:0 6px 25px #00000026}.keyboard-shortcuts h3{margin:0 0 10px;font-size:14px;color:#4a5568;font-weight:600}.keyboard-shortcuts ul{list-style:none;padding:0;margin:0}.keyboard-shortcuts li{margin-bottom:8px;font-size:13px;color:#718096;display:flex;justify-content:space-between;align-items:center}.keyboard-shortcuts .key{background:#f7fafc;border:1px solid #e2e8f0;border-radius:4px;padding:2px 6px;font-size:12px;font-weight:600;color:#4a5568;box-shadow:0 1px 3px #0000000d}.scroll-container::-webkit-scrollbar{height:8px}.scroll-container::-webkit-scrollbar-track{background:#e1e1e1;border-radius:4px}.scroll-container::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.scroll-container::-webkit-scrollbar-thumb:hover{background:#555}.log-modal-overlay{position:fixed;inset:0;background:#0000001a;display:flex;align-items:center;justify-content:center;z-index:9999!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:1!important;visibility:visible!important;pointer-events:auto!important;transition:all .3s ease}.log-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000026;width:90%;max-width:900px;max-height:85vh;overflow-y:auto;transition:all .3s ease;transform:scale(.95);animation:modalSlideIn .3s ease forwards}@keyframes modalSlideIn{to{transform:scale(1)}}.log-modal-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;border-bottom:1px solid #f0f0f0;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px 12px 0 0;min-height:auto;height:auto}.log-modal-header h2{margin:0;font-size:22px;color:#1f2937;font-weight:600;display:flex;align-items:center;gap:8px}.log-modal-close{background:#f3f4f6;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0000000d}.log-modal-close:hover{background:#e5e7eb;color:#374151;transform:scale(1.1);box-shadow:0 4px 8px #0000001a}.log-modal-content{padding:12px;display:grid;grid-template-columns:55fr 45fr;gap:12px}@media(max-width:768px){.log-modal-content{grid-template-columns:1fr;gap:20px;padding:20px}}.logs-list{background:#cbd5e1;border-radius:8px;padding:12px;max-height:400px;overflow-y:auto;transition:all .3s ease}.logs-list:hover{box-shadow:0 4px 12px #00000014}.logs-list h3{margin:0 0 8px;font-size:14px;color:#1f2937;font-weight:600;position:relative}.no-logs{text-align:center;color:#9ca3af;font-size:14px;padding:40px 20px;background:#f3f4f6;border-radius:8px;border:2px dashed #e5e7eb}.log-item{border:1px solid #e5e7eb;border-radius:12px;padding:8px;margin-bottom:6px;box-shadow:0 2px 4px #0000000d;transition:all .3s ease;cursor:pointer}.log-item:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px);border-color:#4f46e5}.log-item-content{font-size:13px;color:#374151;line-height:1.73;font-weight:400;white-space:pre-wrap;word-break:break-word;margin-bottom:2px}.log-item-meta{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;margin-top:4px;justify-content:space-between;padding-top:4px;border-top:1px solid #f0f0f0;line-height:1.2;font-size:11px;height:26px;overflow:visible}.log-item-tags{display:flex;align-items:center;flex-wrap:wrap;gap:4px;order:1;margin-right:0;line-height:1.2;flex:1;overflow:hidden}.log-tag{font-size:10px!important;padding:1px 5px!important;margin-right:4px!important;border-radius:10px!important;line-height:1.2;height:18px;display:inline-flex;align-items:center;justify-content:center}.log-item-date{font-size:11px;color:#718096;margin:0 8px 0 0;order:2;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 0 auto}.log-item-actions{display:flex;gap:6px;order:3;flex:0 0 auto}.log-item-edit,.log-item-delete{padding:2px 8px;border:1px solid rgba(94,129,172,.3);border-radius:4px;cursor:pointer;font-size:10px;font-weight:500;transition:all .25s ease;box-shadow:0 1px 3px #5e81ac66;height:24px;display:flex;align-items:center;justify-content:center;min-width:45px}.log-item-edit{background:#8b5cf666;color:#4c1d95b3;border:1px solid rgba(139,92,246,.5);box-shadow:0 2px 8px #8b5cf64d}.log-item-edit:hover{background:#8b5cf6cc;color:#fff;border-color:#8b5cf6cc;transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf666}.log-item-edit:active{transform:translateY(0);box-shadow:0 2px 8px #8b5cf64d}.log-item-delete{background:#ef444466;color:#991b1bb3;border:1px solid rgba(239,68,68,.5);box-shadow:0 2px 8px #ef44444d}.log-item-delete:hover{background:#ef4444cc;color:#fff;border-color:#ef4444cc;transform:translateY(-1px);box-shadow:0 4px 12px #ef444466}.log-item-delete:active{transform:translateY(0);box-shadow:0 2px 8px #ef44444d}.log-item-header,.log-item-header h4{display:none}.confirm-dialog-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.confirm-dialog{background:#fff;border-radius:12px;padding:24px;max-width:400px;width:90%;box-shadow:0 10px 30px #0000004d;animation:confirmDialogSlideIn .3s ease-out}@keyframes confirmDialogSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.confirm-dialog-message{font-size:16px;line-height:1.6;color:#374151;margin-bottom:20px;text-align:center}.confirm-dialog-actions{display:flex;justify-content:center;gap:16px}.confirm-dialog-cancel,.confirm-dialog-confirm{padding:8px 20px;border:2px solid #e5e7eb;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:80px}.confirm-dialog-cancel{background:#fff;color:#4b5563}.confirm-dialog-cancel:hover{background:#f9fafb;border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 4px 6px #0000001a}.confirm-dialog-confirm{background:#667eea;color:#fff;border-color:#667eea}.confirm-dialog-confirm:hover{background:#5a67d8;border-color:#5a67d8;transform:translateY(-1px);box-shadow:0 4px 6px #667eea4d}.confirm-dialog-cancel:active,.confirm-dialog-confirm:active{transform:translateY(0);box-shadow:none}.log-form{background:#cbd5e1;border-radius:8px;padding:12px;display:flex;flex-direction:column}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.log-form h3{margin:0;font-size:14px;color:#2d3748;font-weight:600}.log-form form{display:flex;flex-direction:column;flex:1}.form-group{margin-bottom:16px;flex-shrink:0}.content-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;flex-shrink:0}.form-group.content-group{margin-bottom:12px;flex:1;display:flex;flex-direction:column;min-height:240px}.form-group label{display:block;font-size:14px;font-weight:500;color:#4a5568;margin-bottom:6px}.form-group input,.form-group textarea{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;transition:all .2s ease;box-sizing:border-box}.compact-tag-selector{display:flex;gap:6px;flex-shrink:0}.compact-tag-option{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;border:2px solid transparent;flex-shrink:0}.compact-tag-option:hover{transform:translateY(-1px)}.compact-tag-option.selected:hover{box-shadow:0 2px 8px #00000026}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{flex:1;height:auto;min-height:180px;resize:vertical}.tag-selector{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;flex-shrink:0}.tag-option{padding:6px 12px;border-radius:16px;border:2px solid transparent;background:#e2e8f0;color:#4a5568;font-size:13px;cursor:pointer;transition:all .2s ease}.tag-option.selected{background:#667eea;border-color:#667eea;color:#fff}.custom-tags-input{margin-top:12px}.custom-tags-label{font-size:13px;color:#718096;margin-bottom:6px;display:block}.form-actions{display:flex;gap:16px;justify-content:flex-end;margin-top:20px}.form-actions button{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.cancel-btn{background:#fff;color:#4a5568;border:2px solid #e2e8f0}.cancel-btn:hover{background:#f7fafc;border-color:#cbd5e0;transform:translateY(-1px);box-shadow:0 4px 12px #00000014}button[type=submit]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}button[type=submit]:hover{box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.no-logs{text-align:center;color:#718096;font-style:italic;padding:20px}.loading{text-align:center;color:#667eea;padding:20px;font-style:italic}.search-panel{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:20px;max-width:800px;margin:20px auto;position:relative;z-index:10}.search-form-container h3{margin:0 0 20px;font-size:20px;color:#2d3748;font-weight:700;display:flex;align-items:center;gap:12px}.search-form{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;padding:24px;margin-bottom:24px}.search-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-bottom:20px}.search-form-group{display:flex;flex-direction:column;gap:8px}.search-form-group label{font-size:13px;font-weight:600;color:#4a5568;text-transform:uppercase;letter-spacing:.5px}.search-form-group input{padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s cubic-bezier(.4,0,.2,1)}.search-form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea26;transform:translateY(-1px)}.search-tag-selector{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.search-tag-option{padding:6px 12px;border:2px solid transparent;border-radius:16px;background:#94a3b8;color:#4a5568;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.search-tag-option:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.search-tag-option.selected{box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.search-form-actions{display:flex;gap:16px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid #e2e8f0}.search-form-actions .btn{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:none;text-transform:uppercase;letter-spacing:.5px}.search-form-actions .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 16px #667eea66}.search-form-actions .btn-primary:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 6px 20px #667eea80;transform:translateY(-2px)}.search-form-actions .btn-secondary{background:#fff;color:#4a5568;border:2px solid #e2e8f0}.search-form-actions .btn-secondary:hover{background:#f7fafc;border-color:#cbd5e0;transform:translateY(-1px);box-shadow:0 4px 12px #00000014}.search-results{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000d}.search-results h3{margin:0 0 20px;font-size:18px;color:#2d3748;font-weight:600;display:flex;align-items:center;justify-content:space-between}.search-results-list{display:grid;gap:16px;max-height:450px;overflow-y:auto}.search-result-item{background:#cbd5e1;border:1px solid #e2e8f0;border-radius:8px;padding:20px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.search-result-item:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);opacity:0;transition:opacity .2s ease}.search-result-item:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px);border-color:#e2e8f0}.search-result-item:hover:before{opacity:1}.search-result-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.search-result-header h4{margin:0;font-size:18px;color:#2d3748;font-weight:700;line-height:1.3}.search-result-date{font-size:13px;color:#718096;font-weight:500;background:#f7fafc;padding:4px 12px;border-radius:12px}.search-result-content{font-size:15px;color:#4a5568;margin-bottom:16px;line-height:1.6;font-weight:500}.search-result-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.search-result-node{font-size:13px;color:#2b6cb0;font-weight:600;margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0;display:flex;align-items:center;gap:8px}.search-result-node:before{content:"📅";font-size:14px}.no-results,.no-search-results{text-align:center;padding:40px 20px;color:#718096;font-size:16px;font-style:italic}@media(max-width:768px){.search-panel{margin:80px 10px 10px;padding:16px}.search-form{padding:16px}.search-form-row{grid-template-columns:1fr;gap:16px}.search-form-actions{flex-direction:column}.search-form-actions button{width:100%}.search-results,.search-result-item{padding:16px}}.payment-qrcode-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:2000}.payment-qrcode-modal{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0003;width:90%;max-width:400px;padding:24px;text-align:center}.payment-qrcode-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #f0f0f0}.payment-qrcode-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.payment-qrcode-close{background:none;border:none;font-size:20px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.payment-qrcode-close:hover{background-color:#f0f0f0;color:#333}.payment-qrcode-content{display:flex;flex-direction:column;align-items:center;gap:20px}.payment-amount{font-size:32px;font-weight:700;color:#e60012;margin:0}.payment-description{font-size:16px;color:#666;margin:0}.qrcode-container{background-color:#fff;padding:20px;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000001a}.payment-instructions{font-size:14px;color:#666}.payment-instructions p{margin:8px 0}.checking-status{font-size:14px;color:#1989fa;font-style:italic;animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.vip-tooltip-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.vip-tooltip{background:transparent;border:none;box-shadow:none;z-index:1000;position:absolute!important;display:block!important;margin:0!important;padding:0!important}.vip-tooltip-content{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 8px 32px #667eea59;padding:24px;max-width:500px;min-width:480px;position:relative;overflow:visible;color:#fff;text-align:left;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tooltip-title{overflow:visible!important;flex-wrap:nowrap!important;white-space:nowrap!important}.star-icon{overflow:visible!important;display:inline-block!important;white-space:nowrap!important}.vip-tooltip-content:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#4ade80,#facc15,#fb923c,#f87171);opacity:.8}.tooltip-title{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-size:18px;font-weight:700;color:#fff;flex-direction:row;justify-content:flex-start;width:100%;text-align:left}.member-title,.visitor-title{font-size:18px;font-weight:700;background:linear-gradient(135deg,#f0abfc,#fde68a);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}.star-icon{font-size:20px;animation:pulse 1.5s infinite;display:inline-block}.greeting{font-size:16px;opacity:.9;color:#fff;display:inline-block}.visitor-subtitle{font-size:14px;opacity:.9;display:inline-block}.aurora-member-content,.star-visitor-content{display:block!important;width:100%!important}.aurora-member-content .tooltip-title,.star-visitor-content .tooltip-title{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;width:100%!important}.aurora-member-content .tooltip-title>*,.star-visitor-content .tooltip-title>*{display:inline-block!important;vertical-align:middle!important;float:none!important;flex-shrink:0!important}.vip-tooltip-content{min-width:280px!important;max-width:320px!important;display:block!important}.vip-tooltip{display:block!important;width:auto!important}.tooltip-body{margin-bottom:20px;font-size:14px;line-height:1.6;opacity:.9}.tooltip-body p{margin:8px 0}.privilege-text{font-weight:600;background:linear-gradient(135deg,#fde68a,#4ade80);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.closing-text{font-style:italic}.tooltip-buttons{display:flex;gap:12px;margin-bottom:16px}.upgrade-btn{background:linear-gradient(135deg,#4ade80,#22c55e);color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4ade804d;flex:1}.upgrade-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4ade8066;background:linear-gradient(135deg,#22c55e,#16a34a)}.cancel-btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex:1}.cancel-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px)}.tooltip-footer{height:4px;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:0 0 12px 12px;opacity:.7}.visitor-footer{background:linear-gradient(90deg,#facc15,#fb923c)}.vip-tooltip-close{position:absolute;top:12px;right:12px;background:#fff3;color:#fff;border:none;border-radius:50%;width:28px;height:28px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.vip-tooltip-close:hover{background:#ffffff4d;transform:rotate(90deg)}body .vip-tooltip,body .vip-tooltip-content,body .aurora-member-content,body .star-visitor-content,body .tooltip-title,body .tooltip-body,body .tooltip-buttons{all:unset!important;display:block!important;position:relative!important;box-sizing:border-box!important}body .vip-tooltip{position:absolute!important;z-index:1000!important;background:transparent!important;border:none!important;box-shadow:none!important;min-width:300px!important}body .vip-tooltip-content{background:linear-gradient(135deg,#667eea,#764ba2)!important;border-radius:16px!important;box-shadow:0 8px 32px #667eea59!important;padding:24px!important;min-width:280px!important;max-width:320px!important;position:relative!important;overflow:hidden!important;color:#fff!important;text-align:left!important;border:1px solid rgba(255,255,255,.2)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;display:block!important}body .vip-tooltip-content:before{content:""!important;position:absolute!important;top:0!important;left:0!important;right:0!important;height:4px!important;background:linear-gradient(90deg,#4ade80,#facc15,#fb923c,#f87171)!important;opacity:.8!important}body .tooltip-title{display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;margin-bottom:16px!important;font-size:18px!important;font-weight:700!important;color:#fff!important;justify-content:flex-start!important;width:100%!important;text-align:left!important;flex-wrap:nowrap!important}body .tooltip-title>*{display:inline-block!important;vertical-align:middle!important;float:none!important;flex-shrink:0!important;white-space:nowrap!important}body .member-title,body .visitor-title{font-size:18px!important;font-weight:700!important;background:linear-gradient(135deg,#f0abfc,#fde68a)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;display:inline-block!important}body .star-icon{font-size:20px!important;animation:pulse 1.5s infinite!important;display:inline-block!important}body .greeting{font-size:16px!important;opacity:.9!important;color:#fff!important;display:inline-block!important}body .visitor-subtitle{font-size:14px!important;opacity:.9!important;display:inline-block!important}body .tooltip-body{margin-bottom:20px!important;font-size:14px!important;line-height:1.6!important;opacity:.9!important;display:block!important}body .tooltip-body p{margin:8px 0!important;display:block!important;color:#fff!important}body .tooltip-buttons{gap:12px!important;margin-bottom:16px!important;display:flex!important}body .upgrade-btn{background:linear-gradient(135deg,#4ade80,#22c55e)!important;color:#fff!important;border:none!important;border-radius:8px!important;padding:10px 20px!important;font-size:14px!important;font-weight:600!important;cursor:pointer!important;transition:all .3s ease!important;box-shadow:0 4px 12px #4ade804d!important;flex:1!important;display:inline-block!important}body .cancel-btn{background:#fff3!important;color:#fff!important;border:1px solid rgba(255,255,255,.3)!important;border-radius:8px!important;padding:10px 20px!important;font-size:14px!important;font-weight:600!important;cursor:pointer!important;transition:all .3s ease!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;flex:1!important;display:inline-block!important}body .tooltip-footer{height:4px!important;background:linear-gradient(90deg,#667eea,#764ba2)!important;border-radius:0 0 12px 12px!important;opacity:.7!important;display:block!important}body .visitor-footer{background:linear-gradient(90deg,#facc15,#fb923c)!important}body .vip-tooltip-close{position:absolute!important;top:12px!important;right:12px!important;background:#fff3!important;color:#fff!important;border:none!important;border-radius:50%!important;width:28px!important;height:28px!important;font-size:16px!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .3s ease!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;z-index:1001!important}body .vip-tooltip-close:hover{background:#ffffff4d!important;transform:rotate(90deg)!important}.vip-status{position:relative;cursor:pointer;padding:8px 16px;border:none;background:transparent;color:#333;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;height:36px;line-height:20px;margin:0;border-radius:0;box-shadow:none}.vip-status:hover{background:#f0f4f8;color:#667eea}.vip-status.aurora{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:0;margin:0;padding:8px 16px;box-shadow:none;height:36px;line-height:20px}.vip-status.aurora:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:none}.vip-status.star{background:linear-gradient(135deg,#facc15,#fb923c);color:#fff;border-radius:0;margin:0;padding:8px 16px;box-shadow:none;height:36px;line-height:20px}.vip-status.star:hover{background:linear-gradient(135deg,#fb923c,#facc15);box-shadow:none}.layout-day .node-content{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;flex-grow:1!important;width:100%!important;height:100%!important;flex:1 1 100%!important;min-height:0!important;margin:0!important;padding:0!important;position:relative!important;overflow:hidden!important}.layout-day *:hover,.layout-day *:active,.layout-day *:focus{transform:none!important;transition:none!important;animation:none!important;box-shadow:none!important;z-index:inherit!important;content:none!important}.layout-day *,.layout-day .node-content,.layout-day .log-list,.layout-day .node-date{flex-grow:var(--flex-grow, 1)!important;flex-shrink:var(--flex-shrink, 1)!important;flex-basis:var(--flex-basis, auto)!important;display:var(--display, flex)!important;flex-direction:var(--flex-direction, column)!important;align-items:var(--align-items, stretch)!important;justify-content:var(--justify-content, flex-start)!important;width:var(--width, 100%)!important;height:var(--height, 100%)!important;min-height:var(--min-height, 0)!important;max-height:var(--max-height, none)!important;margin:var(--margin, 0)!important;padding:var(--padding, 0)!important;position:var(--position, relative)!important;overflow:var(--overflow, hidden)!important}.layout-day .log-item{flex-grow:var(--flex-grow, 1)!important;flex-shrink:var(--flex-shrink, 0)!important;flex-basis:var(--flex-basis, auto)!important;display:var(--display, flex)!important;flex-direction:var(--flex-direction, row)!important;align-items:var(--align-items, center)!important;justify-content:flex-start!important;text-align:left!important;width:var(--width, 100%)!important;height:var(--height, auto)!important;min-height:var(--min-height, 24px)!important;max-height:var(--max-height, none)!important;margin:var(--margin, 0)!important;padding:var(--padding, 6px 8px)!important;position:var(--position, relative)!important;overflow:var(--overflow, hidden)!important}.layout-day .node-content{--flex-grow: 1;--flex-shrink: 1;--flex-basis: 100%;--display: flex;--flex-direction: column;--align-items: stretch;--justify-content: flex-start;--width: 100%;--height: 100%;--min-height: 0;--max-height: 100%;--margin: 0;--padding: 0;--position: relative;--overflow: hidden}.layout-day .log-list{--flex-grow: 1;--flex-shrink: 1;--flex-basis: auto;--display: flex;--flex-direction: column;--align-items: stretch;--justify-content: flex-start;--width: 100%;--height: 100%;--min-height: 0;--max-height: none;--margin: 0;--padding: 0 2px 8px 0;--position: relative;--overflow: hidden}.layout-day .node-date{--flex-grow: 0;--flex-shrink: 0;--flex-basis: auto;--display: block;--width: auto;--height: auto;--min-height: 0;--max-height: none;--margin: 0;--padding: 0;--position: relative;--overflow: visible}.layout-day .log-item{--flex-grow: 1;--flex-shrink: 0;--flex-basis: auto;--display: flex;--align-items: center;--justify-content: flex-start;--width: 100%;--height: auto;--min-height: 24px;--max-height: none;--margin: 0;--padding: 6px 8px;--position: relative;--overflow: hidden}.layout-day .day-header,.layout-day .day-header span,.layout-day .day-header>*{background:linear-gradient(135deg,#f0f9ff,#e0f2fe)!important}.layout-day .day-header>span:first-child,.layout-day .day-header>.week-number-header{background:linear-gradient(135deg,#f0fdf4,#dcfce7)!important}.layout-day .node-week,.layout-day .node-week>*{background:linear-gradient(135deg,#f0fdf4,#dcfce7)!important;background-color:#f0fdf4!important;color:#475569!important;border-right:2px solid #bbf7d0!important}.layout-day .day-node,.layout-day .node,.layout-day .node-node,.layout-day .node-node-day{background-color:#fff!important}.layout-day *:before,.layout-day *:after{content:none!important}.layout-day .log-item{text-align:left!important;justify-content:flex-start!important;align-items:center!important;display:flex!important;flex-direction:row!important}.layout-day .log-item *{text-align:left!important;justify-content:flex-start!important;align-items:center!important}.layout-day .node-content{text-align:left!important;justify-content:flex-start!important;align-items:flex-start!important}.layout-day .log-list .log-item{text-align:left!important;justify-content:flex-start!important;align-items:center!important}.layout-day .node .log-item,.nodes-container.layout-day .node .log-list .log-item{text-align:left!important;justify-content:flex-start!important;align-items:center!important;display:flex!important;flex-direction:row!important}.scroll-container .layout-year,.calendar-container .layout-year,.nodes-container.layout-year{display:flex!important;position:relative!important;min-height:calc(100vh - 38px)!important;height:auto!important;width:100%!important;background:linear-gradient(135deg,#f0f4f8,#e2e8f0)!important;border-radius:0!important;padding:100px 20px 40px!important;box-shadow:none!important;overflow:visible!important;box-sizing:border-box!important;flex:1!important;justify-content:center!important;align-items:center!important;--node-width: clamp(105px, 15vw, 180px);--node-height: calc(var(--node-width) * .8);--node-gap: calc(var(--node-width) * 1.5);--center-x: 50%;--center-y: calc(50% + 40px) ;--base-font-size: calc(var(--node-width) * .13);--container-height: calc(100vh - 38px) ;--container-width: 100vw;--sector-radius: min(35vw, 35vh);--sector-angle: 120deg}.nodes-container.layout-year:after{content:none!important;display:none!important;border:none!important}.nodes-container.layout-year{position:relative!important;display:block!important;justify-content:center!important;align-items:center!important;width:100%!important;height:100%!important;background:linear-gradient(135deg,#faf3e0,beige)!important;border:none!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;padding:80px 20px 40px!important;box-sizing:border-box!important}.nodes-container.layout-year:before{content:none!important}@keyframes yearNodeRotateIn{0%{opacity:0;transform:translate(-50%,-50%) rotate(-10deg) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) rotate(var(--node-rotation, 0deg)) scale(1)}}.nodes-container.layout-year:after{content:attr(data-decade)!important;position:absolute!important;top:60%!important;left:calc(50% + var(--sector-width) * .125)!important;transform:translate(-50%,-50%)!important;font-size:calc(var(--node-size) * .3)!important;font-weight:800!important;color:#6478a0cc!important;font-family:SF Pro Display,PingFang SC,Helvetica Neue,Arial,sans-serif!important;letter-spacing:2px!important;text-shadow:2px 2px 4px rgba(0,0,0,.1),0 0 10px rgba(100,120,160,.3)!important;z-index:5!important;pointer-events:none!important;opacity:.9!important;display:block!important}.layout-year:after{display:none!important;content:""!important}:root{--color-jade: linear-gradient(135deg, #8ba379 0%, #a9c67a 100%);--color-vermilion: linear-gradient(135deg, #d68985 0%, #e09a8a 100%);--color-azure: linear-gradient(135deg, #9cbabf 0%, #b0c6c8 100%);--color-amber: linear-gradient(135deg, #e6d18a 0%, #f0e0a3 100%);--color-purple: linear-gradient(135deg, #b3a2c7 0%, #c4b0d1 100%);--color-rosewood: linear-gradient(135deg, #bb8a8a 0%, #c9a5a5 100%);--color-turquoise: linear-gradient(135deg, #a5d9d6 0%, #b5e0de 100%);--color-saffron: linear-gradient(135deg, #f1e0a8 0%, #f5e6b5 100%);--color-ivory: linear-gradient(135deg, #f8f5e8 0%, #f5f0d3 100%);--color-peony: linear-gradient(135deg, #d7c1e0 0%, #e0d0e8 100%);--color-gold: linear-gradient(135deg, #f0e6a8 0%, #f5eeb5 100%)}.layout-year,.scroll-container .layout-year,.calendar-container .layout-year,.nodes-container.layout-year{background:linear-gradient(135deg,#f0f4f8,#e2e8f0)!important;background-image:none!important;position:relative!important;display:block!important;justify-content:center!important;align-items:center!important;min-height:calc(100vh - 90px)!important;padding:100px 20px 40px!important;box-sizing:border-box!important;overflow:visible!important;--sector-width: min(80vw, 80vh) !important;--sector-height: min(50vw, 50vh) !important;--node-size: calc(var(--sector-width) * .22) !important}.nodes-container.layout-year .node,.scroll-container .layout-year .node,.calendar-container .layout-year .node{width:var(--node-size)!important;height:calc(var(--node-size) * .8)!important;position:absolute!important;top:auto!important;left:auto!important;z-index:10!important;background:linear-gradient(135deg,#fff,#f0f4f8);border:2px solid rgba(100,120,160,.2)!important;border-radius:16px!important;box-shadow:0 8px 24px #00000014,0 4px 12px #0000000a!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;text-align:center!important;padding:1vw!important;box-sizing:border-box!important;cursor:pointer!important;color:#5d4037!important;text-shadow:0 1px 2px rgba(255,255,255,.8)!important;flex:none!important;background-image:radial-gradient(circle at 30% 30%,rgba(255,255,255,.4) 0%,transparent 50%),radial-gradient(circle at 70% 70%,rgba(0,0,0,.05) 0%,transparent 50%);pointer-events:auto!important;-webkit-user-select:text!important;user-select:text!important;touch-action:manipulation!important;opacity:0;visibility:visible!important;transform:translate(-50%,-50%) rotate(-10deg) scale(.9);transition:transform .64s ease-in-out!important;will-change:transform!important;animation:yearNodeRotateIn .64s ease-in-out forwards!important;animation-delay:calc(var(--node-index, 0) * .04s)!important}.nodes-container.layout-year .node:nth-child(1),.scroll-container .layout-year .node:nth-child(1),.calendar-container .layout-year .node:nth-child(1){top:calc(50% - var(--sector-height) * .5)!important;left:50%!important;--node-index: 1;--node-rotation: 7deg;z-index:20!important}.nodes-container.layout-year .node:nth-child(2),.scroll-container .layout-year .node:nth-child(2),.calendar-container .layout-year .node:nth-child(2){top:calc(50% - var(--sector-height) * .25)!important;left:calc(50% - var(--sector-width) * .3)!important;--node-index: 2;--node-rotation: -30deg;z-index:25!important}.nodes-container.layout-year .node:nth-child(3),.scroll-container .layout-year .node:nth-child(3),.calendar-container .layout-year .node:nth-child(3){top:calc(50% + var(--sector-height) * .2)!important;left:calc(50% - var(--sector-width) * .4)!important;--node-index: 3;--node-rotation: -30deg;z-index:25!important}.nodes-container.layout-year .node:nth-child(4),.scroll-container .layout-year .node:nth-child(4),.calendar-container .layout-year .node:nth-child(4){top:calc(50% - var(--sector-height) * .3)!important;left:calc(50% + var(--sector-width) * .4)!important;--node-index: 4;--node-rotation: 35deg;z-index:25!important}.nodes-container.layout-year .node:nth-child(5),.scroll-container .layout-year .node:nth-child(5),.calendar-container .layout-year .node:nth-child(5){top:calc(50% + var(--sector-height) * .25)!important;left:calc(50% + var(--sector-width) * .45)!important;--node-index: 5;--node-rotation: 45deg;z-index:20!important}.nodes-container.layout-year .node:nth-child(6),.scroll-container .layout-year .node:nth-child(6),.calendar-container .layout-year .node:nth-child(6){top:50%!important;left:calc(50% - var(--sector-width) * .5)!important;--node-index: 6;--node-rotation: -60deg;z-index:20!important}.nodes-container.layout-year .node:nth-child(7),.scroll-container .layout-year .node:nth-child(7),.calendar-container .layout-year .node:nth-child(7){top:50%!important;left:calc(50% + var(--sector-width) * .5)!important;--node-index: 7;--node-rotation: 60deg;z-index:20!important}.nodes-container.layout-year .node:nth-child(8),.scroll-container .layout-year .node:nth-child(8),.calendar-container .layout-year .node:nth-child(8){top:calc(50% + var(--sector-height) * .5)!important;left:50%!important;--node-index: 8;--node-rotation: -5deg;z-index:20!important}.nodes-container.layout-year .node:nth-child(9),.scroll-container .layout-year .node:nth-child(9),.calendar-container .layout-year .node:nth-child(9){top:calc(50% + var(--sector-height) * .05)!important;left:calc(50% - var(--sector-width) * .2)!important;--node-index: 9;--node-rotation: -10deg;z-index:20!important}.nodes-container.layout-year .node:nth-child(10),.scroll-container .layout-year .node:nth-child(10),.calendar-container .layout-year .node:nth-child(10){top:calc(50% - var(--sector-height) * .1)!important;left:calc(50% + var(--sector-width) * .25)!important;--node-index: 10;--node-rotation: 15deg;z-index:15!important}.scroll-container .layout-year .node-date,.calendar-container .layout-year .node-date,.nodes-container.layout-year .node-date{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:20!important;overflow:visible!important;white-space:normal!important;text-overflow:clip!important;font-size:calc(var(--node-size) * .28)!important;font-weight:900!important;line-height:1!important;margin-bottom:.2em!important;font-family:SF Pro Display,Helvetica Neue,PingFang SC,Microsoft YaHei,Arial,sans-serif!important;letter-spacing:1.5px!important;padding:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;text-align:center!important;width:100%!important;background:linear-gradient(135deg,#fff,#f8f9fa,#e9ecef)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;text-shadow:2px 2px 4px rgba(0,0,0,.35),0 0 20px rgba(255,255,255,.6)!important;-webkit-text-stroke:.6px rgba(255,255,255,.6)!important;border:none!important;outline:none!important;clip-path:none!important}.scroll-container .layout-year .node-label,.calendar-container .layout-year .node-label,.nodes-container.layout-year .node-label,.layout-year .node-year .node-label{font-size:calc(var(--node-size) * .14)!important;color:#795548!important;font-weight:500!important;text-transform:none!important;letter-spacing:1px!important;font-family:STZhongsong,SimSun,"FangSong",KaiTi,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;justify-content:center!important;opacity:.9!important;display:block!important;visibility:visible!important;opacity:1!important;position:static!important;padding:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;text-align:center!important;width:100%!important;background:linear-gradient(135deg,rgba(0,0,0,.1) 0%,transparent 100%)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:#795548!important;background-clip:text!important;margin-bottom:6px!important;text-shadow:0 1px 2px rgba(255,255,255,.8)!important}.scroll-container .layout-year .node-meta,.calendar-container .layout-year .node-meta,.nodes-container.layout-year .node-meta,.layout-year .node-year .node-meta{display:flex!important;flex-direction:row!important;justify-content:center!important;align-items:center!important;gap:8px!important;margin:0!important;padding:0!important;width:100%!important}.scroll-container .layout-year .node-label,.calendar-container .layout-year .node-label,.nodes-container.layout-year .node-label,.layout-year .node-year .node-label{font-size:calc(var(--node-size) * .22)!important;font-weight:700!important;text-transform:none!important;letter-spacing:2px!important;font-family:STXingkai,STKaiti,STZhongsong,"FangSong",-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important;position:static!important;padding:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;text-align:center!important;width:auto!important;margin:0!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;color:#d4af37!important;-webkit-text-fill-color:#d4af37!important;-webkit-background-clip:text!important;background-clip:text!important;text-shadow:1px 1px 2px rgba(0,0,0,.8),0 0 8px rgba(212,175,55,.6)!important;-webkit-text-stroke:none!important}.scroll-container .layout-year .node-year-diff,.calendar-container .layout-year .node-year-diff,.nodes-container.layout-year .node-year-diff,.layout-year .node-year .node-year-diff{font-size:clamp(10px,calc(var(--node-size) * .12),calc(var(--node-size) * .14))!important;font-weight:600!important;text-transform:none!important;letter-spacing:.5px!important;font-family:SF Pro Display,Helvetica Neue,PingFang SC,Microsoft YaHei,Arial,sans-serif!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important;position:static!important;padding:.12em .5em!important;background:#ffffff40!important;border-radius:14px!important;box-shadow:0 2px 8px #0003!important;text-align:center!important;width:auto!important;min-width:0!important;margin:0!important;-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:#fffffffa!important;-webkit-text-fill-color:rgba(255,255,255,.98)!important;background-clip:padding-box!important;text-shadow:1px 1px 3px rgba(0,0,0,.45),0 0 10px rgba(255,255,255,.5)!important;-webkit-text-stroke:none!important}.scroll-container .layout-year .node.middle-node .node-date,.calendar-container .layout-year .node.middle-node .node-date,.nodes-container.layout-year .node.middle-node .node-date,.layout-year .node-year.middle-node .node-date{font-size:calc(var(--node-size) * .28)!important;font-weight:900!important;line-height:1!important;margin-bottom:.2em!important;font-family:SF Pro Display,Helvetica Neue,PingFang SC,Microsoft YaHei,Arial,sans-serif!important;letter-spacing:1.5px!important;padding:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;text-align:center!important;width:100%!important;background:linear-gradient(135deg,#fff,#f8f9fa,#e9ecef)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;text-shadow:2px 2px 4px rgba(0,0,0,.35),0 0 20px rgba(255,255,255,.6)!important;-webkit-text-stroke:.6px rgba(255,255,255,.6)!important;background-clip:text!important;border:none!important;outline:none!important;clip-path:none!important}.nodes-container.layout-year .node:hover,.scroll-container .layout-year .node:hover,.calendar-container .layout-year .node:hover{transform:translate(-50%,-50%) scale(1.1) rotate(0)!important;box-shadow:0 24px 64px #e6d18a66,0 12px 32px #00000026,inset 0 1px #ffffffe6,inset 0 -1px #0000000d!important;border-color:#00000040!important;z-index:100!important;transition:transform .64s ease-in-out!important}.nodes-container.layout-year .node:nth-child(5):hover,.scroll-container .layout-year .node:nth-child(5):hover,.calendar-container .layout-year .node:nth-child(5):hover{transform:translate(-50%,-50%) scale(1.2) rotate(0)!important;z-index:200!important;transition:transform .64s ease-in-out!important}.layout-year .node:hover .node-date,.layout-year .node-year:hover .node-date,.nodes-container.layout-year .node:hover .node-date,.scroll-container .layout-year .node:hover .node-date,.calendar-container .layout-year .node:hover .node-date,.nodes-container.layout-year .node:nth-child(5):hover .node-date,.scroll-container .layout-year .node:nth-child(5):hover .node-date,.calendar-container .layout-year .node:nth-child(5):hover .node-date{background:linear-gradient(135deg,#fff 0% 50%,#fffffff2)!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;-webkit-text-stroke:.9px rgba(255,255,255,.8)!important;text-shadow:2px 2px 5px rgba(0,0,0,.45),0 0 25px rgba(255,255,255,.8)!important;filter:none!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.layout-year .node:hover .node-label,.layout-year .node-year:hover .node-label,.nodes-container.layout-year .node:hover .node-label,.scroll-container .layout-year .node:hover .node-label,.calendar-container .layout-year .node:hover .node-label,.nodes-container.layout-year .node:nth-child(5):hover .node-label,.scroll-container .layout-year .node:nth-child(5):hover .node-label,.calendar-container .layout-year .node:nth-child(5):hover .node-label{background:transparent!important;color:gold!important;-webkit-text-fill-color:#ffd700!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-stroke:none!important;text-shadow:1px 1px 3px rgba(0,0,0,.9),0 0 12px rgba(255,215,0,.9)!important;box-shadow:none!important;filter:none!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.layout-year .node:hover .node-year-diff,.layout-year .node-year:hover .node-year-diff,.nodes-container.layout-year .node:hover .node-year-diff,.scroll-container .layout-year .node:hover .node-year-diff,.calendar-container .layout-year .node:hover .node-year-diff,.nodes-container.layout-year .node:nth-child(5):hover .node-year-diff,.scroll-container .layout-year .node:nth-child(5):hover .node-year-diff,.calendar-container .layout-year .node:nth-child(5):hover .node-year-diff{background:#ffffff59!important;color:#fff!important;-webkit-text-fill-color:rgba(255,255,255,1)!important;background-clip:padding-box!important;-webkit-text-stroke:none!important;text-shadow:1px 1px 3px rgba(0,0,0,.5),0 0 15px rgba(255,255,255,.7)!important;box-shadow:0 3px 12px #00000040!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;filter:none!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.nodes-container.layout-year .node:nth-child(5):hover,.scroll-container .layout-year .node:nth-child(5):hover,.calendar-container .layout-year .node:nth-child(5):hover{transform:translate(-50%,-50%) scale(1.2) rotate(0)!important;box-shadow:0 24px 64px #e6d18a66,0 12px 32px #00000026,inset 0 1px #ffffffe6,inset 0 -1px #0000000d!important;border-color:#00000040!important;transition:transform .5s ease-in-out!important}.layout-year .node:active,.layout-year .node-year:active,.layout-year .node.node-year:active,.nodes-container.layout-year .node:active,.nodes-container.layout-year .node-year:active,.layout-year .node.middle-node:active,.layout-year .node-year.middle-node:active,.nodes-container.layout-year .node.middle-node:active{transform:translate(-50%,-50%) scale(.98) rotate(0)!important;box-shadow:0 6px 16px #0000001f,inset 0 2px #fffc,inset 0 -2px #0000001a!important;border-color:#00000040!important;transition:all .15s ease!important}.layout-year .node .node-content,.layout-year .node .node-date,.layout-year .node .node-label,.layout-year .node .node-year-diff{transition:none!important;transform:none!important}.layout-year .node-content:before,.layout-year .node-content:after,.layout-year .node-date:before,.layout-year .node-date:after,.layout-year .node-label:before,.layout-year .node-label:after,.layout-year .node-year:before,.layout-year .node-year:after{display:none!important;content:""!important;opacity:0!important}.layout-year .node:hover .node-content,.layout-year .node:hover .node-date,.layout-year .node:hover .node-label,.layout-year .node:hover .node-year-diff{transform:none!important;translate:0!important;scale:1!important;transition:none!important;background:transparent!important;box-shadow:none!important;border:none!important}.layout-year .node-tooltip{display:none!important}.layout-year .node-year:hover .node-tooltip{display:none!important;opacity:0!important}.layout-year .node-content,.layout-year .node-date,.layout-year .node-label,.layout-year .node-year-diff{overflow:hidden!important;background:transparent!important;border:none!important;box-shadow:none!important;transition:none!important;animation:none!important}.scroll-container .layout-year .node.middle-node,.calendar-container .layout-year .node.middle-node,.nodes-container.layout-year .node.middle-node,.layout-year .node-year.middle-node,.nodes-container.layout-year .node-year.middle-node{clip-path:none!important;border-radius:16px!important;background:linear-gradient(135deg,#fff,#f0f4f8)!important;border:2px solid rgba(100,120,160,.2)!important;box-shadow:0 8px 24px #00000014,0 4px 12px #0000000a!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;cursor:pointer!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;padding:1vw!important;box-sizing:border-box!important;overflow:visible!important;text-overflow:visible!important;white-space:normal!important;word-break:normal!important;margin:0!important;z-index:10!important;color:#5d4037!important;text-shadow:0 1px 2px rgba(255,255,255,.8)!important;aspect-ratio:auto!important;flex:none!important;position:absolute!important;width:var(--node-size)!important;height:calc(var(--node-size) * .8)!important;font-size:var(--base-font-size)!important;background-image:radial-gradient(circle at 30% 30%,rgba(255,255,255,.4) 0%,transparent 50%),radial-gradient(circle at 70% 70%,rgba(0,0,0,.05) 0%,transparent 50%)!important;pointer-events:auto!important;-webkit-user-select:text!important;user-select:text!important;touch-action:manipulation!important}.layout-year .node .node-content,.layout-year .node-year .node-content,.nodes-container.layout-year .node .node-content,.scroll-container .layout-year .node .node-content,.calendar-container .layout-year .node .node-content{transform:none!important}.layout-year .log-count-badge,.nodes-container.layout-year .log-count-badge,.scroll-container .layout-year .log-count-badge,.calendar-container .layout-year .log-count-badge{transform:rotate(0)!important}.layout-year .node:before,.layout-year .node-year:before{content:""!important;position:absolute!important;inset:0!important;background:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)!important;background-size:20px 20px!important;border-radius:inherit!important;opacity:.2!important;pointer-events:none!important;z-index:1!important}xi :root{--color-jade: linear-gradient(135deg, #8ba379 0%, #a9c67a 100%);--color-vermilion: linear-gradient(135deg, #d68985 0%, #e09a8a 100%);--color-azure: linear-gradient(135deg, #9cbabf 0%, #b0c6c8 100%);--color-amber: linear-gradient(135deg, #e6d18a 0%, #f0e0a3 100%);--color-purple: linear-gradient(135deg, #b3a2c7 0%, #c4b0d1 100%);--color-rosewood: linear-gradient(135deg, #bb8a8a 0%, #c9a5a5 100%);--color-turquoise: linear-gradient(135deg, #a5d9d6 0%, #b5e0de 100%);--color-saffron: linear-gradient(135deg, #f1e0a8 0%, #f5e6b5 100%);--color-ivory: linear-gradient(135deg, #f8f5e8 0%, #f5f0d3 100%);--color-peony: linear-gradient(135deg, #d7c1e0 0%, #e0d0e8 100%);--color-gold: linear-gradient(135deg, #f0e6a8 0%, #f5eeb5 100%)}.nodes-container.layout-month{position:relative!important;width:100%!important;min-height:calc(100vh - 38px)!important;height:auto!important;margin:0 auto!important;padding:0!important;box-sizing:border-box!important;overflow:visible!important;background:linear-gradient(135deg,#faf3e0,beige)!important;background-image:radial-gradient(circle at center,rgba(108,99,255,.05) 0%,transparent 70%)!important;background-size:100% 100%!important;border:none!important;border-radius:0!important;--node-size: clamp(72px, min(9.6vw, 9.6vh), 96px);--clock-radius: clamp(180px, min(30vw, 30vh), 300px);--clock-diameter: calc(var(--clock-radius) * 2);--border-radius: 50%;--container-padding: calc(var(--node-size) * 1.2);display:flex!important;justify-content:center!important;align-items:center!important;flex:1!important}.nodes-container.layout-month:before{content:"";position:absolute;top:50%;left:50%;width:calc(var(--clock-radius) * 2);height:calc(var(--clock-radius) * 2);transform:translate(-50%,-50%);border:2px dashed #ced4da;border-radius:50%;z-index:1;opacity:.6;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%)}.nodes-container.layout-month{--year: "2025";--zodiac: "龙年";--ganzhi: "甲辰"}.month-center-display{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:4;background:linear-gradient(135deg,#fff,#f8f9fa);padding:clamp(15px,min(4vw,4vh),30px) clamp(20px,min(6vw,6vh),40px);border-radius:30px;box-shadow:0 6px 16px #0000001a,inset 0 1px #fffc,inset 0 -1px #0000000d;border:1px solid rgba(222,226,230,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center}.month-center-year{font-size:clamp(24px,min(8vw,8vh),56px);font-weight:600;color:#495057;font-family:Georgia,serif;letter-spacing:2px;line-height:1.2}.month-center-info{font-size:clamp(14px,min(4vw,4vh),24px);font-weight:400;background:linear-gradient(135deg,#4a3529,#6d5447,#4a3529);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;-webkit-text-stroke:.5px rgba(74,53,41,.3);text-shadow:2px 2px 4px rgba(255,255,255,.9),0 0 10px rgba(218,165,32,.15),0 0 20px rgba(218,165,32,.08);font-family:STZhongsong,SimHei,STSong,KaiTi,"FangSong",-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;letter-spacing:2px;line-height:1.4;margin-top:8px}.nodes-container.layout-month:before,.nodes-container.layout-month:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:0;display:none}.nodes-container.layout-month .node{width:var(--node-size)!important;height:var(--node-size)!important;position:absolute!important;top:auto!important;left:auto!important;margin:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;border-radius:var(--border-radius)!important;border:2px solid rgba(0,0,0,.1)!important;background:var(--color-ivory);box-shadow:0 4px 16px #0000001a,0 2px 8px #00000014 ! important,inset 0 1px #ffffffe6,inset 0 -1px #0000001a!important;background-image:radial-gradient(circle at 30% 30%,rgba(255,255,255,.4) 0%,transparent 50%),radial-gradient(circle at 70% 70%,rgba(0,0,0,.05) 0%,transparent 50%);z-index:10!important;animation:none!important;transition:box-shadow .3s ease,border-color .3s ease,transform .5s ease!important;cursor:pointer!important;overflow:visible!important;padding:8px!important;box-sizing:border-box!important;flex:none!important;aspect-ratio:1!important;text-overflow:visible!important;white-space:normal!important;word-break:normal!important;transform-origin:center!important}.nodes-container.layout-month .node-date{font-size:calc(var(--node-size) * .45)!important;font-weight:900!important;color:#4a3529!important;line-height:1.1!important;margin-bottom:4px!important;font-family:STZhongsong,SimHei,STSong,KaiTi,"FangSong",-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;letter-spacing:1px!important;display:block!important;visibility:visible!important;opacity:1!important;position:static!important;padding:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;text-align:center!important;width:auto!important;text-shadow:2px 2px 4px rgba(255,255,255,.9),0 0 10px rgba(218,165,32,.15),0 0 20px rgba(218,165,32,.08)!important;background:linear-gradient(135deg,#4a3529,#6d5447,#4a3529)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;-webkit-text-stroke:.5px rgba(74,53,41,.3)!important}.nodes-container.layout-month .node-label{font-size:calc(var(--node-size) * .14)!important;color:#5d4037!important;font-weight:800!important;text-transform:none!important;letter-spacing:3px!important;font-family:STZhongsong,SimHei,STSong,KaiTi,"FangSong",-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;display:inline-flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important;position:static!important;padding:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;text-align:center!important;width:auto!important;margin:0!important;text-shadow:1px 1px 3px rgba(255,255,255,.9),0 0 8px rgba(218,165,32,.15)!important;background:linear-gradient(135deg,#5d4037,#8d6e63,#5d4037)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;-webkit-text-stroke:.5px rgba(93,64,55,.3)!important}.nodes-container.layout-month .node{position:absolute!important;top:auto!important;left:auto!important;transform:none!important;z-index:10!important;background:var(--color-ivory);width:var(--node-size)!important;height:var(--node-size)!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;border-radius:50%!important;border:2px solid rgba(0,0,0,.1)!important;box-shadow:0 4px 16px #0000001a,0 2px 8px #00000014 ! important,inset 0 1px #ffffffe6,inset 0 -1px #0000001a!important;cursor:pointer!important;overflow:visible!important;text-overflow:visible!important;white-space:normal!important;word-break:normal!important;transform-origin:center!important;transition:box-shadow .3s ease,border-color .3s ease,transform .5s ease!important}.nodes-container.layout-month .node:nth-child(2){top:calc(50% - var(--clock-radius) * .866 - var(--node-size) * .5)!important;left:calc(50% + var(--clock-radius) * .5 - var(--node-size) * .5)!important;transform:rotate(30deg)!important;z-index:11!important}.nodes-container.layout-month .node:nth-child(3){top:calc(50% - var(--clock-radius) * .5 - var(--node-size) * .5)!important;left:calc(50% + var(--clock-radius) * .866 - var(--node-size) * .5)!important;transform:rotate(60deg)!important;z-index:11!important}.nodes-container.layout-month .node:nth-child(4){top:calc(50% - var(--node-size) * .5)!important;left:calc(50% + var(--clock-radius) - var(--node-size) * .5)!important;transform:rotate(90deg)!important;z-index:11!important}.nodes-container.layout-month .node:nth-child(5){top:calc(50% + var(--clock-radius) * .5 - var(--node-size) * .5)!important;left:calc(50% + var(--clock-radius) * .866 - var(--node-size) * .5)!important;transform:rotate(120deg)!important;z-index:11!important}.nodes-container.layout-month .node:nth-child(6){top:calc(50% + var(--clock-radius) * .866 - var(--node-size) * .5)!important;left:calc(50% + var(--clock-radius) * .5 - var(--node-size) * .5)!important;transform:rotate(150deg)!important;z-index:11!important}.nodes-container.layout-month .node:nth-child(7){top:calc(50% + var(--clock-radius) - var(--node-size) * .5)!important;left:calc(50% - var(--node-size) * .5)!important;transform:rotate(180deg)!important;z-index:11!important}.nodes-container.layout-month .node:nth-child(8){top:calc(50% + var(--clock-radius) * .866 - var(--node-size) * .5)!important;left:calc(50% - var(--clock-radius) * .5 - var(--node-size) * .5)!important;transform:rotate(210deg)!important;z-index:11!important}.nodes-container.layout-month .node:nth-child(9){top:calc(50% + var(--clock-radius) * .5 - var(--node-size) * .5)!important;left:calc(50% - var(--clock-radius) * .866 - var(--node-size) * .5)!important;transform:rotate(240deg)!important;z-index:11!important}.nodes-container.layout-month .node:nth-child(10){top:calc(50% - var(--node-size) * .5)!important;left:calc(50% - var(--clock-radius) - var(--node-size) * .5)!important;transform:rotate(270deg)!important;z-index:11!important}.nodes-container.layout-month .node:nth-child(11){top:calc(50% - var(--clock-radius) * .5 - var(--node-size) * .5)!important;left:calc(50% - var(--clock-radius) * .866 - var(--node-size) * .5)!important;transform:rotate(300deg)!important;z-index:11!important}.nodes-container.layout-month .node:nth-child(12){top:calc(50% - var(--clock-radius) * .866 - var(--node-size) * .5)!important;left:calc(50% - var(--clock-radius) * .5 - var(--node-size) * .5)!important;transform:rotate(330deg)!important;z-index:11!important}.nodes-container.layout-month .node:nth-child(13){top:calc(50% - var(--clock-radius) - var(--node-size) * .5)!important;left:calc(50% - var(--node-size) * .5)!important;transform:rotate(0)!important;z-index:11!important}.nodes-container.layout-month .node{transition:box-shadow .3s ease,border-color .3s ease,transform .5s ease!important}.nodes-container.layout-month .node:hover{z-index:100!important;box-shadow:0 16px 40px #0003,0 8px 24px #0000001f ! important,inset 0 1px #ffffffe6,inset 0 -1px #0000001a!important;border-color:#0000004d!important;filter:contrast(1.2)!important}.nodes-container.layout-month .node:nth-child(2):hover,.nodes-container.layout-month .node:nth-child(3):hover,.nodes-container.layout-month .node:nth-child(4):hover,.nodes-container.layout-month .node:nth-child(5):hover,.nodes-container.layout-month .node:nth-child(6):hover,.nodes-container.layout-month .node:nth-child(7):hover,.nodes-container.layout-month .node:nth-child(13):hover{transform:rotate(0) scale(1.2)!important}.nodes-container.layout-month .node:nth-child(8):hover,.nodes-container.layout-month .node:nth-child(9):hover,.nodes-container.layout-month .node:nth-child(10):hover,.nodes-container.layout-month .node:nth-child(11):hover,.nodes-container.layout-month .node:nth-child(12):hover{transform:rotate(360deg) scale(1.2)!important}.nodes-container.layout-month .node .node-date{display:inline-flex;align-items:center;justify-content:center;gap:2px;position:relative;font-weight:900!important;font-family:STZhongsong,SimHei,STSong,KaiTi,"FangSong",-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;background:linear-gradient(135deg,#4a3529,#6d5447,#4a3529)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;-webkit-text-stroke:.5px rgba(74,53,41,.3)!important;text-shadow:2px 2px 4px rgba(255,255,255,.9),0 0 10px rgba(218,165,32,.15),0 0 20px rgba(218,165,32,.08)!important}.nodes-container.layout-month .node:hover .node-date{font-weight:900!important;color:#2c3e50!important;text-shadow:2px 2px 4px rgba(255,215,0,.8),0 0 10px rgba(255,215,0,.6),0 0 20px rgba(255,215,0,.4)!important;background:none!important;-webkit-background-clip:none!important;-webkit-text-fill-color:#2c3e50!important;-webkit-text-stroke:.5px rgba(44,62,80,.5)!important}.nodes-container.layout-month .node:hover .node-date:after{content:"月";display:inline;font-weight:900!important;color:#2c3e50!important;text-shadow:2px 2px 4px rgba(255,215,0,.8),0 0 10px rgba(255,215,0,.6),0 0 20px rgba(255,215,0,.4)!important;background:none!important;-webkit-background-clip:none!important;-webkit-text-fill-color:#2c3e50!important;-webkit-text-stroke:.5px rgba(44,62,80,.5)!important}.nodes-container.layout-month .node .node-label{font-weight:900!important;font-family:STZhongsong,SimHei,STSong,KaiTi,"FangSong",-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important}.nodes-container.layout-month .node:hover .node-label{font-weight:900!important;color:#2c3e50!important;text-shadow:2px 2px 4px rgba(255,215,0,.8),0 0 10px rgba(255,215,0,.6),0 0 20px rgba(255,215,0,.4)!important;background:none!important;-webkit-background-clip:none!important;-webkit-text-fill-color:#2c3e50!important;-webkit-text-stroke:.5px rgba(44,62,80,.5)!important}.nodes-container.layout-month .node.middle-node{border:2px solid rgba(0,0,0,.15)!important;box-shadow:0 16px 48px #e6d18a4d,0 8px 24px #0000001a,inset 0 1px #fff6,inset 0 -1px #0000000d!important;z-index:50!important;border-radius:20px!important}.nodes-container.layout-month .node.middle-node{transition:box-shadow .3s ease,border-color .3s ease,transform .5s ease!important}.nodes-container.layout-month .node.middle-node:hover{box-shadow:0 24px 64px #e6d18a66,0 12px 32px #00000026 ! important,inset 0 1px #ffffffe6,inset 0 -1px #0000000d!important;border-color:#00000040!important;z-index:100!important;filter:contrast(1.2)!important}.nodes-container.layout-month .node:active{box-shadow:0 6px 16px #0000001f,inset 0 2px #fffc,inset 0 -2px #0000001a!important;border-color:#00000040!important;transition:all .15s ease!important}.nodes-container.layout-month .node.middle-node:active{border:2px solid rgba(0,0,0,.25)!important;box-shadow:0 16px 48px #e6d18a66,0 8px 24px #00000026,inset 0 2px #fffc,inset 0 -2px #0000001a!important;transition:all .15s ease!important}@media(max-width:768px){.nodes-container.layout-month{min-height:400px}.nodes-container.layout-month:after{font-size:clamp(20px,6vw,24px)!important;padding:clamp(6px,2vw,10px) clamp(12px,4vw,20px)!important}}.nodes-container.layout-month .node:nth-child(2) .log-count-badge{transform:rotate(-30deg)!important}.nodes-container.layout-month .node:nth-child(3) .log-count-badge{transform:rotate(-60deg)!important}.nodes-container.layout-month .node:nth-child(4) .log-count-badge{transform:rotate(-90deg)!important}.nodes-container.layout-month .node:nth-child(5) .log-count-badge{transform:rotate(-120deg)!important}.nodes-container.layout-month .node:nth-child(6) .log-count-badge{transform:rotate(-150deg)!important}.nodes-container.layout-month .node:nth-child(7) .log-count-badge{transform:rotate(-180deg)!important}.nodes-container.layout-month .node:nth-child(8) .log-count-badge{transform:rotate(-210deg)!important}.nodes-container.layout-month .node:nth-child(9) .log-count-badge{transform:rotate(-240deg)!important}.nodes-container.layout-month .node:nth-child(10) .log-count-badge{transform:rotate(-270deg)!important}.nodes-container.layout-month .node:nth-child(11) .log-count-badge{transform:rotate(-300deg)!important}.nodes-container.layout-month .node:nth-child(12) .log-count-badge{transform:rotate(-330deg)!important}.nodes-container.layout-month .node:nth-child(13) .log-count-badge{transform:rotate(0)!important}.nodes-container.layout-month .node .log-count-badge{z-index:100!important;position:absolute!important;top:-4px!important;right:-4px!important;transform-origin:center!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;margin:0!important;padding:0!important}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320"><path fill="rgba(255,255,255,0.05)" fill-opacity="1" d="M0,256L48,245.3C96,235,192,213,288,213.3C384,213,480,235,576,240C672,245,768,235,864,208C960,181,1056,139,1152,133.3C1248,128,1344,160,1392,176L1440,192L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path></svg>');background-size:cover;background-position:center;z-index:0}.login-form{background-color:#fff;padding:35px;border-radius:20px;box-shadow:0 20px 60px #0003;width:100%;max-width:380px;position:relative;z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid rgba(255,255,255,.2);transition:all .3s ease}.login-form:hover{box-shadow:0 25px 70px #00000040;transform:translateY(-5px)}.login-title{text-align:center;color:#2d3748;margin-bottom:28px;font-size:26px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.login-title:after{content:"";display:block;width:50px;height:3px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px;margin:8px auto 0}.form-group{margin-bottom:20px;position:relative}.form-group label{display:block;margin-bottom:6px;color:#4a5568;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.form-group input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:15px;transition:all .3s ease;background-color:#f7fafc;color:#2d3748}.form-group input:hover{border-color:#cbd5e0;background-color:#fff}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;background-color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.btn{width:100%;padding:12px 20px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn:hover:before{left:100%}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-primary:active{transform:translateY(-1px)}.btn-secondary{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;margin-top:10px;box-shadow:0 4px 12px #f5576c4d}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f5576c66}.btn-secondary:active{transform:translateY(-1px)}.form-toggle{text-align:center;margin-top:22px;color:#718096;font-size:13px;font-weight:500}.form-toggle button{background:none;border:none;color:#667eea;cursor:pointer;font-weight:600;padding:3px 6px;margin-left:6px;border-radius:4px;transition:all .3s ease}.form-toggle button:hover{text-decoration:none;background-color:#667eea1a;transform:translateY(-1px)}.error-message{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626;padding:12px 16px;border-radius:10px;margin-bottom:20px;font-size:13px;font-weight:500;border-left:3px solid #dc2626;box-shadow:0 3px 10px #dc26261a;animation:slideIn .3s ease}.success-message{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#15803d;padding:14px 16px;border-radius:10px;margin-bottom:20px;border-left:3px solid #22c55e;box-shadow:0 3px 10px #22c55e1a;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.success-main{font-size:15px;font-weight:600;margin-bottom:6px;line-height:1.4}.success-subtext{font-size:12px;color:#16a34a;opacity:.9;line-height:1.3}.form-divider{display:flex;align-items:center;margin:22px 0;color:#a0aec0;font-size:12px;font-weight:500}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent)}.form-divider span{padding:0 16px;background-color:transparent;text-transform:uppercase;letter-spacing:.5px}.btn-wechat{background:linear-gradient(135deg,#07c160,#05b056);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:10px;box-shadow:0 4px 12px #07c1604d;text-transform:uppercase;letter-spacing:.5px}.btn-wechat:hover{transform:translateY(-2px);box-shadow:0 6px 20px #07c16066}.wechat-icon{width:20px;height:20px;transition:transform .3s ease}.btn-wechat:hover .wechat-icon{transform:scale(1.1) rotate(5deg)}.beian-info{text-align:center;margin-top:25px;font-size:11px;color:#fffc;position:absolute;bottom:15px;left:50%;transform:translate(-50%);z-index:1;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center}.beian-link{color:#fffc;text-decoration:none;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:5px;font-weight:500;white-space:nowrap}.beian-icon{width:14px;height:14px;vertical-align:middle;object-fit:contain;transition:all .3s ease}.beian-info a:hover{color:#fff;text-decoration:none;transform:translateY(-1px)}.beian-info a:hover .beian-icon{transform:scale(1.1)}.app{width:100%;height:100vh;margin:0;padding:0;overflow:hidden;font-family:Arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;padding:0;overflow:hidden;background-color:#f5f5f5}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:18px;color:#666}.login-container{display:flex!important;justify-content:center!important;align-items:center!important;height:100vh!important;width:100%!important;background-color:#f5f5f5!important;position:relative!important;z-index:9999!important}
