@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.timer-settings{position:absolute;top:1.5rem;right:1.5rem;z-index:10}.settings-toggle-btn{background:#0000001a;border:1px solid rgba(0,0,0,.2);border-radius:8px;padding:.5rem;cursor:pointer;color:var(--color-text);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.settings-toggle-btn:hover{background:#00000026;border-color:#0000004d;transform:scale(1.05)}[data-theme=dark] .settings-toggle-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff}[data-theme=dark] .settings-toggle-btn:hover{background:#ffffff26;border-color:#ffffff4d}.settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:999;animation:fadeIn .2s ease}.settings-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--color-card);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;min-width:400px;max-width:500px;box-shadow:0 20px 60px #00000080;z-index:1000;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.settings-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.settings-modal-header h3{margin:0;color:var(--color-text);font-size:1.5rem;font-weight:600}.close-modal-btn{background:transparent;border:none;color:var(--color-text-light);cursor:pointer;padding:.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-modal-btn:hover{background:#ffffff1a;color:var(--color-text)}.settings-modal-content{display:flex;flex-direction:column;gap:1.5rem}.setting-item{display:flex;justify-content:space-between;align-items:center;gap:1rem}.setting-label{display:flex;flex-direction:column;gap:.25rem;flex:1}.setting-name{color:var(--color-text);font-weight:500;font-size:.95rem}.setting-description{color:var(--color-text-light);font-size:.8rem}[data-theme=dark] .setting-name{color:#fff}[data-theme=dark] .setting-description{color:#fff9}.mode-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;border:none;cursor:pointer;font-weight:500;transition:all .3s ease;white-space:nowrap}.mode-toggle-btn.progressive{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.mode-toggle-btn.countdown{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.mode-toggle-btn:hover{transform:scale(1.05);box-shadow:0 4px 12px #0000004d}@media (max-width: 768px){.timer-settings{top:.75rem;right:.75rem}.settings-toggle-btn{padding:.5rem;min-width:40px;min-height:40px}.settings-overlay{display:flex;align-items:center;justify-content:center;padding:1rem}.settings-modal{position:relative;top:auto;left:auto;transform:none;min-width:auto;width:calc(100vw - 2rem);max-width:360px;padding:1.25rem;margin:0;animation:fadeInModal .2s ease}@keyframes fadeInModal{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.settings-modal-header h3{font-size:1.15rem}.close-modal-btn{min-width:40px;min-height:40px;padding:.375rem}.setting-item{flex-direction:column;align-items:flex-start;gap:.625rem}.setting-name{font-size:.875rem}.setting-description{font-size:.75rem}.mode-toggle-btn{width:100%;justify-content:center;padding:.625rem .875rem;min-height:40px;font-size:.875rem}}@media (max-width: 480px){.timer-settings{top:.5rem;right:.5rem}.settings-toggle-btn{padding:.375rem;min-width:36px;min-height:36px}.settings-toggle-btn svg{width:18px;height:18px}.settings-modal{width:calc(100vw - 1.5rem);max-width:none;padding:1rem;border-radius:12px}.settings-modal-header{margin-bottom:1rem}.settings-modal-header h3{font-size:1.05rem}.settings-modal-content{gap:1rem}.setting-name{font-size:.85rem}.setting-description{font-size:.7rem}.mode-toggle-btn{padding:.5rem .75rem;font-size:.8rem}}@media (max-width: 360px){.settings-modal{width:calc(100vw - 1rem);padding:.875rem}.settings-modal-header h3{font-size:1rem}}.todo-list-container{width:100%;display:flex;justify-content:center;margin-top:2rem}.todo-list-card{background-color:var(--color-card);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:700px;transition:all .3s ease}.todo-list-card.minimized{padding:1rem 2rem;min-height:auto}.todo-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--color-card-alt)}.todo-list-card.minimized .todo-list-header{margin-bottom:0;padding-bottom:0;border-bottom:none}.todo-header-left{display:flex;align-items:center;gap:1rem}.todo-list-header h3{font-family:var(--font-handwritten);font-size:1.75rem;color:var(--color-text);margin:0;font-weight:600}.todo-count{font-size:.9rem;color:var(--color-text-light);background-color:var(--color-card-alt);padding:.25rem .75rem;border-radius:var(--radius-sm);font-weight:500}.btn-minimize{background:none;border:none;color:var(--color-text-light);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-minimize:hover{background-color:var(--color-card-alt);color:var(--color-text)}.todo-input-form{display:flex;gap:.5rem;margin-bottom:1.5rem}.todo-input{flex:1;padding:.75rem 1rem;background-color:var(--color-card-alt);border:2px solid transparent;border-radius:var(--radius-md);color:var(--color-text);font-size:1rem;transition:all .2s ease}.todo-input:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-bg)}.todo-input::placeholder{color:var(--color-text-light);opacity:.6}.btn-add-todo{padding:.75rem;background-color:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-add-todo:hover:not(:disabled){background-color:var(--color-primary-dark);transform:scale(1.05)}.btn-add-todo:disabled{opacity:.4;cursor:not-allowed}.todo-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto;padding-right:.5rem;margin-bottom:.5rem}.todo-list.completed-list{max-height:180px;margin-bottom:0}.todo-list::-webkit-scrollbar{width:6px}.todo-list::-webkit-scrollbar-track{background:var(--color-card-alt);border-radius:3px}.todo-list::-webkit-scrollbar-thumb{background:var(--color-text-light);border-radius:3px}.todo-list::-webkit-scrollbar-thumb:hover{background:var(--color-text)}.empty-todos{text-align:center;padding:2rem;color:var(--color-text-light);font-size:.95rem;font-style:italic}.droppable-area{display:flex;flex-direction:column;gap:.5rem;min-height:20px;transition:background-color .2s ease}.droppable-area.dragging-over{background-color:#3b82f61a;border-radius:var(--radius-md);padding:.25rem}.todo-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background-color:var(--color-card-alt);border-radius:var(--radius-md);transition:all .2s ease;cursor:grab;-webkit-user-select:none;user-select:none}.todo-item:active{cursor:grabbing}.todo-item.dragging{opacity:.5;background-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:rotate(2deg)}.todo-item:hover{background-color:var(--color-bg);transform:translate(2px)}.todo-item.dragging:hover{transform:rotate(2deg)}.todo-item.completed-item{opacity:.7}.drag-handle{display:flex;align-items:center;justify-content:center;color:var(--color-text-light);opacity:0;transition:opacity .2s ease;cursor:grab}.todo-item:hover .drag-handle{opacity:.6}.todo-checkbox{background:none;border:none;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.checkbox{width:20px;height:20px;border:2px solid var(--color-text-light);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .2s ease;background-color:transparent}.checkbox.checked{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.todo-checkbox:hover .checkbox:not(.checked){border-color:var(--color-primary)}.todo-text{flex:1;color:var(--color-text);font-size:.95rem;word-break:break-word;cursor:pointer;padding:.25rem 0;transition:all .2s ease}.todo-text:hover{color:var(--color-primary)}.todo-text.completed{text-decoration:line-through;color:var(--color-text-light)}.btn-delete-todo{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--color-text-light);transition:all .2s ease;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);opacity:0}.todo-item:hover .btn-delete-todo{opacity:1}.btn-delete-todo:hover{color:var(--color-danger);background-color:#dc26261a}.completed-divider{margin-top:.5rem;padding:.75rem 0;border-top:2px solid var(--color-card-alt);margin-bottom:.75rem;background-color:var(--color-card);position:relative}.completed-divider span{font-size:.85rem;color:var(--color-text-light);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.todo-edit-container{flex:1;display:flex;gap:.5rem;align-items:center}.todo-edit-input{flex:1;padding:.5rem .75rem;background-color:var(--color-bg);border:2px solid var(--color-primary);border-radius:var(--radius-sm);color:var(--color-text);font-size:.95rem}.todo-edit-input:focus{outline:none}.todo-edit-actions{display:flex;gap:.25rem}.btn-edit-action{background:none;border:none;padding:.25rem;cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.btn-edit-action.save{color:var(--color-success)}.btn-edit-action.save:hover{background-color:#22c55e1a}.btn-edit-action.cancel{color:var(--color-danger)}.btn-edit-action.cancel:hover{background-color:#dc26261a}@media (max-width: 768px){.todo-list-card{min-width:auto;width:100%;padding:1.25rem}.todo-list-header h3{font-size:1.35rem}.todo-input{font-size:.9rem}.todo-list{max-height:250px}.todo-item{padding:.875rem}}@media (max-width: 480px){.todo-list-card{padding:1rem}.todo-list-card.minimized{padding:.75rem 1rem}.todo-list-header h3{font-size:1.15rem}.todo-count{font-size:.75rem;padding:.15rem .5rem}.todo-input{font-size:.875rem;padding:.75rem .875rem;min-height:44px}.btn-add-todo{padding:.75rem;min-width:44px;min-height:44px}.todo-text{font-size:.875rem}.todo-item{padding:.75rem;gap:.5rem}.btn-delete-todo{opacity:1;padding:.5rem;min-width:36px;min-height:36px}.drag-handle{opacity:.6}.todo-input-form{gap:.375rem}.checkbox{width:22px;height:22px}}@media (max-width: 360px){.todo-list-card{padding:.75rem}.todo-list-header{padding-bottom:.75rem;margin-bottom:1rem}.todo-list-header h3{font-size:1.05rem}.todo-count{font-size:.7rem}.todo-input{font-size:.85rem;padding:.625rem .75rem}.todo-text{font-size:.85rem}.todo-item{padding:.625rem}}.calendar-view{width:100%;min-height:100%;margin:0 auto;padding:2rem}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;gap:1rem}.calendar-title{display:flex;align-items:center;gap:1rem}.calendar-title h3{margin:0;font-size:1.5rem;color:var(--color-text);font-weight:600;font-family:var(--font-body)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem;margin-bottom:2rem;min-width:1075px;min-height:705px}.calendar-weekday{text-align:center;font-weight:600;color:var(--color-text-light);padding:.75rem;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.calendar-day{background:var(--color-card);border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:.75rem;min-height:120px;display:flex;flex-direction:column;transition:all .2s ease;position:relative}[data-theme=dark] .calendar-day{border:1px solid rgba(255,255,255,.1)}.calendar-day.other-month{opacity:.17}.calendar-day.today{background:var(--color-card);border:1px solid rgba(102,126,234,.3);box-shadow:none}.calendar-day.has-sessions{background:var(--color-card-alt);border:1px solid rgba(0,0,0,.1);cursor:pointer}[data-theme=dark] .calendar-day.has-sessions{border:1px solid rgba(255,255,255,.1)}.calendar-day.has-sessions:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}[data-theme=dark] .calendar-day.has-sessions:hover{box-shadow:0 4px 12px #0000004d}.calendar-day.today.has-sessions{background:var(--color-card-alt);border:1px solid rgba(0,0,0,.1);box-shadow:none}[data-theme=dark] .calendar-day.today.has-sessions{border:1px solid rgba(255,255,255,.1)}.day-number{font-weight:600;color:var(--color-text);font-size:.9rem;margin-bottom:.5rem}.calendar-day.other-month .day-number{color:var(--color-text-light)}.day-content{display:flex;flex-direction:column;gap:.25rem;flex:1}.session-count{font-size:.75rem;color:var(--color-primary);font-weight:600}.total-duration{font-size:.85rem;color:var(--color-text);font-weight:500}.session-dots{display:flex;gap:.25rem;align-items:center;margin-top:auto;padding-top:.5rem}.session-dot{width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2)}.more-sessions{font-size:.7rem;color:var(--color-text-light);margin-left:.25rem}.calendar-legend{display:flex;gap:2rem;justify-content:center;padding:1rem;background:var(--color-card);border-radius:8px;border:1px solid rgba(0,0,0,.1)}[data-theme=dark] .calendar-legend{border:1px solid rgba(255,255,255,.1)}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--color-text)}.legend-dot{width:16px;height:16px;border-radius:4px}.legend-dot.today-indicator{border:1px solid rgba(102,126,234,.3);background:var(--color-card);box-shadow:none}.legend-dot.has-sessions-indicator{background:linear-gradient(135deg,var(--color-card-start) 0%,var(--color-card-end) 100%);border:1px solid rgba(0,0,0,.1)}.day-details-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;z-index:9999;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .2s ease}.day-details-modal{background:transparent;border-radius:16px;max-width:800px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:slideIn .3s ease;position:relative;z-index:10000}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.day-details-header{background-color:var(--color-card);padding:1.5rem;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;align-items:flex-start}.day-details-header h3{margin:0 0 .5rem;font-size:1.5rem;color:var(--color-text);font-weight:400;text-transform:capitalize;font-family:var(--font-body)}.day-details-summary{margin:0;font-size:.9rem;color:var(--color-text-light);font-weight:500}.btn-close-details{background:transparent;border:none;color:var(--color-text-light);cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-close-details:hover{background:#0000001a;color:var(--color-text)}[data-theme=dark] .btn-close-details:hover{background:#ffffff1a}.day-details-content{overflow-y:auto;padding:2rem;flex:1;background-color:var(--color-card)}.session-detail-card{background-color:var(--color-card-alt);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease;border:2px solid transparent;margin-bottom:1rem}.session-detail-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.session-detail-card:last-child{margin-bottom:0}.session-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem}.session-detail-topic{font-size:1.5rem;color:var(--color-text);margin:0;font-weight:400;line-height:1.2;font-family:var(--font-handwritten)}.session-detail-duration{font-size:1.125rem;color:var(--color-primary);font-weight:500;white-space:nowrap}.session-detail-category{display:inline-block;padding:.25rem .75rem;background-color:var(--color-primary);color:#fff;font-size:.85rem;font-weight:500;border-radius:var(--radius-sm);width:fit-content;margin-bottom:1rem}.session-detail-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem}.session-detail-info-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background-color:var(--color-card-alt);border-radius:var(--radius-md)}.session-detail-info-label{font-size:.75rem;color:var(--color-text-light);margin-bottom:.25rem;display:block}.session-detail-info-value{font-size:.9rem;color:var(--color-text);font-weight:500;display:block}.session-detail-notes-section{padding:.875rem;background-color:var(--color-card-alt);border-radius:var(--radius-md)}.session-detail-notes-label{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--color-text-light);margin-bottom:.5rem}.session-detail-notes{font-size:.875rem;color:var(--color-text);line-height:1.5;margin:0}.session-detail-todo-section{grid-column:1 / -1;background-color:#d1fae5;border-left:4px solid #16a34a}[data-theme=dark] .session-detail-todo-section{background-color:#22c55e1a;border-left:3px solid var(--color-success)}@media (max-width: 768px){.calendar-view{padding:1rem;overflow-x:auto}.calendar-header{flex-direction:column;align-items:flex-start;margin-bottom:1.5rem}.calendar-grid{gap:.25rem;min-width:auto;min-height:auto}.calendar-day{min-height:80px;padding:.5rem}.calendar-weekday{padding:.5rem;font-size:.7rem}.day-number{font-size:.75rem}.session-count,.total-duration{font-size:.65rem}.session-dots{display:none}.calendar-title h3{font-size:1.2rem}.calendar-legend{flex-direction:column;gap:.75rem}.day-details-overlay{padding:.75rem}.day-details-modal{max-height:90vh;border-radius:12px}.day-details-header{padding:1.25rem}.day-details-header h3{font-size:1.25rem}.day-details-content{padding:1.25rem}.session-detail-card{padding:1rem}.session-detail-header{flex-direction:column;gap:.5rem}.session-detail-topic{font-size:1.1rem}.session-detail-info-grid{grid-template-columns:1fr;gap:.75rem}.btn-close-details{min-width:44px;min-height:44px}}@media (max-width: 480px){.calendar-view{padding:.75rem}.calendar-header{margin-bottom:1rem}.calendar-title h3{font-size:1.1rem}.calendar-day{min-height:60px;padding:.375rem}.calendar-weekday{padding:.375rem;font-size:.6rem}.day-number{font-size:.7rem;margin-bottom:.25rem}.session-count,.total-duration{font-size:.6rem}.calendar-legend{padding:.75rem;gap:.5rem}.legend-item{font-size:.75rem}.legend-dot{width:12px;height:12px}.day-details-overlay{padding:.5rem}.day-details-header{padding:1rem}.day-details-header h3{font-size:1.1rem}.day-details-summary{font-size:.8rem}.day-details-content{padding:1rem}.session-detail-card{padding:.875rem}.session-detail-topic,.session-detail-duration{font-size:1rem}}.app{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:hidden;max-width:100vw}.app-header-minimal{position:fixed;top:0;left:0;right:0;padding:3rem 4rem;display:flex;align-items:center;gap:1rem;z-index:100;background-color:var(--color-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);max-width:100vw;overflow:hidden;width:100%}.logo-header,.logo-header-static{background:none;border:none;text-align:left;padding:0;flex-shrink:1;min-width:0;overflow:hidden}.logo-header{cursor:pointer;transition:opacity .2s ease}.logo-header:hover{opacity:.7}.logo-header h2,.logo-header-static h2{font-family:var(--font-body);font-size:1.75rem;color:var(--color-text);margin:0;font-weight:300;font-style:italic;letter-spacing:4px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logo-header p,.logo-header-static p{font-family:var(--font-body);font-size:.6rem;color:var(--color-text-light);font-weight:400;text-transform:uppercase;letter-spacing:3px;margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-spacer{flex:1;min-width:0}.status-icons{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.icon-online{color:var(--color-success)}.icon-offline{color:var(--color-text-light)}.icon-btn{background:none;border:none;padding:.5rem;cursor:pointer;color:var(--color-text-light);transition:all .2s ease;border-radius:50%}.icon-btn:hover:not(:disabled){background-color:var(--color-card-alt);color:var(--color-text)}.icon-btn:disabled{opacity:.3;cursor:not-allowed}.icon-btn.icon-locked{position:relative;opacity:.5}.icon-btn.icon-locked:hover{opacity:.8}.icon-btn.icon-locked .lock-overlay{position:absolute;bottom:4px;right:4px;color:var(--color-text-light)}.app-main-centered{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3rem;padding:5rem 2rem 2rem;min-height:100vh}.logo-minimal{text-align:center;margin-bottom:2rem}.logo-minimal h1{font-family:var(--font-handwritten);font-size:2.5rem;color:var(--color-text);margin-bottom:.25rem;font-weight:400}.logo-minimal .subtitle{font-family:var(--font-body);font-size:.85rem;color:var(--color-text-light);font-weight:300;text-transform:uppercase;letter-spacing:2px}.settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0000004d;z-index:200;animation:fadeIn .2s ease}.settings-panel{position:fixed;top:0;right:0;bottom:0;width:100%;max-width:400px;background-color:var(--color-bg);box-shadow:var(--shadow-lg);animation:slideInRight .3s ease;display:flex;flex-direction:column}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-card-alt)}.settings-header h2{font-size:1.5rem;margin:0}.settings-content{flex:1;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.settings-menu{display:flex;flex-direction:column;gap:.5rem}.settings-menu-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background-color:var(--color-card-alt);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;color:var(--color-text);font-size:1rem;font-weight:500;width:100%;text-align:left}.settings-menu-item:hover{background-color:var(--color-card);transform:translate(5px)}.settings-menu-item svg{color:var(--color-primary)}.menu-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.menu-label{font-size:.75rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.btn-edit-menu{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background-color:transparent;color:var(--color-text-light);cursor:pointer;transition:all .2s ease}.btn-edit-menu:hover{background-color:var(--color-card-alt);color:var(--color-text)}.btn-edit-menu.active{background-color:var(--color-primary);color:#fff}.settings-menu.edit-mode{padding:.5rem;background-color:var(--color-card-alt);border-radius:var(--radius-md);border:1px dashed var(--color-primary)}.settings-menu-item-wrapper{display:flex;align-items:center;gap:.5rem;border-radius:var(--radius-md);transition:all .2s ease;position:relative}.settings-menu-item-wrapper .settings-menu-item{flex:1}.settings-menu-item-wrapper:hover .settings-menu-item{transform:none}.settings-menu-item-wrapper:hover{transform:translate(3px)}.drag-handle{display:flex;align-items:center;justify-content:center;padding:.5rem;cursor:grab;color:var(--color-text-light);opacity:.5;transition:opacity .2s ease}.drag-handle:hover{opacity:1}.drag-handle:active{cursor:grabbing}.settings-menu-item-wrapper.dragging{opacity:.5;transform:scale(.98)}.settings-menu-item-wrapper.drag-over{transform:translateY(2px)}.settings-menu-item-wrapper.drag-over:before{content:"";position:absolute;top:-4px;left:0;right:0;height:2px;background-color:var(--color-primary);border-radius:1px}.settings-divider{height:1px;background-color:var(--color-card-alt);margin:1rem 0}.language-switcher{display:flex;align-items:center;justify-content:space-between;padding:.25rem 0}.language-buttons{display:flex;gap:.5rem}.lang-btn{padding:.35rem .75rem;border:1px solid var(--color-card-alt);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-light);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.lang-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.lang-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.user-info{background-color:var(--color-card-alt);padding:1.5rem;border-radius:var(--radius-md)}.user-label{font-size:.85rem;color:var(--color-text-light);margin-bottom:.5rem}.user-email-large{font-size:1.1rem;color:var(--color-text);font-weight:500;word-break:break-word}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.timer-container{display:flex;justify-content:center;align-items:center;width:100%}.timer-card{background-color:var(--color-card);padding:4rem 3rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;width:700px;min-height:350px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.timer-display{margin-bottom:2rem;position:relative;display:flex;align-items:center;justify-content:center;gap:1rem;min-width:600px}.timer-number{font-size:6rem;font-weight:700;color:var(--color-text);display:block;line-height:1}.timer-number-editable-single{font-size:6rem;font-weight:700;color:var(--color-text);background:transparent;border:none;text-align:center;width:5ch;outline:none;padding:.25rem .5rem;line-height:1;transition:all .2s ease}.timer-number-editable-single::placeholder{color:var(--color-text-light);opacity:.5}.timer-number-editable-single:hover{background-color:var(--color-card-alt);border-radius:var(--radius-sm);opacity:.8}.timer-number-editable-single:focus{background-color:var(--color-card-alt);outline:2px solid var(--color-text-light);outline-offset:4px;border-radius:var(--radius-sm)}.break-label{position:absolute;top:-2.5rem;left:50%;transform:translate(-50%);font-size:1.5rem;color:var(--color-danger);font-family:var(--font-body);font-weight:600;text-transform:uppercase;letter-spacing:2px}.time-adjust-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text);transition:all .3s ease;flex-shrink:0}.time-adjust-btn:hover{background:#fff3;border-color:#ffffff4d;transform:scale(1.1)}.time-adjust-btn:active{transform:scale(.95)}.timer-input{margin-bottom:2.5rem}.timer-input label{display:block;margin-bottom:.75rem;font-weight:400;color:var(--color-text-light);font-size:.95rem}.timer-input input{width:100%;max-width:150px;margin:0 auto;display:block;text-align:center;font-size:1.1rem;background-color:var(--color-card-alt)}.timer-controls{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.streak-counter{background-color:transparent;padding:0;display:flex;justify-content:center;gap:4rem;width:700px}.streak-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.streak-icon{color:var(--color-text-light);opacity:.6}.streak-info{display:flex;flex-direction:column;align-items:center}.streak-number{font-family:var(--font-handwritten);font-size:2rem;font-weight:600;color:var(--color-text);line-height:1}.streak-label{font-size:.8rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:1px;margin-top:.25rem}.sessions-view-full,.stats-view-full,.calendar-view-full{width:100%;max-width:65vw;padding:2rem;padding-top:120px}.view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.view-header h2{font-size:2rem;color:var(--color-text)}.btn-back{background:none;border:none;color:var(--color-text-light);font-size:1rem;cursor:pointer;padding:.5rem 1rem;border-radius:var(--radius-sm);transition:all .2s ease}.btn-back:hover{background-color:var(--color-card-alt);color:var(--color-text)}.session-card{background-color:var(--color-card);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease;border:2px solid transparent}.session-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary)}.session-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.25rem}.session-header-left{display:flex;flex-direction:column;gap:.5rem;flex:1}.session-topic{font-size:1.5rem;color:var(--color-text);margin:0;font-weight:600;line-height:1.2}.session-category-badge{display:inline-block;padding:.25rem .75rem;background-color:var(--color-primary);color:#fff;font-size:.85rem;font-weight:500;border-radius:var(--radius-sm);width:fit-content}.session-edit-title{font-size:1.25rem;color:var(--color-text);margin:0}.session-actions{display:flex;gap:.5rem}.session-card-body{display:flex;flex-direction:column;gap:1rem}.session-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.session-info-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background-color:var(--color-card-alt);border-radius:var(--radius-md)}.session-todo-item{grid-column:1 / -1;background-color:#d1fae5;border-left:4px solid #16a34a}[data-theme=dark] .session-todo-item{background-color:#22c55e1a;border-left:3px solid var(--color-success)}.session-icon{color:var(--color-primary);flex-shrink:0;margin-top:2px}.session-icon-success{color:#16a34a}[data-theme=dark] .session-icon-success{color:var(--color-success)}.session-info-content{display:flex;flex-direction:column;gap:.25rem;flex:1}.session-info-label{font-size:.75rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.session-todo-item .session-info-label{color:#059669}[data-theme=dark] .session-todo-item .session-info-label{color:var(--color-text-light)}.session-info-value{font-size:.95rem;color:var(--color-text);font-weight:500}.session-todo-item .session-info-value{color:#047857;font-weight:700;font-size:1rem}[data-theme=dark] .session-todo-item .session-info-value{color:var(--color-success);font-weight:600;font-size:.95rem}.session-duration-value{font-family:var(--font-handwritten);font-size:1.1rem;color:var(--color-primary)}.session-notes-section{padding:1rem;background-color:var(--color-card-alt);border-radius:var(--radius-md);border-left:3px solid var(--color-text-light)}.session-notes-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;color:var(--color-text-light);font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.session-notes{font-size:.95rem;color:var(--color-text);line-height:1.5;margin:0;white-space:pre-wrap}.sessions-stats-bar{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background-color:var(--color-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.5rem}.sessions-stats{display:flex;align-items:center;gap:2rem}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-value{font-family:var(--font-handwritten);font-size:2rem;font-weight:700;color:var(--color-primary);line-height:1}.stat-label{font-size:.85rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.stat-divider{width:2px;height:40px;background-color:var(--color-card-alt)}.btn-filter{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background-color:var(--color-card-alt);border:2px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-weight:500;transition:all .2s ease;position:relative}.btn-filter:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.filter-badge{position:absolute;top:-6px;right:-6px;background-color:var(--color-danger);color:#fff;font-size:.7rem;font-weight:700;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center}.filters-panel{background-color:var(--color-card);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:1.5rem}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-size:.85rem;color:var(--color-text-light);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.filter-select,.filter-group input[type=date]{cursor:pointer}.filter-group input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:var(--color-text)}[data-theme=dark] .filter-group input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1)}.btn-clear-filters{width:100%;justify-content:center}.sessions-list{display:flex;flex-direction:column;gap:1rem}.empty-state{text-align:center;padding:3rem;color:var(--color-text-light);font-size:1.1rem}.stats-panel{background-color:var(--color-card);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.stats-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem;color:var(--color-text-light)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-card-alt);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.stats-header h2{font-size:2rem}.period-selector{display:flex;gap:.5rem}.period-selector button{padding:.5rem 1rem;border-radius:var(--radius-sm);background-color:var(--color-card-alt);color:var(--color-text);font-size:.9rem;transition:all .2s ease}.period-selector button:hover{background-color:var(--color-border)}.period-selector button.active{background-color:var(--color-primary);color:#fff}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background-color:var(--color-card-alt);padding:1.25rem;border-radius:var(--radius-md);display:flex;align-items:center;gap:1rem;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card-primary{background:linear-gradient(135deg,var(--color-primary) 0%,#7cc4b8 100%)}.stat-card-primary .stat-card-icon,.stat-card-primary .stat-value,.stat-card-primary .stat-label{color:#fff}.stat-card-icon{width:40px;height:40px;border-radius:var(--radius-sm);background-color:var(--color-background);display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}.stat-card-primary .stat-card-icon{background-color:#fff3}.stat-card-content{display:flex;flex-direction:column;min-width:0}.stat-value{font-family:var(--font-handwritten);font-size:1.75rem;font-weight:700;color:var(--color-primary);line-height:1.2}.stat-label{font-size:.8rem;color:var(--color-text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stats-grid-secondary{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.stat-card-mini{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background-color:var(--color-card-alt);border-radius:var(--radius-sm);flex:1;min-width:120px}.stat-card-mini svg{color:var(--color-secondary);flex-shrink:0}.stat-value-mini{font-family:var(--font-handwritten);font-size:1.1rem;font-weight:600;color:var(--color-text);display:block}.stat-label-mini{font-size:.7rem;color:var(--color-text-light);display:block}.chart-container{margin:2rem 0;background-color:var(--color-card-alt);border-radius:var(--radius-md);padding:1.5rem}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.chart-header h3{font-size:1.25rem;margin:0}.chart-type-toggle{display:flex;gap:.25rem;background-color:var(--color-background);padding:.25rem;border-radius:var(--radius-sm)}.chart-type-toggle button{padding:.5rem;border-radius:var(--radius-xs);background:transparent;color:var(--color-text-light);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.chart-type-toggle button:hover{color:var(--color-text);background-color:var(--color-card-alt)}.chart-type-toggle button.active{background-color:var(--color-primary);color:#fff}.chart-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:var(--color-text-light);text-align:center;gap:.5rem}.chart-empty-state svg{opacity:.3;margin-bottom:.5rem}.chart-empty-state p{font-size:1rem;margin:0}.chart-empty-state span{font-size:.85rem;opacity:.7}.top-list{margin:2rem 0;background-color:var(--color-card-alt);border-radius:var(--radius-md);padding:1.5rem}.top-list h3{margin-bottom:1rem;font-size:1.25rem}.top-list ul{list-style:none}.top-list li{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.top-list li:last-child{border-bottom:none}.top-rank{width:28px;height:28px;border-radius:50%;background-color:var(--color-background);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;color:var(--color-text-light);flex-shrink:0}.top-list li:first-child .top-rank{background-color:var(--color-primary);color:#fff}.top-info{flex:1;min-width:0}.top-name{font-weight:500;display:block;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-bar-container{height:4px;background-color:var(--color-background);border-radius:2px;overflow:hidden}.top-bar{height:100%;background-color:var(--color-primary);border-radius:2px;transition:width .5s ease}.top-bar-secondary{background-color:var(--color-secondary)}.top-duration{color:var(--color-text-light);font-size:.9rem;font-weight:500;white-space:nowrap}.stats-empty-lists{text-align:center;padding:2rem;color:var(--color-text-light);background-color:var(--color-card-alt);border-radius:var(--radius-md);margin:2rem 0}@media (max-width: 768px){.stats-panel{padding:1.25rem}.stats-header{flex-direction:column;align-items:flex-start}.stats-header h2{font-size:1.5rem}.period-selector{width:100%;justify-content:space-between}.period-selector button{flex:1;padding:.5rem .75rem;font-size:.8rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{padding:1rem}.stat-card-icon{width:36px;height:36px}.stat-card-icon svg{width:18px;height:18px}.stat-value{font-size:1.5rem}.stat-label{font-size:.75rem}.stats-grid-secondary{flex-direction:column}.stat-card-mini{min-width:auto}.chart-container{padding:1rem;margin:1rem 0}.chart-header{flex-wrap:wrap;gap:.75rem}.chart-header h3{font-size:1rem;width:100%}.chart-type-toggle{width:100%;justify-content:space-around}.top-list{padding:1rem;margin:1rem 0}.top-list h3{font-size:1rem}.top-list li{gap:.75rem;padding:.5rem 0}.top-rank{width:24px;height:24px;font-size:.75rem}.top-name{font-size:.9rem}.top-duration{font-size:.8rem}}@media (max-width: 480px){.stats-panel{padding:1rem}.stats-header h2{font-size:1.25rem}.period-selector button{padding:.4rem .5rem;font-size:.75rem}.stats-grid{gap:.75rem}.stat-card{padding:.875rem;gap:.75rem}.stat-card-icon{width:32px;height:32px}.stat-value{font-size:1.25rem}.stat-label{font-size:.7rem}.stat-value-mini{font-size:1rem}.chart-empty-state{height:200px}.chart-empty-state svg{width:36px;height:36px}.chart-empty-state p{font-size:.9rem}.chart-empty-state span{font-size:.75rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;overflow-y:auto}.modal-content{background-color:var(--color-card);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:500px;width:100%;max-height:90vh;overflow-y:auto}.modal-content.session-form{max-width:540px}.modal-content.session-form .form-actions{justify-content:center;gap:.5rem}.modal-content.session-form .form-actions .btn{padding:.75rem 1rem;font-size:.9rem}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h2{font-size:1.75rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-text)}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:2rem}.auth-switch{text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-card-alt)}.offline-option{text-align:center;margin-top:1rem}.forgot-password-link{text-align:center;margin-top:.5rem}.forgot-password-link .link-button{font-size:.875rem;color:var(--color-text-secondary)}.forgot-password-link .link-button:hover{color:var(--color-primary)}.form-description{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:1.5rem;text-align:center}.success-message{text-align:center;padding:1rem 0}.success-message .success-icon{color:#10b981;margin-bottom:1rem}.success-message h3{margin:0 0 .5rem;color:var(--color-text)}.success-message p{color:var(--color-text-secondary);margin-bottom:1.5rem}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.success-message .info-icon{color:#667eea;margin-bottom:1rem}.success-message .error-icon{color:#ef4444;margin-bottom:1rem}.verification-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.verification-actions .btn{width:100%}.autocomplete{position:relative}.suggestions{position:absolute;top:100%;left:0;right:0;background-color:var(--color-card);border:2px solid var(--color-primary);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);list-style:none;max-height:200px;overflow-y:auto;box-shadow:var(--shadow-md);z-index:10}.suggestions li{padding:.75rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease}.suggestions li:hover,.suggestions li.active{background-color:var(--color-card-alt)}.suggestion-name{font-weight:500}.suggestion-count{font-size:.85rem;color:var(--color-text-light)}@media (max-width: 768px){.app-header-minimal{padding:.75rem 1rem;gap:.5rem}.logo-header h2,.logo-header-static h2{font-size:1.1rem;letter-spacing:2px}.logo-header p,.logo-header-static p{font-size:.45rem;letter-spacing:1.5px}.logo-minimal h1{font-size:2rem}.logo-minimal .subtitle{font-size:.75rem}.app-main-centered{gap:1.5rem;padding:1rem;padding-top:70px}.timer-card{min-width:auto;width:100%;padding:2rem 1.25rem;min-height:auto}.timer-number,.timer-number-editable-single{font-size:4rem}.streak-counter{flex-direction:row;gap:1.5rem}.streak-number{font-size:1.25rem}.streak-label{font-size:.65rem}.settings-panel{max-width:100%}.sessions-view-full,.stats-view-full,.calendar-view-full{padding:1rem;padding-top:70px;max-width:100%}.view-header{flex-direction:column;align-items:flex-start;gap:1rem}.view-header h2{font-size:1.5rem}.stats-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.modal-overlay{padding:1rem}.modal-content{padding:1.25rem;margin:0;max-width:calc(100% - 2rem);width:100%;border-radius:var(--radius-md)}.modal-content.session-form{max-width:calc(100% - 2rem)}.modal-header{margin-bottom:1rem}.modal-header h2{font-size:1.25rem}.modal-header .btn-icon{min-width:40px;min-height:40px}.form-group{margin-bottom:1rem}.form-group label{font-size:.9rem}.form-actions{flex-direction:column;gap:.5rem;margin-top:1.5rem}.form-actions .btn{width:100%;justify-content:center}.textarea{min-height:80px}.session-card{padding:1.25rem}.session-card-header{flex-direction:column;gap:.75rem}.session-topic{font-size:1.25rem}.session-info-grid{grid-template-columns:1fr 1fr;gap:.75rem}.session-info-item{padding:.625rem}.session-info-label{font-size:.7rem}.session-info-value{font-size:.875rem}}@media (max-width: 480px){.app-header-minimal{padding:.5rem .75rem}.logo-header h2,.logo-header-static h2{font-size:1.1rem;letter-spacing:2px}.logo-header p,.logo-header-static p{font-size:.45rem;letter-spacing:1.5px}.app-main-centered{gap:1.25rem;padding:.75rem;padding-top:70px}.timer-number,.timer-number-editable-single{font-size:3.5rem}.timer-card{padding:1.5rem 1rem;border-radius:var(--radius-md)}.streak-counter{gap:1.25rem}.streak-number{font-size:1.25rem}.streak-label{font-size:.6rem}.timer-controls{flex-direction:column;width:100%;gap:.5rem}.timer-controls .btn{width:100%;justify-content:center;padding:.875rem 1rem;font-size:.95rem}.settings-menu-item{padding:.75rem 1rem;font-size:.9rem}.drag-handle{padding:.25rem}.menu-hint{font-size:.7rem}.view-header h2{font-size:1.25rem}.stats-header{flex-direction:column;align-items:flex-start;gap:1rem}.stats-header h2{font-size:1.5rem}.icon-btn{padding:.625rem;min-width:40px;min-height:40px}.modal-overlay{padding:.75rem}.modal-content{padding:1rem;border-radius:var(--radius-md);max-width:calc(100% - 1.5rem)}.modal-header{margin-bottom:.875rem}.modal-header h2{font-size:1.1rem}.form-group{margin-bottom:.875rem}.form-group label{font-size:.85rem;margin-bottom:.25rem}.form-actions .btn{padding:.75rem 1rem;font-size:.875rem}.textarea{min-height:70px;font-size:.875rem}.input{font-size:.875rem}.session-card{padding:1rem}.session-topic{font-size:1.1rem}.session-category-badge{font-size:.75rem;padding:.2rem .5rem}.session-info-grid{grid-template-columns:1fr;gap:.5rem}.session-info-item{padding:.5rem;gap:.5rem}.session-info-label{font-size:.65rem}.session-info-value{font-size:.85rem}.session-actions{gap:.25rem}.session-actions .icon-btn{padding:.5rem}}@media (max-width: 360px){.app-header-minimal{padding:.5rem;gap:.375rem}.app-main-centered{padding:.5rem;padding-top:60px;gap:1rem}.timer-number,.timer-number-editable-single{font-size:2.75rem}.timer-card{padding:1.25rem .75rem}.streak-counter{gap:.875rem}.streak-number{font-size:1rem}.streak-label{font-size:.5rem}.logo-header h2,.logo-header-static h2{font-size:.95rem;letter-spacing:1px}.logo-header p,.logo-header-static p{display:none}.period-selector{width:100%;flex-wrap:wrap}.modal-content{padding:1rem}.modal-header h2{font-size:1.1rem}.period-selector button{flex:1;min-width:70px;font-size:.85rem;padding:.5rem .75rem}}.goal-tracker{background:var(--color-card);border-radius:var(--border-radius);padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow-sm)}.goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.goal-header h3{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0;display:flex;align-items:center;gap:.5rem}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.goals-list{display:grid;gap:1.25rem}.goal-card{background:var(--color-card-alt);border-radius:var(--border-radius);padding:1.5rem;border:2px solid transparent;transition:all .2s ease}.goal-card:hover{border-color:var(--color-border);box-shadow:var(--shadow-md)}.goal-card[data-status=achieved]{border-color:var(--color-success)}.goal-card[data-status=at_risk]{border-color:var(--color-warning)}.goal-card[data-status=failed]{border-color:var(--color-danger);opacity:.7}.goal-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.goal-info{display:flex;flex-direction:column;gap:.5rem}.goal-type-badge{display:inline-block;padding:.25rem .75rem;background:var(--color-primary);color:#fff;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;width:fit-content}.goal-scope{font-size:.875rem;color:var(--color-text);display:flex;align-items:center;gap:.5rem}.goal-actions{display:flex;gap:.5rem}.btn-icon-small{background:transparent;border:none;color:var(--color-text);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-icon-small:hover{background:var(--color-border);color:var(--color-text)}.goal-progress-section{margin-bottom:1rem}.goal-progress-info{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem}.goal-current{font-family:var(--font-handwritten);font-size:2rem;font-weight:700;color:var(--color-text)}.goal-separator{font-size:1.25rem;color:var(--color-text)}.goal-target{font-size:1.25rem;font-weight:600;color:var(--color-text)}.goal-progress-bar{width:100%;height:12px;background:var(--color-border);border-radius:6px;overflow:hidden;margin-bottom:.5rem}.goal-progress-fill{height:100%;background:var(--color-primary);border-radius:6px;transition:width .5s ease,background-color .3s ease}.goal-progress-percentage{font-size:.875rem;color:var(--color-text);text-align:right}.goal-status-section{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.goal-status{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.875rem}.goal-details{display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;color:var(--color-text)}.goal-detail-item{display:flex;align-items:center;gap:.5rem}.goal-projection{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:var(--color-card);border-radius:8px;line-height:1.5}.goal-achievement{padding:.75rem;background:linear-gradient(135deg,rgba(var(--color-success-rgb),.1),rgba(var(--color-success-rgb),.1));border-radius:8px;color:var(--color-success);font-weight:600;text-align:center}.goal-sessions-count{font-size:.8rem;opacity:.7}.goal-modal{max-width:500px}.form-help{font-size:.8rem;color:var(--color-text);margin-top:.25rem;margin-bottom:0}.error-message{background:rgba(var(--color-danger-rgb),.1);color:var(--color-danger);padding:.75rem;border-radius:8px;font-size:.875rem;margin-bottom:1rem}.empty-state{text-align:center;padding:3rem 1rem;color:var(--color-text)}.empty-state svg{margin-bottom:1rem}.empty-state p{margin:.5rem 0}.empty-state-hint{font-size:.875rem;opacity:.7;margin-bottom:1.5rem!important}@media (max-width: 768px){.goal-tracker{padding:1.5rem}.goal-header h3{font-size:1.1rem}.goal-card{padding:1.25rem}.goal-current{font-size:1.75rem}.goal-target{font-size:1.1rem}.goal-card-header{flex-direction:column;align-items:flex-start}.goal-actions{width:100%;justify-content:flex-end}}.period-filter-container{background:var(--color-card);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:2rem;box-shadow:var(--shadow-sm)}.period-filter-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.period-filter-btn{padding:.625rem 1.25rem;border-radius:var(--radius-md);background-color:var(--color-card-alt);border:2px solid var(--color-border);color:var(--color-text);font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.period-filter-btn:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:translateY(-1px)}.period-filter-btn.active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.3)}.custom-range-panel{margin-top:1.5rem;padding:1.25rem;background:var(--color-card-alt);border-radius:var(--radius-md);border:1px solid var(--color-border);animation:slideDown .3s ease}.custom-range-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.custom-range-input-group{display:flex;flex-direction:column;gap:.5rem}.custom-range-input-group label{font-size:.875rem;font-weight:500;color:var(--color-text)}@media (max-width: 768px){.period-filter-buttons{gap:.5rem}.period-filter-btn{padding:.5rem 1rem;font-size:.85rem;flex:1;min-width:calc(50% - .25rem);justify-content:center}.custom-range-inputs{grid-template-columns:1fr}}.distribution-panel{background:var(--color-card);border-radius:var(--border-radius);padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow-sm)}.distribution-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.distribution-header h3{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0;display:flex;align-items:center;gap:.5rem}.balance-card{background:var(--color-card-alt);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:2rem;border:2px solid var(--color-border)}.balance-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.balance-header h4{font-size:1rem;font-weight:600;margin:0;color:var(--color-text)}.balance-score{font-family:var(--font-handwritten);font-size:1.75rem;font-weight:700}.balance-bar-container{width:100%;height:12px;background:var(--color-border);border-radius:6px;overflow:hidden;margin-bottom:.75rem}.balance-bar-fill{height:100%;border-radius:6px;transition:width .8s ease,background-color .3s ease}.balance-label{font-weight:600;font-size:.9rem;margin:.5rem 0;color:var(--color-text)}.balance-description{font-size:.875rem;color:var(--color-text);margin:0}.balance-explanation-toggle{margin-top:1rem;display:flex;align-items:center;gap:.5rem;background:transparent;border:none;color:var(--color-primary);font-size:.875rem;font-weight:500;cursor:pointer;padding:.5rem 0;transition:opacity .2s ease}.balance-explanation-toggle:hover{opacity:.7}.balance-explanation{margin-top:1rem;padding:1.25rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.balance-explanation h5{font-size:1rem;font-weight:600;margin:0 0 .75rem;color:var(--color-text)}.balance-explanation h6{font-size:.875rem;font-weight:600;margin:0 0 .5rem;color:var(--color-text)}.balance-explanation p{font-size:.875rem;line-height:1.6;color:var(--color-text);margin:0 0 1rem}.balance-explanation p:last-child{margin-bottom:0}.explanation-example{background:var(--color-card-alt);padding:1rem;border-radius:6px;margin:1rem 0}.explanation-example ul{margin:.5rem 0 0;padding-left:1.25rem;list-style:none}.explanation-example ul li{font-size:.875rem;color:var(--color-text);margin-bottom:.5rem;position:relative;padding-left:.5rem}.explanation-example ul li:before{content:"•";position:absolute;left:-.75rem;color:var(--color-primary);font-weight:700}.category-breakdown{margin-top:.5rem!important;padding-left:1.5rem!important}.category-breakdown li{font-size:.8rem!important;margin-bottom:.25rem!important}.category-breakdown li:before{content:"→"!important;color:var(--color-text)!important}.explanation-formula{font-size:.85rem!important;padding:.75rem;background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.1),rgba(var(--color-primary-rgb),.1));border-left:3px solid var(--color-primary);border-radius:4px}.distribution-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:2rem}.chart-section{background:var(--color-card-alt);border-radius:var(--border-radius);padding:1.5rem;border:1px solid var(--color-border)}.chart-section h4{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--color-text)}.chart-tooltip{background:var(--color-card);border:1px solid var(--color-border);border-radius:8px;padding:.75rem;box-shadow:var(--shadow-md)}.tooltip-label{font-weight:600;font-size:.875rem;margin:0 0 .25rem;color:var(--color-text)}.tooltip-value{font-family:var(--font-handwritten);font-size:1.1rem;font-weight:700;margin:0 0 .25rem;color:var(--color-primary)}.tooltip-sessions{font-size:.75rem;color:var(--color-text);margin:0}.legend-list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.legend-item{display:flex;align-items:center;gap:.75rem;font-size:.875rem}.legend-color{width:16px;height:16px;border-radius:4px;flex-shrink:0}.legend-name{flex:1;color:var(--color-text)}.legend-value{font-weight:600;color:var(--color-text)}.neglected-section{background:var(--color-card-alt);border-radius:var(--border-radius);padding:1.5rem;margin-bottom:1.5rem;border:2px solid var(--color-warning)}.neglected-section h4{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--color-text);display:flex;align-items:center;gap:.5rem}.neglected-list{display:flex;flex-direction:column;gap:.75rem}.neglected-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--color-card);border-radius:8px;font-size:.875rem}.neglected-name{flex:1;font-weight:500;color:var(--color-text)}.neglected-value{font-weight:600;color:var(--color-text)}.recommendations-section{background:var(--color-card-alt);border-radius:var(--border-radius);padding:1.5rem;border:1px solid var(--color-border)}.recommendations-section h4{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--color-text)}.recommendations-list{display:flex;flex-direction:column;gap:1rem}.recommendation-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:8px;font-size:.875rem;line-height:1.5}.recommendation-item p{margin:0;color:var(--color-text)}.recommendation-positive{background:linear-gradient(135deg,rgba(var(--color-success-rgb),.1),rgba(var(--color-success-rgb),.1));border:1px solid var(--color-success)}.recommendation-balance,.recommendation-diversity,.recommendation-focus{background:linear-gradient(135deg,rgba(var(--color-warning-rgb),.1),rgba(var(--color-warning-rgb),.1));border:1px solid var(--color-warning)}@media (max-width: 768px){.distribution-panel{padding:1.5rem}.distribution-header{flex-direction:column;align-items:flex-start}.distribution-header h3{font-size:1.1rem}.period-selector{width:100%}.distribution-charts{grid-template-columns:1fr;gap:1.5rem}.balance-score{font-size:1.5rem}}.trends-panel{background:var(--color-card);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.trends-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--color-border)}.trends-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text)}.trend-indicator{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem}.comparison-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.comparison-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:1.25rem;transition:transform .2s,box-shadow .2s}.comparison-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.comparison-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--color-text);font-size:.875rem;font-weight:500}.comparison-value{font-size:2rem;font-weight:700;color:var(--color-text);margin-bottom:.25rem}.comparison-detail{font-size:.875rem;color:var(--color-text)}.comparison-change.positive{border:2px solid var(--color-success);background:linear-gradient(135deg,rgba(var(--color-success-rgb),.15),rgba(var(--color-success-rgb),.15))}.comparison-change.positive .comparison-value,.comparison-change.positive .comparison-header{color:var(--color-success)}.comparison-change.negative{border:2px solid var(--color-danger);background:linear-gradient(135deg,rgba(var(--color-danger-rgb),.15),rgba(var(--color-danger-rgb),.15))}.comparison-change.negative .comparison-value,.comparison-change.negative .comparison-header{color:var(--color-danger)}[data-theme=light] .comparison-change.positive{background:linear-gradient(135deg,rgba(var(--color-success-rgb),.35),rgba(var(--color-success-rgb),.35))}[data-theme=light] .comparison-change.negative{background:linear-gradient(135deg,rgba(var(--color-danger-rgb),.35),rgba(var(--color-danger-rgb),.35))}[data-theme=light] .comparison-change .comparison-detail{color:var(--color-text);opacity:.9}[data-theme=light] .comparison-change.positive .comparison-value,[data-theme=light] .comparison-change.positive .comparison-header{color:#16a34a}[data-theme=light] .comparison-change.negative .comparison-value,[data-theme=light] .comparison-change.negative .comparison-header{color:#dc2626}.peak-hours-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.peak-hours-section h4{display:flex;align-items:center;gap:.5rem;margin:0 0 1.5rem;font-size:1rem;font-weight:600;color:var(--color-text)}.peak-insight{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem;background:linear-gradient(135deg,rgba(var(--color-secondary-rgb),.1),rgba(var(--color-secondary-rgb),.1));border:1px solid var(--color-secondary);border-radius:8px;font-size:.875rem;color:var(--color-text)}.peak-insight strong{color:var(--color-secondary)}.no-data{text-align:center;padding:2rem;color:var(--color-text);font-style:italic}.day-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:2rem}.day-card{display:flex;align-items:center;gap:1rem;background:var(--color-bg);border:2px solid var(--color-border);border-radius:12px;padding:1.25rem;transition:transform .2s,box-shadow .2s}.day-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.day-card.best-day{border-color:var(--color-success);background:linear-gradient(135deg,rgba(var(--color-success-rgb),.15),rgba(var(--color-success-rgb),.15))}.day-card.worst-day{border-color:var(--color-warning);background:linear-gradient(135deg,rgba(var(--color-warning-rgb),.15),rgba(var(--color-warning-rgb),.15))}[data-theme=light] .day-card.best-day{background:linear-gradient(135deg,rgba(var(--color-success-rgb),.35),rgba(var(--color-success-rgb),.35))}[data-theme=light] .day-card.worst-day{background:linear-gradient(135deg,rgba(var(--color-warning-rgb),.35),rgba(var(--color-warning-rgb),.35))}[data-theme=light] .day-card.best-day .day-name,[data-theme=light] .day-card.best-day .day-hours{color:#047857}[data-theme=light] .day-card.worst-day .day-name,[data-theme=light] .day-card.worst-day .day-hours{color:#b45309}.day-info{display:flex;flex-direction:column;gap:.25rem}.day-label{font-size:.75rem;color:var(--color-text);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.day-name{font-size:1.25rem;font-weight:700;color:var(--color-text)}.day-hours{font-size:.875rem;color:var(--color-text)}.heatmap-section{margin-bottom:2rem}.heatmap-section h4{display:flex;align-items:center;gap:.5rem;margin:0 0 1.5rem;font-size:1rem;font-weight:600;color:var(--color-text)}.performance-table-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.performance-table-section h4{margin:0 0 1.5rem;font-size:1rem;font-weight:600;color:var(--color-text)}.performance-table-wrapper{overflow-x:auto}.performance-table{width:100%;border-collapse:collapse;font-size:.875rem}.performance-table thead tr{background:var(--color-bg-secondary);border-bottom:2px solid var(--color-border)}.performance-table th{text-align:left;padding:.75rem 1rem;font-weight:600;color:var(--color-text);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.performance-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color .2s}.performance-table tbody tr:hover{background:var(--color-bg-secondary)}.performance-table tbody tr:last-child{border-bottom:none}.performance-table td{padding:.75rem 1rem;color:var(--color-text)}.performance-table td.highlight{font-weight:700;color:var(--color-primary)}.performance-table td.positive{color:var(--color-success);font-weight:600}.performance-table td.negative{color:var(--color-danger);font-weight:600}.performance-table td.neutral{color:var(--color-text)}.trends-panel .chart-section{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.trends-panel .chart-section h4{margin:0 0 1.5rem;font-size:1rem;font-weight:600;color:var(--color-text)}@media (max-width: 768px){.trends-panel{padding:1.5rem}.trends-header{flex-direction:column;align-items:flex-start;gap:1rem}.trends-header h3{font-size:1.1rem}.comparison-cards{grid-template-columns:1fr}.comparison-value{font-size:1.75rem}.day-comparison{grid-template-columns:1fr}.performance-table{font-size:.75rem}.performance-table th,.performance-table td{padding:.5rem .75rem}}.heatmap-container{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.heatmap-wrapper{display:flex;gap:1rem;overflow-x:auto;padding-bottom:1rem}.heatmap-day-labels{display:flex;flex-direction:column;gap:4px;padding-top:24px}.heatmap-day-label{height:16px;font-size:.7rem;color:var(--color-text);display:flex;align-items:center;padding-right:.5rem;line-height:1}.heatmap-grid-wrapper{flex:1;position:relative}.heatmap-month-labels{height:20px;position:relative;margin-bottom:4px}.heatmap-month-label{position:absolute;font-size:.7rem;color:var(--color-text);font-weight:500;text-transform:capitalize}.heatmap-grid{display:flex;gap:4px}.heatmap-week{display:flex;flex-direction:column;gap:4px}.heatmap-cell{width:16px;height:16px;border-radius:3px;cursor:pointer;transition:all .2s ease;border:1px solid rgba(0,0,0,.05)}.heatmap-cell:hover{transform:scale(1.2);box-shadow:0 2px 4px #0003;z-index:10;border:1px solid var(--color-text)}.heatmap-cell.empty{background-color:transparent;border:none;cursor:default}.heatmap-cell.empty:hover{transform:none;box-shadow:none}.heatmap-legend{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.heatmap-legend-label{font-size:.75rem;color:var(--color-text)}.heatmap-legend-scale{display:flex;gap:4px}.heatmap-legend-cell{width:16px;height:16px;border-radius:3px;border:1px solid rgba(0,0,0,.05)}@media (max-width: 768px){.heatmap-container{padding:1rem}.heatmap-wrapper{gap:.5rem}.heatmap-day-label{font-size:.6rem}.heatmap-month-label{font-size:.65rem}.heatmap-cell{width:10px;height:10px}.heatmap-legend{justify-content:center}}.achievements-panel{background:var(--color-card);border-radius:var(--border-radius);padding:2rem;box-shadow:var(--shadow-sm)}.achievements-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem;color:var(--color-text)}.achievements-loading svg{opacity:.5;animation:pulse 2s infinite}.achievements-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.achievements-title{display:flex;align-items:center;gap:1rem}.achievements-title svg{color:var(--color-warning)}.achievements-title h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text)}.achievements-subtitle{margin:0;font-size:.875rem;color:var(--color-text)}.achievements-progress-ring{width:80px;height:80px}.circular-chart{display:block;max-width:100%}.circle-bg{fill:none;stroke:var(--color-border);stroke-width:3}.circle{fill:none;stroke:var(--color-primary);stroke-width:3;stroke-linecap:round;animation:progress 1s ease-out forwards}@keyframes progress{0%{stroke-dasharray:0,100}}.percentage{fill:var(--color-text);font-size:.5em;font-weight:700;text-anchor:middle}.user-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}.user-stat-card{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px}.user-stat-card svg{color:var(--color-primary)}.user-stat-info{display:flex;flex-direction:column}.user-stat-value{font-size:1.25rem;font-weight:700;color:var(--color-text)}.user-stat-label{font-size:.75rem;color:var(--color-text)}.next-achievements-section{margin-bottom:2rem}.next-achievements-section h3{font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 1rem}.next-achievements-list{display:flex;flex-direction:column;gap:.75rem}.next-achievement-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px}.next-achievement-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);border-radius:12px;opacity:.7}.next-achievement-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.next-achievement-name{font-weight:600;color:var(--color-text)}.next-achievement-progress{display:flex;align-items:center;gap:.75rem}.progress-bar-bg{flex:1;height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-secondary) 100%);border-radius:4px;transition:width .5s ease}.progress-text{font-size:.75rem;font-weight:600;color:var(--color-text);min-width:50px;text-align:right}.recent-achievements-section{margin-bottom:2rem}.recent-achievements-section h3{font-size:1rem;font-weight:600;color:var(--color-text);margin:0 0 1rem}.recent-achievements-list{display:flex;flex-wrap:wrap;gap:.75rem}.recent-achievement-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.15),rgba(var(--color-secondary-rgb),.15));border:1px solid var(--color-primary);border-radius:20px}.recent-achievement-name{font-size:.875rem;font-weight:500;color:var(--color-text)}.recent-achievement-date{font-size:.75rem;color:var(--color-text)}.achievements-categories{display:flex;flex-direction:column;gap:2rem}.achievement-category{background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem}.category-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.category-header svg{color:var(--color-primary)}.category-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--color-text);flex:1}.category-count{font-size:.875rem;font-weight:600;color:var(--color-text);background:var(--color-card);padding:.25rem .75rem;border-radius:12px}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.achievement-card{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;transition:all .2s ease}.achievement-card.unlocked{border-color:var(--color-primary);background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.08),rgba(var(--color-secondary-rgb),.08))}.achievement-card.locked{opacity:.6}.achievement-card.locked:hover{opacity:.8}.achievement-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-bg);border-radius:12px;flex-shrink:0}.achievement-card.unlocked .achievement-icon{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%)}.achievement-emoji{font-size:1.5rem}.lock-icon{color:var(--color-text)}.achievement-info{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.achievement-name{font-weight:600;color:var(--color-text);font-size:.9rem}.achievement-desc{font-size:.8rem;color:var(--color-text);line-height:1.4}.achievement-mini-progress{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.mini-progress-bar{flex:1;height:4px;background:var(--color-border);border-radius:2px;overflow:hidden}.mini-progress-fill{height:100%;background:var(--color-primary);border-radius:2px;transition:width .3s ease}.mini-progress-text{font-size:.7rem;font-weight:600;color:var(--color-text)}.achievement-notification{position:fixed;bottom:2rem;right:2rem;z-index:10000;width:360px;background:var(--color-card);border:2px solid var(--color-primary);border-radius:16px;box-shadow:0 8px 32px #0003;overflow:hidden;animation:slideInRight .5s ease,glow 2s ease-in-out infinite}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes glow{0%,to{box-shadow:0 8px 32px #0003,0 0 20px rgba(var(--color-primary-rgb),.3)}50%{box-shadow:0 8px 32px #0003,0 0 30px rgba(var(--color-primary-rgb),.5)}}.achievement-notification-content{display:flex;align-items:center;gap:1rem;padding:1.25rem}.achievement-notification-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);border-radius:14px;animation:bounce .5s ease .3s}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.achievement-emoji-large{font-size:1.75rem}.achievement-notification-text{flex:1;display:flex;flex-direction:column;gap:.25rem}.achievement-notification-label{font-size:.75rem;font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px}.achievement-notification-name{font-size:1.1rem;font-weight:700;color:var(--color-text)}.achievement-notification-desc{font-size:.85rem;color:var(--color-text)}.achievement-notification-close{background:transparent;border:none;color:var(--color-text);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s ease}.achievement-notification-close:hover{background:var(--color-bg);color:var(--color-text)}.achievement-notification-progress{height:4px;background:var(--color-primary);animation:shrink 5s linear forwards}@keyframes shrink{0%{width:100%}to{width:0%}}@media (max-width: 768px){.achievements-panel{padding:1.5rem}.achievements-header{flex-direction:column;align-items:flex-start;gap:1.5rem}.achievements-progress-ring{align-self:center}.user-stats-grid{grid-template-columns:repeat(2,1fr)}.achievements-grid{grid-template-columns:1fr}.achievement-notification{left:1rem;right:1rem;bottom:1rem;width:auto}}.export-panel{background:var(--color-card);border-radius:var(--border-radius);padding:2rem;box-shadow:var(--shadow-sm)}.export-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.export-header svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.export-header h3{margin:0;font-size:1.25rem;font-weight:700;color:var(--color-text)}.export-header p{margin:.25rem 0 0;font-size:.875rem;color:var(--color-text)}.export-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--color-bg);border-radius:10px;border:1px solid var(--color-border)}.export-summary-item{display:flex;flex-direction:column;align-items:center;text-align:center}.export-summary-value{font-size:1.5rem;font-weight:700;color:var(--color-primary)}.export-summary-label{font-size:.75rem;color:var(--color-text);margin-top:.25rem}.export-status{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.875rem;font-weight:500}.export-status.success{background:rgba(var(--color-success-rgb),.15);color:var(--color-success);border:1px solid rgba(var(--color-success-rgb),.3)}.export-status.error{background:rgba(var(--color-danger-rgb),.15);color:var(--color-danger);border:1px solid rgba(var(--color-danger-rgb),.3)}.export-options{display:flex;flex-direction:column;gap:.75rem}.export-option{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:var(--color-bg);border:2px solid var(--color-border);border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.export-option:hover:not(:disabled){border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.05)}.export-option:disabled{opacity:.6;cursor:not-allowed}.export-option.recommended{border-color:var(--color-primary);background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.08),rgba(var(--color-secondary-rgb),.08))}.export-option-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-card);border-radius:10px;flex-shrink:0}.export-option-icon svg{color:var(--color-text)}.export-option:hover .export-option-icon svg,.export-option.recommended .export-option-icon svg{color:var(--color-primary)}.export-option-icon .spinning{animation:spin 1s linear infinite}.export-option-info{flex:1;min-width:0}.export-option-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.export-option-label{font-weight:600;color:var(--color-text);font-size:.95rem}.export-option-format{font-size:.7rem;font-weight:700;padding:.2rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.export-option-format.pdf{background:#ef444426;color:#dc2626}.export-option-format.csv{background:#22c55e26;color:#16a34a}.export-option-description{font-size:.8rem;color:var(--color-text)}.export-option-badge{font-size:.7rem;font-weight:600;padding:.35rem .75rem;background:var(--color-primary);color:#fff;border-radius:12px;flex-shrink:0}.export-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.export-footer p{margin:0;font-size:.8rem;color:var(--color-text);line-height:1.5}@media (max-width: 768px){.export-panel{padding:1.5rem}.export-summary{grid-template-columns:repeat(2,1fr)}.export-option{flex-wrap:wrap}.export-option-badge{margin-top:.5rem;width:100%;text-align:center}}.dashboard-tabs{width:100%}.dashboard-tabs-nav{display:flex;gap:.5rem;margin-bottom:1.5rem;padding:.5rem;background:var(--color-card);border-radius:var(--radius-lg);overflow-x:auto;-webkit-overflow-scrolling:touch}.dashboard-tabs-nav::-webkit-scrollbar{height:4px}.dashboard-tabs-nav::-webkit-scrollbar-track{background:transparent}.dashboard-tabs-nav::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.dashboard-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.dashboard-tab:hover{background:var(--color-card-alt);color:var(--color-text)}.dashboard-tab.active{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px #a8dcd14d}.dashboard-tab svg{flex-shrink:0}.dashboard-tab-content{animation:fadeIn .3s ease}@keyframes tabSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dashboard-tab-content>*{animation:tabSlideIn .3s ease}@media (max-width: 768px){.dashboard-tabs-nav{gap:.25rem;padding:.375rem;margin-bottom:1rem}.dashboard-tab{padding:.625rem 1rem;font-size:.85rem}.dashboard-tab span{display:none}.dashboard-tab svg{width:20px;height:20px}}@media (max-width: 480px){.dashboard-tab{padding:.5rem .75rem}.dashboard-tab svg{width:18px;height:18px}}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:var(--color-text-light)}.loading-state .spinning{animation:spin 1s linear infinite}.load-more-trigger{padding:1.5rem;display:flex;justify-content:center}.loading-more{display:flex;align-items:center;gap:.75rem;color:var(--color-text-light);font-size:.9rem}.loading-more .spinning{animation:spin 1s linear infinite}.end-of-list{color:var(--color-text-light);font-size:.85rem;font-style:italic;text-align:center}.initial-sync-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-background);display:flex;align-items:center;justify-content:center;z-index:9999}.initial-sync-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center;padding:2rem}.initial-sync-content h2{font-size:1.5rem;font-weight:500;color:var(--color-text);margin:0}.initial-sync-content p{font-size:.95rem;color:var(--color-text-light);margin:0}.initial-sync-content .spinning{color:var(--color-primary);animation:spin 1s linear infinite}.settings-menu-item-wrapper.locked{opacity:.6}.settings-menu-item-wrapper.locked:hover{opacity:.8}.settings-menu-item.locked{cursor:pointer;position:relative}.settings-menu-item.locked:hover{background:linear-gradient(90deg,transparent,rgba(102,126,234,.1),transparent)}.settings-menu-item .lock-icon{margin-left:auto;color:var(--color-text-light);opacity:.7}.subscription-section{display:flex;flex-direction:column;gap:.75rem;padding:.5rem 0}.subscription-info{display:flex;flex-direction:column;gap:.5rem}.subscription-badge-row{display:flex;align-items:center}.subscription-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600}.subscription-badge.free{background:var(--color-card-alt);color:var(--color-text-light);border:1px solid var(--color-border)}.subscription-badge.premium{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#000}.subscription-period{font-size:.8rem;color:var(--color-text-light);margin:0}.btn-manage{font-size:.85rem}.btn-premium{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#000;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #fbbf244d}.btn-premium:hover{transform:translateY(-1px);box-shadow:0 4px 12px #fbbf2466}.btn-premium:disabled{opacity:.6;cursor:not-allowed;transform:none}.upgrade-modal-overlay{z-index:1100}.upgrade-modal{max-width:480px;width:100%;padding:2rem;position:relative;overflow:visible}.upgrade-modal .modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--color-text-light);cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease}.upgrade-modal .modal-close:hover{background:var(--color-card-alt);color:var(--color-text)}.upgrade-header{text-align:center;margin-bottom:2rem}.crown-container{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-bottom:1rem}.crown-icon{color:#fbbf24;filter:drop-shadow(0 0 8px rgba(251,191,36,.5))}.sparkle{position:absolute;color:#fbbf24;animation:sparkle 2s ease-in-out infinite}.sparkle-1{top:-8px;right:-12px;animation-delay:0s}.sparkle-2{top:0;left:-16px;animation-delay:.5s}.sparkle-3{bottom:-4px;right:-8px;animation-delay:1s}@keyframes sparkle{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.upgrade-header h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--color-text)}.upgrade-subtitle{margin:.5rem 0 0;font-size:.9rem;color:var(--color-text-light)}.premium-features-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem}.premium-feature-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;transition:all .2s ease}.premium-feature-item.highlighted{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.08)}.feature-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--color-card);border-radius:8px}.feature-text{flex:1;display:flex;flex-direction:column;gap:.15rem}.feature-name{font-weight:600;font-size:.9rem;color:var(--color-text)}.feature-description{font-size:.75rem;color:var(--color-text-light)}.feature-check{color:var(--color-success)}.plan-selector{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}.plan-option{position:relative;display:flex;flex-direction:column;align-items:center;padding:1.25rem 1rem;background:var(--color-bg);border:2px solid var(--color-border);border-radius:12px;cursor:pointer;transition:all .2s ease}.plan-option:hover{border-color:var(--color-primary)}.plan-option.selected{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.08)}.plan-badge{position:absolute;top:-10px;right:-8px;display:flex;align-items:center;gap:.25rem;padding:.25rem .6rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#000;font-size:.65rem;font-weight:700;border-radius:10px;text-transform:uppercase}.plan-name{font-weight:600;color:var(--color-text);margin-bottom:.5rem}.plan-price{display:flex;align-items:baseline;gap:.15rem}.price-value{font-size:1.5rem;font-weight:700;color:var(--color-primary)}.price-period{font-size:.8rem;color:var(--color-text-light)}.plan-monthly-equiv{margin-top:.35rem;font-size:.7rem;color:var(--color-text-light)}.login-prompt{padding:.75rem 1rem;background:rgba(var(--color-warning-rgb),.15);border:1px solid var(--color-warning);border-radius:8px;margin-bottom:1rem}.login-prompt p{margin:0;font-size:.85rem;color:var(--color-text)}.btn-upgrade{width:100%;padding:1rem;font-size:1rem}.upgrade-footer{margin:1rem 0 0;font-size:.75rem;color:var(--color-text-light);text-align:center}.coupon-section{margin-top:1rem;padding:.875rem 1rem;background:#667eea0f;border:1.5px dashed rgba(102,126,234,.35);border-radius:var(--radius-md)}.coupon-label{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;color:var(--color-primary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem}.coupon-input{width:100%;border:2px solid var(--color-border);border-radius:var(--radius-sm);padding:.6rem .875rem;font-size:.95rem;font-family:inherit;font-weight:600;text-transform:uppercase;letter-spacing:.08em;background-color:var(--color-card);color:var(--color-text);transition:border-color .2s}.coupon-input:focus{outline:none;border-color:var(--color-primary)}.coupon-input::placeholder{font-weight:400;letter-spacing:.02em;text-transform:none;color:var(--color-text-light);opacity:.7}.coupon-error{margin-top:.4rem;font-size:.8rem;color:var(--color-danger)}.migration-modal{max-width:420px;padding:2rem}.migration-header{text-align:center;margin-bottom:1.5rem}.migration-icons{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.migration-icon-box{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;min-width:80px}.migration-icon-box span{font-size:.75rem;color:var(--color-text-light)}.migration-icon-box.cloud{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.08)}.migration-icon-box.cloud svg{color:var(--color-primary)}.migration-arrow{color:var(--color-text-light)}.migration-header h2{margin:0;font-size:1.25rem;font-weight:700;color:var(--color-text)}.migration-content{margin-bottom:1.5rem}.migration-description{margin:0 0 1rem;font-size:.9rem;color:var(--color-text);text-align:center}.migration-info-box{padding:1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px}.migration-info-box p{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:var(--color-text)}.migration-info-box ul{margin:0;padding-left:1.25rem}.migration-info-box li{font-size:.85rem;color:var(--color-text-light);margin-bottom:.25rem}.migration-error{padding:.75rem;background:rgba(var(--color-danger-rgb),.15);border:1px solid var(--color-danger);border-radius:8px;margin-top:1rem}.migration-error p{margin:0;font-size:.85rem;color:var(--color-danger)}.migration-actions{display:flex;gap:.75rem}.migration-actions .btn{flex:1}.migration-success{text-align:center;padding:2rem}.migration-success .success-icon{color:var(--color-success);margin-bottom:1rem}.migration-success h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--color-text)}.migration-success p{margin:0;color:var(--color-text-light)}@media (max-width: 480px){.upgrade-modal,.migration-modal{padding:1.5rem;margin:1rem}.plan-selector{grid-template-columns:1fr}.migration-actions{flex-direction:column}}.toast-container{position:fixed;top:1.5rem;right:1.5rem;z-index:10000;display:flex;flex-direction:column;gap:.75rem;pointer-events:none;max-width:400px}.toast{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;border-radius:12px;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014;pointer-events:auto;animation:toastSlideIn .3s ease-out;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid transparent;font-size:.9rem;line-height:1.4}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-success{background:linear-gradient(135deg,#10b981f2,#059669f2);color:#fff;border-color:#ffffff26}.toast-error{background:linear-gradient(135deg,#ef4444f2,#dc2626f2);color:#fff;border-color:#ffffff26}.toast-warning{background:linear-gradient(135deg,#f59e0bf2,#d97706f2);color:#fff;border-color:#ffffff26}.toast-info{background:linear-gradient(135deg,#3b82f6f2,#2563ebf2);color:#fff;border-color:#ffffff26}.toast-message{flex:1;font-weight:500}.toast-close{background:none;border:none;color:#ffffffb3;font-size:1.25rem;cursor:pointer;padding:0;line-height:1;transition:color .2s;flex-shrink:0}.toast-close:hover{color:#fff}@media (max-width: 480px){.toast-container{top:1rem;right:1rem;left:1rem;max-width:none}}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:10001;display:flex;align-items:center;justify-content:center;padding:1rem;animation:confirmFadeIn .2s ease-out}@keyframes confirmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes confirmScaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.confirm-dialog{background:var(--color-bg);border-radius:16px;padding:1.75rem;max-width:400px;width:100%;box-shadow:0 20px 60px #0003,0 4px 16px #0000001a;animation:confirmScaleIn .2s ease-out;border:1px solid var(--color-border)}.confirm-message{font-size:.95rem;line-height:1.6;color:var(--color-text);margin:0 0 1.5rem;white-space:pre-line}.confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.confirm-cancel{font-size:.875rem;padding:.5rem 1.25rem;border-radius:8px}.confirm-btn{font-size:.875rem;padding:.5rem 1.25rem;border-radius:8px;border:none;color:#fff;cursor:pointer;font-weight:500;transition:opacity .2s,transform .1s}.confirm-btn:hover{opacity:.9}.confirm-btn:active{transform:scale(.97)}.confirm-btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.confirm-btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.confirm-btn-info{background:linear-gradient(135deg,#3b82f6,#2563eb)}@media (max-width: 480px){.confirm-dialog{margin:1rem;padding:1.25rem}.confirm-actions{flex-direction:column-reverse}.confirm-cancel,.confirm-btn{width:100%;text-align:center}}.landing{min-height:100vh;font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text)}.landing-container{max-width:1100px;margin:0 auto;padding:0 1.5rem}.landing-container-sm{max-width:720px}.landing-nav{position:sticky;top:0;z-index:100;background-color:#f8f9fae6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}[data-theme=dark] .landing-nav{background-color:#1a202ce6}.landing-nav-inner{display:flex;align-items:center;gap:2rem;padding-top:.875rem;padding-bottom:.875rem}.landing-logo{font-size:1.25rem;font-weight:700;color:var(--color-primary);text-decoration:none;letter-spacing:-.02em;flex-shrink:0}.landing-nav-links{display:flex;gap:1.5rem;flex:1}.landing-nav-links a{color:var(--color-text-light);text-decoration:none;font-size:.9rem;transition:color .2s}.landing-nav-links a:hover{color:var(--color-primary)}.landing-nav-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.landing-lang{margin-right:.5rem}.landing-btn-ghost{color:var(--color-text-light);text-decoration:none;font-size:.9rem;padding:.5rem 1rem;border-radius:var(--radius-md);transition:background-color .2s,color .2s}.landing-btn-ghost:hover{background-color:#667eea14;color:var(--color-primary)}.landing-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--gradient-brand);color:#fff;text-decoration:none;padding:.625rem 1.25rem;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;transition:transform .2s,box-shadow .2s;box-shadow:var(--shadow-sm)}.landing-btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-brand)}.landing-btn-lg{padding:.875rem 2rem;font-size:1rem;border-radius:var(--radius-lg)}.landing-hero{padding:6rem 0 5rem;text-align:center;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(102,126,234,.12) 0%,transparent 70%)}.hero-badge{display:inline-block;background:#667eea1a;color:var(--color-primary);border:1px solid rgba(102,126,234,.25);border-radius:999px;padding:.35rem 1rem;font-size:.8rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;margin-bottom:1.5rem}.hero-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.15;letter-spacing:-.03em;margin-bottom:1.25rem;color:var(--color-text)}.hero-title-highlight{background:var(--gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.15rem;color:var(--color-text-light);max-width:580px;margin:0 auto 2.5rem;line-height:1.7}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.25rem}.hero-social-proof{font-size:.85rem;color:var(--color-text-light);margin-bottom:3.5rem}.hero-app-preview{max-width:360px;margin:0 auto;background:var(--color-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 0 0 1px var(--color-border);overflow:hidden}.preview-bar{display:flex;gap:6px;padding:.75rem 1rem;background:var(--color-card-alt);border-bottom:1px solid var(--color-border)}.preview-dot{width:10px;height:10px;border-radius:50%;background:var(--color-border)}.preview-body{padding:2rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.preview-timer-display{text-align:center}.preview-time{font-size:2.5rem;font-weight:700;color:var(--color-primary);letter-spacing:-.04em}.preview-label{font-size:.8rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.preview-streak{text-align:center}.preview-streak-num{font-size:1.5rem;font-weight:700}.preview-streak-text{font-size:.75rem;color:var(--color-text-light)}.section-badge{display:inline-block;background:#667eea1a;color:var(--color-primary);border-radius:999px;padding:.3rem .875rem;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1rem}.section-title{font-size:clamp(1.6rem,3.5vw,2.25rem);font-weight:800;letter-spacing:-.025em;margin-bottom:.75rem}.section-subtitle{font-size:1.05rem;color:var(--color-text-light);max-width:560px;line-height:1.7}.landing-features{padding:5rem 0}.landing-features .landing-container{text-align:center}.features-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem;margin-top:3rem;text-align:left}.feature-card{position:relative;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;transition:transform .2s,box-shadow .2s}.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.feature-card-premium{border-color:#667eea4d;background:linear-gradient(135deg,var(--color-card) 0%,rgba(102,126,234,.04) 100%)}.feature-premium-badge{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;font-weight:600;color:var(--color-primary);background:#667eea1a;border-radius:999px;padding:.2rem .6rem;margin-bottom:.75rem}.feature-icon-wrap{width:44px;height:44px;border-radius:var(--radius-md);background:#667eea1a;color:var(--color-primary);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.feature-card h3{font-size:1rem;font-weight:600;margin-bottom:.4rem}.feature-card p{font-size:.875rem;color:var(--color-text-light);line-height:1.6}.landing-pricing{padding:5rem 0;background:var(--color-card-alt)}.landing-pricing .landing-container{text-align:center}.pricing-toggle{display:inline-flex;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:4px;margin:2.5rem auto 3rem;gap:4px}.pricing-toggle-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--color-text-light);background:none;border:none;cursor:pointer;transition:all .2s}.pricing-toggle-btn.active{background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-sm)}.pricing-toggle-savings{font-size:.7rem;background:#ffffff40;padding:.15rem .5rem;border-radius:999px}.pricing-toggle-btn:not(.active) .pricing-toggle-savings{background:#667eea1f;color:var(--color-primary)}.pricing-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:760px;margin:0 auto}.pricing-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;text-align:left;position:relative}.pricing-card-featured{border-color:var(--color-primary);box-shadow:0 0 0 2px #667eea33,var(--shadow-brand);background:linear-gradient(180deg,rgba(102,126,234,.04) 0%,var(--color-card) 40%)}.pricing-featured-badge{display:inline-flex;align-items:center;gap:4px;background:var(--gradient-brand);color:#fff;border-radius:999px;padding:.3rem .875rem;font-size:.75rem;font-weight:600;margin-bottom:1.25rem}.pricing-card-header h3{display:flex;align-items:center;gap:.5rem;font-size:1.2rem;font-weight:700;margin-bottom:.75rem}.pricing-crown{color:var(--color-primary)}.pricing-price{display:flex;align-items:baseline;gap:.25rem;margin-bottom:.25rem}.pricing-amount{font-size:2.25rem;font-weight:800;letter-spacing:-.04em;color:var(--color-text)}.pricing-period{font-size:.9rem;color:var(--color-text-light)}.pricing-monthly-equiv{font-size:.8rem;color:var(--color-text-light);margin-bottom:.5rem}.pricing-features{list-style:none;padding:0;margin:1.5rem 0;display:flex;flex-direction:column;gap:.625rem}.pricing-features li{display:flex;align-items:center;gap:.625rem;font-size:.9rem;color:var(--color-text)}.pricing-features li svg{color:var(--color-success);flex-shrink:0}.pricing-cta{display:block;text-align:center;text-decoration:none;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:600;font-size:.95rem;transition:transform .2s,box-shadow .2s}.pricing-cta-free{background:var(--color-card-alt);color:var(--color-text);border:2px solid var(--color-border)}.pricing-cta-free:hover{border-color:var(--color-primary);color:var(--color-primary)}.pricing-cta-premium{background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-sm)}.pricing-cta-premium:hover{transform:translateY(-2px);box-shadow:var(--shadow-brand)}.pricing-guarantee{margin-top:2rem;font-size:.85rem;color:var(--color-text-light)}.landing-faq{padding:5rem 0;text-align:center}.faq-list{margin-top:2.5rem;text-align:left;display:flex;flex-direction:column;gap:.75rem}.faq-item{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color .2s}.faq-item.open{border-color:var(--color-primary)}.faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.125rem 1.5rem;font-size:.95rem;font-weight:600;text-align:left;color:var(--color-text);background:none;border:none;cursor:pointer}.faq-chevron{flex-shrink:0;color:var(--color-text-light);transition:transform .25s ease}.faq-item.open .faq-chevron{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq-item.open .faq-answer{max-height:300px}.faq-answer p{padding:0 1.5rem 1.25rem;font-size:.9rem;color:var(--color-text-light);line-height:1.7}.landing-final-cta{padding:5rem 0;background:var(--gradient-brand);text-align:center}.landing-final-cta h2{font-size:clamp(1.5rem,3.5vw,2.25rem);font-weight:800;color:#fff;margin-bottom:.75rem;letter-spacing:-.025em}.landing-final-cta p{color:#fffc;font-size:1.05rem;margin-bottom:2rem}.landing-final-cta .landing-btn-primary{background:#fff;color:var(--color-primary);box-shadow:0 8px 32px #0003}.landing-final-cta .landing-btn-primary:hover{box-shadow:0 12px 40px #0000004d}.landing-footer{padding:2rem 0;border-top:1px solid var(--color-border);background:var(--color-card-alt)}.landing-footer-inner{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.footer-tagline{font-size:.875rem;color:var(--color-text-light)}.footer-copyright{font-size:.8rem;color:var(--color-text-light);opacity:.7}@media (max-width: 768px){.landing-nav-links{display:none}.landing-nav-inner{gap:1rem}.landing-lang{margin-right:0}.landing-btn-ghost{display:none}.landing-hero{padding:4rem 0 3.5rem}.features-grid{grid-template-columns:1fr 1fr}.pricing-cards{grid-template-columns:1fr;max-width:400px}}@media (max-width: 480px){.features-grid{grid-template-columns:1fr}.hero-actions{flex-direction:column;align-items:center}.landing-btn-lg{width:100%;max-width:280px}}:root{--color-bg: #f8f9fa;--color-card: #ffffff;--color-card-alt: #f8f9fa;--color-text: #2d3748;--color-text-light: #4a5568;--color-primary: #667eea;--color-primary-rgb: 102, 126, 234;--color-secondary: #764ba2;--color-secondary-rgb: 118, 75, 162;--color-success: #48bb78;--color-success-rgb: 72, 187, 120;--color-danger: #f56565;--color-danger-rgb: 245, 101, 101;--color-warning: #ed8936;--color-warning-rgb: 237, 137, 54;--color-border: #e2e8f0;--gradient-brand: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--heatmap-empty: #EBEDF0;--heatmap-level-1: #d4d8f7;--heatmap-level-2: #a9b4ef;--heatmap-level-3: #7e8fe7;--heatmap-level-4: #667eea;--font-handwritten: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .15);--shadow-brand: 0 10px 40px rgba(102, 126, 234, .3);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px}[data-theme=dark]{--color-bg: #1a202c;--color-card: #2d3748;--color-card-alt: #1a202c;--color-text: #ffffff;--color-text-light: #a0aec0;--color-primary: #667eea;--color-primary-rgb: 102, 126, 234;--color-secondary: #9f7aea;--color-secondary-rgb: 159, 122, 234;--color-success: #48bb78;--color-success-rgb: 72, 187, 120;--color-danger: #f56565;--color-danger-rgb: 245, 101, 101;--color-warning: #ed8936;--color-warning-rgb: 237, 137, 54;--color-border: #4a5568;--heatmap-empty: #2d3748;--heatmap-level-1: #4c5a8a;--heatmap-level-2: #5a6ab8;--heatmap-level-3: #667eea;--heatmap-level-4: #9f7aea;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 8px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .5);--shadow-brand: 0 10px 40px rgba(102, 126, 234, .4)}*{margin:0;padding:0;box-sizing:border-box}html,body{overflow-x:hidden;max-width:100vw}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:var(--font-body);font-weight:600;color:var(--color-text)}button{font-family:inherit;cursor:pointer;border:none;background:none;transition:all .2s ease}button:disabled{opacity:.5;cursor:not-allowed}input,textarea,select{font-family:inherit;font-size:1rem;border:2px solid var(--color-border);border-radius:var(--radius-sm);padding:.75rem;transition:border-color .2s ease;background-color:var(--color-card-alt);color:var(--color-text)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--radius-md);font-weight:500;transition:all .2s ease;box-shadow:var(--shadow-sm)}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-secondary{background-color:var(--color-secondary);color:#fff}.btn-success{background-color:var(--color-success);color:var(--color-text)}.btn-danger{background-color:var(--color-danger);color:#fff}.btn-outline{background-color:var(--color-card-alt);color:var(--color-text);border:2px solid var(--color-text-light)}.btn-icon{padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.btn-icon:hover:not(:disabled){background-color:#0000000d}.input,.textarea{width:100%;border:2px solid var(--color-border);border-radius:var(--radius-sm);padding:.75rem;font-size:1rem;background-color:var(--color-card-alt);color:var(--color-text)}.textarea{resize:vertical;min-height:100px}.link-button{color:var(--color-primary);text-decoration:underline;background:none;border:none;cursor:pointer;padding:0}.link-button:hover{color:var(--color-secondary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spin 1s linear infinite}.todo-select{cursor:pointer}.todo-hint{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;background-color:#22c55e1a;border-left:3px solid var(--color-success);border-radius:var(--radius-sm);font-size:.9rem;color:var(--color-text)}.todo-hint svg{color:var(--color-success);flex-shrink:0}.field-hint{margin-top:.4rem;font-size:.75rem;color:var(--color-text-light);font-style:italic}@media (max-width: 768px){.btn{min-height:44px;padding:.75rem 1.25rem}.btn-icon{min-width:44px;min-height:44px}input,textarea,select{min-height:44px;font-size:16px}}@media (max-width: 480px){.btn{font-size:.95rem}}
