.loading-status{min-width:0;color:var(--color-secondary);font-size:var(--font-size-support);text-align:left;align-items:center;gap:8px;font-weight:400;line-height:1.5;display:flex}.loading-status>span{overflow-wrap:anywhere;min-width:0}.loading-status-section{justify-content:center;padding:24px 16px}.loading-status-inline,.loading-status-button{max-width:100%;display:inline-flex}.loading-status-button{color:inherit;font:inherit}.loading-status>svg.loading-spinner,.product-page .loading-status>svg.loading-spinner{flex:0 0 24px;width:24px;height:24px}.loading-orbit{stroke:var(--color-divider)}.loading-planet{fill:var(--color-secondary)}.loading-satellite{fill:var(--color-violet)}.loading-status-button .loading-orbit{stroke:currentColor;opacity:.4}.loading-status-button :is(.loading-planet,.loading-satellite){fill:currentColor}.loading-satellite-orbit{transform-box:view-box;transform-origin:12px 12px;animation:1.2s linear infinite loading-orbit-spin}@keyframes loading-orbit-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loading-satellite-orbit{animation:none}}.loading-status-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.brand-lockup{width:120px;height:26px;display:block}.product-header{z-index:20;background:var(--color-canvas);min-height:var(--product-header-height);padding:calc(.75rem + env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) .75rem max(.75rem, env(safe-area-inset-left));justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.product-header .product-brand{min-width:0;font-size:var(--font-size-section-title);flex-wrap:wrap;flex:auto;align-items:center;gap:8px;line-height:1.5;display:flex}.product-brand .brand-lockup{flex:0 120px;max-width:100%;height:auto}.product-header .product-nickname{min-width:0;max-width:25%;color:var(--color-violet);font-size:var(--font-size-support);align-items:center;gap:0;display:flex}.product-nickname strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.product-nickname>span{color:var(--color-on-surface-secondary);flex:none}.product-header-with-back{justify-content:flex-start;gap:4px}.product-header :is(.product-home-action,.product-back-action){min-width:44px;min-height:44px;color:inherit;font:inherit;background:0 0;border:0;border-radius:12px;flex:none;place-items:center;padding:.5rem;display:grid}.product-header :is(.product-home-action,.product-back-action) svg{width:1.5rem;height:1.5rem;display:block}.product-header .product-back-action{justify-items:start;margin-inline-end:-20px;padding-inline:0}.product-header .product-back-action svg{transform:translate(-6px)}.content-state{text-align:center;flex-direction:column;align-items:center;gap:16px;min-width:0;padding:32px 16px;display:flex}.content-state-graphic{background:var(--color-surface);width:112px;height:112px;color:var(--color-on-surface-secondary);border-radius:50%;flex:none;place-items:center;display:grid}.content-state-graphic>svg{stroke-width:1.5px;width:64px;height:64px;display:block}.content-state-messages{overflow-wrap:anywhere;max-width:100%}.content-state .content-state-title{color:var(--color-ink);font-size:var(--font-size-body);margin:0;font-weight:600;line-height:1.5}.content-state .content-state-description{color:var(--color-secondary);font-size:var(--font-size-support);margin:8px 0 0;font-weight:400;line-height:1.5}.content-state-actions{flex-wrap:wrap;justify-content:center;gap:8px;max-width:100%;display:flex}.content-state-actions>:is(button,a){white-space:normal;max-width:100%}.feedback-toaster [data-sonner-toast][data-styled=true]{border:1px solid var(--color-divider);color:var(--color-ink);background:var(--color-surface);border-radius:16px;min-height:60px;padding:16px 60px 16px 16px;box-shadow:0 8px 24px #2423311f}.feedback-toaster [data-sonner-toast][data-styled=true][data-type=success] [data-icon]{color:#26734a}.feedback-toaster [data-sonner-toast][data-styled=true][data-type=info] [data-icon]{color:#315da8}.feedback-toaster [data-sonner-toast][data-styled=true] [data-description]{color:var(--color-secondary)}ol[data-sonner-toaster].feedback-toaster [data-sonner-toast][data-styled=true] button[data-close-button]{box-shadow:none;color:var(--color-ink);background:0 0;border:0;border-radius:0;width:44px;height:44px;top:8px;left:auto;right:8px;transform:none}.feedback-toaster [data-sonner-toast][data-styled=true] [data-close-button]:focus-visible,.feedback-toaster [data-sonner-toast][data-styled=true]:focus-visible{box-shadow:none;outline:2px solid var(--color-violet);outline-offset:2px}[data-sonner-toaster].feedback-toaster[data-x-position=center]{width:min(356px,100% - 32px);left:max(16px,50% - 178px);right:auto;transform:none}[data-sonner-toaster].feedback-toaster [data-sonner-toast]{width:100%}.confirm-dialog .dialog-actions-alert{justify-content:center;display:flex}.confirm-dialog .dialog-actions-alert button{min-width:120px}.routines-screen{container-type:inline-size}.routine-archive-list{margin:0;padding:0;list-style:none}.routine-archive-list li+li{border-top:1px solid var(--color-divider)}.routine-archive-list a{min-height:88px;color:var(--color-ink);align-items:center;gap:16px;padding-block:16px;text-decoration:none;display:flex}.routine-archive-info{overflow-wrap:anywhere;gap:4px;min-width:0;display:grid}.routine-archive-name{font-size:var(--font-size-body);font-weight:600}.routine-archive-group{color:var(--color-secondary);font-size:var(--font-size-support);align-items:center;gap:6px;display:flex}.routine-archive-date{color:var(--color-secondary);font-size:var(--font-size-caption)}.routines-screen :is(.routine-form,.group-form,.form-fields){gap:16px;min-width:0;display:grid}.routines-screen :is(.form-fields,.repeat-field,.color-field){border:0;min-width:0;margin:0;padding:0}.routines-screen .form-field{gap:8px;min-width:0;display:grid}.routines-screen legend{margin-bottom:12px}.routines-screen .product-field{width:100%}.routines-screen .align-right{text-align:right}.routines-screen .weekday-options{grid-template-columns:repeat(auto-fit,minmax(1.75rem,1fr));gap:8px;display:grid}.routines-screen :is(.weekday-options,.color-options) label{cursor:pointer;min-width:0;font-size:var(--font-size-support);font-weight:400;line-height:1.5;position:relative}.routines-screen :is(.weekday-options,.color-options) input{opacity:0;cursor:pointer;width:100%;height:100%;min-height:0;margin:0;position:absolute;inset:0}.routines-screen .weekday-options span{border:1px solid var(--color-secondary);border-radius:12px;place-items:center;min-height:44px;padding:8px;display:grid}.routines-screen .weekday-options input:checked+span{background:var(--color-violet);border-color:var(--color-violet);color:#fff}.routines-screen :is(.weekday-options,.color-options) input:focus-visible+span{outline:2px solid var(--color-violet);outline-offset:3px}.routines-screen .color-options{grid-template-columns:repeat(auto-fit,minmax(3rem,1fr));gap:16px 8px;display:grid}.routines-screen .color-options label{text-align:center;color:var(--color-secondary);overflow-wrap:anywhere;justify-items:center;gap:8px;display:grid}.routines-screen .color-swatch{color:#fff;width:44px;height:44px;font-size:var(--font-size-page-title);text-shadow:1px 1px 0 var(--color-ink), -1px -1px 0 var(--color-ink);border-radius:50%;place-items:center;display:grid}.routines-screen .color-options input:checked+.color-swatch{outline:2px solid var(--color-violet);outline-offset:3px}.routines-screen .group-form-actions{gap:16px;display:grid}.routines-screen .routines-submit{width:100%}.routines-screen .managed-groups{background:var(--color-surface);border-radius:12px;gap:8px;padding:8px 16px;display:grid}.routines-screen .managed-groups:empty{display:none}.routines-screen .managed-group{min-height:64px;color:var(--color-ink);flex-wrap:wrap;align-items:center;gap:8px 12px;padding-block:12px;text-decoration:none;display:flex}.routines-screen .managed-group .group-name{min-width:0;font-size:var(--font-size-section-title);overflow-wrap:anywhere;flex:8rem;font-weight:600}.routines-screen .default-badge{font-size:var(--font-size-support);color:var(--color-on-surface-secondary);line-height:1.5}.routines-screen fieldset:disabled :is(.weekday-options,.color-options){opacity:.65;cursor:default}.routines-screen .color-check{background:var(--color-ink);color:#fff;width:24px;height:24px;font-size:var(--font-size-body);border-radius:50%;place-items:center;display:grid}.routines-screen .product-title-row>a{text-decoration:none}.routines-screen .group-sort-hint{margin:0 0 16px}.routines-screen .group-drag-hint{width:20px;height:20px;color:var(--color-on-surface-secondary);flex:none;margin-inline-start:auto}.routines-screen .repeat-field .product-option-group{margin-bottom:12px}.routines-screen .routine-goal-options{border:1px solid var(--color-divider);background:var(--color-canvas);border-radius:12px;gap:12px;min-width:0;margin:0;padding:16px;display:grid}.routines-screen .routine-goal-period{width:100%;min-width:0;display:flex}.routines-screen .routine-goal-period>label{flex:1;min-width:0}.routines-screen .routine-goal-period span{min-width:0;padding-inline:4px}.routines-screen .routine-form-section{background:var(--color-surface);border-radius:12px;gap:5px;min-width:0;padding:24px 16px;display:grid}.routines-screen .routine-form-section h2{font-size:var(--font-size-body);margin:0;font-weight:600;line-height:1.5}.routines-screen .routine-name-row{align-items:center;gap:12px;display:flex}.routines-screen .routine-icon-trigger{background:var(--color-divider);height:48px;color:var(--color-ink);cursor:pointer;border:0;border-radius:50%;flex:0 0 48px;place-items:center;padding:0;display:grid}.routines-screen .routine-icon-trigger svg{width:28px;height:28px}.routines-screen .routine-setting-row{min-width:0;min-height:48px;color:var(--color-ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:8px 0;display:flex}.routines-screen .routine-setting-row>:is(.product-field-label,svg){flex-shrink:0}.routines-screen .routine-setting-value{min-width:0;color:var(--color-on-surface-secondary);text-align:right;overflow-wrap:anywhere;font-size:var(--font-size-support);flex:1}.routines-screen :is(.routine-icon-trigger,.routine-setting-row):focus-visible{outline:2px solid var(--color-violet);outline-offset:3px}.routines-screen :is(.routine-icon-trigger,.routine-setting-row):disabled{opacity:.65;cursor:default}.routines-screen .routine-settings-sheet{width:min(100%, var(--product-page-width,640px));border:1px solid var(--color-divider);background:var(--color-canvas);max-width:100%;max-height:85dvh;color:var(--color-ink);border-bottom:0;border-radius:12px 12px 0 0;margin:0 auto;padding:0;position:fixed;inset:auto 0 0;overflow:hidden}.routines-screen .routine-settings-sheet::backdrop{background:#24233166}.routines-screen .routine-sheet-content{flex-direction:column;max-height:85dvh;display:flex}.routines-screen .routine-sheet-header{border-bottom:1px solid var(--color-divider);flex-wrap:wrap;align-items:center;gap:8px;padding:16px;display:flex}.routines-screen .routine-sheet-header h2{font-size:var(--font-size-section-title);flex:1;margin:0;line-height:1.5}.routines-screen .routine-sheet-header .text-button{margin-inline-start:auto;padding-inline:4px}.routines-screen .routine-sheet-header .product-button-icon{width:44px;min-height:44px;padding:0}.routines-screen .routine-sheet-scroll{overscroll-behavior:contain;gap:16px;min-height:0;padding:24px 16px;display:grid;overflow-y:auto}.routines-screen .routine-sheet-scroll .routine-goal-options{border:0;padding:0}.routines-screen .routine-sheet-actions{padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--color-divider);flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.routines-screen .routine-sheet-actions .text-button{margin-inline-end:auto}.review-month-navigation{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;min-height:48px;display:grid}.review-month-navigation>button{background:var(--color-surface);border:0;border-radius:50%;place-items:center;width:44px;min-height:44px;padding:8px;display:grid}.review-month-navigation>button svg{width:24px;height:24px}.review-month-navigation>button:disabled{color:var(--color-secondary);cursor:default}.review-selected-month{text-align:center;font-size:var(--font-size-section-title);letter-spacing:-.03125em;font-weight:700;line-height:1.25}.review-section{border:1px solid var(--color-divider);background:color-mix(in srgb, var(--color-surface) 30%, var(--color-canvas));border-radius:12px;margin-top:16px;padding:20px 16px}.review-section h2{font-size:var(--font-size-body);border-bottom:1px solid var(--color-divider);color:var(--color-ink);margin:0 0 12px;padding-bottom:10px}.review-group{margin-top:20px}.review-group h3{font-size:var(--font-size-support);align-items:center;gap:6px;margin:0 0 12px;display:flex}.review-summary{grid-template-columns:minmax(0,1fr) minmax(76px,100px);align-items:center;gap:16px;display:grid}.review-summary>p{font-size:var(--font-size-section-title);overflow-wrap:anywhere;margin:8px 0;font-weight:600;line-height:1.65}.review-summary>div{text-align:right;flex-direction:column;gap:6px;display:flex}.review-summary strong{font-variant-numeric:tabular-nums;font-size:1.35rem}.review-goal{color:inherit;border-bottom:1px solid var(--color-divider);padding:12px 0;text-decoration:none;display:block}a.review-goal:focus-visible{outline:2px solid var(--review-color);outline-offset:4px}.review-goal-label{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;display:grid}.review-goal-label .review-routine-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.review-goal-label .product-caption{white-space:nowrap}.review-routine-name{overflow-wrap:anywhere;min-width:0}.review-progress-row{font-variant-numeric:tabular-nums;text-align:right;grid-template-columns:minmax(0,1fr) 55px;align-items:center;gap:12px;margin-top:8px;font-size:.8rem;display:grid}.review-progress{background:#eeedea;border-radius:4px;height:8px;overflow:hidden}.review-progress>span{background:var(--review-color);height:100%;display:block}.review-progress.is-inactive{background:repeating-linear-gradient(135deg,#eeedea,#eeedea 4px,#e3e2df 4px 6px)}.review-trend-content{position:relative}.review-chart-loading{top:0;z-index:1;background:var(--color-canvas);position:absolute;inset-inline-end:0}.review-chart{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;margin-top:20px;padding-bottom:8px;display:grid}.review-chart>[role=listitem]{text-align:center;grid-template-rows:minmax(1.5em,auto) 120px minmax(2.5em,auto);justify-items:center;gap:8px;min-width:0;display:grid}.review-chart>[role=listitem]>.product-caption{white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums;font-size:.7rem}.review-chart>[role=listitem]>.product-caption:last-child{flex-direction:column;align-items:center;display:flex}.review-chart-month-label{flex-direction:column;line-height:1.4;display:flex}.review-chart-month-marker{height:1em;line-height:1}.review-chart-column{border-bottom:1px solid #b8b6b1;align-items:flex-end;width:min(22px,75%);min-width:0;height:120px;display:flex}.review-chart-column>span{background:var(--color-violet);border-radius:3px 3px 0 0;width:100%}.review-chart-column.is-inactive{background:#f3f2ef;border-bottom-style:dashed}.review-practice-row{margin-bottom:16px;position:relative}.review-practice-row>p{font-size:var(--font-size-support);margin:0 0 8px}.review-days{cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;width:100%;height:44px;padding:4px 0;display:flex}.review-day{min-width:0;height:28px;box-shadow:inset 0 0 0 1px var(--color-divider);background:#eeedea;border-radius:2px;flex:1;position:relative;overflow:hidden}.review-day-fill{background:var(--review-color);position:absolute;inset:0}.review-day.is-unperformed{background:var(--color-surface)}.review-day.is-inactive{box-shadow:none;background:repeating-linear-gradient(135deg,#f3f2ef,#f3f2ef 3px,#e2e1dd 3px 4px)}.review-day:after{content:"";border-radius:inherit;box-shadow:inherit;pointer-events:none;position:absolute;inset:0}.review-day.is-selected{outline-offset:1px;outline:2px solid #292524}.review-days:focus-visible{outline:2px solid var(--review-color);outline-offset:3px}.review-criteria{line-height:1.7}.review-criteria ul{margin:0;padding-inline-start:18px}.review-criteria li+li{margin-top:10px}.review-chart-month-marker svg{width:1em;height:1em}.review-section>.product-caption svg{vertical-align:middle;display:inline-block}.routine-goal-layer{z-index:80;inset:calc(4.25rem + env(safe-area-inset-top)) 0 calc(4.5rem + env(safe-area-inset-bottom));pointer-events:none;place-items:center;display:grid;position:fixed;overflow:hidden}.routine-goal-placard{--goal-art-offset:0px;width:min(calc(var(--product-page-width,640px) - 32px), calc(100vw - 32px));isolation:isolate;place-items:center;min-height:110px;animation:.18s ease-out routine-goal-appear;display:grid;position:relative}.routine-goal-placard:before{content:"";z-index:-1;background:radial-gradient(#fff6e0a6,#fff6e000 72%);position:absolute;inset:-40px -12px}.routine-goal-art{top:calc(50% + var(--goal-art-offset));pointer-events:none;grid-template-columns:minmax(0,1fr) 252px minmax(0,1fr);width:100%;height:224px;display:grid;position:absolute;transform:translateY(-50%)}.routine-goal-art>svg{width:100%;min-width:0;height:100%;overflow:hidden}.routine-goal-copy{text-align:center;color:#3e3026;text-shadow:0 1px #ffffff59;gap:4px;width:224px;max-width:100%;padding:12px 4px;display:grid;position:relative}.routine-goal-copy strong{font-size:var(--font-size-section-title);font-weight:700;line-height:1.3}.routine-goal-copy span{font-size:var(--font-size-reading);font-weight:600;line-height:1.3}.routine-goal-placard[data-design=sunrise]{--goal-art-offset:27px}.routine-goal-placard[data-design=laurel]{--goal-art-offset:-22px}.routine-goal-placard[data-design=champion]{--goal-art-offset:15px}.routine-goal-close{color:#3e3026;isolation:isolate;pointer-events:auto;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;min-width:44px;min-height:44px;display:grid;position:absolute;top:-16px;right:0}.routine-goal-close:before{content:"";z-index:-1;box-sizing:border-box;background:#fff;border:1px solid #3e302626;border-radius:50%;width:22.4px;height:22.4px;position:absolute}.routine-goal-close>svg{width:14px;height:14px}.routine-goal-close:focus-visible{outline-offset:2px;outline:2px solid #8b613c}@media (width<=359px){.routine-goal-art{grid-template-columns:minmax(0,1fr) 228px minmax(0,1fr)}.routine-goal-copy{width:204px}.routine-goal-copy strong{font-size:var(--font-size-section-title)}}@keyframes routine-goal-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.routine-goal-placard{animation:none}}.service-frame{--service-bar-height:calc(80px + env(safe-area-inset-bottom));padding-bottom:var(--service-bar-height)}.service-frame>.product-page{min-height:calc(100dvh - var(--service-bar-height))}.service-frame :is(input,select,textarea,button,a){scroll-margin-bottom:calc(var(--service-bar-height) + 16px)}.product-bottom-bar{z-index:20;width:min(100%, var(--product-page-width));padding:8px max(8px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));border-top:1px solid var(--color-divider);background:var(--color-canvas);display:flex;position:fixed;inset:auto auto 0 50%;transform:translate(-50%)}.product-bottom-bar button{min-width:0;min-height:56px;color:var(--color-secondary);font-size:var(--font-size-compact);overflow-wrap:anywhere;background:0 0;border:0;border-radius:8px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:4px;padding:4px;line-height:1.5;display:flex;position:relative}.product-bottom-bar button svg{flex-shrink:0;width:24px;height:24px}.product-bottom-bar button[aria-current=page]{color:var(--color-violet);font-weight:600}.product-bottom-bar button[aria-current=page]:before{content:"";background:var(--color-violet);height:2px;position:absolute;inset:-9px 0 auto}.product-bottom-bar button:disabled{opacity:.65;cursor:default}.service-introduction-content{isolation:isolate;padding:36px var(--page-inset) 48px;position:relative;overflow:hidden}.service-introduction-copy{z-index:1;position:relative}.service-introduction h1{letter-spacing:-.045em;word-break:keep-all;margin:0 0 20px;font-size:clamp(1.875rem,5vw,2.5rem);font-weight:700;line-height:1.35}.service-introduction p{color:var(--color-on-surface-secondary);word-break:keep-all;overflow-wrap:anywhere;margin:0}.service-introduction-lead{font-size:var(--font-size-reading);line-height:1.8}.service-introduction-details{gap:28px;margin:48px 0 36px;display:grid}.service-introduction h2{font-size:var(--font-size-body);letter-spacing:-.02em;margin:0 0 6px;font-weight:600;line-height:1.5}.service-introduction-details p{font-size:var(--font-size-support);line-height:1.75}.service-introduction .service-introduction-start{gap:24px}.service-introduction-art{z-index:0;pointer-events:none;color:var(--color-violet);opacity:.065;position:absolute;inset:0}.service-introduction-art svg:first-child{stroke-width:.65px;width:clamp(160px,44vw,240px);height:clamp(160px,44vw,240px);position:absolute;top:32px;right:-32px;transform:rotate(-14deg)}.service-introduction-art svg:last-child{stroke-width:.75px;width:96px;height:96px;position:absolute;bottom:24px;right:24px;transform:rotate(12deg)}.service-introduction-books .service-introduction-art svg:first-child{transform:rotate(12deg)}.service-introduction-cycles .service-introduction-art svg:first-child{transform:rotate(-6deg)}.service-introduction-cycles .service-introduction-art svg:last-child{transform:none}.service-session-content{padding:24px var(--page-inset)}.service-session-content p{color:var(--color-secondary)}@media (width<=479px){.service-introduction-art svg:last-child{display:none}}@media (width<=359px){.service-introduction-content{padding-top:24px}.service-introduction-details{gap:24px;margin-top:36px}}[data-sort-handle]{touch-action:none;cursor:grab}[data-sort-handle]:disabled{cursor:default}[data-sort-id].is-dragging,.routine-sort-list .is-dragging{opacity:.3}.product-page .sortable-preview{z-index:1000;box-sizing:border-box;pointer-events:none;border:1px solid var(--color-divider);background:var(--color-canvas);opacity:.96;border-radius:12px;align-items:center;gap:8px;margin:0;padding:12px;list-style:none;display:flex;position:fixed;box-shadow:0 12px 32px #2423313d}.product-page .sortable-preview>span:not(.group-dot){overflow-wrap:anywhere;flex:1}.sortable-marker{z-index:1001;background:var(--color-violet);pointer-events:none;border-radius:3px;height:3px;position:fixed}.product-page .sortable-preview .books-category-actions{gap:4px;display:flex}.sortable-preview *{pointer-events:none}.icon-picker{border:0;min-width:0;margin:0;padding:0}.icon-preview{align-items:center;gap:12px;min-width:0;margin:16px 0;display:flex}.icon-preview>div{min-width:0}.icon-preview strong{overflow-wrap:anywhere;font-size:1.5rem;line-height:1.4;display:block}.icon-preview-symbol{background:color-mix(in srgb, var(--color-violet) 9%, var(--color-canvas));border-radius:50%;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.icon-preview-symbol svg{width:28px;height:28px}.icon-picker>label{margin:16px 0 8px;display:block}.icon-grid{grid-template-columns:repeat(5,minmax(0,55px));justify-content:space-between;gap:6px;margin:12px 0;display:grid}.icon-picker .icon-grid button{aspect-ratio:1;border:1px solid var(--color-divider);background:var(--color-canvas);min-height:44px;color:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:8px;display:flex}.icon-grid button[aria-pressed=true]{border-color:var(--color-violet);background:var(--color-surface);color:var(--color-violet)}.icon-picker-actions{justify-content:flex-end;display:flex}.icon-picker .product-button-more.icon-picker-more{margin-inline-start:auto}.icon-grid svg{width:30px;height:30px}.icon-picker>.icon-search-clear{margin-top:12px}@media (width>=640px){.icon-grid{grid-template-columns:repeat(10,minmax(0,55px))}}.rdp-root{--rdp-accent-color:blue;--rdp-accent-background-color:#f0f0ff;--rdp-day-height:44px;--rdp-day-width:44px;--rdp-day_button-border-radius:100%;--rdp-day_button-border:2px solid transparent;--rdp-day_button-height:42px;--rdp-day_button-width:42px;--rdp-selected-border:2px solid var(--rdp-accent-color);--rdp-disabled-opacity:.5;--rdp-outside-opacity:.75;--rdp-today-color:var(--rdp-accent-color);--rdp-dropdown-gap:.5rem;--rdp-months-gap:2rem;--rdp-nav_button-disabled-opacity:.5;--rdp-nav_button-height:2.25rem;--rdp-nav_button-width:2.25rem;--rdp-nav-height:2.75rem;--rdp-range_middle-background-color:var(--rdp-accent-background-color);--rdp-range_middle-color:inherit;--rdp-range_start-color:white;--rdp-range_start-background:linear-gradient(var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50%);--rdp-range_start-date-background-color:var(--rdp-accent-color);--rdp-range_end-background:linear-gradient(var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50%);--rdp-range_end-color:white;--rdp-range_end-date-background-color:var(--rdp-accent-color);--rdp-week_number-border-radius:100%;--rdp-week_number-border:2px solid transparent;--rdp-week_number-height:var(--rdp-day-height);--rdp-week_number-opacity:.75;--rdp-week_number-width:var(--rdp-day-width);--rdp-weeknumber-text-align:center;--rdp-weekday-opacity:.75;--rdp-weekday-padding:.5rem 0rem;--rdp-weekday-text-align:center;--rdp-gradient-direction:90deg;--rdp-animation_duration:.3s;--rdp-animation_timing:cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction:-90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity:unset}.rdp-root{box-sizing:border-box;position:relative}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{cursor:pointer;font:inherit;color:inherit;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius);background:0 0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;white-space:nowrap;border:0;align-items:center;display:inline-flex;position:relative}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{cursor:pointer;font:inherit;color:inherit;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex;position:relative}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{fill:var(--rdp-accent-color);display:inline-block}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform-origin:50%;transform:rotate(180deg)}.rdp-dropdowns{align-items:center;gap:var(--rdp-dropdown-gap);display:inline-flex;position:relative}.rdp-dropdown{z-index:2;opacity:0;appearance:none;width:100%;cursor:inherit;line-height:inherit;border:none;margin:0;padding:0;position:absolute;inset-block:0;inset-inline-start:0}.rdp-dropdown_root{align-items:center;display:inline-flex;position:relative}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{height:var(--rdp-nav-height);align-content:center;font-size:large;font-weight:700;display:flex}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{inset-inline-start:0;height:var(--rdp-nav-height);display:inline-flex;position:absolute;top:0}.rdp-root[data-nav-layout=around] .rdp-button_next{inset-inline-end:0;height:var(--rdp-nav-height);justify-content:center;display:inline-flex;position:absolute;top:0}.rdp-months{gap:var(--rdp-months-gap);flex-wrap:wrap;max-width:fit-content;display:flex;position:relative}.rdp-month_grid{border-collapse:collapse}.rdp-nav{height:var(--rdp-nav-height);align-items:center;display:flex;position:absolute;inset-block-start:0;inset-inline-end:0}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform);font-size:smaller;font-weight:500}.rdp-week_number{opacity:var(--rdp-week_number-opacity);height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align);font-size:small;font-weight:400}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-size:large;font-weight:700}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.date-picker{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.date-picker .date-picker-input{cursor:pointer;flex:1;width:100%}.date-picker-trigger{width:100%;min-height:48px;color:inherit;background:0 0;border:0;border-radius:8px;padding:4px 8px}.date-picker-trigger:focus-visible{outline:2px solid var(--color-violet);outline-offset:2px}.date-picker-dialog{border:1px solid var(--color-secondary);background:var(--color-canvas);width:min(420px,100% - 16px);max-width:none;max-height:calc(100dvh - 32px);color:var(--color-ink);font:inherit;border-radius:16px;margin:auto;padding:16px;overflow:auto}.date-picker-dialog::backdrop{background:#24233152}.date-picker-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.date-picker-dialog .date-picker-close{width:44px;height:44px;color:inherit;background:0 0;border:0;border-radius:12px;place-items:center;padding:0;display:grid}.date-picker-dialog :is(button,input,select):focus-visible{outline:2px solid var(--color-violet);outline-offset:2px}.date-picker-dialog .rdp-root{--rdp-accent-color:var(--color-violet);--rdp-accent-background-color:var(--color-surface);--rdp-day-width:auto;--rdp-day-height:48px;--rdp-day_button-width:100%;--rdp-day_button-height:48px;--rdp-day_button-border-radius:12px;--rdp-nav_button-width:44px;--rdp-nav_button-height:44px;--rdp-nav-height:52px;--rdp-disabled-opacity:.45;width:100%;font-size:var(--font-size-body)}.date-picker-dialog .rdp-months,.date-picker-dialog .rdp-month{width:100%;max-width:none}.date-picker-dialog .rdp-month_grid{table-layout:fixed;border-collapse:separate;border-spacing:2px 4px;width:100%}.date-picker-dialog .rdp-day{width:14.2857%}.date-picker-dialog .rdp-day_button{font-size:var(--font-size-section-title);margin:0}.date-picker-dialog .rdp-selected .rdp-day_button{border-color:var(--color-violet);background:var(--color-violet);color:#fff}.date-picker-dialog .rdp-day_button:hover:not(:disabled),.date-picker-dialog .date-picker-close:hover{background:var(--color-surface)}.date-picker-dialog .rdp-selected .rdp-day_button:hover{background:var(--color-violet-pressed)}.date-picker-dialog .rdp-today .rdp-day_button{text-decoration:none;position:relative}.date-picker-dialog .rdp-today:not(.rdp-selected) .rdp-day_button{border-color:var(--color-violet);background:var(--color-surface)}.date-picker-dialog .rdp-today .rdp-day_button:after{content:"TODAY";inset-inline:0;text-align:center;pointer-events:none;font-size:9px;font-weight:600;line-height:10px;position:absolute;bottom:2px}.date-picker-dialog .rdp-weekday{color:var(--color-secondary);font-size:var(--font-size-support);opacity:1;font-weight:600}.date-picker-dialog .rdp-weekday:first-child,.date-picker-dialog .date-picker-sunday .rdp-day_button{color:#b42318}.date-picker-dialog .rdp-weekday:last-child,.date-picker-dialog .date-picker-saturday .rdp-day_button{color:#175cd3}.date-picker-dialog :is(.date-picker-sunday,.date-picker-saturday).rdp-selected .rdp-day_button{background:var(--color-surface)}.date-picker-dialog .rdp-dropdowns{flex-wrap:wrap;gap:8px}.date-picker-dialog .rdp-month_caption{height:auto;min-height:var(--rdp-nav-height);padding-inline-end:calc(2 * var(--rdp-nav_button-width) + 8px)}.date-picker-dialog .rdp-dropdown_root{border:1px solid var(--color-secondary);background:var(--color-canvas);border-radius:8px;min-height:44px;padding:8px}.date-picker-dialog .rdp-caption_label{font-size:var(--font-size-body);gap:4px}.date-picker-dialog .rdp-nav{gap:4px}.date-picker-dialog .rdp-button_previous,.date-picker-dialog .rdp-button_next{background:var(--color-surface);border-radius:12px}.date-picker-manual{border-top:1px solid var(--color-divider);gap:8px;margin-top:12px;padding-top:16px;display:grid}.date-picker-manual-controls{flex-wrap:wrap;gap:8px;display:flex}.date-picker-manual-controls input{flex:140px;min-width:0}.date-picker-manual-controls button{flex:auto}@media (width<=359px){.date-picker-dialog{padding:12px 8px}.date-picker-dialog .rdp-root{--rdp-nav_button-width:40px}.date-picker-dialog .rdp-dropdowns{gap:4px}.date-picker-dialog .rdp-dropdown_root{padding-inline:4px}}.cycle-content button:where(:not(.product-button,.product-button-more,.product-button-delete,.product-button-archive,.text-button)){border:1px solid var(--color-divider);background:var(--color-canvas);cursor:pointer;min-height:44px;color:inherit;border-radius:8px;padding:10px 14px}.cycle-content button:where(:not(.product-button,.product-button-more,.product-button-delete,.product-button-archive,.text-button)):disabled{opacity:.5;cursor:default}.cycle-content .cycle-primary{width:100%;margin:16px 0}.cycle-form fieldset{border:0;min-width:0;margin:0;padding:0}.cycle-form label{margin:16px 0 8px;display:block}.cycle-form .product-field{box-sizing:border-box;width:100%;display:block}.cycle-form .icon-picker{margin-top:24px}.cycle-list{margin:16px 0;padding:0;list-style:none}.cycle-list>li{border-bottom:1px solid var(--color-divider);padding:18px 0}.cycle-content .cycle-open{text-align:left;background:0 0;border:0;align-items:flex-start;gap:12px;width:100%;padding:0;display:flex}.cycle-open svg{flex-shrink:0;width:24px;height:24px}.cycle-open strong{overflow-wrap:anywhere;padding-top:2px}.cycle-list-info{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;margin:8px 0 0 36px;display:grid}.cycle-list-info>span:last-child{text-align:right;overflow-wrap:anywhere}.cycle-list-info small{display:block}.cycle-prediction{border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);padding:24px 0}.cycle-prediction strong{color:var(--color-violet);margin-top:8px;font-size:1.6rem;display:block}.cycle-history{padding:0;list-style:none}.cycle-history li{border-bottom:1px solid var(--color-divider);padding:16px 0}.cycle-history time{font-weight:600}.cycle-history p{margin-block:0}.cycle-history p,.cycle-recovery li p{white-space:pre-wrap;overflow-wrap:anywhere}.cycle-recovery{background:var(--color-surface);overflow-wrap:anywhere;border-radius:8px;padding:16px;font-size:.85rem}.cycle-recovery ul{max-height:320px;padding-left:20px;overflow-y:auto}.cycle-recovery small{display:block}@media (width<=360px){.cycle-list-info{margin-left:0}}.cycle-session-warning{border:1px solid var(--color-divider);border-radius:8px;margin:16px 20px;padding:16px}.cycle-session-warning button{font:inherit;border:1px solid var(--color-divider);background:var(--color-surface);border-radius:8px;min-height:44px;padding:8px 12px}.cycle-load-error{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:24px 0;display:flex}.cycle-load-error-image{background:var(--color-surface);width:72px;height:72px;color:var(--color-secondary);stroke-width:1.25px;border-radius:50%;padding:24px}.cycle-dashboard{overflow-anchor:none}.cycle-view-toggle{justify-content:flex-end;width:max-content;margin:8px 0 8px auto;display:flex}.cycle-item-heading{align-items:flex-start;gap:12px;display:flex}.cycle-item-heading .cycle-open{flex:1;min-width:0}.cycle-item-actions{flex-shrink:0;gap:6px;display:flex}.cycle-orbit{width:100%;color:var(--color-secondary);margin:12px 0}.cycle-orbit>svg{width:100%;display:block;overflow:visible}.cycle-orbit text{font-family:inherit;font-size:12px}.cycle-preference-error{margin:12px 0}.cycle-list>.cycle-orbit-item{grid-template-columns:minmax(0,1fr);display:grid}.cycle-orbit-item .cycle-list-info{display:contents}.cycle-orbit-item .cycle-list-info>span:last-child{text-align:right;grid-row:2;margin-top:8px}.cycle-orbit-item .cycle-orbit{grid-row:3}.cycle-identity-icon{background:color-mix(in srgb, var(--color-violet) 9%, var(--color-canvas));border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.cycle-open .cycle-identity-icon svg{width:26px;height:26px}.cycle-content .cycle-open{align-items:center}.cycle-open strong{padding-top:0;line-height:1.5}.cycle-view-orbit{gap:16px;display:grid}.cycle-list>.cycle-orbit-item{border:1px solid var(--color-divider);background:var(--color-canvas);border-radius:16px;padding:20px 16px 16px}.cycle-orbit-item .cycle-list-info>span:last-child{margin-top:12px;font-weight:600}.cycle-orbit-item .cycle-orbit{margin:16px 0 8px}.cycle-orbit-curve{stroke:color-mix(in srgb, var(--color-violet) 36%, var(--color-divider));stroke-width:2px}.cycle-orbit-point{stroke:var(--color-canvas);stroke-width:1.5px}.cycle-orbit [data-kind=prediction] text{font-weight:600}.cycle-stats{background:var(--color-surface);border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(0,.7fr) minmax(0,1.3fr);margin:16px 0;padding:16px 12px;display:grid}.cycle-stats>div{min-width:0;padding:0 12px}.cycle-stats>div+div{border-left:1px solid var(--color-divider)}.cycle-stats dt{color:var(--color-on-surface-secondary,#494554);font-size:var(--font-size-compact);margin-bottom:6px;line-height:1.5}.cycle-stats dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0;font-size:.9rem;font-weight:650;line-height:1.5}.cycle-stat-emphasis dd{color:var(--color-violet)}.cycle-orbit-item .cycle-stats{grid-row:4;margin:0}.cycle-detail-title{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:0;display:grid}.cycle-detail-identity{grid-area:1/1}.cycle-detail-title>.cycle-favorite{grid-area:1/2;justify-self:end}.cycle-content .product-identity.cycle-record-identity{margin-bottom:24px}.cycle-management-actions>button:where(:not(.product-button,.product-button-more,.product-button-delete,.product-button-archive,.text-button)){align-items:center;gap:6px;display:inline-flex}.cycle-detail .product-screen-title{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.cycle-archive-label{color:var(--color-secondary);font-size:var(--font-size-caption);font-weight:400;line-height:1.5}.cycle-prediction{text-align:center;border:0;padding:24px 0 16px}.cycle-prediction>small{color:var(--color-secondary);font-size:var(--font-size-support)}.cycle-prediction strong{font-size:clamp(1.6rem,6vw,2rem);line-height:1.4}.cycle-prediction p{color:var(--color-violet);margin:8px 0 0;font-weight:600}.cycle-history li{padding-left:20px;position:relative}.cycle-history li:before{content:"";background:var(--color-secondary);border-radius:50%;width:6px;height:6px;position:absolute;top:24px;left:0}@media (width<=360px){.cycle-list>.cycle-orbit-item{padding:16px 12px 12px}.cycle-stats{padding:12px 4px}.cycle-stats>div{padding:0 8px}.cycle-stats dd{font-size:.85rem}}.cycle-count-badge{background:var(--color-surface);min-width:1.25rem;height:1.25rem;color:var(--color-ink);font-size:var(--font-size-compact);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;margin-left:6px;padding:0 4px;display:inline-grid}.cycle-view-orbit{gap:10px;margin:8px 0}.cycle-list>.cycle-orbit-item{border-width:2px;border-color:#0000;padding:12px}.cycle-list>.cycle-orbit-item:not(.cycle-is-overdue){border-color:var(--color-divider)}.cycle-is-overdue{--cycle-prediction-color:#b3263e}.cycle-list>.cycle-orbit-item.cycle-is-overdue{border-color:#b3263e}.cycle-orbit-item .cycle-orbit{grid-row:auto;margin:0}.cycle-orbit{margin:0;position:relative}.cycle-orbit [data-kind=prediction] text{font-size:13px;font-weight:700}.cycle-orbit-halo{fill:color-mix(in srgb, var(--cycle-prediction-color,var(--color-violet)) 12%, var(--color-canvas))}.cycle-stats{text-align:center;padding-top:10px;padding-bottom:10px}.cycle-orbit-item .cycle-stats{grid-row:auto}.cycle-stats dt{margin-bottom:3px}.cycle-stat-emphasis dd,.cycle-is-overdue .cycle-prediction strong,.cycle-is-overdue .cycle-prediction p{color:var(--cycle-prediction-color,var(--color-violet))}.cycle-unavailable{color:var(--color-secondary);margin:8px 0;font-size:.85rem}.cycle-content .cycle-orbit-node{background:0 0;border:0;border-radius:50%;width:44px;height:44px;min-height:44px;padding:0;position:absolute;transform:translate(-50%,-50%)}.cycle-view-list>li{padding:10px 0}.cycle-view-list .cycle-identity-icon{width:36px;height:36px}.cycle-view-list .cycle-identity-icon svg{width:22px;height:22px}.cycle-view-list .cycle-list-info{flex-direction:column;gap:2px;margin:2px 0 0 48px;display:flex}.cycle-view-list .cycle-list-info>span:last-child{text-align:left}.cycle-view-list .cycle-list-info small{font-size:inherit;color:var(--cycle-prediction-color,var(--color-secondary));margin-left:6px;font-weight:600;display:inline}@media (width<=360px){.cycle-list>.cycle-orbit-item{padding:10px}.cycle-view-list .cycle-list-info{margin-left:0}}.cycle-view-list .cycle-list-info{margin-left:0}.cycle-expected-date,.cycle-view-list .cycle-list-info small{white-space:nowrap}.cycle-is-overdue .cycle-prediction{border:2px solid #b3263e;border-radius:12px;margin:12px 0;padding:16px 12px}.cycle-tab-label{display:inline-block;position:relative}.cycle-count-badge{background:var(--color-violet);color:#fff;min-width:1.25rem;height:1.25rem;font-size:var(--font-size-compact);box-shadow:0 0 0 2px var(--color-canvas);margin:0;padding:0 4px;font-weight:750;line-height:1;position:absolute;top:-.5rem;left:calc(100% + 2px)}.cycle-duration{display:inline-block;position:relative}.cycle-content .cycle-duration-trigger{min-width:44px;min-height:0;color:inherit;font:inherit;line-height:inherit;text-underline-offset:4px;background:0 0;border:0;border-radius:4px;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;position:relative}.cycle-duration-trigger:before{content:"";height:44px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.cycle-duration-tooltip{z-index:3;pointer-events:none;background:var(--color-ink,#242331);color:var(--color-canvas);font-size:var(--font-size-compact);white-space:nowrap;border-radius:6px;padding:5px 8px;font-weight:400;line-height:1.5;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.cycle-record-number{color:var(--color-secondary);font-variant-numeric:tabular-nums;margin-right:10px;font-size:.8rem;display:inline-block}.cycle-content :is(.cycle-favorite,.cycle-snooze){width:44px;height:44px;color:var(--color-secondary);background:0 0;border:0;flex-shrink:0;place-items:center;padding:8px;display:grid}.cycle-content .cycle-favorite[aria-pressed=true]{color:var(--color-violet)}.cycle-content :is(.cycle-favorite,.cycle-snooze) svg{width:22px;height:22px;margin:0}.cycle-drag-handle{width:32px;min-height:44px;color:var(--color-secondary);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y pinch-zoom;place-items:center;display:grid}.cycle-item-actions{flex-direction:column;align-items:center;gap:0;width:44px}.cycle-view-list>li{grid-template-columns:minmax(0,1fr) 44px;column-gap:8px;display:grid}.cycle-view-list .cycle-item-heading{display:contents}.cycle-view-list .cycle-open{grid-area:1/1}.cycle-view-list .cycle-item-actions{grid-area:1/2/span 2;align-self:start}.cycle-view-list .cycle-list-info{grid-area:2/1}.cycle-mutation-notice{margin:12px 0}.cycle-mutation-notice p{margin:0}.cycle-mutation-notice button{margin-top:8px}.product-page .sortable-preview:has(.cycle-item-heading){display:block}.cycle-management-actions{margin:16px 0}.cycle-history>li:has(.cycle-record-edit){padding-right:40px}.cycle-history>li>.cycle-record-edit{position:absolute;top:16px;right:0}.cycle-archive-list>li{grid-template-columns:minmax(0,1fr)}.cycle-archive-date{color:var(--color-secondary);font-size:var(--font-size-caption);overflow-wrap:anywhere}.cycle-content .cycle-error{margin:16px 0}.cycle-content .product-section-title.cycle-history-heading{margin-top:32px}.cycle-form .product-option-group{margin:16px 0 8px}.cycle-snooze-layer{border:1px solid var(--color-divider);background:var(--color-canvas);width:min(320px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--color-ink);border-radius:16px;margin:auto;padding:20px}.cycle-snooze-layer::backdrop{background:#0000003d}.cycle-snooze-layer-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.cycle-snooze-layer-heading h2{margin:0}.cycle-snooze-layer>p{margin:8px 0 16px}.cycle-snooze-choices{gap:8px;display:grid}.cycle-detail-management{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.cycle-detail-management .cycle-snooze-release{margin-left:auto}.cycle-list-toolbar,.cycle-list-tools{align-items:center;gap:8px;display:flex}.cycle-list-toolbar{flex-wrap:wrap;justify-content:space-between;margin:8px 0}.cycle-list-tools{margin-left:auto}.cycle-list-toolbar .cycle-view-toggle{margin:0}.cycle-content .cycle-sort-action{min-height:44px;color:var(--color-ink);font-size:var(--font-size-support);background:0 0;border:0;align-items:center;gap:8px;padding:8px 0;display:inline-flex}.cycle-sort-layer{border:1px solid var(--color-divider);background:var(--color-canvas);width:min(480px,100vw - 24px);max-height:min(80vh,680px);color:var(--color-ink);border-radius:12px;padding:0}.cycle-sort-layer::backdrop{background:#24233166}.cycle-sort-content{flex-direction:column;max-height:min(80vh,680px);padding:20px;display:flex}.cycle-sort-heading,.cycle-sort-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.cycle-sort-heading h2{font-size:var(--font-size-page-title);margin:0;line-height:1.25}.cycle-sort-scroll{min-height:0;overflow-y:auto}.cycle-sort-scroll fieldset{border:0;min-width:0;margin:20px 0;padding:0}.cycle-sort-scroll legend{margin-bottom:8px}.cycle-sort-options{flex-wrap:wrap;gap:8px;display:flex}.cycle-sort-scroll .cycle-sort-options+.product-field-hint{margin-top:8px}.cycle-content .cycle-sort-options button{overflow-wrap:anywhere;justify-content:center;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.cycle-sort-options button[aria-pressed=true]{border-color:var(--color-violet);color:var(--color-violet);font-weight:600}.cycle-sort-options button svg{flex-shrink:0}.cycle-sort-actions{border-top:1px solid var(--color-divider);flex-shrink:0;justify-content:flex-end;padding-top:16px}.home-page .home-shell,.account-page-with-navigation{padding-bottom:var(--main-navigation-height,calc(80px + env(safe-area-inset-bottom)))}.product-page:has(.main-navigation) :is(input,select,textarea,button,a){scroll-margin-bottom:calc(var(--main-navigation-height,80px) + 16px)}.history-screen .product-content-heading a{flex-shrink:0;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.routines-screen .history-summary{margin:0 0 24px}.routines-screen .history-summary p{flex-wrap:wrap;gap:8px 16px;margin:8px 0 0;display:flex}.routines-screen .history-summary p span{overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;display:inline-flex}.routines-screen .history-summary .history-memo{white-space:pre-wrap;overflow-wrap:anywhere;display:block}.routines-screen .history-navigation{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;margin:24px 0;display:grid}.routines-screen .history-navigation p{text-align:center;font-size:var(--font-size-support);word-break:keep-all;overflow-wrap:anywhere;margin:0;line-height:1.5}.routines-screen .history-navigation button{background:var(--color-surface);border-radius:12px;font-size:1.75rem}.routines-screen .history-completion-count{text-align:right;margin:-16px 0 16px}.routines-screen .history-grid{grid-template-columns:repeat(var(--history-columns), minmax(0, 1fr));gap:8px;width:100%;display:grid}.routines-screen .history-weekday,.routines-screen .history-date{text-align:center;font-size:var(--font-size-compact);color:var(--color-secondary);line-height:1.5;display:block}.routines-screen .history-day{min-width:0}.routines-screen .history-date{color:var(--color-ink);position:relative}.routines-screen .history-cell{aspect-ratio:1;background:var(--color-surface);width:100%;box-shadow:inset 0 0 0 1px var(--color-divider);place-items:center;display:grid;position:relative}.routines-screen .history-grid-week .history-cell,.routines-screen .history-grid-month .history-cell{border-radius:8px;overflow:hidden}.routines-screen .history-cell.is-inactive{box-shadow:none;background:repeating-linear-gradient(135deg,#f3f2ef,#f3f2ef 3px,#e2e1dd 3px 4px)}.routines-screen .history-cell:after{content:"";border-radius:inherit;box-shadow:inherit;pointer-events:none;position:absolute;inset:0}.routines-screen .history-fill{background:var(--history-color);position:absolute;inset:0}.routines-screen .history-grid-year{grid-template-columns:max-content repeat(var(--history-columns), minmax(0, 1fr));align-items:center;gap:4px 2px}.routines-screen .history-year-month{color:var(--color-secondary);font-size:var(--font-size-compact);padding-inline-end:6px;line-height:1.5}.routines-screen .history-grid-year .history-cell,.routines-screen .history-grid-year .history-blank{aspect-ratio:auto;height:20px}.routines-screen .history-grid-year .history-cell{border-radius:3px;overflow:hidden}.routines-screen .history-blank{aspect-ratio:1;width:100%;display:block}@media (width<=359px){.routines-screen .history-grid:not(.history-grid-year){gap:4px}}.routines-screen .history-grid-week,.routines-screen .history-grid-month{width:90%;margin-inline:auto}.routines-screen .history-day-link{text-decoration:none;display:block}.routines-screen .history-day-link:focus-visible{outline:2px solid var(--color-violet);outline-offset:2px}@container (width<=18rem){.routines-screen .history-grid:not(.history-grid-year){gap:4px}}.books-page .books-main-content{isolation:isolate;container-type:inline-size}.books-page .books-list-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-block:16px 24px;display:flex}.books-page .books-sort-action{min-height:44px;color:var(--color-ink);font-size:var(--font-size-support);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 0;display:flex}.books-page .books-sort-action svg{width:20px;height:20px}.books-page .books-sort-action:focus-visible{outline:2px solid var(--color-violet);outline-offset:2px}.books-page .books-list-tools{margin-inline-start:auto;display:flex}.books-page .books-abandoned-only{align-items:center;gap:8px;min-height:44px;margin-top:8px;display:flex}.books-page .books-abandoned-only input{width:20px;height:20px;accent-color:var(--color-violet)}.books-page #books-library-search{gap:8px;display:grid}.books-page #books-library-query,.books-page #books-search-field{width:100%;min-height:44px}.books-page .books-current-status{margin:0 0 16px;font-weight:600}.books-page .books-more{width:100%;margin-top:24px}.books-page :where(.books-stack,.books-list-view,.books-cover-view){margin:0;padding:0;list-style:none}.books-page .books-stack{padding-top:12px}.books-page .books-stack>li{margin:0;position:relative}.books-page .books-spine{--spine-texture:url(/assets/linen-spine-CuUhfHdg.webp);--spine-binding-texture:none;--spine-binding-width:0px;--spine-texture-size:160% 300%;--spine-texture-position:center;--spine-texture-filter:grayscale(1) brightness(.9) contrast(1.35);--spine-binding-shadow:inset 12px 0 0 #1613273d;--spine-texture-opacity:.5;--spine-top-blend:multiply;isolation:isolate;color:#161327;border-radius:0 0 4px 4px;align-items:stretch;display:flex;position:relative;box-shadow:0 1px 2px #241f2b29}.books-page .books-spine:where([data-spine-material]:not([data-spine-material=linen])){--spine-texture-size:calc(100% - var(--spine-binding-width)) 100%;--spine-texture-position:right center;--spine-texture-filter:grayscale(1) brightness(1.04) contrast(.9);--spine-binding-shadow:none;--spine-top-blend:soft-light}.books-page .books-spine[data-spine-material=leather]{--spine-texture:url(/assets/leather-spine-jv0U_Ftg.webp);--spine-binding-texture:url(/assets/leather-spine-binding-6l7AnNC2.webp);--spine-binding-width:17px;border-radius:0 0 7px 4px}.books-page .books-spine[data-spine-material=pebbled]{--spine-texture:url(/assets/pebbled-spine-DRlTE7pg.webp);border-radius:0 0 6px 5px}.books-page .books-spine[data-spine-material=banded]{--spine-texture:url(/assets/banded-spine-DvjNxTCj.webp);--spine-texture-filter:grayscale(1);--spine-top-blend:multiply;border-radius:0 0 2px 2px}.books-page .books-spine[data-spine-material=antique]{--spine-texture:url(/assets/antique-spine-BI7RQPYJ.webp);--spine-binding-texture:url(/assets/antique-spine-binding-CSWI9LoL.webp);--spine-binding-width:17px;border-radius:0 0 8px 6px}.books-page .books-spine:before{content:"";border-radius:inherit;background-image:var(--spine-texture);background-size:var(--spine-texture-size);background-position:var(--spine-texture-position);box-shadow:var(--spine-binding-shadow);filter:var(--spine-texture-filter);opacity:var(--spine-texture-opacity);mix-blend-mode:multiply;pointer-events:none;background-repeat:no-repeat;position:absolute;inset:0}.books-page .books-spine:after{content:"";inset-inline:0;transform-origin:0 100%;background-color:inherit;background-image:var(--spine-binding-texture), var(--spine-texture);background-size:var(--spine-binding-width) 100%, var(--spine-texture-size);background-position:left center, var(--spine-texture-position);background-blend-mode:var(--spine-top-blend), var(--spine-top-blend);pointer-events:none;z-index:-1;background-repeat:no-repeat;height:13px;position:absolute;top:-12px;transform:skew(-50.906deg)}.books-page .books-spine>*{z-index:1;position:relative}.books-page .books-spine-binding{width:var(--spine-binding-width);background:var(--spine-binding-texture) center / 100% 100% no-repeat;filter:grayscale()contrast(1.08);opacity:.9;mix-blend-mode:multiply;pointer-events:none;z-index:0;position:absolute;inset-block:0;inset-inline-start:0}.books-page .books-page-edge{transform-origin:0 0;pointer-events:none;z-index:0;background:repeating-linear-gradient(#f1ecdf 0 1.3px,#c1b6a3 1.3px 1.7px,#ebe4d7 1.7px 2.5px);border-block:2px solid;border-inline-end:1px solid #5c503e4d;width:16px;position:absolute;inset-block:0;inset-inline-start:100%;transform:skewY(-36.87deg)}.books-page .books-spine-title{min-width:0;min-height:3.5rem;color:inherit;text-align:left;background:0 0;border:0;border-radius:6px;flex-wrap:nowrap;flex:1;align-content:center;align-items:center;gap:4px 12px;padding:8px 12px 8px 31px;display:flex}.books-page .books-spine-title strong{min-width:0;max-width:100%;font-size:var(--font-size-section-title);text-overflow:ellipsis;white-space:nowrap;font-weight:600;line-height:1.5;overflow:hidden}.books-page .books-spine-title>span{max-width:100%;font-size:var(--font-size-support);overflow-wrap:anywhere;line-height:1.5}.books-page .books-spine-title .books-author-measure{visibility:hidden;white-space:nowrap;pointer-events:none;position:absolute}.books-page .books-expand{min-height:44px;color:inherit;background:0 0;border:0;border-radius:50%;flex:0 0 44px;align-self:center;place-items:center;margin:8px;padding:8px;display:grid}.books-page .books-expand svg{stroke-width:2.5px;width:24px;height:24px}@media (width<=600px){.books-page .books-spine-title{min-height:0;padding-block:2px}.books-page .books-expand{flex-basis:28px;min-height:28px;margin:2px;padding:4px}.books-page .books-expand svg{width:20px;height:20px}}.books-page .books-expanded{grid-template-columns:minmax(0,1fr) 64px;align-items:start;gap:12px 16px;padding:24px 8px;display:grid}.books-page .books-expanded-copy{overflow-wrap:anywhere;min-width:0}.books-page .books-expanded-copy h2{font-size:var(--font-size-page-title);margin:0;line-height:1.25}.books-page .books-expanded-copy p{color:var(--color-secondary);margin:8px 0 0}.books-page .books-expanded-cover{background:0 0;border:0;min-width:44px;min-height:44px;padding:0}.books-page .books-expanded-cover :where(.book-cover,.book-cover-placeholder){object-fit:contain;width:100%;height:auto;min-height:88px}.books-page .books-facts{min-width:0;display:block}.books-page .books-facts>span{overflow-wrap:anywhere;margin:0;line-height:1.5;display:block}.books-page .books-facts-expanded{border-top:1px solid var(--color-divider);grid-column:1/-1;padding-top:12px}.books-page .books-fact-label{align-items:center;display:inline-flex}.books-page .books-facts>.books-fact-status{align-items:center;gap:8px;display:flex}.books-page .books-fact-status svg{flex:none}.books-page .books-list-view .books-card+.books-card{border-top:1px solid var(--color-divider)}.books-page .books-card{padding-block:16px}.books-page .books-card-open{width:100%;min-width:0;min-height:44px;color:inherit;text-align:left;background:0 0;border:0;align-items:flex-start;gap:12px;padding:0;display:flex}.books-page .books-card-copy{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.books-page .books-card-copy strong{font-weight:600}.books-page .books-card-copy>span{font-size:var(--font-size-support)}.books-page .books-cover-view{grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:16px;display:grid}.books-page .books-cover-view .books-card{flex-direction:column;justify-self:center;gap:12px;width:100%;min-width:0;max-width:10rem;display:flex}.books-page .books-cover-view .books-card-open{flex-direction:column;align-items:stretch}.books-page .books-cover-view :where(.book-cover,.book-cover-placeholder){aspect-ratio:2/3;object-fit:contain;width:100%;max-width:none;height:auto}.books-page .books-filter-dialog{border:1px solid var(--color-divider);background:var(--color-canvas);width:min(480px,100vw - 24px);max-height:min(80vh,680px);color:var(--color-ink);border-radius:12px;padding:0}.books-page .books-filter-dialog::backdrop{background:#24233166}.books-page .books-dialog-content{flex-direction:column;max-height:min(80vh,680px);padding:20px;display:flex}.books-page :where(.books-dialog-header,.books-dialog-actions){flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.books-page .books-dialog-header h2{font-size:var(--font-size-page-title);margin:0;line-height:1.25}.books-page .books-dialog-scroll{min-height:0;overflow-y:auto}.books-page .books-dialog-scroll fieldset{border:0;min-width:0;margin:20px 0;padding:0}.books-page .books-dialog-scroll legend{margin-bottom:8px;font-weight:600}.books-page .books-dialog-options{flex-wrap:wrap;gap:8px;display:flex}.books-page .books-dialog-options button{border:1px solid var(--color-divider);min-height:44px;color:inherit;overflow-wrap:anywhere;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.books-page .books-dialog-options button[aria-pressed=true]{border-color:var(--color-violet);color:var(--color-violet);font-weight:600}.books-page .books-dialog-options button svg{flex-shrink:0}.books-page .books-list-hint{margin:8px 0}.books-page .books-dialog-actions{border-top:1px solid var(--color-divider);flex-shrink:0;justify-content:flex-end;padding-top:16px}.books-page button:disabled{cursor:default}@container (width<=18rem){.books-page .books-expanded{grid-template-columns:minmax(0,1fr) 64px;column-gap:12px}.books-page .books-expanded-cover{width:64px}}.books-page .books-management{margin-inline-start:auto;position:relative}.books-page .books-management-options{z-index:30;border:1px solid var(--color-divider);background:var(--color-canvas);border-radius:12px;gap:4px;width:max-content;max-width:calc(100vw - 40px);padding:12px;display:grid;position:absolute;inset-block-start:calc(100% + 12px);inset-inline-end:0}.books-page .books-management-heading{border-bottom:1px solid var(--color-divider);margin-bottom:4px;padding:4px 8px 12px}.books-page .books-management-heading h2{font-size:var(--font-size-body);margin:0;font-weight:600}.books-page .books-management-heading p{font-size:var(--font-size-caption);color:var(--color-on-surface-secondary);margin:4px 0 0}.books-page .books-management-options .books-management-item{text-align:left;grid-template-columns:20px minmax(0,1fr) 16px;place-items:start;gap:8px;width:100%;padding:8px 4px;display:grid}.books-page .books-management-options .books-management-icon{justify-content:center;align-self:start;align-items:flex-start;padding-top:1px;display:flex}.books-page .books-management-options .books-management-copy{text-align:start;justify-items:start;gap:4px;min-width:0;display:grid}.books-page .books-management-copy strong{font-size:var(--font-size-reading);font-weight:600}.books-page .books-management-copy>span{font-size:var(--font-size-caption);color:var(--color-on-surface-secondary);font-weight:400}.books-page .books-facts-organizing{grid-template-columns:max-content minmax(0,1fr);gap:3px 12px;margin-top:12px;display:grid}.books-page .books-facts-organizing>.books-fact-row{grid-template-columns:subgrid;grid-column:1/-1;align-items:baseline;gap:12px;display:grid}.books-page .books-facts-organizing .books-label-chips{margin-top:0}.books-page .books-facts-organizing .books-fact-row>span:last-child{overflow-wrap:anywhere;min-width:0}.books-page .books-list-card-summary{position:relative}.books-page .books-list-view .books-card-cover{flex:0 0 75px;width:75px;height:112px;display:block}.books-page .books-list-view .books-card-cover :is(.book-cover,.book-cover-placeholder){object-fit:contain;width:100%;height:100%;min-height:0}.books-page .books-card-preview{flex:1;min-width:0;max-height:112px;display:block;overflow:hidden}.books-page .books-card-preview-expanded{max-height:none;overflow:visible}.books-page .product-button-more.books-card-reveal{isolation:isolate;z-index:2;padding-inline-start:32px;position:absolute;bottom:-10px;right:0}.books-page .books-card-reveal:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0000,#fff 24px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 12px);mask-image:linear-gradient(#0000,#000 12px)}.books-page .books-management-options .books-management-item>svg{place-self:center end;width:16px;height:16px}.books-page .books-query-summary-panel{background:var(--color-surface);border-radius:12px;margin:0 0 16px;padding:12px 52px 12px 12px;position:relative}.books-page .books-query-summary{gap:8px;margin:0;display:grid}.books-page .books-query-reset{width:44px;min-width:0;height:44px;min-height:0;color:var(--color-on-surface-secondary);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid;position:absolute;top:0;right:0}.books-page .books-query-reset>svg{width:16px;height:16px}.books-page .books-query-reset:focus-visible{outline-offset:2px;outline:2px solid}.books-page .books-query-reset:disabled{opacity:.4;cursor:default}.books-page .books-query-summary>div{grid-template-columns:5rem minmax(0,1fr);align-items:baseline;gap:12px;display:grid}.books-page .books-query-summary dt{color:var(--color-on-surface-secondary);font-size:var(--font-size-caption)}.books-page .books-query-summary dd{min-width:0;font-size:var(--font-size-support);overflow-wrap:anywhere;margin:0}.books-page .books-query-summary .books-label-chips{margin:0}.books-page .books-dialog-close{width:44px;height:44px;min-height:44px;color:inherit;background:0 0;border:0;border-radius:8px;flex:0 0 44px;place-items:center;padding:0;text-decoration:none;display:grid}.books-page .books-list-view .books-card-copy>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.books-page :is(.books-list-notice,.books-retry-notice){margin:16px 0}.books-page .product-title-row>.product-home-title{flex-basis:auto}.books-title-actions{align-items:center;gap:8px;min-inline-size:0;max-inline-size:100%;margin-inline-start:auto;display:flex}.books-title-actions .books-management{flex:none}.reading-journey-entry{--journey-entry-width:min(clamp(180px, 45vw, 228px), calc(100vw - 192px));inline-size:var(--journey-entry-width);flex:none;block-size:48px;min-inline-size:0;position:relative}.books-page .reading-journey-entry-button{cursor:pointer;opacity:.35;border:0;border-radius:20px;justify-content:center;align-items:center;block-size:40px;min-block-size:40px;inline-size:40px;max-inline-size:100%;padding:0;transition:inline-size .2s,opacity .2s;display:flex;position:absolute;inset-block-start:4px;inset-inline-end:0;overflow:hidden}.books-page .reading-journey-entry-button[aria-expanded=true]{z-index:2;opacity:1;inline-size:100%}.books-page .reading-journey-entry-button[aria-busy=true]{opacity:1}.reading-journey-entry-button[aria-busy=true]>svg{transform-origin:50%;animation:2.4s ease-in-out infinite reading-journey-finding-direction}@keyframes reading-journey-finding-direction{0%,to{transform:translateY(-50%)rotate(-25deg)}50%{transform:translateY(-50%)rotate(25deg)}}.reading-journey-entry-button>svg{position:absolute;inset-block-start:50%;inset-inline-start:9px;transform:translateY(-50%)}.books-page .reading-journey-entry-button:focus-visible{outline-offset:3px;outline:2px solid #52525b}.reading-journey-entry-summary:not([hidden]){inline-size:calc(var(--journey-entry-width) - 48px);text-align:start;min-inline-size:0;font:inherit;word-break:keep-all;overflow-wrap:anywhere;animation:.1s .12s both reading-journey-entry-reveal;display:grid;position:absolute;inset-block-start:50%;inset-inline-start:40px;transform:translateY(-50%)}@keyframes reading-journey-entry-reveal{0%{opacity:0}to{opacity:1}}.reading-journey-entry-help{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.books-page .reading-journey-entry-button{transition:none}.reading-journey-entry-summary:not([hidden]),.reading-journey-entry-button[aria-busy=true]>svg{animation:none}}.reading-journey-page{gap:16px;display:grid}.reading-journey-info{margin-inline-start:auto;position:relative}.reading-journey-info .product-tooltip{inline-size:min(280px,100vw - 48px);max-width:none;inset-block-start:calc(100% + 8px);inset-inline-end:0;transform:none}.reading-journey-totals{border-collapse:separate;border-spacing:0;table-layout:fixed;background:var(--color-surface);text-align:center;border-radius:12px;inline-size:100%;margin:0;padding:10px 12px}.reading-journey-totals col:first-child{width:40%}.reading-journey-totals col:nth-child(2){width:25%}.reading-journey-totals col:nth-child(3){width:35%}.reading-journey-totals :is(th,td){overflow-wrap:anywhere;padding:0 12px}.reading-journey-totals :is(th,td)+:is(th,td){border-left:1px solid var(--color-divider)}.reading-journey-totals th{color:var(--color-on-surface-secondary,#494554);font-size:var(--font-size-compact);padding-bottom:3px;font-weight:400;line-height:1.5}.reading-journey-totals td{font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:650;line-height:1.5}.reading-journey-unknown{color:var(--color-secondary);font-size:var(--font-size-caption);margin:8px 0 0}.reading-journey-card{aspect-ratio:4/3;background-color:#0d1831;background-image:radial-gradient(circle at 22% 18%,#819bb9 0 1px,#0000 2px),radial-gradient(circle at 72% 32%,#c0cadc 0 1px,#0000 2px),radial-gradient(at 80% 0,#263659,#0000 65%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border-radius:16px;margin:0;position:relative;overflow:hidden}.reading-journey-card>img,.reading-journey-card>svg{object-fit:contain;block-size:100%;inline-size:100%;position:absolute;inset:0}.reading-journey-card-caption,.reading-journey-table-caption{clip-path:inset(50%);block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.reading-journey-endpoints{flex-wrap:wrap;justify-content:space-between;gap:12px;margin:0;padding:16px;display:flex}.reading-journey-endpoints>div{max-inline-size:100%}.reading-journey-section{border:1px solid var(--color-divider);background:color-mix(in srgb, var(--color-surface) 30%, var(--color-canvas));border-radius:12px;min-width:0;padding:20px 16px}.reading-journey-route-group{padding:0;overflow:hidden}.reading-journey-route-group .reading-journey-card{border-radius:0}.reading-journey-endpoint-label{color:var(--color-on-surface-secondary,#494554);font-size:var(--font-size-compact);margin-bottom:4px;font-weight:400;display:block}.reading-journey-endpoints>:last-child{text-align:end;margin-inline-start:auto}.reading-journey-endpoints dt{font-size:var(--font-size-support);word-break:keep-all;overflow-wrap:anywhere;font-weight:600}.reading-journey-endpoints dd{font-size:var(--font-size-compact);color:var(--color-secondary);margin:4px 0 0}.reading-journey-page .reading-journey-section h2{border-bottom:1px solid var(--color-divider);color:var(--color-ink);font-size:var(--font-size-body);margin:0 0 12px;padding-bottom:10px;line-height:1.5}.reading-journey-page section>p{color:var(--color-on-surface-secondary,#494554);font-size:var(--font-size-support);overflow-wrap:anywhere;margin:0;line-height:1.65}.reading-journey-page section>.reading-journey-story-remaining{color:var(--color-secondary);font-size:var(--font-size-compact);margin-top:12px;font-weight:400}.reading-journey-reference{color:var(--color-secondary);font-size:var(--font-size-caption);line-height:1.65}.reading-journey-page .reading-journey-reference h2{font-size:var(--font-size-caption)}.reading-journey-reference ul{margin:0;padding-inline-start:20px}.reading-journey-reference li+li{margin-top:8px}@media (width<=360px){.reading-journey-totals{padding-inline:4px}.reading-journey-totals :is(th,td){padding-inline:8px}.reading-journey-totals td{font-size:.85rem}}.books-screen .books-content{container-type:inline-size}.books-screen :where(.books-search-form label,.books-form-section>label,.books-form-section legend,.books-rating-heading){margin-bottom:8px}.books-screen :where(.books-search-form label,.books-form-section>label){display:block}.books-screen .books-search-form{background:var(--color-surface);border-radius:12px;padding:16px}.books-screen :where(.books-search-controls,.books-date-controls){align-items:center;gap:8px;display:flex}.books-screen .books-search-controls input{flex:1;width:100%}.books-screen :where(.books-source,.books-detail-footer){color:var(--color-secondary);font-size:var(--font-size-caption);line-height:1.5}.books-screen .books-hint{margin:8px 0 0}.books-screen .books-empty{color:var(--color-secondary);margin:32px 0}.books-screen .books-error{margin:16px 0}.books-screen .books-results{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:grid}.books-screen .books-result{text-align:left;width:100%;min-height:96px;color:inherit;background:0 0;border:0;align-items:flex-start;gap:16px;padding:0;display:flex}.books-screen .books-result-copy{overflow-wrap:anywhere;flex-direction:column;gap:4px;min-width:0;display:flex}.books-screen .books-result-copy strong{font-size:var(--font-size-section-title);font-weight:600;line-height:1.4}.books-screen .books-result-copy>span{font-size:var(--font-size-support)}.books-screen .books-result-copy small{font-size:var(--font-size-caption);color:var(--color-secondary)}.books-screen .books-more{width:100%;margin-top:24px}.book-cover,.book-cover-placeholder{object-fit:contain;border-radius:4px;flex:0 0 64px;justify-content:center;align-items:center;width:64px;height:96px;display:flex}.book-cover-placeholder{background:var(--color-surface)}.book-cover-placeholder svg{width:28px;height:28px;color:var(--color-secondary)}.books-screen .books-book-title{margin-bottom:24px}.books-screen :where(.books-selected,.books-detail-summary){align-items:flex-start;gap:16px;display:flex}.books-screen .books-selected>div,.books-screen .books-detail-meta{overflow-wrap:anywhere;min-width:0}.books-screen .books-selected p{margin:0 0 4px}.books-screen .books-selected p:nth-child(n+2){font-size:var(--font-size-support);color:var(--color-secondary)}.books-screen .books-detail-cover{flex:0 0 112px}.books-screen .books-detail-cover :is(.book-cover,.book-cover-placeholder){object-fit:contain;width:112px;height:160px}.books-screen .books-detail-meta p{margin:0 0 12px}.books-screen .books-detail-meta p span{color:var(--color-secondary);font-size:var(--font-size-support);margin-bottom:4px;display:block}.books-screen :where(.books-detail-meta strong,.books-detail-isbn strong){font-weight:400}.books-screen .books-detail-reference a{color:var(--color-violet);align-items:center;gap:4px;display:inline-flex}.books-screen .books-detail-reference{font-size:var(--font-size-support);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:baseline;gap:8px;margin-top:12px;display:grid}.books-screen .books-detail-reference p{overflow-wrap:anywhere;margin:0}.books-screen .books-detail-isbn{flex-wrap:wrap;gap:4px;display:flex}.books-screen .books-detail-isbn span{color:var(--color-secondary)}.books-screen .books-detail-reference .books-source{text-align:right}.books-screen .books-form-section{border:0;min-width:0;margin:16px 0 0;padding:0}.books-screen .books-detail>section:is([aria-label=독서\ 기록],[aria-label="분류 및 정리"]){background:var(--color-surface);border-radius:12px;padding:24px 16px}.books-screen .books-detail .product-section-title{margin-bottom:20px}.books-screen .books-detail-record{margin:0}.books-screen .books-detail-record>div{grid-template-columns:minmax(0,5rem) minmax(0,1fr);align-items:baseline;gap:12px;margin:0 0 16px;display:grid}.books-screen .books-detail-record dt{color:var(--color-on-surface-secondary);font-size:var(--font-size-support)}.books-screen .books-detail-record dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.books-screen .books-detail-record>.books-detail-memo{grid-template-columns:minmax(0,1fr);gap:8px;margin:24px 0 16px}.books-screen .books-detail-stars{color:var(--color-violet);letter-spacing:2px}.books-screen .books-detail-footer{border-top:1px solid var(--color-divider);padding-top:16px}.books-screen .books-form-section textarea{width:100%;display:block}.books-screen .books-status-options{background:var(--color-surface);border-radius:12px;flex-wrap:wrap;justify-content:flex-start;gap:4px;padding:4px;display:flex}.books-screen .books-choice{min-width:44px;min-height:48px;color:var(--color-on-surface-secondary);background:0 0;border:1px solid #0000;border-radius:8px;flex:1 1 0;padding:8px 12px}.books-screen .books-choice[aria-pressed=true]{border-color:var(--color-violet);background:var(--color-canvas);color:var(--color-violet);font-weight:600}.books-screen .books-date input{flex:1;width:100%;max-width:260px}.books-screen .books-automatic{padding-left:0}.books-screen .books-rating-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.books-screen .books-rating small{color:var(--color-secondary);font-weight:400}.books-screen .books-stars{flex-wrap:wrap;display:flex}.books-screen .books-stars label{cursor:pointer;place-items:center;width:2.75rem;min-width:44px;height:2.75rem;min-height:44px;display:grid;position:relative}.books-screen .books-stars input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.books-screen .books-stars label:focus-within{outline:2px solid var(--color-violet);outline-offset:2px;border-radius:8px}.books-screen .books-stars span{color:var(--color-canvas);-webkit-text-stroke:1px var(--color-secondary);font-size:1.75rem;line-height:1}.books-screen .books-stars .selected span{color:var(--color-violet);-webkit-text-stroke:1px var(--color-violet)}.books-screen .books-submit{width:100%;margin-top:32px}.books-screen .books-form-actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.books-screen .books-form-actions>button{flex:8rem}.books-screen .books-detail-loading :is(.books-detail-loading-title,.books-detail-loading-cover,.books-detail-loading-lines span,.books-detail-loading-record){background:var(--color-surface);border-radius:4px}.books-screen .books-detail-loading-title{width:80%;height:2rem;margin:24px 0}.books-screen .books-detail-loading-cover{flex:0 0 112px;width:112px;height:160px}.books-screen .books-detail-loading-lines{flex:1;align-content:start;gap:16px;display:grid}.books-screen .books-detail-loading-lines span{height:1rem}.books-screen .books-detail-loading-lines span:last-child{width:65%}.books-screen .books-detail-loading-record{height:120px;margin-top:32px}:where(.books-screen,.books-page) [hidden]{display:none!important}@container (width<=18rem){.books-screen :where(.books-detail-summary,.books-selected,.books-search-controls,.books-date-controls){flex-wrap:wrap}.books-screen :where(.books-selected>div,.books-detail-meta,.books-detail-loading-lines){flex:100%}.books-screen .books-detail-record>div{grid-template-columns:minmax(0,1fr);gap:4px}}.books-screen .books-category-list{margin:24px 0;padding:0;list-style:none}.books-screen .books-category-list li{border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:4px;padding:12px 0;display:flex}.books-screen .books-category-list li>span{overflow-wrap:anywhere;min-width:0}.books-screen .books-category-actions{flex-wrap:nowrap;flex-shrink:0;gap:0;display:flex}.books-screen .books-category-create .books-category-actions{justify-content:flex-end;gap:8px}.books-screen .books-category-create{gap:8px;margin-top:12px;display:grid}.books-screen .books-category-editor{gap:8px;display:grid}.books-screen .books-category-field>select{width:100%;margin:8px 0}@media (width<=600px){.books-screen .books-status-options .books-choice{white-space:nowrap;padding-inline:4px}}.books-screen .books-category-add,.books-screen .books-category-rename{align-items:center;gap:4px;width:100%;min-width:0;display:flex}.books-screen :is(.books-category-add,.books-category-rename) .product-field{flex:1;width:0;min-width:0}.books-screen :is(.books-category-add,.books-category-rename) .product-button{flex-shrink:0;padding-inline:8px}.books-label-input{align-items:center;gap:8px;display:flex}.books-label-input input{flex:1;min-width:0}.books-label-chips,.books-label-suggestions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.books-label-chips>*,.books-label-suggestions>*{overflow-wrap:anywhere;white-space:normal;max-width:100%}.books-detail-record dd,.books-fact-row>span:last-child{overflow-wrap:anywhere;min-width:0}.product-page .books-tag{background:var(--color-divider);max-width:100%;color:var(--color-ink);font-size:var(--font-size-support);overflow-wrap:anywhere;white-space:normal;border:0;border-radius:6px;align-items:center;gap:4px;padding:2px 6px;font-weight:500;line-height:1.5;text-decoration:none;display:inline-flex}.product-page .books-tag-action{min-width:44px;max-width:100%;min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:flex-start;align-items:center;padding:0;display:inline-flex}.product-page .books-tag-action:disabled{cursor:default;opacity:.5}.product-page .books-tag-action[aria-pressed=true]>.books-tag,.product-page .books-tag[data-selected=true]{background:var(--color-secondary);color:var(--color-surface);font-weight:600}.books-screen .books-status-readonly .books-choice{text-align:center;cursor:default;justify-content:center;align-items:center;display:flex}.books-screen .books-status-readonly .books-choice[data-current=true]{border-color:var(--color-violet);background:var(--color-canvas);color:var(--color-violet);font-weight:600}.books-screen .books-label-heading{color:var(--color-secondary);font-size:var(--font-size-caption);margin:12px 0 0;font-weight:600}.product-page .books-tag svg{flex-shrink:0}.books-screen .books-tags-field .books-tag-action{min-height:22px}.books-screen .books-tags-field :is(.books-label-chips,.books-label-suggestions){row-gap:4px}.books-screen .books-category-list .books-category-actions{gap:4px}.books-screen .books-category-list .books-order-handle{color:var(--color-on-surface-secondary)}.books-screen .books-retry-notice{margin:16px 0}.books-screen .books-bottom-sheet{width:min(100%, var(--product-page-width,640px));border:1px solid var(--color-divider);background:var(--color-canvas);max-width:100%;max-height:85dvh;color:var(--color-ink);border-bottom:0;border-radius:12px 12px 0 0;margin:0 auto;padding:0;position:fixed;inset:auto 0 0;overflow:hidden}.books-screen .books-bottom-sheet::backdrop{background:#24233166}.books-screen .books-bottom-sheet .books-dialog-content{flex-direction:column;max-height:85dvh;display:flex}.books-screen .books-bottom-sheet .books-dialog-header{border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.books-screen .books-bottom-sheet h2{font-size:var(--font-size-section-title);margin:0;line-height:1.5}.books-screen .books-bottom-sheet .books-dialog-close{height:44px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 44px;place-items:center;padding:0;display:grid}.books-screen .books-bottom-sheet .books-dialog-close:focus-visible{outline:2px solid var(--color-violet);outline-offset:3px}.books-screen .books-bottom-sheet .books-dialog-close:disabled{opacity:.65;cursor:default}.books-screen .books-bottom-sheet .books-dialog-scroll{overscroll-behavior:contain;gap:16px;min-height:0;padding:24px 16px;display:grid;overflow-y:auto}.books-screen .books-bottom-sheet .books-category-create{margin:0}.books-screen .books-bottom-sheet .books-dialog-actions{padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--color-divider);flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}:root{--color-canvas:#faf8f4;--color-app-background:var(--color-canvas);--product-page-width:640px;--color-surface:#fff;--color-ink:#242331;--color-secondary:#5c5866;--font-size-compact:.75rem;--font-size-caption:.8125rem;--font-size-support:.9rem;--font-size-reading:.9375rem;--font-size-body:1rem;--font-size-section-title:1.125rem;--font-size-screen-title:1.25rem;--font-size-page-title:1.5rem;--font-size-display:2rem;--color-divider:#e8e5ed;--color-violet:#6347c7;--color-violet-pressed:#5138ae;color:var(--color-ink);background:var(--color-app-background);font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif}*{box-sizing:border-box}html{touch-action:manipulation;-webkit-tap-highlight-color:transparent}html,body,#root{background:var(--color-app-background);min-height:100%}@media (width>=768px){:root{--color-app-background:#e8e4de}}body{min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-screen{background:var(--color-canvas);min-height:100vh}.account-screen{width:min(100%,480px);margin:0 auto}.app-header{min-height:calc(64px + env(safe-area-inset-top));padding:calc(19px + env(safe-area-inset-top)) 24px 19px;background:#fff;justify-content:space-between;align-items:center;display:flex}.header-action{align-items:center;min-height:44px;display:flex}.page-intro{background:#f8f7fc;border-bottom:1px solid #e8e5ed;padding:24px}.intro-eyebrow{color:#6347c7;font-size:var(--font-size-compact);margin:0 0 16px;font-weight:600;line-height:18px}.page-intro h1{color:#242331;letter-spacing:-.8px;margin:0;font-size:30px;font-weight:700;line-height:40px}.intro-description{color:var(--color-secondary);font-size:var(--font-size-body);margin:12px 0 0;line-height:24px}.page-content{padding:24px 24px calc(80px + env(safe-area-inset-bottom))}.page-content section+section{margin-top:32px}.page-content h2{color:#242331;font-size:var(--font-size-section-title);letter-spacing:-.2px;margin:0 0 12px;font-weight:600;line-height:26px}.text-button:focus-visible,.primary-button:focus-visible,input:focus-visible{outline-offset:2px;outline:2px solid #6347c7}.account-content{padding-top:32px}form,.account-content{gap:24px;display:grid}form label{color:#242331;font-size:var(--font-size-support);gap:8px;font-weight:600;line-height:20px;display:grid}input{color:#242331;width:100%;min-height:48px;font-size:var(--font-size-body);background:#fff;border:1px solid #716d7c;border-radius:6px;padding:0 12px;line-height:24px}input:disabled{color:var(--color-secondary);background:#f8f7fc;border-color:#e8e5ed}.primary-button{color:#fff;width:100%;min-height:48px;font-size:var(--font-size-support);background:#6347c7;border:0;border-radius:6px;font-weight:600;line-height:20px}.primary-button:disabled{cursor:wait;background:#b6addb}.text-button{min-width:44px;min-height:44px;color:var(--color-violet);font-size:var(--font-size-support);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:4px;padding:0 8px;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.text-button svg{flex:none;width:16px;height:16px}.text-button:disabled{opacity:.65;cursor:default}.secondary-action{border:1px solid var(--color-divider);min-height:35px;color:var(--color-ink);font:inherit;font-size:var(--font-size-support);background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:600;line-height:20px;text-decoration:none;display:inline-flex}.inline-message{color:#a23045;font-size:var(--font-size-support);overflow-wrap:anywhere;background:#fdf1f3;border:1px solid #e8b5bf;border-radius:6px;margin:0;padding:12px;line-height:1.5}.account-details{margin:0;display:grid}.account-details div{border-bottom:1px solid #e8e5ed;padding:16px 0}.account-details dd{overflow-wrap:anywhere;color:#242331;font-size:var(--font-size-body);margin:4px 0 0;font-weight:400;line-height:24px}.header-icon-button{color:#242331;background:0 0;border:0;place-items:center;width:44px;min-width:44px;min-height:44px;padding:0;display:grid}.header-icon-button svg{width:24px;height:24px}.routine-sort-list .managed-group{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab}.routine-sort-list.is-sorting{cursor:grabbing}.group-dot{border-radius:50%;flex:none;width:12px;height:12px;display:inline-block}.confirm-dialog{color:#242331;text-align:center;border:0;border-radius:24px;width:min(360px,100% - 40px);padding:24px}.confirm-dialog::backdrop{background:#24233173}.confirm-dialog h2{font-size:var(--font-size-section-title);margin:0 0 16px;line-height:26px}.confirm-dialog p{line-height:24px}.dialog-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;display:grid}.secondary-button,.danger-button{min-height:48px;font:inherit;border-radius:12px}.secondary-button{color:#242331;background:#fff;border:1px solid #716d7c}.danger-button{color:#fff;background:#b3263e;border:0}button:focus-visible,a:focus-visible,select:focus-visible{outline-offset:2px;outline:2px solid #6347c7}button:disabled,fieldset:disabled{cursor:not-allowed}.routine-row.is-completed{background:var(--color-canvas);color:var(--color-ink)}.empty-state{text-align:center;gap:16px;padding:32px 0;display:grid}.empty-state p{color:var(--color-secondary);margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=359px){.app-header,.page-intro,.page-content{padding-left:20px;padding-right:20px}}.product-page,.product-controls{--color-canvas:#faf8f4;--color-surface:#eee8df;--color-surface-pressed:#e4dccf;--color-divider:#cfc5b6;--color-on-surface-secondary:#494554}.product-page{--page-inset:24px;--product-header-height:calc(4.25rem + env(safe-area-inset-top));width:min(100%, var(--product-page-width));background:var(--color-canvas);min-height:100vh;color:var(--color-ink);font-size:var(--font-size-body);margin-inline:auto;line-height:1.5}:is(.product-page,.product-controls) :where(button,input,textarea,select,a){scroll-margin-top:calc(var(--product-header-height) + 16px)}:is(.product-page,.product-controls) :where(button,input,textarea,select){font:inherit}:is(.product-page,.product-controls) :where(button){color:inherit}:is(.product-page,.product-controls) :where(button,input,textarea,select,a):focus-visible{outline:2px solid var(--color-violet);outline-offset:2px}:is(.product-page,.product-controls) .product-button{border:1px solid var(--color-divider);min-width:44px;min-height:48px;color:inherit;overflow-wrap:anywhere;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:600;display:inline-flex}:is(.product-page,.product-controls) .product-button svg{flex:none}:is(.product-page,.product-controls) .product-button-primary{border-color:var(--color-violet);background:var(--color-violet);color:#fff}:is(.product-page,.product-controls) .product-button:disabled{cursor:default;opacity:.65}:is(.product-page,.product-controls) .product-field{border:1px solid var(--color-secondary);background:var(--color-canvas);min-width:0;min-height:48px;color:var(--color-ink);border-radius:12px;padding:10px 12px}:where(:is(.product-page,.product-controls)) textarea.product-field{resize:vertical;max-width:100%;min-height:120px;padding:12px}@media (width<=359px){.product-page{--page-inset:20px}}:where(.product-page) .product-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}:where(.product-page) .product-title-row>:is(a,button){margin-inline-start:auto}.product-page .product-home-title{font-size:var(--font-size-page-title);letter-spacing:-.025em;overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.3}:is(.product-page,.product-controls) .product-button{font-size:var(--font-size-body);line-height:1.5;text-decoration:none}:is(.product-page,.product-controls) .product-button svg{width:20px;height:20px}.product-page .product-screen-title{font-size:var(--font-size-screen-title);overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.4}:is(.product-page,.product-controls) .product-button-quiet{border-color:#0000}:is(.product-page,.product-controls) .product-button-icon{flex-shrink:0;width:48px;padding-inline:0}.product-page.auth-content-warning{min-height:0}.product-page .product-content{min-width:0;padding:24px var(--page-inset) calc(48px + env(safe-area-inset-bottom))}.product-page .product-content-heading{min-width:0;min-height:48px;margin-bottom:16px}.product-content-heading>:is(.product-home-title,.product-screen-title){flex:12rem;min-width:0}.product-page .product-identity{align-items:center;gap:12px;min-width:0;margin:0;display:flex}.product-page .product-identity-icon{background:var(--color-surface);border-radius:50%;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.product-page .product-identity-icon svg{width:28px;height:28px;margin:0}.product-page .product-identity-name{min-width:0;font-size:var(--font-size-page-title);text-align:left;overflow-wrap:anywhere;flex:1;margin:0;font-weight:700;line-height:1.4}.product-page .product-detail-title,.product-page .product-identity-name,.cycle-content .icon-preview strong{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.product-page .product-detail-title{font-size:var(--font-size-display);letter-spacing:-.03125em;overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.25}:is(.product-page,.product-controls) .product-field-label{color:var(--color-ink);font-size:var(--font-size-support);font-weight:600;line-height:1.5}:is(.product-page,.product-controls) :is(.product-field-hint,.product-field-error){font-size:var(--font-size-support);overflow-wrap:anywhere;margin:0;font-weight:400;line-height:1.5}:is(.product-page,.product-controls) .product-field-hint{color:var(--color-secondary)}:is(.product-page,.product-controls) .product-field-hint-on-surface{color:var(--color-on-surface-secondary)}:is(.product-page,.product-controls) .product-field-error{color:#b3263e}:is(.product-page,.product-controls) .product-field[aria-invalid=true]{border-color:#b3263e}:is(.product-page,.product-controls) .product-field:disabled{opacity:.65}:is(.product-page,.product-controls) :is(.product-button-more,.product-button-delete,.product-button-archive){overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;width:fit-content;min-width:44px;min-height:44px;margin:0;text-decoration:none;display:inline-flex}:is(.product-page,.product-controls) .product-button-more{color:var(--color-secondary);font-size:var(--font-size-compact);gap:4px;padding:4px 8px;font-weight:400;line-height:1.5}:is(.product-page,.product-controls) :is(.product-button-delete,.product-button-archive){color:#b3263e;font-size:var(--font-size-support);gap:8px;padding:8px 0;font-weight:600;line-height:1.5}:is(.product-page,.product-controls) :is(.product-button-more,.product-button-delete,.product-button-archive) svg{flex:none}:is(.product-page,.product-controls) .product-button-more svg{width:12px;height:12px}:is(.product-page,.product-controls) :is(.product-button-delete,.product-button-archive) svg{width:18px;height:18px}:is(.product-page,.product-controls) :is(.product-button-more,.product-button-delete,.product-button-archive):disabled{cursor:default;opacity:.65}.product-page .product-option-group{flex-wrap:wrap;gap:8px 24px;display:flex}.product-page .product-option-group label{min-height:44px;color:var(--color-ink);font-size:var(--font-size-body);align-items:center;gap:8px;margin:0;font-weight:400;line-height:1.5;display:flex}.product-page .product-option-group input{width:20px;height:20px;min-height:0;accent-color:var(--color-violet);margin:0;padding:0}.product-page .product-number-control{grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;display:grid}.product-page .product-number-control button{background:var(--color-surface);min-height:48px;color:var(--color-ink);font-size:var(--font-size-page-title);border:0;border-radius:12px;padding:0;line-height:1.5}.product-page .product-number-control input{text-align:center;width:100%;font-size:var(--font-size-screen-title)}.product-page :is(.product-option-group input,.product-number-control button):disabled{cursor:default;opacity:.65}.product-page .product-tabs{border-bottom:1px solid var(--color-divider);flex-wrap:wrap;gap:0;display:flex}.product-page .product-tabs>button{min-width:44px;min-height:48px;color:var(--color-secondary);font-size:var(--font-size-body);overflow-wrap:anywhere;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:5rem;padding:12px 8px;font-weight:600;line-height:1.5}.product-page .product-tabs>button:is([aria-pressed=true],[aria-current=page]){border-bottom-color:var(--color-violet);color:var(--color-violet)}.product-page .product-view-switch{flex-wrap:wrap;gap:4px;display:flex}.product-page .product-view-switch>button{width:44px;min-height:44px;color:var(--color-ink);background:0 0;border:1px solid #0000;border-radius:12px;flex:0 0 44px;place-items:center;padding:8px;display:grid}.product-page .product-view-switch>button svg{width:20px;height:20px}.product-page .product-view-switch>button[aria-pressed=true]{background:var(--color-violet);color:#fff}.product-page :is(.product-tabs,.product-view-switch)>button:disabled{cursor:default;opacity:.65}:is(.product-page,.product-controls) .product-section-title{color:var(--color-ink);font-size:var(--font-size-section-title);overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.5}:is(.product-page,.product-controls) .product-button.product-button-icon-compact{width:28px;min-width:28px;height:28px;min-height:28px;color:var(--color-secondary);background:0 0;border:0;border-radius:8px;padding:4px}:is(.product-page,.product-controls) .product-button.product-button-icon-compact svg{width:16px;height:16px}:is(.product-page,.product-controls) :is(.product-text-secondary,.product-caption){color:var(--color-secondary);overflow-wrap:anywhere;font-weight:400;line-height:1.5}:is(.product-page,.product-controls) .product-text-secondary{font-size:var(--font-size-support)}:is(.product-page,.product-controls) .product-caption{font-size:var(--font-size-caption)}:is(.product-page,.product-controls) .product-text-on-surface{color:var(--color-on-surface-secondary)}.product-page .product-view-switch.product-view-switch-grouped{border:1px solid var(--color-divider);background:var(--color-surface);border-radius:12px;flex-wrap:nowrap;gap:0;overflow:hidden}.product-page .product-view-switch-grouped>button{border:0;border-radius:0}.product-page .product-view-switch-grouped>button+button{border-inline-start:1px solid var(--color-divider)}.product-page .product-view-switch-grouped>button[aria-pressed=true]{background:var(--color-violet)}.product-page .product-view-switch-grouped>button:focus-visible{outline-offset:-3px}:is(.product-page,.product-controls) .product-segmented-toggle{border:1px solid var(--color-divider);background:var(--color-surface);border-radius:12px;gap:3px;padding:3px;display:inline-flex}:is(.product-page,.product-controls) .product-segmented-toggle>label{cursor:pointer;position:relative}:is(.product-page,.product-controls) .product-segmented-toggle input{opacity:0;width:1px;height:1px;position:absolute}:is(.product-page,.product-controls) .product-segmented-toggle span{border-radius:9px;place-items:center;min-width:64px;min-height:44px;padding:8px 16px;display:grid}:is(.product-page,.product-controls) .product-segmented-toggle input:checked+span{background:var(--color-violet);color:#fff;font-weight:600}:is(.product-page,.product-controls) .product-segmented-toggle input:focus-visible+span{outline:2px solid var(--color-violet);outline-offset:-2px}:is(.product-page,.product-controls) .product-segmented-toggle input:disabled+span{opacity:.65;cursor:default}.product-option-strip{gap:4px;max-width:100%;padding:4px 0 8px;scroll-padding:4px;display:flex;overflow-x:auto}.product-option-strip button{min-width:44px;min-height:44px;color:inherit;font:inherit;font-size:var(--font-size-support);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none}.product-option-strip button[aria-pressed=true]{background:var(--color-violet);color:#fff;font-weight:600}.product-option-strip button:focus-visible{outline:2px solid var(--color-violet);outline-offset:-2px}.product-tooltip{z-index:5;overflow-wrap:anywhere;border-radius:6px;width:max-content;max-width:calc(100% - 16px);padding:8px 10px;position:absolute;transform:translate(-50%)}.product-tooltip,.product-tooltip-appearance{background:var(--color-ink,#242331);color:var(--color-canvas,#faf8f4);font:inherit;font-size:var(--font-size-compact);line-height:1.5}.product-tooltip[role=dialog]{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.product-tooltip{font-size:var(--font-size-caption)}.product-tooltip-link{color:inherit;text-underline-offset:3px;text-decoration:underline}.product-tooltip-link:focus-visible{outline-offset:3px;outline:2px solid}:is(.product-page,.product-controls) .product-button-archive{color:var(--color-secondary)}.product-management-actions{flex-wrap:wrap;align-items:center;gap:8px 24px;display:flex}.home-page .home-shell{flex-direction:column;min-height:100vh;display:flex}.home-page .home-entry-arrow svg{flex:none;width:1.5rem;height:1.5rem}.home-page .home-content{padding:.75rem var(--page-inset) 1rem;flex-direction:column;gap:1.25rem;display:flex}.home-page .home-intro{gap:.5rem;padding-block:.25rem;display:grid}.home-page .home-intro h1{letter-spacing:-.055em;word-break:keep-all;overflow-wrap:anywhere;margin:0;font-size:clamp(1.625rem,7.5vw,2.25rem);font-weight:800;line-height:1.1}.home-page .home-headline-line{display:block}.home-page .home-headline-future{color:var(--color-violet)}.home-page .home-brand-signature{color:var(--color-ink);letter-spacing:-.02em;flex-wrap:wrap;align-items:baseline;gap:.125rem .5rem;margin:0;padding-bottom:.125rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(.9375rem,2.2vw,1.25rem);font-style:italic;font-weight:400;line-height:1.2;display:flex}.home-page .home-brand-signature span{white-space:nowrap}.home-page .home-services{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));align-items:start;gap:.5rem;display:grid}.home-page .home-service-entry{background:var(--color-surface);text-align:left;overflow-wrap:anywhere;border:0;border-radius:1.25rem;flex-direction:column;align-items:stretch;gap:.375rem;width:100%;min-width:0;min-height:152px;padding:16px;display:flex;position:relative;container-type:inline-size}.home-page .home-service-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.home-page .home-service-name{min-width:0;font-size:var(--font-size-section-title);flex-wrap:wrap;flex:12rem;align-items:center;gap:.5rem;line-height:1.625rem;display:flex}.home-page .home-entry-arrow{border:1px solid var(--color-divider);border-radius:50%;flex:0 0 44px;place-items:center;width:44px;min-height:44px;margin-inline-start:auto;display:grid}.home-page .home-service-description{font-size:var(--font-size-body);line-height:1.5}.home-page .home-service-state{flex-direction:column;gap:.5rem;margin-top:.5rem;display:flex}.home-page .home-state-summary{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;display:flex}.home-page .home-state-summary>.home-state-loading{flex-basis:100%}.home-page .home-state-summary strong{font-weight:600}.home-page .home-completion{color:var(--color-violet);font-size:var(--font-size-support);font-weight:600}.home-page .home-progress{background:var(--color-divider);width:min(100%,13rem);height:.5rem;color:var(--color-violet);appearance:none;border:0;border-radius:.75rem;display:block}.home-page .home-progress::-webkit-progress-bar{border-radius:inherit;background:var(--color-divider)}.home-page .home-progress::-webkit-progress-value{border-radius:inherit;background:var(--color-violet)}.home-page .home-progress::-moz-progress-bar{border-radius:inherit;background:var(--color-violet)}.home-page :is(.home-routines-state,.home-books-state,.home-cycles-state){padding-inline-end:128px}.home-page :is(.home-routine-art,.home-book-art,.home-cycle-art){inset-inline-end:0;pointer-events:none;background-position:100% 100%;background-repeat:no-repeat;background-size:contain;border-end-end-radius:inherit;width:120px;height:60px;position:absolute;bottom:0}.home-page .home-routine-art{background-image:url(/assets/home-routines-DK8q14zA.png)}.home-page .home-book-art{background-image:url(/assets/home-book-Bd0Qltoa.png)}.home-page .home-cycle-art{background-image:url(/assets/home-cycles-C4XUZeLd.png)}.home-page .home-cycles-service{min-width:0}.home-page .home-cycles-retry{margin-top:.5rem}@container (width<=17rem){.home-page :is(.home-routine-art,.home-book-art,.home-cycle-art){display:none}.home-page :is(.home-routines-state,.home-books-state,.home-cycles-state){padding-inline-end:0}}@media (width<=359px){.home-page :is(.home-routine-art,.home-book-art,.home-cycle-art){display:none}.home-page :is(.home-routines-state,.home-books-state,.home-cycles-state){padding-inline-end:0}.home-page .home-service-entry{min-height:0}}@media (width>=768px){.home-page{--page-inset:32px}}.account-page :is(.account-intro,.account-content){width:min(100%,480px);margin-inline:auto}.account-page-with-navigation{flex-direction:column;display:flex}.account-page-with-navigation .account-content{padding-bottom:24px}.account-page .account-intro{padding:24px var(--page-inset) 8px}.account-page .account-intro p{color:var(--color-secondary);font-size:var(--font-size-body);overflow-wrap:anywhere;margin:12px 0 0;line-height:1.5}.account-page .account-content{padding:24px var(--page-inset) calc(48px + env(safe-area-inset-bottom));gap:24px;display:grid}.account-page form{gap:24px;min-width:0;display:grid}.account-page form label{gap:8px;display:grid}.account-page .product-field,.account-page .product-button{width:100%}.account-page .account-details{background:var(--color-surface);border-radius:12px;gap:24px;margin:0;padding:24px;display:grid}.account-page .account-details div{border:0;min-width:0;padding:0}.account-page .account-details dd{color:var(--color-ink);font-size:var(--font-size-body);overflow-wrap:anywhere;margin:4px 0 0;font-weight:600;line-height:1.5}.account-field{gap:8px;min-width:0;display:grid}.account-text-button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:8px;text-decoration:underline}.account-page input[name=inviteCode]{text-transform:uppercase}.routines-page .routines-date-anchor{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:16px;display:flex;position:relative}.routines-page .routines-date-navigation{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;display:grid}.routines-page .routines-date-navigation>button{background:var(--color-surface);border:0;border-radius:50%;place-items:center;width:44px;min-height:44px;padding:8px;display:grid}.routines-page .routines-date-navigation>button svg{width:24px;height:24px}.routines-page .routines-date-navigation>button:disabled{color:var(--color-secondary);cursor:default}.routines-page .routines-date-control{text-align:center;overflow-wrap:anywhere;border-radius:8px;flex-direction:column;justify-content:center;min-width:0;min-height:48px;display:flex;position:relative}.routines-page .routines-selected-day{font-size:var(--font-size-section-title);letter-spacing:-.03125em;font-weight:700;line-height:1.25}.routines-page .routines-selected-year{font-size:var(--font-size-support);line-height:1.5}.routines-page .routines-date-control .date-picker-trigger{flex-direction:column;justify-content:center;align-items:center;display:flex}.routines-page .routines-today{color:var(--color-secondary);min-width:44px;min-height:44px;font-size:var(--font-size-support);background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:8px;line-height:1.5;display:inline-flex;position:absolute;inset-block-start:-64px;inset-inline-end:60px}.routines-page .routines-today:disabled{cursor:default}.routines-page .routines-today:before{content:"";background:var(--color-divider);border-radius:50%;flex:none;width:6px;height:6px}.routines-page .routines-today[aria-current=date]{color:var(--color-violet);font-weight:600}.routines-page .routines-today[aria-current=date]:before{background:var(--color-violet)}.routines-page .routines-management{margin-inline-start:auto;position:relative}.routines-page .routines-management-options{z-index:30;border:1px solid var(--color-divider);background:var(--color-canvas);border-radius:12px;gap:4px;width:max-content;max-width:calc(100vw - 40px);padding:12px;display:grid;position:absolute;inset-block-start:calc(100% + 12px);inset-inline-end:0}.routines-page .routines-management-heading{border-bottom:1px solid var(--color-divider);margin-bottom:4px;padding:4px 8px 12px}.routines-page .routines-management-heading h2{font-size:var(--font-size-body);margin:0;font-weight:600}.routines-page .routines-management-heading p{font-size:var(--font-size-caption);color:var(--color-on-surface-secondary);margin:4px 0 0}.routines-page .routines-management-options .routines-management-item{text-align:left;grid-template-columns:20px minmax(0,1fr) 16px;place-items:start;gap:8px;width:100%;padding:8px 4px;display:grid}.routines-page .routines-management-icon{justify-content:center;align-items:flex-start;padding-top:1px;display:flex}.routines-page .routines-management-copy{gap:4px;min-width:0;display:grid}.routines-page .routines-management-copy strong{font-size:var(--font-size-reading);font-weight:600}.routines-page .routines-management-copy>span{font-size:var(--font-size-caption);color:var(--color-on-surface-secondary)}.routines-page .routines-management-item>svg{place-self:center end;width:16px;height:16px}.routines-page .routines-group{border:1px solid var(--color-divider);background:var(--color-canvas);border-radius:12px}.routines-page .routines-group+.routines-group{margin-top:12px}.routines-page .routines-group-heading{background:var(--color-surface);cursor:grab;border-start-start-radius:inherit;border-start-end-radius:inherit;padding:12px}.routines-page .routines-group-heading h2{align-items:baseline;gap:8px;margin:0;display:flex}.routines-page .routines-group-heading .group-dot{align-self:center}.routines-page .routines-items{min-height:32px;padding-inline:12px}.routines-page .routine-item{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:12px;min-height:72px;padding-block:8px;display:grid}.routines-page .routine-item+.routine-item{border-top:1px solid var(--color-divider)}.routines-page .routine-cycle-action{background:0 0;border:0;border-radius:50%;place-items:center;min-width:56px;min-height:56px;padding:0;display:grid;position:relative}.routines-page .routine-cycle-action:disabled{cursor:default}.routines-page .routine-indicator{width:3.5rem;height:3.5rem;display:block}.routines-page .routine-indicator circle{fill:none;stroke-width:5px}.routines-page .routine-indicator-track{stroke:var(--color-surface)}.routines-page .routine-indicator-value{stroke:var(--group-color);stroke-linecap:round;transform-origin:28px 28px;transition:stroke-dasharray .22s ease-out;transform:rotate(-90deg)}.routines-page .routine-action-icon{pointer-events:none;color:var(--color-ink);place-items:center;display:grid;position:absolute;inset:0}.routines-page .routine-action-icon svg{width:24px;height:24px}.routines-page .routine-record-link{color:inherit;-webkit-touch-callout:none;grid-template-rows:minmax(48px,auto);grid-template-columns:minmax(0,1fr) max-content;align-items:center;gap:0 12px;min-width:0;min-height:56px;padding-block:4px;text-decoration:none;display:grid;position:relative}.routines-page .routine-label{overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-width:0;font-weight:600;line-height:1;display:-webkit-box;overflow:hidden}.routines-page .routine-record-count{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.routines-page .routine-actions{grid-column:1/-1;gap:4px;padding:4px 0 8px;display:grid}.routines-page .routine-actions button{border:1px solid var(--color-divider);background:var(--color-canvas);text-align:left;overflow-wrap:anywhere;border-radius:8px;min-height:44px;padding:8px 12px}.routines-page .routine-actions button:disabled{color:var(--color-secondary);cursor:default}@media (prefers-reduced-motion:reduce){.routines-page .routine-indicator-value{transition-duration:0s}}.routines-page .routines-notice{margin:16px 0}.routines-page .managed-group.sortable-preview{display:block}.routines-page .routine-item.sortable-preview{display:grid}.routines-page .routine-record-summary{place-items:center end;display:grid}.routines-page .routine-record-summary>span{grid-area:1/1}.routines-page .routine-goal-progress{inset-inline:0;white-space:nowrap;min-width:0;font-size:var(--font-size-compact);color:var(--color-secondary);justify-content:flex-end;align-items:center;gap:4px;line-height:1.5;display:flex;position:absolute;bottom:-4px}.routines-page .routine-goal-progress>svg{flex-shrink:0}.routines-page .routine-goal-progress>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.routines-group-empty{margin:0;padding:12px 0}.truncated-text-tooltip-layer{z-index:1000;background:0 0;border:0;width:max-content;max-width:min(360px,100vw - 16px);max-height:calc(100dvh - 16px);margin:0;padding:0;position:fixed;inset:auto;overflow:auto}.truncated-text-tooltip-layer>.product-tooltip{white-space:normal;width:auto;max-width:none;position:static;transform:none}
