@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap";*{box-sizing:border-box}:root{--bg:#202124;--text:#e8eaed;--text-dim:#9aa0a6;--text-faint:#5f6368;--accent:#8ab4f8;--accent-hover:#aecbfa;--accent-text:#202124;--border:#ffffff14;--border-soft:#ffffff0d;--success:#4caf50;--danger:#ff5252;--modal-bg:#202124f7}body{background-color:var(--bg);height:100vh;color:var(--text);margin:0;padding:0;font-family:Inter,sans-serif;overflow:hidden}.app-container{background-color:var(--bg);width:100%;max-width:800px;height:100vh;color:var(--text);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden}.app-container[data-theme=slate]{--bg:#1a1d24;--text:#e6e9f0;--text-dim:#9aa3b5;--text-faint:#616a7d;--accent:#7c9eff;--accent-hover:#9fb8ff;--accent-text:#14161c;--border:#ffffff14;--border-soft:#ffffff0d;--modal-bg:#1a1d24f7}.app-container[data-theme=paper]{--bg:#f5f5f3;--text:#2b2b2b;--text-dim:#6b6b6b;--text-faint:#9a9a9a;--accent:#3a6ea5;--accent-hover:#4d84bd;--accent-text:#fff;--border:#0000001a;--border-soft:#0000000d;--success:#2e7d32;--danger:#c62828;--modal-bg:#f5f5f3f7}.sort-toggle-btn{background-color:var(--border-soft);border:1px solid var(--border);width:38px;height:38px;color:var(--text);cursor:pointer;z-index:10;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:all .3s;display:flex;position:absolute;bottom:10px;right:20px}.sort-toggle-btn:hover{background-color:var(--border);transform:scale(1.05)}.main-title{text-align:center;letter-spacing:-.5px;margin:0;padding:25px 0;font-size:1.4rem;font-weight:500;transition:all .8s cubic-bezier(.25,1,.5,1);overflow:hidden}.main-title.hidden{opacity:0;height:0;padding:0}.day-container{border-bottom:1px solid var(--border);flex-direction:column;transition:all .8s cubic-bezier(.25,1,.5,1);display:flex;overflow:hidden}.day-container.collapsed-home{cursor:pointer;flex:14.28%}.day-container.collapsed-home:hover{background-color:#ffffff08}.day-container.expanded{border-bottom:none;flex:100%}.day-container.hidden{opacity:0;border:none;flex:0 0 0}.day-header{-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;height:100%;padding:0 25px;transition:height .8s cubic-bezier(.25,1,.5,1);display:flex}.day-header h2{margin:0;font-size:1.2rem;font-weight:500}.header-right{align-items:center;display:flex}.task-count{color:var(--text-dim);font-size:.85rem}.dropdown-icon{color:var(--text-dim);align-items:center;margin-left:15px;font-size:.75rem;transition:transform .6s cubic-bezier(.25,1,.5,1);display:flex}.dropdown-icon.open{transform:rotate(180deg)}.day-container.expanded .day-header{cursor:pointer;height:75px;min-height:75px}.day-body{opacity:0;flex-direction:column;flex:1;display:none;overflow:hidden}.day-container.expanded .day-body{opacity:1;animation:.8s forwards fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.groups-scroll-area{-webkit-overflow-scrolling:touch;flex:1;padding:10px 25px;overflow-y:auto}.new-group-wrapper{background-color:var(--bg);border-top:1px solid var(--border-soft);align-items:center;padding:15px 25px 25px;display:flex}.group-section{margin-bottom:20px}.group-header-row{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.group-header-row:hover .group-title{color:var(--accent-hover)}.group-title{color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin:0 0 0 38px;font-size:.8rem;font-weight:600}.collapse-arrow{color:var(--accent);margin-right:5px;font-size:.65rem;transition:transform .3s;display:inline-flex}.collapse-arrow.collapsed{transform:rotate(-90deg)}.task-item{border-radius:6px;justify-content:space-between;align-items:center;padding:8px 0;transition:background-color .2s,opacity .2s;display:flex}.task-item:hover{background-color:#ffffff05}.task-main{cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;align-items:flex-start;min-width:0;display:flex}.task-main p{color:var(--text);word-break:break-word;margin:0;font-size:.95rem;line-height:1.4}.task-item.completed .task-main p{color:var(--success);text-decoration:line-through}.checkbox{border:2px solid var(--text-faint);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:2px;margin-right:18px;transition:all .2s;display:flex}.task-item:hover .checkbox{border-color:var(--text)}.task-item.completed .checkbox{border-color:var(--success);background-color:#4caf501a}.checkmark{color:var(--success);justify-content:center;align-items:center;font-size:11px;display:flex}.task-meta{color:var(--text-faint);opacity:.7;flex-shrink:0;align-items:center;margin-left:10px;font-size:.8rem;transition:opacity .2s;display:flex}.task-item:hover .task-meta{opacity:1}.meta-btn{cursor:pointer;border-radius:4px;padding:4px 6px;transition:color .2s}.meta-btn:hover{background-color:var(--border-soft);color:var(--text)}.meta-btn.urgent{color:var(--danger);font-weight:600}.meta-btn.urgent:hover{background-color:#ff52521a}.meta-dot{opacity:.5;margin:0 3px;font-size:.5rem}.task-item.completed .task-meta{opacity:.3}.completed-section{border-top:1px dashed var(--border);margin-top:25px;padding-top:15px}.completed-header-row{cursor:pointer;color:var(--text-dim);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:4px 0;font-size:.85rem;font-weight:500;display:flex}.completed-header-row:hover{color:var(--text)}.completed-list{margin-top:10px}.trash-btn-box{color:var(--danger);cursor:pointer;background-color:#ff52521a;border:1px solid #ff52524d;border-radius:6px;justify-content:center;align-items:center;margin-left:10px;padding:6px 10px;font-size:.85rem;transition:all .2s;display:flex}.trash-btn-box:hover{border-color:var(--danger);background-color:#ff525233}.inline-input-wrapper{align-items:center;margin-top:4px;padding:10px 0;display:flex}.inline-add-icon{color:var(--text-dim);justify-content:center;width:18px;margin-right:18px;font-size:1rem;font-weight:300;display:flex}.inline-input{color:var(--text);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:.95rem}.inline-input::placeholder{color:var(--text-dim)}.inline-input:focus::placeholder{opacity:.5}.fullscreen-modal{background-color:var(--modal-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:all .4s cubic-bezier(.25,1,.5,1);display:flex;position:absolute;inset:0}.fullscreen-modal.open{opacity:1;pointer-events:all}.modal-content{flex-direction:column;align-items:center;width:90%;max-width:340px;transition:all .5s cubic-bezier(.175,.885,.32,1.275);display:flex;transform:translateY(30px)scale(.95)}.fullscreen-modal.open .modal-content{transform:translateY(0)scale(1)}.modal-title{color:var(--text-dim);letter-spacing:1px;margin-bottom:20px;font-size:1.2rem;font-weight:300}.custom-calendar{border:1px solid var(--border);background:#ffffff08;border-radius:12px;width:100%;margin-bottom:25px;padding:12px}.cal-header{color:var(--text);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:.95rem;font-weight:500;display:flex}.cal-nav-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:4px 8px;font-size:.9rem;display:flex}.cal-nav-btn:hover{color:#fff}.cal-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.cal-weekday{color:var(--text-faint);padding-bottom:6px;font-size:.7rem;font-weight:600}.cal-cell{aspect-ratio:1;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;transition:background .2s;display:flex}.cal-cell:hover{background:var(--border)}.cal-cell.selected{background:var(--accent);color:var(--bg);font-weight:600}.cal-cell.empty{pointer-events:none}.modal-inputs-row{justify-content:center;align-items:center;gap:12px;margin-bottom:10px;display:flex}.time-wheel-group{flex-direction:column;align-items:center;display:flex}.wheel-arrow{color:var(--text-faint);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:6px;font-size:.75rem;display:flex}.wheel-arrow:hover{color:var(--text)}.wheel-display{cursor:ns-resize;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:8px;flex-direction:column;align-items:center;padding:8px 16px;transition:background .2s;display:flex}.wheel-display:hover{background:#ffffff08}.wheel-display span{color:#fff;font-size:3rem;font-weight:300;line-height:1}.wheel-display label{color:var(--text-faint);text-transform:uppercase;letter-spacing:1px;margin-top:4px;font-size:.7rem}.time-separator{color:var(--text-faint);margin-top:8px;font-size:2.2rem;font-weight:300}.wheel-hint{color:var(--text-faint);text-align:center;letter-spacing:.5px;margin-bottom:25px;font-size:.7rem}.modal-actions{justify-content:center;gap:12px;width:100%;display:flex}.modal-btn{cursor:pointer;border:none;border-radius:30px;padding:9px 22px;font-size:.9rem;font-weight:500;transition:all .2s}.modal-btn.cancel{color:var(--text-dim);border:1px solid var(--text-faint);background:0 0}.modal-btn.cancel:hover{background:var(--border-soft);color:#fff}.modal-btn.save{background:var(--accent);color:var(--bg)}.modal-btn.save:hover{background:var(--accent-hover);transform:translateY(-2px)}.day-container{background:var(--bg)}.day-container.collapsed-home:hover{filter:brightness(1.15);background-color:#0000}.new-group-wrapper{background-color:#0000}.task-item.due-overdue,.task-item.due-today{background-color:color-mix(in srgb, var(--danger) 10%, transparent)}.task-item.due-overdue .meta-btn,.task-item.due-today .meta-btn{color:var(--danger)}.task-item.due-soon .meta-btn:first-child{color:#ffa726}.task-item.due-week .meta-btn:first-child{color:#ffca28}.task-main p{flex:1}.task-class-badge{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border:1px solid;border-radius:20px;flex-shrink:0;margin-left:12px;padding:2px 9px;font-size:.7rem;font-weight:600}.inline-input-wrapper,.new-group-wrapper{gap:10px}.class-select{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:20px;outline:none;flex-shrink:0;max-width:120px;padding:4px 10px;font-family:inherit;font-size:.75rem}.class-select:hover{color:var(--text);border-color:var(--text-dim)}.settings-content{max-width:420px;max-height:85vh;padding:4px 4px 0;overflow-y:auto}.settings-section{text-align:left;width:100%;margin-bottom:28px}.settings-section-header{justify-content:space-between;align-items:center;display:flex}.settings-section-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin:0 0 14px;font-size:.75rem;font-weight:600}.settings-section-header .settings-section-title{margin-bottom:0}.settings-empty{color:var(--text-faint);margin:0;font-size:.85rem}.mini-add-btn{border:1px solid var(--border);width:26px;height:26px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:.75rem;transition:all .2s;display:flex}.mini-add-btn:hover{color:var(--accent);border-color:var(--accent)}.theme-options{gap:10px;display:flex}.theme-swatch{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:20px;align-items:center;gap:8px;padding:6px 14px 6px 8px;font-size:.8rem;transition:all .2s;display:flex}.theme-swatch-dot{border:1px solid var(--border);border-radius:50%;flex-shrink:0;width:14px;height:14px}.theme-swatch:hover{color:var(--text);border-color:var(--text-dim)}.theme-swatch.active{color:var(--text);border-color:var(--accent)}.class-list{flex-direction:column;gap:10px;margin-top:14px;display:flex}.class-row{align-items:center;gap:10px;display:flex}.color-circle{border:1px solid var(--border);cursor:pointer;border-radius:50%;flex-shrink:0;width:24px;height:24px;display:inline-block;overflow:hidden}.color-circle input[type=color]{opacity:0;cursor:pointer;border:none;width:100%;height:100%;padding:0}.class-row-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;overflow:hidden}.day-toggle-btn{border:1px solid var(--border);letter-spacing:.3px;cursor:pointer;background:0 0;border-radius:20px;flex-shrink:0;padding:5px 12px;font-size:.7rem;font-weight:600;transition:all .2s}.day-toggle-btn.gold{color:#d4af37;border-color:#d4af3766}.day-toggle-btn.black{color:var(--text-dim);border-color:var(--border)}.priority-arrows{flex-direction:column;flex-shrink:0;display:flex}.priority-arrows .wheel-arrow{padding:2px 4px;font-size:.65rem}.priority-arrows .wheel-arrow:disabled{opacity:.25;cursor:default}.class-row .trash-btn-box{margin-left:0;padding:5px 8px}
