:root{--ink:#141414;--ink-80:#141414cc;--ink-70:#141414b3;--ink-60:#14141499;--ink-55:#1414148c;--ink-45:#14141473;--ink-40:#14141466;--ink-35:#14141459;--ink-25:#14141440;--ink-12:#1414141f;--ink-10:#1414141a;--ink-8:#14141414;--ink-6:#1414140f;--ink-5:#1414140d;--ink-4:#1414140a;--surface:#fff;--side:#faf9f7;--canvas:#fcfbfa;--accent:#e8604c;--accent-ink:#c24d38;--accent-soft:#fde3dd;--accent-wash:#e8604c0a;--r-chip:7px;--r-btn:8px;--r-card:10px;--r-pop:12px;--shadow-pop:0 0 0 1px var(--ink-8), 0 18px 40px -14px #14141459;--shadow-float:0 18px 36px -12px #14141459;--shadow-card:0 0 0 1px var(--ink-8), 0 1px 2px #1414140d, 0 8px 18px -12px #14141438;--ease:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--land:cubic-bezier(.34, 1.3, .64, 1);--font:Geist, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*,:before,:after{box-sizing:border-box;border:0 solid;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;line-height:1.5}body{background:var(--surface);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;overflow:hidden}button,input,textarea{font:inherit;color:inherit;letter-spacing:inherit;background:0 0}button{cursor:pointer}button:disabled{cursor:default}ul{list-style:none}kbd{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}html.is-dragging,html.is-dragging *{-webkit-user-select:none;user-select:none;cursor:grabbing!important}.dot{border-radius:999px;flex-shrink:0;width:8px;height:8px}.app{height:100dvh;display:flex;overflow:hidden}.sidebar{border-right:1px solid var(--ink-6);background:var(--side);flex-direction:column;flex-shrink:0;width:232px;padding:14px 10px 10px;display:flex}.brand{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:9px;padding:4px 10px 16px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.brand-mark{background:var(--accent);border-radius:6px;width:18px;height:12px;box-shadow:inset 0 -2.5px #0000001f}.nav{flex-direction:column;gap:2px;display:flex}.nav-item{border-radius:var(--r-btn);height:32px;color:var(--ink-60);transition:color .15s var(--ease), background-color .15s var(--ease);align-items:center;gap:10px;padding-inline:10px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex}.nav-item:hover{background:var(--ink-4);color:var(--ink)}.nav-item.is-on{background:var(--ink-6);color:var(--ink)}.nav-heading{color:var(--ink-45);margin:22px 10px 6px;font-size:11px;font-weight:600}.nav-projects{flex-direction:column;gap:1px;min-height:0;display:flex;overflow-y:auto}.nav-project{border-radius:var(--r-btn);height:30px;color:var(--ink-70);transition:background-color .15s var(--ease);align-items:center;gap:9px;padding-inline:10px;font-size:13px;text-decoration:none;display:flex}.nav-project:hover{background:var(--ink-4);color:var(--ink)}.nav-project-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.nav-count{color:var(--ink-40);font-variant-numeric:tabular-nums;font-size:11px}.nav-empty{color:var(--ink-45);padding:2px 10px;font-size:12px;line-height:1.5}.sidebar-foot{color:var(--ink-35);margin-top:auto;padding:8px 10px 0;font-size:11px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.page{flex-direction:column;height:100%;min-height:0;display:flex}.page-bar{border-bottom:1px solid var(--ink-6);flex:none;justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 16px 0 20px;display:flex}.page-bar-left{align-items:center;gap:10px;min-width:0;display:flex}.page-title{letter-spacing:-.01em;white-space:nowrap;font-size:17px;font-weight:600}.page-tip{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-45);font-size:12px;overflow:hidden}.page-body{flex:1;min-height:0;display:flex;position:relative}.nav-arrows,.tools{align-items:center;gap:2px;display:flex}.tools{gap:8px}.icon-btn{border-radius:var(--r-btn);width:28px;height:28px;color:var(--ink-55);transition:color .15s var(--ease), background-color .15s var(--ease);place-items:center;display:grid}.icon-btn:hover{background:var(--ink-5);color:var(--ink)}.tool-btn{border-radius:var(--r-btn);height:28px;color:var(--ink-70);box-shadow:0 0 0 1px var(--ink-10);transition:color .15s var(--ease), background-color .15s var(--ease);align-items:center;gap:4px;padding-inline:10px;font-size:12px;font-weight:500;display:flex}.tool-btn:hover{background:var(--ink-4);color:var(--ink)}.tool-btn.is-active{background:var(--ink-6);color:var(--ink)}.menu-wrap{position:relative}.view-menu{z-index:60;border-radius:var(--r-pop);background:var(--surface);width:160px;box-shadow:0 0 0 1px var(--ink-8), 0 16px 32px -12px #1414144d;animation:pop-in .14s var(--ease-out);padding:4px;position:absolute;top:34px;right:0}.view-option{border-radius:var(--r-btn);width:100%;color:var(--ink-70);transition:background-color .15s var(--ease);justify-content:space-between;align-items:center;padding:6px 10px;font-size:13px;display:flex}.view-option:hover{background:var(--ink-5)}.view-option.is-on{color:var(--ink);font-weight:600}.view-option kbd{border:1px solid var(--ink-12);color:var(--ink-45);border-radius:4px;padding-inline:6px;font-size:11px}@keyframes pop-in{0%{opacity:0;translate:0 4px;scale:.98}}.tray{border-right:1px solid var(--ink-6);background:var(--surface);width:272px;transition:background-color .3s var(--ease-out);flex-direction:column;flex-shrink:0;display:flex;position:relative}.tray.is-drop{background:var(--accent-wash)}.drop-hint{pointer-events:none;z-index:10;border-radius:var(--r-pop);color:var(--accent-ink);opacity:0;transition:opacity .15s var(--ease);border:1.5px dashed #e8604c73;justify-content:center;align-items:flex-end;padding-bottom:16px;font-size:12px;font-weight:500;display:flex;position:absolute;inset:8px}.drop-hint.is-on{opacity:1}.tray-scroll{height:100%;padding:16px;overflow-y:auto}.tray-head{justify-content:space-between;align-items:baseline;display:flex}.tray-title{font-size:13px;font-weight:600}.tray-count{color:var(--ink-40);font-size:11px}.tray-tip{color:var(--ink-40);margin:4px 0 10px;font-size:11.5px;line-height:1.45}.tray-section{color:var(--ink-45);margin:22px 0 6px;font-size:11px;font-weight:600}.task-list{flex-direction:column;gap:2px;display:flex}.task{cursor:grab;border-radius:var(--r-btn);-webkit-user-select:none;user-select:none;transition:background-color .15s var(--ease), opacity .15s var(--ease);align-items:center;gap:10px;margin-inline:-8px;padding:4px 8px;display:flex}.task:hover{background:var(--ink-4)}.task.is-indent{padding-left:26px}.task.is-dragging{opacity:.4}.task-check{border:1.5px solid var(--ink-25);color:#fff;width:16px;height:16px;transition:background-color .2s var(--ease), border-color .2s var(--ease), scale .2s var(--ease);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.task-check:hover{border-color:var(--accent)}.task-check:active{scale:.9}.task-check.is-done{border-color:var(--accent);background:var(--accent);animation:tick .32s var(--spring)}@keyframes tick{40%{scale:1.2}}.task-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-80);transition:color .2s var(--ease);flex:1;font-size:13px;overflow:hidden}.task-title.is-done{color:var(--ink-35);text-decoration:line-through}.title-edit{background:var(--surface);box-shadow:0 0 0 1.5px var(--accent);border-radius:4px;outline:none;margin-left:-3px;padding:0 3px}.task-x{width:20px;height:20px;color:var(--ink-35);opacity:0;transition:opacity .15s var(--ease), background-color .15s var(--ease);border-radius:6px;flex-shrink:0;place-items:center;display:grid}.task:hover .task-x{opacity:1}.task-x:hover{background:var(--ink-6);color:var(--ink)}.due{background:var(--ink-5);height:18px;color:var(--ink-55);border-radius:999px;flex-shrink:0;align-items:center;gap:3px;padding-inline:6px;font-size:10.5px;font-weight:500;display:inline-flex}.due.is-hot{background:var(--accent-soft);color:var(--accent-ink)}.task-add{border-radius:var(--r-btn);color:var(--ink-40);align-items:center;gap:10px;margin:4px -8px 0;padding:4px 8px;display:flex}.task-add:focus-within{background:var(--ink-4)}.task-add input{width:100%;color:var(--ink);outline:none;font-size:13px}.task-add input::placeholder{color:var(--ink-40)}.project{margin-bottom:6px}.project-row{cursor:grab;border-radius:var(--r-btn);-webkit-user-select:none;user-select:none;transition:background-color .15s var(--ease), opacity .15s var(--ease);align-items:center;gap:8px;margin-inline:-8px;padding:5px 8px 5px 4px;display:flex}.project-row:hover{background:var(--ink-4)}.project-row.is-dragging{opacity:.4}.project-toggle{width:18px;height:18px;color:var(--ink-40);transition:rotate .2s var(--ease), color .15s var(--ease);border-radius:5px;place-items:center;display:grid}.project-toggle.is-open{rotate:90deg}.project-toggle:hover{color:var(--ink)}.project-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.project-count{color:var(--ink-40);font-variant-numeric:tabular-nums;font-size:11px}.tray-ghost{pointer-events:none;z-index:200;border-radius:var(--r-chip);background:var(--fill);max-width:220px;color:var(--ink);padding:4px 8px 4px 12px;font-size:12px;font-weight:600;position:fixed;overflow:hidden;rotate:2deg;box-shadow:0 14px 28px -12px #14141466}.tray-ghost p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.week{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.week-head,.due-row{flex:none;display:flex}.gutter-cell{flex-shrink:0;width:56px}.week-cols{grid-template-columns:repeat(var(--days), minmax(0, 1fr));flex:1;min-width:0;display:grid}.day-head{border-left:1px solid var(--ink-6);text-align:left;min-width:0;height:32px;color:var(--ink-55);transition:color .15s var(--ease);align-items:center;padding-inline:8px;font-size:12px;font-weight:500;display:flex}.day-head:hover{color:var(--ink)}.day-head.is-today{color:var(--accent)}.due-row{border-top:1px solid var(--ink-6);border-bottom:1px solid var(--ink-6)}.due-label{text-align:right;color:var(--ink-40);padding:8px 8px 0 0;font-size:10px}.due-cell{border-left:1px solid var(--ink-6);min-width:0;min-height:30px;transition:background-color .15s var(--ease), box-shadow .15s var(--ease);flex-direction:column;gap:2px;padding:3px;display:flex}.due-cell.is-over{background:#e8604c0f;box-shadow:inset 0 0 0 1.5px #e8604c73}.due-wrap{position:relative}.due-pill{cursor:grab;touch-action:none;background:var(--fill);height:20px;color:var(--ink);-webkit-user-select:none;user-select:none;animation:pop-in .2s var(--ease-out);border-radius:6px;align-items:center;gap:4px;padding-inline:6px;font-size:11px;font-weight:600;display:flex}.due-pill svg{color:var(--bar)}.due-pill span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.due-pill.is-done{opacity:.5;text-decoration:line-through}.due-pop{z-index:45;border-radius:var(--r-pop);background:var(--surface);width:220px;box-shadow:var(--shadow-pop);animation:pop-in .14s var(--ease-out);padding:12px;position:absolute;top:24px;left:0}.due-pop-when{color:var(--ink-60);margin-top:2px;font-size:12px}.due-pop-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.pill-btn{border-radius:var(--r-btn);height:26px;color:var(--ink-70);box-shadow:0 0 0 1px var(--ink-10);transition:background-color .15s var(--ease), color .15s var(--ease);padding-inline:10px;font-size:12px;font-weight:500}.pill-btn:hover{background:var(--ink-4);color:var(--ink)}.week-scroll{overscroll-behavior:contain;scrollbar-width:none;flex:1;min-height:0;overflow-y:auto}.week-scroll::-webkit-scrollbar{display:none}.week-body{padding-top:8px;display:flex}.gutter{flex-shrink:0;width:56px}.gutter-hour{text-align:right;color:var(--ink-40);padding-right:8px;font-size:10px;translate:0 -6px}.grid{grid-template-columns:repeat(var(--days), minmax(0, 1fr));touch-action:pan-y;-webkit-user-select:none;user-select:none;flex:1;min-width:0;display:grid;position:relative}.day{border-left:1px solid var(--ink-6);background-image:linear-gradient(to bottom, var(--ink-6) 1px, transparent 1px);background-size:100% 60px;min-width:0;position:relative}.day.is-today{background-color:#e8604c05}.chip{touch-action:none;border-radius:var(--r-chip);background:var(--fill);color:var(--ink);-webkit-user-select:none;user-select:none;transition-property:top,height,left,width,opacity,box-shadow;transition-duration:.2s;transition-timing-function:var(--ease-out);padding-left:12px;padding-right:8px;position:absolute;overflow:hidden}.chip.is-short,.float-chip.is-short{align-items:center;display:flex}.chip.is-tall,.float-chip.is-tall{padding-block:4px}.chip.is-stacked{box-shadow:0 0 0 1.5px #fff}.chip.is-selected{box-shadow:0 0 0 2px var(--bar)}.chip.is-lifted{opacity:.4}.chip:not(.is-lifted):hover{filter:brightness(.98)}.chip.is-done{opacity:.6}.chip.is-done .chip-title{text-decoration:line-through}.chip-bar{pointer-events:none;background:var(--bar);border-radius:999px;width:3px;position:absolute;top:4px;bottom:4px;left:4px}.chip-title,.chip-time{text-overflow:ellipsis;white-space:nowrap;line-height:16px;overflow:hidden}.chip-title{font-size:12px;font-weight:600}.chip-time{opacity:.7;font-size:11px}.chip-tick{vertical-align:-1px;color:#fff;border:1.5px solid;border-color:var(--bar);border-radius:999px;justify-content:center;align-items:center;width:10px;height:10px;margin-right:5px;display:inline-flex}.chip-tick.is-on{background:var(--bar)}.chip-resize{inset-inline:0;cursor:ns-resize;height:8px;position:absolute;bottom:0}.chip-resize.is-off{pointer-events:none}.chip-input{width:100%;color:inherit;outline:none;font-size:12px;font-weight:600;line-height:16px}.chip-input::placeholder{color:currentColor;opacity:.5}.float{pointer-events:none;z-index:200;will-change:translate;position:fixed;top:0;left:0}.float-chip{border-radius:var(--r-chip);background:var(--fill);height:100%;color:var(--ink);box-shadow:var(--shadow-float);padding-left:12px;padding-right:8px;position:relative;overflow:hidden;rotate:-2deg}.popover{z-index:40;border-radius:var(--r-pop);background:var(--surface);width:230px;box-shadow:var(--shadow-pop);animation:pop-in .14s var(--ease-out);padding:14px;position:absolute}.popover.is-right{left:calc(100% + 6px)}.popover.is-left{right:calc(100% + 6px)}.popover-kind{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-40);margin-bottom:2px;font-size:10.5px;font-weight:600}.popover-title{color:var(--ink);font-size:14px;font-weight:600}.popover-when{color:var(--ink-60);--cal-text:#1f1f1f;--cal-muted:#8d877f;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.popover-tones{align-items:center;gap:6px;margin-top:12px;display:flex}.tone-dot{width:16px;height:16px;transition:scale .15s var(--ease), box-shadow .15s var(--ease);border-radius:999px}.tone-dot:hover{scale:1.1}.tone-dot.is-on{box-shadow:0 0 0 2px #fff, 0 0 0 3.5px var(--ink)}.done-btn{border-radius:var(--r-btn);width:100%;height:30px;color:var(--ink-70);box-shadow:0 0 0 1px var(--ink-10);transition:background-color .15s var(--ease), color .15s var(--ease);justify-content:center;align-items:center;gap:6px;margin-top:12px;font-size:12px;font-weight:600;display:flex}.done-btn:hover{background:var(--ink-4);color:var(--ink)}.done-btn.is-on{color:#1d5e3a;box-shadow:none;background:#dff2e6}.popover-foot{border-top:1px solid var(--ink-8);justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:flex}.popover-foot span{color:var(--ink-40);font-size:11px}.popover-delete{border-radius:var(--r-btn);width:28px;height:28px;color:var(--ink-55);transition:color .15s var(--ease), background-color .15s var(--ease);flex-shrink:0;justify-content:center;align-items:center;display:flex}.popover-delete:hover{background:var(--accent-soft);color:#c53d2a}.draft,.slot{pointer-events:none;z-index:20;border-radius:var(--r-chip);background:#dff2e6b3;border:2px dashed #2e9b5fb3;padding:4px 8px;position:absolute;inset-inline:4px}.slot{background:#fbecd2b3;border-color:#d98b1ab3}.draft p,.slot p{color:#1d5e3a;font-size:11px;font-weight:500}.slot p{color:#7a4b08}.now{pointer-events:none;z-index:30;background:var(--accent);height:2px;position:absolute;inset-inline:0}.now span{background:var(--accent);border-radius:999px;width:8px;height:8px;position:absolute;top:-3px;left:-4px}.canvas{background-color:var(--canvas);touch-action:none;-webkit-user-select:none;user-select:none;background-image:radial-gradient(circle,#14141421 1px,#0000 1.3px);flex:1;min-width:0;position:relative;overflow:hidden}.canvas.is-panning{cursor:grab}.world{transform-origin:0 0;width:0;height:0;position:absolute;top:0;left:0}.frame{pointer-events:none;background:color-mix(in srgb, var(--fill) 55%, transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--bar) 30%, transparent);transition-property:left,top,width,height;transition-duration:.12s;transition-timing-function:var(--ease-out);animation:frame-in .32s var(--spring);border-radius:16px;position:absolute}@keyframes frame-in{0%{opacity:0;scale:.97}}.frame-label{pointer-events:auto;cursor:grab;border-radius:var(--r-chip);max-width:calc(100% - 20px);height:22px;color:var(--ink);transition:background-color .15s var(--ease);align-items:center;gap:6px;padding:0 4px 0 6px;font-size:12px;font-weight:600;display:flex;position:absolute;top:6px;left:10px}.frame-label:hover{background:color-mix(in srgb, var(--fill) 80%, white)}.frame-label .dot{background:var(--bar)}.frame-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.frame-count{opacity:.6;font-variant-numeric:tabular-nums;font-size:11px;font-weight:500}.frame-ungroup{opacity:0;width:18px;height:18px;transition:opacity .15s var(--ease), background-color .15s var(--ease);border-radius:5px;place-items:center;display:grid}.frame-label:hover .frame-ungroup{opacity:.7}.frame-ungroup:hover{background:#ffffffb3;opacity:1!important}.edges{pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0;overflow:visible}.edge-hit{fill:none;stroke:#0000;stroke-width:14px;pointer-events:stroke;cursor:pointer}.edge-line{fill:none;stroke:#14141447;stroke-width:1.6px;stroke-linecap:round;transition:stroke .15s var(--ease)}.edge:hover .edge-line{stroke:#14141480}.edge.is-on .edge-line,.edge-line.is-draft{stroke:var(--accent)}.edge-line.is-draft{stroke-dasharray:5 5}.card{cursor:grab;border-radius:var(--r-card);background:var(--surface);box-shadow:var(--shadow-card);touch-action:none;transition:box-shadow .15s var(--ease);animation:pop-in .2s var(--ease-out);align-items:center;gap:9px;padding:0 12px 0 16px;display:flex;position:absolute}.card:hover{box-shadow:0 0 0 1px var(--ink-12), 0 1px 2px #1414140f, 0 12px 24px -14px #1414144d}.card.is-selected{box-shadow:0 0 0 2px var(--accent), 0 12px 24px -14px #1414144d}.card-bar{background:var(--bar);border-radius:999px;width:3px;position:absolute;top:9px;bottom:9px;left:6px}.card-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-80);flex:1;font-size:13px;font-weight:500;overflow:hidden}.card.is-done .card-title{color:var(--ink-35);text-decoration:line-through}.card-due{background:var(--ink-5);height:18px;color:var(--ink-55);border-radius:999px;flex-shrink:0;align-items:center;gap:3px;padding-inline:6px;font-size:10px;font-weight:500;display:inline-flex}.card-due.is-hot{background:var(--accent-soft);color:var(--accent-ink)}.handle{cursor:crosshair;border:1.5px solid var(--ink-25);background:var(--surface);opacity:0;width:12px;height:12px;transition:opacity .15s var(--ease), scale .15s var(--ease), background-color .15s var(--ease), border-color .15s var(--ease);border-radius:999px;position:absolute;top:50%;right:-6px;translate:0 -50%}.card:hover .handle,.card.is-selected .handle{opacity:1}.handle:hover{border-color:var(--accent);background:var(--accent);scale:1.25}.rename{min-width:0;font-size:inherit;font-weight:inherit;-webkit-user-select:text;user-select:text;outline:none;flex:1}.rename::placeholder{color:var(--ink-35)}.card-ghost{pointer-events:none;border-radius:var(--r-card);background:#fbecd28c;border:2px dashed #d98b1ab3;position:absolute}.marquee{pointer-events:none;background:#e8604c0f;border:1px solid #e8604c99;border-radius:4px;position:absolute}.canvas-empty{pointer-events:none;text-align:center;color:var(--ink-45);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:13px;display:flex;position:absolute;inset:0}.canvas-empty-title{color:var(--ink-70);font-size:15px;font-weight:600}.select-bar{z-index:50;border-radius:var(--r-pop);background:var(--surface);color:var(--ink-60);box-shadow:var(--shadow-pop);animation:pop-in .16s var(--ease-out);align-items:center;gap:12px;padding:5px 5px 5px 14px;font-size:12px;display:flex;position:absolute;top:14px;left:50%;translate:-50%}.select-btn{border-radius:var(--r-btn);background:var(--ink);color:#fff;height:28px;transition:opacity .15s var(--ease), scale .15s var(--ease);align-items:center;gap:6px;padding-inline:10px;font-size:12px;font-weight:600;display:flex}.select-btn:hover{opacity:.88}.select-btn:active{scale:.97}.select-btn kbd{background:#ffffff2e;border-radius:4px;padding:0 4px;font-size:10px}.zoom{z-index:50;border-radius:var(--r-card);background:var(--surface);box-shadow:0 0 0 1px var(--ink-8), 0 6px 16px -10px #14141440;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;bottom:14px;right:14px}.zoom-level{min-width:44px;height:28px;color:var(--ink-60);font-variant-numeric:tabular-nums;border-radius:6px;font-size:11px}.zoom-level:hover{background:var(--ink-5);color:var(--ink)}.status-pill{background:var(--ink-5);height:20px;color:var(--ink-55);border-radius:999px;align-items:center;padding-inline:8px;font-size:10.5px;font-weight:500;display:inline-flex}.pip-avatar{width:28px;height:28px;color:var(--accent-ink);background:linear-gradient(135deg,#fde3dd,#ebe4fb);border-radius:999px;flex-shrink:0;place-items:center;display:grid}.pip-avatar.is-small{width:24px;height:24px}.chat{flex:1;min-height:0;padding:28px 20px 12px;overflow-y:auto}.chat-inner{flex-direction:column;gap:18px;max-width:680px;margin:0 auto;display:flex}.msg{animation:msg-in .26s var(--ease-out);align-items:flex-start;gap:10px;display:flex}@keyframes msg-in{0%{opacity:0;translate:0 6px}}.msg.is-you{justify-content:flex-end}.msg-body{flex-direction:column;gap:10px;max-width:85%;display:flex}.msg.is-you .msg-body{align-items:flex-end}.msg-text{white-space:pre-line;color:var(--ink-80);font-size:14px;line-height:1.55}.msg.is-pip .msg-text{padding-top:3px}.msg.is-you .msg-text{background:var(--ink-5);color:var(--ink);border-radius:14px 14px 4px;padding:8px 13px}.steps{flex-direction:column;gap:6px;display:flex}.step{border-radius:var(--r-card);background:var(--surface);min-width:280px;box-shadow:0 0 0 1px var(--ink-8);animation:msg-in .3s var(--ease-out) both;align-items:center;gap:10px;padding:8px 8px 8px 10px;display:flex}.step:nth-child(2){animation-delay:60ms}.step:nth-child(3){animation-delay:.12s}.step-icon{border-radius:var(--r-chip);flex-shrink:0;place-items:center;width:26px;height:26px;display:grid}.kind-task .step-icon{color:#4a3294;background:#ebe4fb}.kind-session .step-icon{color:#1d5e3a;background:#dff2e6}.kind-due .step-icon{background:var(--accent-soft);color:#8c2f20}.kind-done .step-icon{color:#1d5e3a;background:#dff2e6}.step-text{flex-direction:column;flex:1;min-width:0;display:flex}.step-kind{color:var(--ink-45);font-size:10.5px;font-weight:500}.step-label{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.step.is-undone .step-label{color:var(--ink-40);text-decoration:line-through}.step-undo{border-radius:var(--r-chip);height:26px;color:var(--ink-60);box-shadow:0 0 0 1px var(--ink-10);transition:background-color .15s var(--ease), color .15s var(--ease);flex-shrink:0;align-items:center;gap:4px;padding-inline:9px;font-size:11.5px;font-weight:500;display:flex}.step-undo:hover{background:var(--ink-4);color:var(--ink)}.step-undone{color:var(--ink-40);padding-inline:6px;font-size:11px}.typing{gap:4px;padding:11px 2px;display:flex}.typing span{background:var(--ink-25);width:6px;height:6px;animation:bob 1s var(--ease) infinite;border-radius:999px}.typing span:nth-child(2){animation-delay:.14s}.typing span:nth-child(3){animation-delay:.28s}@keyframes bob{0%,60%,to{translate:0}30%{translate:0 -4px}}.composer-wrap{flex:none;width:100%;max-width:720px;margin:0 auto;padding:8px 20px 18px}.suggestions{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.suggestion{height:30px;color:var(--ink-70);box-shadow:0 0 0 1px var(--ink-10);transition:background-color .15s var(--ease), color .15s var(--ease);border-radius:999px;padding-inline:12px;font-size:12.5px}.suggestion:hover{background:var(--ink-4);color:var(--ink)}.composer{background:var(--surface);box-shadow:0 0 0 1px var(--ink-10), 0 10px 28px -18px #14141459;transition:box-shadow .15s var(--ease);border-radius:16px;align-items:flex-end;gap:8px;padding:8px 8px 8px 14px;display:flex}.composer:focus-within{box-shadow:0 0 0 1px var(--ink-25), 0 10px 28px -18px #14141459}.composer textarea{resize:none;outline:none;flex:1;min-width:0;max-height:160px;padding:5px 0;font-size:14px;line-height:1.5}.composer textarea::placeholder{color:var(--ink-40)}.send{border-radius:var(--r-card);background:var(--ink);color:#fff;width:32px;height:32px;transition:opacity .15s var(--ease), scale .15s var(--ease);flex-shrink:0;place-items:center;display:grid}.send:disabled{opacity:.2}.send:not(:disabled):active{scale:.94}.toasts{pointer-events:none;z-index:300;position:fixed;bottom:20px;left:50%;translate:-50%}.toast{pointer-events:auto;border-radius:var(--r-pop);background:var(--ink);white-space:nowrap;color:#fff;animation:toast-in .26s var(--land);align-items:center;gap:12px;padding:8px 8px 8px 14px;font-size:13px;display:flex;box-shadow:0 16px 32px -14px #14141480}.toast button{border-radius:var(--r-btn);color:#fff;background:#ffffff24;height:26px;padding-inline:10px;font-size:12px;font-weight:600}.toast:not(:has(button)){padding-right:14px}@keyframes toast-in{0%{opacity:0;translate:0 10px;scale:.96}}@media (width<=760px){.app{flex-direction:column-reverse}.sidebar{border-right:0;border-top:1px solid var(--ink-6);width:100%;padding:6px 8px calc(6px + env(safe-area-inset-bottom));flex-direction:row}.brand,.nav-heading,.nav-projects,.sidebar-foot{display:none}.nav{flex-direction:row;flex:1}.nav-item{flex-direction:column;flex:1;justify-content:center;gap:2px;height:44px;font-size:11px}.main{flex:1;min-height:0}.page-bar{padding:0 12px}.page-tip{display:none}.tray{z-index:60;width:min(300px,86vw);display:none;position:absolute;top:0;bottom:0;left:0;box-shadow:16px 0 40px -24px #14141466}.tray.is-open{display:flex}.gutter-cell,.gutter{width:44px}.step{min-width:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
