:root{--paper: #fbfbf9;--panel: #ffffff;--ink: #101112;--ink-soft: #6a6f76;--ink-faint: #9aa0a7;--rule: #e3e3de;--rule-strong: #101112;--now: #1c4ed8;--sans: -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", system-ui, sans-serif;--mono: ui-monospace, "SF Mono", "Menlo", "Roboto Mono", monospace;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}.mono{font-family:var(--mono);font-size:11px;letter-spacing:.01em;color:var(--ink-faint)}.label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-faint);margin:0 0 4px}.shell{position:relative;display:grid;grid-template-columns:300px minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);height:100%;overflow:hidden}.boot{display:flex;align-items:center;justify-content:center;height:100%}.chat{display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--rule);background:var(--panel)}.chat-head{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:16px 18px 12px;border-bottom:1px solid var(--rule)}.block-line{display:block}.knowledge{padding:12px 18px;border-bottom:1px solid var(--rule);background:#fcfcfa;max-height:40%;overflow-y:auto}.knowledge .label{margin-top:10px}.knowledge .label:first-child{margin-top:0}.storage-note{margin:10px 0 0}.group{display:flex;flex-direction:column;gap:9px}.undo-inline{margin-left:8px;padding:0;font-size:11px}.day-sep{margin:0;padding-bottom:2px;border-bottom:1px solid var(--rule)}.working{color:var(--ink-faint)}.jump{position:absolute;bottom:84px;left:50%;transform:translate(-50%);border:1px solid var(--rule-strong);background:var(--panel);padding:3px 10px;z-index:5}.question{border:1px solid var(--rule-strong);padding:12px;display:flex;flex-direction:column;gap:6px}.question-options{display:flex;flex-direction:column;gap:5px;margin-top:4px}.question-options .btn-line{text-align:left}.mark{font-size:15px;font-weight:700;letter-spacing:-.01em}.chat{position:relative}.thread{flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:14px}.empty{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.hint{margin:8px 0 0;line-height:1.4}.starter{border:1px solid var(--rule);background:transparent;text-align:left;padding:7px 10px;font-size:13px;color:var(--ink-soft);width:100%}.starter:hover{border-color:var(--rule-strong);color:var(--ink)}.msg{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.msg-text{margin:0;font-size:13.5px}.msg-user .msg-text{border-left:2px solid var(--ink);padding-left:10px;font-weight:500}.msg-note{margin:0;font-size:12px;color:var(--ink-faint)}.plan{margin:2px 0 0;padding:0 0 0 10px;list-style:none;border-left:1px solid var(--rule);width:100%}.plan li{font-size:12.5px;color:var(--ink-soft);padding:1px 0}.msg-actions{display:flex;gap:6px;margin-top:4px}.btn-solid{border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:6px 14px;font-size:12px;font-weight:600}.btn-solid:disabled{opacity:.25;cursor:default}.btn-line{border:1px solid var(--rule);background:transparent;padding:6px 14px;font-size:12px}.btn-line:hover{border-color:var(--rule-strong)}.btn-quiet{border:0;background:transparent;padding:4px 0;font-size:12px;color:var(--ink-faint);text-decoration:underline;text-underline-offset:3px}.btn-quiet:hover{color:var(--ink)}.composer{flex:0 0 auto;display:flex;align-items:flex-end;gap:8px;padding:12px 20px 20px;border-top:1px solid var(--rule)}.composer textarea{flex:1 1 auto;border:1px solid var(--rule);background:transparent;padding:9px 10px;font:inherit;font-size:13.5px;resize:none;max-height:140px}.composer textarea:focus{outline:none;border-color:var(--rule-strong)}.send{align-self:stretch}.schedule{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.schedule-head{flex:0 0 auto;display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:14px 20px 12px;border-bottom:1px solid var(--rule)}.schedule-head h1{margin:0;font-size:16px;font-weight:700;letter-spacing:-.01em}.head-left,.head-right{display:flex;align-items:center;gap:12px;min-width:0}.nav{display:flex;align-items:center;gap:2px}.nav-btn{border:1px solid var(--rule);background:transparent;min-width:26px;height:24px;padding:0 7px;font-size:12px}.nav-btn:hover:not(:disabled){border-color:var(--rule-strong)}.nav-btn:disabled{opacity:.35;cursor:default}.search{display:flex;align-items:center;gap:4px}.search input{border:1px solid var(--rule-strong);background:transparent;font:inherit;font-size:12px;padding:3px 7px;width:150px}.search input:focus{outline:none}.alert{flex:0 0 auto;padding:6px 20px;border-bottom:1px solid var(--rule);background:#fdfaf5;color:var(--attention, #8a5a2b)}.now-line{margin:0;font-size:13px;display:flex;align-items:baseline;gap:8px;min-width:0}.now-line .label{margin:0}.grid{--row-h: 48px;flex:1 1 auto;min-height:0;display:grid;grid-template-columns:40px repeat(7,1fr);overflow:hidden auto}.gutter,.col{display:flex;flex-direction:column;min-height:0;min-width:0;border-right:1px solid var(--rule)}.col:last-child{border-right:0}.col-past{background:#f7f7f4}.col-today{background:#fff}.col-head{flex:0 0 auto;position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:center;gap:5px;height:30px;border-bottom:1px solid var(--rule);background:var(--paper)}.col-today .col-head{background:#fff}.col-past .col-head{background:#f7f7f4}.day-name{font-size:11px;color:var(--ink-soft)}.done-count{font-size:9px}.load{flex:0 0 auto;position:sticky;top:30px;z-index:8;height:2px;background:var(--rule)}.load-fill{height:100%;background:var(--ink-faint)}.load-fill.is-over{background:var(--attention, #8a5a2b)}.day-num{font-size:11px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.day-num-today{background:var(--ink);color:var(--paper);padding:0 5px;font-weight:600}.rows{position:relative;display:grid;grid-template-rows:repeat(var(--rows, 18),1fr);flex:1 1 auto}.gutter .rows{min-height:calc(var(--rows, 18) * var(--row-h, 48px))}.hour-end{position:absolute;right:5px;bottom:1px;background:var(--paper);padding:0 1px;line-height:1}.hour{border-top:1px solid var(--rule);padding-right:5px;text-align:right;overflow:hidden}.hour .mono{font-size:11px;line-height:1.1}.slot{border-top:1px solid var(--rule)}.rows .slot:nth-child(-n+3),.rows .slot:nth-child(n+13){background:#10111204}.col-body{flex:1 1 auto;position:relative;min-height:calc(var(--rows, 18) * var(--row-h, 48px))}.col-body .rows{position:absolute;inset:0}.now-marker{position:absolute;left:0;right:0;height:1px;background:var(--now);z-index:3}.now-chip{position:absolute;left:2px;top:-6px;background:var(--now);color:#fff;font-size:8px;padding:0 3px;line-height:12px}.col-empty{position:absolute;top:22%;left:6px;right:6px;margin:0;text-align:center;line-height:1.3;pointer-events:none}.block{position:absolute;min-height:22px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;overflow:hidden;padding:2px 4px 2px 5px;background:var(--panel);border:1px solid var(--rule);border-left:1px solid var(--ink);z-index:2;cursor:grab;touch-action:none}.block:hover{border-color:var(--rule-strong);z-index:5}.block.is-dragging{opacity:.5;cursor:grabbing}.block-shared{box-shadow:-1px 0 0 var(--rule)}.block-row{display:flex;align-items:flex-start;gap:4px;width:100%;min-width:0}.block-title{font-size:11px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;flex:1 1 auto;min-width:0}.block-steps{font-size:9px;flex:0 0 auto}.block-check{flex:0 0 auto;width:11px;height:11px;margin:1px 0 0;accent-color:var(--ink);cursor:pointer}.block-now .block-check{accent-color:var(--paper)}.resize{position:absolute;left:0;right:0;bottom:0;height:8px;cursor:ns-resize;touch-action:none}.resize:hover:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--rule-strong)}.block-now{background:var(--ink);border-color:var(--ink);border-left-color:var(--now);border-left-width:2px;color:var(--paper)}.block-fixed{border-left-width:2px}.block-earlier{border-top:2px dotted var(--ink-faint)}.block-done{border-left-color:var(--rule);color:var(--ink-faint);background:#fcfcfa}.block-done .block-title{text-decoration:line-through}.block-event{background:repeating-linear-gradient(135deg,#fff,#fff 5px,#f2f2ee 5px 10px);border-style:dashed;border-left:2px solid var(--ink-soft);color:var(--ink-soft);cursor:default}.connect{display:flex;flex-direction:column;gap:4px;padding-bottom:12px;border-bottom:1px solid var(--rule);margin-bottom:10px}.connect .label{margin-top:8px}.connect .label:first-child{margin-top:0}.connect-input{width:100%;border:1px solid var(--rule);padding:5px 7px;background:var(--panel);font:inherit;font-size:12px;color:var(--ink)}.connect-input:focus{outline:none;border-color:var(--rule-strong)}.connect-actions{display:flex;align-items:center;gap:8px}.sync-code{margin:2px 0;padding:6px 8px;border:1px dashed var(--rule-strong);font-size:12px;letter-spacing:.05em;-webkit-user-select:all;user-select:all;word-break:break-all}.canvas{position:absolute;inset:0;cursor:cell}.now-marker{pointer-events:none}.draft{position:absolute;left:1px;right:1px;min-height:22px;z-index:6;display:flex;background:var(--panel);border:1px solid var(--ink)}.draft input{width:100%;border:0;padding:2px 5px;background:transparent;font:inherit;font-size:11px;color:var(--ink)}.draft input:focus{outline:none}.panel{position:absolute;top:0;right:0;bottom:0;z-index:20;width:320px;display:flex;flex-direction:column;background:var(--panel);border-left:1px solid var(--rule-strong)}.panel-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--rule)}.panel-head .label{margin:0}.panel-body{flex:1 1 auto;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:18px}.panel-title-row{display:flex;align-items:flex-start;gap:8px}.panel-check{flex:0 0 auto;margin-top:3px;accent-color:var(--ink)}.panel-title{flex:1 1 auto;min-width:0;border:0;padding:0;background:transparent;font:inherit;font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.panel-title:focus{outline:none}.panel-title.is-done{text-decoration:line-through;color:var(--ink-faint)}.panel-meta{display:flex;align-items:center;gap:6px;color:var(--ink-soft)}.duration{display:inline-flex;align-items:center;gap:3px}.duration input{width:44px;border:1px solid var(--rule);padding:1px 4px;background:transparent;font:inherit;font-size:12px;color:var(--ink)}.duration input:focus{outline:none;border-color:var(--rule-strong)}.step{display:flex;align-items:center;gap:8px;padding:4px 0}.step input[type=checkbox]{flex:0 0 auto;accent-color:var(--ink)}.step-title{flex:1 1 auto;min-width:0;font-size:13px}.step-title.is-done{text-decoration:line-through;color:var(--ink-faint)}.step-remove{flex:0 0 auto;border:0;padding:0 2px;background:transparent;color:var(--ink-faint);font-size:14px;line-height:1;cursor:pointer;opacity:0}.step:hover .step-remove,.step-remove:focus-visible{opacity:1}.step-remove:hover{color:var(--ink)}.step-add,.panel-notes{width:100%;margin-top:4px;border:1px solid var(--rule);padding:5px 6px;background:transparent;font:inherit;font-size:13px;color:var(--ink)}.step-add:focus,.panel-notes:focus{outline:none;border-color:var(--rule-strong)}.panel-notes{resize:vertical;line-height:1.45}.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.chip{border:1px solid var(--rule);padding:2px 7px;background:transparent;font:inherit;font-size:11px;color:var(--ink-soft);cursor:pointer}.chip:hover{border-color:var(--rule-strong);color:var(--ink)}.panel-actions{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:6px;padding:12px 14px;border-top:1px solid var(--rule)}.pool{width:232px;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--rule);background:var(--panel)}.pool-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:14px 14px 10px;border-bottom:1px solid var(--rule)}.pool-head .label{margin:0}.pool-list{flex:1 1 auto;min-height:0;overflow-y:auto}.pool-row{display:flex;align-items:flex-start;gap:7px;padding:7px 14px;border-bottom:1px solid var(--rule);cursor:grab;touch-action:none}.pool-row:hover{background:#fafaf8}.pool-title{flex:1 1 auto;border:0;background:transparent;text-align:left;padding:0;display:flex;flex-direction:column;gap:1px;font-size:12.5px;line-height:1.25;min-width:0}.verdict{text-transform:uppercase;letter-spacing:.06em;font-size:9px}.verdict-do{color:var(--ink);font-weight:600}.verdict-delegate{color:var(--now)}.verdict-drop,.verdict-ask{color:var(--attention, #8a5a2b)}.pool-empty,.pool-foot{padding:14px;margin:0}.pool-foot{border-top:1px solid var(--rule)}.pool-collapsed{writing-mode:vertical-rl;border:0;border-left:1px solid var(--rule);background:var(--panel);padding:12px 6px}.delegate-row input{width:100%;border:1px solid var(--rule);background:transparent;font:inherit;font-size:13px;padding:5px 7px}.delegate-row input:focus{outline:none;border-color:var(--rule-strong)}.scrim{position:fixed;inset:0;background:#1011122e;display:flex;align-items:center;justify-content:center;padding:24px}.sheet{background:var(--panel);border:1px solid var(--rule-strong);padding:22px;width:min(380px,100%)}.sheet h2{margin:0 0 8px;font-size:17px;font-weight:600}.sheet-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}button:focus-visible,textarea:focus-visible{outline:2px solid var(--now);outline-offset:1px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:1180px){.shell{grid-template-columns:280px minmax(0,1fr)}.pool{display:none}}@media(max-width:900px){.shell{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(0,1.4fr)}.panel{position:fixed;left:0;width:100%;border-left:0;border-top:1px solid var(--rule-strong)}.chat{border-right:0;border-bottom:1px solid var(--rule)}.grid{grid-template-columns:40px repeat(7,minmax(220px,1fr));overflow:auto}.gutter{position:sticky;left:0;z-index:9;background:var(--paper)}}@media(pointer:coarse){.composer textarea,.search input,.draft input,.panel-title,.step-add,.panel-notes,.duration input,.delegate-row input{font-size:16px}.resize{height:14px}}
