:root{--text-display:20px;--text-primary:14px;--text-secondary:12px;--text-tertiary:11px;--weight-name:500;--ink:#1f2937;--ink-strong:#0f172a;--ink-muted:#6b7280;--ink-faint:#94a3b8;--surface:#fff;--surface-raised:#f8fafc;--hairline:#eef1f5;--line:#e2e8f0;--event-tint:#eff6ff;--event-accent:#3b82f6;--event-border:#dbeafe;--event-text:#1e3a8a;--task-tint:#f0fdfa;--task-accent:#14b8a6;--task-border:#ccfbf1;--task-text:#115e59;--goal-tint:#f5f3ff;--goal-accent:#8b5cf6;--goal-border:#ede9fe;--goal-text:#5b21b6;--priority-1:#e2e8f0;--priority-2:#cbd5e1;--priority-3:#fbbf24;--priority-4:#fb923c;--priority-5:#f43f5e;--danger:#dc2626;--risk:#e11d48;--risk-bg:#fff1f2;--success:#0f766e;--success-bg:#d1fae5;--warning:#b45309;--warning-bg:#fef3c7;--action:#2563eb;--action-hover:#1d4ed8;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--meta-gap:3px;--radius-control:6px;--radius-panel:8px;--radius-pill:999px;--row-pad-y:8px;--row-pad-x:14px;--progress-h:4px;--progress-track:#eef2f6;--progress-task:#0d9488;--progress-goal:#7c3aed;--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--surface);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{box-sizing:border-box;flex-direction:column;width:100%;height:100vh;display:flex}body{background:var(--surface);color:var(--ink);margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.surface-toolbar,.week-view__toolbar,.inbox-view__toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding-bottom:var(--row-pad-y);flex-shrink:0;display:flex}.surface-toolbar__left,.surface-toolbar__right,.week-view__toolbar-right,.inbox-view__toolbar-left,.inbox-view__toolbar-right{align-items:center;gap:var(--space-2);display:flex}.surface-title,.inbox-view__title{font-size:var(--text-display);font-weight:var(--weight-name);color:var(--ink-strong);white-space:nowrap;margin:0}.surface-btn,.week-view__toolbar-btn,.inbox-view__reschedule,.surface-select{align-items:center;gap:var(--space-1);border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface);font:inherit;font-size:var(--text-secondary);font-weight:var(--weight-name);color:var(--ink);cursor:pointer;padding:7px 12px;line-height:1;display:inline-flex}.surface-btn:hover,.week-view__toolbar-btn:hover:not(:disabled),.inbox-view__reschedule:hover,.surface-select:hover{background:var(--surface-raised)}.surface-btn:focus-visible,.surface-select:focus-visible{outline:2px solid var(--action);outline-offset:1px}.surface-btn:disabled{opacity:.5;cursor:not-allowed}.surface-btn--add,.week-view__toolbar-btn--add,.inbox-view__add-btn{border-color:var(--action);background:var(--action);color:var(--surface);padding:7px 14px;box-shadow:0 1px 3px #2563eb59}.surface-btn--add:hover,.week-view__toolbar-btn--add:hover,.inbox-view__add-btn:hover{background:var(--action-hover);border-color:var(--action-hover)}.surface-plus,.week-view__add-plus,.inbox-view__add-plus{font-size:1.05rem;line-height:1;font-weight:var(--weight-name)}.surface-divider,.week-view__toolbar-divider,.inbox-view__toolbar-divider{width:1px;margin:0 var(--space-1);background:var(--line);align-self:stretch}.surface-select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-faint) 50%), linear-gradient(135deg, var(--ink-faint) 50%, transparent 50%);background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:26px}.surface-list{margin:0;padding:0;list-style:none}.surface-row{align-items:center;gap:var(--space-2);padding:var(--row-pad-y) var(--row-pad-x);border-top:1px solid var(--hairline);display:flex}.surface-list>.surface-row:first-child,.surface-row:first-child{border-top:none}.surface-row:hover{background:var(--surface-raised)}.surface-row__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-primary);font-weight:var(--weight-name);color:var(--ink);flex:1;overflow:hidden}.surface-row__meta{gap:var(--space-1);font-size:var(--text-secondary);color:var(--ink-muted);white-space:nowrap;flex-shrink:0;display:flex;overflow:hidden}.surface-row__meta>span:not(:last-child):after{content:"·";color:var(--priority-2);margin-left:5px}.surface-act{border-radius:var(--radius-control);width:24px;height:24px;font-size:var(--text-primary);color:var(--ink-faint);cursor:pointer;opacity:0;background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-weight:400;transition:opacity .12s;display:flex}.surface-row:hover .surface-act,.surface-act:focus-visible,.surface-act[aria-pressed=true]{opacity:1}.surface-act:hover{border-color:var(--line);background:var(--surface);color:var(--ink)}@media (hover:none){.surface-act{opacity:1}}@media (width<=700px){.surface-act{width:40px;height:40px}.surface-toolbar{padding:var(--row-pad-y) var(--row-pad-x)}}.view-switch{background:#f1f5f9;border-radius:9px;align-items:center;gap:2px;padding:2px;display:flex}.view-switch__btn{font-size:var(--text-secondary);font-weight:var(--weight-name);color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:6px 12px;line-height:1}.view-switch__btn:hover:not(.view-switch__btn--on){color:var(--ink-strong);background:#fff}.view-switch__btn--on{color:var(--action);background:#fff;box-shadow:0 1px 2px #0f172a1a}.view-switch__btn:focus-visible{outline:2px solid var(--action);outline-offset:1px}.item-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:20;background:#0f172a66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.item-modal{box-sizing:border-box;background:#fff;border-radius:14px;flex-direction:column;gap:12px;width:420px;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);padding:20px;display:flex;overflow-y:auto;box-shadow:0 20px 50px #0f172a40}.item-modal__tabs{background:#f1f5f9;border-radius:10px;gap:4px;padding:4px;display:flex}.item-modal__tab{font-size:var(--text-primary);color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:8px;font-weight:500}.item-modal__tab--active{color:#0f172a;background:#fff;box-shadow:0 1px 3px #0f172a1f}.item-modal__title{font-size:var(--text-display);color:var(--ink-strong);letter-spacing:-.01em;margin:0;font-weight:500}.item-modal__progress{flex-direction:column;gap:6px;display:flex}.item-modal__progress-head{font-size:var(--text-secondary);color:#475569;justify-content:space-between;align-items:center;font-weight:400;display:flex}.item-modal__progress-input-label{align-items:center;gap:5px;display:flex}.item-modal__progress-input{width:52px;font:inherit;font-size:var(--text-secondary);color:#0f172a;box-sizing:border-box;text-align:right;border:1px solid #e2e8f0;border-radius:6px;padding:3px 6px;font-weight:400}.item-modal__progress-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.item-modal__progress-track{background:#e2e8f0;border-radius:5px;height:8px;overflow:hidden}.item-modal__progress-fill{background:linear-gradient(90deg,#14b8a6 0%,#0d9488 100%);border-radius:5px;height:100%;transition:width .15s}.item-modal__placement{font-size:var(--text-secondary);color:#475569;background:#f1f5f9;border-radius:8px;padding:8px 10px;line-height:1.4}.item-modal__placement-warn{color:#b45309;font-weight:400}.form-field{font-size:var(--text-secondary);color:#475569;flex-direction:column;gap:4px;font-weight:500;display:flex}.form-field input,.form-field select,.form-field textarea{font:inherit;font-size:var(--text-primary);color:#0f172a;box-sizing:border-box;resize:vertical;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-weight:400}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.form-select{font:inherit;font-size:var(--text-primary);color:#0f172a;box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-weight:400}.form-select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb26}.form-segmented{background:#f1f5f9;border-radius:9px;gap:4px;padding:3px;display:flex}.form-segmented__btn{font:inherit;font-size:var(--text-secondary);color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;padding:6px;font-weight:500}.form-segmented__btn--active{color:#0f172a;background:#fff;box-shadow:0 1px 2px #0f172a1f}.form-dep-list{border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;max-height:132px;display:flex;overflow-y:auto}.form-dep-option{font-size:var(--text-secondary);color:#334155;cursor:pointer;align-items:center;gap:8px;padding:6px 10px;font-weight:400;display:flex}.form-dep-option:not(:last-child){border-bottom:1px solid #f1f5f9}.form-dep-option:hover{background:#f8fafc}.form-dep-option__title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.form-band-swatch{border:1px solid #0f172a1f;border-radius:4px;flex-shrink:0;width:12px;height:12px}.form-band-swatch--none{background-image:linear-gradient(to top right,#0000 calc(50% - 1px),#cbd5e1 calc(50% - 1px) calc(50% + 1px),#0000 calc(50% + 1px))}.form-hint.form-hint--muted{color:#64748b}.form-inline-create{gap:6px;display:flex}.form-inline-create input{flex:1;min-width:0}.form-inline-create__add,.form-inline-create__cancel{border-radius:var(--radius-control);font:inherit;font-size:var(--text-secondary);font-weight:var(--weight-name);cursor:pointer;border:1px solid #0000;padding:7px 12px}.form-inline-create__add{border-color:var(--action);background:var(--action);color:#fff}.form-inline-create__add:disabled{opacity:.5;cursor:not-allowed}.form-inline-create__cancel{color:var(--ink-muted);background:0 0}.form-inline-create__cancel:hover{color:var(--ink-strong)}.form-field-row{gap:12px;display:flex}.form-field-row .form-field{flex:1}.form-checkbox-field{font-size:var(--text-secondary);color:#334155;align-items:center;gap:8px;display:flex}.form-advanced-toggle{color:#2563eb;font-size:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;padding:0;font-weight:500}.form-advanced{border:1px dashed #e2e8f0;border-radius:8px;flex-direction:column;gap:12px;padding:12px;display:flex}.form-hint{font-size:var(--text-tertiary);color:#b45309;margin:0}.item-modal__actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.item-modal__btn{color:#334155;font-size:var(--text-secondary);cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 14px;font-weight:500}.item-modal__btn:hover{background:#f8fafc}.item-modal__btn--primary{color:#fff;background:#2563eb;border-color:#2563eb}.item-modal__btn--primary:hover{background:#1d4ed8}.item-modal__btn:disabled{opacity:.5;cursor:not-allowed}.item-modal__btn--danger{color:#dc2626;border-color:#fecaca;margin-right:auto}.item-modal__btn--danger:hover{background:#fef2f2}.item-modal__segmented{background:#f1f5f9;border-radius:9px;gap:2px;padding:3px;display:flex}.item-modal__segment{font:inherit;font-size:var(--text-secondary);color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:6px 10px;font-weight:500}.item-modal__segment--active{color:#0f172a;background:#fff;box-shadow:0 1px 3px #0f172a1f}.item-modal__segment:focus-visible{outline-offset:1px;outline:2px solid #4f46e5}.item-modal__more{flex-direction:column;gap:12px;display:flex}.item-modal__more-summary{color:var(--accent);font-size:var(--text-primary);cursor:pointer;padding:12px 2px;list-style:none}.item-modal__more-summary::-webkit-details-marker{display:none}.item-modal__more-summary:before{content:"›";width:14px;transition:transform .15s;display:inline-block}.item-modal__more[open]>.item-modal__more-summary:before{transform:rotate(90deg)}.project-select-row{align-items:center;gap:8px;display:flex}.project-select-row select{flex:1;min-width:0}.project-swatch{border-radius:var(--radius-pill);border:1px solid #0000001f;flex-shrink:0;width:14px;height:14px}.print-sheet{--heading-mm:12mm;--weekday-row-mm:7mm;--date-row-mm:5mm;--cell-padding-mm:1.5mm;--lane-mm:4.2mm;--block-tint:var(--surface);--block-accent:var(--ink-faint);--block-border:var(--line);--block-text:var(--ink);box-sizing:border-box;background:var(--surface);width:100%;height:100%;color:var(--ink);font:var(--text-secondary) / 1.25 var(--sans);letter-spacing:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;flex-direction:column;display:flex}.print-sheet__heading{flex:0 0 var(--heading-mm);font-size:var(--text-display);font-weight:var(--weight-name);letter-spacing:-.2px;color:var(--ink-strong);margin:0}.print-block--event,.print-chip--event,.print-banner--event{--block-tint:var(--event-tint);--block-accent:var(--event-accent);--block-border:var(--event-border);--block-text:var(--event-text)}.print-block--task,.print-chip--task,.print-banner--task{--block-tint:var(--task-tint);--block-accent:var(--task-accent);--block-border:var(--task-border);--block-text:var(--task-text)}.print-block--goal,.print-chip--goal,.print-banner--goal{--block-tint:var(--goal-tint);--block-accent:var(--goal-accent);--block-border:var(--goal-border);--block-text:var(--goal-text)}.print-week{flex-direction:column;flex:1;min-height:0;display:flex}.print-week__head,.print-week__body,.print-week__banners{display:flex}.print-week__gutter{box-sizing:border-box;padding-right:var(--space-1);text-align:right;font-size:var(--text-tertiary);color:var(--ink-muted);flex:0 0 12mm}.print-week__head{flex:0 0 var(--weekday-row-mm);border-bottom:1px solid var(--ink-faint)}.print-week__day-head{align-items:baseline;gap:var(--space-1);box-sizing:border-box;padding-left:var(--space-1);border-left:1px solid var(--line);flex:1;display:flex}.print-week__weekday{font-size:var(--text-tertiary);color:var(--ink-muted)}.print-week__date{font-size:var(--text-primary);font-weight:var(--weight-name);font-variant-numeric:tabular-nums;color:var(--ink-strong)}.print-week__banners{flex:0 0 calc(var(--banner-rows) * var(--lane-mm) + 1mm);border-bottom:1px solid var(--line)}.print-week__banner-grid{grid-template-columns:repeat(7,1fr);grid-auto-rows:var(--lane-mm);flex:1;display:grid}.print-banner,.print-chip{align-items:center;gap:var(--space-1);box-sizing:border-box;min-width:0;padding:0 var(--space-1);border:1px solid var(--block-border);border-left:2px solid var(--block-accent);background:var(--block-tint);color:var(--block-text);font-size:var(--text-tertiary);line-height:calc(var(--lane-mm) - .6mm);white-space:nowrap;text-overflow:ellipsis;border-radius:2px;display:flex;overflow:hidden}.print-banner--free,.print-chip--free{background:var(--surface);border-style:dashed}.print-week__body{flex:1;min-height:0}.print-week__hours{flex-direction:column;display:flex}.print-week__hour{font-variant-numeric:tabular-nums;position:relative;top:-.6mm}.print-week__columns{border-top:1px solid var(--ink-faint);flex:1;display:flex}.print-week__column{border-left:1px solid var(--line);flex:1;position:relative;overflow:hidden}.print-week__column:last-child{border-right:1px solid var(--line)}.print-week__hour-line{border-top:1px solid var(--hairline);position:absolute;left:0;right:0}.print-block{box-sizing:border-box;padding:.3mm var(--space-1);border:1px solid var(--block-border);border-left:2px solid var(--block-accent);background:var(--block-tint);color:var(--block-text);border-radius:2px;position:absolute;overflow:hidden}.print-block__time{font-size:var(--text-tertiary);font-variant-numeric:tabular-nums;opacity:.75}.print-block__label{font-size:var(--text-tertiary);font-weight:var(--weight-name);margin-left:var(--space-1)}.print-month{border-top:1px solid var(--ink-faint);border-left:1px solid var(--line);flex-direction:column;flex:1;min-height:0;display:flex}.print-month__weekdays{flex:0 0 var(--weekday-row-mm);border-bottom:1px solid var(--ink-faint);grid-template-columns:repeat(7,1fr);align-items:center;display:grid}.print-month__weekday{padding-left:var(--space-1);font-size:var(--text-tertiary);color:var(--ink-muted)}.print-month__row{border-bottom:1px solid var(--line);flex:1;min-height:0;position:relative}.print-month__row:last-child{border-bottom:0}.print-month__cells{grid-template-columns:repeat(7,1fr);height:100%;display:grid}.print-month__cell{box-sizing:border-box;height:var(--date-row-mm);padding:0 var(--space-1);border-right:1px solid var(--line);justify-content:space-between;align-items:baseline;display:flex}.print-month__cell--outside .print-month__date{color:var(--ink-faint)}.print-month__date{font-size:var(--text-tertiary);font-variant-numeric:tabular-nums;color:var(--ink)}.print-month__date mark{color:var(--ink-strong);font-weight:var(--weight-name);background:0 0}.print-month__more{font-size:var(--text-tertiary);color:var(--ink-muted);font-variant-numeric:tabular-nums}.print-month__lanes{grid-template-columns:repeat(7,1fr);grid-auto-rows:var(--lane-mm);gap:.3mm;padding:0 .4mm;display:grid;position:absolute;bottom:0;left:0;right:0}.print-chip--bar{font-weight:var(--weight-name)}.print-chip__time{font-variant-numeric:tabular-nums;opacity:.75}.print-chip__label{text-overflow:ellipsis;overflow:hidden}@page{size:landscape;margin:10mm}@media print{body>#root{display:none}}.print-paper{--page-w:297mm;--page-h:210mm;--page-margin:10mm;transform:scale(var(--preview-scale));transform-origin:0 0;box-sizing:border-box;padding:var(--page-margin);background:var(--surface);box-shadow:var(--shadow)}.print-preview{align-items:center;gap:var(--space-4);flex-direction:column;min-width:0;display:flex;overflow:auto}.print-paper-fit{flex:none}@media print{html,body{height:auto;margin:0;overflow:visible}.print-preview{gap:0;padding:0;display:block;overflow:visible}.print-paper-fit{width:auto!important;height:auto!important}.print-paper{box-shadow:none;break-after:page;padding:0;transform:none;width:100%!important;height:calc(var(--page-h) - 2 * var(--page-margin) - 1px)!important}.print-paper[data-last]{break-after:auto}}.print-range{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.print-stepper{gap:var(--space-1);display:flex}.print-count{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--text-secondary);color:var(--ink-muted);display:flex}.print-group{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.print-group legend{margin-bottom:var(--space-2);font-size:var(--text-secondary);color:var(--ink-muted);padding:0}.print-hours{align-items:center;gap:var(--space-2);display:flex}.print-hours__dash{color:var(--ink-faint)}
