.login-screen{height:100vh;display:flex;justify-content:center;align-items:center;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:linear-gradient(135deg,var(--bg-pink) 0%,#ffe8f0 25%,var(--bg-warm) 50%,#f8e8ff 75%,var(--bg-pink) 100%);background-size:400% 400%;animation:gradientShift 12s ease infinite,loginFadeIn var(--duration-slow) var(--ease-out) forwards}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes loginFadeIn{0%{opacity:0}to{opacity:1}}.login-card{background:#fffffff2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:var(--space-8);border-radius:var(--radius-xl);border:2px solid rgba(255,182,193,.4);box-shadow:var(--shadow-xl);text-align:center;width:90%;max-width:380px;animation:bounceIn var(--duration-normal) var(--ease-spring) forwards;position:relative;z-index:1}.login-header{margin-bottom:var(--space-6)}.login-heart{font-size:48px;display:block;margin-bottom:var(--space-3);animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.login-card h1{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:700;color:var(--pink-deep);margin-bottom:var(--space-2)}.subtitle{color:var(--text-secondary);font-size:var(--font-size-sm)}.login-select{width:100%;padding:var(--space-4);margin-bottom:var(--space-4);border:2px solid var(--pink-light);border-radius:var(--radius-md);background:var(--paper);color:var(--text-primary);font-size:var(--font-size-base);cursor:pointer;transition:all var(--duration-fast) ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23e8a0b0' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}.login-select:focus{outline:none;border-color:var(--pink-main);box-shadow:0 0 0 3px var(--pink-glow)}.login-select option{background:var(--paper);color:var(--text-primary);padding:var(--space-3)}.login-select option:checked{background:var(--pink-soft);color:var(--pink-deep)}.custom-select{position:relative;width:100%;margin-bottom:var(--space-4)}.custom-select-trigger{width:100%;padding:var(--space-4);border:2px solid var(--pink-light);border-radius:var(--radius-md);background:var(--paper);color:var(--text-primary);font-size:var(--font-size-base);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:all var(--duration-fast) ease}.custom-select-trigger:hover,.custom-select.open .custom-select-trigger{border-color:var(--pink-main);box-shadow:0 0 0 3px var(--pink-glow)}.custom-select-trigger svg{color:var(--pink-main);transition:transform var(--duration-fast) ease}.custom-select-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:var(--space-2);background:var(--paper);border:2px solid var(--pink-main);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:100;overflow:hidden;animation:slideDown var(--duration-fast) var(--ease-spring) forwards}.custom-select-option{padding:var(--space-4);cursor:pointer;transition:background var(--duration-fast) ease}.custom-select-option:hover{background:var(--pink-soft)}.custom-select-option.selected{background:var(--pink-soft);color:var(--pink-deep);font-weight:600}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.input-group{display:flex;margin-bottom:var(--space-4);border-radius:var(--radius-md);overflow:hidden;border:2px solid var(--pink-light);background:var(--paper);transition:border-color var(--duration-fast) ease}.input-group:focus-within{border-color:var(--pink-main);box-shadow:0 0 0 3px var(--pink-glow)}.input-group input{flex:1;padding:var(--space-4);border:none;outline:none;background:transparent;color:var(--text-primary);font-size:var(--font-size-base)}.input-group input::placeholder{color:var(--text-muted)}.input-group button{padding:0 var(--space-5);background:var(--pink-soft);color:var(--pink-deep);font-weight:600;border:none;cursor:pointer;transition:all var(--duration-fast) var(--ease-spring)}.input-group button:hover{background:var(--pink-main);color:#fff}.login-btn{width:100%;padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:700;cursor:pointer;transition:all var(--duration-fast) var(--ease-spring);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.login-btn.primary{background:linear-gradient(135deg,var(--pink-main),var(--pink-light));border:none;color:#fff;box-shadow:0 4px 16px #e8a0b04d;margin-bottom:var(--space-4)}.login-btn.primary:hover{transform:scale(1.02);box-shadow:0 6px 20px #e8a0b080}.login-btn.primary:active{transform:scale(.98)}.login-btn.primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-btn.guest{background:transparent;border:2px solid var(--pink-light);color:var(--text-secondary)}.login-btn.guest:hover{border-color:var(--pink-main);color:var(--pink-deep);background:var(--pink-soft)}.login-btn svg{width:16px;height:16px}.divider{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-4) 0;color:var(--text-muted);font-size:var(--font-size-sm)}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--pink-light)}.input-group.guest-nickname{margin-top:var(--space-4)}.login-hint{margin-top:var(--space-4);color:var(--text-muted);font-size:var(--font-size-xs)}@media (max-width: 480px){.login-card{padding:var(--space-6)}.input-group input{padding:var(--space-3)}.input-group button{padding:0 var(--space-4)}.login-heart{font-size:40px}}.dark-mode .login-screen{background:linear-gradient(135deg,var(--dark-bg) 0%,rgba(139,77,97,.3) 50%,var(--dark-bg) 100%)}.dark-mode .login-card{background:#252022f2;border-color:var(--dark-border)}.dark-mode .login-card h1{color:var(--pink-main)}.dark-mode .login-select{background-color:var(--dark-elevated);border-color:var(--dark-border);color:var(--dark-text);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23c8a0b0' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E")}.dark-mode .login-select option:checked{background:var(--pink-soft);color:var(--pink-deep)}.dark-mode .login-select option{background:var(--dark-elevated);color:var(--dark-text)}.dark-mode .custom-select-trigger{background:var(--dark-elevated);border-color:var(--dark-border);color:var(--dark-text)}.dark-mode .custom-select-trigger:hover{border-color:var(--pink-main)}.dark-mode .custom-select-dropdown{background:var(--dark-elevated);border-color:var(--pink-main)}.dark-mode .custom-select-option:hover{background:#e8a0b026}.dark-mode .custom-select-option.selected{background:#e8a0b033;color:var(--pink-main)}.dark-mode .subtitle,.dark-mode .login-hint{color:var(--dark-text-secondary)}.dark-mode .input-group{background:var(--dark-elevated);border-color:var(--dark-border)}.dark-mode .input-group input{color:var(--dark-text)}.dark-mode .input-group button{background:#e8a0b026;color:var(--pink-main)}.dark-mode .input-group button:hover{background:var(--pink-main);color:#fff}.dark-mode .login-btn.guest{border-color:var(--dark-border);color:var(--dark-text-secondary)}.dark-mode .login-btn.guest:hover{border-color:var(--pink-main);color:var(--pink-main);background:#e8a0b01a}.dark-mode .divider:before,.dark-mode .divider:after{background:var(--dark-border)}.toast-container{position:fixed;top:var(--space-4);left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none;max-width:90vw}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:auto;cursor:pointer;animation:toastIn .3s cubic-bezier(.34,1.56,.64,1) forwards;border-left:3px solid var(--pink-main);min-width:200px;max-width:400px}.toast-icon{font-size:18px;flex-shrink:0}.toast-success .toast-icon{color:#22c55e}.toast-error .toast-icon{color:#ef4444}.toast-warning .toast-icon{color:#f59e0b}.toast-info .toast-icon{color:var(--pink-main)}.toast-message{flex:1;font-size:var(--font-size-sm);color:var(--text-primary);line-height:1.4}.toast-close{background:none;border:none;padding:var(--space-1);cursor:pointer;color:var(--text-secondary);opacity:.6;transition:opacity .2s;flex-shrink:0}.toast-close:hover{opacity:1}.dark-mode .toast{background:var(--dark-card)}.dark-mode .toast-message{color:var(--dark-text)}.dark-mode .toast-close{color:var(--dark-text-secondary)}@keyframes toastIn{0%{opacity:0;transform:translateY(-20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffff1a;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn var(--duration-fast) ease forwards}.confirm-card{background:var(--paper);border-radius:var(--radius-xl);padding:var(--space-6);width:100%;max-width:360px;box-shadow:var(--shadow-xl);opacity:0;transform:translateY(20px) scale(.95);transition:opacity .25s ease,transform .25s cubic-bezier(.34,1.56,.64,1);z-index:1;text-align:center}.confirm-card.visible{opacity:1;transform:translateY(0) scale(1)}.confirm-icon{width:56px;height:56px;margin:0 auto var(--space-4);background:#e8a0b026;border-radius:50%;display:flex;align-items:center;justify-content:center}.confirm-icon svg{font-size:24px;color:var(--pink-main)}.confirm-card.danger .confirm-icon{background:var(--danger-bg)}.confirm-card.danger .confirm-icon svg{color:var(--danger)}.confirm-title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-2)}.confirm-message{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-5)}.confirm-actions{display:flex;gap:var(--space-3);justify-content:center}.confirm-actions .btn{flex:1;max-width:120px}.dark-mode .confirm-overlay{background:#0000004d}.dark-mode .confirm-card{background:var(--dark-card)}.dark-mode .confirm-title{color:var(--dark-text)}.dark-mode .confirm-message{color:var(--dark-text-secondary)}.dark-mode .confirm-icon{background:#e8a0b033}.timers-container{position:fixed;top:0;left:0;right:0;z-index:200;pointer-events:none}.timers-container.expanded{pointer-events:auto}.timers-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#5a4a4e4d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transition:opacity .3s ease;pointer-events:none}.timers-container.expanded .timers-backdrop{opacity:1;pointer-events:auto}.timers-drawer{position:absolute;top:0;left:0;right:0;background:linear-gradient(135deg,#fff5f8fa,#fffffff2);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:0 0 24px 24px;box-shadow:0 8px 32px #ffb6c140,0 2px 8px #00000014;transform:translateY(-100%);transition:transform .4s cubic-bezier(.34,1.56,.64,1);max-height:70vh;display:flex;flex-direction:column}.timers-container.expanded .timers-drawer{transform:translateY(0)}.timers-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(255,182,193,.2);flex-shrink:0}.timers-drawer-title{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:700;color:var(--pink-deep)}.timers-drawer-title svg{color:var(--pink-main)}.timers-drawer-actions{display:flex;gap:var(--space-2)}.timers-drawer-actions .secondary-btn{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);border-radius:var(--radius-md);background:var(--pink-soft);border:none;color:var(--pink-deep);cursor:pointer;transition:all var(--duration-fast) var(--ease-spring);display:inline-flex;align-items:center;gap:6px}.timers-drawer-actions .secondary-btn:hover{background:var(--pink-main);color:#fff}.pinned-timers{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);overflow-x:auto;flex-shrink:0;background:#ffb6c10d}.pinned-timers::-webkit-scrollbar{display:none}.pinned-timer-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,var(--pink-main),var(--pink-light));border-radius:20px;font-size:11px;color:#fff;white-space:nowrap;box-shadow:0 2px 8px #e8a0b04d;flex-shrink:0}.pinned-timer-chip svg{width:12px;height:12px}.pinned-timer-chip .timer-label{opacity:.9}.pinned-timer-chip .timer-value{font-weight:700;font-family:var(--font-mono)}.timers-list{flex:1;overflow-y:auto;padding:var(--space-4)}.timers-list .empty-state{padding:var(--space-8)}.timer-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:#fff;border-radius:var(--radius-lg);margin-bottom:var(--space-3);box-shadow:0 2px 10px #ffb6c126;border:2px solid transparent;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.timer-item:hover{border-color:var(--pink-light);transform:translateY(-2px);box-shadow:0 4px 16px #ffb6c133}.timer-item.pinned{border-color:var(--pink-main);background:linear-gradient(135deg,#ffb6c11a,#fff)}.timer-item-info{flex:1;min-width:0}.timer-item-name{display:flex;align-items:center;gap:var(--space-2);margin-bottom:4px}.timer-item-name input{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);border:1px solid var(--pink-light);border-radius:var(--radius-sm);padding:4px 8px;background:var(--paper);max-width:120px}.timer-item-name input:focus{outline:none;border-color:var(--pink-main);box-shadow:0 0 0 2px var(--pink-glow)}.timer-item-type{display:inline-flex;align-items:center;gap:4px;font-size:10px;padding:2px 8px;border-radius:10px;background:var(--pink-soft);color:var(--pink-deep)}.timer-item-type.countdown{background:#e8a0b033;color:var(--pink-main)}.timer-item-type.countup{background:#7bc47f33;color:var(--success)}.timer-item-display{font-family:var(--font-mono);font-size:var(--font-size-lg);font-weight:700;color:var(--pink-main);white-space:nowrap}.timer-item-actions{display:flex;flex-direction:column;gap:var(--space-2)}.timer-item-actions .icon-btn{width:36px;height:36px;border-radius:20px;display:flex;align-items:center;justify-content:center;transition:all var(--duration-fast) var(--ease-spring)}.pin-btn{color:var(--pink-main);background:var(--pink-soft)}.pin-btn:hover,.pin-btn.pinned{background:linear-gradient(135deg,var(--pink-main),var(--pink-deep));color:#fff;box-shadow:0 4px 12px #e8a0b066;transform:scale(1.05)}.delete-btn{color:var(--danger);background:var(--danger-bg)}.delete-btn:hover{background:linear-gradient(135deg,var(--danger),#c05050);color:#fff;box-shadow:0 4px 12px #e0707066;transform:scale(1.05)}.add-timer-form{padding:var(--space-4);border-top:1px solid rgba(255,182,193,.2);background:#ffb6c108;flex-shrink:0}.timers-add-form-single-row{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap}.timers-add-form-single-row input,.timers-add-form-single-row select{height:40px;padding:0 var(--space-3);border:2px solid var(--pink-light);border-radius:var(--radius-md);background:#fff;font-size:var(--font-size-sm);color:var(--text-primary)}.timers-add-form-single-row input:focus,.timers-add-form-single-row select:focus{outline:none;border-color:var(--pink-main);box-shadow:0 0 0 3px var(--pink-glow)}.timer-input-name{flex:1;min-width:80px}.timer-input-date{flex:2;min-width:140px}.timer-add-btn{width:40px;min-width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md)!important;font-size:16px}.timer-type-toggle{display:flex;gap:4px;background:var(--pink-soft);padding:4px;border-radius:var(--radius-md)}.type-toggle-btn{width:36px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-spring)}.type-toggle-btn:hover{background:#ffffff80;color:var(--pink-deep)}.type-toggle-btn.active{background:linear-gradient(135deg,var(--pink-main),var(--pink-light));color:#fff;box-shadow:0 2px 8px #e8a0b04d}.type-toggle-btn svg{width:16px;height:16px}.dark-mode .timers-drawer{background:linear-gradient(135deg,#252022fa,#1a1418f2)}.dark-mode .timers-drawer-title{color:var(--pink-main)}.dark-mode .timers-drawer-header{border-color:#ffb6c126}.dark-mode .pinned-timers{background:#ffb6c10d}.dark-mode .timer-item{background:var(--dark-card)}.dark-mode .timer-item-name input{background:var(--dark-elevated);border-color:var(--dark-border);color:var(--dark-text)}.dark-mode .timer-display{color:var(--pink-main)}.dark-mode .pin-btn{background:#e8a0b026;color:var(--pink-main)}.dark-mode .pin-btn:hover,.dark-mode .pin-btn.pinned{background:linear-gradient(135deg,var(--pink-main),var(--pink-deep));color:#fff}.dark-mode .delete-btn{background:#e0707026;color:var(--danger)}.dark-mode .delete-btn:hover{background:linear-gradient(135deg,var(--danger),#c05050);color:#fff}.dark-mode .add-timer-form{background:#ffb6c108;border-color:#ffb6c11a}.dark-mode .timers-add-form-single-row input,.dark-mode .timers-add-form-single-row select{background:var(--dark-elevated);border-color:var(--dark-border);color:var(--dark-text)}@media (max-width: 767px){.timers-drawer{max-height:80vh;border-radius:0 0 20px 20px}.timers-drawer-header{padding:12px 16px}.timers-drawer-title{font-size:var(--font-size-md)}.timer-item{padding:var(--space-3);flex-wrap:nowrap;align-items:flex-start}.timer-item-info{flex:1;min-width:0}.timer-item-display{width:100%;margin-top:var(--space-2);font-size:var(--font-size-md)}.timer-item-actions{flex-direction:row;gap:var(--space-1)}.timer-item-actions .icon-btn{width:32px;height:32px;border-radius:16px}.timers-list,.add-timer-form{padding:var(--space-3)}.timers-add-form-single-row{flex-wrap:nowrap;overflow-x:auto}.timers-add-form-single-row::-webkit-scrollbar{display:none}.timer-input-name{min-width:60px;flex:0 0 80px}.timer-input-date{min-width:100px;flex:0 0 120px}.timer-type-toggle,.timer-add-btn{flex-shrink:0}}@supports (padding-top: env(safe-area-inset-top)){.timers-drawer{padding-top:env(safe-area-inset-top)}}.header{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);background:linear-gradient(135deg,#fff5f8fa,#fffffff2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:var(--space-3) var(--space-4);will-change:backdrop-filter}.header-top{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:600px;margin:0 auto}.header-left{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0;min-width:0}.header-right{position:relative;flex-shrink:0;display:flex;align-items:center;gap:var(--space-2)}.logo{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--font-size-md);font-weight:700;color:var(--pink-deep);flex-shrink:0}.logo .logo-text{letter-spacing:.5px;white-space:nowrap}.countdown-inline{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 12px;height:36px;background:linear-gradient(135deg,var(--pink-main),var(--pink-light));border:none;border-radius:18px;color:#fff;font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:700;cursor:pointer;transition:all var(--duration-fast) var(--ease-spring);white-space:nowrap}.countdown-inline:hover{transform:scale(1.05);box-shadow:0 2px 10px #e8a0b066}.countdown-inline .countdown-icon{font-size:12px}.countdown-inline .timer-toggle-icon{font-size:8px;opacity:.7}.countdown-value{font-family:var(--font-mono);font-size:11px;font-weight:700;color:#fff;letter-spacing:.5px}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;padding:6px 12px;min-width:44px;height:36px;background:var(--pink-soft);border:2px solid var(--pink-light);border-radius:20px;cursor:pointer;transition:all var(--duration-fast) var(--ease-spring);color:var(--text-secondary)}.theme-toggle-btn:hover{border-color:var(--pink-main);background:#e8a0b026;transform:scale(1.05)}.theme-toggle-btn svg{width:16px;height:16px}.dark-mode .theme-toggle-btn{background:var(--dark-elevated);border-color:var(--dark-border);color:var(--dark-text)}.dark-mode .theme-toggle-btn:hover{border-color:var(--pink-main);color:var(--pink-main)}.music-toggle-btn{display:flex;align-items:center;justify-content:center;padding:0 12px;height:36px;background:var(--pink-soft);border:2px solid var(--pink-light);border-radius:18px;cursor:pointer;transition:all var(--duration-fast) var(--ease-spring);color:var(--text-secondary)}.music-toggle-btn:hover{border-color:var(--pink-main);background:#e8a0b026;transform:scale(1.05)}.music-toggle-btn svg{width:16px;height:16px}.dark-mode .music-toggle-btn{background:var(--dark-elevated);border-color:var(--dark-border);color:var(--dark-text)}.dark-mode .music-toggle-btn:hover{border-color:var(--pink-main);color:var(--pink-main)}.account-menu-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;min-width:44px;height:36px;background:var(--pink-soft);border:2px solid var(--pink-light);border-radius:20px;cursor:pointer;transition:all var(--duration-fast) var(--ease-spring)}.account-menu-btn:hover{border-color:var(--pink-main);background:#e8a0b026}.account-badge{font-size:var(--font-size-xs);font-weight:700;color:var(--pink-deep)}.account-badge-xiaoyu{color:var(--xiaoyu-blue)}.account-badge-xiaoqi{color:var(--xiaoqi-pink)}.account-badge-developer{background:var(--guest-lavender);color:#fff}.menu-arrow{font-size:8px;color:var(--text-secondary)}.account-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:200px;background:var(--paper);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--pink-light);z-index:1000;animation:dropIn .2s var(--ease-spring) forwards;overflow:hidden}@keyframes dropIn{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:linear-gradient(135deg,var(--pink-main),var(--pink-light))}.dropdown-avatar{width:36px;height:36px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--pink-main)}.dropdown-name{font-size:var(--font-size-sm);font-weight:700;color:#fff}.dropdown-divider{height:1px;background:var(--pink-light)}.dropdown-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:none;background:transparent;font-size:var(--font-size-sm);color:var(--text-primary);cursor:pointer;transition:all var(--duration-fast) ease;text-align:left}.dropdown-item:hover{background:var(--pink-soft);color:var(--pink-deep)}.dropdown-item.danger{color:var(--danger)}.dropdown-item.danger:hover{background:var(--danger-bg);color:var(--danger)}.dropdown-item svg{width:14px;height:14px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:99;display:flex;justify-content:center;gap:8px;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));background:#fffffff2;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:24px 24px 0 0;box-shadow:0 -4px 24px #ffb6c133,0 -2px 8px #0000000f;border:1px solid rgba(232,160,176,.2);border-bottom:none;will-change:backdrop-filter}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:56px;height:56px;border-radius:16px;color:var(--text-secondary);text-decoration:none;font-size:var(--font-size-xs);font-weight:600;transition:all .25s cubic-bezier(.34,1.56,.64,1)}.bottom-nav-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;font-size:20px;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.bottom-nav-icon svg{width:22px;height:22px}.bottom-nav-label{font-size:10px;letter-spacing:.5px}.bottom-nav-item:hover{background:#e8a0b01f;color:var(--pink-main);transform:scale(1.05)}.bottom-nav-item:hover .bottom-nav-icon{transform:scale(1.15) translateY(-2px)}.bottom-nav-item.active{background:linear-gradient(135deg,var(--pink-main),var(--pink-light));color:#fff;box-shadow:0 4px 16px #e8a0b066}.bottom-nav-item.active .bottom-nav-icon{transform:scale(1.2)}.bottom-nav-item.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.page-content{padding-bottom:100px}body.keyboard-open .bottom-nav,body.keyboard-open .nav,body.keyboard-open .floating-nav{display:none!important}body.timers-expanded .fab-btn{opacity:0;pointer-events:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#5a464a59;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4);animation:fadeIn var(--duration-fast) ease forwards;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--paper);border-radius:var(--radius-xl);padding:var(--space-6);width:100%;max-width:380px;box-shadow:var(--shadow-xl);animation:bounceIn var(--duration-normal) var(--ease-spring) forwards}.modal-content h3{font-family:var(--font-display);font-size:var(--font-size-xl);color:var(--text-primary);margin-bottom:var(--space-5);text-align:center}.form-group{margin-bottom:var(--space-4)}.form-group input{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--pink-light);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--paper);color:var(--text-primary);transition:all var(--duration-fast) ease}.form-group input:focus{outline:none;border-color:var(--pink-main);box-shadow:0 0 0 3px var(--pink-glow)}.error{color:var(--danger);font-size:var(--font-size-sm);margin-bottom:var(--space-3);text-align:center}.modal-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-5)}.modal-actions .btn{padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--duration-fast) var(--ease-spring)}.modal-actions .btn.btn-secondary{background:transparent;border:2px solid var(--pink-light);color:var(--text-secondary)}.modal-actions .btn.btn-secondary:hover{border-color:var(--pink-main);color:var(--pink-deep)}.modal-actions .btn.btn-primary{background:linear-gradient(135deg,var(--pink-main),var(--pink-light));border:none;color:#fff}.modal-actions .btn.btn-primary:hover{transform:scale(1.02);box-shadow:0 4px 12px #e8a0b066}.modal-actions .primary-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffff1a;z-index:var(--z-modal);padding:80px 16px max(16px,env(safe-area-inset-bottom,16px));overflow-y:auto;-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn var(--duration-fast) ease forwards}.form-floating-card{background:var(--paper);border-radius:var(--radius-xl);padding:var(--space-5);width:100%;max-width:400px;margin:0 auto;box-shadow:var(--shadow-xl);opacity:0;transform:translateY(20px) scale(.95);transition:opacity .25s ease,transform .25s cubic-bezier(.34,1.56,.64,1);z-index:1}.form-floating-card.visible{opacity:1;transform:translateY(0) scale(1)}.form-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:2px solid var(--pink-light)}.form-icon{font-size:20px}.form-title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary);flex:1}.form-close{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) ease}.form-close:hover{background:var(--pink-soft);color:var(--pink-main)}.form-body{display:flex;flex-direction:column;gap:var(--space-4)}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.form-field label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary)}.form-field input,.form-field textarea{width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--pink-light);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--paper);color:var(--text-primary);transition:all var(--duration-fast) ease}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--pink-main);box-shadow:0 0 0 3px var(--pink-glow)}.form-field-row{display:flex;gap:var(--space-3)}.form-field-row .form-field{flex:1}.form-field-row .form-field-small{flex:0 0 70px}.form-footer{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--pink-light)}.form-footer .btn{padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--duration-fast) var(--ease-spring)}.form-footer .btn-primary{background:linear-gradient(135deg,var(--pink-main),var(--pink-light));border:none;color:#fff}.form-footer .btn-primary:hover{transform:scale(1.02);box-shadow:0 4px 12px #e8a0b066}.form-footer .btn-secondary{background:transparent;border:2px solid var(--pink-light);color:var(--text-secondary)}.form-footer .btn-secondary:hover{border-color:var(--pink-main);color:var(--pink-deep)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dark-mode .header{background:linear-gradient(135deg,#1a1418fa,#252022f2)}.dark-mode .account-menu-btn{background:var(--dark-elevated);border-color:var(--dark-border)}.dark-mode .account-dropdown{background:var(--dark-card);border-color:var(--dark-border)}.dark-mode .dropdown-item{color:var(--dark-text)}.dark-mode .dropdown-item:hover{background:#e8a0b01a;color:var(--pink-main)}.dark-mode .bottom-nav{background:#252022f2;border-color:#e8a0b026}.dark-mode .bottom-nav-item{color:#f0e8ec99}.dark-mode .bottom-nav-item:hover{background:#e8a0b026;color:var(--pink-main)}.dark-mode .bottom-nav-item.active{color:#fff}.dark-mode .modal-content{background:var(--dark-card)}.dark-mode .modal-content h3{color:var(--dark-text)}.dark-mode .form-group label{color:var(--dark-text-secondary)}.dark-mode .form-group input{background:var(--dark-elevated);border-color:var(--dark-border);color:var(--dark-text)}.dark-mode .form-group input:focus{border-color:var(--pink-main);box-shadow:0 0 0 3px #e8a0b033}.dark-mode .form-floating-card{background:var(--dark-card)}.dark-mode .form-title,.dark-mode .form-field label{color:var(--dark-text)}.dark-mode .form-field input,.dark-mode .form-field textarea{background:var(--dark-elevated);border-color:var(--dark-border);color:var(--dark-text)}.dark-mode .form-overlay{background:#1e1a1e33;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media (max-width: 767px){.header{padding:var(--space-3) var(--space-3) var(--space-2) var(--space-3)}.header-left{gap:var(--space-2);min-width:0}.logo{font-size:var(--font-size-sm)}.logo .logo-text{display:none}.countdown-inline{padding:3px 8px;margin-left:0}.countdown-value{font-size:10px}.account-menu-btn{padding:5px 10px}.account-badge{font-size:10px}.bottom-nav{gap:4px;padding:8px 12px}.bottom-nav-item{width:48px;height:48px;border-radius:12px}.bottom-nav-icon{font-size:18px}.bottom-nav-icon svg{width:18px;height:18px}.bottom-nav-label{font-size:9px}.page-content{padding-top:70px;padding-bottom:90px}}@supports (padding-top: env(safe-area-inset-top)){.header{padding-top:calc(var(--space-3) + env(safe-area-inset-top))}}@supports (padding-bottom: env(safe-area-inset-bottom)){.nav{padding-bottom:0}.floating-nav{margin-bottom:calc(env(safe-area-inset-bottom)/2)}}.particles-canvas{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;width:100vw;height:100vh;touch-action:pan-y}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideUp{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.95)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@font-face{font-family:Quicksand;font-style:normal;font-weight:500;src:url(../fonts/quicksand-500.ttf) format("truetype")}@font-face{font-family:Quicksand;font-style:normal;font-weight:600;src:url(../fonts/quicksand-600.ttf) format("truetype")}@font-face{font-family:Quicksand;font-style:normal;font-weight:700;src:url(../fonts/quicksand-700.ttf) format("truetype")}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:400;src:url(../fonts/noto-sans-sc-400.ttf) format("truetype")}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:500;src:url(../fonts/noto-sans-sc-500.ttf) format("truetype")}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:700;src:url(../fonts/noto-sans-sc-700.ttf) format("truetype")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(../fonts/jetbrains-mono-400.ttf) format("truetype")}:root{--bg-pink: #FFF5F8;--bg-warm: #FFF9FB;--paper: #FFFFFF;--pink-main: #E8A0B0;--pink-light: #F0C0D0;--pink-soft: rgba(240, 192, 208, .2);--pink-glow: rgba(232, 160, 176, .25);--pink-deep: #C48B9A;--pink-muted: #D4A0B0;--text-primary: #5A4A4A;--text-secondary: #8A7A7A;--text-muted: #B0A0A0;--xiaoyu-blue: #89CFF0;--xiaoyu-blue-light: #A8D8EA;--xiaoqi-pink: #FFB8D0;--xiaoqi-pink-light: #FFC8E0;--guest-lavender: #C8B8E8;--guest-lavender-light: #D8D0F0;--success: #7BC47F;--success-bg: rgba(123, 196, 127, .15);--danger: #E07070;--danger-bg: rgba(224, 112, 112, .15);--warning: #E0A030;--warning-bg: rgba(224, 160, 48, .15);--dark-bg: #1A1418;--dark-card: #252022;--dark-elevated: #30282C;--dark-border: rgba(255, 255, 255, .08);--dark-text: #F0E8EC;--dark-text-secondary: #C8B8C0;--radius-xs: 8px;--radius-sm: 12px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--radius-full: 9999px;--shadow-xs: 0 2px 6px rgba(255, 182, 193, .12);--shadow-sm: 0 2px 10px rgba(255, 182, 193, .18);--shadow-md: 0 4px 16px rgba(255, 182, 193, .22);--shadow-lg: 0 6px 24px rgba(255, 182, 193, .28);--shadow-xl: 0 8px 32px rgba(255, 182, 193, .32);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .35s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--font-display: "Quicksand", "Noto Sans SC", "Nunito", cursive, sans-serif;--font-body: "Noto Sans SC", "Nunito", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 18px;--font-size-xl: 22px;--font-size-2xl: 28px;--font-size-3xl: 36px;--z-bg: -1;--z-content: 1;--z-card: 10;--z-dropdown: 100;--z-header: 100;--z-nav: 1000;--z-modal: 2000;--z-toast: 3000}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;overflow-y:scroll}body{font-family:var(--font-body);font-size:var(--font-size-base);line-height:1.6;color:var(--text-primary);background:linear-gradient(180deg,var(--bg-pink) 0%,var(--bg-warm) 100%);min-height:100vh;min-height:100dvh;transition:background var(--duration-normal) ease,color var(--duration-normal) ease}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.3;color:var(--text-primary);letter-spacing:.3px}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-md)}p{margin-bottom:var(--space-3)}a{color:var(--pink-deep);text-decoration:none;transition:color var(--duration-fast) ease}a:hover{color:var(--pink-main)}#root,#app-root{min-height:100vh;min-height:100dvh;position:relative;z-index:var(--z-content)}.page-controls{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-2);border-bottom:2px solid rgba(255,182,193,.2);margin-bottom:var(--space-5)}.page-title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary);margin-right:auto}.page-counter{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:600;color:var(--pink-main);background:var(--pink-soft);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full)}.controls-btn{width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--paper);border:2px solid rgba(255,182,193,.3);border-radius:var(--radius-md);color:var(--text-secondary);box-shadow:0 2px 8px #ffb6c11a;transition:all var(--duration-fast) var(--ease-spring);flex-shrink:0}.controls-btn:hover{background:var(--pink-soft);border-color:var(--pink-main);color:var(--pink-deep);transform:scale(1.05);box-shadow:0 4px 12px #ffb6c133}.controls-btn svg{width:16px;height:16px}@media (max-width: 767px){.page-controls{padding:var(--space-3) var(--space-2);margin-top:var(--space-4)}}.dark-mode{--bg-pink: var(--dark-bg);--bg-warm: var(--dark-card);--paper: var(--dark-card);--text-primary: var(--dark-text);--text-secondary: var(--dark-text-secondary);--text-muted: #8A7A7A;--dark-text-muted: #8A7A7A;--pink-soft: rgba(232, 160, 176, .1);--pink-main: #D4A0B0;--pink-light: #E0B8C4;--pink-deep: #A07080}.dark-mode .bg-animation{background:var(--dark-bg)}.page-beian{position:fixed;bottom:var(--space-4);left:50%;transform:translate(-50%);font-size:12px;z-index:0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.beian-row{display:flex;align-items:center;justify-content:center;gap:6px}.beian-icon{height:14px;vertical-align:middle}.page-beian a{color:var(--pink-deep);text-decoration:none;opacity:.7;transition:opacity .2s}.page-beian a:hover{opacity:1;text-decoration:underline}.dark-mode .page-beian a{color:var(--dark-text-secondary)}.dark-mode .page-beian{opacity:.6}.dark-mode .page-beian:hover{opacity:1}.page-title{color:var(--dark-text)}.dark-mode .page-counter{color:var(--pink-main);background:#e8a0b026}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;outline:none;-webkit-tap-highlight-color:transparent}a,button,[role=button]{-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid var(--pink-main);outline-offset:2px}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--font-size-base);font-weight:600;color:#fff;background:linear-gradient(135deg,var(--pink-main) 0%,var(--pink-deep) 100%);border-radius:var(--radius-sm);border:none;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out)}.btn-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-md)}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary svg{width:16px;height:16px;flex-shrink:0}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--font-size-base);font-weight:500;color:var(--pink-deep);background:transparent;border:2px solid var(--pink-light);border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-spring)}.btn-secondary:hover{background:var(--pink-soft);border-color:var(--pink-main);transform:translateY(-2px)}.btn-secondary:active{transform:scale(.97)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary svg{width:16px;height:16px;flex-shrink:0}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:500;color:var(--pink-deep);background:var(--pink-soft);border-radius:var(--radius-xs);transition:all var(--duration-fast) var(--ease-spring)}.btn-ghost:hover{background:var(--pink-light);color:#fff;transform:translateY(-1px)}.btn-ghost:active{transform:scale(.97)}.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);font-weight:500;color:var(--danger);background:var(--danger-bg);border:1px solid transparent;border-radius:var(--radius-xs);transition:all var(--duration-fast) var(--ease-spring)}.btn-danger:hover{background:var(--danger);color:#fff;transform:translateY(-1px)}.btn-danger:active{transform:scale(.97)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--duration-fast) var(--ease-spring)}.btn-icon:hover{background:var(--pink-soft);color:var(--pink-deep);transform:scale(1.05)}.btn-icon:active{transform:scale(.95)}.btn-icon svg{width:18px;height:18px}.btn-icon-only{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:linear-gradient(135deg,var(--pink-main),var(--pink-light));border:none;border-radius:50%;color:#fff;box-shadow:0 2px 8px #e8a0b059;transition:all var(--duration-fast) var(--ease-spring)}.btn-icon-only:hover{transform:scale(1.1);box-shadow:0 4px 12px #e8a0b080}.btn-icon-only:active{transform:scale(.95)}.btn-icon-only svg{width:16px;height:16px}.btn-capsule{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--font-size-sm);font-weight:600;color:var(--pink-deep);background:var(--pink-soft);border:none;border-radius:var(--radius-full);box-shadow:var(--shadow-xs);transition:all var(--duration-fast) var(--ease-spring)}.btn-capsule:hover{background:var(--pink-main);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-sm)}.btn-capsule:active{transform:scale(.95)}.btn-capsule.active{background:linear-gradient(135deg,var(--pink-main) 0%,var(--pink-deep) 100%);color:#fff;box-shadow:var(--shadow-md)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg);border-radius:var(--radius-md)}input,textarea,select{font-family:var(--font-body);font-size:var(--font-size-base);color:var(--text-primary);background:var(--paper);border:2px solid var(--pink-light);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease;outline:none}input:not([class]),textarea:not([class]),select:not([class]){width:100%}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:focus,textarea:focus,select:focus{border-color:var(--pink-main);box-shadow:0 0 0 3px var(--pink-glow)}input:disabled,textarea:disabled,select:disabled{opacity:.5;cursor:not-allowed;background:var(--pink-soft)}textarea{resize:vertical;min-height:100px}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23C48B9A' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.card{background:var(--paper);border:1px solid rgba(255,182,193,.3);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out)}.card:hover{transform:translateY(-3px) scale(1.01);box-shadow:var(--shadow-md)}.author-xiaoyu{border-left:4px solid var(--xiaoyu-blue)}.author-xiaoqi{border-left:4px solid var(--xiaoqi-pink)}.author-developer,.author-ai{border-left:4px solid var(--guest-lavender)!important}.page-wrapper{width:100%;position:relative;animation:fadeInUp var(--duration-normal) var(--ease-out) forwards}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.fade-out{animation:fadeOut var(--duration-fast) var(--ease-out) forwards}@keyframes bounceIn{0%{opacity:0;transform:translateY(24px) scale(.92)}50%{transform:translateY(-6px) scale(1.02)}75%{transform:translateY(3px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes bounceInLeft{0%{opacity:0;transform:translate(-20px) scale(.95)}50%{transform:translate(5px) scale(1.01)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes bounceInRight{0%{opacity:0;transform:translate(20px) scale(.95)}50%{transform:translate(-5px) scale(1.01)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.bounce-delay-1{animation-delay:0ms}.bounce-delay-2{animation-delay:60ms}.bounce-delay-3{animation-delay:.12s}.bounce-delay-4{animation-delay:.18s}.bounce-delay-5{animation-delay:.24s}.bounce-delay-6{animation-delay:.3s}.bounce-delay-7{animation-delay:.36s}.bounce-delay-8{animation-delay:.42s}.page-container{width:100%;padding:var(--space-4)}@media (max-width: 767px){.page-container{padding:var(--space-3) var(--space-4)}.timeline-wrapper,.messages-wrapper,.capsules-wrapper,.todos-wrapper,.future-wrapper{padding-left:var(--space-3);padding-right:var(--space-3)}}@media (min-width: 768px){.page-container{padding:var(--space-6);max-width:900px;margin:0 auto}.timeline-wrapper,.messages-wrapper,.capsules-wrapper,.todos-wrapper,.future-wrapper{max-width:800px;margin:0 auto;width:100%}}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--space-6);color:var(--pink-main);background:linear-gradient(180deg,var(--bg-pink) 0%,var(--bg-warm) 100%)}.loading-screen .heart-pulse{font-size:56px;animation:heartBeat 1.2s ease-in-out infinite}.loading-screen p{margin:0;font-size:var(--font-size-sm);color:var(--text-secondary);letter-spacing:1px}@keyframes heartBeat{0%{transform:scale(1)}8%{transform:scale(1.15)}16%{transform:scale(1)}28%{transform:scale(1.1)}36%{transform:scale(1)}to{transform:scale(1)}}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);gap:var(--space-4);color:var(--pink-main)}.loading svg{font-size:32px;animation:spin 1s linear infinite}.loading p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);text-align:center;gap:var(--space-4);color:var(--danger)}.error-state svg{font-size:36px;opacity:.8}.error-state p{color:var(--text-secondary);margin:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);text-align:center;gap:var(--space-4);color:var(--text-muted)}.empty-state svg{font-size:48px;opacity:.4;color:var(--pink-main)}.empty-state p{font-size:var(--font-size-md);color:var(--text-secondary);margin:0}.empty-state-hint{font-size:var(--font-size-sm);color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#5a464a66;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-4);animation:fadeIn var(--duration-fast) ease forwards}@supports (backdrop-filter: blur(4px)){.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}.modal-card{background:var(--paper);border-radius:var(--radius-xl);padding:var(--space-6);width:100%;max-width:400px;box-shadow:var(--shadow-xl);animation:bounceIn var(--duration-normal) var(--ease-spring) forwards}.form-group{margin-bottom:var(--space-5)}.form-group label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-2)}.form-actions{display:flex;gap:var(--space-3);margin-top:var(--space-6)}.form-actions button{flex:1}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 var(--space-2);font-size:var(--font-size-xs);font-weight:700;color:#fff;background:linear-gradient(135deg,var(--pink-main),var(--pink-deep));border-radius:var(--radius-full);box-shadow:var(--shadow-xs)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-center{text-align:center}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}@media (max-width: 767px){.hide-mobile{display:none!important}}@media (min-width: 768px){.hide-desktop{display:none!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--pink-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--pink-main)}::selection{background:var(--pink-glow);color:var(--text-primary)}::-moz-selection{background:var(--pink-glow);color:var(--text-primary)}.page-content,.main-content{padding-top:40px}@media (min-width: 768px){.page-content,.main-content{padding-top:45px}}
