:root{--bg: #fbfbfa;--panel: #f3f3f1;--ink: #1d1d1b;--muted: #74746f;--faint: #a6a6a0;--line: #e4e4e0;--sel: #e9eefb;--sel-line: #3b63d6;--accent: #3b63d6;--late: #c4352b;--soon: #a86a00;--ok: #2f7d4f;--decide: #b4561a;--agent: #6b4fc4;--other: #2b7a8c;--toast: #1d1d1b;--toast-ink: #fbfbfa;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,system-ui,sans-serif;font-size:14px;color:var(--ink)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #17181a;--panel: #1e1f22;--ink: #e7e7e4;--muted: #9a9a95;--faint: #66665f;--line: #2c2d31;--sel: #232b40;--sel-line: #7d9bf0;--accent: #7d9bf0;--late: #f0746a;--soon: #e2b04a;--ok: #6ccf93;--decide: #f0a06a;--agent: #b29cf5;--other: #6ec3d6;--toast: #e7e7e4;--toast-ink: #17181a}}:root[data-theme=dark]{--bg: #17181a;--panel: #1e1f22;--ink: #e7e7e4;--muted: #9a9a95;--faint: #66665f;--line: #2c2d31;--sel: #232b40;--sel-line: #7d9bf0;--accent: #7d9bf0;--late: #f0746a;--soon: #e2b04a;--ok: #6ccf93;--decide: #f0a06a;--agent: #b29cf5;--other: #6ec3d6;--toast: #e7e7e4;--toast-ink: #17181a}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg)}#root{height:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;border:1px solid var(--line);border-radius:3px;padding:0 4px;margin:0 1px}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.link{background:none;border:0;color:var(--muted);padding:2px 4px}.link:hover{color:var(--ink)}.app{height:100%;display:grid;grid-template-columns:220px minmax(0,1fr);grid-template-rows:auto auto 1fr;grid-template-areas:"top top" "banner banner" "side list"}.app.with-detail{grid-template-columns:220px minmax(0,1fr) 360px;grid-template-areas:"top top top" "banner banner banner" "side list detail"}.top{grid-area:top;display:flex;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:2px;margin-right:8px}.tab{padding:4px 10px;border-radius:5px;font-weight:600;border:0;background:none;color:var(--muted)}.tab:hover{color:var(--ink)}.tab.on{background:var(--panel);color:var(--ink)}.spacer{flex:1}.search{flex:0 1 260px;padding:5px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}.holders{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.holders button{background:none;border:0;padding:4px 9px;color:var(--muted)}.holders button+button{border-left:1px solid var(--line)}.holders button.on{background:var(--panel);color:var(--ink)}.done-toggle{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:13px}.banner{grid-area:banner;background:var(--panel);color:var(--muted);font-size:12px;padding:4px 16px}.app.view-deck{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "banner" "list"}.app.view-deck.with-detail{grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"top top" "banner banner" "list detail"}.sidebar{grid-area:side;border-right:1px solid var(--line);overflow-y:auto;padding:8px 0}.topic-select{display:none}.tree{list-style:none;margin:0;padding:0}.tree .sep{height:1px;background:var(--line);margin:6px 12px}.topic{display:flex;align-items:center;padding:0 8px 0 12px;height:28px}.topic.depth-1{padding-left:26px}.topic .name{flex:1;min-width:0;text-align:left;background:none;border:0;padding:4px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic.depth-1 .name{color:var(--muted)}.topic.on{background:var(--sel)}.topic.on .name{color:var(--ink);font-weight:600}.topic .count{color:var(--faint);font-size:12px;font-variant-numeric:tabular-nums}.topic .tools{display:none;gap:0}.topic:hover .tools{display:flex}.topic:hover .count{display:none}.tools button{background:none;border:0;color:var(--faint);padding:2px 4px;font-size:12px}.tools button:hover{color:var(--ink)}.name.add{color:var(--faint)}.name-input{width:100%;padding:3px 6px;border:1px solid var(--accent);border-radius:4px;background:var(--bg)}.list{grid-area:list;overflow-y:auto;display:flex;flex-direction:column;min-width:0}.list ul{list-style:none;margin:0;padding:0}.list{container-type:inline-size}.columns{flex:1;padding-bottom:16px}.columns .block{break-inside:avoid}@container (min-width: 820px){.columns{column-count:2;column-gap:0;column-rule:1px solid var(--line)}}.quickadd{position:sticky;top:0;z-index:2;background:var(--bg);display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--line)}.quickadd .plus{color:var(--faint);width:18px;text-align:center}.quickadd input{flex:1;border:0;outline:none;background:none;padding:4px 0}.quickadd input::placeholder{color:var(--faint)}.empty{color:var(--muted);padding:24px 16px}.group{display:flex;justify-content:space-between;align-items:baseline;padding:10px 16px 3px;font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.group.depth-1{padding:8px 16px 2px 42px;text-transform:none;letter-spacing:0;font-weight:500}.group .count{color:var(--faint);font-weight:400}.row{display:flex;align-items:center;gap:8px;height:29px;padding:0 12px 0 14px;border-left:2px solid transparent;cursor:default;scroll-margin:52px 0 40px}.row:hover{background:var(--panel)}.row.sel{background:var(--sel);border-left-color:var(--sel-line)}.check{flex:none;width:15px;height:15px;padding:0;border-radius:50%;border:1.5px solid var(--faint);background:none;font-size:10px;line-height:1;color:var(--ok)}.check:hover{border-color:var(--ok)}.glyph{flex:none;width:16px;text-align:center;color:var(--muted)}.h-me_decide .glyph{color:var(--decide)}.h-agent .glyph{color:var(--agent)}.h-other .glyph{color:var(--other)}.h-parked .title{color:var(--muted)}.title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title .who{color:var(--muted)}.prio{color:var(--late);font-weight:700;margin-right:4px}.title-edit{flex:1;padding:2px 6px;border:1px solid var(--accent);border-radius:4px;background:var(--bg)}.pin{color:var(--accent);font-size:10px}.src{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:0 4px}.due{flex:none;min-width:52px;text-align:right;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.due.late{color:var(--late);font-weight:600}.due.soon{color:var(--soon)}.row.snoozed{opacity:.55}.keys{position:sticky;bottom:0;background:var(--bg);border-top:1px solid var(--line);padding:6px 16px;font-size:12px;color:var(--faint)}.detail{grid-area:detail;border-left:1px solid var(--line);background:var(--panel);overflow-y:auto;padding:12px 16px 24px}.detail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px}.d-title{width:100%;font-size:16px;font-weight:600;border:1px solid transparent;border-radius:5px;padding:4px 6px;margin:0 -6px 10px;background:none}.d-title:hover,.d-title:focus{border-color:var(--line);background:var(--bg);outline:none}.fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.fields label,.notes-label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted)}.fields select,.fields input:not([type=checkbox]),.notes-label textarea{padding:5px 6px;border:1px solid var(--line);border-radius:5px;background:var(--bg);color:var(--ink);font-size:13px;width:100%}.fields .check-label{flex-direction:row;align-items:center;gap:6px;grid-column:1 / -1;color:var(--ink);font-size:13px}.notes-label{margin-top:12px}.notes-label textarea{resize:vertical;font-family:inherit}.status-actions{display:flex;gap:8px;margin:14px 0 6px}.status-actions button{padding:5px 12px;border-radius:5px;border:1px solid var(--line);background:var(--bg)}.status-actions button.quiet{color:var(--muted)}.detail h3{font-size:12px;text-transform:uppercase;letter-spacing:.02em;color:var(--muted);margin:18px 0 6px}.history{list-style:none;margin:0;padding:0;font-size:12px}.history li{display:flex;gap:8px;padding:3px 0;border-bottom:1px solid var(--line)}.history .when{color:var(--faint);flex:none;width:92px;font-variant-numeric:tabular-nums}.history .what{flex:1;min-width:0;overflow-wrap:anywhere}.history .actor{color:var(--agent)}.toast{position:fixed;bottom:44px;left:50%;transform:translate(-50%);background:var(--toast);color:var(--toast-ink);padding:7px 14px;border-radius:6px;font-size:13px;box-shadow:0 4px 16px #0000002e;max-width:calc(100vw - 32px)}.toast.error{background:var(--late);color:#fff}.centered{height:100%;display:grid;place-items:center;padding:16px}.signin{display:flex;flex-direction:column;gap:10px;width:min(320px,100%)}.signin h1{font-size:20px;margin:0 0 6px}.signin input{padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}.signin button{padding:8px 10px;border-radius:6px;border:0;background:var(--accent);color:#fff}.signin .error{color:var(--late);margin:0;font-size:13px}@media(max-width:1100px){.app.with-detail{grid-template-columns:200px minmax(0,1fr) 320px}}@media(max-width:760px){.app,.app.with-detail{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto 1fr;grid-template-areas:"top" "banner" "side" "list"}.top{flex-wrap:wrap;gap:8px}.search{flex:1 1 100%;order:5}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:8px 16px;overflow:visible}.tree{display:none}.topic-select{display:block;width:100%;padding:6px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}.keys{display:none}.detail{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;border:0}}.deck{grid-area:list;overflow-y:auto;display:flex;flex-direction:column;min-width:0;container-type:inline-size}.deck-inner{flex:1;width:100%;max-width:1500px;margin:0 auto;padding:4px 0 24px}.deck-cols{display:grid;grid-template-columns:minmax(0,1fr)}@container (min-width: 900px){.deck-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px}.deck-cols .strips{grid-template-columns:minmax(0,1fr)}.deck-col+.deck-col{border-left:1px solid var(--line)}}.day{font-size:20px;font-weight:650;letter-spacing:-.01em;margin:12px 16px 4px}.deck .quickadd{position:relative;border:1px solid var(--line);border-radius:8px;margin:10px 16px 6px}.deck-section{margin-top:14px}.deck-section h2{display:flex;align-items:baseline;gap:8px;margin:0;padding:0 16px 6px;font-size:12px;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.deck-section h2 .count{color:var(--faint);font-weight:500;letter-spacing:0}.deck-section h2 .section-action{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:400}.deck-section ul{list-style:none;margin:0;padding:0}.deck-section.loud h2{color:var(--decide)}.deck-section.loud.is-empty h2{color:var(--muted)}.deck-section.loud:not(.is-empty) ul{border:1px solid color-mix(in srgb,var(--decide) 30%,var(--line));border-radius:8px;margin:0 12px;overflow:hidden}.deck-section.loud:not(.is-empty) .row{padding:0 12px}.section-empty{margin:0;padding:2px 16px;color:var(--faint);font-size:13px}.strips{display:grid;grid-template-columns:1fr 1fr;gap:0 8px;margin-top:8px}.deck-section.quiet h2{font-weight:500}.deck-section.quiet .row{height:28px;font-size:13px}.reason{flex:none;font-size:11px;padding:0 6px;border-radius:9px;line-height:17px;background:var(--panel);color:var(--muted)}.reason.r-overdue{color:var(--late);background:color-mix(in srgb,var(--late) 12%,transparent)}.reason.r-chase{color:var(--other);background:color-mix(in srgb,var(--other) 12%,transparent)}.reason.r-due-today{color:var(--soon);background:color-mix(in srgb,var(--soon) 14%,transparent)}.reason.r-decide{color:var(--decide);background:color-mix(in srgb,var(--decide) 12%,transparent)}.topic-chip{flex:none;max-width:30%;font-size:12px;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pick{max-width:860px;margin:12px 16px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.pick-lead{margin:0 0 12px;font-size:15px}.pick-list{list-style:none;margin:0;padding:0;counter-reset:pick}.pick-list li{counter-increment:pick;display:flex;align-items:center;gap:10px;min-height:36px;padding:0 4px;border-bottom:1px solid var(--line)}.pick-list li:before{content:counter(pick);color:var(--faint);width:14px;font-size:12px;text-align:right}.pick-list .title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick-tools{display:flex;gap:2px}.pick-tools button{background:none;border:0;color:var(--faint);padding:2px 6px;border-radius:4px}.pick-tools button:hover{color:var(--ink);background:var(--bg)}.pick-more{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 0;font-size:13px}.chip{border:1px dashed var(--line);background:var(--bg);border-radius:14px;padding:2px 10px;font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip:hover{border-style:solid;border-color:var(--accent)}.pick-add{position:relative;margin-top:10px}.pick-add input{width:100%;padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg)}.pick-matches{position:absolute;z-index:5;left:0;right:0;list-style:none;margin:2px 0 0;padding:4px;background:var(--bg);border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 18px #0000001f}.pick-matches button{display:block;width:100%;text-align:left;background:none;border:0;padding:5px 8px;border-radius:4px}.pick-matches button:hover{background:var(--sel)}.pick-actions{display:flex;gap:8px;margin-top:16px}button.primary{padding:7px 16px;border-radius:6px;border:0;background:var(--accent);color:#fff;font-weight:600}button.primary:disabled{opacity:.5;cursor:default}button.quiet{padding:7px 14px;border-radius:6px;border:1px solid var(--line);background:var(--bg);color:var(--muted)}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#00000059;display:grid;place-items:start center;padding:6vh 16px 16px;overflow-y:auto}.modal{width:min(640px,100%);background:var(--bg);color:var(--ink);border-radius:12px;box-shadow:0 20px 60px #0000004d;padding:16px 18px;display:flex;flex-direction:column;gap:10px;max-height:88vh}.modal.wide{width:min(1080px,100%)}.modal header{display:flex;justify-content:space-between;align-items:center}.modal h2{margin:0;font-size:16px}.modal p{margin:0}.modal textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font:13px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;resize:vertical}.modal footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal .error{color:var(--late);font-size:13px}.review-scroll{overflow:auto;min-height:0;flex:1;border:1px solid var(--line);border-radius:8px}.review{width:100%;border-collapse:collapse;font-size:13px}.review th{position:sticky;top:0;background:var(--panel);text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:6px 8px}.review td{padding:4px 6px;border-top:1px solid var(--line);vertical-align:top}.review input:not([type=checkbox]),.review select{width:100%;padding:4px 6px;border:1px solid transparent;border-radius:4px;background:none;font-size:13px}.review input:not([type=checkbox]):hover,.review select:hover,.review input:not([type=checkbox]):focus,.review select:focus{border-color:var(--line);background:var(--bg)}.review td:first-child{width:28px;padding-top:8px;text-align:center}.review .cell-title{min-width:260px}.review .sub{display:block;padding:0 6px 2px;font-size:12px;color:var(--muted)}.review select{min-width:150px}.review select.is-new{color:var(--accent)}.review tr.unsure td{background:color-mix(in srgb,var(--soon) 8%,transparent)}.review tr.dropped td{opacity:.4}.prio-toggle{width:24px;height:24px;border:1px solid var(--line);border-radius:4px;background:none;color:var(--faint)}.prio-toggle.high{color:var(--late);font-weight:700;border-color:var(--late)}.skipped{padding:8px 10px;font-size:13px}.skipped summary{cursor:pointer;color:var(--muted)}.skipped ul{margin:6px 0 0;padding-left:18px}@media(max-width:760px){.app.view-deck,.app.view-deck.with-detail{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "banner" "list"}.strips{grid-template-columns:1fr}.topic-chip{display:none}.day{font-size:19px}}.row{position:relative}.row-actions{flex:none;display:flex;gap:2px;opacity:.55}.row:hover .row-actions,.row.sel .row-actions{opacity:1}.row-actions button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:4px;background:none;color:var(--faint)}.row-actions button:hover{color:var(--ink);background:var(--bg)}.row-actions button.danger:hover{color:var(--late)}.move-picker{position:absolute;z-index:15;left:36px;top:30px;width:280px;background:var(--bg);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px #0000002e;padding:6px}.move-picker input{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:5px;background:var(--bg);margin-bottom:4px}.move-picker ul{list-style:none;margin:0;padding:0;max-height:280px;overflow-y:auto}.mp-opt{display:block;width:100%;text-align:left;border:0;background:none;padding:5px 8px;border-radius:4px;font-size:13px}.mp-opt.depth-1{padding-left:22px;color:var(--muted)}.mp-opt.hi{background:var(--sel);color:var(--ink)}.mp-opt.current{font-weight:600}.mp-none{padding:6px 8px;color:var(--faint);font-size:13px}.move-picker.up{top:auto;bottom:30px}.shelf-head{display:flex;align-items:baseline;gap:12px;padding:10px 16px 8px;border-bottom:1px solid var(--line)}.shelf-head h2{margin:0;font-size:15px}.shelf-head .muted{font-size:12.5px}.row .restore{flex:none;display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;border:1px solid var(--line);border-radius:5px;background:none;color:var(--ink);font-size:12px}.row .restore:hover{background:var(--bg);border-color:var(--faint)}.row.closed .title{text-decoration:none;color:var(--muted)}.row.closed .check{border-color:var(--ok)}.shelf-head .empty-trash,.shelf-head .confirm button{padding:3px 10px;border:1px solid var(--line);border-radius:5px;background:none;color:var(--ink);font-size:12.5px}.shelf-head .empty-trash{margin-left:auto}.shelf-head .confirm{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12.5px}.shelf-head .confirm .danger{background:var(--late);border-color:var(--late);color:#fff}.shelf-head{flex-wrap:wrap}.quickadd{z-index:12}.hash-menu{position:absolute;left:40px;top:calc(100% - 4px);width:300px;max-height:300px;overflow-y:auto;list-style:none;margin:0;padding:6px;background:var(--bg);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px #0000002e}.undo-redo{display:flex;gap:2px;margin-right:6px}.undo-redo button{width:28px;height:26px;padding:0;border:0;border-radius:5px;background:none;color:var(--muted);font-size:16px;line-height:1}.undo-redo button:hover:not(:disabled){background:var(--sel);color:var(--ink)}.undo-redo button:disabled{opacity:.3;cursor:default}.close-x{display:grid;place-items:center;width:26px;height:26px;padding:0;border:0;border-radius:5px;background:none;color:var(--muted)}.close-x:hover{background:var(--bg);color:var(--ink)}.export{position:relative}.export-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:30;width:300px;padding:6px;background:var(--bg);border:1px solid var(--line);border-radius:8px;box-shadow:0 10px 30px #0000002e}.export-menu button{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:8px 10px;border:0;border-radius:6px;background:none}.export-menu button:hover{background:var(--sel)}.export-menu .muted{font-size:12px}
