*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}button,a,[role=button],select{-webkit-tap-highlight-color:transparent}:root{--color-bg: #f5f2ec;--color-surface: #ffffff;--color-border: #e8e4dc;--color-text: #111111;--color-text-muted: #6b6560;--color-primary: #1a5cff;--color-primary-dark: #0040d4;--color-success: #00a550;--color-success-dark: #007d3c;--color-danger: #e8150c;--color-danger-dark: #c00f09;--color-low: #3b82f6;--color-medium: #a855f7;--color-high: #f97316;--radius: 14px 10px 16px 12px;--radius-sm: 8px 5px 9px 7px;--shadow: 3px 3px 0 #111111;--shadow-md: 4px 4px 0 #111111;--font: "Nunito", system-ui, -apple-system, sans-serif}body{font-family:var(--font);background-color:var(--color-bg);color:var(--color-text);font-size:14px;line-height:1.5;min-height:100vh}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--color-surface);border-bottom:2px solid var(--color-text);padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;gap:16px}.app-header__inner{display:flex;align-items:baseline;gap:12px;flex:1}.app-header__controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.app-title{font-size:20px;font-weight:800;letter-spacing:-.5px;color:var(--color-text);display:flex;align-items:center;gap:8px}.app-title__logo{width:22px;height:22px;flex-shrink:0;display:block}.app-main{max-width:920px;width:100%;margin:0 auto;padding:24px 24px 48px;display:flex;flex-direction:column;gap:24px}@media (max-width: 600px){.app-header{padding:0 16px}.app-main{padding:16px 16px 48px}}.global-error{background:var(--color-danger);color:#fff;padding:12px 16px;border-radius:var(--radius);font-size:13px}.loading-text{color:var(--color-text-muted);text-align:center;padding:48px 0}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--color-bg);padding:24px}.auth-card{background:var(--color-surface);border:2px solid var(--color-text);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:32px;width:100%;max-width:360px;display:flex;flex-direction:column;gap:24px}.auth-title{font-size:22px;font-weight:800;letter-spacing:-.5px;display:flex;align-items:center;gap:8px;justify-content:center}.auth-tabs{display:flex;border-bottom:2px solid var(--color-border);gap:0}.auth-tab{flex:1;background:none;border:none;border-bottom:3px solid transparent;padding:8px 0;margin-bottom:-2px;font-family:var(--font);font-size:13px;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:color .15s,border-color .15s}.auth-tab:hover{color:var(--color-text)}.auth-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-error{font-size:13px;color:#fff;background:var(--color-danger);border-radius:var(--radius-sm);padding:8px 12px}@keyframes toast-in{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.95)}}.toast{position:fixed;bottom:24px;right:24px;background:var(--color-success);color:#fff;font-family:var(--font);font-size:13px;font-weight:700;padding:10px 18px;border-radius:var(--radius);border:2px solid var(--color-success-dark);box-shadow:3px 3px 0 var(--color-success-dark);z-index:200;display:flex;align-items:center;gap:8px;max-width:280px;animation:toast-in .2s ease}.toast--out{animation:toast-out .18s ease forwards}.toast__icon{flex-shrink:0;opacity:.9}.toast__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-username{font-size:13px;font-weight:600;color:var(--color-text-muted);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;border:2px solid transparent;border-radius:50px;font-family:var(--font);font-size:13px;font-weight:700;cursor:pointer;padding:7px 18px;line-height:1;transition:background-color .12s,transform .1s,box-shadow .1s;white-space:nowrap;letter-spacing:.1px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:active:not(:disabled){transform:translate(1px,1px);box-shadow:none!important}.btn--primary{background:var(--color-primary);color:#fff;box-shadow:2px 2px 0 var(--color-primary-dark)}.btn--primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn--secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-text);box-shadow:2px 2px 0 var(--color-text)}.btn--secondary:hover:not(:disabled){background:var(--color-bg)}.btn--success{background:var(--color-success);color:#fff;box-shadow:2px 2px 0 var(--color-success-dark)}.btn--success:hover:not(:disabled){background:var(--color-success-dark)}.btn--danger{background:transparent;color:var(--color-danger);border-color:var(--color-danger)}.btn--danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.btn--small{padding:4px 12px;font-size:12px}.btn--ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--color-text-muted);font-weight:400}.btn--ghost:hover:not(:disabled){background:transparent;color:var(--color-text);border-color:transparent;box-shadow:none;text-decoration:underline}.btn--icon{padding:6px;background:transparent;color:var(--color-text-muted);border:2px solid transparent;border-radius:50%}.btn--icon:hover:not(:disabled){background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.form-field{display:flex;flex-direction:column;gap:4px}.form-field label{font-size:12px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.form-field textarea{padding:8px 12px;border:2px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font);font-size:13px;background:var(--color-bg);color:var(--color-text);width:100%;box-sizing:border-box;resize:vertical;transition:border-color .15s}.form-field textarea:focus{outline:none;border-color:var(--color-text)}.form-field input,.form-field select{padding:8px 12px;border:2px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font);font-size:14px;color:var(--color-text);background:var(--color-surface);transition:border-color .15s,box-shadow .15s;width:100%}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--color-primary);box-shadow:2px 2px 0 var(--color-primary)}.form-error{font-size:13px;color:#fff;background:var(--color-danger);border-radius:var(--radius-sm);padding:8px 12px;font-weight:600}.form-hint{font-size:12px;color:var(--color-text-muted);margin-top:4px}.add-task-form{background:var(--color-surface);border:2px solid var(--color-text);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-md)}.form-title{font-size:15px;font-weight:700;margin-bottom:14px;color:var(--color-text)}.form-row{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.form-row--primary{display:flex;gap:12px;align-items:flex-end}.form-row--meta{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-top:12px}.form-field--grow{flex:1 1 200px}.form-field--small{flex:0 0 130px}.toggle-group{display:flex;border:2px solid var(--color-border);border-radius:50px;overflow:hidden}.toggle-btn{flex:1;padding:6px 10px;border:none;border-right:2px solid var(--color-border);background:var(--color-surface);font-family:var(--font);font-size:12px;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:background .12s,color .12s;white-space:nowrap}.toggle-btn:last-child{border-right:none}.toggle-btn:hover{background:var(--color-bg);color:var(--color-text)}.toggle-btn--imp-low{background:var(--color-low);color:#fff}.toggle-btn--imp-medium{background:var(--color-medium);color:#fff}.toggle-btn--imp-high{background:var(--color-high);color:#fff}.toggle-btn--diff-easy{background:var(--color-success);color:#fff}.toggle-btn--diff-medium{background:#f59e0b;color:#fff}.toggle-btn--diff-hard{background:var(--color-danger);color:#fff}.add-task-form .form-error{margin-bottom:12px}.modal__body .add-task-form{border:none;box-shadow:none;background:transparent;padding:0}.task-section{display:flex;flex-direction:column;gap:12px}.section-header{display:flex;align-items:center;gap:12px;padding-bottom:10px;border-bottom:2px solid var(--color-text);flex-wrap:wrap}.section-filters{display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.section-title{font-size:15px;font-weight:800;letter-spacing:-.2px}.section-subtitle{font-size:13px;color:var(--color-text-muted)}.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;background:var(--color-text);color:var(--color-surface);border-radius:50px;font-size:11px;font-weight:700;vertical-align:middle}.task-list{display:flex;flex-direction:column;gap:8px}.task-list__overflow{margin-top:0}.task-list__overflow-toggle{display:flex;align-items:center;gap:6px;padding:8px 12px;cursor:pointer;font-size:.85rem;font-weight:600;color:var(--color-text-muted);border:2px dashed var(--color-border);border-radius:50px;-webkit-user-select:none;user-select:none;list-style:none}.task-list__overflow-toggle::-webkit-details-marker{display:none}.task-list__overflow-toggle:before{content:"▸";font-size:.75rem;transition:transform .15s ease}details[open] .task-list__overflow-toggle:before{transform:rotate(90deg)}.task-list__overflow-toggle:hover{color:var(--color-text);border-color:var(--color-text)}.task-list__overflow-items{display:flex;flex-direction:column;gap:8px;margin-top:8px}.fab{position:fixed;bottom:28px;right:28px;width:52px;height:52px;border-radius:50%;background:var(--color-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:3px 3px 0 var(--color-primary-dark);transition:background .12s,transform .1s,box-shadow .1s;z-index:50}.fab:hover{background:var(--color-primary-dark)}.fab:active{transform:translate(2px,2px);box-shadow:none}.empty-state{background:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius);padding:32px;text-align:center;color:var(--color-text-muted);font-size:14px;font-weight:500}.task-card__rank-col{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;width:62px}.icon-badge{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:3px 6px;border-radius:50px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.icon-badge svg{flex-shrink:0}.icon-badge--low{background:var(--color-low);color:#fff}.icon-badge--medium{background:var(--color-medium);color:#fff}.icon-badge--high{background:var(--color-high);color:#fff}.icon-badge--easy{background:var(--color-success);color:#fff}.icon-badge--diff-medium{background:#f59e0b;color:#fff}.icon-badge--hard{background:var(--color-danger);color:#fff}.task-card{border:2px solid var(--color-text);border-radius:var(--radius);padding:13px 10px 11px;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow);transition:box-shadow .12s,transform .12s;position:relative;overflow:hidden}.task-card:hover{box-shadow:var(--shadow-md);transform:translate(-1px,-1px)}.task-card-wrap{position:relative;border-radius:var(--radius)}.task-card-wrap__reveal{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-success);display:flex;align-items:center;padding-left:20px;color:#fff;opacity:var(--swipe-progress, 0);pointer-events:none;border-radius:var(--radius);transition:opacity .05s}.task-card-wrap__reveal svg{width:22px;height:22px;stroke-width:2.5}.task-card-wrap--swiping .task-card{transform:translate(var(--swipe-dx, 0px));transition:none}.task-card-wrap--snapping .task-card{transform:translate(0);transition:transform .22s cubic-bezier(.25,1.4,.5,1)}.task-card-wrap--swiping-off .task-card{transform:translate(115%);transition:transform .32s cubic-bezier(.4,0,1,1);pointer-events:none}.task-card-wrap--swiping-off .task-card-wrap__reveal{opacity:1;transition:none}.task-card__inner{display:contents}@keyframes card-complete{0%{transform:scale(1) translateY(0);opacity:1;box-shadow:var(--shadow);border-color:var(--color-text)}25%{transform:scale(1.02) translateY(-2px);opacity:1;box-shadow:4px 4px 0 var(--color-success);border-color:var(--color-success)}60%{transform:scale(1.02) translateY(-6px);opacity:.6}to{transform:scale(.97) translateY(-14px);opacity:0}}.task-card--completing{animation:card-complete .46s ease forwards;pointer-events:none}.task-card__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.task-card__top{display:flex;align-items:center;gap:8px;min-width:0}.task-imp-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.task-title{font-size:14px;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.task-title--btn{background:none;border:none;padding:0;cursor:pointer;text-align:left}.task-title--btn:hover{text-decoration:underline;text-underline-offset:2px}.task-title--done{text-decoration:line-through;color:var(--color-text-muted)}.task-card__progress{display:block;width:100%;height:4px;background:var(--color-border);border:none;border-radius:50px;padding:0;cursor:pointer;position:relative;overflow:hidden}.task-card__progress:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:var(--pct, 0%);background:var(--color-primary);border-radius:50px;transition:width .3s ease}.task-card__progress:hover{height:6px;margin:-1px 0}.task-card__meta{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--color-text-muted);font-weight:500}.meta-sep{opacity:.4}.task-deadline{display:inline-flex;align-items:center;gap:3px;font-weight:600;transition:color .3s}.importance-badge{font-size:11px;font-weight:700;padding:2px 10px;border-radius:50px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.badge--low{background:var(--color-low);color:#fff}.badge--medium{background:var(--color-medium);color:#fff}.badge--high{background:var(--color-high);color:#fff}.task-card__actions{display:grid;grid-template-columns:1fr 1fr;gap:2px;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .15s}.task-card:hover .task-card__actions,.task-card:focus-within .task-card__actions{opacity:1;pointer-events:auto}@media (hover: none),(pointer: coarse){.task-card__actions{opacity:1;pointer-events:auto}}.task-action{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .1s,color .1s}.task-action:hover{background:var(--color-bg);color:var(--color-text)}.task-action--success:hover{color:var(--color-success)}.task-action--danger:hover{color:var(--color-danger)}.task-section--completed{margin-top:8px}.section-header--summary{cursor:pointer;list-style:none;padding:4px 0 10px;-webkit-user-select:none;user-select:none}.section-header--summary::-webkit-details-marker{display:none}.section-header--summary .section-title{color:var(--color-text-muted)}.task-section--completed[open] .section-header--summary .section-title{color:var(--color-text)}.task-list--completed{margin-top:8px}.task-card--completed{opacity:.65;border-color:var(--color-border);box-shadow:none}.task-card--completed:hover{opacity:1;box-shadow:var(--shadow);border-color:var(--color-text)}.blocker-reason{margin-top:4px}.blocker-pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;padding:3px 10px;border-radius:50px}.blocker-pill--internal{background:var(--color-primary);color:#fff}.blocker-pill--external{background:var(--color-medium);color:#fff}.blocker-pill--date{background:var(--color-low);color:#fff}.blocker-date-row{display:flex;gap:12px;align-items:flex-end}.accelerando{margin-top:12px;padding-top:12px;border-top:2px dashed var(--color-border)}.accelerando__toggle{background:none;border:none;padding:0;cursor:pointer;color:var(--color-text-muted);font-size:.8rem;font-weight:600;letter-spacing:.05em;display:flex;align-items:center;gap:4px}.accelerando__toggle:hover{color:var(--color-text)}.accelerando__arrow{font-size:.7rem}.accelerando__body{margin-top:10px;display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.blocker-toggle{margin-top:12px;padding-top:12px;border-top:2px dashed var(--color-border)}.checkbox-label{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;cursor:pointer;color:var(--color-text)}.checkbox-label input[type=checkbox]{width:15px;height:15px;cursor:pointer;accent-color:var(--color-primary)}.blocker-section{margin-top:12px;padding:14px;background:#fffcf5;border:2px solid var(--color-medium);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:12px}.blocker-section--modal{margin-top:0}.blocker-type-row{display:flex;gap:20px;flex-wrap:wrap}.radio-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;cursor:pointer;color:var(--color-text)}.radio-label input[type=radio]{accent-color:var(--color-primary);cursor:pointer}.modal--wide{max-width:520px}.detail-log{border-top:2px solid var(--color-border);padding-top:12px}.detail-log__summary{cursor:pointer;font-size:13px;font-weight:700;margin-bottom:12px;-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:6px}.detail-log__summary::-webkit-details-marker{display:none}.detail-log__summary:before{content:"▾";font-size:11px;transition:transform .15s}details:not([open]) .detail-log__summary:before{transform:rotate(-90deg)}.detail-log__form{display:flex;flex-direction:column;gap:0}.progress-preview{position:relative;height:10px;background:var(--color-border);border-radius:50px;overflow:hidden}.progress-preview__baseline{position:absolute;top:0;right:0;bottom:0;left:0;width:0%;background:transparent;border-right:2px solid rgba(0,0,0,.2);border-radius:0;pointer-events:none;z-index:1;transition:width 0s}.progress-preview__fill{height:100%;border-radius:50px;background:var(--color-primary);transition:width .25s ease,background .25s ease;width:0%}.progress-preview__fill--complete{background:var(--color-success)}.progress-preview__label{min-height:1.4em;transition:color .2s}.quick-picks{display:flex;gap:6px}.quick-pick{flex:1;padding:6px 0;border:2px solid var(--color-border);border-radius:50px;background:var(--color-bg);font-family:var(--font);font-size:12px;font-weight:700;color:var(--color-text-muted);cursor:pointer;transition:border-color .12s,color .12s,background .12s,box-shadow .12s}.quick-pick:hover{border-color:var(--color-text);color:var(--color-text)}.quick-pick--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:2px 2px 0 var(--color-primary-dark)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--color-surface);border:2px solid var(--color-text);border-radius:var(--radius);box-shadow:5px 5px 0 var(--color-text);width:100%;max-width:440px;overflow:hidden;animation:modal-in .15s ease}@keyframes modal-in{0%{opacity:0;transform:scale(.96) translateY(-8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 0}.modal__header h3{font-size:15px;font-weight:800;letter-spacing:-.2px}.modal__back{background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--color-text-muted);padding:2px 6px 2px 0;transition:color .15s;margin-right:2px}.modal__back:hover{color:var(--color-text)}.modal__close{background:none;border:none;font-size:20px;line-height:1;cursor:pointer;color:var(--color-text-muted);padding:2px 6px;border-radius:50%;transition:background .15s,color .15s}.modal__close:hover{background:var(--color-bg);color:var(--color-text)}.modal__body{padding:16px 20px 20px;display:flex;flex-direction:column;gap:14px}.modal__task-name{font-weight:700;font-size:14px}.modal__meta{font-size:13px;color:var(--color-text-muted)}.modal__footer{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.modal__footer--left{justify-content:flex-start;padding-top:16px;border-top:2px solid var(--color-border);margin-top:8px}.project-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:50px;background:color-mix(in srgb,var(--project-color) 15%,white);color:color-mix(in srgb,var(--project-color) 80%,#111);border:2px solid color-mix(in srgb,var(--project-color) 40%,white);flex-shrink:0}.project-badge--clickable{cursor:pointer;transition:filter .12s,transform .12s}.project-badge--clickable:hover{filter:brightness(.88);transform:scale(1.05)}.project-badge__dot{width:6px;height:6px;border-radius:50% 40% 50% 45%;background:var(--project-color);flex-shrink:0}.project-filter{padding:5px 28px 5px 12px;border:2px solid var(--color-border);border-radius:50px;font-family:var(--font);font-size:13px;font-weight:600;color:var(--color-text);background:var(--color-surface);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b6560'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:border-color .15s}.project-filter:focus{outline:none;border-color:var(--color-primary);box-shadow:2px 2px 0 var(--color-primary)}.difficulty-filter{display:flex;gap:4px;align-items:center}.difficulty-pill{padding:4px 10px;border-radius:50px;border:2px solid transparent;font-family:var(--font);font-size:12px;font-weight:600;cursor:pointer;opacity:.3;transition:opacity .15s,border-color .15s,box-shadow .15s;background:transparent}.difficulty-pill--active{opacity:1}.difficulty-pill--easy{color:#00a550;border-color:#00a550}.difficulty-pill--easy.difficulty-pill--active{background:#00a5501a}.difficulty-pill--medium{color:#f59e0b;border-color:#f59e0b}.difficulty-pill--medium.difficulty-pill--active{background:#f59e0b1a}.difficulty-pill--hard{color:#e8150c;border-color:#e8150c}.difficulty-pill--hard.difficulty-pill--active{background:#e8150c1a}.difficulty-pill:focus-visible{outline:none;box-shadow:0 0 0 3px #00000026}.difficulty-filter-select{display:none}@media (max-width: 600px){.difficulty-filter{display:none}.difficulty-filter-select{display:revert}.section-header{flex-wrap:nowrap}.section-filters{flex-wrap:nowrap;gap:4px;flex-shrink:0}.section-filters .project-filter{padding:3px 16px 3px 6px;font-size:11px;background-position:right 5px center;background-size:10px}}.project-list{list-style:none;display:flex;flex-direction:column;gap:6px}.project-list-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg)}.project-dot{width:12px;height:12px;border-radius:50% 40% 50% 45%;flex-shrink:0}.project-list-item__name{font-size:14px;font-weight:600;flex:1}.project-list-item__count{font-size:12px;color:var(--color-text-muted);flex-shrink:0}.project-list-item__actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.confirm-text{font-size:12px;color:var(--color-danger);font-weight:600}.empty-state-inline{color:var(--color-text-muted);font-size:13px;padding:8px 0}.project-form{display:flex;flex-direction:column;gap:14px}.project-form__actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.color-swatch-grid{display:flex;gap:8px;flex-wrap:wrap}.color-swatch{width:28px;height:28px;border-radius:50% 40% 50% 45%;border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .1s;padding:0}.color-swatch:hover{transform:scale(1.2)}.color-swatch--selected{border-color:var(--color-text);transform:scale(1.2);box-shadow:0 0 0 2px #fff inset}.toggle-btn--freq-active{background:var(--color-primary);color:#fff}.freq-number-input{width:56px;text-align:center;padding:4px 6px}.panel-nav-rows{margin-top:12px;border-top:2px dashed var(--color-border)}.panel-nav-row{display:flex;align-items:center;width:100%;padding:11px 0;background:none;border:none;border-bottom:1px solid var(--color-border);cursor:pointer;font-family:var(--font);font-size:13px;color:var(--color-text);gap:8px;text-align:left}.panel-nav-row:last-child{border-bottom:none}.panel-nav-row:hover{opacity:.7}.panel-nav-row__label{font-weight:600;flex:1}.panel-nav-row__value{color:var(--color-text-muted);font-size:12px}.panel-nav-row__value--active{color:var(--color-text);font-weight:500}.panel-nav-row__arrow{color:var(--color-text-muted);font-size:18px;line-height:1}.panel-back-btn{display:flex;align-items:center;gap:4px;background:none;border:none;border-bottom:2px solid var(--color-border);cursor:pointer;font-family:var(--font);font-size:13px;font-weight:700;color:var(--color-text);padding:0 0 12px;margin-bottom:16px;width:100%;text-align:left}.panel-back-btn:hover{opacity:.7}.panel-enable-toggle{margin-bottom:16px}.accelerando__recurring{flex:1 1 200px}.recurring-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin-top:8px}.recurring-toggle-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.task-recurring-icon{flex-shrink:0;color:var(--color-primary);opacity:.65;display:inline-flex;align-items:center;line-height:1}.section-title__recurring-icon{display:inline-flex;align-items:center;margin-right:6px;color:var(--color-primary);opacity:.75;vertical-align:middle;position:relative;top:-1px}.task-section--recurring{margin-top:8px}.recurring-list{display:flex;flex-direction:column;gap:6px;margin-top:8px}.recurring-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border:2px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);transition:border-color .12s,box-shadow .12s}.recurring-row:hover{border-color:var(--color-text);box-shadow:var(--shadow)}.recurring-row__icon{flex-shrink:0;color:var(--color-primary);opacity:.7;display:inline-flex;align-items:center}.recurring-row__title{flex:1;font-size:13px;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.recurring-freq-badge{flex-shrink:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:50px;background:#1a5cff1a;color:var(--color-primary)}.recurring-status{flex-shrink:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;padding:2px 8px;border-radius:50px}.recurring-status--active{background:#00a5501f;color:var(--color-success)}.recurring-status--idle{background:var(--color-bg);color:var(--color-text-muted)}.recurring-row__actions{flex-shrink:0;display:flex;gap:2px;opacity:0;pointer-events:none;transition:opacity .15s}.recurring-row:hover .recurring-row__actions,.recurring-row:focus-within .recurring-row__actions{opacity:1;pointer-events:auto}@media (hover: none){.recurring-row__actions{opacity:1;pointer-events:auto}}.pomo-fab{position:fixed;bottom:28px;left:28px;width:52px;height:52px;border-radius:50%;background:var(--color-surface);border:2px solid var(--color-text);display:flex;align-items:center;justify-content:center;box-shadow:3px 3px 0 var(--color-text);cursor:pointer;transition:transform .1s,box-shadow .1s,background .12s;z-index:50}.pomo-fab:hover{background:var(--color-bg)}.pomo-fab:active{transform:translate(2px,2px);box-shadow:none}.pomo-modal-row{display:flex;align-items:center;gap:8px;padding-top:12px;border-top:2px solid var(--color-border);margin-top:4px}.toggle-btn--pomo-active{background:var(--color-primary);color:#fff}@keyframes pomo-in{0%{opacity:0}to{opacity:1}}.pomo-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:flex;align-items:center;justify-content:center;background:var(--color-bg);animation:pomo-in .2s ease}.pomo-overlay--break{background:#edf7f2}.pomo-content{display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center;padding:32px 24px;width:100%;max-width:480px}.pomo-label{font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-text-muted)}.pomo-label--break{color:var(--color-success)}.pomo-task-name{font-size:22px;font-weight:800;color:var(--color-text);letter-spacing:-.5px;max-width:440px;line-height:1.3}.pomo-task-name--done{font-size:17px;color:var(--color-text-muted);font-weight:600}.pomo-time{font-size:100px;font-weight:800;letter-spacing:-6px;font-variant-numeric:tabular-nums;color:var(--color-text);line-height:1;-webkit-user-select:none;user-select:none}.pomo-time--break{color:var(--color-success)}.pomo-progress{width:300px;max-width:100%;height:5px;background:var(--color-border);border-radius:99px;overflow:hidden}.pomo-progress__fill{height:100%;background:var(--color-primary);border-radius:99px;transition:width 1s linear}.pomo-progress--break .pomo-progress__fill{background:var(--color-success)}.pomo-done-icon{font-size:52px;line-height:1}.pomo-done-heading{font-size:28px;font-weight:800;letter-spacing:-.8px;color:var(--color-text)}.pomo-actions{display:flex;gap:10px;align-items:center}@media (max-width: 600px){.pomo-time{font-size:72px;letter-spacing:-4px}.pomo-task-name{font-size:18px}.pomo-fab{bottom:20px;left:20px}}.header-friends-btn{position:relative}.header-badge{position:absolute;top:-4px;right:-4px;background:var(--color-danger);color:#fff;font-size:9px;font-weight:800;border-radius:50px;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1;pointer-events:none}.friends-tabs{display:flex;border-bottom:2px solid var(--color-border);margin-bottom:16px}.friends-tab{flex:1;background:none;border:none;border-bottom:3px solid transparent;padding:8px 0;margin-bottom:-2px;font-family:var(--font);font-size:13px;font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:color .15s,border-color .15s;display:flex;align-items:center;justify-content:center;gap:6px}.friends-tab:hover{color:var(--color-text)}.friends-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.friends-badge{background:var(--color-danger);color:#fff;font-size:10px;font-weight:800;border-radius:50px;min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.friends-panel{display:flex;flex-direction:column;gap:12px}.friends-search{display:flex;gap:10px;align-items:flex-end}.friends-search .form-field{flex:1}.friends-empty{color:var(--color-text-muted);font-size:13px;text-align:center;padding:24px 0}.friends-list{list-style:none;display:flex;flex-direction:column;gap:8px}.friends-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-sm)}.friends-item__name{font-weight:600;font-size:14px}.friends-item__actions{display:flex;gap:6px;flex-shrink:0}.friends-item--task{align-items:flex-start;flex-direction:column;gap:10px}.friends-item--task .friends-item__actions{align-self:flex-end}.friends-item__task-info{display:flex;flex-direction:column;gap:2px;min-width:0;width:100%}.friends-item__task-from{font-size:11px;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.friends-item__task-title{font-size:14px;font-weight:600;color:var(--color-text)}.friends-item__task-meta{font-size:12px;color:var(--color-text-muted)}.friends-item__task-desc{font-size:12px;color:var(--color-text-muted);margin-top:2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.assign-section{display:flex;flex-direction:column;gap:8px}.assign-friend-list{list-style:none;display:flex;flex-direction:column;gap:6px}.assign-friend-item{display:flex}.assign-friend-label{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;font-weight:600;width:100%;transition:border-color .15s}.assign-friend-label:hover{border-color:var(--color-text)}.assign-friend-label input[type=checkbox]{accent-color:var(--color-primary);width:16px;height:16px;flex-shrink:0}
