.cal{display:flex;flex-direction:column;gap:.75rem;flex:1;min-height:0}.cal-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.cal-head .cal-title{font-weight:600}.cal-head .cal-modes{display:flex;gap:.25rem;margin-left:auto}.cal-modes button[aria-pressed=true]{background:var(--panel);color:var(--ink);border-color:var(--line)}.cal-narrow{max-width:46rem;width:100%;overflow-y:auto}.cal-grid{display:flex;flex-direction:column;flex:1;min-height:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden}.cal-row{display:flex;flex:none}.cal-row+.cal-row,.cal-scroll{border-top:1px solid var(--line)}.cal-gutter{flex:0 0 var(--cal-gutter)}.cal-cols{flex:1;display:flex;position:relative;min-width:0}.cal-col{flex:1 1 0;min-width:0;position:relative}.cal-col+.cal-col{border-left:1px solid var(--line)}.cal-dayhead{width:100%;padding:.35rem .2rem;background:none;border:0;cursor:pointer;font:inherit;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:.1rem;line-height:1.1}.cal-dayhead .cal-daynum{font-size:1rem;color:var(--ink)}.cal-dayhead[aria-current=date] .cal-daynum{color:var(--accent);font-weight:700}.cal-dayhead[aria-pressed=true]{background:color-mix(in srgb,var(--accent) 10%,var(--panel))}.cal-allday{padding:.2rem;display:flex;flex-direction:column;gap:2px}.cal-chip{display:block;width:100%;text-align:left;border:0;cursor:pointer;font:inherit;font-size:.7rem;line-height:1.3;padding:1px 4px;border-radius:3px;color:var(--ink);background:color-mix(in srgb,var(--evt) 22%,var(--panel));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-chip.declined{text-decoration:line-through;color:var(--muted)}.cal-more{font-size:.7rem;color:var(--muted);padding-left:4px}.cal-scroll{flex:1;overflow-y:auto;min-height:0}.cal-body{display:flex;position:relative;height:var(--cal-height)}.cal-hourline{position:absolute;left:0;right:0;height:0;border-top:1px solid var(--line)}.cal-hourlabel{position:absolute;right:8px;transform:translateY(-50%);font-size:.7rem;color:var(--muted);white-space:nowrap}.cal-event{position:absolute;overflow:hidden;cursor:pointer;text-align:left;font:inherit;font-size:.7rem;line-height:1.25;color:var(--ink);padding:2px 3px 2px 6px;border:0;border-radius:4px;border-left:3px solid var(--evt);background:color-mix(in srgb,var(--evt) 22%,var(--panel))}.cal-event.tentative{background:color-mix(in srgb,var(--evt) 12%,var(--panel))}.cal-event .cal-evtitle{font-weight:500}.cal-event.declined .cal-evtitle{text-decoration:line-through;color:var(--muted)}.cal-event .cal-evtime{color:var(--muted)}.cal-now{position:absolute;height:0;border-top:1px solid var(--danger);pointer-events:none}.cal-now:before{content:"";position:absolute;left:0;top:-3.5px;width:7px;height:7px;border-radius:50%;background:var(--danger)}.cal-unfetched{background:color-mix(in srgb,var(--muted) 8%,transparent)}.cal-dialog{border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;background:var(--panel);color:var(--ink);max-width:32rem;width:calc(100vw - 2rem);box-shadow:var(--shadow)}.cal-dialog::backdrop{background:#0006}.cal-dialog h3{margin:0 0 .2rem;border-left:4px solid var(--evt);padding-left:.5rem}.cal-dialog h3.declined{text-decoration:line-through;color:var(--muted)}.cal-dialog dl{margin:1rem 0 0;display:grid;grid-template-columns:auto 1fr;gap:.3rem .75rem}.cal-dialog dt{color:var(--muted)}.cal-dialog dd{margin:0}.cal-dialog .cal-notes{margin-top:1rem;white-space:pre-wrap}.cal-dialog .cal-actions{margin-top:1.25rem;display:flex;gap:.75rem;align-items:center}.graph-layout{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:.5rem}.graph-bar{flex:none;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.graph-switcher{display:flex;align-items:center;gap:.25rem}.graph-stepper{display:flex}.graph-stepper button{position:relative}.graph-stepper button:first-child{border-radius:var(--radius) 0 0 var(--radius)}.graph-stepper button:last-child{border-radius:0 var(--radius) var(--radius) 0;margin-left:-1px}.graph-stepper button:hover:not(:disabled){z-index:1}.graph-bar button.graph-bar-step{width:1.9rem;padding:.3rem 0;line-height:1;text-align:center}.graph-bar-select{font:inherit;font-weight:600;padding:.3rem .4rem;max-width:20rem;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius)}.graph-bar-right{margin-left:auto;display:flex;gap:.5rem}.graph-bar button,.graph-panel-close,.graph-list-actions button,.graph-snapshots button:not(.link){font:inherit;font-size:.9rem;padding:.3rem .7rem;cursor:pointer;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:var(--radius)}.graph-bar button:hover:not(:disabled),.graph-panel-close:hover,.graph-list-actions button:hover:not(:disabled),.graph-snapshots button:not(.link):hover:not(:disabled){border-color:var(--muted)}.graph-bar button:disabled,.graph-list-actions button:disabled,.graph-snapshots button:not(.link):disabled{color:var(--muted);cursor:default}.graph-bar button[aria-pressed=true]{background:var(--panel);border-color:var(--accent);color:var(--ink)}.graph-notices{flex:none}.graph-notices p{margin:0 0 .25rem}.graph-stage{flex:1 1 auto;min-height:0;position:relative}.graph-stage-empty{display:grid;place-items:center;height:100%;margin:0}.graph-panel{position:absolute;top:0;bottom:0;width:20rem;max-width:calc(100% - 2rem);z-index:2;overflow:auto;padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.graph-panel.left{left:0}.graph-panel.right{right:0}.graph-panel h2,.graph-panel h3{margin-top:0}.graph-panel-close{float:right;margin-left:.5rem}@media (max-width: 46rem){.graph-panel{width:100%;max-width:none}}.graph-list ul{list-style:none;margin:0;padding:0}.graph-list li{margin:0 0 .25rem}.graph-list-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;text-align:left;font:inherit;cursor:pointer;padding:.5rem .6rem;background:transparent;color:var(--ink);border:1px solid transparent;border-radius:var(--radius)}.graph-list-item:hover{border-color:var(--line)}.graph-list-item.selected{background:var(--bg);border-color:var(--line)}.graph-list-title,.graph-conflict{font-weight:600}.graph-canvas{height:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);overflow:hidden;position:relative;touch-action:none;cursor:grab}.graph-canvas:active{cursor:grabbing}.graph-canvas svg{display:block}.graph-missing{max-width:40rem}.graph-node{stroke-width:1.25px}text.graph-label{font-family:GraphLabel,sans-serif;font-weight:300;text-anchor:middle;fill:var(--ink);-webkit-user-select:none;user-select:none}.graph-edge{fill:none;stroke:var(--muted);stroke-width:1.5px}.graph-edge.dashed{stroke-dasharray:6 4}.graph-edge.dotted{stroke-dasharray:1.5 3.5}.graph-arrowhead{fill:var(--muted)}.graph-connect-draw{stroke:var(--accent);stroke-width:2px;stroke-dasharray:5 4;pointer-events:none}.graph-selection{fill:none;stroke:var(--accent);stroke-width:2px;pointer-events:none}.graph-selection-edge{fill:none;stroke:var(--accent);stroke-width:5px;opacity:.45;pointer-events:none}.graph-inspector h3{margin-top:0}.graph-field{display:block;margin-bottom:.75rem}.graph-field>span{display:block;font-size:.8rem;color:var(--muted);margin-bottom:.2rem}.graph-field input,.graph-field select{width:100%;font:inherit;padding:.35rem .5rem;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius)}.graph-field-row{display:flex;gap:.5rem;align-items:center}.graph-field-row input{flex:1 1 auto;min-width:0}.graph-field-checkbox{display:flex;align-items:center;gap:.4rem}.graph-field-checkbox input{width:auto}.graph-label-editor{position:absolute;box-sizing:border-box;font:inherit;text-align:center;background:var(--panel);color:var(--ink);border:1.5px solid var(--accent);border-radius:2px;padding:0;margin:0;outline:none;z-index:2}.graph-zoom{position:absolute;left:.5rem;bottom:.5rem;z-index:1;display:flex;align-items:stretch;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);cursor:default;overflow:hidden}.graph-zoom button{font:inherit;line-height:1;padding:.35rem .55rem;background:transparent;color:var(--ink);border:none;border-left:1px solid var(--line);cursor:pointer}.graph-zoom button:first-child{border-left:none}.graph-zoom button:hover:not(:disabled){background:var(--bg)}.graph-zoom button:disabled{color:var(--muted);cursor:default}.graph-zoom button[aria-pressed=true]{color:var(--accent);background:var(--bg)}.graph-zoom-level{display:flex;align-items:center;justify-content:center;padding:.35rem .1rem;font-size:.85rem;color:var(--muted);min-width:3.4rem;font-variant-numeric:tabular-nums;text-align:center;-webkit-user-select:none;user-select:none}.graph-list-actions{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--line)}.graph-list-actions>h3{font-size:.95rem;margin:0 0 .5rem}.graph-list-actions .graph-action-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.graph-list-actions form{margin-bottom:1rem}.graph-list-actions form:last-child{margin-bottom:0}.graph-field textarea{width:100%;font:inherit;font-family:ui-monospace,SF Mono,monospace;font-size:.8rem;padding:.35rem .5rem;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);resize:vertical}.graph-import-over{margin-bottom:.75rem}.graph-confirm{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .75rem;margin:0 0 .75rem}button.graph-danger{color:var(--danger);border-color:var(--danger)}.graph-snapshots h3{margin-top:0}.graph-snapshot-list{list-style:none;margin:0 0 .75rem;padding:0}.graph-snapshot-list li{padding:.4rem 0;border-bottom:1px solid var(--line)}.graph-snapshot-meta{display:flex;justify-content:space-between;gap:.5rem}.graph-snapshot-meta span:first-child{font-weight:600;overflow-wrap:anywhere}.graph-snapshot-actions{display:flex;gap:.75rem;margin-top:.15rem}:root{--bg: #fbfaf7;--panel: #ffffff;--ink: #23201c;--muted: #6b6459;--line: #e6e1d8;--accent: #7a5c3e;--danger: #9c3b2e;--radius: 10px;--shadow: 0 2px 16px rgba(35, 32, 28, .18);color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--bg: #171614;--panel: #201e1b;--ink: #ece7df;--muted: #9a9287;--line: #322e29;--accent: #c9a37a;--danger: #e0776a;--shadow: 0 2px 22px rgba(0, 0, 0, .55)}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 ui-serif,Georgia,Times New Roman,serif}.app{max-width:46rem;margin:0 auto;padding:1.5rem 1rem 4rem}.app.wide{max-width:none;height:100vh;display:flex;flex-direction:column;overflow:hidden;padding-bottom:1rem}.app.wide>header,.app.wide>nav.tabs{flex:none}.app.wide>nav.tabs{margin-bottom:.75rem}nav.tabs{display:flex;gap:.25rem;flex-wrap:wrap;margin-bottom:1.5rem}nav.tabs button{font:inherit;font-size:.9rem;padding:.4rem .8rem;cursor:pointer;background:transparent;color:var(--muted);border:1px solid transparent;border-radius:var(--radius)}nav.tabs button[aria-current=page]{background:var(--panel);color:var(--ink);border-color:var(--line)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.muted{color:var(--muted);font-size:.875rem}.error{color:var(--danger)}button.primary{font:inherit;padding:.5rem 1rem;cursor:pointer;background:var(--accent);color:#fff;border:none;border-radius:var(--radius)}button.link{font:inherit;background:none;border:none;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer}button.icon{font:inherit;background:none;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:.2rem;border-radius:var(--radius);color:var(--muted);vertical-align:baseline}button.icon:hover{color:var(--ink);background:var(--bg)}button.icon.danger:hover{color:var(--danger)}button.icon:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.msg{margin:.75rem 0}.msg.user{text-align:right}.msg .bubble{display:inline-block;text-align:left;max-width:90%;padding:.6rem .85rem;border-radius:var(--radius);background:var(--bg);border:1px solid var(--line);white-space:pre-wrap}.msg.user .bubble{background:var(--accent);color:#fff;border-color:transparent}blockquote{margin:.5rem 0;padding-left:.85rem;border-left:3px solid var(--line);color:var(--muted);font-style:italic}form.composer{display:flex;gap:.5rem;margin-top:1rem}form.composer textarea{flex:1;font:inherit;padding:.5rem;resize:vertical;min-height:3rem;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius)}ul.reminders{list-style:none;padding:0;margin:0}ul.reminders li{display:flex;align-items:baseline;gap:.5rem;padding:.2rem 0}ul.reminders li.done{color:var(--muted);text-decoration:line-through}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid var(--line)}pre.week{white-space:pre-wrap;font:inherit;margin:0}code.token{display:block;word-break:break-all;padding:.5rem;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);font-family:ui-monospace,monospace;font-size:.85rem}ul.todos{list-style:none;padding:0;margin:0;border-bottom:2px solid transparent}ul.todos li{display:flex;align-items:baseline;gap:.5rem;padding:.15rem 0;border-top:2px solid transparent}ul.todos li .grip{color:var(--line);cursor:grab;flex:none;display:inline-flex;align-items:center;align-self:center}ul.todos li:hover .grip{color:var(--muted)}ul.todos li .grip:active{cursor:grabbing}ul.todos li label{flex:1;display:flex;align-items:baseline;gap:.5rem}ul.todos li.dragging{opacity:.4}ul.todos li.drop-before{border-top-color:var(--accent)}ul.todos.drop-end{border-bottom-color:var(--accent)}section.drop-target{border-radius:var(--radius);box-shadow:0 0 0 2px var(--accent)}@font-face{font-family:GraphLabel;src:url(/assets/Roboto-Light-BsZ710iL.ttf) format("truetype");font-weight:300;font-display:block}@font-face{font-family:GraphLabel;src:url(/assets/DejaVuSans-uCh15Ap1.ttf) format("truetype");font-weight:300;font-display:block;unicode-range:U+02BB,U+02BC,U+0100-024F,U+1E00-1EFF}
