:root{--bg-color:#fafafa;--text-color:#111;--red-accent:#e53935;--border-color:#e8e8e8;--faded-text:#6b6b6b;--header-bg:#fafafa;--someday-bg:#f0f0f0;--dotted-line:#e4e4e4;--drag-handle:#bdbdbd;--hover-bg:#ececec;--brand-teal:#0f766e;--panel-today-bg:#fff;--secondary-panel-bg:#f0f0f0;--paper-line:#e8e8e8}body.dark-theme{--bg-color:#0d0d0d;--text-color:#f1f1f1;--red-accent:#cc2929;--border-color:#222;--faded-text:#8a8a8a;--header-bg:#0d0d0d;--someday-bg:#121212;--dotted-line:#242424;--drag-handle:#444;--hover-bg:#181818;--brand-teal:#2dd4bf;--panel-today-bg:#0a0a0a;--secondary-panel-bg:#141414;--paper-line:#2a2a2a}*{box-sizing:border-box;margin:0;padding:0;transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s}html,body{height:100vh;overflow:hidden}body{background-color:var(--bg-color);color:var(--text-color);flex-direction:column;font-family:Inter,system-ui,sans-serif;line-height:1.5;display:flex}#root{flex-direction:column;height:100%;display:flex;overflow:hidden}.app-error-banner{z-index:9999;color:#fff;text-align:center;background:#e53935eb;padding:10px;font-size:.85rem;font-weight:600;position:fixed;top:0;left:0;right:0}.app-shell{flex-direction:column;flex:1 1 0;width:100%;min-height:0;display:flex;overflow:hidden}.app-layout{grid-template-columns:minmax(200px, var(--today-sidebar,280px)) minmax(0, 1fr);flex:1 1 0;grid-template-rows:auto 1fr;width:100%;min-height:0;display:grid;overflow:hidden}.app-layout__toolbar{background:0 0;grid-area:1/1/auto/-1;padding:0}@media (width<=880px){.app-layout{grid-template-rows:auto minmax(200px,38vh) minmax(0,1fr);grid-template-columns:1fr}.app-layout__toolbar{grid-area:1/1}.panel-today{grid-area:2/1}.panel-secondary{grid-area:3/1}.panel-today-resizer{display:none}.main-toolbar.app-layout__toolbar{grid-template-columns:1fr}.main-toolbar__col--today{border-right:none}.main-toolbar__col--main{border-top:1px solid var(--border-color)}}.panel-today{background:var(--panel-today-bg);border-right:1px solid var(--border-color);z-index:1;flex-direction:column;grid-area:2/1;min-width:0;min-height:0;display:flex;position:relative;box-shadow:4px 0 20px -12px #0000001a}.panel-today-resizer{cursor:col-resize;z-index:5;touch-action:none;background:0 0;border:none;width:8px;height:100%;margin:0;padding:0;position:absolute;top:0;right:-4px}.panel-today-resizer:hover,.panel-today-resizer:active{background:var(--border-color)}.panel-today-resizer:focus-visible{outline:2px solid var(--brand-teal);outline-offset:-2px}.main-toolbar__col--today{border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);background:var(--panel-today-bg);box-sizing:border-box;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;padding:.75rem .65rem .65rem .75rem;display:flex}.main-toolbar__col--main{border-bottom:1px solid var(--border-color);background:var(--secondary-panel-bg);box-sizing:border-box;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:.65rem;min-width:0;padding:.65rem 1.1rem .5rem 1rem;display:grid}.main-toolbar__center{justify-content:center;align-items:center;min-width:0;display:flex}.panel-today .taska-logo,.main-toolbar__col--today .taska-logo{object-fit:contain;object-position:left center;width:auto;max-width:min(100%,7.5rem);height:1.75rem;display:block}.panel-today-icons{align-items:center;gap:.15rem;display:flex}.panel-today-body{flex-direction:column;flex:1 1 0;min-height:0;padding:1rem .55rem .65rem .7rem;display:flex;overflow:hidden}.day-column--sidebar{border:none;flex:1 1 0;min-height:0;padding-top:0}.day-column--sidebar .day-header{padding-right:.25rem}.day-header-top{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.day-header-counter-wrap{flex-shrink:0;justify-content:flex-end;align-items:center;min-width:2rem;min-height:1.05rem;display:flex}.day-header-progress-count--visible{color:var(--faded-text);letter-spacing:.04em;font-size:.65rem;font-weight:700}.day-header-progress-count--placeholder{visibility:hidden;-webkit-user-select:none;user-select:none;pointer-events:none;letter-spacing:.04em;font-size:.65rem;font-weight:700}.day-progress.day-progress--paper{background-color:var(--border-color);opacity:1;border-radius:0;height:2px;margin-top:8px}.day-progress.day-progress--paper .day-progress-fill{background:var(--text-color);border-radius:0}.day-progress.day-progress--paper .day-progress-fill.full{background:var(--brand-teal)}.panel-secondary{background:var(--secondary-panel-bg);flex-direction:column;flex:1 1 0;grid-area:2/2;min-width:0;min-height:0;display:flex;overflow:hidden}.panel-secondary .calendar-view--main{background:var(--secondary-panel-bg)}.panel-secondary .task-item{background-color:var(--secondary-panel-bg)}.panel-secondary .add-task-row{background-color:#ffffff59}body.dark-theme .panel-secondary .add-task-row{background-color:#00000040}.main-toolbar.app-layout__toolbar{grid-template-columns:minmax(200px, var(--today-sidebar,280px)) minmax(0, 1fr);flex-shrink:0;align-items:stretch;gap:0;display:grid}.main-toolbar-nav{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.2rem;display:flex}.main-toolbar-actions{flex-shrink:0;justify-self:end;align-items:center;gap:.15rem;display:flex}.pomodoro-bar{border:1px solid var(--border-color);background:var(--hover-bg);letter-spacing:.04em;color:var(--faded-text);border-radius:8px;align-items:center;gap:.35rem;max-width:100%;padding:.15rem .45rem .15rem .35rem;font-size:.72rem;font-weight:700;display:inline-flex;position:relative}.pomodoro-bar--work.pomodoro-bar--running{color:var(--text-color);border-color:#e53e3e73}.pomodoro-bar--break.pomodoro-bar--running{color:var(--text-color);border-color:#388e3c80}.pomodoro-bar__icon{color:var(--faded-text);flex-shrink:0;font-size:1rem}.pomodoro-bar--running .pomodoro-bar__icon{color:var(--text-color)}.pomodoro-bar__phase{text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;max-width:5.5rem;overflow:hidden}.pomodoro-bar__time{font-variant-numeric:tabular-nums;min-width:3.1rem;color:var(--text-color);font-weight:800}.pomodoro-bar__btn{flex-shrink:0}.pomodoro-bar__settings-wrap{flex-shrink:0;align-items:center;display:flex;position:relative}.pomodoro-settings{z-index:120;background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;min-width:220px;padding:.75rem .85rem;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 36px #00000059}.pomodoro-settings__row{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.55rem;display:flex}.pomodoro-settings__row label{color:var(--text-color);white-space:nowrap;font-size:.78rem;font-weight:600}.pomodoro-settings__input{border:1px solid var(--border-color);background:var(--hover-bg);width:4.5rem;color:var(--text-color);border-radius:6px;padding:.28rem .4rem;font-family:inherit;font-size:.85rem;font-weight:600}.pomodoro-settings__hint{color:var(--faded-text);margin:.35rem 0 .65rem;font-size:.68rem;font-weight:600;line-height:1.35}.pomodoro-settings__actions{justify-content:flex-end;gap:.4rem;display:flex}.pomodoro-settings__btn{cursor:pointer;border:none;border-radius:6px;padding:.35rem .65rem;font-family:inherit;font-size:.72rem;font-weight:700}.pomodoro-settings__btn--ghost{color:var(--faded-text);background:0 0}.pomodoro-settings__btn--ghost:hover{color:var(--text-color)}.pomodoro-settings__btn--primary{background:var(--text-color);color:var(--bg-color)}.pomodoro-settings__btn--primary:hover:not(:disabled){opacity:.92}.pomodoro-settings__btn--primary:disabled{opacity:.35;cursor:not-allowed}@media (width<=520px){.pomodoro-bar__phase{display:none}.pomodoro-bar{padding-left:.25rem;padding-right:.25rem}}.pill-link{letter-spacing:.12em;text-transform:uppercase;color:var(--faded-text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.35rem .5rem;font-family:inherit;font-size:.72rem;font-weight:800}.pill-link:hover{color:var(--text-color);background:var(--hover-bg)}.toolbar-sep{background:var(--border-color);width:1px;height:14px;margin:0 .35rem}.date-picker-wrap{align-items:center;display:inline-flex;position:relative}.date-input-hidden{opacity:0;pointer-events:none;border:none;width:0;height:0;padding:0;position:absolute}.icon-btn--minimal{color:var(--faded-text);padding:.25rem;font-size:1.05rem}.icon-btn--minimal:hover{color:var(--text-color)}.calendar-view--main{border-bottom:none;flex:1 1 0;min-height:0;padding:1rem 1.1rem 1rem 1rem;overflow:hidden}.days-container--main{gap:1.5rem}.main-days-empty{text-align:center;color:var(--faded-text);letter-spacing:.02em;border:1px dashed var(--border-color);border-radius:8px;flex:1;justify-content:center;align-items:center;margin:.25rem;padding:2rem;font-size:.85rem;font-weight:600;display:flex}.someday-view--planner{border-top:none}.someday-view--embedded{background:0 0;border-top:none;flex-direction:column;min-height:0;padding-top:0;padding-bottom:0;display:flex;overflow:hidden}.someday-view--embedded.wrapper{padding-left:0;padding-right:0}.someday-view--embedded .someday-header-container{box-sizing:border-box;background:var(--panel-today-bg);border-bottom:none;flex-direction:column;flex-shrink:0;justify-content:flex-start;align-items:stretch;width:100%;margin-bottom:0;padding:.4rem 1rem;display:flex}.someday-title-row{flex-flow:wrap;justify-content:flex-start;align-items:center;gap:.5rem .75rem;width:100%;min-width:0;display:flex}.someday-title-row .someday-title{flex:none}.someday-tablist{flex-direction:row;flex:none;justify-content:flex-end;align-items:center;gap:.45rem;min-width:0;margin-left:auto;display:flex}.someday-view--embedded .someday-tablist--lists-toolbar{flex:auto;justify-content:flex-start;width:100%;min-width:0;margin-left:0}.someday-tablist-pills{box-sizing:border-box;background:var(--hover-bg);border:1px solid var(--border-color);border-radius:8px;flex-wrap:wrap;flex:0 auto;justify-content:flex-start;align-items:center;gap:.2rem;max-width:100%;min-height:2.1rem;padding:.2rem;display:flex}.someday-tab-add-group{border:1px dashed var(--border-color);width:2.1rem;height:2.1rem;color:var(--faded-text);cursor:pointer;background:0 0;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;transition:color .15s,border-color .15s,background-color .15s;display:inline-flex}.someday-tab-add-group:hover{color:var(--text-color);border-color:var(--text-color);background:var(--hover-bg);border-style:solid}.someday-tab-add-group ion-icon{font-size:1.25rem}.someday-tab-shell{border:1px solid #0000;border-radius:6px;align-items:stretch;display:inline-flex;overflow:visible}.someday-tab-shell--active{border-color:var(--border-color);background:var(--someday-bg);box-shadow:0 1px 3px #00000040}body:not(.dark-theme) .someday-tab-shell--active{box-shadow:0 1px 2px #00000014}.someday-tab-label{color:var(--faded-text);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:6px 0 0 6px;padding:.4rem .35rem .4rem .75rem;font-family:inherit;font-size:.72rem;font-weight:800;transition:color .15s}.someday-tab-shell:hover .someday-tab-label,.someday-tab-shell--active .someday-tab-label{color:var(--text-color)}.someday-tab-dropdown{align-items:stretch;display:flex;position:relative}.someday-tab-caret{color:var(--faded-text);cursor:pointer;background:0 0;border:none;border-radius:0 6px 6px 0;justify-content:center;align-items:center;padding:0 .4rem 0 .2rem;transition:color .15s,background-color .15s;display:inline-flex}.someday-tab-caret:hover{color:var(--text-color);background:#ffffff0f}body:not(.dark-theme) .someday-tab-caret:hover{background:#0000000a}.someday-tab-caret ion-icon{font-size:.85rem}.someday-dropdown-root{position:relative}.someday-dropdown-menu{z-index:80;background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;min-width:200px;margin:0;padding:.35rem 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 14px 40px #00000059}.someday-dropdown-menu--right{left:auto;right:0}.someday-dropdown-menu__btn{text-align:left;width:100%;color:var(--text-color);cursor:pointer;background:0 0;border:none;padding:.55rem 1rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:background-color .15s;display:block}.someday-dropdown-menu__btn:hover:not(:disabled){background:var(--hover-bg)}.someday-dropdown-menu__btn:disabled{opacity:.35;cursor:not-allowed}.someday-dropdown-menu__danger{color:#e53935!important}@media (width<=520px){.someday-title-row{flex-direction:column;align-items:stretch}.someday-tablist{flex-wrap:wrap;justify-content:stretch}.someday-view--embedded .someday-tablist--lists-toolbar{flex-wrap:wrap;justify-content:flex-start}}.someday-empty-tab{text-align:center;min-width:200px;color:var(--faded-text);border:1px dashed var(--border-color);border-radius:8px;flex:1;align-self:center;margin:.25rem 0;padding:1.25rem 1rem;font-size:.85rem;font-weight:600}.someday-column--add-list{flex:0 0 2.85rem;align-self:flex-start;min-width:2.85rem;max-width:3.25rem}.someday-header--add-list{box-sizing:border-box;border:1px dashed var(--border-color);background:0 0;border-radius:8px;justify-content:center;align-items:center;min-height:2.25rem;margin-bottom:.5rem;padding:0;display:flex}.someday-add-list-trigger{width:100%;min-height:2.25rem;color:var(--faded-text);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.someday-add-list-trigger:hover{color:var(--text-color);background:var(--hover-bg)}.someday-add-list-trigger ion-icon{font-size:1.35rem}.someday-header--with-controls{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.5rem;min-height:2.25rem;display:flex}.someday-list-title-display{text-transform:uppercase;min-width:0;color:var(--text-color);text-overflow:ellipsis;white-space:nowrap;flex:auto;padding:2px 0;font-size:1rem;font-weight:800;line-height:1.2;overflow:hidden}.someday-list-header-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.someday-list-menu-trigger{width:2rem;height:2rem;color:var(--faded-text);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:color .15s,background-color .15s;display:inline-flex}.someday-list-menu-trigger:hover{color:var(--text-color);background:var(--hover-bg)}.someday-list-menu-trigger ion-icon{font-size:1.2rem}.someday-move-select{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border-color);background:var(--hover-bg);max-width:140px;color:var(--faded-text);cursor:pointer;border-radius:4px;flex:none;padding:.25rem .35rem;font-family:inherit;font-size:.65rem;font-weight:700}.someday-move-select:focus{border-color:var(--text-color);color:var(--text-color);outline:none}.someday-view--embedded .someday-container{background:var(--someday-bg);flex:1 1 0;gap:1rem;min-height:0;padding:.85rem 1rem .75rem;overflow:auto hidden}.app-split-footer{grid-template-columns:minmax(200px, var(--today-sidebar,280px)) minmax(0, 1fr);border-top:1px solid var(--border-color);border-bottom:1px solid #0000001f;flex-shrink:0;align-items:stretch;width:100%;min-height:44px;display:grid}body.dark-theme .app-split-footer{border-bottom-color:#ffffff1f}.app-split-footer__col--today{background:var(--panel-today-bg);border-right:1px solid var(--border-color)}.app-split-footer__lead-actions{flex-shrink:0;align-items:center;gap:.15rem;display:flex}.app-split-footer__col--main{background:var(--secondary-panel-bg);flex-direction:row;justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:.5rem 1.1rem .5rem 1rem;display:flex}.app-split-footer__controls{gap:.4rem}@media (width<=880px){.app-split-footer{grid-template-columns:1fr}.app-split-footer__col--today{display:none}.app-split-footer__col--main{grid-column:1/-1;justify-content:space-between}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}button{font-family:inherit}.icon-btn{color:var(--faded-text);cursor:pointer;letter-spacing:.5px;background:0 0;border:none;align-items:center;gap:.4rem;padding:.3rem .5rem;font-size:1.2rem;font-weight:700;transition:color .2s;display:flex}.icon-btn:hover{color:var(--text-color)}.ml-2{margin-left:.5rem}.top-header{background-color:var(--header-bg);grid-template-columns:1fr auto 1fr;align-items:center;padding:1.5rem 2rem .5rem;display:grid}.header-left{justify-content:flex-start;display:flex}#btn-today{letter-spacing:1px;color:var(--faded-text);font-size:.8rem}#btn-today:hover{color:var(--text-color)}.header-center .logo{letter-spacing:1.5px;text-transform:uppercase;font-family:Anton,sans-serif;font-size:1.6rem;font-weight:800}.header-center .logo span{color:var(--red-accent)}.header-right{justify-content:flex-end;gap:0;display:flex}.header-right .icon-btn{padding:.2rem .6rem;font-size:1.1rem}.wrapper{width:100%;padding:0 2rem}.calendar-view{border-bottom:1px solid var(--border-color);flex:1 1 0;min-height:0;padding-top:2rem;padding-bottom:2rem;overflow:hidden}.calendar-view.calendar-view--main{border-bottom:none;padding-top:1rem;padding-bottom:1rem}.days-container{gap:2rem;width:100%;height:100%;display:flex}.day-column{flex-direction:column;flex:1;min-width:200px;height:100%;display:flex;overflow:hidden}.day-header{margin-bottom:0;padding-bottom:0}.day-date{color:var(--faded-text);letter-spacing:1px;text-transform:uppercase;font-size:.6rem;font-weight:700}.day-name{text-transform:uppercase;letter-spacing:.02em;margin-top:.15rem;font-size:1.55rem;font-weight:800;line-height:1.1}.today .day-name,.today .day-date{color:var(--text-color)}.today .day-header{margin-top:0}.day-progress{background-color:var(--border-color);width:100%;height:2px}.day-progress-fill{background-color:var(--text-color);height:100%;transition:width .3s}.day-progress-fill.full{background-color:var(--red-accent)}.fixed-column{position:relative}.fixed-column:after{content:"";background-color:var(--border-color);opacity:.5;width:2px;position:absolute;top:0;bottom:0;right:-1rem}.list-wrapper{scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;background-color:#0000;flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden auto}.task-list{flex-direction:column;gap:4px;min-height:20px;padding:6px 0 10px;list-style:none;display:flex}.task-item{background-color:var(--bg-color);border-bottom:none;border-left:3px solid #0000;border-radius:8px;align-items:center;min-height:38px;padding:.35rem .35rem .35rem 6px;display:flex;position:relative}.task-item:hover{background-color:var(--hover-bg)}.sortable-ghost{opacity:.4;background-color:var(--hover-bg)}.sortable-drag{cursor:grabbing!important}.task-text{word-break:break-word;color:var(--faded-text);cursor:text;outline:none;flex:1;padding:.2rem 2px;font-size:.95rem;font-weight:500;transition:color .2s}.task-item:not(.completed) .task-text{color:var(--text-color)}.task-text:focus{background-color:var(--hover-bg)}.drag-handle{opacity:0;color:var(--drag-handle);cursor:grab;align-self:center;margin-left:5px;padding:0 4px;font-size:1.2rem;transition:opacity .2s}.task-item:hover .drag-handle{opacity:1}.task-item.completed .task-text{color:var(--faded-text);background-image:linear-gradient(transparent calc(50% - 1px), var(--text-color) calc(50% - 1px), var(--text-color) calc(50% + 1px), transparent calc(50% + 1px));opacity:.6;text-decoration:none}.add-task-row{z-index:10;background-color:var(--bg-color);cursor:text;border-bottom:none;border-radius:8px;flex-shrink:0;align-items:center;min-height:38px;margin-bottom:0;padding-left:39px;display:flex;position:sticky;top:0}.today .add-task-row,.day-column--sidebar .add-task-row{background-color:var(--hover-bg);border-radius:8px}.add-task-row:hover{background-color:var(--hover-bg)}.add-task-inline.always-visible{width:100%;color:var(--text-color);background:0 0;border:none;outline:none;padding:.2rem 2px;font-family:inherit;font-size:.95rem;font-weight:500;display:block}.add-task-inline.always-visible::placeholder{color:var(--faded-text);opacity:.5;font-weight:400}.someday-resizer{cursor:row-resize;z-index:10;background-color:#0000;width:100%;height:8px;margin-top:-4px;margin-bottom:-4px;transition:background-color .2s;position:relative}.someday-resizer:hover,.someday-resizer:active{background-color:var(--border-color)}.someday-view{background-color:var(--someday-bg);flex:none;padding-top:1rem;padding-bottom:2rem;overflow:hidden}.someday-header-container{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex}.someday-title{letter-spacing:1px;color:var(--faded-text);align-items:center;gap:.5rem;font-size:.8rem;font-weight:800;display:flex}.someday-title span{background:var(--text-color);color:var(--bg-color);border-radius:2px;padding:0 4px}#btn-add-list{color:var(--faded-text);cursor:pointer;background:0 0;border:none;padding:0 5px;font-size:1.4rem}#btn-add-list:hover{color:var(--text-color)}.someday-container{gap:2rem;padding-bottom:10px;display:flex;overflow-x:auto}.someday-column{flex-direction:column;flex:1;min-width:200px;display:flex}.someday-header{text-transform:uppercase;color:var(--text-color);margin-bottom:.5rem;font-size:1rem;font-weight:800}.someday-list-title{cursor:text;outline:none;padding:2px}.someday-list-title:focus{background-color:var(--hover-bg)}.bottom-footer{background-color:var(--header-bg);border-top:1px solid var(--border-color);flex:none;grid-template-columns:1fr auto 1fr;padding:1rem 2rem;display:grid}.column-controls{align-items:center;gap:.5rem;display:flex}.col-btn{color:var(--faded-text);cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;font-size:.8rem;font-weight:800}.col-btn.active,.col-btn:hover{color:var(--text-color)}.footer-left{align-items:center;display:flex}.footer-right{justify-content:flex-end;align-items:center;gap:.8rem;display:flex}.trial-btn{background:var(--text-color);color:var(--bg-color);letter-spacing:.5px;cursor:pointer;border:none;border-radius:4px;padding:.3rem .8rem;font-size:.65rem;font-weight:800}.meta-icon{color:var(--faded-text);opacity:.7;margin-left:4px;font-size:.8rem}.edit-handle{opacity:0;color:var(--drag-handle);cursor:pointer;align-self:center;margin-left:auto;padding:0 4px;font-size:1.1rem;transition:opacity .2s}.task-item:hover .edit-handle{opacity:1}.task-item:hover .edit-handle:hover{color:var(--text-color)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;background-color:#0009;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-overlay--nested{z-index:10001}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;width:100%;max-width:800px;height:100%;max-height:90vh;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-content--task{width:min(94vw,1720px);max-width:min(94vw,1720px)}@media (width>=781px){.modal-content--task{min-width:75vw}}.modal-content--task .modal-header{padding:1rem 1.35rem}.modal-body.modal-body--task{gap:.75rem;padding:1.15rem 1.35rem 1.35rem}.task-modal-columns{grid-template-columns:minmax(280px,1.5fr) minmax(240px,.92fr);align-items:start;gap:.9rem 1.15rem;min-height:0;display:grid}.task-modal-column--editor{grid-column:1}.task-modal-column--meta{grid-column:2}.task-modal-column{flex-direction:column;gap:.85rem;min-width:0;display:flex}.modal-content--task .deadline-field--in-panel input{max-width:100%}@media (width<=780px){.modal-content--task{width:100%;min-width:0;max-width:min(100vw,720px)}.task-modal-columns{grid-template-columns:1fr}.task-modal-column--editor,.task-modal-column--meta{grid-column:auto}.task-modal-column--editor{order:1}.task-modal-column--meta{order:2}}.modal-content--task .attachment-drop-zone{gap:.55rem;padding:.65rem .75rem}.modal-content--task .details-textarea--autogrow{min-height:96px}.modal-content--task .modal-footer{padding:1rem 1.35rem}.modal-content--task .custom-fields-hint{font-size:.76rem;line-height:1.32}.modal-content.modal-content--compact{width:100%;max-width:min(420px,92vw);height:auto;max-height:none}.modal-content--profile{width:100%;max-width:min(460px,92vw);height:auto;max-height:min(88vh,760px)}.profile-modal__title{color:var(--text-color);align-items:center;gap:.5rem;margin:0;font-size:1.15rem;font-weight:800;display:flex}.profile-modal__title ion-icon{color:var(--brand-teal);font-size:1.5rem}.profile-modal__body{gap:.65rem;padding-top:1rem;padding-bottom:1rem}.profile-modal__loading{color:var(--faded-text);margin:0;font-size:.95rem}.profile-modal-intro{color:var(--faded-text);margin:0 0 .35rem;font-size:.84rem;line-height:1.45}.profile-modal-hint{color:var(--faded-text);margin:-.25rem 0 .5rem;font-size:.78rem;line-height:1.4}.profile-field{flex-direction:column;gap:.3rem;display:flex}.profile-field label{text-transform:uppercase;letter-spacing:.05em;color:var(--faded-text);font-size:.7rem;font-weight:700}.profile-field input{box-sizing:border-box;border:1px solid var(--border-color);background:var(--hover-bg);width:100%;color:var(--text-color);border-radius:8px;outline:none;padding:.55rem .75rem;font-family:inherit;font-size:.95rem;transition:border-color .15s,background-color .15s}.profile-field input:focus{border-color:var(--red-accent);background:var(--bg-color)}.profile-field--readonly input{opacity:.88;cursor:default}.profile-section-title{border-top:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.06em;color:var(--text-color);margin:.85rem 0 0;padding-top:.85rem;font-size:.72rem;font-weight:800}.profile-success{color:var(--brand-teal);margin:0;font-size:.86rem;font-weight:600}.profile-error{color:var(--red-accent);white-space:pre-wrap;margin:0;font-size:.86rem;font-weight:600;line-height:1.4}.profile-modal__footer{flex-shrink:0}.modal-content.modal-content--trash{width:100%;max-width:min(560px,94vw);height:auto;max-height:min(85vh,720px)}.trash-modal .modal-body{flex:auto;gap:0;min-height:0;padding:1rem 1.25rem 1.25rem}.trash-modal__title-row{align-items:center;gap:.65rem;display:flex}.trash-modal__title-row ion-icon[name=trash-outline]{color:var(--red-accent);font-size:1.75rem}.trash-modal__heading{letter-spacing:.02em;color:var(--text-color);margin:0;font-size:1.15rem;font-weight:800}.trash-modal__loading,.trash-modal__empty{text-align:center;color:var(--faded-text);padding:2rem 1rem}.trash-modal__empty ion-icon{opacity:.45;margin:0 auto .75rem;font-size:3rem;display:block}.trash-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.trash-item{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .85rem;display:flex}.trash-item__main{flex:1;min-width:0}.trash-item__text{color:var(--text-color);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.trash-item__meta{color:var(--faded-text);flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.8rem;display:flex}.trash-item__meta--urgent{color:var(--red-accent)}.trash-item__actions{flex-shrink:0;gap:.5rem;display:flex}.trash-item__btn{border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.25rem;padding:.35rem .6rem;font-family:inherit;font-size:.82rem;font-weight:600;display:inline-flex}.trash-item__btn--danger{border-color:var(--red-accent);color:var(--red-accent);padding:.35rem .5rem}.trash-modal .modal-footer{justify-content:flex-end}.trash-modal__empty-all{cursor:pointer;background:var(--red-accent);color:#fff;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.6rem 1.1rem;font-family:inherit;font-size:.9rem;font-weight:700;display:inline-flex}.trash-modal__empty-all:hover{opacity:.92}.trash-modal__empty-all:active{transform:scale(.98)}.trash-confirm-modal .modal-body{padding-top:1rem;padding-bottom:1rem}.trash-confirm-modal .modal-body>p{color:var(--text-color);margin:0;font-size:.95rem;line-height:1.45}.trash-confirm-modal__subtitle{color:var(--faded-text);word-break:break-word;margin:.65rem 0 0;font-size:.88rem}.trash-confirm-modal__footer{justify-content:flex-end}.trash-confirm-modal__danger{cursor:pointer;background:var(--red-accent);color:#fff;border:none;border-radius:6px;padding:.6rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:opacity .2s,transform .1s}.trash-confirm-modal__danger:hover{opacity:.92}.trash-confirm-modal__danger:active{transform:scale(.98)}.rename-group-modal__title{letter-spacing:.02em;color:var(--text-color);margin:0;padding-right:.5rem;font-size:1.15rem;font-weight:800;line-height:1.3}.rename-group-modal .modal-body{padding-top:1rem;padding-bottom:1rem}.rename-group-modal__input{box-sizing:border-box;width:100%;color:var(--text-color);background:var(--hover-bg);border:1px solid var(--border-color);border-radius:8px;outline:none;padding:.65rem 1rem;font-family:inherit;font-size:1rem;font-weight:600;transition:border-color .2s}.rename-group-modal__input:focus{border-color:var(--text-color);background:0 0}.rename-group-modal__footer{justify-content:flex-end}.modal-header{border-bottom:1px solid var(--border-color);background-color:var(--header-bg);justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.modal-title-input{width:100%;color:var(--text-color);background:0 0;border:none;outline:none;font-family:inherit;font-size:1.5rem;font-weight:800}.modal-title-input:focus{background-color:var(--hover-bg);border-radius:4px}.close-btn{color:var(--text-color);font-size:1.5rem}.modal-body{flex-direction:column;flex:1;gap:1.35rem;padding:2rem;display:flex;overflow-y:auto}.modal-section{flex-direction:column;gap:.5rem;display:flex}.modal-section label{color:var(--faded-text);text-transform:uppercase;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;display:flex}.task-modal-panel{border:1px solid var(--border-color);background:var(--secondary-panel-bg);border-radius:10px;flex-direction:column;gap:.55rem;padding:.85rem 1rem;display:flex}.task-modal-panel__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.05rem;display:flex}.task-modal-panel__label{color:var(--faded-text);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.4rem;margin:0;font-size:.78rem;font-weight:700;display:flex}.task-modal-panel__meta{color:var(--brand-teal);white-space:nowrap;font-size:.8rem;font-weight:600}.task-modal-empty-hint{color:var(--faded-text);margin:0;padding:.35rem 0;font-size:.85rem;line-height:1.45}.task-modal-micro-hint{color:var(--faded-text);opacity:.9;margin:0;font-size:.72rem}.flex-row{flex-direction:row;align-items:center;gap:2rem}.deadline-field input{border:1px solid var(--border-color);color:var(--text-color);background-color:#0000;border-radius:6px;outline:none;padding:.5rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .2s}.deadline-field input:focus{border-color:var(--red-accent)}.deadline-field--in-panel input{box-sizing:border-box;background-color:var(--hover-bg);width:100%;max-width:20rem}.deadline-field--in-panel input:focus{background-color:var(--bg-color)}.details-textarea{background-color:var(--hover-bg);width:100%;min-height:100px;color:var(--text-color);resize:vertical;border:1px solid #0000;border-radius:8px;outline:none;padding:1rem;font-family:inherit;font-size:.95rem;transition:border-color .2s}.details-textarea:focus{border-color:var(--border-color);background-color:#0000}.details-textarea--autogrow{resize:none;min-height:112px;max-height:420px;line-height:1.5;overflow-y:auto}.task-modal-panel .details-textarea{background-color:var(--hover-bg)}.task-modal-panel .details-textarea:focus{border-color:var(--red-accent);background-color:var(--bg-color)}.subtasks-progress{background:var(--border-color);border-radius:4px;width:100%;height:4px;overflow:hidden}.subtasks-progress__fill{background:var(--brand-teal);border-radius:4px;height:100%;transition:width .25s}.subtasks-list{flex-direction:column;gap:.5rem;display:flex}.subtask-item{background-color:var(--hover-bg);border:1px solid #0000;border-radius:6px;align-items:center;gap:.8rem;padding:.5rem 1rem;transition:opacity .2s;display:flex}.subtask-item:hover{border-color:var(--border-color)}.subtask-item.completed{opacity:.55;text-decoration:line-through}.st-checkbox-btn{cursor:pointer;color:inherit;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:0;display:flex}.st-checkbox-btn:focus-visible{outline:2px solid var(--brand-teal);outline-offset:2px}.st-checkbox{pointer-events:none;color:var(--faded-text);font-size:1.3rem}.subtask-item.completed .st-checkbox{color:var(--red-accent)}.st-text{text-align:left;flex:1;font-size:.95rem;font-weight:500}.st-delete-btn{color:var(--faded-text);padding:.25rem;font-size:1.1rem;line-height:1;transition:color .2s}.st-delete-btn:hover{color:var(--red-accent)}.subtask-input-wrapper{border:1px dashed var(--border-color);color:var(--faded-text);background:var(--bg-color);border-radius:8px;align-items:center;gap:.5rem;padding:.45rem .6rem .45rem .85rem;transition:border-color .2s,box-shadow .2s;display:flex}.subtask-input-wrapper:focus-within{border-color:var(--brand-teal);box-shadow:0 0 0 1px color-mix(in srgb, var(--brand-teal) 35%, transparent);border-style:solid}.subtask-input-wrapper input{color:var(--text-color);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:.95rem}.subtask-add-btn{text-transform:uppercase;letter-spacing:.03em;border:1px solid var(--border-color);background:var(--hover-bg);color:var(--text-color);cursor:pointer;border-radius:6px;flex-shrink:0;padding:.45rem .75rem;font-family:inherit;font-size:.8rem;font-weight:700;transition:background-color .2s,border-color .2s,opacity .2s}.subtask-add-btn:hover:not(:disabled){border-color:var(--text-color);background:var(--secondary-panel-bg)}.subtask-add-btn:disabled{opacity:.4;cursor:not-allowed}.attachment-drop-zone{border:1px dashed var(--border-color);background:var(--bg-color);border-radius:8px;flex-direction:column;gap:.75rem;padding:.85rem;transition:border-color .2s,background-color .2s,box-shadow .2s;display:flex}.attachment-drop-zone--active{border-color:var(--brand-teal);background:color-mix(in srgb, var(--brand-teal) 8%, var(--bg-color));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-teal) 25%, transparent);border-style:solid}.attachment-drop-zone__empty{color:var(--faded-text);text-align:center;margin:0;padding:.5rem .25rem 0;font-size:.85rem}.attachment-drop-zone .upload-btn{align-self:flex-start}.attachments-list{flex-wrap:wrap;gap:.6rem;display:flex}.attachment-badge{background-color:var(--hover-bg);border:1px solid var(--border-color);color:var(--text-color);border-radius:999px;align-items:center;gap:.35rem;max-width:100%;padding:.35rem .5rem .35rem .75rem;font-size:.85rem;font-weight:500;display:flex}.attachment-badge__link{color:inherit;flex:1;align-items:center;gap:.35rem;min-width:0;text-decoration:none;display:flex}a.attachment-badge__link:hover{text-decoration:underline}.attachment-badge__label{text-overflow:ellipsis;white-space:nowrap;max-width:min(200px,42vw);overflow:hidden}.attachment-badge__remove{flex-shrink:0;justify-content:center;align-items:center;padding:.15rem;line-height:1;display:flex}.remove-att{color:var(--faded-text);pointer-events:none;font-size:1.15rem}.attachment-badge__remove:hover .remove-att{color:var(--red-accent)}.new-att{border-style:dashed}.upload-btn{border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;background-color:#0000;border-radius:6px;align-self:flex-start;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:600;transition:background-color .2s;display:flex}.upload-btn:hover{background-color:var(--hover-bg)}.task-modal-collab-hint{color:var(--faded-text);margin:0;font-size:.9rem;line-height:1.45}.task-modal-share-section .task-modal-panel__head{align-items:flex-start}.task-modal-share-badge{text-transform:uppercase;letter-spacing:.06em;color:var(--brand-teal);background:color-mix(in srgb, var(--brand-teal) 12%, transparent);white-space:nowrap;border-radius:6px;padding:.3rem .55rem;font-size:.72rem;font-weight:700}.task-modal-share-intro-block{flex-direction:column;gap:.28rem;display:flex}.task-modal-share-intro{color:var(--faded-text);margin:0;font-size:.8rem;line-height:1.4}.task-modal-share-kbd-hint{color:var(--faded-text);opacity:.92;margin:0;font-size:.7rem;line-height:1.42}.task-modal-share-kbd-hint strong{color:var(--text-color);font-weight:700}.task-modal-kbd{border:1px solid var(--border-color);background:var(--bg-color);color:var(--faded-text);vertical-align:middle;border-radius:4px;margin:0 .08rem;padding:.12rem .35rem;font-family:ui-monospace,monospace;font-size:.65rem;font-weight:700;display:inline-block}.task-modal-share-footnote{color:var(--faded-text);opacity:.9;margin:0;font-size:.78rem;font-style:italic}.share-add-row{flex-wrap:nowrap;align-items:flex-start;gap:.65rem;display:flex}.share-suggest-wrap{flex-direction:column;flex:1;align-items:stretch;min-width:0;display:flex;position:relative}.share-email-input-shell{width:100%;position:relative}.share-email-field{box-sizing:border-box;border:1px solid var(--border-color);background:var(--hover-bg);width:100%;min-width:0;color:var(--text-color);border-radius:8px;outline:none;flex:1;padding:.55rem .85rem;font-family:inherit;font-size:.95rem;font-weight:500;line-height:1.35;transition:border-color .2s,background-color .2s,box-shadow .2s}.share-suggest-panel{z-index:16000;border:1px solid var(--border-color);background:var(--bg-color);border-radius:10px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:hidden;box-shadow:0 14px 44px #00000061}.share-suggest-panel--busy{border-style:solid;border-color:color-mix(in srgb, var(--brand-teal) 45%, var(--border-color))}.share-suggest-status{color:var(--faded-text);align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.85rem;display:flex}.share-suggest-status--empty{flex-direction:column;align-items:flex-start;gap:.35rem;line-height:1.45}.share-suggest-spinner{border:2px solid var(--border-color);border-top-color:var(--brand-teal);border-radius:50%;flex-shrink:0;width:1rem;height:1rem;animation:.65s linear infinite shareSpin}@keyframes shareSpin{to{transform:rotate(360deg)}}.share-suggest-list{max-height:220px;margin:0;padding:.25rem 0;list-style:none;overflow-y:auto}.share-suggest-item{color:var(--text-color);cursor:pointer;padding:.55rem .95rem;font-size:.9rem;font-weight:500;transition:background-color .12s}.share-suggest-item__email{word-break:break-all}.share-email-highlight{background:color-mix(in srgb, var(--brand-teal) 28%, transparent);color:var(--text-color);border-radius:3px;padding:0 .06em;font-weight:700}.share-suggest-item:hover,.share-suggest-item--active{background:var(--hover-bg)}.share-suggest-item--active{box-shadow:inset 3px 0 0 0 var(--brand-teal)}.share-email-field::placeholder{color:var(--faded-text);opacity:.85;font-weight:400}.share-email-field:focus{border-color:var(--brand-teal);background:var(--bg-color);box-shadow:0 0 0 1px color-mix(in srgb, var(--brand-teal) 30%, transparent)}.share-add-btn-primary{cursor:pointer;background:var(--text-color);color:var(--bg-color);border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:.55rem 1.1rem;font-family:inherit;font-size:.88rem;font-weight:700;transition:opacity .2s,transform .1s;display:inline-flex}.share-add-btn-primary:hover:not(:disabled){opacity:.92}.share-add-btn-primary:active:not(:disabled){transform:scale(.98)}.share-add-btn-primary:disabled{opacity:.38;cursor:not-allowed}@media (width<=520px){.share-add-row{flex-wrap:wrap}.share-add-btn-primary{width:100%}}.share-error-text{color:var(--red-accent);margin:0;font-size:.85rem}.share-chips-list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.share-chip{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:999px;align-items:center;gap:.45rem;max-width:100%;padding:.35rem .55rem .35rem .45rem;font-size:.85rem;display:inline-flex}.share-chip-avatar{letter-spacing:-.02em;width:1.65rem;height:1.65rem;color:var(--bg-color);background:linear-gradient(145deg, color-mix(in srgb, var(--brand-teal) 85%, #000), color-mix(in srgb, var(--brand-teal) 55%, var(--text-color)));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:800;display:flex}.share-chip-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(240px,52vw);font-weight:600;overflow:hidden}.share-chip-remove{flex-shrink:0;padding:0;font-size:1rem;line-height:1}.custom-fields-section{border-top:1px solid var(--border-color);margin-top:.25rem;padding-top:1.25rem}.custom-fields-section--task-col{border-top:none;margin-top:0;padding-top:0}.custom-fields-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.custom-fields-header .task-modal-panel__label{margin:0}.custom-fields-manage-btn{border:1px solid var(--border-color);color:var(--faded-text);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .75rem;font-family:inherit;font-size:.75rem;font-weight:700;transition:color .2s,border-color .2s,background-color .2s}.custom-fields-manage-btn:hover{color:var(--text-color);border-color:var(--text-color);background-color:var(--hover-bg)}.custom-fields-hint{color:var(--faded-text);margin:0;font-size:.8rem;line-height:1.4}.custom-fields-editor{background-color:var(--hover-bg);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:1rem;padding:1rem;display:flex}.custom-fields-editor-list{flex-direction:column;gap:.4rem;display:flex}.custom-fields-empty{color:var(--faded-text);font-size:.85rem}.custom-fields-editor-row{background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:6px;align-items:center;gap:.75rem;padding:.35rem .5rem;display:flex}.custom-fields-editor-name{color:var(--text-color);flex:1;font-size:.9rem;font-weight:600}.custom-fields-editor-type{color:var(--faded-text);text-transform:uppercase;font-size:.75rem;font-weight:700}.custom-fields-remove{color:var(--faded-text);padding:.2rem}.custom-fields-remove:hover{color:var(--red-accent)}.custom-fields-add-form{flex-direction:column;gap:.6rem;display:flex}.custom-field-block{border:1px solid var(--border-color);background:var(--bg-color);border-radius:8px;flex-direction:column;gap:.45rem;margin-top:.5rem;padding:.75rem .85rem;display:flex}.custom-field-block:first-of-type{margin-top:.35rem}.custom-field-block__label{color:var(--faded-text);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.4rem;margin:0;font-size:.78rem;font-weight:700;display:flex}.custom-field-input{border:1px solid var(--border-color);width:100%;max-width:100%;color:var(--text-color);box-sizing:border-box;background-color:#0000;border-radius:6px;outline:none;padding:.5rem 1rem;font-family:inherit;font-size:.95rem;transition:border-color .2s}.custom-field-input:focus{border-color:var(--red-accent)}textarea.custom-field-input{resize:vertical;min-height:3rem}.custom-field-toggle{background:var(--hover-bg);border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;border-radius:6px;align-items:center;gap:.5rem;padding:.45rem 1rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:border-color .2s,background-color .2s;display:inline-flex}.custom-field-toggle:hover{border-color:var(--text-color)}.custom-field-toggle ion-icon{color:var(--faded-text);font-size:1.35rem}.modal-footer{border-top:1px solid var(--border-color);background-color:var(--header-bg);justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;display:flex}.cancel-btn,.save-btn{cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.5rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:opacity .2s,transform .1s}.cancel-btn{color:var(--faded-text);background:0 0}.cancel-btn:hover{color:var(--text-color)}.save-btn{background-color:var(--text-color);color:var(--bg-color)}.save-btn:hover{opacity:.9}.save-btn:active{transform:scale(.98)}.save-btn:disabled{opacity:.5;cursor:not-allowed}.delete-handle{opacity:0;color:var(--drag-handle);cursor:pointer;align-self:center;margin-left:auto;padding:0 4px;font-size:1.1rem;transition:opacity .2s,color .2s}.task-item:hover .delete-handle{opacity:1}.task-item:hover .delete-handle:hover{color:#e53935}.modal-footer{justify-content:space-between}.modal-footer-right{align-items:center;gap:1rem;display:flex}.delete-task-btn{cursor:pointer;color:#e53935;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.4rem;padding:.6rem 1.2rem;font-family:inherit;font-size:.85rem;font-weight:700;transition:background-color .2s,border-color .2s;display:flex}.delete-task-btn:hover{background-color:#e5393514;border-color:#e539354d}.delete-task-btn:active{transform:scale(.98)}.day-progress{background-color:var(--border-color);opacity:.8;border-radius:3px;width:100%;height:3px;margin-top:6px;transition:opacity .3s;overflow:hidden}.day-progress:hover{opacity:1}.day-progress-fill{background:linear-gradient(90deg,#4ade80,#22c55e);border-radius:3px;height:100%;transition:width .5s cubic-bezier(.25,1,.5,1)}.day-progress-fill.full{background:linear-gradient(90deg,#22c55e,#16a34a)}.day-progress-label{color:var(--faded-text);letter-spacing:.5px;text-align:right;opacity:0;margin-top:2px;font-size:.55rem;font-weight:700;transition:opacity .2s}.day-column:hover .day-progress-label{opacity:1}.priority-indicator{cursor:pointer;border:1.5px solid var(--drag-handle);background:0 0;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-right:6px;padding:0;transition:all .2s}.priority-indicator:hover{border-color:var(--text-color);transform:scale(1.3)}.priority-indicator.priority-low{background-color:#4ade80;border-color:#4ade80;box-shadow:0 0 6px #4ade8066}.priority-indicator.priority-medium{background-color:#fbbf24;border-color:#fbbf24;box-shadow:0 0 6px #fbbf2466}.priority-indicator.priority-high{background-color:#ef4444;border-color:#ef4444;box-shadow:0 0 6px #ef444466}.task-item.has-priority-high{border-left-color:#ef4444}.task-item.has-priority-medium{border-left-color:#fbbf24}.task-item.has-priority-low{border-left-color:#4ade80}.search-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20000;background-color:#0000008c;justify-content:center;align-items:flex-start;padding-top:12vh;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}.search-palette{background-color:var(--bg-color);width:100%;max-width:580px;box-shadow:0 25px 60px -12px #00000080, 0 0 0 1px var(--border-color);border-radius:14px;animation:.25s cubic-bezier(.16,1,.3,1) slideUp;overflow:hidden}.search-input-wrapper{border-bottom:1px solid var(--border-color);color:var(--faded-text);align-items:center;gap:.8rem;padding:1rem 1.2rem;font-size:1.2rem;display:flex}.search-input{color:var(--text-color);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:1.1rem;font-weight:500}.search-input::placeholder{color:var(--faded-text)}.search-kbd{color:var(--faded-text);background:var(--hover-bg);border:1px solid var(--border-color);letter-spacing:.5px;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:.65rem;font-weight:700}.search-results{max-height:340px;padding:.5rem 0;overflow-y:auto}.search-result-item{width:100%;color:var(--text-color);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.7rem;padding:.6rem 1.2rem;font-family:inherit;font-size:.95rem;font-weight:500;transition:background-color .1s;display:flex}.search-result-item:hover{background-color:var(--hover-bg)}.search-result-item.completed .search-result-text{opacity:.5;text-decoration:line-through}.search-result-text{flex:1}.search-highlight{color:inherit;background-color:#fbbf244d;border-radius:2px;padding:0 1px}.search-result-badge{color:var(--faded-text);background-color:var(--hover-bg);white-space:nowrap;letter-spacing:.3px;border-radius:100px;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;font-weight:700;display:flex}.search-empty{color:var(--faded-text);flex-direction:column;align-items:center;gap:.5rem;padding:2rem;font-size:.9rem;display:flex}.search-footer{border-top:1px solid var(--border-color);color:var(--faded-text);align-items:center;gap:1.5rem;padding:.6rem 1.2rem;font-size:.7rem;font-weight:600;display:flex}.search-footer kbd{background:var(--hover-bg);border:1px solid var(--border-color);border-radius:3px;margin-right:3px;padding:1px 5px;font-family:inherit;font-size:.6rem}@keyframes completeStrike{0%{background-size:0% 2px}to{background-size:100% 2px}}@keyframes completeFade{0%{opacity:1}to{opacity:.6}}@keyframes completeCheckPop{0%{transform:translateY(2px)scale(1)}40%{transform:translateY(2px)scale(1.4)}70%{transform:translateY(2px)scale(.9)}to{transform:translateY(2px)scale(1)}}.task-item.just-completed .task-text{background-image:linear-gradient(var(--text-color), var(--text-color));background-position:0;background-repeat:no-repeat;animation:.4s ease-out forwards completeStrike,.5s .3s forwards completeFade}.task-item.just-completed ion-icon:first-child{animation:.4s cubic-bezier(.34,1.56,.64,1) completeCheckPop}.shortcut-toast{background-color:var(--text-color);color:var(--bg-color);letter-spacing:.3px;z-index:15000;pointer-events:none;border-radius:8px;padding:.5rem 1.2rem;font-size:.8rem;font-weight:600;animation:.3s ease-out toastIn,.3s ease-in 2.5s forwards toastOut;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 8px 30px #0000004d}@keyframes toastIn{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(10px)}}.add-task-row{cursor:text;border-bottom:none;align-items:center;min-height:38px;padding:.2rem 0 .2rem 39px;display:flex}.someday-view .add-task-row{background-color:var(--someday-bg)}.someday-view .add-task-row:hover{background-color:var(--hover-bg)}.multi-select-active .task-item:not(.multi-selected){opacity:.6}.task-item.multi-mode{cursor:pointer;transition:background-color .2s,opacity .2s}.task-item.multi-mode:hover{background-color:var(--hover-bg)}.task-item.multi-selected{background-color:#e539351a;padding-left:6px;border-left:3px solid var(--red-accent)!important;opacity:1!important}.multi-drag-ghost{background-color:var(--red-accent);color:#fff;z-index:10000;border-radius:20px;padding:8px 16px;font-size:14px;font-weight:700;box-shadow:0 4px 12px #0000004d}.day-column.multi-drop-target>.list-wrapper,.someday-column.multi-drop-target>.list-wrapper{outline:2px dashed var(--red-accent);outline-offset:-2px;background-color:#e539350d;border-radius:8px}.undo-toast{background-color:var(--text-color);color:var(--bg-color);z-index:15000;border-radius:8px;align-items:center;gap:16px;padding:12px 20px;font-size:.9rem;font-weight:600;animation:.3s cubic-bezier(.16,1,.3,1) toastLeftIn,.3s ease-in 4.7s forwards toastLeftOut;display:flex;position:fixed;bottom:24px;left:24px;right:auto;box-shadow:0 10px 40px #0003}@keyframes toastLeftIn{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes toastLeftOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-100%)}}.undo-toast-btn{color:var(--red-accent);text-transform:uppercase;cursor:pointer;letter-spacing:.5px;background:0 0;border:none;font-family:inherit;font-size:.8rem;font-weight:800}.undo-toast-btn:hover{text-decoration:underline}.rollover-icon{color:var(--red-accent);opacity:.8}.multi-select-bar{background-color:var(--header-bg);border:1px solid var(--border-color);z-index:9999;border-radius:12px;flex-direction:column;min-width:400px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;position:fixed;bottom:30px;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #0000004d}.multi-select-bar-inner{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.multi-select-info{align-items:center;gap:8px;font-size:1rem;display:flex}.multi-select-actions{gap:12px;display:flex}.multi-select-delete-btn,.multi-select-cancel-btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:.9rem;font-weight:600;transition:opacity .2s,background-color .2s;display:flex}.multi-select-delete-btn{color:var(--red-accent);background-color:#e5393526}.multi-select-delete-btn:hover{background-color:#e5393540}.multi-select-cancel-btn{color:var(--faded-text);border:1px solid var(--border-color);background-color:#0000}.multi-select-cancel-btn:hover{color:var(--text-color);background-color:var(--hover-bg)}.multi-select-hint{text-align:center;color:var(--faded-text);background-color:var(--bg-color);border-bottom-right-radius:12px;border-bottom-left-radius:12px;padding:8px;font-size:.8rem}.hover-btn:hover{background-color:var(--hover-bg)!important}.hover-btn-danger:hover{color:var(--red-accent)!important;background-color:#e539351a!important}.taska-mascot--rive{cursor:default;border-radius:50%;overflow:hidden}.taska-mascot-rive-slot{width:100%;height:100%;min-height:0}.taska-mascot{--look-x:0px;--look-y:0px;z-index:75;right:max(.75rem, env(safe-area-inset-right,0px));bottom:calc(52px + env(safe-area-inset-bottom,0px));cursor:pointer;filter:drop-shadow(0 6px 16px #00000073);transform-origin:100% 100%;background:0 0;border:none;width:5.75rem;height:5.75rem;margin:0;padding:0;transition:bottom .35s,transform .35s,filter .25s;position:fixed}.taska-mascot:focus-visible{outline:2px solid var(--brand-teal);outline-offset:3px;border-radius:50%}.taska-mascot:hover{filter:drop-shadow(0 8px 22px #2dd4bf66)}.taska-mascot--tucked{bottom:calc(7.5rem + env(safe-area-inset-bottom,0px));transform:scale(.88)}.taska-mascot--burst .taska-mascot__bob{animation:2.9s ease-in-out infinite taskaMascot-bob,.7s cubic-bezier(.34,1.4,.64,1) taskaMascot-pop-svg}.taska-mascot__fx{pointer-events:none;position:absolute;inset:0;overflow:visible}.taska-mascot__particle{background:linear-gradient(135deg, #5eead4, var(--brand-teal));opacity:0;width:7px;height:7px;transform:rotate(var(--burst-angle,0deg)) translateX(0) scale(1);border-radius:50%;margin:-3.5px 0 0 -3.5px;position:absolute;top:46%;left:50%;box-shadow:0 0 8px #2dd4bfb3}.taska-mascot--celebrate .taska-mascot__particle{animation:1.15s cubic-bezier(.22,1,.36,1) forwards taskaMascot-particle}.taska-mascot--celebrate .taska-mascot__bob{animation:2.6s ease-in-out infinite taskaMascot-bob,2.2s ease-in-out taskaMascot-celebrate-hop}.taska-mascot--celebrate .taska-mascot__mouth{animation:2.2s ease-in-out taskaMascot-mouth-wide}.taska-mascot--celebrate .taska-mascot__tongue{opacity:1;animation:2s ease-in-out taskaMascot-tongue}.taska-mascot--celebrate .taska-mascot__tail-group{animation:.45s ease-in-out infinite taskaMascot-tail-fast}.taska-mascot--celebrate .taska-mascot__antenna-ball{animation:.35s ease-in-out infinite taskaMascot-antenna-party}.taska-mascot__bob{width:100%;height:100%;animation:2.8s ease-in-out infinite taskaMascot-bob;display:block}.taska-mascot__svg{width:100%;height:100%;display:block;overflow:visible}.taska-mascot__shadow{transform-origin:60px 108px;animation:2.8s ease-in-out infinite taskaMascot-shadow}.taska-mascot__body{transform-origin:60px 60px;animation:3.2s ease-in-out infinite taskaMascot-breathe}.taska-mascot__arm{transform-box:fill-box}.taska-mascot__arm--l{transform-origin:20px 67px;animation:2.4s ease-in-out infinite taskaMascot-arm-l}.taska-mascot__arm--r{transform-origin:100px 67px;animation:2.4s ease-in-out -.4s infinite taskaMascot-arm-r}.taska-mascot__foot{transform-box:fill-box;animation:1.8s ease-in-out infinite taskaMascot-foot}.taska-mascot__foot--l{transform-origin:46px 100px}.taska-mascot__foot--r{transform-origin:74px 100px;animation-delay:-.35s}.taska-mascot__crest{transform-origin:32px 40px;animation:3s ease-in-out infinite taskaMascot-crest-sway}.taska-mascot__tail-group{transform-origin:22px 70px;animation:1.45s ease-in-out infinite taskaMascot-tail}.taska-mascot__antenna-stem{transform-origin:60px 29px;animation:2.5s ease-in-out infinite taskaMascot-antenna-stem}.taska-mascot__antenna-ball{transform-origin:60px 20px;animation:1.1s ease-in-out infinite taskaMascot-antenna-ball}.taska-mascot__face{transform-origin:60px 60px}.taska-mascot__eye-block>ellipse:first-of-type{transform-origin:50px 56px;transform-box:fill-box;animation:4.2s infinite taskaMascot-blink-lid}.taska-mascot__eye-block>ellipse:nth-of-type(2){transform-origin:70px 56px;transform-box:fill-box;animation:4.2s 80ms infinite taskaMascot-blink-lid}.taska-mascot__pupils{transform:translate(var(--look-x,0px), var(--look-y,0px));transition:transform .12s ease-out}.taska-mascot__mouth{transform-origin:60px 72px;animation:3.6s ease-in-out infinite taskaMascot-mouth}.taska-mascot__tongue{transform-origin:60px 73px;transform-box:fill-box}.taska-mascot__mark{opacity:.95}.taska-mascot__zzz{transform-origin:96px 18px;transform-box:fill-box}.taska-mascot--mood-playful .taska-mascot__bob{animation-duration:1.35s}.taska-mascot--mood-playful .taska-mascot__tail-group{animation:.75s ease-in-out infinite taskaMascot-tail-fast}.taska-mascot--mood-playful .taska-mascot__crest{animation:.55s ease-in-out infinite taskaMascot-crest-wiggle}.taska-mascot--mood-playful .taska-mascot__body{animation:1.8s ease-in-out infinite taskaMascot-breathe-fast}.taska-mascot--mood-dream .taska-mascot__bob{animation:4.2s ease-in-out infinite taskaMascot-bob-slow}.taska-mascot--mood-dream .taska-mascot__zzz{opacity:1;animation:2.8s ease-in-out infinite taskaMascot-zzz}.taska-mascot--mood-dream .taska-mascot__eye-block>ellipse:first-of-type,.taska-mascot--mood-dream .taska-mascot__eye-block>ellipse:nth-of-type(2){animation:5.5s infinite taskaMascot-blink-slow}.taska-mascot--mood-dream .taska-mascot__mouth{animation:4s ease-in-out infinite taskaMascot-mouth-dream}.taska-mascot--mood-curious .taska-mascot__face{animation:5s ease-in-out infinite taskaMascot-face-tilt}.taska-mascot--mood-curious .taska-mascot__tail-group{animation:2s ease-in-out infinite taskaMascot-tail-curious}.taska-mascot--mood-excited .taska-mascot__bob{animation:.9s ease-in-out infinite taskaMascot-bob-fast}.taska-mascot--mood-excited .taska-mascot__tail-group{animation:.38s ease-in-out infinite taskaMascot-tail-fast}.taska-mascot--mood-excited .taska-mascot__body{animation:.5s ease-in-out infinite taskaMascot-bounce-tiny}@keyframes taskaMascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes taskaMascot-bob-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes taskaMascot-bob-fast{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes taskaMascot-pop-svg{0%{transform:translateY(0)scale(1)}40%{transform:translateY(-6px)scale(1.14)}to{transform:translateY(0)scale(1)}}@keyframes taskaMascot-celebrate-hop{0%,to{transform:translateY(0)scale(1)}15%{transform:translateY(-14px)scale(1.08)rotate(-3deg)}30%{transform:translateY(-6px)scale(1.05)rotate(3deg)}45%{transform:translateY(-12px)scale(1.07)rotate(-2deg)}60%{transform:translateY(-4px)scale(1.03)rotate(2deg)}75%{transform:translateY(-8px)scale(1.05)}}@keyframes taskaMascot-particle{0%{opacity:1;transform:rotate(var(--burst-angle,0deg)) translateX(0) scale(1)}to{opacity:0;transform:rotate(var(--burst-angle,0deg)) translateX(52px) scale(.15)}}@keyframes taskaMascot-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes taskaMascot-breathe-fast{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes taskaMascot-bounce-tiny{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes taskaMascot-shadow{0%,to{opacity:1;transform:scaleX(1)}50%{opacity:.75;transform:scaleX(.88)}}@keyframes taskaMascot-arm-l{0%,to{transform:rotate(-6deg)}50%{transform:rotate(-14deg)}}@keyframes taskaMascot-arm-r{0%,to{transform:rotate(6deg)}50%{transform:rotate(14deg)}}@keyframes taskaMascot-foot{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes taskaMascot-tail{0%,to{transform:rotate(-6deg)}50%{transform:rotate(14deg)}}@keyframes taskaMascot-tail-fast{0%,to{transform:rotate(-10deg)}50%{transform:rotate(22deg)}}@keyframes taskaMascot-tail-curious{0%,to{transform:rotate(-4deg)}40%{transform:rotate(18deg)}70%{transform:rotate(6deg)}}@keyframes taskaMascot-crest-sway{0%,to{transform:rotate(0)}50%{transform:rotate(-4deg)}}@keyframes taskaMascot-crest-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}@keyframes taskaMascot-antenna-stem{0%,to{transform:rotate(0)}50%{transform:rotate(4deg)}}@keyframes taskaMascot-antenna-ball{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@keyframes taskaMascot-antenna-party{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(4px)scale(1.12)}}@keyframes taskaMascot-blink-lid{0%,42%,48%,to{transform:scaleY(1)}45%{transform:scaleY(.12)}}@keyframes taskaMascot-blink-slow{0%,55%,62%,to{transform:scaleY(1)}58%{transform:scaleY(.18)}}@keyframes taskaMascot-mouth{0%,to{transform:scaleX(1)}50%{transform:scaleX(1.1)}}@keyframes taskaMascot-mouth-wide{0%,to{transform:scaleX(1)scaleY(1)}30%{transform:scaleX(1.18)scaleY(1.12)}}@keyframes taskaMascot-mouth-dream{0%,to{transform:scale(1)}50%{transform:scale(.92)}}@keyframes taskaMascot-tongue{0%,20%{opacity:0;transform:scaleY(.2)}35%,70%{opacity:1;transform:scaleY(1)}to{opacity:0;transform:scaleY(.2)}}@keyframes taskaMascot-face-tilt{0%,to{transform:rotate(0)}40%{transform:rotate(-5deg)}70%{transform:rotate(4deg)}}@keyframes taskaMascot-zzz{0%,to{opacity:.35;transform:translate(0)}50%{opacity:.95;transform:translate(4px,-6px)}}@media (prefers-reduced-motion:reduce){.taska-mascot{--look-x:0px!important;--look-y:0px!important}.taska-mascot__bob,.taska-mascot--burst .taska-mascot__bob,.taska-mascot--celebrate .taska-mascot__bob,.taska-mascot__particle,.taska-mascot__body,.taska-mascot__shadow,.taska-mascot__arm,.taska-mascot__foot,.taska-mascot__crest,.taska-mascot__tail-group,.taska-mascot__antenna-stem,.taska-mascot__antenna-ball,.taska-mascot__eye-block>ellipse:first-of-type,.taska-mascot__eye-block>ellipse:nth-of-type(2),.taska-mascot__mouth,.taska-mascot__tongue,.taska-mascot__face,.taska-mascot__zzz{animation:none!important}.taska-mascot__pupils{transition:none}.taska-mascot--celebrate .taska-mascot__tongue{opacity:0}.taska-mascot--mood-dream .taska-mascot__zzz{opacity:.45}}.login-screen{background-color:var(--bg-color);z-index:10000;justify-content:center;align-items:center;transition:background-color .3s;display:flex;position:fixed;inset:0;overflow:hidden}.login-screen:before{content:"";pointer-events:none;background:radial-gradient(circle at 30% 40%,#e539350f 0%,#0000 50%),radial-gradient(circle at 70% 60%,#4d99900d 0%,#0000 50%);animation:10s ease-in-out infinite alternate loginBgPulse;position:absolute;inset:-50%}@keyframes loginBgPulse{0%{transform:scale(1)rotate(0)}to{transform:scale(1.08)rotate(2deg)}}.login-card{z-index:1;pointer-events:auto;opacity:0;flex-direction:column;align-items:center;gap:2rem;width:100%;max-width:380px;padding:3rem 2.5rem;animation:.6s cubic-bezier(.22,1,.36,1) forwards loginFadeIn;display:flex;position:relative;transform:translateY(16px)}@keyframes loginFadeIn{to{opacity:1;transform:translateY(0)}}.login-logo{object-fit:contain;opacity:.9;width:auto;max-width:100%;height:2.75rem}.login-subtitle{letter-spacing:2px;text-transform:uppercase;color:var(--faded-text);margin-top:-.65rem;font-size:.75rem;font-weight:600}.login-form{flex-direction:column;gap:1rem;width:100%;display:flex}.login-input-group{width:100%;position:relative}.login-input{border:1.5px solid var(--border-color);width:100%;color:var(--text-color);background:0 0;border-radius:8px;outline:none;padding:.85rem 1rem;font-family:Inter,system-ui,sans-serif;font-size:.9rem;font-weight:500;transition:border-color .25s,box-shadow .25s}.login-input::placeholder{color:var(--faded-text);font-weight:400}.login-input:focus{border-color:var(--text-color);box-shadow:0 0 0 3px #e5393514}body.dark-theme .login-input:focus{box-shadow:0 0 0 3px #cc292926}.login-password-toggle{color:var(--faded-text);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;font-size:1.1rem;transition:color .2s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.login-password-toggle:hover{color:var(--text-color)}.login-btn{background:var(--text-color);width:100%;color:var(--bg-color);letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;border-radius:8px;margin-top:.5rem;padding:.85rem 1rem;font-family:Inter,system-ui,sans-serif;font-size:.85rem;font-weight:700;transition:opacity .2s,transform .15s;position:relative;overflow:hidden}.login-btn:hover:not(:disabled){opacity:.88}.login-btn:active:not(:disabled){transform:scale(.985)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-btn .login-spinner{border:2px solid #0000;border-top-color:var(--bg-color);vertical-align:middle;border-radius:50%;width:16px;height:16px;margin-right:8px;animation:.6s linear infinite loginSpin;display:inline-block}@keyframes loginSpin{to{transform:rotate(360deg)}}.login-error{width:100%;color:var(--red-accent);text-align:center;background:#e5393514;border:1px solid #e5393533;border-radius:8px;padding:.7rem 1rem;font-size:.8rem;font-weight:500;animation:.4s loginShake}@keyframes loginShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.login-toggle{color:var(--faded-text);text-align:center;font-size:.8rem}.login-toggle button{color:var(--text-color);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-family:Inter,system-ui,sans-serif;font-size:.8rem;font-weight:700;text-decoration:underline;transition:opacity .2s}.login-toggle button:hover{opacity:.7}.login-divider{width:100%;color:var(--faded-text);letter-spacing:1px;text-transform:uppercase;align-items:center;gap:1rem;font-size:.7rem;font-weight:600;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.login-theme-toggle{z-index:2;position:absolute;top:1.5rem;right:1.5rem}@media (width<=480px){.login-card{max-width:100%;padding:2rem 1.5rem}}
