:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#000;--surface:#1c1c1e;--elevated:#2c2c2e;--line:#ffffff14;--text:#f5f5f7;--muted:#8e8e93;--soft:#a1a1a8;--purple:#bf5af2;--red:#ff453a;--orange:#ff9f0a;--green:#30d158;--blue:#0a84ff;--danger:#ff453a;--radius:14px;--safe-bottom:env(safe-area-inset-bottom,0px)}*{box-sizing:border-box}html,body,#root{height:100dvh;margin:0;overflow:hidden}body{background:radial-gradient(1200px 500px at 50% -10%, #bf5af224, transparent 55%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,sans-serif}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}input{background:var(--elevated);border:0;border-radius:12px;outline:none;width:100%;padding:14px 16px}input:focus{box-shadow:0 0 0 2px #0a84ff73}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.app-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.topbar{z-index:5;background:linear-gradient(#000 70%,#0000);flex-direction:column;gap:10px;padding:14px 16px 10px;display:flex;position:sticky;top:0}.topbar-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.brand{align-items:center;gap:8px;display:flex}.brand h1,.login-card h1{letter-spacing:-.02em;margin:0;font-size:17px}.stat{color:var(--muted);font-size:12px}.stat.summary{margin-left:auto}.topbar-actions{align-items:center;gap:2px;margin-left:auto;display:flex}.view-switch{background:var(--elevated);border-radius:10px;gap:2px;margin-right:6px;padding:3px;display:flex}.view-btn{height:30px;color:var(--soft);border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:600;display:flex}.view-btn.is-active{background:var(--surface);color:var(--text)}.tab-switch{background:var(--elevated);border-radius:10px;flex:240px;gap:2px;max-width:280px;padding:3px;display:flex}.tab-btn{color:var(--soft);border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;display:flex}.tab-btn.is-active{background:var(--surface);color:var(--text)}.note-row{align-items:center}.note-open{text-align:left;flex:1;gap:4px;min-width:0;padding:0;display:grid}.note-main{text-align:left;gap:4px;min-width:0;padding:0;display:grid}.note-preview{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.35;display:-webkit-box;overflow:hidden}.note-link{min-width:0;color:var(--blue);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:12px;text-decoration:none;display:inline-flex;overflow:hidden}.note-sheet{gap:12px;display:grid}.note-field{color:var(--muted);gap:6px;font-size:12px;font-weight:600;display:grid}.note-field textarea{background:var(--elevated);width:100%;color:var(--text);font:inherit;resize:vertical;border:0;border-radius:12px;outline:none;min-height:120px;padding:14px 16px}.note-field textarea:focus{box-shadow:0 0 0 2px #0a84ff73}.note-sheet-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.note-sheet-actions .primary-btn{min-width:120px}.text-btn.danger{color:var(--danger)}.icon-btn{width:36px;height:36px;color:var(--muted);border-radius:10px;place-items:center;display:grid}.icon-btn:hover{background:var(--elevated);color:var(--text)}.icon-btn:disabled{opacity:.45}.icon-btn.accent{color:var(--blue)}.banner{color:#ff8a80;background:#ff453a1f;border-radius:12px;justify-content:space-between;align-items:center;margin:0 16px 8px;padding:10px 12px;font-size:13px;display:flex}.list-wrap{flex:1;min-height:0;padding:8px 16px 16px;overflow:auto}.section-title{color:var(--muted);margin:18px 4px 8px;font-size:13px;font-weight:600}.section-title.toggle{justify-content:space-between;align-items:center;width:100%;padding:0 4px;display:flex}.todo-list{background:var(--surface);border-radius:var(--radius);margin:0;padding:4px 0;list-style:none;overflow:hidden}.todo-row{align-items:center;gap:8px;padding:9px 6px 9px 10px;display:flex;position:relative}.note-row{padding:12px 12px 12px 8px}.todo-row+.todo-row{border-top:1px solid var(--line)}.check-btn{color:var(--muted);flex-shrink:0;padding:2px}.check-btn .checked{color:var(--green)}.todo-line{flex-wrap:wrap;flex:1;align-items:center;gap:4px 8px;min-width:0;display:flex}.todo-title-row{flex:220px;align-items:center;gap:6px;min-width:0;display:flex}.todo-title-row .title-edit{flex:1}.due{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:96px;color:var(--soft);margin-left:auto;font-size:13px}.due.tone-overdue{color:#e6b8ff}.due.tone-today{color:#ffaaa3}.todo-title{overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.3}.todo-title.done{color:var(--muted);text-decoration:line-through}.title-edit{border-radius:8px;padding:4px 8px}.todo-meta{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.deadline,.tag{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:inline-flex}.deadline.is-overdue{color:var(--red)}.deadline.is-today{color:var(--orange)}.tag{border-radius:999px;padding:2px 7px}.prio-high,.prio.prio-high{color:var(--orange)}.prio-critical,.prio.prio-critical{color:var(--red)}.row-menu,.prio-picker{flex-shrink:0;position:relative}.menu{border:1px solid var(--line);z-index:20;background:#2a2a2d;border-radius:12px;min-width:180px;padding:6px;display:grid;position:absolute;top:36px;right:0;box-shadow:0 18px 50px #00000073}.menu.up{top:auto;bottom:40px}.menu button{text-align:left;border-radius:8px;align-items:center;gap:6px;padding:9px 10px;font-size:14px;display:flex}.menu button:hover{background:#ffffff0f}.menu .danger{color:var(--danger)}.menu-label{color:var(--muted);margin:4px 10px 2px;font-size:11px}.menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}.composer{z-index:30;padding:10px 16px calc(12px + var(--safe-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);background:#111113eb;flex-shrink:0;position:sticky;bottom:0;box-shadow:0 -12px 32px #00000059}.pills{gap:8px;margin-bottom:10px;display:flex}.pill{background:var(--elevated);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:999px;width:auto;padding:8px 12px;font-size:14px}.pill:focus{box-shadow:0 0 0 2px #0a84ff59}.composer-row{align-items:center;gap:8px;display:flex}.composer-input{background:0 0;padding:10px 4px}.composer-input:focus{box-shadow:none}.send-btn{color:var(--blue);place-items:center;display:grid}.send-btn:disabled{color:var(--muted)}.empty{text-align:center;color:var(--muted);margin-top:20vh}.empty h2{color:var(--text);margin:10px 0 4px;font-size:20px}.empty p{margin:0}.empty.muted{margin-top:30vh}.login-page{place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{text-align:center;gap:12px;width:min(100%,380px);display:grid}.login-mark{background:var(--surface);border:1px solid var(--line);border-radius:22px;place-items:center;width:72px;height:72px;margin:0 auto 8px;display:grid}.login-card h1{font-size:32px}.login-sub,.login-error{color:var(--muted);margin:0 0 8px}.login-error{color:var(--red);font-size:13px}.primary-btn{background:var(--blue);color:#fff;border-radius:12px;padding:14px;font-weight:600}.primary-btn:disabled{opacity:.5}.text-btn{color:var(--muted);padding:8px}.sheet-backdrop{z-index:40;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:min(100%,560px);padding:16px 16px calc(16px + var(--safe-bottom));border-radius:18px 18px 0 0}.sheet-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sheet-head h3{margin:0;font-size:16px}.sheet-row{align-items:center;gap:8px;display:flex}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.filter-bar{scrollbar-width:none;gap:6px;padding:2px 0 6px;display:flex;overflow-x:auto}.filter-bar::-webkit-scrollbar{display:none}.chip{color:#c7c7cc;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;height:30px;padding:0 11px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff29}.chip-count{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:500}.chip.is-active{background:var(--text);color:#1c1c1e;box-shadow:none}.chip.is-active .chip-count{color:#48484a}.group-title{align-items:baseline;gap:6px;margin-top:14px;display:flex}.group-title.tone-overdue{color:#da8fff}.group-title.tone-today{color:#ff6961}.group-count{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:500}.todo-list.tone-overdue{background:#bf5af233}.todo-list.tone-today{background:#ff453a29}.todo-list.tone-overdue .check-btn,.todo-list.tone-today .check-btn,.todo-list.tone-overdue .icon-btn,.todo-list.tone-today .icon-btn{color:#ffffffbf}.board{flex:1;align-items:flex-start;gap:12px;min-height:0;padding:8px 16px 16px;display:flex;overflow-x:auto}.board-col{background:var(--surface);border-radius:var(--radius);flex-direction:column;flex:1 0 232px;max-width:380px;max-height:100%;transition:box-shadow .12s,background .12s;display:flex;overflow:hidden;box-shadow:inset 0 0 0 2px #0000}.board-col.is-target{box-shadow:inset 0 0 0 2px var(--blue);background:#232326}.col-head{align-items:center;gap:8px;padding:8px 6px 6px 14px;display:flex}.col-head .dot{width:10px;height:10px}.col-head h2{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:14px;font-weight:600;overflow:hidden}.col-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.icon-btn.small{border-radius:8px;width:32px;height:32px}.col-cards{flex-direction:column;gap:8px;min-height:48px;padding:0 8px 8px;display:flex;overflow-y:auto}.col-empty{text-align:center;color:var(--muted);margin:0;padding:18px 8px;font-size:13px}.col-done{border-top:1px solid var(--line);width:100%;color:var(--muted);justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.new-col{border-radius:var(--radius);height:46px;color:var(--soft);border:1px dashed #ffffff38;flex:0 0 132px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.new-col:hover{color:var(--text);border-color:#fff6}.card{background:var(--elevated);cursor:grab;border-radius:12px;align-items:flex-start;gap:6px;padding:9px 4px 10px 6px;display:flex}.card:active{cursor:grabbing}.card.is-dragging{opacity:.35}.card.tone-overdue{background:#bf5af247}.card.tone-today{background:#ff453a38}.card .check-btn{color:var(--soft);padding:4px}.card-body{flex:1;min-width:0;padding-top:4px}.card .todo-title-row{flex:none;align-items:flex-start}.card .prio{margin-top:3px}.card-title{overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.3}.card-title.done{color:var(--muted);text-decoration:line-through}.card .deadline{color:var(--soft)}.card .deadline.is-overdue{color:#ff8a80}.card .deadline.is-today{color:#ffb340}.card.tone-overdue .check-btn,.card.tone-today .check-btn,.card.tone-overdue .icon-btn,.card.tone-today .icon-btn,.card.tone-overdue .deadline:not(.is-overdue):not(.is-today),.card.tone-today .deadline:not(.is-overdue):not(.is-today){color:#ffffffbf}.card .icon-btn{border-radius:8px;width:28px;height:28px}@media (hover:hover){.card{padding-right:12px;position:relative}.card .row-menu{position:absolute;top:6px;right:4px}.card .row-menu .icon-btn{opacity:0;background:var(--elevated);box-shadow:0 2px 8px #00000059}.card:hover .row-menu .icon-btn,.card:focus-within .row-menu .icon-btn,.card .row-menu .icon-btn[aria-expanded=true]{opacity:1}}.menu.menu-fixed{z-index:50;max-height:min(70vh,460px);position:fixed;top:auto;bottom:auto;overflow-y:auto}.pills{flex-wrap:wrap}.project-pill{color:var(--soft);align-items:center;gap:6px;display:inline-flex}.project-pill.has-value{color:var(--text)}.project-pill select{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;outline:none;max-width:160px;padding:0}.project-pill:focus-within{box-shadow:0 0 0 2px #0a84ff59}.projects-entry{background:var(--elevated);height:30px;color:var(--soft);border-radius:8px;flex-shrink:0;align-items:center;gap:6px;margin-right:6px;padding:0 10px;font-size:12px;font-weight:600;display:flex}.projects-screen{flex-direction:column;flex:1;min-height:0;display:flex}.projects-scroll{flex:1;min-height:0;padding:4px 16px 16px;overflow:auto}.projects-head{align-items:center;gap:4px;margin-bottom:4px;display:flex}.back-chevron{display:grid;transform:rotate(-90deg)}.projects-head h2{letter-spacing:-.02em;margin:0;font-size:17px}.projects-note{color:var(--muted);margin:0 4px 14px;font-size:13px;line-height:1.45}.project-row{align-items:center;gap:2px;padding:6px 6px 6px 8px;display:flex}.project-row+.project-row{border-top:1px solid var(--line)}.project-row.is-over{background:#0a84ff24}.drag-handle{width:28px;height:36px;color:var(--muted);cursor:grab;flex-shrink:0;place-items:center;display:grid}.project-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;padding:8px 6px;font-size:16px;overflow:hidden}.project-name-input{border-radius:10px;flex:1;width:auto;min-width:0;margin:0 4px;padding:8px 10px}.project-add{padding:10px 16px calc(12px + var(--safe-bottom));border-top:1px solid var(--line);background:#111113eb;flex-shrink:0;align-items:center;gap:8px;display:flex}.project-add input{flex:1;width:auto;padding:12px 14px}.icon-btn.danger{color:var(--danger)}.only-narrow{display:none}@media (width<=560px){.only-wide,.view-label{display:none}.only-narrow{display:inline}.view-btn{padding:0 9px}.tab-switch{max-width:none}}
