:root{--background-color: #f4f4f4;--dot-color: #dcdcdc;--applet-background: #ffffff;--applet-shadow: rgba(0, 0, 0, .1);--text-color: #213547;--text-color-light: #555;--border-color: #e0e0e0;--border-color-light: #f0f0f0}[data-theme=dark]{--background-color: #2c3e50;--dot-color: #34495e;--applet-background: #34495e;--applet-shadow: rgba(0, 0, 0, .2);--text-color: #ecf0f1;--text-color-light: #bdc3c7;--border-color: #465a70;--border-color-light: #4a6078}*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;transition:background-color .3s ease,color .3s ease}body{background-color:var(--background-color);color:var(--text-color)}.header-container{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:20;padding:1rem 2rem;width:100%;color:var(--text-color)}.header-date p{font-size:1.1rem;font-weight:500}.header-actions{display:flex;gap:.75rem}.action-button{width:40px;height:40px;border-radius:50%;border:1px solid var(--border-color);background-color:var(--applet-background);font-size:1.5rem;font-weight:700;color:var(--text-color);cursor:pointer;display:flex;justify-content:center;align-items:center;transition:background-color .2s ease,box-shadow .2s ease,color .2s ease}.action-button:hover{background-color:var(--text-color);color:var(--background-color);box-shadow:0 2px 4px var(--applet-shadow)}.menu-button{line-height:0;padding-bottom:8px}.add-applet-container,.settings-menu-container{position:relative}.applet-menu,.settings-menu{position:absolute;top:120%;right:0;background-color:var(--applet-background);border-radius:14px;box-shadow:0 5px 15px 2px var(--applet-shadow);border:1px solid var(--border-color);padding:.75rem;display:flex;flex-direction:column;gap:.25rem;z-index:10;width:180px}.settings-menu{width:150px}.applet-menu button,.settings-menu button{background-color:transparent;border:none;padding:.75rem;text-align:left;width:100%;border-radius:8px;cursor:pointer;color:var(--text-color);font-weight:500;transition:background-color .2s ease}.applet-menu button:hover,.settings-menu button:hover{background-color:var(--background-color)}.date-input{font-family:inherit;font-size:1.1rem;font-weight:500;border:none;background-color:transparent;color:inherit;padding:2px 6px;border-bottom:2px solid #3498db;outline:none}.react-grid-layout{position:relative;transition:height .2s ease;min-height:100vh!important;background-image:radial-gradient(circle at 1px 1px,var(--dot-color) 1px,transparent 0);background-size:25px 25px}.react-grid-item{transition:all .1s ease}.react-grid-item.react-grid-item-dragging{transition:none}.react-grid-item.css-transforms{transition-property:transform}.react-grid-layout .react-grid-placeholder{background:#3498db33!important;border-radius:18px;border:2px dashed rgba(52,152,219,.5)!important;transition:all .2s ease}.react-resizable-handle{position:absolute;width:20px;height:20px;bottom:0;right:0;padding:0;border:none;background:none;cursor:se-resize;opacity:.5;filter:drop-shadow(0px 1px 1px rgba(0,0,0,.2));transition:opacity .2s ease,transform .2s ease;background-color:var(--text-color-light);-webkit-mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><path d="M21 7.5V4.5C21 2.01472 23.0147 0 25.5 0V0C27.9853 0 30 2.01472 30 4.5V7.5C30 19.9264 19.9264 30 7.5 30H4.5C2.01472 30 0 27.9853 0 25.5V25.5C0 23.0147 2.01472 21 4.5 21H7.5C14.9558 21 21 14.9558 21 7.5Z"/></svg>');mask-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30"><path d="M21 7.5V4.5C21 2.01472 23.0147 0 25.5 0V0C27.9853 0 30 2.01472 30 4.5V7.5C30 19.9264 19.9264 30 7.5 30H4.5C2.01472 30 0 27.9853 0 25.5V25.5C0 23.0147 2.01472 21 4.5 21H7.5C14.9558 21 21 14.9558 21 7.5Z"/></svg>');-webkit-mask-size:16px 16px;mask-size:16px 16px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:bottom right;mask-position:bottom right}.react-resizable-handle:hover{opacity:1;transform:scale(1.1)}.applet-card{background-color:var(--applet-background);border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 6px var(--applet-shadow);padding:1rem;display:flex;flex-direction:column;width:100%;height:100%}.applet-header{border-bottom:1px solid #eee;padding-bottom:.5rem;margin-bottom:.75rem}.applet-header h3{font-size:1rem;font-weight:600;color:#555}.applet-content{font-size:.9rem;line-height:1.5;color:var(--text-color);flex-grow:1;overflow:auto}.notes-textarea{width:100%;height:100%;border:none;background-color:transparent;resize:none;outline:none;font-family:inherit;font-size:.9rem;color:var(--text-color)}.todo-applet-container{display:flex;flex-direction:column;height:100%}.todo-list{flex-grow:1;overflow-y:auto;padding-right:5px}.todo-item{display:flex;justify-content:space-between;align-items:center;padding:.4rem .2rem;border-bottom:1px solid var(--border-color-light);font-size:.9rem}.todo-text{cursor:pointer;flex-grow:1}.todo-item.completed .todo-text{text-decoration:line-through;color:var(--text-color-light)}.delete-task-button{background:none;border:none;color:#ff5c5c;font-size:1.2rem;font-weight:700;cursor:pointer;padding:0 .5rem;visibility:hidden;opacity:0;transition:opacity .2s}.todo-item:hover .delete-task-button{visibility:visible;opacity:1}.add-todo-form{display:flex;margin-top:.5rem;border-top:1px solid var(--border-color);padding-top:.75rem}.add-todo-input{flex-grow:1;border:none;border-bottom:1px solid var(--border-color);outline:none;background-color:transparent;font-size:.9rem;padding:2px;color:var(--text-color)}.add-todo-input::placeholder{color:var(--text-color-light)}.add-todo-button{background-color:#3498db;color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:1.2rem;font-weight:700;cursor:pointer;line-height:22px;text-align:center;margin-left:.5rem}.applet-card-base{background-color:var(--applet-background);border-radius:18px;box-shadow:0 5px 15px 2px var(--applet-shadow);border:1px solid var(--border-color);display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}.applet-header{display:flex;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color-light);flex-shrink:0;cursor:move}.applet-header .applet-title{font-size:1rem;font-weight:600;margin:0;flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-color)}.title-input{font-size:1rem;font-weight:600;border:none;border-bottom:2px solid var(--text-color);outline:none;width:100%;flex-grow:1;background-color:var(--applet-background);color:var(--text-color)}.icon-button{background:none;border:none;cursor:pointer;font-size:1rem;padding:.25rem;border-radius:4px;margin-left:.5rem;line-height:1;color:var(--text-color)}.icon-button:hover{background-color:var(--background-color)}.applet-menu-container{position:relative}.applet-menu-button{font-weight:700}.applet-dropdown-menu{position:absolute;top:110%;right:0;background-color:var(--applet-background);border-radius:6px;box-shadow:0 4px 12px var(--applet-shadow);border:1px solid var(--border-color);padding:.5rem;display:flex;flex-direction:column;gap:.25rem;z-index:20;width:150px}.applet-dropdown-menu button{background-color:transparent;border:none;padding:.5rem;text-align:left;width:100%;border-radius:4px;cursor:pointer;color:var(--text-color)}.applet-dropdown-menu button:hover{background-color:var(--background-color)}.applet-content-area{padding:1rem;flex-grow:1;overflow-y:auto}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:var(--applet-background);color:var(--text-color);padding:1.5rem;border-radius:18px;box-shadow:0 10px 30px #0003;width:90%;max-width:400px}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:1rem;margin-bottom:1rem}.modal-title{margin:0;font-size:1.2rem}.modal-close-button{background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-color-light);line-height:1}.appointments-container{display:flex;flex-direction:column;height:100%}.appointments-list{flex-grow:1;overflow-y:auto}.appointment-item{display:flex;align-items:center;padding:.75rem .2rem;border-bottom:1px solid var(--border-color-light);gap:1rem}.appointment-time{font-weight:600;background-color:var(--background-color);padding:.25rem .5rem;border-radius:6px;font-size:.85rem}.appointment-activity{font-size:.9rem;flex-grow:1}.empty-message{color:var(--text-color-light);text-align:center;margin-top:2rem}.add-appointment-area{border-top:1px solid var(--border-color);padding-top:.75rem;margin-top:.5rem;display:flex;justify-content:center}.add-appointment-button{background-color:#3498db;color:#fff;border:none;border-radius:50%;width:32px;height:32px;font-size:1.5rem;font-weight:700;cursor:pointer;line-height:32px;display:flex;align-items:center;justify-content:center}.appointment-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;font-size:.9rem}.form-group input{font-size:1rem;padding:.5rem;border-radius:8px;border:1px solid var(--border-color);background-color:var(--background-color);color:var(--text-color)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.form-actions button{padding:.6rem 1.2rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;font-size:.9rem}.button-primary{background-color:#3498db;color:#fff}.button-secondary{background-color:var(--border-color);color:var(--text-color)}.appointment-activity{cursor:pointer}.delete-appointment-button{background:none;border:none;color:#ff5c5c;font-size:1.4rem;font-weight:700;cursor:pointer;padding:0 .5rem;visibility:hidden;opacity:0;transition:opacity .2s}.appointment-item:hover .delete-appointment-button{visibility:visible;opacity:1}.appointment-item{cursor:pointer}.time-edit-input{padding:.2rem .4rem;border-radius:6px;border:1px solid var(--border-color);background-color:var(--background-color);color:var(--text-color);outline:none;font-weight:600;font-size:.85rem}.activity-edit-input{flex-grow:1;font-size:.9rem;padding:.2rem;border-radius:4px;border:1px solid var(--border-color);background-color:var(--background-color);color:var(--text-color);outline:none}.pomodoro-container-rect{width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:1rem}.timer-main-content{flex-grow:1;display:flex;align-items:center;justify-content:center;gap:1.5rem;flex-wrap:wrap}.timer-display-rect{display:flex;flex-direction:column;align-items:center}.time-left-rect{font-size:clamp(2rem,10vw,3.5rem);font-weight:600;color:var(--text-color);line-height:1.1}.current-mode-rect{font-size:clamp(.8rem,4vw,1rem);font-weight:500;color:var(--text-color-light);text-transform:uppercase;letter-spacing:1px}.timer-controls-rect{display:flex;align-items:center;gap:1rem}.control-button-rect{background-color:var(--text-color);color:var(--background-color);border:none;border-radius:8px;padding:.5rem 1rem;font-weight:600;cursor:pointer}.reset-button-rect{background:none;border:none;color:var(--text-color-light);font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1}.progress-bar-container{width:100%;height:8px;background-color:var(--border-color);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background-color:#3498db;border-radius:4px;transition:width .5s linear}
