:root{color-scheme:light;--bg: #f5f5f5;--surface: #ffffff;--border: #e8e8e8;--border-hover: #d0d0d0;--ink: #111111;--ink-2: #555555;--ink-3: #999999;--accent-asap: #ef4444;--accent-week: #f97316;--accent-month: #3b82f6;--accent-future: #8b5cf6;--accent: #111111;--danger: #ef4444;--radius: 10px;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,sans-serif;color:var(--ink);font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--bg);min-height:100vh}.wrap{max-width:600px;margin:0 auto;padding:1rem 1.25rem 3rem}.wrap--auth{max-width:400px}.wrap--app{max-width:580px}.row{display:flex;gap:.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}.back-link{position:fixed;top:14px;left:16px;font-size:.8rem;font-weight:500;color:var(--ink-2);text-decoration:none;background:var(--surface);padding:5px 12px;border-radius:20px;border:1px solid var(--border);box-shadow:0 1px 3px #0000000f;z-index:100;transition:box-shadow .15s,color .15s}.back-link:hover{color:var(--ink);box-shadow:0 2px 6px #0000001a}.app-header{padding:1.25rem 0 .75rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem;padding-left:0}.app-header h1{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.03em;color:var(--ink)}.app-email{font-size:.8rem;color:var(--ink-3)}.app-nav{margin-bottom:1.25rem}.app-nav select{padding:.35rem .6rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);font:inherit;font-size:.875rem;cursor:pointer;color:var(--ink)}.app-nav select:hover{border-color:var(--border-hover)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;margin:1rem 0;display:grid;gap:.75rem;box-shadow:0 1px 4px #0000000d}.card--create h3{margin:0;font-size:.875rem;font-weight:600;color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em}.create-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.create-row input[type=text]{flex:1 1 160px;min-width:0}.card textarea{width:100%;resize:vertical;min-height:2.5rem;box-sizing:border-box}.board{display:flex;flex-direction:column;gap:.5rem}.board-col{display:contents}.bucket--asap{order:1}.bucket--this-week{order:2}.bucket--this-month{order:3}.bucket--future{order:4}.bucket{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;border-left-width:3px;transition:box-shadow .15s}.bucket:hover{box-shadow:0 2px 8px #0000000f}.bucket--asap{border-left-color:var(--accent-asap)}.bucket--this-week{border-left-color:var(--accent-week)}.bucket--this-month{border-left-color:var(--accent-month)}.bucket--future{border-left-color:var(--accent-future)}.bucket--over{box-shadow:0 4px 20px #0000001a;transform:scale(1.01);border-color:var(--border-hover);background:#fafafa;transition:transform .15s,box-shadow .15s}.bucket--accepted{animation:bucket-accept .55s cubic-bezier(.36,.07,.19,.97)}@keyframes bucket-accept{0%{transform:scale(1)}20%{transform:scale(1.03);box-shadow:0 6px 24px #00000021}50%{transform:scale(.99)}75%{transform:scale(1.01)}to{transform:scale(1)}}.drop-indicator{height:3px;background:var(--ink);border-radius:2px;margin:2px 0;opacity:.35;position:relative}.drop-indicator:before{content:"";position:absolute;left:-4px;top:-3px;width:9px;height:9px;border-radius:50%;background:var(--ink);opacity:1}.drop-indicator--end{margin-top:4px}.bucket__header{display:flex;align-items:center;gap:.5rem;padding:.6rem .85rem}.bucket__toggle{width:100%;display:flex;align-items:center;gap:.5rem;border:none;background:transparent;cursor:pointer;font:inherit;text-align:left;color:var(--ink);padding:0}.bucket__toggle:hover{opacity:.75}.bucket__add{border:1px solid var(--border);background:var(--bg);border-radius:999px;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;line-height:1;padding:0;color:var(--ink-2);transition:background .12s,border-color .12s}.bucket__add:hover{background:var(--border);border-color:var(--border-hover)}.bucket__add:focus-visible,.bucket__toggle:focus-visible,.todo-row__title:focus-visible,.todo-row__notes:focus-visible,.icon-button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.bucket__chevron{width:1.25rem;flex-shrink:0;font-size:1rem;font-weight:700;color:var(--ink-2)}.bucket__label{font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}.bucket__count{margin-left:auto;font-size:.75rem;font-weight:700;color:var(--ink-2);background:var(--bg);padding:.1rem .45rem;border-radius:999px;border:1px solid var(--border)}.bucket__body{padding:0 .75rem .6rem;border-top:1px solid var(--border);min-height:2rem}.bucket__empty{margin:.6rem 0 .25rem;padding-left:.25rem;font-size:.85rem;color:var(--ink-3)}.todo-row{display:flex;align-items:flex-start;gap:.35rem;padding:.3rem .15rem;border-bottom:1px solid var(--border);border-radius:4px;transition:background .1s}.todo-row:hover{background:var(--bg)}.todo-row:last-child{border-bottom:none}.todo-row__drag{border:none;cursor:grab;-webkit-user-select:none;user-select:none;color:var(--ink-3);font-size:.7rem;background:transparent;padding:.15rem .1rem;line-height:1;touch-action:none;flex-shrink:0;margin-top:.4rem;position:relative}@media (pointer: coarse){.todo-row__drag:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:44px;min-height:44px}}.todo-row__drag:active{cursor:grabbing}.todo-row__title{width:100%;border:1px solid transparent;border-radius:4px;background:transparent;padding:.15rem .3rem;font-weight:400;color:var(--ink);font-size:.9rem}.todo-row__title:focus{outline:none;border-color:var(--border-hover);background:var(--surface)}.todo-row__delete{flex-shrink:0}.todo-row__content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.todo-row__notes-toggle{flex-shrink:0;border:none;border-radius:6px;padding:.25rem .35rem;background:transparent;font-size:.85rem;color:var(--ink-3);line-height:1;margin-top:.25rem}.todo-row__notes-toggle:hover{background:var(--bg);color:var(--ink-2)}.todo-row__notes-toggle--active{color:var(--ink-2);background:var(--bg)}.todo-row__notes-area{padding:.3rem .15rem .4rem 2.4rem;border-bottom:1px solid var(--border)}.todo-row:last-child+.todo-row__notes-area{border-bottom:none}.todo-row__notes{width:100%;min-height:2rem;resize:vertical;border:1px solid var(--border);border-radius:6px;background:var(--bg);padding:.3rem .4rem;box-sizing:border-box;color:var(--ink-2);font-size:.875rem;font-weight:400;line-height:1.45}.todo-row__notes:focus{outline:none;border-color:var(--border-hover);background:var(--surface)}.todo-row--draft{opacity:.85}.todo-row__drag--placeholder{cursor:default}.icon-button{padding:.3rem .45rem;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:none;background:transparent;color:var(--ink-3);transition:background .12s,color .12s}.icon-button:hover{background:var(--bg);color:var(--ink)}button{cursor:pointer;font:inherit;padding:.4rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--ink)}button:hover{border-color:var(--border-hover)}input,textarea,select{font:inherit;padding:.4rem .5rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--ink)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--border-hover)}.muted{color:var(--ink-2)}.active{border-color:var(--ink);background:var(--ink);color:#fff}.danger{border-color:var(--danger);color:var(--danger);background:var(--surface)}.strike{text-decoration:line-through;color:var(--ink-3)}.error{color:var(--danger);font-size:.875rem}.archive-section{margin-top:1.5rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.archive-header-row{display:flex;align-items:center;border-bottom:1px solid var(--border)}.archive-header{display:flex;align-items:center;gap:.5rem;padding:.6rem .85rem;flex:1;background:transparent;border:none;border-radius:0;cursor:pointer;text-align:left;font:inherit}.archive-header:hover{background:var(--bg)}.archive-select-btn{font-size:.78rem;font-weight:500;color:var(--ink-2);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.25rem .65rem;margin-right:.6rem;cursor:pointer;white-space:nowrap}.archive-select-btn:hover{border-color:var(--border-hover);color:var(--ink)}.archive-toolbar{display:flex;align-items:center;gap:.5rem;padding:.4rem .85rem;border-bottom:1px solid var(--border);background:var(--bg)}.archive-cancel-btn{font-size:.78rem;font-weight:500;color:var(--ink-2);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.25rem .65rem;cursor:pointer}.archive-cancel-btn:hover{border-color:var(--border-hover);color:var(--ink)}.archive-delete-btn{font-size:.78rem;font-weight:500;color:var(--danger);background:transparent;border:1px solid var(--danger);border-radius:6px;padding:.25rem .65rem;cursor:pointer}.archive-delete-btn:hover:not(:disabled){background:#fff0f0}.archive-delete-btn:disabled{opacity:.4;cursor:default}.archive-row--selected{background:#f0f4ff}.archive-row--selected:hover{background:#e8eeff}.archive-label{font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}.archive-row{padding:.4rem .85rem;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.2rem}.archive-row:last-child{border-bottom:none}.archive-row__main{display:flex;align-items:center;gap:.4rem}.archive-row__title{flex:1;font-size:.9rem;color:var(--ink-2);min-width:0}.archive-row__date{font-size:.75rem;color:var(--ink-3)}.tag{font-size:.7rem;font-weight:600;color:var(--ink-3);border:1px solid var(--border);padding:.1rem .4rem;border-radius:4px;white-space:nowrap;flex-shrink:0}.notes{margin:.2rem 0 0;font-size:.85rem;color:var(--ink-2);line-height:1.45}.archive-notes{display:flex;flex-direction:column;gap:.15rem}@media (min-width: 800px){.wrap--app{max-width:1100px;padding:1rem 1.5rem 3rem}.board{flex-direction:row;gap:.75rem}.board-col{display:flex;flex-direction:column;gap:.75rem;flex:1;min-width:0}.bucket--asap,.bucket--this-week,.bucket--this-month,.bucket--future{order:unset}.bucket{min-width:0}.bucket__body{max-height:calc(70vh - 80px);overflow-y:auto}}
