.header[data-v-e133f4ba]{height:var(--header-height);background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-border)}html[data-theme=dark] .header[data-v-e133f4ba]{background:#0f172acc}.header__inner[data-v-e133f4ba]{display:flex;align-items:center;justify-content:space-between;height:100%}.header__logo[data-v-e133f4ba]{font-family:var(--font-family-serif);font-size:1.75rem;font-weight:600;font-style:italic;color:var(--color-text);text-decoration:none;letter-spacing:-.04em;display:flex;align-items:center}.header__logo[data-v-e133f4ba]:after{content:"";display:inline-block;width:6px;height:6px;background:var(--color-primary);border-radius:50%;margin-left:2px;margin-top:10px}.header__nav[data-v-e133f4ba]{display:flex;align-items:center;gap:2rem}.header__plan[data-v-e133f4ba]{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:.25rem .75rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.header__link[data-v-e133f4ba]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);text-decoration:none;padding:.5rem 1rem;border-radius:var(--radius-full);transition:all var(--transition-fast)}.header__link[data-v-e133f4ba]:hover{background:var(--color-bg-secondary)}.header__logout[data-v-e133f4ba]{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast);background:none;border:none}.header__logout[data-v-e133f4ba]:hover{color:var(--color-text)}.header__theme-toggle[data-v-e133f4ba]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;background:transparent}.header__theme-toggle[data-v-e133f4ba]:hover{color:var(--color-text);background:var(--color-bg-secondary);border-color:var(--color-border)}.rail[data-v-3ca951c4]{position:sticky;top:0;display:flex;flex-direction:column;flex-shrink:0;width:var(--rail-width);height:100vh;padding:1.75rem 1rem 1.25rem;background:var(--rail)}.rail__wordmark[data-v-3ca951c4]{padding:0 .75rem}.rail__nav[data-v-3ca951c4]{display:flex;flex-direction:column;gap:2px;margin-top:2.5rem}.rail__group[data-v-3ca951c4]{display:flex;flex-direction:column;gap:2px;margin-top:1.5rem}.rail__caption[data-v-3ca951c4]{padding:0 .75rem .375rem;color:var(--ink-3);font-size:var(--fs-14);font-weight:470}.rail__link[data-v-3ca951c4]{display:flex;align-items:center;gap:.75rem;width:100%;padding:.5rem .75rem;border:0;border-radius:8px;background:none;color:var(--ink-2);font-size:var(--fs-16);text-align:left;text-decoration:none;cursor:pointer}.rail__link[data-v-3ca951c4]:hover{color:var(--ink)}.rail__link[data-v-3ca951c4]:focus-visible{outline:2px solid var(--ink-3);outline-offset:-2px;border-radius:8px}.rail__link--active[data-v-3ca951c4]{background:var(--raised);color:var(--ink);font-weight:600}.rail__foot[data-v-3ca951c4]{display:flex;flex-direction:column;gap:2px;margin-top:auto}@media(max-width:767px){.rail[data-v-3ca951c4]{display:none}}.burger-menu[data-v-3e580e94]{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;width:44px;height:44px;background:transparent;border:none;cursor:pointer;padding:0;transition:background-color var(--transition-normal)}.burger-menu[data-v-3e580e94]:hover{background-color:var(--color-bg-tertiary)}.burger-menu__line[data-v-3e580e94]{display:block;width:20px;height:2px;background-color:var(--color-text);border-radius:2px;transition:all var(--transition-normal)}.burger-menu__line[data-v-3e580e94]:nth-child(1){transform:translateY(-6px)}.burger-menu__line[data-v-3e580e94]:nth-child(3){transform:translateY(6px)}.burger-menu--open .burger-menu__line[data-v-3e580e94]:nth-child(1){transform:translateY(4px) rotate(45deg)}.burger-menu--open .burger-menu__line[data-v-3e580e94]:nth-child(2){opacity:0}.burger-menu--open .burger-menu__line[data-v-3e580e94]:nth-child(3){transform:translateY(-4px) rotate(-45deg)}html[data-theme=dark] .burger-menu__line[data-v-3e580e94]{background-color:var(--color-text)}html[data-theme=dark] .burger-menu[data-v-3e580e94]:hover{background-color:var(--color-bg-tertiary)}.sidebar-drawer[data-v-f1fc2230]{position:fixed;inset:0;z-index:1000}.sidebar-drawer__divider[data-v-f1fc2230]{height:1px;background-color:var(--color-border);margin:.5rem 1rem}.sidebar-drawer__nav-link--manage[data-v-f1fc2230]{font-size:.8125rem;opacity:.8}.sidebar-drawer__overlay[data-v-f1fc2230]{position:absolute;inset:0;background-color:var(--backdrop)}.sidebar-drawer__content[data-v-f1fc2230]{position:absolute;top:0;left:0;bottom:0;width:85vw;max-width:320px;background-color:var(--rail);display:flex;flex-direction:column}.sidebar-drawer__logo[data-v-f1fc2230]{padding:1.25rem 1rem .5rem}.sidebar-drawer__nav[data-v-f1fc2230]{flex:1;padding:1rem 0;overflow-y:auto}.sidebar-drawer__nav-link[data-v-f1fc2230]{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;color:var(--color-text-secondary);text-decoration:none;font-weight:500;transition:all var(--transition-normal);min-height:44px}.sidebar-drawer__nav-link[data-v-f1fc2230]:hover{background-color:var(--color-bg-secondary);color:var(--color-text)}.sidebar-drawer__nav-link--active[data-v-f1fc2230]{background-color:var(--raised);color:var(--ink);font-weight:600}.sidebar-drawer__icon[data-v-f1fc2230]{font-size:1.25rem;width:1.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar-drawer__nav-link svg[data-v-f1fc2230]{flex-shrink:0}.sidebar-drawer__footer[data-v-f1fc2230]{padding:1rem;display:flex;flex-direction:column;gap:.5rem}.sidebar-drawer__action-btn[data-v-f1fc2230]{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:transparent;border:0;border-radius:8px;color:var(--ink-2);font-size:var(--fs-16);font-weight:500;min-height:44px;transition:all var(--transition-normal)}.sidebar-drawer__action-btn[data-v-f1fc2230]:hover{color:var(--ink)}.drawer-enter-active[data-v-f1fc2230],.drawer-leave-active[data-v-f1fc2230]{transition:all var(--transition-normal)}.drawer-enter-active .sidebar-drawer__content[data-v-f1fc2230],.drawer-leave-active .sidebar-drawer__content[data-v-f1fc2230]{transition:transform var(--transition-normal)}.drawer-enter-from .sidebar-drawer__overlay[data-v-f1fc2230],.drawer-leave-to .sidebar-drawer__overlay[data-v-f1fc2230]{opacity:0}.drawer-enter-from .sidebar-drawer__content[data-v-f1fc2230],.drawer-leave-to .sidebar-drawer__content[data-v-f1fc2230]{transform:translate(-100%)}.bottom-nav[data-v-de7ca761]{position:fixed;bottom:0;left:0;right:0;z-index:900;display:grid;grid-template-columns:repeat(var(--items),minmax(0,1fr));min-height:var(--bottom-nav-height);padding:.375rem .25rem calc(.375rem + env(safe-area-inset-bottom,0px));background:var(--rail)}.bottom-nav__item[data-v-de7ca761]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;padding:.25rem 0;color:var(--ink-3);font-size:var(--fs-12);text-decoration:none}.bottom-nav__item[data-v-de7ca761]:hover{color:var(--ink-2)}.bottom-nav__item[data-v-de7ca761]:focus-visible{outline:2px solid var(--ink-3);outline-offset:-2px;border-radius:8px}.bottom-nav__item--active[data-v-de7ca761]{color:var(--ink);font-weight:600}.bottom-nav__mark[data-v-de7ca761]{display:grid;place-items:center;width:22px;height:22px}.bottom-nav__label[data-v-de7ca761]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.2}.toast[data-v-36a9f37c]{position:fixed;top:1.5rem;right:1.5rem;padding:.75rem 1.25rem;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-lg);cursor:pointer;z-index:1000;max-width:24rem}.toast--success[data-v-36a9f37c]{background:var(--color-success-bg);color:var(--color-success)}.toast--error[data-v-36a9f37c]{background:var(--color-error-bg);color:var(--color-error)}.toast--info[data-v-36a9f37c]{background:var(--color-info-bg);color:var(--color-info)}.toast-enter-active[data-v-36a9f37c],.toast-leave-active[data-v-36a9f37c]{transition:all .3s ease}.toast-enter-from[data-v-36a9f37c],.toast-leave-to[data-v-36a9f37c]{opacity:0;transform:translate(1rem)}.main[data-v-3f301f04]{flex:1}.app-layout[data-v-3f301f04]{display:flex;min-height:100vh}.app-layout__main[data-v-3f301f04]{flex:1;min-width:0;background:var(--color-bg-app);overflow-y:auto}.app-layout__main--mobile[data-v-3f301f04]{padding-top:var(--mobile-header-height);padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px))}.mobile-header[data-v-3f301f04]{position:fixed;top:0;left:0;right:0;height:var(--mobile-header-height);background-color:var(--rail);display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;z-index:800}.mobile-header__theme[data-v-3f301f04]{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;border:0;border-radius:50%;background:none;color:var(--ink-2);cursor:pointer}@media(min-width:768px){.mobile-header[data-v-3f301f04]{display:none}.app-layout__main--mobile[data-v-3f301f04]{padding-top:0;padding-bottom:0}}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper__popper{z-index:10000;top:0;left:0;outline:none}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s;pointer-events:none}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{position:absolute;top:0;left:0;width:100%;height:100%;display:none}.v-popper__inner{position:relative;box-sizing:border-box;overflow-y:auto}.v-popper__inner>div{position:relative;z-index:1;max-width:inherit;max-height:inherit}.v-popper__arrow-container{position:absolute;width:10px;height:10px}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;position:absolute;top:0;left:0;width:0;height:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{background:#000c;color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:#000c}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;border-radius:6px;border:1px solid #ddd;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}:root,html[data-theme=dark]{--ground: #171b22;--rail: #20262f;--raised: #252b36;--day-empty: #282e3a;--line: #3e4656;--ink: #eff2f6;--ink-2: #bcc3cf;--ink-3: #9aa2b0;--on-ink: #171b22;--pain-1: #7a63c9;--pain-2: #e8773d;--pain-3: #f1d27c;--med: #63bfe0;--cycle: #f0567a;--warn: var(--pain-3);--danger: #f08a8a;--on-pain-1: #ffffff;--on-pain-2: #171b22;--on-pain-3: #171b22;--backdrop: rgb(6 8 12 / .62);color-scheme:dark}html[data-theme=light]{--ground: #f1f3f7;--rail: #e5e9ef;--raised: #ffffff;--day-empty: #dce1e9;--line: #c3cad5;--ink: #161b24;--ink-2: #434c5c;--ink-3: #566072;--on-ink: #f5f7fa;--pain-1: #a494da;--pain-2: #d46621;--pain-3: #8a2a0e;--med: #1f6f9c;--cycle: #d02f60;--warn: var(--pain-3);--danger: #b42323;--on-pain-1: #161b24;--on-pain-2: #161b24;--on-pain-3: #ffffff;--backdrop: rgb(22 27 36 / .45);color-scheme:light}:root{--font: "Ysabeau Office", "PT Sans", "Segoe UI", system-ui, sans-serif;--fs-12: .75rem;--fs-14: .875rem;--fs-16: 1rem;--fs-18: 1.125rem;--fs-24: 1.5rem;--fs-30: 1.875rem;--rail-width: 15rem;--page-gutter: 3.5rem;--content-width: 66rem;--color-primary: var(--ink);--color-primary-hover: var(--ink-2);--color-primary-light: var(--day-empty);--color-accent: var(--cycle);--color-accent-hover: var(--cycle);--color-accent-light: var(--raised);--color-text: var(--ink);--color-text-secondary: var(--ink-2);--color-text-muted: var(--ink-3);--color-bg: var(--raised);--color-bg-secondary: var(--rail);--color-bg-tertiary: var(--day-empty);--color-bg-app: var(--ground);--color-border: var(--line);--color-border-light: var(--line);--color-border-focus: var(--ink);--color-error: var(--danger);--color-error-bg: var(--raised);--color-success: var(--ink);--color-success-bg: var(--raised);--color-info: var(--med);--color-info-bg: var(--raised);--color-warning: var(--warn);--color-warning-bg: var(--raised);--color-severity-low: var(--pain-1);--color-severity-mid: var(--pain-2);--color-severity-high: var(--pain-3);--color-migraine: var(--pain-2);--color-cycle: var(--cycle);--color-medication: var(--med);--font-family-serif: var(--font);--font-family-sans: var(--font);--font-family: var(--font);--font-size-xs: var(--fs-12);--font-size-sm: var(--fs-14);--font-size-base: var(--fs-16);--font-size-lg: var(--fs-18);--font-size-xl: 1.25rem;--font-size-2xl: var(--fs-24);--font-size-3xl: var(--fs-30);--font-size-4xl: 3rem;--font-weight-light: 380;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 650;--line-height-tight: 1.15;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 14px;--radius-xl: 16px;--radius-full: 999px;--radius-card: 14px;--shadow-sm: none;--shadow-md: none;--shadow-lg: 0 12px 32px rgb(0 0 0 / .25);--max-width: 1400px;--header-height: 72px;--sidebar-width: var(--rail-width);--transition-fast: .15s ease;--transition-normal: .25s ease}@media(max-width:1180px){:root{--page-gutter: 2.5rem}}@media(min-width:1600px){:root{--content-width: 74rem}}@media(min-width:1800px){html{font-size:106.25%}:root{--content-width: 78rem}}@media(min-width:2300px){html{font-size:112.5%}:root{--content-width: 86rem}}@media(max-width:767px){:root{--page-gutter: 1rem}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none;touch-action:manipulation}a{color:inherit;text-decoration:none}ul,ol{list-style:none}@media(max-width:767px){button,a,[role=button],input[type=checkbox],input[type=radio]{min-height:var(--touch-target-min);min-width:var(--touch-target-min)}.btn-small-touch,.icon-btn{min-height:var(--touch-target-min-small);min-width:var(--touch-target-min-small)}}:root{--breakpoint-xs: 375px;--breakpoint-sm: 480px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-xxl: 1536px;--mobile-header-height: 56px;--mobile-header-height-md: 64px;--bottom-nav-height: 60px;--sidebar-width-mobile: 85vw;--touch-target-min: 44px;--touch-target-min-small: 36px;--spacing-mobile-sm: .5rem;--spacing-mobile-md: .75rem;--spacing-mobile-lg: 1rem;--spacing-mobile-xl: 1.5rem;--font-size-mobile-xs: .75rem;--font-size-mobile-sm: .875rem;--font-size-mobile-base: 1rem;--font-size-mobile-lg: 1.125rem;--font-size-mobile-xl: 1.25rem;--font-size-mobile-2xl: 1.5rem}@media(max-width:767px){.mobile-only{display:block!important}.desktop-only{display:none!important}}@media(min-width:768px)and (max-width:1023px){.tablet-only{display:block!important}}@media(min-width:1024px){.desktop-only{display:block!important}.mobile-only,.tablet-only{display:none!important}}@media(max-width:767px){.mobile-flex-col{flex-direction:column!important}.mobile-flex-wrap{flex-wrap:wrap!important}.mobile-w-full{width:100%!important}.mobile-text-center{text-align:center!important}}body{font-family:var(--font);font-size:var(--fs-16);line-height:1.5;color:var(--ink);background-color:var(--ground);min-height:100vh;font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:clip}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}a{color:var(--ink);transition:color var(--transition-fast)}a:hover{color:var(--ink-2)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}:focus:not(:focus-visible){outline:none}.page{width:100%;max-width:calc(var(--content-width) + 2 * var(--page-gutter));margin-inline:auto;padding:2.5rem var(--page-gutter) 5rem}@media(max-width:767px){.page{padding-top:1.5rem;padding-bottom:3rem}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.wordmark{display:inline-flex;align-items:center;gap:.625rem;font-size:var(--fs-18);font-weight:650;letter-spacing:.01em;color:var(--ink);text-decoration:none}.wordmark:hover{color:var(--ink)}.wordmark__glyph{display:inline-flex;gap:2px}.wordmark__glyph i{width:6px;height:14px;border-radius:1.5px}.wordmark__glyph i:nth-child(1){background:var(--pain-1)}.wordmark__glyph i:nth-child(2){background:var(--pain-2)}.wordmark__glyph i:nth-child(3){background:var(--pain-3)}.diary-mark{display:inline-block;flex-shrink:0;width:12px;height:12px}.diary-mark--migraine{border-radius:2px;background:var(--pain-2)}.diary-mark--cycle{height:3px;border-radius:2px;background:var(--cycle)}.diary-mark--medication{width:7px;height:7px;margin:0 2.5px;border-radius:50%;background:var(--med)}.diary-mark--none{visibility:hidden}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem 1.25rem;color:var(--ink-2);font-size:var(--fs-14);font-weight:470}.legend__item{display:inline-flex;align-items:center;gap:.4375rem}.swatch{display:inline-block;flex-shrink:0;width:12px;height:14px;border-radius:2px}.swatch--1{background:var(--pain-1)}.swatch--2{background:var(--pain-2)}.swatch--3{background:var(--pain-3)}.swatch--med{width:6px;height:6px;border-radius:50%;background:var(--med)}.swatch--cycle{width:14px;height:3px;border-radius:1px;background:var(--cycle)}.swatch--cycle-plate{background:var(--cycle)}.swatch--med-plate{background:var(--med)}
