*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary:#fff;--bg-secondary:#f9fafb;--bg-tertiary:#ececec;--text-primary:#0d0d0d;--text-secondary:#676767;--border:#e5e7eb;--sidebar-bg:#f9f9f9;--accent:#007aff;--accent-hover:#0051d5;--danger:#dc2626;--danger-hover:#b91c1c}@media (prefers-color-scheme:dark){:root{--bg-primary:#1e1e1e;--bg-secondary:#2c2c2c;--bg-tertiary:#3a3a3a;--text-primary:#f5f5f7;--text-secondary:#a1a1a6;--border:#3a3a3a;--sidebar-bg:#161616;--accent:#0a84ff;--accent-hover:#409cff;--danger:#ff453a;--danger-hover:#ff3b30}}body,html{height:100%;width:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;margin:0;padding:0;position:fixed}.loading{color:var(--text-secondary)}.auth-container,.loading{display:flex;align-items:center;justify-content:center;height:100vh}.auth-container{background:var(--bg-secondary);overflow:hidden}.auth-box{background:var(--bg-primary);padding:2.5rem;border-radius:8px;border:1px solid var(--border);width:90%;max-width:400px}.auth-box h1{font-size:1.75rem;font-weight:600;margin-bottom:.5rem;text-align:center}.auth-box p{color:var(--text-secondary);text-align:center;margin-bottom:2rem;font-size:.875rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:6px;font-size:.9375rem;font-family:inherit;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent)}.form-group textarea{resize:none;min-height:80px;max-height:400px;overflow-y:auto}.btn-primary{background:var(--accent);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:background-color .2s;display:inline-flex;align-items:center;gap:.5rem}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border);padding:.75rem 1.5rem;border-radius:6px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-secondary:hover{background:var(--bg-secondary)}.btn-secondary.active{background:var(--accent);color:#fff;border-color:var(--accent)}.calendar-picker{width:100%}.date-display-btn{width:100%;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);font-family:inherit;font-size:1rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s;text-align:left}.date-display-btn:hover{border-color:var(--accent)}.year-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:.5rem;gap:.5rem;margin-bottom:1rem}.year-btn{background:var(--bg-secondary);border:1px solid var(--border);padding:.75rem;border-radius:6px;font-family:inherit;font-size:.9375rem;font-weight:400;color:var(--text-primary);cursor:pointer;transition:all .2s}.year-btn.active,.year-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.month-selector-btn{width:100%;background:var(--bg-secondary);border:1px solid var(--border);padding:.75rem 1rem;border-radius:6px;font-family:inherit;font-size:.9375rem;font-weight:500;color:var(--text-primary);cursor:pointer;transition:all .2s;display:flex;justify-content:space-between;align-items:center}.month-selector-btn:hover{border-color:var(--accent)}.month-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.5rem;gap:.5rem}.month-btn{background:var(--bg-secondary);border:1px solid var(--border);padding:.75rem;border-radius:6px;font-family:inherit;font-size:.9375rem;font-weight:400;color:var(--text-primary);cursor:pointer;transition:all .2s}.month-btn.active,.month-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.day-names{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.25rem;gap:.25rem;margin-bottom:.5rem}.day-name{text-align:center;font-family:inherit;font-size:.75rem;font-weight:500;color:var(--text-secondary);padding:.25rem}.day-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:.25rem;gap:.25rem}.day-btn{background:var(--bg-secondary);border:1px solid var(--border);padding:.75rem;border-radius:6px;font-family:inherit;font-size:.875rem;font-weight:400;color:var(--text-primary);cursor:pointer;transition:all .2s;aspect-ratio:1;display:flex;align-items:center;justify-content:center}.day-btn.active,.day-btn:hover:not(.empty){background:var(--accent);color:#fff;border-color:var(--accent)}.day-btn.empty{background:transparent;border:none;cursor:default}.auth-switch{margin-top:1.5rem;text-align:center;font-size:.875rem;color:var(--text-secondary)}.auth-switch button{background:none;border:none;color:var(--accent);cursor:pointer;font-weight:500;padding:0}.auth-switch button:hover{text-decoration:underline}.error-message{background:rgba(255,69,58,.1);color:var(--danger);padding:.75rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem;border:1px solid var(--danger)}.app{height:100%;display:flex;width:100%;overflow:hidden;position:relative}.sidebar{width:280px;background:var(--sidebar-bg);border-right:1px solid var(--border)}.sidebar,.sidebar-header{display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:1rem;border-bottom:1px solid var(--border);gap:.5rem}.sidebar-search{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;font-family:inherit;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s}.sidebar-search:focus{outline:none;border-color:var(--accent)}.sidebar-search::placeholder{color:var(--text-secondary)}.sort-tabs{display:flex;gap:0;background:var(--bg-secondary);border-radius:8px;padding:3px}.sort-tab{flex:1 1;padding:.375rem .75rem;background:transparent;border:none;border-radius:6px;font-size:.8125rem;font-weight:500;font-family:inherit;color:var(--text-secondary);cursor:pointer;transition:all .2s}.sort-tab.active,.sort-tab:hover{color:var(--text-primary)}.sort-tab.active{background:var(--bg-primary);box-shadow:0 1px 3px rgba(0,0,0,.1)}.sidebar-content{flex:1 1;overflow-y:auto;min-height:0}.sidebar-empty{padding:1rem .75rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.sidebar-section{padding:1rem}.sidebar-section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.75rem;letter-spacing:.05em}.sidebar-item{padding:.75rem;margin-bottom:.25rem;border-radius:6px;cursor:pointer;transition:background-color .15s}.sidebar-item:hover{background:var(--bg-secondary)}.sidebar-item-active{background:rgba(0,122,255,.08)}@media (prefers-color-scheme:dark){.sidebar-item-active{background:rgba(10,132,255,.15)}}.sidebar-item-name{font-size:.9375rem;font-weight:500;color:var(--text-primary);margin-bottom:.25rem}.sidebar-item-desc{font-size:.8125rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer{border-top:1px solid var(--border);padding:1rem}.sidebar-footer-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:transparent;border:none;border-radius:6px;cursor:pointer;color:var(--text-secondary);font-size:.875rem;transition:background-color .15s}.sidebar-footer-btn:hover{background:var(--bg-secondary)}.main-content{display:flex;flex-direction:column;height:100%;width:100%;overflow:hidden}.main-header{padding:1rem 1.5rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--bg-primary);flex-shrink:0}.main-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);flex:1 1;text-align:center}.new-person-btn{background:transparent;border:none;padding:.5rem;cursor:pointer;color:var(--text-primary);border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.new-person-btn:hover{background:var(--bg-secondary)}.people-list-view{overflow:hidden}.activity-feed,.people-list-view{flex:1 1;display:flex;flex-direction:column}.activity-feed{overflow-y:auto}.activity-feed-header{padding:2rem 2rem 1rem;max-width:48rem;margin:0 auto;width:100%}.activity-feed-header h2{font-size:1.5rem;font-weight:600;color:var(--text-primary)}.activity-list{flex:1 1;padding:0 2rem 2rem;max-width:48rem;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:.75rem}.activity-item{background:var(--bg-primary);padding:1.25rem;border-radius:12px;border:1px solid var(--border);cursor:pointer;transition:all .2s}@media (hover:hover) and (pointer:fine){.activity-item:hover{background:var(--bg-secondary);transform:translateY(-1px)}}.activity-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.activity-item-name{font-size:1rem;font-weight:600;color:var(--text-primary)}.activity-item-date{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.activity-item-notes{font-size:.9375rem;color:var(--text-secondary);line-height:1.6;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.skeleton-activity-item{background:var(--bg-primary);padding:1.25rem;border-radius:12px;border:1px solid var(--border);margin-bottom:.75rem}.skeleton-date{height:14px;width:100px}.search-bar-container{padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:var(--bg-primary);flex-shrink:0;display:none}.search-input{width:100%;max-width:600px;margin:0 auto;display:block;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;font-family:inherit;background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s,box-shadow .2s}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(16,163,127,.1)}.search-input::placeholder{color:var(--text-secondary)}.people-list{flex:1 1;overflow-y:auto;padding:1rem 0;display:none}.person-item{max-width:600px;margin:0 auto .75rem;padding:1rem 1.5rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all .2s}@media (hover:hover) and (pointer:fine){.person-item:hover{border-color:var(--accent);box-shadow:0 2px 8px rgba(0,0,0,.08);transform:translateY(-1px)}}.person-item-name{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.person-item-desc{font-size:.9375rem;color:var(--text-secondary);margin-bottom:.5rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5}.person-item-date{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.skeleton-person-item{max-width:600px;margin:0 auto .75rem;border:1px solid var(--border);border-radius:12px}.footer-container,.skeleton-person-item{padding:1rem 1.5rem;background:var(--bg-primary)}.footer-container{border-top:1px solid var(--border);flex-shrink:0;display:none}.footer-signout-btn{max-width:600px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:background-color .2s}.footer-signout-btn:hover{background:var(--bg-secondary)}.footer-signout-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){body,html{width:100%}.app,.main-content,body,html{overflow-x:hidden;max-width:100vw}.activity-feed,.sidebar{display:none}.hide-on-mobile{display:none!important}.search-bar-container{display:flex;align-items:center;padding:.75rem 1rem}.people-list{display:block;padding:.75rem 0}.footer-container{display:block;padding:.75rem 1rem}.main-header{padding:.75rem 1rem;flex-shrink:0}.main-title{font-size:1.125rem}.person-item{margin:0 1rem .75rem;padding:1rem}.person-item-name{font-size:1rem}.skeleton-person-item{margin:0 1rem .75rem;padding:1rem}.empty-state{padding:1.5rem 1rem}.empty-state h1{font-size:1.5rem}.empty-state p{font-size:.9375rem}.contact-detail-view{padding:1rem}.contact-interactions-section{max-width:100%;padding:0 .5rem}.modal-content{width:95%;margin:1rem;max-width:calc(100vw - 2rem)}.auth-box{padding:2rem 1.5rem}.back-btn{padding:.5rem .75rem}.icon-btn,.interaction-menu-btn,.new-person-btn{min-width:44px;min-height:44px}.btn-primary,.btn-secondary{min-height:44px}.sidebar-item{padding:1rem .75rem}.contact-interaction-item{padding:1rem;max-width:100%}.interaction-detail-view{padding:1rem}.interaction-detail-content{padding:1.5rem;margin-top:1rem;max-width:100%}}.empty-state{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;overflow:hidden;min-height:0}.empty-state h1{font-size:2rem;font-weight:400;margin-bottom:1rem;color:var(--text-primary)}.empty-state p{font-size:1rem;color:var(--text-secondary)}.interactions-container{flex:1 1;overflow-y:auto;padding:2rem 0;min-height:0}.interaction-message{max-width:48rem;margin:0 auto;padding:1.5rem 1rem;border-bottom:1px solid var(--border)}.interaction-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.interaction-contact{font-weight:600;color:var(--text-primary);font-size:.9375rem}.interaction-date{font-size:.8125rem;color:var(--text-secondary)}.interaction-content{color:var(--text-primary);font-size:1rem;line-height:1.75;white-space:pre-wrap}.input-container{border-top:1px solid var(--border);background:var(--bg-primary);padding:1rem}.input-form{max-width:48rem;margin:0 auto;position:relative}.input-wrapper-bottom{display:flex;align-items:flex-end;gap:.75rem;padding:.75rem 1rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:24px;transition:box-shadow .2s}.input-wrapper-bottom:focus-within{box-shadow:0 0 0 2px var(--border)}.input-wrapper-bottom textarea{flex:1 1;border:none;background:transparent;font-size:1rem;font-family:inherit;resize:none;outline:none;max-height:200px;overflow-y:auto;line-height:1.5}.input-wrapper-bottom textarea::placeholder{color:var(--text-secondary)}.send-btn{background:transparent;color:var(--accent);border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:opacity .2s}.send-btn:hover:not(:disabled){opacity:.7}.send-btn:disabled{opacity:.3;cursor:not-allowed}.mention-dropdown-bottom{position:absolute;bottom:100%;left:0;right:0;margin-bottom:.5rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);max-height:200px;overflow-y:auto;z-index:100}.mention-item{padding:.75rem 1rem;cursor:pointer;transition:background-color .2s;font-size:.9375rem}.mention-item:hover{background:var(--bg-secondary)}.mention-item:not(:last-child){border-bottom:1px solid var(--border)}.mention-new{color:var(--accent);font-weight:500}.modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.5)}.modal.show{display:flex;align-items:center;justify-content:center;animation:fadeIn .2s}.modal-content{background:var(--bg-secondary);border-radius:12px;width:90%;max-width:400px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);animation:slideUp .2s}.modal-content.modal-large{max-width:600px;max-height:80vh;display:flex;flex-direction:column}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start}.modal-header h3{font-size:1.125rem;font-weight:600}.modal-header-actions{display:flex;align-items:center;gap:.5rem}.close-btn{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;line-height:1;padding:0;width:30px;height:30px}.close-btn:hover{color:var(--text-primary)}.btn-danger-small{background:var(--danger);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.btn-danger-small:hover{background:var(--danger-hover)}.icon-btn{background:transparent;border:none;color:var(--text-secondary);padding:.5rem;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.icon-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.icon-btn-danger{background:transparent;border:none;color:var(--text-secondary);padding:.5rem;border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.icon-btn-danger:hover{background:var(--bg-secondary);color:var(--danger)}.modal-content form{padding:1.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.contact-description{font-size:.875rem;color:var(--text-secondary);margin-top:.25rem;font-weight:400}.modal-body{padding:1.5rem;overflow-y:auto;flex:1 1}.modal-body h4{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary)}.modal-interactions-list{display:flex;flex-direction:column;gap:1rem}.modal-interaction-item{padding:1rem;background:var(--bg-secondary);border-radius:8px}.modal-interaction-date{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.modal-interaction-notes{font-size:.9375rem;color:var(--text-secondary);white-space:pre-wrap;line-height:1.6}.interaction-detail-view{flex:1 1;overflow-y:auto;padding:2rem;min-height:0;display:flex;justify-content:center;align-items:flex-start}.interaction-detail-content{max-width:48rem;width:100%;padding:2rem;background:var(--bg-primary);border-radius:12px;border:1px solid var(--border);margin-top:2rem}.interaction-detail-date{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:1.5rem}.interaction-detail-notes{font-size:1.125rem;color:var(--text-primary);line-height:1.8;white-space:pre-wrap}.contact-detail-view{flex:1 1;overflow-y:auto;padding:2rem;min-height:0}.contact-detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;max-width:48rem;margin-left:auto;margin-right:auto;padding:0 1rem}.contact-detail-name{flex:1 1;text-align:center;font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.back-btn{display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--border);padding:.5rem 1rem;border-radius:6px;color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s}.back-btn:hover{background:var(--bg-secondary)}.contact-detail-info{max-width:48rem;margin:0 auto 2rem;background:var(--bg-primary);padding:2rem;border-radius:12px;border:1px solid var(--border)}.contact-detail-info h2{font-size:1.75rem;font-weight:600;margin-bottom:.5rem}.contact-description-large{font-size:1rem;color:var(--text-secondary);line-height:1.6}.contact-interactions-section{max-width:48rem;margin:0 auto}.contact-interactions-section h3{font-size:1.125rem;font-weight:600;margin-bottom:1rem}.no-interactions{text-align:center;padding:2rem;color:var(--text-secondary);font-size:.9375rem}.contact-interactions-list{display:flex;flex-direction:column;gap:1rem}.contact-interaction-item{background:var(--bg-primary);padding:1.25rem;border-radius:12px;border:1px solid var(--border);transition:all .2s}.contact-interaction-item.clickable{cursor:pointer}@media (hover:hover) and (pointer:fine){.contact-interaction-item.clickable:hover{background:var(--bg-secondary);transform:translateY(-1px)}}.contact-interaction-item.highlighted{background:color-mix(in srgb,var(--accent) 8%,var(--bg-primary));border-color:var(--accent);animation:highlightPulse .5s ease-out}@keyframes highlightPulse{0%{background:color-mix(in srgb,var(--accent) 15%,var(--bg-primary))}to{background:color-mix(in srgb,var(--accent) 8%,var(--bg-primary))}}.contact-interaction-date{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.contact-interaction-notes{font-size:.9375rem;color:var(--text-secondary);white-space:pre-wrap;line-height:1.6}.interaction-menu-btn{background:transparent;border:none;color:var(--text-secondary);padding:.25rem;border-radius:4px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.interaction-menu-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}.interaction-menu{position:absolute;right:0;top:100%;margin-top:.25rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.1);min-width:120px;z-index:100;overflow:hidden}.interaction-menu button{width:100%;padding:.5rem .75rem;background:transparent;border:none;text-align:left;font-size:.875rem;color:var(--text-primary);cursor:pointer;transition:background-color .2s}.interaction-menu button:hover{background:var(--bg-secondary)}.interaction-menu button.danger{color:var(--danger)}.interaction-menu button:not(:last-child){border-bottom:1px solid var(--border)}.contact-menu{position:absolute;right:0;top:100%;margin-top:.5rem;background:var(--bg-primary);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.1);min-width:120px;z-index:100;overflow:hidden}.contact-menu button{width:100%;padding:.5rem .75rem;background:transparent;border:none;text-align:left;font-size:.875rem;color:var(--text-primary);cursor:pointer;transition:background-color .2s}.contact-menu button:hover{background:var(--bg-secondary)}.contact-menu button.danger{color:var(--danger)}.contact-menu button:not(:last-child){border-bottom:1px solid var(--border)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border)}@keyframes shimmer{0%{background-position:-468px 0}to{background-position:468px 0}}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(to right,var(--bg-secondary) 0,var(--bg-tertiary) 20%,var(--bg-secondary) 40%,var(--bg-secondary) 100%);background-size:800px 100px;border-radius:6px}.skeleton-sidebar-item{padding:.75rem;margin-bottom:.5rem}.skeleton-name{height:16px;width:60%;margin-bottom:8px}.skeleton-desc{height:14px;width:90%}.skeleton-interaction{padding:1rem;margin-bottom:1rem;border-radius:8px;background:var(--bg-secondary)}.skeleton-interaction-date{height:14px;width:80px;margin-bottom:8px}.skeleton-interaction-content{height:16px;width:100%;margin-bottom:6px}.skeleton-interaction-content:last-child{width:75%;margin-bottom:0}.toast-container{position:fixed;top:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;pointer-events:none}.toast{pointer-events:all;min-width:300px;max-width:500px;background:var(--bg-primary);border:1px solid var(--border);border-radius:8px;padding:1rem;box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);display:flex;align-items:center;justify-content:space-between;gap:1rem;animation:slideInRight .3s ease-out;cursor:pointer}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.toast-content{display:flex;align-items:center;gap:.75rem;flex:1 1;font-size:.875rem}.toast-success{border-left:4px solid #10a37f;color:var(--text-primary)}.toast-success svg{color:#10a37f;flex-shrink:0}.toast-error{border-left:4px solid var(--danger);color:var(--text-primary)}.toast-error svg{color:var(--danger);flex-shrink:0}.toast-info{border-left:4px solid var(--accent);color:var(--text-primary)}.toast-info svg{color:var(--accent);flex-shrink:0}.toast-close{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s}.toast-close:hover{color:var(--text-primary)}@media (max-width:768px){.toast-container{left:1rem;right:1rem}.toast{min-width:auto}}.shortcuts-modal-content{max-width:500px}.shortcuts-grid{display:grid;grid-gap:.75rem;gap:.75rem}.shortcut-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-primary);border-radius:6px}.shortcut-label{font-size:.875rem;color:var(--text-primary)}.shortcut-keys{display:flex;gap:.375rem}.shortcut-key{background:var(--bg-tertiary);color:var(--text-primary);padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600;font-family:monospace;border:1px solid var(--border)}.days-since-badge{font-size:.75rem;color:var(--text-secondary);background:var(--bg-secondary);padding:.125rem .5rem;border-radius:12px;font-weight:500}.days-since-badge.warning{background:rgba(255,149,0,.1);color:#ff9500}.days-since-badge.danger{background:rgba(255,69,58,.1);color:var(--danger)}.interaction-count{font-size:.75rem;color:var(--text-secondary);font-weight:500}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.3}}.landing-container{background:var(--bg-primary);color:var(--text-primary);position:fixed;top:0;left:0;right:0;bottom:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.landing-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10rem 2rem 8rem;text-align:center;max-width:1000px;margin:0 auto;position:relative;min-height:100vh}.landing-hero:before{content:"";position:absolute;top:-20%;left:50%;transform:translateX(-50%);width:120%;height:120%;background:radial-gradient(ellipse at center,var(--accent),transparent 60%);opacity:.04;pointer-events:none;z-index:0}.landing-badge{display:inline-block;padding:.5rem 1.25rem;background:linear-gradient(135deg,var(--accent),var(--accent-hover));color:#fff;border-radius:100px;font-size:.8125rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:2rem;box-shadow:0 4px 16px rgba(0,122,255,.2);position:relative;z-index:1;animation:fadeInUp .6s ease-out}.landing-title{font-size:4rem;font-weight:700;margin-bottom:1.75rem;line-height:1.1;color:var(--text-primary);letter-spacing:-.025em;position:relative;z-index:1;animation:fadeInUp .6s ease-out .1s both}.landing-title-highlight{background:linear-gradient(135deg,var(--accent),var(--accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.landing-subtitle{font-size:1.25rem;color:var(--text-secondary);margin-bottom:2.5rem;line-height:1.7;max-width:680px;font-weight:400;position:relative;z-index:1;animation:fadeInUp .6s ease-out .2s both}.landing-ctas{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;position:relative;z-index:1;animation:fadeInUp .6s ease-out .3s both}.landing-cta-primary{padding:1.125rem 2.5rem;font-size:1.0625rem;font-weight:600;min-width:200px;border-radius:12px;box-shadow:0 6px 20px rgba(0,122,255,.2);transition:all .3s cubic-bezier(.4,0,.2,1)}.landing-cta-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 32px rgba(0,122,255,.3)}.landing-cta-secondary{padding:1.125rem 2.5rem;font-size:1.0625rem;font-weight:500;min-width:200px;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1)}.landing-cta-secondary:hover{background:var(--bg-secondary);transform:translateY(-2px)}.landing-trust{display:flex;gap:2rem;margin-top:3rem;flex-wrap:wrap;justify-content:center;position:relative;z-index:1;animation:fadeInUp .6s ease-out .4s both}.landing-trust-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.landing-trust-icon{width:20px;height:20px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700}.landing-features-section{background:var(--bg-secondary);padding:6rem 2rem;border-top:1px solid var(--border)}.landing-section-header{text-align:center;max-width:700px;margin:0 auto 4rem}.landing-section-title{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary);letter-spacing:-.02em}.landing-section-subtitle{font-size:1.125rem;color:var(--text-secondary);font-weight:400}.landing-features{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:2rem;gap:2rem;max-width:1100px;margin:0 auto}.landing-feature{background:var(--bg-primary);border:1px solid var(--border);border-radius:20px;padding:3rem 2.5rem;text-align:left;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.landing-feature:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-hover));opacity:0;transition:opacity .4s ease}.landing-feature:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.1);border-color:rgba(0,122,255,.3)}.landing-feature:hover:before{opacity:1}.landing-feature-icon-wrapper{width:64px;height:64px;background:linear-gradient(135deg,var(--accent),var(--accent-hover));border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;box-shadow:0 8px 24px rgba(0,122,255,.2);transition:transform .4s cubic-bezier(.4,0,.2,1)}.landing-feature:hover .landing-feature-icon-wrapper{transform:scale(1.1) rotate(-5deg)}.landing-feature-icon{font-size:2rem;filter:none}.landing-feature-title{font-size:1.375rem;font-weight:600;margin-bottom:1rem;color:var(--text-primary);letter-spacing:-.015em}.landing-feature-description{font-size:1rem;color:var(--text-secondary);line-height:1.7}.landing-footer{padding:3rem 2rem;text-align:center;border-top:1px solid var(--border);color:var(--text-secondary);font-size:.875rem;background:var(--bg-secondary);margin-top:auto}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.landing-badge{font-size:.75rem;padding:.4rem 1rem;margin-bottom:1.5rem}.landing-title{font-size:2.5rem;letter-spacing:-.02em;margin-bottom:1.5rem}.landing-subtitle{font-size:1.0625rem;margin-bottom:2rem}.landing-hero{padding:5rem 1.5rem 4rem;min-height:85vh}.landing-trust{flex-direction:column;gap:1rem;margin-top:2rem}.landing-features-section{padding:4rem 1.5rem}.landing-section-title{font-size:2rem}.landing-section-subtitle{font-size:1rem}.landing-features{grid-template-columns:1fr;gap:1.5rem}.landing-feature{padding:2.5rem 2rem}.landing-feature-icon-wrapper{width:56px;height:56px;border-radius:14px}.landing-feature-icon{font-size:1.75rem}.landing-feature-title{font-size:1.25rem}.landing-ctas{flex-direction:column;width:100%;gap:.75rem}.landing-cta-primary,.landing-cta-secondary{width:100%;max-width:340px}}@media (prefers-color-scheme:dark){.landing-feature{background:var(--bg-primary)}.landing-feature:hover{box-shadow:0 16px 40px rgba(0,0,0,.4)}.landing-features-section{background:var(--bg-secondary)}}