.app[data-v-4811c82d]{min-height:100vh}:root{--primary: #00D9FF;--primary-light: #5AEFFF;--primary-dark: #00A3CC;--accent: #00FF94;--accent-light: #5AFFB8;--success: #00FF94;--warning: #FF9500;--error: #FF3B30;--info: #BD00FF;--background: #000000;--surface: rgba(255, 255, 255, .05);--surface-hover: rgba(255, 255, 255, .08);--text-primary: #FFFFFF;--text-secondary: rgba(255, 255, 255, .7);--text-tertiary: rgba(255, 255, 255, .4);--border: rgba(255, 255, 255, .1);--divider: rgba(255, 255, 255, .08);--separator: rgba(255, 255, 255, .06);--priority-urgent: #FF3B30;--priority-important: #FF9500;--priority-normal: #00D9FF;--priority-low: #8E8E93;--glow-primary: 0 0 20px rgba(0, 217, 255, .4);--glow-accent: 0 0 20px rgba(0, 255, 148, .4);--glow-error: 0 0 20px rgba(255, 59, 48, .4);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .6);--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 28px;--radius-full: 9999px;--transition-fast: .2s cubic-bezier(.25, .46, .45, .94);--transition-normal: .3s cubic-bezier(.25, .46, .45, .94);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1);--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", "PingFang SC", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background:var(--background);color:var(--text-primary);line-height:1.47059;letter-spacing:-.022em;min-height:100vh;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at top,rgba(0,217,255,.1) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(189,0,255,.08) 0%,transparent 50%),radial-gradient(ellipse at bottom left,rgba(0,255,148,.05) 0%,transparent 50%);pointer-events:none;z-index:0}body:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(2px 2px at 20px 30px,rgba(255,255,255,.8),transparent),radial-gradient(2px 2px at 40px 70px,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 90px 40px,rgba(255,255,255,.6),transparent),radial-gradient(2px 2px at 160px 120px,rgba(0,217,255,.7),transparent),radial-gradient(1px 1px at 230px 80px,rgba(255,255,255,.4),transparent),radial-gradient(2px 2px at 300px 150px,rgba(0,255,148,.5),transparent),radial-gradient(1px 1px at 100px 200px,rgba(255,255,255,.5),transparent),radial-gradient(2px 2px at 250px 250px,rgba(0,217,255,.4),transparent),radial-gradient(1px 1px at 350px 100px,rgba(255,255,255,.6),transparent),radial-gradient(1px 1px at 180px 300px,rgba(189,0,255,.5),transparent);background-size:400px 400px;animation:starfield 60s linear infinite;pointer-events:none;z-index:0}@keyframes starfield{0%{transform:translateY(0)}to{transform:translateY(-400px)}}.container{max-width:680px;margin:0 auto;padding:0 20px;position:relative;z-index:1}.card{background:var(--surface);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;margin-bottom:10px;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);position:relative;z-index:1}.card:hover{border-color:#00d9ff4d;box-shadow:var(--glow-primary)}.card:active{transform:scale(.98)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border:none;border-radius:var(--radius-md);font-size:17px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);text-decoration:none;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--accent));color:#000;box-shadow:var(--glow-primary)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 30px #00d9ff99}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--surface);border:1px solid var(--border);color:var(--primary)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--primary)}.input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:17px;background:var(--surface);color:var(--text-primary);transition:all var(--transition-fast)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #00d9ff33}.input::placeholder{color:var(--text-tertiary)}.tag{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);font-size:13px;font-weight:500;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tag-urgent{background:#ff3b3033;color:var(--priority-urgent);box-shadow:0 0 10px #ff3b304d}.tag-important{background:#ff950033;color:var(--priority-important);box-shadow:0 0 10px #ff95004d}.tag-warning{background:#00d9ff33;color:var(--primary);box-shadow:0 0 10px #00d9ff4d}.tag-normal{background:#00d9ff26;color:var(--priority-normal)}.tag-low{background:#8e8e9333;color:var(--priority-low)}.tag-delayed{background:#ff3b3033;color:var(--error);animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px #ff3b304d}50%{box-shadow:0 0 20px #ff3b3099}}.tag-sync{background:#ff950033;color:var(--warning)}.status-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:13px;font-weight:500}.status-done{background:#00ff9426;color:var(--success)}.status-progress{background:#00d9ff26;color:var(--primary)}.status-pending{background:#8e8e9326;color:var(--text-tertiary)}.header{position:sticky;top:0;background:#000000b3;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border);z-index:100}.header-content{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;max-width:680px;margin:0 auto}.header-title{font-size:17px;font-weight:600;letter-spacing:-.4px;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tab-bar{position:fixed;bottom:0;left:0;right:0;background:#000000d9;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);z-index:100}.tab-bar-content{display:flex;max-width:680px;margin:0 auto}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;padding:8px 0 4px;color:var(--text-tertiary);text-decoration:none;transition:color var(--transition-fast);position:relative}.tab-item.active{color:var(--primary)}.tab-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:20px;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:1px}.tab-item svg{width:26px;height:26px;margin-bottom:2px}.tab-item span{font-size:10px;font-weight:500}.main-content{padding-top:8px;padding-bottom:90px;min-height:calc(100vh - 56px);position:relative;z-index:1}.empty-state{text-align:center;padding:80px 20px;color:var(--text-secondary)}.empty-state svg{width:100px;height:100px;margin-bottom:24px;opacity:.4;stroke:var(--primary)}.empty-state h3{font-size:20px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.empty-state p{font-size:15px;color:var(--text-secondary)}.todo-card{display:flex;align-items:flex-start;gap:14px}.todo-card.delayed{border-left:3px solid var(--error);box-shadow:0 0 15px #ff3b3033}.todo-checkbox{flex-shrink:0;width:24px;height:24px;border:2px solid var(--border);border-radius:50%;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;margin-top:2px}.todo-checkbox:hover{border-color:var(--primary);box-shadow:0 0 10px #00d9ff4d}.todo-checkbox.checked{background:linear-gradient(135deg,var(--primary),var(--accent));border-color:transparent;box-shadow:var(--glow-accent)}.todo-checkbox.checked:after{content:"";width:8px;height:5px;border-left:2px solid #000;border-bottom:2px solid #000;transform:rotate(-45deg) translateY(-1px)}.todo-content{flex:1;min-width:0}.todo-title{font-size:17px;font-weight:400;line-height:1.3;margin-bottom:6px;word-break:break-word;color:var(--text-primary)}.todo-title.completed{text-decoration:line-through;color:var(--text-tertiary)}.todo-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.todo-detail{font-size:15px;color:var(--text-secondary);margin-top:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4}.todo-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px;flex-wrap:wrap;gap:8px}.todo-owner{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary)}.owner-avatar{width:20px;height:20px;border-radius:50%;object-fit:cover;border:1px solid var(--border)}.owner-dept{color:var(--text-tertiary);font-size:12px}.todo-days{font-size:13px;color:var(--text-secondary);background:var(--surface);padding:2px 8px;border-radius:6px}.todo-days.urgent{color:var(--error);background:#ff3b3026;font-weight:500}.todo-due{font-size:13px;color:var(--text-tertiary)}.fab{position:fixed;right:20px;bottom:100px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));color:#000;border:none;box-shadow:var(--glow-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-bounce);z-index:50}.fab:hover{transform:scale(1.1);box-shadow:0 0 40px #00d9ff99}.fab:active{transform:scale(.95)}.fab svg{width:24px;height:24px}.loading{display:flex;align-items:center;justify-content:center;padding:60px}.spinner{width:32px;height:32px;border:3px solid var(--surface);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sync-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#000;border:none;border-radius:var(--radius-full);font-size:15px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--glow-primary)}.sync-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 0 25px #00d9ff80}.sync-btn:disabled{opacity:.6;cursor:not-allowed}.sync-btn svg.spinning{animation:spin 1s linear infinite}.calendar-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ff950026;color:var(--warning);border:1px solid rgba(255,149,0,.3);border-radius:50%;cursor:pointer;transition:all var(--transition-fast)}.calendar-btn:hover:not(:disabled){background:#ff950040;box-shadow:0 0 15px #ff950066}.calendar-btn:disabled{opacity:.6;cursor:not-allowed}.calendar-btn svg.spinning{animation:spin 1s linear infinite}.logout-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;color:var(--text-tertiary);border:1px solid transparent;border-radius:50%;cursor:pointer;transition:all var(--transition-fast)}.logout-btn:hover{color:var(--error);background:#ff3b301a;border-color:#ff3b304d}.sync-message{padding:12px 20px;margin:12px 20px;border-radius:var(--radius-md);font-size:15px;text-align:center;animation:slideDown .3s var(--transition-bounce);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sync-message.success{background:#00ff9426;color:var(--success);border:1px solid rgba(0,255,148,.3)}.sync-message.error{background:#ff3b3026;color:var(--error);border:1px solid rgba(255,59,48,.3)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-bar{display:flex;gap:8px;padding:12px 20px;overflow-x:auto;scrollbar-width:none}.filter-bar::-webkit-scrollbar{display:none}.filter-chip{flex-shrink:0;padding:8px 16px;border-radius:var(--radius-full);font-size:15px;font-weight:500;background:var(--surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.filter-chip:hover{background:var(--surface-hover);border-color:var(--primary);color:var(--primary)}.filter-chip.active{background:linear-gradient(135deg,var(--primary),var(--accent));border-color:transparent;color:#000;box-shadow:var(--glow-primary)}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;background:var(--background);position:relative;z-index:1}.login-logo{width:80px;height:80px;margin-bottom:24px;filter:drop-shadow(0 0 20px rgba(0,217,255,.5))}.login-title{font-size:34px;font-weight:700;letter-spacing:-.5px;margin-bottom:8px;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{font-size:17px;color:var(--text-secondary);margin-bottom:48px}.form-group{margin-bottom:20px}.form-label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.form-textarea{min-height:100px;resize:vertical;font-family:inherit}.option-group{display:flex;gap:8px;flex-wrap:wrap}.option-item{padding:10px 18px;border:1px solid var(--border);border-radius:var(--radius-full);font-size:15px;background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.option-item:hover{border-color:var(--primary);color:var(--primary)}.option-item.selected{background:linear-gradient(135deg,var(--primary),var(--accent));border-color:transparent;color:#000;box-shadow:var(--glow-primary)}@media (min-width: 768px){.container{padding:0 40px}.main-content{padding-bottom:120px}.fab{right:calc(50% - 320px)}}.interactive-star{position:fixed;width:4px;height:4px;background:var(--primary);border-radius:50%;pointer-events:none;animation:star-pop .6s ease-out forwards;box-shadow:0 0 10px var(--primary);z-index:1000}@keyframes star-pop{0%{transform:scale(0);opacity:1}50%{transform:scale(2);opacity:.8}to{transform:scale(0);opacity:0}}.meteor{position:fixed;width:2px;height:80px;background:linear-gradient(to bottom,var(--primary),transparent);border-radius:50%;animation:meteor 1s ease-in forwards;pointer-events:none;z-index:0}@keyframes meteor{0%{transform:translateY(-100px) rotate(45deg);opacity:1}to{transform:translateY(100vh) rotate(45deg);opacity:0}}
