@font-face{font-family:TWK Lausanne;src:url(/fonts/twklausanne-50.woff2)format("woff2");font-weight:50;font-style:normal}@font-face{font-family:TWK Lausanne;src:url(/fonts/twklausanne-150.woff2)format("woff2");font-weight:150;font-style:normal}@font-face{font-family:TWK Lausanne;src:url(/fonts/twklausanne-300.woff2)format("woff2");font-weight:300;font-style:normal}@font-face{font-family:TWK Lausanne;src:url(/fonts/twklausanne-500.woff2)format("woff2");font-weight:500;font-style:normal}@font-face{font-family:TWK Lausanne;src:url(/fonts/twklausanne-700.woff2)format("woff2");font-weight:700;font-style:normal}@font-face{font-family:TWK Lausanne;src:url(/fonts/twklausanne-900.woff2)format("woff2");font-weight:900;font-style:normal}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-color:#fafafa;--theme-blue-1:#5679a6;--theme-blue-2:#6394bf;--theme-olive:#62733f;--theme-gold-1:#d99b29;--theme-gold-2:#a6771f;--text-primary:var(--theme-blue-1);--text-secondary:#64748b;--accent-color:var(--theme-blue-1);--accent-color-hover:var(--theme-blue-2);--accent-glow:#5679a647;--border-color:#e2e8f0;--track-bg:#f1f5f9;--track-border:#e2e8f0;--surface-bg:#fff;--surface-hover:#edf3f9;--surface-elevated:#ffffffd9;--handle-bg:#fff;--danger-color:#b91c1c;--danger-surface:#b91c1c14;--danger-surface-hover:#b91c1c29;--panel-shadow:0 4px 20px #0000000d}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-color:#020617;--text-primary:#edf4fb;--text-secondary:#9fb2ca;--accent-color:var(--theme-blue-2);--accent-color-hover:#84b1d8;--accent-glow:#6394bf57;--border-color:#6394bf33;--track-bg:#182331;--track-border:#6394bf1f;--surface-bg:#15202d;--surface-hover:#1c2a3b;--surface-elevated:#111924e0;--handle-bg:#f5f8fc;--danger-color:#fca5a5;--danger-surface:#f8717124;--danger-surface-hover:#f8717138;--panel-shadow:0 16px 40px #00000057}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-primary);background-color:var(--bg-color);justify-content:center;place-items:center;min-height:100vh;margin:0;padding:0;font-family:TWK Lausanne,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:300;line-height:1.5;display:flex;overflow-x:hidden}#root{width:100vw;max-width:100vw;overflow-x:hidden}.timeline{flex-direction:column;align-items:center;width:100%;padding:3rem 1rem;display:flex}.timeline__title{white-space:nowrap;color:var(--text-primary);pointer-events:none;z-index:900;margin:0;font-size:clamp(1.65rem,5.8vw,6rem);font-weight:200;line-height:.95;position:fixed;top:1.5rem;left:50%;transform:translate(-50%)}.timeline__rows{flex-direction:column;gap:5rem;width:100%;margin-bottom:3rem;padding-top:54px;display:flex}.timeline__toast{background:var(--surface-elevated);border:1px solid var(--border-color);box-shadow:var(--panel-shadow);z-index:3000;border-radius:999px;align-items:center;gap:.85rem;padding:.8rem .95rem;display:inline-flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.timeline__toast-message{color:var(--text-primary);font-size:.85rem;font-weight:600}.timeline__toast-action{background:var(--surface-hover);color:var(--text-primary);cursor:pointer;border:none;border-radius:999px;padding:.55rem .8rem;font-size:.8rem;font-weight:700;line-height:1;transition:background-color .2s}.timeline__toast-action:hover,.timeline__toast-action:focus-visible{background:var(--surface-bg);outline:none}.timeline-row{width:100%;position:relative}.timeline-row__months{height:1.35rem;color:var(--text-secondary);margin-bottom:.5rem;font-size:.85rem;font-weight:150;position:relative}.timeline-row__month{text-align:left;white-space:nowrap;position:absolute;bottom:0}.timeline-row__now{pointer-events:none;z-index:2;background:#f5c7d7;border-radius:50%;width:.96rem;height:.96rem;position:absolute;bottom:-.15rem;transform:translate(-50%,50%);box-shadow:0 6px 16px -8px #f5c7d7e6}.timeline-row__month:after{content:"";background:var(--track-border);width:1px;height:.5rem;position:absolute;bottom:-.5rem;left:0}.timeline-row__track{background-color:var(--track-bg);border-radius:22px;height:108px;display:flex;position:relative;overflow:visible}.timeline-row__year-marker{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.timeline-row__year-slot{border-right:1px solid var(--track-border);z-index:1;flex:1;position:relative}.timeline-row__year-text{color:var(--text-primary);transform-origin:50%;white-space:nowrap;font-size:1rem;font-weight:700;transform:rotate(-90deg)}.timeline-row__week{border-right:1px solid var(--track-border);cursor:pointer;flex:1;transition:background-color .2s;position:relative}.timeline-row__week:last-child{border-right:none}.timeline-row__week:hover,.timeline-row__week:focus-visible,.timeline-row__week--active{background-color:var(--track-border)}.timeline-row__week:focus-visible{outline:none}.timeline-event{background-color:var(--event-color,var(--accent-color));height:24px;box-shadow:0 8px 20px -4px var(--event-glow,var(--accent-glow));cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;will-change:transform;z-index:10;border-radius:6px;justify-content:space-between;align-items:center;padding:0 4px;transition:box-shadow .2s,transform .2s;display:flex;position:absolute}.timeline-event--editing,.timeline-event--editing:hover,.timeline-event--editing:active{cursor:text;transform:none}.timeline-event:hover{box-shadow:0 12px 24px -4px var(--event-glow,var(--accent-glow));transform:translateY(-1px)}.timeline-event:active{cursor:grabbing}.timeline-event--resizing,.timeline-event--resizing:hover,.timeline-event--resizing:active{cursor:ew-resize;transform:none}.timeline-event--overlay{cursor:grabbing;pointer-events:none;position:relative;top:auto;left:auto}.timeline-event--preview{cursor:default;pointer-events:none;opacity:.42;box-shadow:none;outline:1px dashed color-mix(in srgb, var(--event-color,var(--accent-color)) 70%, transparent);outline-offset:1px}.timeline-event--preview:hover,.timeline-event--preview:active{box-shadow:none;transform:none}.timeline-event__handle{background-color:var(--handle-bg);cursor:ew-resize;width:16px;height:16px;color:var(--event-color,var(--accent-color));pointer-events:none;opacity:0;border-radius:50%;justify-content:center;align-items:center;transition:opacity .16s,transform .16s;display:flex;transform:scale(.78);box-shadow:0 2px 4px #0000001a}.timeline-event:hover .timeline-event__handle,.timeline-event:focus-visible .timeline-event__handle,.timeline-event--resizing .timeline-event__handle{opacity:1;transform:scale(1)}.timeline-event__resize-hit{cursor:ew-resize;touch-action:none;z-index:1;background:0 0;width:clamp(6px,26%,10px);position:absolute;top:0;bottom:0}.timeline-event__resize-hit--start{left:0}.timeline-event__resize-hit--end{right:0}.timeline-event__toolbar{background:var(--surface-elevated);border:1px solid var(--border-color);box-shadow:var(--panel-shadow);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem;display:inline-flex;position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%)}.timeline-event__toolbar-button{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.45rem .65rem;font-size:.7rem;font-weight:600;line-height:1;transition:background-color .2s,color .2s}.timeline-event__toolbar-button:hover,.timeline-event__toolbar-button:focus-visible{background:var(--surface-hover);outline:none}.timeline-event__toolbar-button--danger{color:var(--danger-color)}.timeline-event__toolbar-button--danger:hover,.timeline-event__toolbar-button--danger:focus-visible{background:var(--danger-surface-hover)}.timeline-event__content{flex:1;justify-content:flex-start;align-items:center;min-width:0;padding:0 .35rem;display:flex}.timeline-event__label,.timeline-event__placeholder{color:#f8fafc;text-align:left;white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:.72rem;font-weight:500;line-height:1;overflow:hidden}.timeline-event__placeholder{opacity:.72}.timeline-event__input{color:#f8fafc;text-align:left;background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:.72rem;font-weight:500;line-height:1}.timeline-event__input::placeholder{color:#f8fafcb8}.timeline-event__icon{fill:none;width:12px;height:12px;stroke:var(--event-color,var(--accent-color));stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.settings{z-index:1000;flex-direction:column;align-items:flex-end;display:flex;position:fixed;top:1rem;right:1rem}.settings__trigger{border:1px solid var(--border-color);background:color-mix(in srgb, var(--surface-elevated) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:42px;height:42px;box-shadow:var(--panel-shadow);color:var(--text-primary);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:border-color .2s,background-color .2s,transform .2s;display:inline-flex}.settings__trigger:hover,.settings__trigger:focus-visible,.settings--open .settings__trigger{background:var(--surface-hover);border-color:color-mix(in srgb, var(--accent-color) 28%, var(--border-color));outline:none}.settings__trigger:active{transform:translateY(1px)}.settings__panel{background:color-mix(in srgb, var(--surface-elevated) 95%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);min-width:168px;box-shadow:var(--panel-shadow);border-radius:18px;margin-top:.55rem;padding:.75rem}.settings__group{flex-direction:column;gap:.3rem;display:flex}.settings__group+.settings__group{margin-top:.65rem}.settings__icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.settings__button{border:1px solid var(--border-color);background:var(--surface-bg);color:var(--text-primary);white-space:nowrap;cursor:pointer;border-radius:999px;padding:.62rem .78rem;font-family:inherit;font-size:.76rem;font-weight:600;line-height:1;transition:border-color .2s,background-color .2s,transform .2s}.settings__button:hover,.settings__button:focus-visible{background:var(--surface-hover);border-color:var(--accent-color);outline:none}.settings__button:active{transform:translateY(1px)}.settings__button--danger{color:var(--danger-color);border-color:color-mix(in srgb, var(--danger-color) 22%, var(--border-color))}.settings__button--danger:hover,.settings__button--danger:focus-visible{background:var(--danger-surface);border-color:var(--danger-color)}.settings__button--danger-confirming{background:var(--danger-color);border-color:var(--danger-color);color:#fff;font-size:.72rem}.settings__button--danger-confirming:hover,.settings__button--danger-confirming:focus-visible{background:color-mix(in srgb, var(--danger-color) 88%, black);border-color:color-mix(in srgb, var(--danger-color) 88%, black)}.theme-switch{cursor:pointer;background:0 0;border:0;padding:0}.theme-switch__track{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:999px;align-items:center;width:42px;height:24px;padding:2px;transition:background-color .2s,border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #00000014}.theme-switch__sun{color:#f7c95d;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;left:5px;transform:translateY(-50%)}.theme-switch__moon{color:var(--text-primary);justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.theme-switch__thumb{background:var(--accent-color);z-index:1;border-radius:50%;width:18px;height:18px;transition:transform .2s,background-color .2s;position:relative;transform:translate(0);box-shadow:0 2px 8px #0f172a2e}.theme-switch__glyph{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:10px;height:10px}.theme-switch__glyph--filled{fill:currentColor;stroke:none}.theme-switch--checked .theme-switch__track{background:color-mix(in srgb, var(--accent-color) 18%, var(--surface-bg));border-color:color-mix(in srgb, var(--accent-color) 30%, var(--border-color))}.theme-switch--checked .theme-switch__thumb{transform:translate(18px)}.theme-switch:focus-visible .theme-switch__track{outline:2px solid color-mix(in srgb, var(--accent-color) 55%, white);outline-offset:2px}
