:root{--bg: #101725;--content-bg: #16202f;--panel: #1f2b42;--panel-alt: #253150;--line: rgba(255, 255, 255, .08);--text: #eef2f7;--muted: #8b96ac;--accent: #00d2ff;--accent-dim: #0d3c49;--success: #22b66e;--success-dim: #123a29;--warn: #f3c111;--error: #ef193c;--info: #2196f3;--field: #121a27;--on-accent: #04141a;--shadow: 0 1px 2px rgba(0, 0, 0, .45), 0 12px 28px -10px rgba(0, 0, 0, .6);--hour: 56px;color-scheme:dark}*{box-sizing:border-box}::selection{background:var(--accent-dim);color:var(--on-accent)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--accent-dim)}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:7px;padding:6px 11px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}button.link{border:none;background:none;color:var(--accent);padding:2px 6px}button.on{border-color:var(--accent);color:var(--accent)}button.tiny{padding:2px 7px;font-size:12px}button.danger:hover:not(:disabled){border-color:var(--error);color:var(--error)}input,textarea,select{font:inherit;width:100%;padding:6px 9px;background:var(--field);color:var(--text);border:1px solid var(--line);border-radius:7px}input[type=checkbox]{width:auto}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}h2{margin:0 0 14px;font-size:19px}h3{margin:18px 0 8px;font-size:15px;color:var(--muted);font-weight:500}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--error)}.warn{color:var(--warn)}.hint{color:var(--muted);font-size:13px;margin:0 0 16px}.shell{height:100%;display:flex}.sidebar{width:208px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg);border-right:1px solid var(--line)}.brand-mark{display:flex;align-items:center;gap:9px;padding:16px 16px 14px}.brand-mark .glyph{width:26px;height:26px;border-radius:7px;flex-shrink:0}.brand-mark .word{font-weight:700;letter-spacing:.03em;color:var(--text);font-size:14.5px}.side-nav{display:flex;flex-direction:column;gap:1px;padding:4px 10px;overflow-y:auto}.nav-btn{display:flex;align-items:center;gap:10px;width:100%;border:none;background:transparent;color:var(--muted);padding:8px 10px;border-radius:7px;font-size:13.5px;text-align:left}.nav-btn svg{flex-shrink:0}.nav-btn:hover{background:var(--panel);color:var(--text);border-color:transparent}.nav-btn.on{background:var(--accent-dim);color:var(--accent);font-weight:600}.side-bottom{margin-top:auto;padding:4px 10px 0;border-top:1px solid var(--line)}.side-foot{padding:8px 6px 14px;color:var(--muted);font-size:11px}.main-col{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--content-bg)}.topbar{display:flex;align-items:center;gap:8px;padding:12px 20px;border-bottom:1px solid var(--line);min-height:24px;flex:0 0 auto}.page-title{font-weight:600;font-size:14px;color:var(--text)}.date-badge{color:var(--muted);font-size:13px;font-family:ui-monospace,Cascadia Code,monospace}main{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.spacer{flex:1}.screen{flex:1 1 auto;min-height:0;overflow:auto;padding:18px 16px 60px}.screen.wide{padding:0}.center{display:grid;place-items:center;height:100%;color:var(--muted)}@media(max-width:860px){.sidebar{width:60px}.brand-mark .word,.nav-btn span,.side-foot{display:none}.brand-mark{justify-content:center;padding:16px 0 14px}.nav-btn{justify-content:center;padding:10px}}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.col{display:grid;gap:10px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow)}.two{display:grid;grid-template-columns:minmax(240px,1fr) minmax(300px,1.4fr);gap:16px;align-items:start}@media(max-width:760px){.two{grid-template-columns:1fr}}.now-mobile{height:100%;display:flex;flex-direction:column;min-height:0}.strip-wrap{flex:0 0 auto;min-height:60px;overflow:hidden;display:flex;flex-direction:column}.drag-handle{flex:0 0 18px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);background:var(--panel);touch-action:none;cursor:ns-resize}.grip{width:36px;height:4px;border-radius:2px;background:var(--line)}.drag-handle:hover .grip,.drag-handle:active .grip{background:var(--accent)}.now-bottom{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.now-desktop{height:100%;display:grid;min-height:0}.now-col{min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.gutter{background:var(--line);cursor:col-resize;touch-action:none}.gutter:hover,.gutter:active{background:var(--accent-dim)}.panel-tabs{display:flex;gap:6px;padding:10px 16px;border-bottom:1px solid var(--line);flex:0 0 auto}.panel-scroll{flex:1 1 auto;min-height:0;overflow:auto}.toolbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--line);flex:0 0 auto}.days-switch{display:inline-flex;gap:4px;margin-left:6px}.tiny-select{width:auto;padding:3px 6px;font-size:12px}.sched{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.sched-head{display:grid;flex:0 0 auto;border-bottom:1px solid var(--line);background:var(--bg)}.sched-day{padding:5px 2px;font-size:12px;text-align:center;color:var(--muted)}.sched-day.today{color:var(--accent)}.sched-body{flex:1 1 auto;min-height:0;overflow:auto}.sched-grid{display:grid}.sched-gutter{position:relative;height:calc(var(--hour) * 24)}.sched-gutter span{position:absolute;right:6px;font-size:11px;color:var(--muted);font-family:ui-monospace,Cascadia Code,monospace;transform:translateY(-6px)}.sched-col{position:relative;height:calc(var(--hour) * 24);border-left:1px solid var(--line)}.col-canvas{position:absolute;inset:0;touch-action:none}.line{position:absolute;left:0;right:0;height:0}.line.hour{border-top:1px solid rgba(255,255,255,.1)}.line.half{border-top:1px dotted rgba(255,255,255,.16)}.past-veil{position:absolute;left:0;right:0;top:0;background:#04081273;pointer-events:none}.placement{position:absolute;left:4px;right:4px;border-radius:6px;padding:2px 7px;font-size:12.5px;line-height:1.35;overflow:hidden;text-align:left;border:1px solid;background:var(--panel);cursor:pointer}.placement.selected{outline:2px solid var(--accent)}.placement.past{opacity:.45}.placement .when,.placement .pin{font-size:11px;opacity:.75;font-family:ui-monospace,Cascadia Code,monospace}.placement .resize{position:absolute;left:0;right:0;bottom:0;height:7px;cursor:ns-resize;touch-action:none}.placement .resize:hover{background:currentColor;opacity:.4}.draft{position:absolute;left:4px;right:4px;border:1px dashed var(--accent);border-radius:6px;background:#00d2ff24;color:var(--accent);font-size:11px;padding:1px 6px;pointer-events:none;font-family:ui-monospace,Cascadia Code,monospace}.nowline{position:absolute;left:0;right:0;height:0;border-top:1px solid var(--accent);pointer-events:none}.nowline:before{content:"";position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.cal{padding:10px 12px;border-bottom:1px solid var(--line);flex:0 0 auto}.cal-head{display:flex;align-items:center;gap:4px;margin-bottom:6px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cal-weekday{text-align:center;font-size:11px;color:var(--muted);padding-bottom:2px}.cal-day{position:relative;padding:4px 0;font-size:12px;border:1px solid transparent;background:none;border-radius:5px}.cal-day.other{color:var(--muted);opacity:.4}.cal-day.today{color:var(--accent);font-weight:700}.cal-day.selected{border-color:var(--accent);background:var(--accent-dim)}.cal-day.busy:after{content:"";position:absolute;left:50%;bottom:2px;transform:translate(-50%);width:3px;height:3px;border-radius:50%;background:var(--accent-dim)}.clocks{display:grid;gap:3px;padding:8px 12px;border-bottom:1px solid var(--line);flex:0 0 auto}.clock{display:flex;align-items:center}.mono{font-family:ui-monospace,Cascadia Code,monospace}.left-tasks{padding:0 12px 40px}.menu-overlay{position:fixed;inset:0;z-index:50}.menu{position:fixed;min-width:190px;max-width:290px;max-height:70vh;overflow:auto;padding:5px;background:var(--panel-alt);border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 26px -6px #000000b3}.menu-title{padding:5px 8px;margin-bottom:4px;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}.menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:none;border-radius:5px;background:none;text-align:left}.menu-item:hover:not(:disabled){background:var(--accent-dim);color:var(--accent)}.menu-item.danger{color:var(--error)}.menu-item.danger:hover:not(:disabled){background:#ef193c24;color:var(--error)}.menu-colors{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;padding:6px 4px 2px;margin-top:4px;border-top:1px solid var(--line)}.swatch{width:100%;aspect-ratio:1;padding:0;border:1px solid transparent;border-radius:4px}.swatch.on{outline:2px solid var(--text)}.swatch.none{background:repeating-linear-gradient(45deg,var(--field),var(--field) 3px,var(--line) 3px,var(--line) 6px)}.context{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);background:var(--panel)}.context .name{font-weight:600}.dot{width:10px;height:10px;border-radius:50%;flex:none}.tasks{flex:1 1 auto;min-height:0;overflow:auto;padding:8px 16px 60px}.task{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line)}.task .title{cursor:pointer}.task.done .title{text-decoration:line-through;color:var(--muted)}.check{width:18px;height:18px;border-radius:4px;border:1px solid var(--line);background:var(--field);padding:0;margin-top:3px}.check.on{background:var(--success);border-color:var(--success)}.checklist{padding-top:6px}.check-item{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:5px 0;border-bottom:1px solid var(--line);cursor:grab}.check-item .title{font-size:13.5px}.check-item.done .title{text-decoration:line-through;color:var(--muted)}.check-item .remove{opacity:0;padding:1px 6px}.check-item:hover .remove{opacity:1}.tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:3px}.chip{font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:var(--panel-alt)}.chip.on,.chip.today{border-color:var(--accent);color:var(--accent)}.chip.due{border-color:var(--warn);color:var(--warn)}.chip.overdue,.chip.blocked{border-color:var(--error);color:var(--error)}.picker{display:flex;gap:6px;flex-wrap:wrap;max-height:150px;overflow:auto;padding:2px}.week-screen{display:flex;flex-direction:column;height:100%;overflow:hidden}.tree{display:grid;gap:2px}.node{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:6px}.node:hover{background:var(--panel-alt)}.node .label{flex:1;cursor:pointer;text-align:left;background:none;border:none;color:inherit;padding:0}.node.selected{background:var(--accent-dim);outline:1px solid var(--accent-dim)}.field{display:grid;gap:5px;font-size:13px;color:var(--muted)}.days{display:flex;gap:4px}.days button{padding:3px 8px;font-size:12px}
