.hamster-container{display:flex;justify-content:center;align-items:center;width:100%;height:100%;position:relative}.hamster-container svg{width:100%;height:100%;object-fit:contain}.hamster-container.studying .hamster-head{animation:readHead 3s infinite ease-in-out}.hamster-container.studying .hamster-eyes{animation:readEyes 3s infinite ease-in-out}.hamster-container.studying .coffee-steam{animation:steamRise 2s infinite linear}.hamster-blink{animation:blink 4s infinite}.hamster-container.studying .hamster-mouth{animation:mumble .5s infinite alternate ease-in-out;transform-origin:150px 116px}.hamster-container.studying .flipping-page{animation:pageFlip 4s infinite ease-in-out;transform-origin:40px 12px}.hamster-container.studying.middle .hamster-head,.hamster-container.studying.middle .hamster-eyes{animation-duration:2s}.hamster-container.studying.middle .flipping-page{animation-duration:3s}.hamster-container.studying.end .hamster-head,.hamster-container.studying.end .hamster-eyes{animation-duration:1s}.hamster-container.studying.end .hamster-mouth{animation-duration:.2s}.hamster-container.studying.end .flipping-page{animation-duration:2s}.hamster-container.studying.end .sweat-drops{opacity:1;animation:sweatDrop 1s infinite}.sweat-drops{opacity:0;transition:opacity .3s}@keyframes readHead{0%,to{transform:rotate(0) translateY(0)}25%{transform:rotate(-2deg) translateY(1px)}75%{transform:rotate(2deg) translateY(1px)}}@keyframes readEyes{0%,to{transform:translate(0)}25%{transform:translate(-1px)}75%{transform:translate(1px)}}@keyframes steamRise{0%{opacity:0;transform:translateY(0) scale(1)}50%{opacity:.6}to{opacity:0;transform:translateY(-10px) scale(1.5)}}@keyframes blink{0%,96%,to{transform:scaleY(1)}98%{transform:scaleY(.1)}}@keyframes mumble{0%{transform:scaleY(1) translateY(0)}to{transform:scaleY(.7) translateY(1px)}}@keyframes pageFlip{0%,85%{transform:scaleX(1);opacity:1}95%{transform:scaleX(-1);opacity:1}96%{transform:scaleX(-1);opacity:0}to{transform:scaleX(1);opacity:0}}@keyframes sweatDrop{0%{transform:translateY(0);opacity:1}to{transform:translateY(10px);opacity:0}}.hidden{display:none}.todo-list .todo-list{position:relative;margin-left:15px;padding-left:13px}.todo-list .todo-list:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background-color:#e6e6e6}.todo-item{border:none!important}.todo-list .todo-list .todo-item{background-color:transparent}.todo-list>.todo-item:hover>.todo-content-wrapper{transform:translateY(-2px);box-shadow:0 4px 14px #00000014;border-radius:10px;background-color:transparent}.todo-list .todo-list>.todo-item:hover>.todo-content-wrapper{transform:translateY(-1px);box-shadow:0 3px 10px #00000012;border-radius:10px;background-color:transparent}.todo-content-wrapper{box-shadow:none;transition:transform .25s ease,box-shadow .25s ease}.event-edit-popup{background:var(--surface-color);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 24px #0000001f;padding:20px;min-width:360px;max-height:80vh;overflow-y:auto;z-index:2000;font-family:inherit}.popup-row{margin-bottom:16px}.popup-row:last-child{margin-bottom:0}.popup-title-input{width:100%;padding:4px 0;border:none;border-bottom:none;font-size:20px;font-weight:600;outline:none;background:transparent;color:var(--text-primary);margin-bottom:8px;border-radius:4px}.popup-title-input::placeholder{color:#9ca3af}.popup-title-input:focus{background-color:#00000008;padding-left:4px}.time-row{display:flex;align-items:center;gap:16px;margin-bottom:12px}.time-label{font-size:14px;color:var(--text-secondary);width:30px;font-weight:400}.popup-time-input-group{display:flex;align-items:center;gap:8px;flex:1}.popup-date-input,.popup-time-input{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;outline:none;background:var(--surface-color);color:var(--text-primary);font-family:inherit;transition:border-color .2s,box-shadow .2s}.popup-date-input{flex:1.4;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3e%3c/rect%3e%3cline x1='16' y1='2' x2='16' y2='6'%3e%3c/line%3e%3cline x1='8' y1='2' x2='8' y2='6'%3e%3c/line%3e%3cline x1='3' y1='10' x2='21' y2='10'%3e%3c/line%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;padding-right:32px}.popup-time-input{flex:1;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3ccircle cx='12' cy='12' r='10'%3e%3c/circle%3e%3cpolyline points='12 6 12 12 16 14'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:16px;padding-right:32px}.popup-date-input::-webkit-calendar-picker-indicator,.popup-time-input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;position:absolute;right:0;top:0;bottom:0;width:32px}.popup-date-input,.popup-time-input{position:relative}.popup-date-input:focus,.popup-time-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #b7e5cd4d}.popup-category-select{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;background:var(--surface-color);outline:none;cursor:pointer;color:var(--text-primary);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;margin-top:4px}.popup-category-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #b7e5cd4d}.popup-divider{height:1px;background-color:var(--border-color);margin:12px 0}.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.popup-label{font-size:14px;color:var(--text-primary)}.popup-toggle{position:relative;display:inline-block;width:44px;height:24px}.popup-toggle input{opacity:0;width:0;height:0}.popup-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#e2e8f0;transition:.3s;border-radius:34px}.popup-toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:2px;bottom:2px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 1px 3px #0000001a}input:checked+.popup-toggle-slider{background-color:var(--primary-color)}input:checked+.popup-toggle-slider:before{transform:translate(20px)}.popup-actions{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.popup-recurrence,.popup-repeat-start,.popup-repeat-end,.scope-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.popup-repeat-start .popup-date-input,.popup-repeat-end .popup-date-input{max-width:180px}.popup-scope-select{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;background:var(--surface-color);color:var(--text-primary);outline:none}.popup-recurrence.disabled,.popup-repeat-end.disabled{opacity:.6}.popup-weekdays{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex:1}.popup-weekday-btn{border:1px solid var(--border-color);background:var(--surface-color);color:var(--text-secondary);padding:4px 8px;border-radius:6px;font-size:12px;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.popup-weekday-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:var(--text-on-primary)}.popup-weekday-btn:disabled{cursor:not-allowed;opacity:.6}.popup-btn-delete{padding:8px 12px;border:none;background:transparent;color:var(--error-color);font-size:14px;cursor:pointer;border-radius:6px;transition:background-color .2s}.popup-btn-delete:hover{background-color:#fff5f5}.popup-btn-save{padding:8px 24px;border:none;background:var(--secondary-color);color:#fff;font-size:14px;font-weight:500;cursor:pointer;border-radius:6px;transition:filter .2s}.popup-btn-save:hover{filter:brightness(.95)}.popup-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:1999;animation:fadeIn .2s ease-out}.event-edit-bottom-sheet-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;z-index:2000;display:flex;flex-direction:column;justify-content:flex-end;animation:fadeIn .2s ease-out;touch-action:none}.event-edit-bottom-sheet{background-color:var(--surface-color, #fff);border-top-left-radius:16px;border-top-right-radius:16px;padding:20px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 -4px 12px #00000026;animation:slideUp .3s cubic-bezier(.16,1,.3,1);padding-bottom:max(20px,env(safe-area-inset-bottom));touch-action:pan-y}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.sheet-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:8px}.sheet-btn-cancel{color:var(--text-secondary, #666)}.sheet-btn-save{color:var(--primary-color, #3b82f6);font-weight:600}.sheet-title-input{width:100%;font-size:24px;border:none;outline:none;margin-bottom:24px;background:transparent;color:var(--text-primary, #000);font-weight:500}.sheet-title-input::placeholder{color:var(--text-tertiary, #ccc)}.sheet-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border-color, #f0f0f0)}.sheet-row-column{flex-direction:column;align-items:flex-start;gap:10px}.sheet-row.disabled{opacity:.6}.sheet-label{font-size:16px;color:var(--text-primary, #333)}.sheet-value{display:flex;align-items:center;gap:8px}.sheet-time-input{border:none;background:var(--bg-secondary, #f5f5f5);padding:8px 12px;border-radius:8px;font-size:16px;color:var(--text-primary, #333);font-family:inherit}.sheet-scope-select{border:none;background:var(--bg-secondary, #f5f5f5);padding:8px 12px;border-radius:8px;font-size:15px;color:var(--text-primary, #333);font-family:inherit}.sheet-weekdays{display:flex;gap:8px;flex-wrap:wrap}.sheet-weekday-btn{border:1px solid var(--border-color, #eee);background:var(--surface-color, #fff);color:var(--text-secondary, #666);padding:6px 10px;border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s}.sheet-weekday-btn.active{background-color:var(--primary-color-light, #eff6ff);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6);font-weight:600}.sheet-weekday-btn:disabled{cursor:not-allowed;opacity:.6}.sheet-category-scroll{display:flex;gap:10px;overflow-x:auto;padding:4px 0 20px;margin-bottom:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.sheet-category-scroll::-webkit-scrollbar{display:none}.sheet-category-chip{padding:8px 16px;border-radius:20px;font-size:14px;white-space:nowrap;border:1px solid var(--border-color, #eee);background:var(--surface-color, #fff);color:var(--text-secondary, #666);cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.sheet-category-chip.selected{background-color:var(--primary-color-light, #eff6ff);border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6);font-weight:500}.sheet-category-dot{width:10px;height:10px;border-radius:50%}.sheet-toggle{position:relative;display:inline-block;width:50px;height:28px}.sheet-toggle input{opacity:0;width:0;height:0}.sheet-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#e2e8f0;transition:.3s;border-radius:34px}.sheet-toggle-slider:before{position:absolute;content:"";height:24px;width:24px;left:2px;bottom:2px;background-color:#fff;transition:.3s;border-radius:50%;box-shadow:0 2px 4px #0000001a}input:checked+.sheet-toggle-slider{background-color:var(--primary-color, #3b82f6)}input:checked+.sheet-toggle-slider:before{transform:translate(22px)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:16px;width:90%;max-width:480px;max-height:85vh;box-shadow:0 20px 40px #0003;animation:slideUp .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h2{margin:0;padding:24px 24px 16px;font-size:24px;font-weight:700;color:#1a1a1a;text-align:center;flex-shrink:0}.modal-content form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.modal-scroll-content{flex:1;overflow-y:auto;padding:0 24px;-webkit-overflow-scrolling:touch}.form-group label{display:block;margin-bottom:8px;font-weight:600;font-size:14px;color:#4a4a4a}.form-group input[type=text],.form-group input[type=time],.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:1px solid #e0e0e0;border-radius:12px;font-size:15px;font-family:inherit;background-color:#f9fafb;transition:all .2s ease;box-sizing:border-box}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#d4b896;background-color:#fff;box-shadow:0 0 0 4px #d4b89626}.form-group textarea{resize:vertical;min-height:80px}.form-row{display:flex;gap:16px}.form-row .form-group{flex:1}.checkbox-group{margin-top:8px;margin-bottom:24px}.form-group .checkbox-label{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 0;margin-bottom:0}.checkbox-label input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid #cbd5e0;border-radius:6px;margin-right:10px;position:relative;cursor:pointer;transition:all .2s ease;background-color:#fff}.checkbox-label input[type=checkbox]:checked{background-color:#d4b896;border-color:#d4b896}.checkbox-label input[type=checkbox]:checked:after{content:"";position:absolute;left:6px;top:2px;width:4px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-text{font-size:15px;color:#4a4a4a;font-weight:500}.reflection-container .toastui-editor-toolbar{padding:3px 6px;min-height:32px}.reflection-container .toastui-editor-toolbar button{width:26px;height:26px;padding:0}.reflection-container .toastui-editor-toolbar .toastui-editor-toolbar-icons{transform:scale(.82);transform-origin:center;opacity:.9;filter:contrast(1.05)}.reflection-container .toastui-editor-md-tab-container{height:32px;font-size:11px}.reflection-container .toastui-editor-md-tab-container .tab-item{width:54px;height:22px;line-height:22px;font-size:10px;margin-top:8px}.reflection-container .toastui-editor-mode-switch{height:22px;font-size:10px}.reflection-container .toastui-editor-mode-switch .tab-item{width:70px;height:18px;line-height:18px;font-size:10px}.modal-actions{display:flex;justify-content:flex-end;padding:16px 24px 24px;gap:12px;background:#fff;border-top:1px solid #f0f0f0;flex-shrink:0}.modal-actions:has(.btn-delete){justify-content:space-between}.modal-actions-right{display:flex;gap:12px}.btn-submit,.btn-cancel,.btn-delete{padding:12px 24px;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-submit{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--text-on-primary);box-shadow:0 4px 12px #b7e5cd4d}.btn-submit:hover{transform:translateY(-1px);box-shadow:0 6px 16px #b7e5cd66}.btn-submit:active{transform:translateY(0)}.btn-cancel{background:#f1f3f4;color:#5f6368}.btn-cancel:hover{background:#e8eaed;color:#202124}.btn-delete{background:#fee2e2;color:#dc2626}.btn-delete:hover{background:#fecaca;color:#b91c1c}@media (max-width: 768px){.modal-overlay{align-items:center;justify-content:center;padding:0}.modal-content{width:90%;max-width:400px;border-radius:16px;max-height:80vh;margin:auto}.modal-content h2{font-size:20px;padding:20px 20px 12px}.modal-scroll-content{padding:0 20px}.form-group{margin-bottom:16px}.form-group label{font-size:13px;margin-bottom:6px}.form-group input[type=text],.form-group input[type=time],.form-group select,.form-group textarea{padding:10px 14px;font-size:16px;border-radius:8px;width:100%;max-width:100%;box-sizing:border-box}.form-group textarea{min-height:60px}.form-row{flex-direction:column;gap:12px}.checkbox-text{font-size:14px}.modal-actions{padding:16px 20px 20px;gap:8px;flex-wrap:wrap}.modal-actions-right{gap:8px}.btn-submit,.btn-cancel,.btn-delete{padding:12px 20px;font-size:14px;border-radius:8px}@media (max-width: 400px){.modal-actions{flex-direction:column}.modal-actions-right{width:100%;flex-direction:column}.btn-submit,.btn-cancel,.btn-delete{width:100%}}}@media (max-width: 768px) and (orientation: landscape){.modal-content{max-height:90vh}.modal-content h2{font-size:18px;padding:16px 20px 8px}.form-group{margin-bottom:12px}.modal-actions{padding:12px 20px 16px}}.routine-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;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.routine-modal-content{background:#fff;border-radius:20px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;width:90%;max-width:420px;max-height:85vh;display:flex;flex-direction:column;padding:0;overflow:hidden;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.routine-modal-header-row{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 16px;margin-bottom:0;flex-shrink:0;border-bottom:1px solid #f1f5f9}.routine-modal-body{padding:20px 24px;overflow-y:auto;flex:1}.routine-modal-body::-webkit-scrollbar{width:6px}.routine-modal-body::-webkit-scrollbar-track{background:transparent}.routine-modal-body::-webkit-scrollbar-thumb{background-color:#e2e8f0;border-radius:3px}.routine-modal-body::-webkit-scrollbar-thumb:hover{background-color:#cbd5e1}.routine-modal-actions{display:flex;justify-content:stretch;gap:12px;padding:16px 24px 24px;background:#fff;border-top:1px solid #f1f5f9;flex-shrink:0}.routine-modal-title{font-family:Outfit,sans-serif;font-size:20px;font-weight:700;color:#333;margin:0;text-align:left}.routine-header-actions{display:flex;align-items:center;gap:8px}.btn-header-icon{width:32px;height:32px;border-radius:50%;background-color:transparent;border:none;color:#94a3b8;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.btn-header-icon:hover,.btn-header-icon.add{background-color:#f1f5f9;color:#64748b}.btn-header-icon.add:hover{background-color:#e2e8f0;color:#334155}.routine-modal-input{width:100%;padding:12px 14px;font-size:15px;border:1px solid #e2e8f0;border-radius:10px;outline:none;transition:var(--transition-base);background-color:#f8fafc;color:var(--text-primary);margin-bottom:0}.routine-modal-input:focus{border-color:var(--primary-color);background-color:var(--surface-color);box-shadow:0 0 0 4px #b7e5cd33}.form-group{margin-bottom:20px}.emoji-label{display:block;font-size:14px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.emoji-input{width:100%;padding:14px 16px;font-size:16px;border:2px solid var(--border-color);border-radius:var(--border-radius-md);outline:none;background-color:#f8fafc;color:var(--text-primary);cursor:pointer;text-align:center}.routine-modal-actions{display:flex;justify-content:stretch;gap:12px}.routine-btn-cancel,.routine-btn-save{flex:1;padding:14px;border:none;border-radius:var(--border-radius-md);font-size:15px;font-weight:600;cursor:pointer;transition:var(--transition-base)}.routine-btn-cancel{background-color:#f1f5f9;color:var(--text-secondary)}.routine-btn-cancel:hover{background-color:#e2e8f0;color:var(--text-primary)}.routine-btn-save{background-color:var(--primary-color);color:var(--text-on-primary);box-shadow:0 4px 6px #b7e5cd33}.routine-btn-save:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 12px #b7e5cd4d}.routine-manage-modal{background:#fff;border-radius:16px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;width:90%;max-width:500px;max-height:600px;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.16,1,.3,1);padding:24px}.routine-manage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:0;border:none}.routine-manage-header .routine-modal-title{margin:0;text-align:left;font-size:20px}.btn-close-modal{display:none}.routine-manage-list{flex:1;overflow-y:auto;padding:4px;margin:0 -4px}.routine-manage-empty{text-align:center;padding:40px 20px;color:#94a3b8;font-size:14px}.routine-manage-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px;transition:all .2s;cursor:grab}.routine-manage-item:hover{background-color:#fff;border-color:#cbd5e1;box-shadow:0 2px 4px #0000000d}.routine-manage-item.dragging{opacity:.5;cursor:grabbing}.routine-drag-handle{font-size:16px;color:var(--text-secondary);cursor:grab;-webkit-user-select:none;user-select:none}.routine-manage-text{flex:1;font-size:14px;color:var(--text-primary);font-weight:500}.routine-manage-actions{display:flex;gap:6px}.btn-edit-routine,.btn-delete-routine{width:28px;height:28px;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-base);font-size:14px}.btn-icon-edit,.btn-icon-delete{width:28px;height:28px;border:none;background:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;color:#94a3b8;transition:all .2s}.btn-icon-edit:hover{background-color:#e2e8f0;color:#3b82f6}.btn-icon-delete:hover{background-color:#fee2e2;color:#ef4444}.routine-manage-edit{flex:1;display:flex;gap:8px;align-items:center}.routine-manage-input{flex:1;padding:8px 12px;font-size:14px;border:2px solid var(--primary-color);border-radius:var(--border-radius-md);outline:none;background-color:#fff}.routine-manage-edit-actions{display:flex;gap:4px}.btn-save-small,.btn-cancel-small{width:28px;height:28px;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;transition:var(--transition-base)}.btn-save-small{background-color:#10b981;color:#fff}.btn-save-small:hover{background-color:#059669;transform:scale(1.1)}.btn-cancel-small{background-color:#f1f5f9;color:var(--text-secondary)}.btn-cancel-small:hover{background-color:#e2e8f0;color:var(--text-primary);transform:scale(1.1)}.routine-manage-footer{padding:16px 24px;border-top:2px solid var(--border-color);display:flex;justify-content:flex-end}.btn-close-manage{padding:10px 24px;border:none;border-radius:var(--border-radius-md);font-size:14px;font-weight:600;cursor:pointer;background-color:#f1f5f9;color:var(--text-secondary);transition:var(--transition-base)}.btn-close-manage:hover{background-color:#e2e8f0;color:var(--text-primary)}.emoji-label{display:block;font-size:13px;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.emoji-input{width:100%;padding:14px 16px;font-size:24px;border:2px solid var(--border-color);border-radius:var(--border-radius-md);outline:none;transition:var(--transition-base);background-color:#f8fafc;color:var(--text-primary);text-align:center}.emoji-input:focus{border-color:var(--primary-color);background-color:var(--surface-color);box-shadow:0 0 0 4px #b7e5cd33}.emoji-input::placeholder{font-size:13px;color:#999}.emoji-input-inline{width:70px;padding:8px 12px;font-size:20px;border:2px solid var(--border-color);border-radius:var(--border-radius-md);outline:none;transition:var(--transition-base);background-color:#fff;color:var(--text-primary);text-align:center}.emoji-input-inline:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #b7e5cd33}.emoji-input-inline::placeholder{font-size:12px;color:#999}.routine-manage-edit-full{flex:1;display:flex;gap:8px;align-items:center}.weekday-selector{display:flex;gap:8px;flex-wrap:wrap}.weekday-btn{width:36px;height:36px;border-radius:50%;border:1px solid #e2e8f0;background-color:#fff;color:#64748b;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.2,0,0,1);display:flex;align-items:center;justify-content:center;padding:0}.weekday-btn:hover{background-color:#f1f5f9;border-color:#cbd5e1;color:#334155;transform:translateY(-1px)}.weekday-btn.selected{background-color:var(--primary-color);border-color:var(--primary-color);color:var(--text-on-primary);font-weight:600;box-shadow:0 2px 4px #b7e5cd80}.weekday-selector.small{gap:4px}.weekday-btn.small{width:24px;height:24px;font-size:11px}.icloud-events-container{background:#fff;border-radius:12px;padding:15px;margin-bottom:15px;box-shadow:0 2px 10px #0000000d;border:1px solid rgba(0,0,0,.03)}.icloud-events-title{margin:0 0 10px;font-size:15px;font-weight:700;color:#2c3e50;display:flex;align-items:center;gap:6px;padding-bottom:0;border-bottom:none}.icloud-events-title:before{content:"📅";font-size:16px}.icloud-loading,.icloud-no-events{text-align:center;padding:20px 15px;color:#888;font-size:13px;background-color:#f8f9fa;border-radius:8px}.icloud-error{color:#dc3545;font-size:13px;padding:10px 12px;background-color:#fff5f5;border-radius:6px;margin-bottom:10px;border:1px solid #ffebeb}.icloud-error-hint{font-size:11px;color:#666;padding:0 4px;margin-bottom:8px}.icloud-events-list{display:flex;flex-direction:column;gap:8px}.icloud-event-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background-color:#fff;border-radius:8px;border:1px solid #eee;border-left-width:3px;border-left-style:solid;transition:all .2s ease;box-shadow:0 1px 3px #00000005;min-height:40px}.icloud-event-item:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000000d;border-color:transparent}.icloud-event-time{flex-shrink:0;font-size:12px;font-weight:600;color:#666;min-width:60px;padding-top:0;display:flex;align-items:center}.icloud-event-details{flex:1;min-width:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.icloud-event-header{display:flex;align-items:center;gap:6px;margin-bottom:0;flex-wrap:wrap}.icloud-event-title{font-size:14px;font-weight:600;color:#2c3e50;line-height:1.2}.icloud-event-calendar-badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600;color:#fff;white-space:nowrap;box-shadow:0 2px 4px #0000001a;height:20px;box-sizing:border-box}.icloud-event-location{font-size:12px;color:#666;margin-bottom:4px;display:flex;align-items:center;gap:4px}.icloud-event-description{font-size:12px;color:#666;line-height:1.4;margin-top:4px;white-space:pre-wrap;max-height:60px;overflow:hidden;text-overflow:ellipsis}.icloud-events-container.empty-state{position:relative;text-align:center;padding:20px;background:linear-gradient(to bottom right,#fff,#f8f9fa)}.btn-close-banner{position:absolute;top:8px;right:8px;background:none;border:none;font-size:20px;color:#999;cursor:pointer;padding:4px;line-height:1;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-close-banner:hover{color:#333;background-color:#0000000d}.icloud-empty-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;padding-right:10px}.icloud-icon-wrapper{width:40px;height:40px;background-color:#e3f2fd;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:0;flex-shrink:0}.icloud-icon{font-size:20px}.icloud-empty-text{margin:0;color:#666;font-size:13px;line-height:1.4;flex:1;text-align:center}.btn-connect-calendar,.btn-retry-calendar{margin-top:0;padding:8px 16px;background-color:#007bff;color:#fff;border:none;border-radius:20px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.btn-connect-calendar:hover,.btn-retry-calendar:hover{background-color:#0056b3;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.btn-retry-calendar{margin-top:10px;width:100%}
