html{touch-action:manipulation}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center;min-height:100vh}.auth-gate{background-color:#222;justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-gate-box{text-align:center;padding:40px}.auth-gate-box h1{color:#fff;margin-bottom:24px}.auth-gate-tagline{color:#bbb;max-width:340px;margin:-12px auto 24px}.auth-gate-links{color:#888;margin-top:24px;font-size:.85rem}.auth-gate-links a{color:#8ab4f8}.auth-gate-error{color:#ff6b6b;margin-bottom:16px}.auth-gate-btn{color:#222;cursor:pointer;background:#fff;border:none;border-radius:6px;padding:12px 24px;font-size:1rem;font-weight:600}.auth-gate-dev-btn{color:#888;cursor:pointer;background:0 0;border:1px dashed #666;border-radius:6px;margin:16px auto 0;padding:6px 14px;font-size:.75rem;display:block}.auth-gate-dev-btn:hover{color:#ccc;border-color:#999}body{background-color:#222}.h1{color:#fff}.larger-header{text-align:center;margin:40px 0}.larger-header h1{color:#fff;font-family:Palatino;font-size:4.5rem;font-weight:700}.day-strip{flex-wrap:wrap;justify-content:center;gap:4px;margin:0 0 16px;display:flex}.day-tab{color:#888;cursor:pointer;background:0 0;border:1px solid #444;border-radius:6px;padding:6px 16px;font-size:.9rem;font-weight:600;transition:color .15s,background-color .15s,border-color .15s}.day-tab:hover{color:#ccc;background-color:#2a2a2a}.day-tab.active{color:#fff;background-color:#4285f4;border-color:#4285f4}.calendar-error-banner{color:#f0b880;text-align:center;background-color:#3a2a1a;border:1px solid #e67e22;border-radius:6px;max-width:600px;margin:0 auto 16px;padding:10px 16px;font-size:.9rem}.calendar-error-retry{color:#f0b880;font:inherit;cursor:pointer;background:0 0;border:1px solid #e67e22;border-radius:4px;margin:8px auto 0;padding:4px 16px;display:block}.rectangle{background-color:#edeef4;border:5px solid #000;border-image:linear-gradient(#e66465,#9198e5) 1;width:400px;margin:20px auto;padding:20px;transition:box-shadow .3s,transform .3s;display:block}.rectangle:hover{transform:scale(1.05);box-shadow:0 0 20px #007bffb3}.current-schedule{max-width:500px;margin:0 auto}.full-schedule-toggle{color:#ccc;cursor:pointer;box-sizing:border-box;background:#2a2a2a;border:1px solid #444;border-radius:8px;justify-content:center;align-items:center;gap:10px;width:100%;max-width:500px;margin:24px auto 8px;padding:12px 16px;font-size:1rem;font-weight:700;display:flex}.full-schedule-toggle:hover{color:#fff;background:#333}.full-schedule-toggle-icon{color:#888;font-size:.75rem}.schedule-item{text-align:left;color:#ccc;border-left:4px solid #555;border-radius:4px;margin:8px auto;padding:12px 16px;position:relative}.schedule-item.event{background-color:#2a1a3a;border-left-color:#9b59b6}.schedule-item.condition{background-color:#1a3a5c;border-left-color:#4285f4}.schedule-item.task{background-color:#1a3a1a;border-left-color:#27ae60}.schedule-item.filler{color:#aaa;background-color:#2a2a2a;border-left-color:#888}.schedule-item.unschedulable{background-color:#3a2a1a;border-left-color:#e67e22}.schedule-item.task.due-today{background-color:#2a2a0a;border-left-color:#f1c40f}.schedule-item.overdue{background-color:#3a1a1a;border-left-color:#e74c3c}.active-now-wrapper{max-width:700px;margin:16px auto 24px}.active-now-viewport{cursor:grab;touch-action:pan-y;position:relative;overflow:hidden}.active-now-viewport:active{cursor:grabbing}.active-now-arrow{z-index:3;color:#fffc;cursor:pointer;background:#0000004d;border:none;border-radius:50%;width:42px;height:42px;font-size:1.7rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.active-now-arrow:hover:not(:disabled){color:#fff;background:#00000073}.active-now-arrow:disabled{opacity:0;pointer-events:none}.active-now-arrow-left{left:8px}.active-now-arrow-right{right:8px}.active-now-stack-arrows{z-index:3;flex-direction:column;gap:4px;display:flex;position:absolute;top:10px;right:10px}.active-now-stack-arrow{color:#fffc;cursor:pointer;background:#0000004d;border:none;border-radius:4px;width:24px;height:20px;font-size:.65rem;line-height:1}.active-now-stack-arrow:hover{color:#fff;background:#00000073}.active-now-stack-indicator{text-align:center;color:#ffffffbf;background:#0000004d;border-radius:4px;padding:2px 0;font-size:.6rem;font-weight:600;line-height:1}.active-now-track{transition:transform .3s;display:flex}.active-now-slide{box-sizing:border-box;flex:0 0 100%;min-width:0}.active-now-card{box-sizing:border-box;cursor:pointer;text-align:center;background-color:#1a1a1a;border-left:6px solid #555;border-radius:10px;flex-direction:column;justify-content:safe center;align-items:center;gap:4px;height:clamp(240px,50.4vw,336px);padding:24px 56px;display:flex;overflow-y:auto;box-shadow:0 4px 16px #0006}.active-now-card.event{background-color:#2a1a3a;border-left-color:#9b59b6}.active-now-card.condition{background-color:#1a3a5c;border-left-color:#4285f4}.active-now-card.task{background-color:#1a3a1a;border-left-color:#27ae60}.active-now-card.filler{background-color:#2a2a2a;border-left-color:#888}.active-now-card.task.due-today{background-color:#2a2a0a;border-left-color:#f1c40f}.active-now-card.overdue{background-color:#3a1a1a;border-left-color:#e74c3c}.active-now-card.active-now-empty{text-align:center;cursor:default;border-left-color:#444}.active-now-back-btn{color:#ccc;cursor:pointer;background:#ffffff14;border:1px solid #444;border-radius:20px;margin:10px auto 0;padding:6px 16px;font-size:.8rem;display:block}.active-now-back-btn:hover{color:#fff;background:#ffffff29}.active-now-type-badge{font-size:calc(1.05rem * var(--fit-scale,1));text-transform:uppercase;opacity:.6;color:#ccc;margin-bottom:4px;font-weight:700;display:inline-block}.active-now-name{font-size:calc(3rem * var(--fit-scale,1));color:#fff;margin:4px 0;line-height:1.15}.active-now-time{font-size:calc(1.35rem * var(--fit-scale,1));color:#aaa;margin-bottom:4px;display:block}.active-now-description{color:#ccc;font-size:calc(1.35rem * var(--fit-scale,1));margin-top:8px}.active-now-empty-text{color:#888;margin:8px 0 0}.timeline-container{background:#1a1a1a;border:1px solid #333;border-radius:4px;max-width:700px;margin:12px auto;position:relative}.timeline-inner{border-left:1px solid #2e2e2e;margin:10px 0 10px 64px;position:relative}.timeline-hour-row{border-top:1px solid #2e2e2e;height:0;position:absolute;left:0;right:0}.timeline-hour-label{color:#777;text-align:right;box-sizing:border-box;width:56px;padding-right:8px;font-size:.8rem;line-height:1;position:absolute;top:-.5em;left:-64px}.timeline-pinned{border-bottom:1px solid #333;align-items:flex-start;padding:8px 8px 8px 0;display:flex}.timeline-pinned-label{box-sizing:border-box;text-align:right;letter-spacing:.05em;text-transform:uppercase;color:#777;flex-shrink:0;width:64px;padding:6px 8px 0 0;font-size:.7rem}.timeline-pinned-chips{flex-wrap:wrap;gap:6px;min-width:0;display:flex}.timeline-pinned-chip{color:#ccc;max-width:100%;font:inherit;text-align:left;box-sizing:border-box;border:1px solid #0009;border-left:4px solid #555;border-radius:4px;flex-direction:column;align-items:flex-start;padding:4px 10px;display:flex}button.timeline-pinned-chip{cursor:pointer}button.timeline-pinned-chip:hover{filter:brightness(1.2)}.timeline-pinned-chip.event{background-color:#2a1a3a;border-left-color:#9b59b6}.timeline-pinned-chip.condition{background-color:#1a3a5c;border-left-color:#4285f4}.timeline-pinned-chip.task{background-color:#1a3a1a;border-left-color:#27ae60}.timeline-pinned-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.9rem;font-weight:600;overflow:hidden}.timeline-pinned-detail{color:#aaa;white-space:nowrap;font-size:.75rem}.timeline-block{color:#ccc;box-sizing:border-box;cursor:pointer;border:1px solid #0009;border-left:4px solid #555;border-radius:4px;flex-direction:column;justify-content:center;padding:4px 10px;font-size:.9rem;display:flex;position:absolute;overflow:hidden}.timeline-gap{color:#888;box-sizing:border-box;cursor:pointer;background:0 0;border:1px dashed #0000;border-radius:4px;justify-content:center;align-items:center;width:calc(100% - 4px);padding:0;font-size:.85rem;display:flex;position:absolute;left:0}.timeline-gap-label{opacity:0;transition:opacity .15s}.timeline-gap:hover,.timeline-gap:focus-visible{background:#ffffff08;border-color:#555;outline:none}.timeline-gap:hover .timeline-gap-label,.timeline-gap:focus-visible .timeline-gap-label{opacity:1}.timeline-block.event{background-color:#2a1a3a;border-left-color:#9b59b6}.timeline-block.condition{background-color:#1a3a5c;border-left-color:#4285f4}.timeline-block.task{background-color:#1a3a1a;border-left-color:#27ae60}.timeline-block.filler{color:#aaa;background-color:#2a2a2a;border-left-color:#888}.timeline-block.task.due-today{background-color:#2a2a0a;border-left-color:#f1c40f}.timeline-block.overdue{background-color:#3a1a1a;border-left-color:#e74c3c}.timeline-block-compact{padding:2px 8px}.timeline-boundary-btn{color:#666;cursor:pointer;background:0 0;border:none;border-bottom:1px dashed #333;width:100%;margin:0;padding:6px;font-size:.75rem;display:block}.timeline-boundary-end{border-top:1px dashed #333;border-bottom:none}.timeline-boundary-btn:hover{color:#ccc;background:#222}.timeline-boundary-input{color:#ccc;box-sizing:border-box;background:#222;border:none;width:100%;padding:4px;font-size:.85rem;display:block}.timeline-block-compact .timeline-block-name{font-size:.8rem}.timeline-block-time{color:#aaa;white-space:nowrap;font-size:.8rem;display:block}.timeline-block-name{white-space:nowrap;text-overflow:ellipsis;font-size:1rem;font-weight:600;display:block;overflow:hidden}.timeline-detail-row{color:#ccc;margin:4px 0;font-size:.9rem}.timeline-detail-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;display:flex}.detail-action-btn{color:#ddd;cursor:pointer;background:#333;border:1px solid #444;border-radius:6px;padding:8px 16px;font-size:.9rem;font-weight:600}.detail-action-btn:hover{background:#3d3d3d}.detail-action-btn.danger{color:#e88;background:#3a1a1a;border-color:#5a2a2a}.detail-action-btn.danger:hover{background:#4a2222}.schedule-time{color:#aaa;margin-bottom:2px;font-size:.8rem;display:block}.schedule-name{font-size:1rem;display:block}.schedule-type-badge{float:right;text-transform:uppercase;opacity:.6;font-size:.7rem;font-weight:700}.schedule-meta{color:#888;margin-top:2px;font-size:.8rem;display:block}.task-form{flex-direction:column;align-items:center;gap:14px;max-width:600px;margin:12px auto;display:flex}.add-item-field{flex-direction:column;gap:4px;display:flex}.add-item-open-btn{color:#fff;cursor:pointer;background-color:#4285f4;border:none;border-radius:8px;width:100%;max-width:600px;margin:16px auto;padding:14px 16px;font-size:1rem;font-weight:700;display:block}.add-item-open-btn:hover{background-color:#3367d6}.add-item-label{color:#999;text-transform:uppercase;letter-spacing:.03em;text-align:left;font-size:.7rem;font-weight:700}.required-asterisk{color:#e88;margin-left:2px}.task-input{color:#fff;box-sizing:border-box;background-color:#333;border:1px solid #555;border-radius:6px;width:160px;height:38px;padding:8px 12px;font-size:.9rem}.task-input-short{width:80px}.task-description{resize:vertical;width:100%;max-width:560px;height:60px}.task-description-text{color:#aaa;margin:6px 0 0;font-size:.85rem;font-weight:400}.task-add-btn{color:#fff;cursor:pointer;background-color:#4285f4;border:none;border-radius:6px;padding:8px 16px;font-weight:700}.task-add-btn:hover{background-color:#3367d6}.task-add-btn:disabled{color:#888;cursor:not-allowed;background-color:#444}.task-add-btn:disabled:hover{background-color:#444}.task-card-menu-wrapper{flex-shrink:0;width:44px;position:relative}.item-menu-btn{color:#666;cursor:pointer;letter-spacing:1px;background:0 0;border:none;padding:0 4px;font-size:1rem;line-height:1;position:absolute;top:8px;right:8px}.item-menu-btn:hover{color:#ccc}.item-menu-dropdown{z-index:100;background:#1e1e1e;border:1px solid #444;border-radius:6px;min-width:110px;position:absolute;top:28px;right:8px;overflow:hidden;box-shadow:0 4px 12px #0009}.item-menu-dropdown button{color:#ccc;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:8px 16px;font-size:.85rem;display:block}.item-menu-dropdown button:hover{color:#fff;background:#2a2a2a}.item-menu-dropdown button.danger:hover{color:#e74c3c;background:#3a1a1a}.menu-overlay{z-index:99;position:fixed;inset:0}.item-edit-form{flex-direction:column;gap:8px;display:flex}.item-edit-form input,.item-edit-form select,.item-edit-form textarea{color:#fff;box-sizing:border-box;background:#2a2a2a;border:1px solid #555;border-radius:4px;width:100%;padding:6px 10px;font-size:.85rem}.item-edit-row{gap:8px;display:flex}.item-edit-row input,.item-edit-row select{flex:1}.item-edit-row .task-form-subfield-label{align-self:center}.item-edit-form textarea{resize:vertical;height:54px}.item-edit-actions{gap:8px;display:flex}.item-edit-actions .save-btn{color:#fff;cursor:pointer;background:#4285f4;border:none;border-radius:4px;padding:6px 18px;font-size:.85rem;font-weight:700}.item-edit-actions .cancel-btn{color:#ccc;cursor:pointer;background:#444;border:none;border-radius:4px;padding:6px 14px;font-size:.85rem}.choice-prompt{flex-direction:column;gap:8px;display:flex}.undo-bar{z-index:1100;color:#ddd;box-sizing:border-box;background:#333;border:1px solid #555;border-radius:8px;align-items:center;gap:16px;max-width:calc(100% - 32px);padding:10px 12px 10px 18px;font-size:.9rem;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000080}.undo-bar button{color:#fff;cursor:pointer;background:#4285f4;border:none;border-radius:4px;padding:5px 14px;font-weight:700}.navbar{z-index:100;border-bottom:1px solid #333;justify-content:center;gap:4px;margin-bottom:8px;padding:12px 0;display:flex;position:relative}.profile-menu-wrapper{position:absolute;top:50%;right:20px;transform:translateY(-50%)}.notif-menu-wrapper{position:absolute;top:50%;right:66px;transform:translateY(-50%)}.notif-icon-btn{color:#ccc;cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:1.05rem;line-height:1;transition:color .15s,background-color .15s;display:flex;position:relative}.notif-icon-btn:hover{background-color:#333}.notif-count-badge{color:#fff;background:#e04b4b;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.notif-dropdown{z-index:1000;background:#1e1e1e;border:1px solid #444;border-radius:8px;width:280px;max-height:320px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 8px 24px #0009}.notif-empty{color:#888;padding:14px 16px;font-size:.85rem}.notif-item{border-bottom:1px solid #333;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.notif-item:last-child{border-bottom:none}.notif-item-text{color:#ccc;flex:1;font-size:.82rem;line-height:1.35}.notif-dismiss-btn{color:#888;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:1.1rem;line-height:1}.notif-dismiss-btn:hover{color:#fff}.view-menu-wrapper{gap:8px;display:flex;position:absolute;top:50%;left:20px;transform:translateY(-50%)}.view-icon-btn{color:#ccc;cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:1.1rem;line-height:1;transition:color .15s,background-color .15s;display:flex}.view-icon-btn:hover{color:#fff;background-color:#333}.view-icon-btn.active{background-color:#1a3a5c;border-color:#4285f4}.view-dropdown{z-index:1000;background:#1e1e1e;border:1px solid #444;border-radius:8px;flex-direction:column;gap:6px;min-width:180px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 8px 24px #0009}.profile-icon-btn{color:#ccc;cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:color .15s,background-color .15s;display:flex}.profile-icon-btn:hover{color:#fff;background-color:#333}.profile-dropdown{z-index:1000;background:#1e1e1e;border:1px solid #444;border-radius:8px;min-width:180px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 8px 24px #0009}.profile-menu-item{color:#ccc;text-align:left;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #333;width:100%;padding:10px 16px;font-size:.9rem;display:block}.profile-menu-item:last-child{border-bottom:none}.profile-menu-item:hover{color:#fff;background:#2a2a2a}.nav-tab{color:#888;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 28px;font-size:.95rem;font-weight:600;transition:color .15s,background-color .15s}.nav-tab:hover{color:#ccc;background-color:#2a2a2a}.nav-tab.active{color:#fff;background-color:#2a2a2a;border-bottom:2px solid #4285f4;border-radius:6px 6px 0 0}.coming-soon{color:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;display:flex}.coming-soon h1{margin-bottom:8px;font-family:Palatino;font-size:3rem;font-weight:700}.coming-soon p{color:#888;font-size:1.1rem}.google-accounts-panel{text-align:left;background-color:#2a2a2a;border:1px solid #444;border-radius:8px;min-width:200px;padding:12px 16px}.google-accounts-list{margin:0 0 10px;padding:0;list-style:none}.google-account-item{color:#ccc;align-items:center;gap:8px;padding:4px 0;font-size:.85rem;display:flex}.google-account-dot{background-color:#2e7d32;border-radius:50%;flex-shrink:0;width:8px;height:8px}.add-account-btn{color:#fff;cursor:pointer;background-color:#4285f4;border:none;border-radius:6px;width:100%;padding:8px 12px;font-size:.9rem;font-weight:700;transition:background-color .2s,box-shadow .2s}.add-account-btn:hover{background-color:#3367d6;box-shadow:0 4px 12px #4285f480}.view-option-list{flex-direction:column;gap:8px;display:flex}.view-option{color:#ccc;cursor:pointer;text-align:left;background:#2a2a2a;border:1px solid #444;border-radius:6px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:.95rem;display:flex}.view-option:hover:not(:disabled){color:#fff;background:#333}.view-option.active{color:#fff;border-color:#4285f4}.task-card{color:#ccc;background-color:#2a2a2a;border-left:4px solid #555;border-radius:4px;align-items:flex-start;gap:12px;margin:8px auto;padding:12px 16px;display:flex;position:relative}.task-card.due-later{background-color:#1a2a1a;border-left-color:#27ae60}.task-card.due-soon{background-color:#2a2a0a;border-left-color:#f1c40f}.task-card.due-today{background-color:#2a1f0a;border-left-color:#e67e22}.task-card.overdue{background-color:#3a1a1a;border-left-color:#e74c3c}.overdue-bar{color:#f0a8a0;box-sizing:border-box;background-color:#2e1717;border:1px solid #5a2a2a;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;max-width:500px;margin:24px auto 0;padding:10px 12px 10px 16px;font-size:.9rem;display:flex}.overdue-bar-btn{color:#ffd2cc;font:inherit;cursor:pointer;background:0 0;border:1px solid #e74c3c;border-radius:4px;flex-shrink:0;padding:6px 12px;font-weight:600}.overdue-bar-btn:hover:not(:disabled){color:#fff;background-color:#e74c3c}.overdue-bar-btn:disabled{opacity:.6;cursor:default}.task-checkbox{cursor:pointer;background:0 0;border:2px solid #555;border-radius:50%;flex-shrink:0;width:26px;height:26px;margin-top:2px;transition:border-color .15s,background-color .15s}.task-checkbox:hover{background-color:#27ae6033;border-color:#27ae60}.restore-btn{color:#ccc;cursor:pointer;background:#444;border:none;border-radius:4px;flex-shrink:0;align-self:center;padding:6px 14px;font-size:.85rem}.restore-btn:hover{color:#fff;background:#4285f4}.task-card-body{flex-direction:column;flex:1;gap:2px;display:flex}.task-card-name-row{justify-content:space-between;align-items:flex-start;gap:10px;width:100%;display:flex}.task-card-name-group{align-items:center;gap:8px;min-width:0;display:flex}.task-card-name{color:#fff;font-size:1rem}.task-card-meta-col{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.task-due-date{color:#aaa;font-size:.9rem;font-weight:700}.task-due-date.due-later{color:#27ae60}.task-due-date.due-soon{color:#f1c40f}.task-due-date.due-today{color:#e67e22}.task-due-date.overdue{color:#e74c3c}.task-tag-badge{text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;border-radius:10px;padding:1px 8px;font-size:.65rem;font-weight:700;display:inline-block}.task-tag-badge.school{color:#6ab0ff;background:#1a3a5c}.task-tag-badge.work{color:#6adf8a;background:#1a3a1a}.task-category-columns{flex-direction:row;align-items:flex-start;gap:24px;max-width:1000px;margin:24px auto 0;display:flex}.task-category-group{flex:1;min-width:0}.task-meta{color:#888;font-size:.8rem}.task-log-time-row{color:#999;cursor:pointer;align-items:center;gap:6px;margin-top:4px;font-size:.78rem;display:flex}.task-log-time-info{cursor:default}.task-log-checkbox{appearance:none;cursor:pointer;background:0 0;border:1.5px solid #888;border-radius:50%;flex-shrink:0;width:14px;height:14px;margin:0}.task-log-checkbox:checked{background:radial-gradient(circle,#888 0 3px,#0000 3.5px)}.task-log-checkbox:disabled{cursor:default}.fab{color:#fff;cursor:pointer;z-index:300;background-color:#4285f4;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:2rem;line-height:1;transition:background-color .15s,box-shadow .15s;display:flex;position:fixed;bottom:32px;right:32px;box-shadow:0 4px 14px #00000080}.fab:hover{background-color:#3367d6;box-shadow:0 6px 20px #4285f480}.fab.fab-left{color:#ccc;background-color:#2a2a2a;border:1px solid #444;width:48px;height:48px;bottom:36px;left:32px;right:auto}.fab.fab-left:hover{color:#fff;background-color:#333;box-shadow:0 6px 20px #0009}.fab-clearance{height:96px}.picker-modal{text-align:center}.picker-title{color:#fff;margin:0 0 16px}.picker-wheel-wrap{width:min(80vw,300px);margin:0 auto;padding-top:14px;position:relative}.picker-pointer{z-index:1;filter:drop-shadow(0 2px 3px #0009);border-top:22px solid #fff;border-left:12px solid #0000;border-right:12px solid #0000;width:0;height:0;position:absolute;top:0;left:50%;transform:translate(-50%)}.picker-wheel{cursor:pointer;width:100%;height:auto;transition-property:transform;transition-timing-function:cubic-bezier(.15,.85,.25,1);display:block}.picker-slice-label{fill:#111;pointer-events:none;font-weight:700}.picker-spin-btn{color:#fff;cursor:pointer;background:#4285f4;border:none;border-radius:20px;margin-top:18px;padding:10px 36px;font-size:1rem;font-weight:600}.picker-spin-btn:disabled{opacity:.5;cursor:default}.picker-result{background:#141414eb;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;animation:.25s ease-out picker-result-pop;display:flex;position:absolute;inset:0}@keyframes picker-result-pop{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.picker-result-heading{text-transform:uppercase;letter-spacing:.06em;color:#aaa;font-size:.8rem}.picker-result-name{color:#fff;overflow-wrap:anywhere;font-size:1.6rem;line-height:1.2}.picker-result-meta{color:#bbb;font-size:.9rem}.picker-result-close{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #555;border-radius:20px;margin-top:12px;padding:8px 28px;font-size:.95rem}.picker-result-close:hover{background:#ffffff29}.modal-overlay{z-index:400;background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:#1e1e1e;border:1px solid #444;border-radius:10px;width:360px;max-width:90vw;padding:24px;position:relative;box-shadow:0 8px 32px #000000b3}.modal-box-large{width:640px;max-height:85vh;overflow-y:auto}.modal-close-btn{color:#ccc;cursor:pointer;background:#ffffff14;border:none;border-radius:50%;width:28px;height:28px;font-size:1.3rem;line-height:1;position:absolute;top:10px;right:10px}.modal-close-btn:hover{color:#fff;background:#ffffff2e}.jobs-page{max-width:900px;margin:0 auto;padding:0 16px 40px}.jobs-controls{justify-content:center;margin-bottom:16px;display:flex}.jobs-refresh-btn{color:#fff;cursor:pointer;background-color:#4285f4;border:none;border-radius:6px;padding:10px 24px;font-size:.95rem;font-weight:700;transition:background-color .2s,box-shadow .2s,opacity .2s}.jobs-refresh-btn:hover:not(:disabled){background-color:#3367d6;box-shadow:0 4px 12px #4285f480}.jobs-refresh-btn:disabled{opacity:.6;cursor:default}.jobs-status-banner{text-align:center;border-radius:6px;max-width:600px;margin:0 auto 20px;padding:10px 16px;font-size:.9rem}.jobs-status-banner.running{color:#9dc0f5;background-color:#1a2a3a;border:1px solid #4285f4}.jobs-status-banner.done{color:#888;background:0 0;border:none}.jobs-status-banner.error{color:#f0a0a0;background-color:#3a1a1a;border:1px solid #e74c3c}.jobs-empty{text-align:center;color:#888;margin:24px 0}.jobs-insights{flex-direction:column;gap:8px;margin-top:20px;display:flex}.jobs-insight-card{color:#9dc0f5;background-color:#1a2a3a;border:1px solid #4285f4;border-radius:6px;padding:10px 16px;font-size:.9rem;text-decoration:none;display:block}.jobs-insight-card:hover{background-color:#1f3348}.jobs-section{margin-top:24px}.jobs-list{flex-direction:column;gap:8px;display:flex}.job-card{color:#ccc;text-align:left;background-color:#2a2a2a;border-left:4px solid #555;border-radius:4px;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 16px;display:flex;position:relative}.job-card.emphasized{background-color:#2a2a0a;border-left-color:#f1c40f}.job-card-main{flex-direction:column;gap:4px;min-width:0;display:flex}.job-card-badge{color:#f1c40f;text-transform:uppercase;letter-spacing:.03em;align-self:flex-start;font-size:.7rem;font-weight:700}.job-card-heading{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.job-card-rank{color:#888;flex-shrink:0;font-size:.8rem}.job-card-company{color:#fff;font-size:1rem}.job-card-sep{color:#666}.job-card-title{color:#ccc;font-size:.95rem}.job-card-meta{color:#888;flex-wrap:wrap;gap:8px;font-size:.8rem;display:flex}.job-card-remote{color:#4285f4}.job-card-source{text-transform:capitalize}.job-card-side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.job-card-score{color:#27ae60;font-size:.9rem;font-weight:700}.job-card-apply{color:#4285f4;font-size:.85rem;font-weight:700;text-decoration:none}.job-card-apply:hover{text-decoration:underline}.docs-content{text-align:left;color:#ccc}.docs-title{color:#fff;margin:4px 0}.docs-intro{color:#888;margin-bottom:20px;font-size:.85rem;font-style:italic}.docs-diagram{flex-direction:column;align-items:center;gap:2px;margin:20px 0 28px;display:flex}.docs-diagram-step{text-align:center;color:#ccc;box-sizing:border-box;background-color:#2a2a2a;border-left:4px solid #555;border-radius:6px;width:100%;max-width:320px;padding:10px 14px;font-weight:600}.docs-diagram-events{color:#fff;background-color:#2a1a3a;border-left-color:#9b59b6}.docs-diagram-conditions{color:#fff;background-color:#1a3a5c;border-left-color:#4285f4}.docs-diagram-tasks{color:#fff;background-color:#1a3a1a;border-left-color:#27ae60}.docs-diagram-fillers{color:#ccc;background-color:#2a2a2a;border-left-color:#888}.docs-diagram-available{color:#fff;background-color:#2a2a0a;border-left-color:#f1c40f}.docs-diagram-final{color:#fff;background-color:#333;border-left-color:#fff}.docs-diagram-arrow{color:#888;margin:2px 0;font-size:.75rem}.docs-section-title{color:#fff;margin:20px 0 6px}.docs-content p{margin:0 0 10px;font-size:.92rem;line-height:1.5}.docs-content code{background:#ffffff1a;border-radius:4px;padding:1px 5px;font-size:.85em}.docs-list{margin:0;padding-left:20px}.docs-list li{margin-bottom:10px;font-size:.92rem;line-height:1.5}.hobbies-group{margin-bottom:8px}.hobbies-group-window{color:#888;font-size:.8rem;font-weight:400}.hobbies-list{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.hobby-row{background:#ffffff0a;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.hobby-name{color:#fff;flex:1;font-size:.9rem}.hobby-meta{color:#888;flex-shrink:0;font-size:.78rem}.hobby-delete-btn{color:#888;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:1.1rem;line-height:1}.hobby-delete-btn:hover{color:#e74c3c}.hobby-add-btn{color:#888;cursor:pointer;text-align:left;background:0 0;border:1px dashed #555;border-radius:6px;width:100%;padding:8px 12px;font-size:.85rem}.hobby-add-btn:hover{color:#6adf8a;border-color:#6adf8a}.hobby-add-form{margin-top:6px}.hobby-edit-btn{color:#999;cursor:pointer;background:0 0;border:1px solid #444;border-radius:4px;flex-shrink:0;padding:4px 8px;font-size:.75rem;line-height:1}.hobby-edit-btn:hover{color:#ccc;border-color:#666}.condition-edit-form{margin-top:6px}.condition-order-btns{flex-shrink:0;justify-content:flex-end;gap:4px;width:58px;display:flex}.condition-day-checkboxes{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}.condition-day-checkbox{color:#ccc;align-items:center;gap:4px;font-size:.82rem;display:flex}.condition-window-row{align-items:center}.condition-window-row button{color:#999;cursor:pointer;background:0 0;border:1px solid #444;border-radius:4px;padding:4px 7px;font-size:.8rem;line-height:1}.condition-window-row button:hover:not(:disabled){color:#ccc;border-color:#666}.condition-window-row button:disabled{opacity:.35;cursor:not-allowed}.condition-window-after-midnight{color:#999;white-space:nowrap;cursor:pointer;flex-shrink:0;align-items:center;gap:4px;font-size:.75rem;display:inline-flex}.condition-advanced-toggle{color:#888;cursor:pointer;text-align:left;background:0 0;border:none;align-self:flex-start;padding:4px 0;font-size:.82rem}.condition-advanced-toggle:hover{color:#ccc}.condition-advanced-options{background:#ffffff05;border:1px solid #333;border-radius:6px;flex-direction:column;gap:14px;padding:10px;display:flex}.condition-day-override{border:1px solid #333;border-radius:6px;flex-direction:column;gap:6px;margin-top:6px;padding:8px;display:flex}.condition-day-override-header{align-items:center;gap:8px;display:flex}.condition-followup-toggle{color:#ccc;align-items:center;gap:6px;font-size:.85rem;display:flex}.modal-overlay-bottom{align-items:flex-end}.modal-sheet{box-sizing:border-box;border-radius:16px 16px 0 0;width:100%;max-width:480px;max-height:90vh;padding:14px 20px 24px;animation:.28s ease-out sheet-slide-up;overflow-y:auto}.modal-sheet-handle{background:#555;border-radius:2px;width:40px;height:4px;margin:0 auto 12px}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.add-task-form{flex-direction:column;align-items:stretch;gap:16px;max-width:none;margin:0}.task-form-field{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.task-form-label{color:#999;text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:700}.task-form-row{gap:12px;display:flex}.task-form-subfield{align-items:center;gap:8px;display:flex}.task-form-subfield-label{color:#999;font-size:.85rem}.add-task-form .task-input{box-sizing:border-box;width:100%;padding:12px 14px;font-size:1rem}.add-task-form select.task-input{padding-top:0;padding-bottom:0}.add-task-form .task-input-short{flex-shrink:0;width:64px}.add-task-form .task-description{width:100%;max-width:none;height:70px}.add-task-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.add-task-actions .cancel-btn{color:#ccc;cursor:pointer;background:#444;border:none;border-radius:6px;padding:12px 20px;font-size:.95rem}.add-task-actions .task-add-btn{padding:12px 22px;font-size:.95rem}@property --sky-top{syntax:"<color>";inherits:false;initial-value:#080a1e}@property --sky-bottom{syntax:"<color>";inherits:false;initial-value:#101430}.balls-view{background:linear-gradient(to bottom, var(--sky-top), var(--sky-bottom));border-radius:16px;flex-direction:column;align-items:center;padding:48px 0 24px;transition:--sky-top .6s,--sky-bottom .6s;display:flex;position:relative;overflow:hidden}.balls-view:before{content:"";pointer-events:none;opacity:var(--stars,0);background:radial-gradient(1.5px 1.5px at 8% 12%,#ffffffe6,#0000),radial-gradient(1px 1px at 22% 30%,#ffffffb3,#0000),radial-gradient(1.5px 1.5px at 37% 8%,#fffc,#0000),radial-gradient(1px 1px at 55% 22%,#fff9,#0000),radial-gradient(1.5px 1.5px at 71% 10%,#ffffffe6,#0000),radial-gradient(1px 1px at 86% 28%,#ffffffb3,#0000),radial-gradient(1px 1px at 93% 6%,#fffc,#0000),radial-gradient(1px 1px at 14% 82%,#fff9,#0000),radial-gradient(1.5px 1.5px at 82% 88%,#ffffffb3,#0000),radial-gradient(1px 1px at 48% 94%,#ffffff80,#0000);transition:opacity .6s;position:absolute;inset:0}.balls-sky-host.balls-sky-active{box-sizing:border-box;background:radial-gradient(1.5px 1.5px at 6% 4%, rgba(255, 255, 255, calc(.9 * var(--stars,0))), transparent), radial-gradient(1px 1px at 19% 11%, rgba(255, 255, 255, calc(.7 * var(--stars,0))), transparent), radial-gradient(1.5px 1.5px at 33% 3%, rgba(255, 255, 255, calc(.8 * var(--stars,0))), transparent), radial-gradient(1px 1px at 47% 9%, rgba(255, 255, 255, calc(.6 * var(--stars,0))), transparent), radial-gradient(1.5px 1.5px at 64% 5%, rgba(255, 255, 255, calc(.9 * var(--stars,0))), transparent), radial-gradient(1px 1px at 78% 13%, rgba(255, 255, 255, calc(.7 * var(--stars,0))), transparent), radial-gradient(1px 1px at 92% 7%, rgba(255, 255, 255, calc(.8 * var(--stars,0))), transparent), radial-gradient(1px 1px at 11% 24%, rgba(255, 255, 255, calc(.6 * var(--stars,0))), transparent), radial-gradient(1.5px 1.5px at 88% 27%, rgba(255, 255, 255, calc(.7 * var(--stars,0))), transparent), radial-gradient(1px 1px at 4% 46%, rgba(255, 255, 255, calc(.5 * var(--stars,0))), transparent), radial-gradient(1px 1px at 96% 52%, rgba(255, 255, 255, calc(.6 * var(--stars,0))), transparent), radial-gradient(1.5px 1.5px at 8% 71%, rgba(255, 255, 255, calc(.6 * var(--stars,0))), transparent), radial-gradient(1px 1px at 91% 78%, rgba(255, 255, 255, calc(.7 * var(--stars,0))), transparent), radial-gradient(1px 1px at 52% 93%, rgba(255, 255, 255, calc(.5 * var(--stars,0))), transparent), linear-gradient(to bottom, var(--sky-top), var(--sky-bottom));margin-top:-8px;padding:8px 0 24px;transition:--sky-top .6s,--sky-bottom .6s}.balls-sky-active .balls-view{background:0 0}.balls-sky-active .balls-view:before{display:none}.balls-sky-active .day-tab:not(.active){background-color:#2a2a2a}.balls-empty{color:#888;text-align:center;padding:60px 0}.balls-carousel{touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;z-index:1;width:100%;max-width:760px;margin:0 auto;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.balls-carousel:active{cursor:grabbing}.balls-carousel:focus-visible{outline-offset:-2px;outline:2px solid #fff6}.balls-scene{pointer-events:none;z-index:0;position:absolute;inset:0}.balls-scene-canvas{width:100%;height:100%;display:block}.ball{cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%;position:absolute;top:50%;left:50%}.ball-center{cursor:pointer}.celestial-body{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ball-center .sun-rays{transform-origin:0 0;animation:60s linear infinite sun-rays-spin}@keyframes sun-rays-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ball-center .sun-rays{animation:none}}.ball-name-overlay{z-index:300;pointer-events:none;text-align:center;color:#fff;text-shadow:0 2px 10px #000000d9,0 0 3px #000000e6;font-size:clamp(1.1rem,4.2vw,1.7rem);font-weight:800;line-height:1.2;position:absolute;top:50%;left:50%}.ball-label{text-align:center;color:#ccc;margin-top:20px;position:relative}.ball-time{color:#ffffffbf;font-size:.85rem;display:block}.balls-nav{align-items:center;gap:16px;margin-top:20px;display:flex;position:relative}.balls-nav-btn{color:#ccc;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;width:36px;height:36px;font-size:1.4rem;line-height:1}.balls-nav-btn:hover:not(:disabled){color:#fff;background:#ffffff2e}.balls-nav-btn:disabled{opacity:.3;cursor:not-allowed}.balls-counter{color:#ffffffbf;font-size:.8rem}@media (width<=600px){.App{padding:0 12px}.balls-sky-host.balls-sky-active{margin-left:-12px;margin-right:-12px;padding-left:12px;padding-right:12px}.modal-box-large{width:100%}.larger-header{margin:24px 0}.larger-header h1{font-size:2rem}.navbar{flex-wrap:wrap;gap:2px;padding:10px 0 44px}.nav-tab{padding:8px 14px;font-size:.85rem}.profile-menu-wrapper{top:auto;bottom:8px;right:0;transform:none}.notif-menu-wrapper{top:auto;bottom:8px;right:46px;transform:none}.notif-dropdown{width:240px}.view-menu-wrapper{top:auto;bottom:8px;left:0;transform:none}.current-schedule,.jobs-page,.task-form{max-width:100%}.task-category-columns{flex-direction:column;max-width:100%}.timeline-container,.active-now-card{max-width:100%}.active-now-name{font-size:calc(2.25rem * var(--fit-scale,1))}.task-input,.task-input-short{box-sizing:border-box;width:100%}.item-edit-row{flex-wrap:wrap}.item-menu-btn{padding:10px;font-size:1.2rem;top:2px;right:2px}.fab{bottom:20px;right:20px}.fab.fab-left{bottom:24px;left:20px;right:auto}.job-card{flex-direction:column}.job-card-side{flex-direction:row;align-items:flex-start;gap:12px}}.node-map{background:#151515;border-radius:16px;width:100%;margin-bottom:16px;position:relative;overflow:hidden;box-shadow:0 4px 16px #0006}.node-map-empty{text-align:center;color:#888;margin:0;padding:48px 16px}.node-map-svg{touch-action:none;-webkit-user-select:none;user-select:none;display:block}.node-map-link{stroke:#555;stroke-width:1.5px;opacity:.6}.node-map-link.followed_by{stroke-dasharray:4 4}.node-map-axis-line{stroke:#444;stroke-width:2px}.node-map-chain-segment{stroke:#9b59b6;stroke-width:3px;opacity:.5}.node-map-tick line{stroke:#555}.node-map-tick text{fill:#777;font-size:11px}.node-map-now line{stroke:#f1c40f;stroke-width:1.5px;stroke-dasharray:3 3}.node-map-now text{fill:#f1c40f;font-size:11px;font-weight:600}.node-map-node{cursor:grab;outline:none;transition:opacity .3s}.node-map-node.chain{cursor:pointer}.node-map-node circle{stroke:#0000;stroke-width:2px;fill-opacity:.85}.node-map-node.task circle{fill:#27ae60}.node-map-node.condition circle{fill:#4285f4}.node-map-node.event circle{fill:#9b59b6}.node-map-node.filler circle{fill:#666}.node-map-node.overdue circle{stroke:#e74c3c;stroke-width:4px}.node-map-node.unscheduled circle{fill-opacity:.35;stroke:#27ae60;stroke-dasharray:5 4}.node-map-node.in-progress circle{stroke:#fff}.node-map-node.past{opacity:.35}.node-map-node:focus-visible circle,.node-map-node.selected circle{stroke:#f1c40f;stroke-width:3px}.node-map-label{pointer-events:none;font-size:12px}.node-map-label.inside{fill:#fff;font-weight:600}.node-map-label.outside{fill:#bbb}.node-map-popover{color:#ccc;box-sizing:border-box;background:#222;border:1px solid #444;border-radius:10px;flex-direction:column;gap:4px;min-width:200px;max-width:calc(100% - 32px);padding:14px 44px 14px 16px;font-size:.85rem;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000080}.node-map-popover strong{color:#fff;font-size:1rem}.node-map-footer{border-top:1px solid #2a2a2a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px 14px;display:flex}.node-map-legend{color:#999;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;font-size:.75rem;list-style:none;display:flex}.node-map-legend li{align-items:center;gap:6px;display:flex}.node-map-swatch{box-sizing:border-box;border-radius:50%;width:10px;height:10px}.node-map-swatch.task{background:#27ae60}.node-map-swatch.condition{background:#4285f4}.node-map-swatch.event{background:#9b59b6}.node-map-swatch.filler{background:#666}.node-map-swatch.overdue{border:2px solid #e74c3c}.node-map-swatch.unscheduled{border:2px dashed #27ae60}.node-map-reset{color:#ccc;cursor:pointer;background:#2a2a2a;border:1px solid #444;border-radius:6px;padding:6px 12px;font-size:.8rem}.node-map-reset:hover{color:#fff;background:#333}@media (prefers-reduced-motion:reduce){.node-map-node{transition:none}}.task-day-group{position:relative}.task-day-bracket{box-sizing:border-box;pointer-events:none;border:2px solid #555;border-right:none;border-radius:3px 0 0 3px;width:6px;position:absolute;top:8px;bottom:8px;left:-12px}.task-day-label{color:#777;white-space:nowrap;font-size:.75rem;position:absolute;top:50%;right:calc(100% + 6px);transform:translateY(-50%)}@media (width<=700px){.task-day-list:has(.labelled){padding-left:22px}.task-day-label{writing-mode:vertical-rl;right:calc(100% + 2px);transform:translateY(-50%)rotate(180deg)}}.task-category-group .task-day-list:has(.labelled){padding-left:22px}.task-category-group .task-day-label{writing-mode:vertical-rl;right:calc(100% + 2px);transform:translateY(-50%)rotate(180deg)}.task-drag-handle{color:#666;letter-spacing:-3px;cursor:grab;touch-action:none;background:0 0;border:none;flex-shrink:0;align-self:center;margin:0 -6px 0 -8px;padding:4px 2px;font-size:1rem;line-height:1}.task-drag-handle:hover,.task-drag-handle:focus-visible{color:#ccc}.task-day-group.reordering{-webkit-user-select:none;user-select:none}.task-day-group.reordering .task-drag-item:not(.dragging){transition:transform .15s}.task-drag-item.dragging{z-index:5;position:relative}.task-drag-item.dragging .task-card{box-shadow:0 6px 18px #00000080}.task-drag-item.dragging .task-drag-handle{cursor:grabbing}@media (prefers-reduced-motion:reduce){.task-day-group.reordering .task-drag-item:not(.dragging){transition:none}}
