:root{--color-canvas:#fbf6ec;--color-app-background:var(--color-canvas);--color-app-surround:#e8e4de;--color-surface-raised:#fffcf6;--color-surface-muted:#eee7d9;--color-selection-surface:#e0d8c861;--color-border:#d4cabb;--color-border-subtle:#e6dfd3;--color-text-primary:#263c32;--color-text-secondary:#59645c;--color-text-on-surface:var(--color-text-secondary);--color-action:#294b3d;--color-action-hover:#1e3c30;--color-on-action:#fffcf6;--color-accent:#b86651;--color-accent-text:#8c4938;--color-on-accent:#fffcf6;--color-danger:#963e35;--color-danger-hover:#7d3029;--color-on-danger:#fffcf6;--color-success:#355c43;--color-calendar-sunday:#b42318;--color-calendar-saturday:#175cd3;--color-decoration-start:#ebc8ad;--color-decoration-middle:#d9cdd9;--color-decoration-end:#cdd9de;--color-overlay:#263c3259;--color-tooltip-background:var(--color-text-primary);--color-on-tooltip:var(--color-canvas);--surface-texture:linear-gradient(color-mix(in srgb, var(--color-canvas) 55%, transparent), color-mix(in srgb, var(--color-canvas) 55%, transparent)), url(/assets/paper-C9HQNSiv.png);--surface-texture-size:512px;--surface-wash:linear-gradient(130deg, color-mix(in srgb, var(--color-decoration-start) 30%, transparent), color-mix(in srgb, var(--color-decoration-middle) 16%, transparent) 50%, color-mix(in srgb, var(--color-decoration-end) 28%, transparent));--shadow-menu:0 6px 20px #263c321f;--shadow-toast:0 6px 20px #263c321a;--shadow-floating:0 12px 32px #2423313d;--shadow-control-selected:inset 0 1px 2px #0000001f;--font-body:"Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-heading:"Noto Serif KR", serif;--font-size-compact:.75rem;--font-size-meta:.8125rem;--font-size-caption:.875rem;--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-heading-primary:clamp(1.75rem, 5vw, 2rem);--font-size-heading-screen:clamp(1.625rem, 6vw, 2rem);--font-size-heading-section:1.375rem;--line-height-body:1.65;--line-height-caption:1.7;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--radius-control:.5rem;--radius-sheet:20px;--radius-dialog:12px;--size-touch-target:44px;--size-control:48px;--size-progress-ring:62px;--layout-page-width:640px;--page-inset:24px;--layout-header-height:calc(4.25rem + env(safe-area-inset-top));--duration-feedback:.18s}@media (width>=768px){:root{--color-app-background:var(--color-app-surround)}}@media (width<=359px){:root{--page-inset:20px}}*,:before,:after{box-sizing:border-box}html{touch-action:manipulation;-webkit-tap-highlight-color:transparent;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body,#root{min-height:100%}body{min-height:100vh;color:var(--color-text-primary);background:var(--color-app-background);font:400 var(--font-size-body)/var(--line-height-body) var(--font-body);accent-color:var(--color-action);margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,fieldset:disabled{cursor:default}[hidden]{display:none!important}a{color:var(--color-action);text-underline-offset:.25em}:where(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--color-action);outline-offset:3px}:where(button,a,input){-webkit-tap-highlight-color:transparent}.ui{color:var(--color-text-primary);background:var(--color-canvas);font:400 var(--font-size-body)/var(--line-height-body) var(--font-body);accent-color:var(--color-action)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.ui *,.ui :before,.ui :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.ui-title{margin:0 0 var(--space-4);font:600 var(--font-size-heading-primary)/1.45 var(--font-heading);letter-spacing:-.035em;overflow-wrap:anywhere}.ui-section-title{margin:0 0 var(--space-4);color:var(--color-text-primary);font:600 var(--font-size-heading-section)/1.5 var(--font-heading)}.ui-caption,.ui-text-secondary{color:var(--color-text-secondary);font:400 var(--font-size-caption)/var(--line-height-caption) var(--font-body);overflow-wrap:anywhere}.ui-button{justify-content:center;align-items:center;gap:var(--space-2);min-width:var(--size-touch-target);min-height:var(--size-control);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-action);font:600 var(--font-size-body)/var(--line-height-body) var(--font-body);overflow-wrap:anywhere;cursor:pointer;transition:background var(--duration-feedback);background:0 0;padding:10px 16px;text-decoration:none;display:inline-flex}.ui-button:hover:not(:disabled){background:var(--color-surface-muted)}.ui-button-primary{border-color:var(--color-action);background:var(--color-action);color:var(--color-on-action)}.ui-button-primary:hover:not(:disabled){background:var(--color-action-hover)}.ui-button-secondary{border-color:var(--color-border);color:var(--color-action);background:0 0}.ui-button-quiet{border-color:#0000}.ui-button-danger{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-on-danger)}.ui-button-danger:hover:not(:disabled){background:var(--color-danger-hover)}.ui-search{align-items:center;gap:var(--space-2);min-width:0;min-height:var(--size-touch-target);padding-inline:var(--space-3);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-caption);cursor:pointer;background:0 0;border-radius:24px;flex:1;display:flex}.ui-search:focus-within{outline:2px solid var(--color-action);outline-offset:2px}.ui-tool{justify-content:center;align-items:center;gap:var(--space-1);min-height:var(--size-touch-target);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text-secondary);font-size:var(--font-size-meta);white-space:nowrap;cursor:pointer;background:0 0;display:inline-flex}.ui-search svg,.ui-tool svg{flex-shrink:0;width:18px;height:18px}:is(.ui-search,.ui-tool):disabled{opacity:.55;cursor:default}.ui-button:disabled{opacity:.5;cursor:default}.ui-button svg{flex-shrink:0;width:20px;height:20px}.ui-button-icon{width:var(--size-control);flex-shrink:0;padding-inline:0}.ui-content-heading .ui-button-icon{width:var(--size-touch-target);min-height:var(--size-touch-target);border:0;padding:8px}.ui-button.ui-button-icon-compact{width:28px;min-width:28px;height:28px;min-height:28px;color:var(--color-text-secondary);border:0;padding:4px}.ui-button.ui-button-icon-compact svg{width:16px;height:16px}.ui-button[aria-busy=true]:before{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.8s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-field{gap:8px;min-width:0;margin-bottom:20px;display:grid}.ui-label{margin-bottom:var(--space-2);color:var(--color-text-primary);font:600 var(--font-size-caption)/var(--line-height-body) var(--font-body);display:block}.ui-input{width:100%;min-width:0;max-width:100%;min-height:var(--size-control);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text-primary);background:var(--color-surface-raised);font:400 var(--font-size-body)/var(--line-height-body) var(--font-body);padding:10px 12px;display:block}textarea.ui-input{resize:vertical;min-height:120px}.ui-input[aria-invalid=true]{border-color:var(--color-danger)}.ui-input:disabled{opacity:.6;cursor:default}.ui-field-hint,.ui-field-error{font:400 var(--font-size-caption)/var(--line-height-caption) var(--font-body);overflow-wrap:anywhere;margin:0}.ui-field-hint{color:var(--color-text-secondary)}.ui-field-hint-on-surface{color:var(--color-text-on-surface)}.ui-field-error{color:var(--color-danger)}.ui-field .ui-input[aria-invalid=true]{border-width:2px}.ui-field .ui-label,.ui-field .ui-field-error{margin:0}.ui-option-group{flex-wrap:wrap;gap:8px 24px;margin-block:8px;display:flex}.ui-option-group label{min-height:var(--size-touch-target);color:var(--color-text-primary);font-size:var(--font-size-body);align-items:center;gap:8px;margin:0;font-weight:400;line-height:1.5;display:flex}.ui-option-group input{width:20px;height:20px;min-height:0;accent-color:var(--color-action);margin:0;padding:0}.ui-number-control{grid-template-columns:var(--size-control) minmax(0, 1fr) var(--size-control);gap:8px;margin-block:8px;display:grid}.ui-number-control button{min-height:var(--size-control);border-radius:var(--radius-control);color:var(--color-text-primary);background:var(--color-surface-muted);font-size:var(--font-size-page-title);border:0;padding:0}.ui-number-control .ui-input{text-align:center;font-size:var(--font-size-screen-title)}:is(.ui-option-group input,.ui-number-control button):disabled{opacity:.65;cursor:default}.ui-button-more,.ui-button-delete,.ui-button-archive{width:fit-content;min-width:var(--size-touch-target);min-height:var(--size-touch-target);color:var(--color-text-secondary);font:600 var(--font-size-caption)/1.5 var(--font-body);overflow-wrap:anywhere;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:8px;margin:0;padding:8px 4px;text-decoration:none;display:inline-flex}.ui-button-delete{color:var(--color-danger)}.ui-button-more{font-size:var(--font-size-compact);gap:4px;padding:4px 8px;font-weight:400}:is(.ui-button-more,.ui-button-delete,.ui-button-archive) svg{flex:none;width:18px;height:18px}.ui-button-more svg{width:12px;height:12px}:is(.ui-button-more,.ui-button-delete,.ui-button-archive):disabled{opacity:.5;cursor:default}.text-button{min-width:var(--size-touch-target);min-height:var(--size-touch-target);border-radius:var(--radius-control);color:var(--color-action);font:600 var(--font-size-caption)/1.5 var(--font-body);background:0 0;border:0;justify-content:center;align-items:center;gap:4px;padding:0 8px;text-decoration:none;display:inline-flex}.text-button svg{flex-shrink:0;width:16px;height:16px}.text-button:disabled{opacity:.65;cursor:default}.header-icon-button,.ui-icon-button{width:var(--size-touch-target);height:var(--size-touch-target);min-width:var(--size-touch-target);min-height:var(--size-touch-target);color:var(--color-text-primary);background:0 0;border:0;place-items:center;padding:4px;line-height:1;display:grid}.header-icon-button svg{width:24px;height:24px}.ui-icon-button svg{width:22px;height:22px}.ui-management-button{border-radius:50%;flex-shrink:0}.ui-management-button:hover{background:var(--color-selection-surface)}.ui-status-tabs{border:0;gap:3px;margin:0;padding:0;display:flex}.ui-status-tabs>button{background:var(--color-selection-surface);min-height:42px;color:var(--color-text-primary);font-size:var(--font-size-caption);cursor:pointer;border:0;border-radius:10px;flex:1;padding:10px 8px;position:relative;overflow:visible}.ui-status-tabs>button:is([aria-pressed=true],[aria-current=page]){color:var(--color-on-action);background:var(--color-action)}.ui-status-tabs>button[aria-pressed=true]{box-shadow:var(--shadow-control-selected)}.ui-status-tabs .ui-selection-badge{z-index:1;box-shadow:0 0 0 3px var(--color-canvas);pointer-events:none;margin:0;position:absolute;inset-block-start:-10px;inset-inline-end:-4px}.ui-selection{background:0 0}.ui-selection button{overflow-wrap:anywhere}.ui-selection button:disabled{opacity:.55;cursor:default}.ui-view-picker{border:1px solid var(--color-border-subtle);border-radius:9px;display:flex;overflow:hidden}.ui-view-picker button{min-height:var(--size-touch-target);color:var(--color-text-secondary);font-size:var(--font-size-caption);cursor:pointer;background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:8px;padding:7px 4px;display:flex}.ui-view-picker button+button{border-left:1px solid var(--color-border-subtle)}.ui-view-picker button[aria-pressed=true]{background:var(--color-selection-surface);color:var(--color-text-primary);font-weight:600}.ui-view-picker--compact{width:max-content;max-width:100%;margin-left:auto}.ui-view-picker--compact button{flex:0 auto;padding-inline:14px}.ui-selection svg{flex-shrink:0;width:18px;height:18px}.ui-selection-badge{background:var(--color-accent-text);min-width:22px;height:22px;color:var(--color-on-accent);font:700 var(--font-size-compact)/1 var(--font-body);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.ui-switch-row{min-height:var(--size-touch-target);font-size:var(--font-size-caption);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;display:flex}.ui-switch-copy{overflow-wrap:anywhere;flex:1;gap:6px;min-width:0;display:grid}.ui-switch-description{color:var(--color-text-secondary);font-size:var(--font-size-caption);line-height:1.5}.ui-switch{flex:0 0 48px;align-items:center;width:48px;height:44px;display:grid;position:relative}.ui-switch>input{z-index:1;opacity:0;width:100%;height:100%;cursor:inherit;margin:0;position:absolute;inset:0}.ui-switch-track{border:1px solid var(--color-border);background:var(--color-surface-muted);width:48px;height:28px;transition:background var(--duration-feedback);border-radius:999px;display:block;position:relative}.ui-switch-track:after{content:"";background:color-mix(in srgb, var(--color-text-secondary) 55%, var(--color-surface-raised));width:20px;height:20px;transition:transform var(--duration-feedback);border-radius:50%;position:absolute;top:3px;left:3px}.ui-switch>input:checked+.ui-switch-track{border-color:var(--color-action);background:var(--color-action)}.ui-switch>input:checked+.ui-switch-track:after{background:var(--color-on-action);transform:translate(20px)}.ui-switch-track>span{display:none}.ui-switch>input:focus-visible+.ui-switch-track{outline:2px solid var(--color-action);outline-offset:3px}.ui-switch-row[data-disabled]{opacity:.55;cursor:default}.ui-real-switch{justify-content:flex-start;margin-block:0}.ui-real-switch .ui-switch-copy{flex:0 auto}.inline-message{border:0;border-left:2px solid var(--color-accent);background:var(--color-surface-raised);color:var(--color-text-primary);font-size:var(--font-size-caption);line-height:var(--line-height-caption);overflow-wrap:anywhere;border-radius:0;margin:0;padding:16px}.inline-message[role=alert]{border-color:var(--color-danger)}@media (prefers-reduced-motion:reduce){.ui-button[aria-busy=true]:before{animation:none}.ui-switch-track,.ui-switch-track:after{transition:none}}@media (forced-colors:active){.ui-button,.ui-input{border:1px solid buttontext}.ui-switch>input{opacity:1;appearance:auto;width:28px;height:28px;position:static}.ui-switch-track{display:none}.ui-selection button[aria-pressed=true]{outline-offset:-3px;outline:2px solid buttontext}}:is(.ui-page,.ui-controls) .ui-text-on-surface{color:var(--color-text-on-surface)}:is(.ui-page,.ui-controls) .ui-segmented-toggle{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:12px;gap:3px;padding:3px;display:inline-flex}:is(.ui-page,.ui-controls) .ui-segmented-toggle>label{cursor:pointer;position:relative}:is(.ui-page,.ui-controls) .ui-segmented-toggle input{opacity:0;width:1px;height:1px;position:absolute}:is(.ui-page,.ui-controls) .ui-segmented-toggle span{border-radius:9px;place-items:center;min-width:64px;min-height:44px;padding:8px 16px;display:grid}:is(.ui-page,.ui-controls) .ui-segmented-toggle input:checked+span{background:var(--color-action);color:var(--color-on-action);font-weight:600}:is(.ui-page,.ui-controls) .ui-segmented-toggle input:focus-visible+span{outline:2px solid var(--color-action);outline-offset:-2px}:is(.ui-page,.ui-controls) .ui-segmented-toggle input:disabled+span{opacity:.65;cursor:default}.ui-tooltip{z-index:5;overflow-wrap:anywhere;width:max-content;max-width:calc(100% - 16px);font:inherit;line-height:1.5;font-size:var(--font-size-meta);background:var(--color-tooltip-background);color:var(--color-on-tooltip);border-radius:6px;padding:8px 10px;position:absolute;transform:translate(-50%)}.ui-tooltip[role=dialog]{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.ui-tooltip-link{color:inherit;text-underline-offset:3px;text-decoration:underline}.ui-tooltip-link:focus-visible{outline-offset:3px;outline:2px solid}.ui-management-actions{flex-wrap:wrap;align-items:center;gap:8px 24px;display:flex}.ui-texture{background:var(--color-canvas);background-image:var(--surface-texture);background-size:var(--surface-texture-size)}.ui-reading{background:var(--color-surface-raised);padding:var(--space-6)}.ui-wash{background:var(--surface-wash)}.ui-option{min-height:var(--size-touch-target);cursor:pointer;align-items:center;gap:.75rem;display:flex}.ui-option input{flex-shrink:0;width:1.25rem;height:1.25rem}.ui-segments{background:var(--color-surface-muted);border-radius:var(--radius-control);border:0;flex-wrap:wrap;gap:.25rem;margin:0;padding:.25rem;display:flex}.ui-segments label{text-align:center;flex:1;position:relative}.ui-segments input{opacity:0;width:1px;height:1px;position:absolute}.ui-segments span{min-height:var(--size-touch-target);cursor:pointer;border-radius:.375rem;padding:.625rem;display:block}.ui-segments input:checked+span{background:var(--color-surface-raised);color:var(--color-text-primary);font-weight:600}.ui-segments input:focus-visible+span{outline:2px solid var(--color-action);outline-offset:3px}.ui-list{margin:0;padding:0;list-style:none}.ui-list>li{border-bottom:1px solid var(--color-border);padding-block:1rem}.ui-list-action{min-height:var(--size-control);color:inherit;justify-content:space-between;align-items:center;gap:1rem;text-decoration:none;display:flex}.ui-note{border-inline-start:3px solid var(--color-border);background:var(--color-surface-raised);padding:.75rem 1rem}.ui-note--error{border-color:var(--color-danger)}.ui-feedback{border-left:2px solid var(--color-border);background:var(--color-surface-raised);gap:8px;margin-block:12px;padding:16px;display:grid}.ui-feedback-heading{align-items:flex-start;gap:10px;min-width:0;display:flex}.ui-feedback-title{min-width:0;font:600 19px/1.55 var(--font-heading);letter-spacing:-.025em;overflow-wrap:anywhere;margin:0}.ui-feedback-copy{color:var(--color-text-secondary);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.75}.ui-feedback-symbol{flex:none;width:22px;height:22px;margin-top:5px}.ui-feedback-actions{align-items:center;justify-content:inherit;flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.ui-feedback--empty{text-align:center;background:0 0;border:0;padding:0 8px 12px;display:block}.ui-feedback--empty .ui-feedback-heading{display:block}.ui-feedback--empty .ui-feedback-title{margin-bottom:8px}.ui-feedback--empty .ui-feedback-actions{justify-content:center;margin-top:16px}.ui-feedback-art{aspect-ratio:3/2;object-fit:contain;width:min(190px,70%);margin:0 auto 12px;display:block;-webkit-mask-image:radial-gradient(#000 45%,#0000 74%);mask-image:radial-gradient(#000 45%,#0000 74%)}.ui-feedback--warning,.ui-feedback--error{border-color:var(--color-accent)}.ui-feedback--error .ui-feedback-title{color:var(--color-danger)}.ui-feedback--success{border-color:var(--color-success)}.ui-feedback-actions .ui-button{font-size:var(--font-size-meta);min-height:42px}.ui-sheet-dialog{border:1px solid var(--color-border);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;overscroll-behavior:contain;background:var(--color-surface-raised);max-width:100%;max-height:calc(100dvh - 24px);color:var(--color-text-primary);font:400 var(--font-size-body)/var(--line-height-body) var(--font-body);width:min(100%, var(--layout-page-width));border-bottom:0;margin:auto auto 0;padding:0;overflow:hidden}.ui-sheet-dialog::backdrop{background:var(--color-overlay)}.ui-sheet-dialog--center{border-bottom:1px solid var(--color-border);border-radius:var(--radius-dialog);width:min(560px,100% - 32px);margin:auto}.ui-sheet-layout{flex-direction:column;max-height:min(90dvh,100dvh - 24px);display:flex}.ui-sheet-heading{padding:var(--space-6) var(--page-inset) var(--space-4);flex-shrink:0;align-items:flex-start;gap:12px;display:flex}.ui-sheet-heading>div{flex:1;min-width:0}.ui-sheet-heading h2{font:600 var(--font-size-heading-section)/1.5 var(--font-heading);overflow-wrap:anywhere;margin:0}.ui-sheet-heading h2:focus{outline:none}.ui-sheet-heading p{color:var(--color-text-secondary);margin:8px 0 0;font-size:14px}.ui-sheet-heading .ui-icon-button{flex:0 0 44px;width:44px}.ui-sheet-body{overscroll-behavior:contain;min-height:0;padding:var(--space-1) var(--page-inset) max(var(--space-6), env(safe-area-inset-bottom));overflow-y:auto}.ui-sheet-body :where(fieldset){border:0;min-width:0;margin:0 0 24px;padding:0}.ui-sheet-body :where(legend){margin-bottom:12px;font-weight:600}.ui-sheet-body :where(input:not([type=checkbox]):not([type=radio]):not(.ui-input),select:not(.ui-input),textarea:not(.ui-input)){width:100%;min-width:0;min-height:var(--size-control);color:var(--color-text-primary);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-control);font-size:var(--font-size-body);padding:10px 12px}.ui-sheet-body :where(input,select,textarea)[aria-invalid=true]{border-color:var(--color-danger)}.ui-sheet-actions{padding:var(--space-4) var(--page-inset) max(var(--space-6), env(safe-area-inset-bottom));border-top:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;display:flex}.ui-sheet-actions>.text-button{margin-inline-end:auto}.ui.ui-sheet-dialog button:disabled{opacity:.55;cursor:default}.ui-menu{flex-shrink:0;display:inline-flex;position:relative}.ui-management-menu{z-index:60;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-raised);width:min(280px,100vw - 48px);box-shadow:var(--shadow-menu);padding:6px;display:grid;position:absolute;inset-block-start:calc(100% + 4px);inset-inline-end:0}.ui-management-menu>button{width:100%;min-height:56px;color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px;display:grid}.ui-management-menu>button:is(:hover,:focus-visible){background:var(--color-surface-muted)}.ui-management-menu svg{width:22px;height:22px}.ui-management-menu strong{font-size:14px;font-weight:600;display:block}.ui-management-menu small{color:var(--color-text-secondary);margin-top:2px;font-size:12px;display:block}.ui-progress-button{flex:0 0 var(--size-progress-ring);width:var(--size-progress-ring);height:var(--size-progress-ring);color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.ui-progress-button:disabled{cursor:default}.ui-progress-ring{width:var(--size-progress-ring);height:var(--size-progress-ring);display:block}.ui-progress-ring circle{fill:none;stroke-width:5px}.ui-progress-track{stroke:var(--color-surface-muted)}.ui-progress-value{stroke:var(--progress-color,var(--color-accent));stroke-linecap:round;transform-origin:28px 28px;transition:stroke-dasharray var(--duration-feedback) ease-out;transform:rotate(-90deg)}.ui-progress-icon{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.ui-progress-icon svg{width:28px;height:28px}@media (prefers-reduced-motion:reduce){.ui-progress-value{transition:none}}@media (forced-colors:active){.ui-sheet-dialog{border:1px solid buttontext}}.ui-page{width:min(100%, var(--layout-page-width));min-height:100vh;color:var(--color-text-primary);background:var(--color-canvas);background-image:var(--surface-texture);background-size:var(--surface-texture-size);font:400 var(--font-size-body)/var(--line-height-body) var(--font-body);margin-inline:auto}:is(.ui-page,.ui-controls) :where(button,input,textarea,select,a){scroll-margin-top:calc(var(--layout-header-height) + 16px)}.ui-content{min-width:0;padding:var(--space-4) var(--page-inset) calc(var(--space-12) + env(safe-area-inset-bottom))}.ui-content-heading{min-width:0;min-height:var(--size-touch-target);margin-bottom:24px}.ui-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ui-title-row>:is(a,button){margin-inline-start:auto}.ui-content-heading>:is(.ui-home-title,.ui-screen-title){flex:12rem;min-width:0}.ui-home-title,.ui-screen-title{letter-spacing:-.04em;overflow-wrap:anywhere;font:600 var(--font-size-heading-screen)/1.5 var(--font-heading);margin:0}.ui-home .ui-content-heading{flex-wrap:nowrap;margin-bottom:0}.ui-home .ui-content-heading .ui-home-title{font:600 var(--font-size-heading-primary)/1.5 var(--font-heading)}.ui-page-description{color:var(--color-text-secondary);font-size:var(--font-size-caption);margin:-12px 0 28px}.ui-identity{align-items:center;gap:12px;min-width:0;margin-block:8px 28px;display:flex}.ui-identity-icon{border:1px solid var(--color-border);background:0 0;border-radius:50%;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.ui-identity-icon svg{width:28px;height:28px;margin:0}.ui-identity-name{min-width:0;font:600 26px/1.55 var(--font-heading);text-align:left;overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:1;margin:0;display:-webkit-box;overflow:hidden}.ui-screen-subtitle{font-size:var(--font-size-caption);line-height:var(--line-height-caption);color:var(--color-text-secondary);letter-spacing:-.035em;margin:5px 0 28px}.ui-section{min-width:0;margin-block:0 32px}.ui-section-heading{margin-bottom:20px}.ui-section-heading h2{font:600 21px/1.5 var(--font-heading);letter-spacing:-.025em;margin:0}.ui-section-heading p{font-size:var(--font-size-caption);color:var(--color-text-secondary);margin:8px 0 0}.ui-section--surface{border-block:1px solid var(--color-border);background:var(--color-surface-raised);padding:var(--page-inset)}.ui-section-actions,.ui-editor-actions{border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px;padding-top:20px;display:flex}.ui-editor-actions>:is(button,a){flex:8rem}.ui-meta-list{gap:16px;margin:0;display:grid}.ui-meta-list>div{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(72px,1fr) minmax(0,2fr);gap:16px;padding-block:12px;display:grid}.ui-meta-list dt{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.ui-meta-list dd{overflow-wrap:anywhere;margin:0}.ui-stat-strip{border-block:1px solid var(--color-border);flex-wrap:wrap;gap:16px;padding-block:20px;display:flex}.ui-stat-strip>*{flex:5rem;min-width:0}.ui-stat-strip dt{font-size:var(--font-size-caption);color:var(--color-text-secondary)}.ui-stat-strip dd{font:600 22px/1.5 var(--font-heading);margin:6px 0 0}.ui-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ui-stack>*+*{margin-top:var(--space-4)}.loading-status{min-width:0;color:var(--color-text-secondary);font-size:var(--font-size-caption);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,.ui-page .loading-status>svg.loading-spinner{flex:0 0 24px;width:24px;height:24px}.loading-orbit{stroke:var(--color-border)}.loading-planet{display:none}.loading-satellite{fill:var(--color-action)}.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{--brand-h:16px;align-items:center;gap:calc(var(--brand-h) * .6);padding:calc(var(--brand-h) * .5);color:var(--color-text-primary);flex:none;display:inline-flex}.brand-logo{width:calc(var(--brand-h) * 7.92);max-width:none;height:auto;display:block}.brand-service{font:400 max(12px, calc(var(--brand-h) * .8))/1.3 var(--font-body);letter-spacing:normal;white-space:nowrap;transform:translateY(calc(var(--brand-h) * .16))}@media (width<=359px){.brand-lockup{--brand-h:14px}}@media (width>=640px){.brand-lockup{--brand-h:18px}}.ui-header,.ui-live-header{z-index:80;min-height:60px;padding:max(8px, env(safe-area-inset-top)) var(--page-inset) 8px;background:var(--color-canvas);background-image:var(--surface-texture);background-size:var(--surface-texture-size);border:0;align-items:center;gap:4px;display:flex;position:sticky;top:0}.ui-live-header{flex-wrap:nowrap;justify-content:space-between}.ui-header>.ui-brand{min-width:0;font-size:var(--font-size-section-title);flex-wrap:wrap;flex:auto;align-items:baseline;gap:8px;line-height:1.5;display:flex}.ui-header-with-back{justify-content:flex-start}.ui-header :is(.ui-home-action,.ui-back-action){width:auto;min-width:var(--size-touch-target);min-height:var(--size-touch-target);border-radius:var(--radius-control);color:var(--color-text-primary);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:8px;display:inline-flex}.ui-header .ui-back-action{width:44px;margin:0;position:absolute;inset-inline-start:0}.ui-header .ui-back-action svg{width:16px;height:16px;transform:translate(-8px)}.ui-service-links{margin:0 var(--page-inset) 28px;gap:32px;display:flex}.ui-service-links a{color:var(--color-text-secondary);font:500 var(--font-size-body)/1.5 var(--font-heading);padding-block:8px;text-decoration:none}.ui-service-links a[aria-current]{color:var(--color-text-primary);border-bottom:1px solid var(--color-action)}@media (width<=359px){.ui-service-links{gap:24px}}.ui-nickname{vertical-align:baseline;align-items:baseline;min-width:0;max-width:100%;display:inline-flex}.ui-nickname strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-primary);flex:0 auto;font-weight:600;overflow:hidden}.ui-nickname>span{color:var(--color-text-secondary);white-space:pre;flex:none;font-weight:400}.ui-header-actions{flex:none;align-items:center;gap:4px;margin-inline-start:auto;display:flex}.ui-header-actions :is(.ui-account-action,.ui-home-action){border-radius:var(--radius-control);width:44px;height:44px;min-height:44px;color:inherit;background:0 0;border:0;flex:0 0 44px;justify-content:center;align-items:center;margin:0;padding:10px;text-decoration:none;display:inline-flex}.ui-header-actions svg{width:24px;height:24px;display:block}.ui-header-actions [aria-disabled=true]{opacity:.5;cursor:default}.feedback-toaster [data-sonner-toast][data-styled=true]{border:1px solid var(--color-border);border-radius:var(--radius-control);box-shadow:var(--shadow-toast);color:var(--color-text-primary);background:var(--color-surface-raised);min-height:60px;font-size:var(--font-size-reading);line-height:1.5;font-family:var(--font-body);gap:10px;padding:16px 60px 16px 16px}.feedback-toaster [data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5}.feedback-toaster [data-sonner-toast][data-styled=true] [data-icon],.feedback-toaster [data-sonner-toast][data-styled=true] [data-icon] svg{width:var(--feedback-icon-size);height:var(--feedback-icon-size)}.feedback-toaster [data-sonner-toast][data-styled=true][data-type=success] [data-icon]{color:var(--color-success)}.feedback-toaster [data-sonner-toast][data-styled=true][data-type=info] [data-icon]{color:var(--color-action)}.feedback-toaster [data-sonner-toast][data-styled=true] [data-description]{color:var(--color-text-secondary);font-size:.875rem;line-height:1.5}ol[data-sonner-toaster].feedback-toaster [data-sonner-toast][data-styled=true] button[data-close-button]{box-shadow:none;color:var(--color-text-primary);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-action);outline-offset:2px}[data-sonner-toaster].feedback-toaster[data-x-position=center]{--feedback-toast-width:356px;--feedback-icon-size:20px;width:min(var(--feedback-toast-width), calc(100% - 32px));left:max(16px, calc((100% - var(--feedback-toast-width)) / 2));font-family:inherit;right:auto;transform:none}[data-sonner-toaster].feedback-toaster [data-sonner-toast]{width:100%}@media (width>=768px){[data-sonner-toaster].feedback-toaster[data-x-position=center]{--feedback-toast-width:420px;--feedback-icon-size:22px}.feedback-toaster [data-sonner-toast][data-styled=true]{font-size:var(--font-size-body);gap:12px;padding:20px 60px 20px 20px}}.confirm-dialog .dialog-actions-alert{justify-content:center;display:flex}.confirm-dialog .dialog-actions-alert button{min-width:120px}.feedback-toaster{background:0 0}.confirm-dialog{border:1px solid var(--color-border);width:min(480px,100% - 32px);color:var(--color-text-primary);background:var(--color-surface-raised);text-align:center;border-radius:var(--radius-dialog);margin:auto;padding:28px 24px}.confirm-dialog::backdrop{background:var(--color-overlay)}.confirm-dialog h2{font:600 var(--font-size-heading-section)/1.5 var(--font-heading);margin:0 0 16px}.confirm-dialog p{font-size:var(--font-size-body);line-height:1.7}.dialog-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;display:grid}.ui-notification-cycle{border:0;min-width:0;margin:0;padding:0}.ui-notification-cycle>legend{font:600 18px/1.5 var(--font-heading);margin-bottom:16px}.notification-time-picker{border:0;min-width:0;margin:28px 0 0;padding:0}.notification-time-picker legend{font-size:var(--font-size-caption);margin-bottom:12px;padding:0}.notification-time-fields{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px;display:grid}.ui.ui-account .notification-time-fields label{min-width:0}.notification-device-toggle{margin-block:8px 16px}.ui.ui-account .ui-notification-device .ui-field-hint{margin-bottom:20px}.ui.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-border)}.routine-archive-list a{align-items:center;gap:var(--space-4);min-height:88px;padding-block:var(--space-4);color:var(--color-text-primary);text-decoration:none;display:flex}.routine-archive-info{gap:var(--space-1);overflow-wrap:anywhere;min-width:0;display:grid}.routine-archive-name{font-size:var(--font-size-body);font-weight:600}.routine-archive-group{color:var(--color-text-secondary);font-size:var(--font-size-support);align-items:center;gap:6px;display:flex}.routine-archive-date{color:var(--color-text-secondary);font-size:var(--font-size-meta)}.ui.routines-screen :is(.routine-form,.group-form,.form-fields){gap:28px;min-width:0;display:grid}.ui.routines-screen :is(.form-fields,.repeat-field,.color-field){border:0;min-width:0;margin:0;padding:0}.ui.routines-screen .form-field{gap:var(--space-2);min-width:0;display:grid}.ui.routines-screen legend{margin-bottom:var(--space-3)}.ui.routines-screen .align-right{text-align:right}.ui.routines-screen .weekday-options{grid-template-columns:repeat(auto-fit,minmax(1.75rem,1fr));gap:6px;margin-top:20px;display:grid}.ui.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}.ui.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}.ui.routines-screen .weekday-options span{min-height:44px;padding:var(--space-2);padding-inline:var(--space-1);border:1px solid var(--color-border);border-radius:50%;place-items:center;display:grid}.ui.routines-screen .weekday-options input:checked+span{background:var(--color-action);border-color:var(--color-action);color:var(--color-on-action)}.ui.routines-screen :is(.weekday-options,.color-options) input:focus-visible+span{outline:2px solid var(--color-action);outline-offset:3px}.ui.routines-screen .color-options{gap:22px var(--space-2);grid-template-columns:repeat(6,minmax(0,1fr));margin-top:20px;display:grid}.ui.routines-screen .color-options label{justify-items:center;gap:var(--space-2);text-align:center;color:var(--color-text-secondary);overflow-wrap:anywhere;display:grid}.ui.routines-screen .color-swatch{color:#fff;width:44px;height:44px;font-size:var(--font-size-page-title);text-shadow:1px 1px 0 var(--color-text-primary), -1px -1px 0 var(--color-text-primary);border-radius:50%;place-items:center;display:grid}.ui.routines-screen .group-form-actions{gap:var(--space-4);margin-top:var(--space-2);display:grid}.ui.routines-screen .routines-submit{width:100%;margin-top:var(--space-2)}.ui.routines-screen .managed-groups{background:0 0;border-radius:0;gap:0;padding:0;display:grid}.ui.routines-screen .managed-groups:empty{display:none}.ui.routines-screen .managed-group{color:var(--color-text-primary);align-items:center;gap:var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:nowrap;min-height:88px;padding-block:20px;text-decoration:none;display:flex}.ui.routines-screen .managed-group .group-name{overflow-wrap:anywhere;min-width:0;font-weight:600;font-family:var(--font-heading);flex:8rem;font-size:20px;line-height:1.5}.ui.routines-screen .default-badge{color:var(--color-text-secondary);border:1px solid var(--color-border);flex:none;padding:3px 7px;font-size:11px;line-height:1.5}.ui.routines-screen fieldset:disabled :is(.weekday-options,.color-options){opacity:.65;cursor:default}.ui.routines-screen .color-check{color:#fff;width:24px;height:24px;font-size:var(--font-size-body);background:var(--color-text-primary);border-radius:50%;place-items:center;display:grid}.ui.routines-screen .ui-title-row>a{text-decoration:none}.ui.routines-screen .group-sort-hint{margin:0 0 var(--space-4)}.ui.routines-screen .group-drag-hint{height:20px;color:var(--color-text-on-surface);flex:none;width:18px;margin-inline-start:auto}.ui.routines-screen .repeat-field .ui-option-group{margin-bottom:var(--space-3)}.ui.routines-screen .routine-goal-options{gap:var(--space-3);background:0 0;border:0;border-radius:0;min-width:0;margin:0;padding:0;display:grid}.ui.routines-screen .routine-goal-period{width:100%;min-width:0;display:flex}.ui.routines-screen .routine-goal-period>label{flex:1;min-width:0}.ui.routines-screen .routine-goal-period span{min-width:0;padding-inline:var(--space-1)}.ui.routines-screen .routine-name-row{gap:var(--space-3);margin-top:var(--space-2);align-items:center;display:flex}.ui.routines-screen .routine-icon-trigger{cursor:pointer;border:1px solid var(--color-border);background:var(--color-canvas);height:58px;color:var(--color-action);border-radius:50%;flex:0 0 58px;place-items:center;padding:0;display:grid}.ui.routines-screen .routine-icon-trigger svg{width:28px;height:28px}.ui.routines-screen .routine-setting-row{text-align:left;cursor:pointer;width:100%;min-width:0;min-height:72px;color:var(--color-text-primary);border:0;border-bottom:1px solid var(--color-border);background:0 0;align-items:center;gap:14px;padding:15px 0;display:flex}.ui.routines-screen .routine-setting-row>:is(.ui-label,svg){flex-shrink:0}.ui.routines-screen .routine-setting-value{text-align:right;overflow-wrap:anywhere;min-width:0;font-size:var(--font-size-support);color:var(--color-text-secondary);flex:1;line-height:1.8}.ui.routines-screen :is(.routine-icon-trigger,.routine-setting-row):focus-visible{outline:2px solid var(--color-action);outline-offset:3px}.ui.routines-screen :is(.routine-icon-trigger,.routine-setting-row):disabled{opacity:.65;cursor:default}.ui.routines-screen .ui-content{padding-bottom:36px}.ui.routines-screen .routines-content{min-width:0}.ui.routines-screen .ui-page-intro{margin:0 0 var(--space-1);color:var(--color-text-secondary);font-size:15px;line-height:1.9}.ui.routines-screen .ui-kicker{margin:0 0 var(--space-3);color:var(--color-accent-text);letter-spacing:.16em;font-size:11px}.ui.routines-screen :is(.routine-form,.group-form) .ui-section{margin-block:0}.ui.routines-screen .routine-name-row .ui-input{font-size:18px}.ui.routines-screen .routine-setting-row:last-child{border-bottom:0}.ui.routines-screen .routine-setting-row>svg{width:18px;color:var(--color-text-secondary)}.ui.routines-screen .routine-setting-row:hover:not(:disabled){background:color-mix(in srgb, var(--color-surface-muted) 35%, transparent)}.ui.routines-screen textarea#routine-memo{resize:vertical;border-width:0 0 1px;border-radius:2px;min-height:180px;line-height:2}.ui.routines-screen .ui-routine-management{justify-content:space-between;gap:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.ui-routine-settings .form-field{margin-block:var(--space-2)}.ui.routines-screen .repeat-field{background:0 0;border:0;border-radius:0;padding:0}.ui-routine-settings .ui-number-control{margin-block:var(--space-3)}.ui-routine-settings .ui-routine-options{gap:var(--space-3) var(--space-6);flex-wrap:wrap;display:flex}.ui-routine-settings .ui-routine-options label{align-items:center;gap:var(--space-2);min-height:44px;display:flex}.ui-routine-settings .ui-routine-options input{width:20px;height:20px;accent-color:var(--color-action)}.ui-routine-settings .routine-goal-period{margin:0}.ui-routine-settings .ui-field-error{margin-block:var(--space-4) 0;color:var(--color-danger)}.ui.routines-screen :is(.history-summary,.routine-archive-list) .ui-identity-icon{width:54px;height:54px;color:var(--color-action);flex:0 0 54px}.ui-legend-mark{border:1px solid var(--color-border);border-radius:3px;width:12px;height:12px;display:inline-block}.ui.routines-screen .managed-group:last-child{border-bottom:0}.ui-managed-group-copy{gap:var(--space-1);flex:1;min-width:0;display:grid}.ui-managed-group-copy>small{color:var(--color-text-secondary);font-size:12px}.ui.routines-screen .routine-archive-list a{gap:var(--space-4);min-height:112px;padding-block:22px}.ui.routines-screen .routine-archive-info{flex:1;gap:6px}.ui.routines-screen .routine-archive-name{font:600 20px/1.65 var(--font-heading)}.ui.routines-screen .routine-archive-date{font-size:12px}.ui-archive-chevron{color:var(--color-text-secondary);flex-shrink:0}@media (width<=359px){.ui.routines-screen .color-options{grid-template-columns:repeat(4,minmax(0,1fr))}.ui.routines-screen .managed-group{gap:10px}}.ui-routine-empty-symbol{vertical-align:middle;margin-inline-end:6px;display:inline-flex}.ui-routine-empty-symbol svg{width:16px;height:16px}.ui.routines-screen.ui-routine-settings{background:0 0}.ui.routines-screen .color-options input:checked+.color-swatch{outline:2px solid var(--color-action);outline-offset:3px}.ui.routines-screen .routine-setting-row .ui-label{font-weight:500}.ui.routines-screen .review-month-navigation{gap:var(--space-2);min-height:48px;margin-block:0 var(--space-8);grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;display:grid}.ui.routines-screen .review-month-navigation>button{width:44px;min-height:44px;padding:var(--space-2);border:1px solid var(--color-border);color:var(--color-action);background:0 0;border-radius:50%;place-items:center;display:grid}.ui.routines-screen .review-month-navigation>button svg{width:24px;height:24px}.ui.routines-screen .review-month-navigation>button:disabled{color:var(--color-text-secondary);cursor:default}.ui.routines-screen .review-selected-month{text-align:center;letter-spacing:-.03125em;font:600 24px/1.5 var(--font-heading)}.ui.routines-screen .review-section{margin-block:var(--space-8) 0;padding:var(--space-6) 0 0;border:0;border-top:1px solid var(--color-border);background:0 0;border-radius:0}.ui.routines-screen .review-section h2{margin:0 0 var(--space-3);color:var(--color-text-primary);font:600 21px/1.6 var(--font-heading);border:0;padding:0}.ui.routines-screen .review-group{margin-top:28px}.ui.routines-screen .review-group h3{margin:0 0 var(--space-3);font-size:var(--font-size-body);align-items:center;gap:10px;display:flex}.ui.routines-screen .review-summary{align-items:center;gap:var(--space-6);padding-block:var(--space-2) 20px;grid-template-columns:minmax(0,1fr) minmax(86px,auto);display:grid}.ui.routines-screen .review-summary>p{margin:var(--space-2) 0;overflow-wrap:anywhere;font:500 19px/1.9 var(--font-heading)}.ui.routines-screen .review-summary>div{text-align:right;flex-direction:column;gap:6px;display:flex}.ui.routines-screen .review-summary strong{font-variant-numeric:tabular-nums;font:600 34px/1.4 var(--font-heading);color:var(--color-accent-text)}.ui.routines-screen .review-goal{color:inherit;border-bottom:1px solid var(--color-border);padding:18px 0;text-decoration:none;display:block}.ui.routines-screen a.review-goal:focus-visible{outline:2px solid var(--review-color);outline-offset:4px}.ui.routines-screen .review-goal-label{align-items:baseline;gap:var(--space-1);grid-template-columns:minmax(0,1fr);display:grid}.ui.routines-screen .review-goal-label .review-routine-name{white-space:normal;overflow-wrap:anywhere;text-overflow:clip;overflow:visible}.ui.routines-screen .review-goal-label .ui-caption{white-space:normal;overflow-wrap:anywhere}.ui.routines-screen .review-routine-name{overflow-wrap:anywhere;min-width:0}.ui.routines-screen .review-progress-row{font-variant-numeric:tabular-nums;text-align:right;align-items:center;gap:var(--space-4);margin-top:var(--space-3);font-size:var(--font-size-meta);grid-template-columns:minmax(0,1fr) 60px;display:grid}.ui.routines-screen .review-progress{background:var(--color-surface-muted);border-radius:4px;height:10px;overflow:hidden}.ui.routines-screen .review-progress>span{background:var(--review-color);border-radius:inherit;height:100%;display:block}.ui.routines-screen .review-progress.is-inactive{background:repeating-linear-gradient(135deg, var(--color-surface-raised), var(--color-surface-raised) 3px, var(--color-surface-muted) 3px, var(--color-surface-muted) 5px)}.ui.routines-screen .review-trend-content{position:relative}.ui.routines-screen .review-chart{padding:var(--space-3) 0;background:linear-gradient(to top, var(--color-border) 1px, transparent 1px) 0 4px / 100% 40px;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;margin-top:28px;display:grid}.ui.routines-screen .review-chart>[role=listitem]{justify-items:center;gap:var(--space-2);text-align:center;grid-template-rows:minmax(1.5em,auto) 120px minmax(2.5em,auto);min-width:0;display:grid}.ui.routines-screen .review-chart>[role=listitem]>.ui-caption{white-space:nowrap;overflow-wrap:normal;font-variant-numeric:tabular-nums;font-size:var(--font-size-compact)}.ui.routines-screen .review-chart>[role=listitem]>.ui-caption:last-child{flex-direction:column;align-items:center;display:flex}.ui.routines-screen .review-chart-month-label{flex-direction:column;line-height:1.4;display:flex}.ui.routines-screen .review-chart-month-marker{height:1em;line-height:1}.ui.routines-screen .review-chart-column{border-bottom:1px solid var(--color-border);align-items:flex-end;width:min(22px,75%);min-width:0;height:120px;display:flex}.ui.routines-screen .review-chart-column>span{background:var(--color-accent);border-radius:4px 4px 0 0;width:100%}.ui.routines-screen .review-chart-column.is-inactive{background:var(--color-surface-muted);border-bottom-style:dashed}.ui.routines-screen .review-practice-row{margin-bottom:22px;position:relative}.ui.routines-screen .review-practice-row>p{margin:0 0 var(--space-2);font-size:var(--font-size-support)}.ui.routines-screen .review-days{width:100%;height:44px;padding:var(--space-1) 0;cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;display:flex}.ui.routines-screen .review-day{min-width:0;height:28px;box-shadow:inset 0 0 0 1px var(--color-border);background:var(--color-surface-muted);border-radius:2px;flex:1;position:relative;overflow:hidden}.ui.routines-screen .review-day-fill{background:var(--review-color);position:absolute;inset:0}.ui.routines-screen .review-day.is-unperformed{background:var(--color-surface-raised)}.ui.routines-screen .review-day.is-inactive{box-shadow:none;background:repeating-linear-gradient(135deg, var(--color-surface-raised), var(--color-surface-raised) 3px, var(--color-surface-muted) 3px, var(--color-surface-muted) 4px)}.ui.routines-screen .review-day:after{content:"";border-radius:inherit;box-shadow:inherit;pointer-events:none;position:absolute;inset:0}.ui.routines-screen .review-day.is-selected{outline-offset:1px;outline:2px solid var(--color-text-primary)}.ui.routines-screen .review-days:focus-visible{outline:2px solid var(--review-color);outline-offset:3px}.ui.routines-screen .review-criteria{padding:var(--space-6) 0 0;color:var(--color-text-secondary);line-height:1.7}.ui.routines-screen .review-criteria ul{margin:0;padding-inline-start:18px}.ui.routines-screen .review-criteria li+li{margin-top:10px}.ui.routines-screen .review-chart-month-marker svg{width:1em;height:1em}.ui.routines-screen .review-section>.ui-caption svg{vertical-align:middle;display:inline-block}.ui.routines-screen .review-request-state{min-height:28px;margin-top:-24px}.ui-review-percent{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.ui.routines-screen .review-criteria h2{font-size:18px}.ui.routines-screen :is(.ui-review-summary,.ui-review-practice){padding:var(--space-6);background:var(--color-surface-raised);border-top:0}@media (width<=359px){.ui.routines-screen .review-summary{gap:var(--space-2);grid-template-columns:minmax(0,1fr)}.ui.routines-screen .review-summary>div{text-align:left}.ui.routines-screen :is(.ui-review-summary,.ui-review-practice){padding-inline:var(--space-4)}}@media (forced-colors:active){.ui.routines-screen .review-day{border:1px solid canvastext}.ui.routines-screen .review-day-fill{forced-color-adjust:none}}.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;--celebration-ink:#3e3026;--celebration-glow:#fff6e0;--celebration-focus:#8b613c;place-items:center;display:grid;position:fixed;overflow:hidden}.routine-goal-placard{--goal-art-offset:0px;width:min(calc(var(--layout-page-width,640px) - 32px), calc(100vw - 32px));isolation:isolate;min-height:110px;animation:routine-goal-appear var(--duration-feedback) ease-out;place-items:center;display:grid;position:relative}.routine-goal-placard:before{content:"";z-index:-1;background:radial-gradient(ellipse, color-mix(in srgb, var(--celebration-glow) 65%, transparent), transparent 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;width:224px;max-width:100%;color:var(--celebration-ink);text-shadow:0 1px #ffffff59;gap:4px;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{min-width:44px;min-height:44px;color:var(--celebration-ink);isolation:isolate;pointer-events:auto;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:-16px;right:0}.routine-goal-close:before{content:"";z-index:-1;box-sizing:border-box;border:1px solid color-mix(in srgb, var(--celebration-ink) 15%, transparent);background:#fff;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:2px solid var(--celebration-focus);outline-offset:2px}@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[data-bottom-bar=hidden]{--service-bar-height:0px}.service-frame>.ui-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)}.ui-bottom-bar{z-index:20;width:min(100%, var(--layout-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-border);background:var(--color-canvas);background-image:var(--surface-texture);background-size:var(--surface-texture-size);display:flex;position:fixed;inset:auto auto 0 50%;transform:translate(-50%)}.ui-bottom-bar button{border-radius:var(--radius-control);min-width:0;min-height:56px;color:var(--color-text-secondary);font-size:var(--font-size-compact);overflow-wrap:anywhere;background:0 0;border:0;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}.ui-bottom-bar button svg{flex-shrink:0;width:24px;height:24px}.ui-bottom-bar button[aria-current=page]{color:var(--color-action);font-weight:600}.ui-bottom-bar button:disabled{opacity:.65;cursor:default}.service-introduction-content{isolation:isolate;padding:16px var(--page-inset) 48px;position:relative;overflow:hidden}.service-introduction-copy{z-index:1;position:relative}.service-introduction-hero{isolation:isolate;position:relative}.service-introduction-art{z-index:-1;inset:0 calc(-1 * var(--page-inset));width:calc(100% + 2 * var(--page-inset));object-fit:cover;object-position:right center;opacity:.65;pointer-events:none;max-width:none;height:100%;position:absolute;-webkit-mask-image:linear-gradient(90deg,#0000,#00000014 42%,#000),linear-gradient(#0000,#000 16% 76%,#0000);mask-image:linear-gradient(90deg,#0000,#00000014 42%,#000),linear-gradient(#0000,#000 16% 76%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.service-introduction-hero>:not(.service-introduction-art){position:relative}.service-introduction-hero:after{content:"";z-index:-1;background:linear-gradient(to right, var(--color-canvas) 8%, transparent);pointer-events:none;position:absolute;inset:0}.service-introduction h1{font:600 clamp(28px, 7vw, 36px)/1.6 var(--font-heading);letter-spacing:-.045em;word-break:keep-all;margin:0 0 20px}.service-introduction p{color:var(--color-text-on-surface);word-break:keep-all;overflow-wrap:anywhere;margin:0}.service-introduction-lead{color:var(--color-text-secondary);font-size:var(--font-size-body);margin-top:20px;line-height:1.9}.service-introduction-details{gap:0;margin:24px 0;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{color:var(--color-text-secondary);line-height:1.75;font-size:var(--font-size-caption);margin:0}.service-introduction .service-introduction-start{gap:24px;margin-top:24px}.service-session-content{padding:24px var(--page-inset)}.service-session-content p{color:var(--color-text-secondary)}.service-introduction-details>section{border-bottom:1px solid var(--color-border);padding:20px 0}.service-introduction-details h2{font:600 20px/1.5 var(--font-heading);margin:0 0 8px}[data-sort-handle]{touch-action:none;cursor:grab}[data-sort-handle]:disabled{cursor:default}[data-sort-id].is-dragging{opacity:.3}.ui-page .sortable-preview{z-index:1000;box-sizing:border-box;pointer-events:none;border:1px solid var(--color-border);background:var(--color-canvas);box-shadow:var(--shadow-floating);opacity:.96;border-radius:12px;align-items:center;gap:8px;margin:0;padding:12px;list-style:none;display:flex;position:fixed}.ui-page .sortable-preview>span:not(.group-dot){overflow-wrap:anywhere;flex:1}.sortable-marker{z-index:1001;background:var(--color-action);pointer-events:none;border-radius:3px;height:3px;position:fixed}.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-action) 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-border);border-radius:var(--radius-control);background:var(--color-canvas);min-height:44px;color:inherit;cursor:pointer;justify-content:center;align-items:center;padding:8px;display:flex}.icon-grid button[aria-pressed=true]{border-color:var(--color-action);background:var(--color-surface-muted);color:var(--color-action)}.icon-picker-actions{justify-content:flex-end;display:flex}.icon-picker .ui-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:var(--size-control);border-radius:var(--radius-control);color:inherit;background:0 0;border:0;padding:4px 8px}.date-picker-trigger:focus-visible{outline:2px solid var(--color-action);outline-offset:2px}.date-picker-dialog{border:1px solid var(--color-border);background:var(--color-surface-raised);width:min(420px,100% - 16px);max-width:none;max-height:calc(100dvh - 32px);color:var(--color-text-primary);font:inherit;border-color:var(--color-border);border-radius:var(--radius-dialog);margin:auto;padding:16px;overflow:auto}.date-picker-dialog::backdrop{background:var(--color-overlay)}.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-action);outline-offset:2px}.date-picker-dialog .rdp-root{--rdp-accent-color:var(--color-action);--rdp-accent-background-color:var(--color-surface-muted);--rdp-day-width:auto;--rdp-day-height:var(--size-control);--rdp-day_button-width:100%;--rdp-day_button-height:var(--size-control);--rdp-day_button-border-radius:12px;--rdp-nav_button-width:var(--size-touch-target);--rdp-nav_button-height:var(--size-touch-target);--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-action);background:var(--color-action);color:var(--color-on-action)}.date-picker-dialog .rdp-day_button:hover:not(:disabled),.date-picker-dialog .date-picker-close:hover{background:var(--color-surface-muted)}.date-picker-dialog .rdp-selected .rdp-day_button:hover{background:var(--color-action-hover)}.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-action);background:var(--color-surface-muted)}.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-text-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:var(--color-calendar-sunday)}.date-picker-dialog .rdp-weekday:last-child,.date-picker-dialog .date-picker-saturday .rdp-day_button{color:var(--color-calendar-saturday)}.date-picker-dialog :is(.date-picker-sunday,.date-picker-saturday).rdp-selected .rdp-day_button{background:var(--color-surface-muted)}.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-text-secondary);border-radius:var(--radius-control);background:var(--color-surface-raised);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-muted);border-radius:12px}.date-picker-manual{border-top:1px solid var(--color-border);border-color:var(--color-border);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}}.date-picker-heading h2{font:600 var(--font-size-heading-section)/1.5 var(--font-heading)}.cycle-content .icon-preview strong{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ui.cycles-main{--cycle-prediction-color:var(--color-action)}.ui.cycles-main .cycle-is-overdue{--cycle-prediction-color:var(--color-accent-text)}.cycle-content :is(.cycle-open,.cycle-favorite,.cycle-snooze,.cycle-sort-action,.cycle-orbit-node,.cycle-duration-trigger){cursor:pointer}.cycle-content :is(.cycle-open,.cycle-favorite,.cycle-snooze,.cycle-sort-action){border-radius:var(--radius-control)}.cycle-content :is(.cycle-open,.cycle-favorite,.cycle-snooze,.cycle-sort-action,.cycle-orbit-node,.cycle-duration-trigger):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 .icon-picker{margin-top:24px}.cycle-form .ui-option-group{margin:16px 0 8px}.ui.cycles-main .cycle-form .ui-section{margin-block:24px}.ui.cycles-main .cycle-form .ui-field .ui-label{margin:0}.ui.cycles-main .cycle-form .ui-option-group label{align-items:center;gap:12px;min-height:48px;margin:0;display:flex}.ui.cycles-main .cycle-form input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-action);flex-shrink:0}.ui.cycles-main .cycle-form .ui-option-group+.cycle-record-fields{margin-top:24px}.cycle-dashboard{overflow-anchor:none}.ui.cycles-main .cycle-ui-index{margin-top:16px}.ui.cycles-main .cycle-ui-index>.ui-section-heading{margin-bottom:16px}.ui.cycles-main .cycle-list{margin:0;padding:0;list-style:none}.ui.cycles-main .cycle-list>li{border-bottom:1px solid var(--color-border);padding:24px 0;display:block}.cycle-view-orbit>li+li{margin-top:8px}.cycles-main .cycle-item-heading{align-items:flex-start;gap:16px;display:flex}.ui.cycles-main .cycle-open{width:100%;min-width:0;min-height:48px;color:var(--color-text-primary);text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:0;display:flex}.cycle-open svg{flex-shrink:0}.ui.cycles-main .cycle-open strong{overflow-wrap:anywhere;font:600 19px/1.6 var(--font-heading);letter-spacing:-.02em}.ui.cycles-main .cycle-identity-icon{width:48px;height:48px;color:var(--color-accent-text);background:color-mix(in srgb, var(--color-decoration-start) 35%, transparent);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.ui.cycles-main .cycle-identity-icon svg{stroke-width:1.6px;width:26px;height:26px}.cycle-item-actions{flex-direction:column;flex-shrink:0;align-items:center;gap:0;width:44px;display:flex}.cycle-content :is(.cycle-favorite,.cycle-snooze){width:44px;height:44px;min-height:44px;color:var(--color-text-secondary);background:0 0;border:0;flex-shrink:0;place-items:center;padding:8px;display:grid}.cycles-main .cycle-favorite[aria-pressed=true]{color:var(--color-accent-text)}.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-text-secondary);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y pinch-zoom;place-items:center;display:grid}.ui.cycles-main .cycle-list-info{color:var(--color-text-secondary);font-size:var(--font-size-caption);grid-template-columns:minmax(0,1fr);gap:8px;margin:12px 0 0 60px;padding-right:44px;line-height:1.75;display:grid}.cycle-list-info>span:last-child{overflow-wrap:anywhere}.cycle-list-info small{color:var(--cycle-prediction-color);font-size:inherit;white-space:nowrap;margin-left:8px;font-weight:600;display:inline}.cycle-expected-date{white-space:nowrap}.ui.cycles-main .cycle-orbit-page{background:var(--surface-texture);border-bottom:1px solid var(--color-border);margin-top:12px;padding:16px}.cycle-orbit-caption{color:var(--cycle-prediction-color);font-size:var(--font-size-caption);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;margin:0;display:flex}.cycle-orbit-caption time{font:600 20px/1.5 var(--font-heading)}.cycle-orbit-date-label{color:var(--color-text-secondary);font:400 var(--font-size-caption)/1.5 var(--font-body)}.cycle-orbit-item.cycle-is-overdue .cycle-open strong,.cycle-orbit-item.cycle-is-overdue .cycle-stat-emphasis dd{font-weight:700}.cycle-orbit-item.cycle-is-overdue .cycle-orbit-caption{font-weight:600}.ui.cycles-main .cycle-orbit{width:100%;color:var(--color-text-secondary);margin:16px 0 8px;position:relative}.cycle-orbit>svg{width:100%;display:block;overflow:visible}.cycle-orbit text{font-family:inherit;font-size:12px}.cycle-orbit [data-kind=prediction] text{font-size:var(--font-size-meta);font-weight:700}.cycle-orbit-curve{stroke:color-mix(in srgb, var(--color-accent) 55%, var(--color-border));stroke-width:1.5px;stroke-dasharray:3 5}.cycle-orbit-point{stroke:var(--color-canvas);stroke-width:1.5px}.cycle-orbit-halo{fill:color-mix(in srgb, var(--color-decoration-start) 60%, transparent)}.ui.cycles-main .cycle-orbit-page .cycle-orbit{background:radial-gradient(ellipse at 70% 65%, color-mix(in srgb, var(--color-decoration-start) 45%, transparent), transparent 70%);margin:12px 0}.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%)}.ui.cycles-main .cycle-stats{border-top:1px solid var(--color-border);text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0 0;padding:16px 0 0;display:grid}.cycle-stats>div{min-width:0;padding:0 12px}.cycle-stats>div+div{border-left:1px solid var(--color-border)}.cycle-stats>div:first-child{padding-left:0}.cycle-stats>div:last-child{padding-right:0}.cycle-stats dt{color:var(--color-text-secondary);font-size:var(--font-size-caption);margin-bottom:6px;line-height:1.5}.cycle-stats dd{color:var(--color-text-primary);font-size:var(--font-size-body);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0;font-weight:500;line-height:1.5}.ui.cycles-main .cycle-stat-emphasis dd{color:var(--cycle-prediction-color)}.ui.cycles-main .cycle-orbit-page .cycle-stats{margin-top:0;padding-top:12px}.cycle-orbit-page .cycle-stats dd{font-family:var(--font-heading)}.cycles-main .cycle-detail .cycle-stats{grid-template-columns:minmax(0,1fr) minmax(0,.7fr) minmax(max-content,1.6fr)}.cycles-main .cycle-detail .cycle-stats>div{padding-inline:4px}.cycle-detail .cycle-stats>div:last-child dd{white-space:nowrap}.cycle-unavailable,.cycle-cover-copy{color:var(--color-text-secondary);font-size:var(--font-size-caption);margin:12px 0 0;line-height:1.75}.cycle-list-toolbar,.cycle-list-tools{align-items:center;gap:8px;display:flex}.cycle-list-toolbar{flex-wrap:wrap;justify-content:space-between;margin:16px 0}.cycle-list-tools{margin-left:auto}.cycle-content .cycle-sort-action{min-height:44px;color:var(--color-text-primary);font-size:var(--font-size-support);background:0 0;border:0;align-items:center;gap:8px;padding:8px 0;display:inline-flex}.cycle-ui-cover{padding:8px 0 24px}.cycle-detail-title{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:0;display:grid}.ui.cycles-main .cycle-detail-identity{grid-area:1/1;margin:0}.cycle-detail-title>.cycle-favorite{grid-area:1/2;justify-self:end}.ui.cycles-main .cycle-detail-identity h2{font:600 24px/1.6 var(--font-heading);letter-spacing:-.025em}.cycle-detail .ui-screen-title{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.cycle-archive-label{color:var(--color-text-secondary);font-size:var(--font-size-meta);font-weight:400;line-height:1.5}.ui.cycles-main .cycle-ui-forecast{margin-top:0}.cycle-prediction{text-align:left;margin:0;padding:16px 0}.cycle-prediction>small{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.cycle-prediction strong{font:600 clamp(1.75rem, 6vw, 2rem)/1.5 var(--font-heading);color:var(--cycle-prediction-color);margin-top:8px;display:block}.cycle-prediction p{color:var(--cycle-prediction-color);font-size:var(--font-size-body);margin:8px 0 0;font-weight:500}.ui.cycles-main .cycle-hint{font-size:var(--font-size-caption);margin-top:20px;line-height:1.75}.cycle-date-ledger{border-top:1px solid var(--color-border);font-size:var(--font-size-caption);gap:12px;margin:20px 0 0;padding-top:16px;display:grid}.cycle-date-ledger>div{grid-template-columns:80px minmax(0,1fr);gap:12px;display:grid}.cycle-date-ledger dt{color:var(--color-text-secondary)}.cycle-date-ledger dd{overflow-wrap:anywhere;margin:0}.cycle-history{margin:0;padding:0;list-style:none}.cycle-history>li{border-bottom:1px solid var(--color-border);padding:24px 48px 24px 0;position:relative}.cycle-record-number{color:var(--color-accent-text);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;margin:0 0 8px;display:block}.cycle-history>li>time{font:600 19px/1.6 var(--font-heading);display:block}.cycle-history>li>p{color:var(--color-text-primary);font-size:var(--font-size-body);margin:12px 0 0;line-height:1.85}.cycle-history p,.cycle-recovery li p{white-space:pre-wrap;overflow-wrap:anywhere}.cycle-record-dates{margin-top:12px}:is(.cycle-record-dates,.cycle-ui-meta) summary{width:fit-content;min-height:44px;color:var(--color-text-secondary);font-size:var(--font-size-caption);cursor:pointer;padding:10px 0;display:list-item}.cycle-record-dates .cycle-date-ledger{border:0;margin-top:0;padding-top:8px}.cycle-ui-meta{margin-top:32px}.ui.cycles-main .cycle-record-context .ui-identity{margin:0}.cycle-history>li>.cycle-record-edit{position:absolute;top:16px;right:0}.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}.ui.cycles-main .cycle-management-actions{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.cycle-management-actions>.ui-section-heading{flex-basis:100%}.cycle-recovery{border-left:2px solid var(--color-accent);background:var(--color-surface-raised);font-size:var(--font-size-caption);overflow-wrap:anywhere;margin-block:24px;padding:20px;line-height:1.8}.cycle-recovery ul{max-height:320px;padding-left:20px;overflow-y:auto}.cycle-recovery small{display:block}.cycle-preference-error,.cycle-mutation-notice{border-left:2px solid var(--color-accent);background:var(--color-surface-raised);border-radius:0;margin:12px 0;padding:16px}.cycle-mutation-notice p{margin:0}.cycle-mutation-notice button{margin-top:8px}.ui-page .sortable-preview:has(.cycle-item-heading){display:block}.cycles-main .cycle-archive-list .cycle-list-info{padding-right:0}.cycle-archive-date{color:var(--color-text-secondary);font-size:var(--font-size-meta);overflow-wrap:anywhere}.cycle-content .cycle-error{margin:16px 0}.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;font-size:var(--font-size-compact);white-space:nowrap;background:var(--color-tooltip-background);color:var(--color-on-tooltip);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-ui-sort fieldset{border:0;margin:16px 0 32px;padding:0}.cycle-ui-sort .ui-field-hint{margin-top:16px}.cycle-snooze-choices{gap:12px;margin-top:24px;display:grid}@media (width<=359px){.ui.cycles-main .cycle-list-info{margin-left:0}.ui.cycles-main .cycle-stats>div{padding-inline:8px}.ui.cycles-main .cycle-stats dd{font-size:var(--font-size-caption)}}@media (forced-colors:active){.cycle-orbit-curve{stroke:canvastext}.cycle-orbit-point{fill:canvastext}.cycle-is-overdue .cycle-orbit-caption{text-decoration:underline}}.history-screen .ui-content-heading a{flex-shrink:0;align-items:center;min-height:44px;text-decoration:none;display:inline-flex}.ui.routines-screen .history-summary{margin:0 0 28px}.ui.routines-screen .history-summary p{align-items:center;gap:var(--space-2) var(--space-4);margin:var(--space-2) 0 0;font-size:var(--font-size-caption);flex-wrap:wrap;display:flex}.ui.routines-screen .history-summary p span{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;min-width:0;display:inline-flex}.ui.routines-screen .history-summary .history-memo{white-space:pre-wrap;overflow-wrap:anywhere;padding:var(--space-4) 18px;background:var(--color-surface-raised);border-inline-start:2px solid var(--color-border);margin-top:20px;line-height:1.9;display:block}.ui.routines-screen .history-navigation{align-items:center;gap:var(--space-2);margin:0 0 var(--space-6);grid-template-columns:44px minmax(0,1fr) 44px;display:grid}.ui.routines-screen .history-navigation p{text-align:center;word-break:keep-all;overflow-wrap:anywhere;font:600 18px/1.6 var(--font-heading);margin:0}.ui.routines-screen .history-period-label,.ui.routines-screen .history-period-year{display:block}.ui.routines-screen .history-period-year{font:400 12px/1.5 var(--font-body);color:var(--color-text-secondary);margin-top:2px}.ui.routines-screen .history-navigation button{border:1px solid var(--color-border);color:var(--color-action);background:0 0;border-radius:50%;font-size:1.75rem}.ui.routines-screen .history-grid{grid-template-columns:repeat(var(--history-columns), minmax(0, 1fr));gap:var(--space-2);width:100%;display:grid}.ui.routines-screen .history-weekday{text-align:center;font-size:var(--font-size-compact);color:var(--color-text-secondary);line-height:1.5;display:block}.ui.routines-screen .history-day{min-width:0}.ui.routines-screen .history-date{color:inherit;font-size:var(--font-size-meta);text-align:center;font-weight:600;line-height:1.5;display:block;position:relative}.ui.routines-screen .history-cell{aspect-ratio:1;background:var(--color-surface-muted);width:100%;box-shadow:inset 0 0 0 1px var(--color-border);place-items:center;display:grid;position:relative}.ui.routines-screen .history-grid-week .history-cell,.ui.routines-screen .history-grid-month .history-cell{border-radius:50% 50% 40% 45%;overflow:hidden}.ui.routines-screen .history-cell.is-inactive{box-shadow:none;background:repeating-linear-gradient(135deg, var(--color-surface-raised), var(--color-surface-raised) 3px, var(--color-surface-muted) 3px, var(--color-surface-muted) 4px)}.ui.routines-screen .history-cell:after{content:"";border-radius:inherit;box-shadow:inherit;pointer-events:none;position:absolute;inset:0}.ui.routines-screen .history-fill{background:var(--history-color);position:absolute;inset:0}.ui.routines-screen .history-grid-year{grid-template-columns:max-content repeat(var(--history-columns), minmax(0, 1fr));align-items:center;gap:5px 2px}.ui.routines-screen .history-year-month{color:var(--color-text-secondary);font-size:var(--font-size-compact);padding-inline-end:6px;line-height:1.5}.ui.routines-screen .history-grid-year .history-cell,.ui.routines-screen .history-grid-year .history-blank{aspect-ratio:auto;height:23px}.ui.routines-screen .history-grid-year .history-cell{border-radius:2px;height:23px;overflow:hidden}.ui.routines-screen .history-blank{aspect-ratio:1;width:100%;display:block}.ui.routines-screen .history-grid-week,.ui.routines-screen .history-grid-month{gap:var(--space-2);width:100%;margin-inline:auto}.ui.routines-screen .history-day-link{text-decoration:none;display:block}.ui.routines-screen .history-day-link:focus-visible{outline:2px solid var(--color-action);outline-offset:2px}.ui.routines-screen .history-summary .ui-identity{gap:var(--space-4);margin:0}.ui.routines-screen .history-summary .ui-identity-name{font-family:var(--font-heading);font-size:clamp(22px,5vw,28px);line-height:1.6}.ui.routines-screen .ui-history-calendar{margin-top:var(--space-6)}.ui.routines-screen .history-period-label{font:inherit}.ui.routines-screen .history-request-state{min-height:28px}.ui.routines-screen .ui-history-total{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-caption);flex-wrap:wrap;display:flex}.ui-history-total strong{font:600 32px/1.2 var(--font-heading);color:var(--color-accent-text)}.ui-history-total small{font:400 14px/1.5 var(--font-body);margin-inline-start:6px}.ui-history-legend .is-inactive{background:repeating-linear-gradient(135deg, var(--color-surface-raised), var(--color-surface-raised) 3px, var(--color-surface-muted) 3px, var(--color-surface-muted) 4px)}.ui.routines-screen .history-cell.is-today{outline:2px solid var(--color-action);outline-offset:2px}.ui-history-day-count{margin-top:var(--space-1);color:var(--color-text-secondary);text-align:center;font-variant-numeric:tabular-nums;font-size:10px;line-height:1.4;display:block}.ui-history-legend{gap:var(--space-2) 20px;margin-top:var(--space-6);color:var(--color-text-secondary);flex-wrap:wrap;font-size:12px;display:flex}.ui-history-legend>span{align-items:center;gap:6px;display:inline-flex}@media (width<=359px){.ui.routines-screen .history-grid-week,.ui.routines-screen .history-grid-month{gap:5px}.ui.routines-screen .history-date{font-size:11px}.ui-history-day-count{font-size:8px}}@media (forced-colors:active){.ui.routines-screen .history-cell.is-today{outline:2px solid highlight}.ui.routines-screen .history-cell{border:1px solid canvastext}.ui.routines-screen .history-fill{forced-color-adjust:none}}.books-spine-image{width:100%;display:block;position:relative}.books-spine-image img{transform-origin:50%;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-90deg)}.books-spine-image-placeholder{text-align:center;width:100%;min-height:32px;color:var(--color-text-secondary);font-size:var(--font-size-meta);background:#e7dfd2;place-items:center;display:grid}.books-page .books-main-content{isolation:isolate;container-type:inline-size}.books-page .books-sort-action{cursor:pointer;min-height:40px;font-size:var(--font-size-meta);color:var(--color-text-secondary);background:0 0;border:0;align-items:center;gap:8px;margin-top:6px;padding:8px 0;display:flex}.books-page .books-sort-action svg{width:16px;height:16px}.books-page .books-sort-action:focus-visible{outline:2px solid var(--color-action);outline-offset:2px}.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-action)}.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-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{isolation:isolate;margin-bottom:48px;padding-top:20px;padding-right:34px;position:relative}.books-page .books-stack:has(>li):after{content:"";z-index:-1;inset-inline:-12px;pointer-events:none;background:url(/assets/paper-stack-ground-CU3T9iD_.png) bottom/100% no-repeat;height:120px;position:absolute;bottom:-32px;-webkit-mask-image:linear-gradient(#0000,#000 35% 75%,#0000);mask-image:linear-gradient(#0000,#000 35% 75%,#0000)}.books-page .books-stack>li{margin:0;position:relative}.books-page .books-spine{isolation:isolate;color:#161327;background:var(--spine-background,#e7dfd2);border-radius:0 0 4px 4px;align-items:stretch;display:flex;position:relative;box-shadow:inset 0 1px #ffffff4d,inset 0 -2px 3px #281d142e,inset 3px 0 5px #281d141f,0 2px 2px #281d1447,0 5px 6px -4px #281d143d}.books-page .books-spine:not([data-real]){container-type:size}.books-page .books-spine[data-default]{background:#e7dfd2 url(/assets/linen-spine-CuUhfHdg.webp) 50%/100% 300% no-repeat}.books-page .books-spine:after{content:"";inset-inline:0;transform-origin:0 100%;background:inherit;pointer-events:none;z-index:-1;height:13px;position:absolute;top:-12px;transform:skew(-50.906deg);box-shadow:inset 0 0 0 100px #ffffff1f}.books-page .books-spine>*{z-index:1;position:relative}.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-stack[data-real] .books-spine:after{content:none}.books-page .books-stack[data-real] .books-page-edge{width:12px;transform:none}.books-page .books-spine-title{min-width:0;min-height:0;color:var(--spine-text-color,#000);text-align:left;text-shadow:0 .5px 1px color-mix(in srgb, var(--spine-text-outline) 75%, transparent), .5px 0 .5px var(--spine-text-outline), -.5px 0 .5px var(--spine-text-outline);background:0 0;border:0;border-radius:6px;flex-wrap:nowrap;flex:1;align-content:center;align-items:center;gap:4px 12px;padding:0 48px 0 31px;display:flex;position:absolute;inset:0;overflow:hidden}.books-page .books-spine-title strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;line-height:1.1;font-family:var(--font-heading);flex:none;font-size:min(18px,70cqh);font-weight:600;overflow:hidden}.books-page .books-spine-title>span{white-space:nowrap;max-width:100%;font-size:min(var(--font-size-meta), 60cqh);flex:none;line-height:1.1}.books-page .books-spine-title .books-author-measure{visibility:hidden;white-space:nowrap;pointer-events:none;position:absolute}.books-page .books-expand{color:var(--spine-text-color,#000);background:0 0;border:0;align-self:stretch;place-items:center;width:32px;min-width:0;min-height:0;margin:0;padding:0;display:grid;position:absolute;inset:0 4px 0 auto;overflow:hidden}.books-page .books-expand-icon{width:20px;height:20px;max-height:100%;display:block;position:relative}.books-page .books-expand svg{stroke-width:2.5px;width:100%;height:100%;position:absolute;inset:0}.books-page .books-expand .books-expand-outline{stroke:var(--spine-text-outline,#fff);opacity:.7;stroke-width:3.5px}.books-page .books-real-spine-open{min-width:0;min-height:inherit;border-radius:inherit;background:0 0;border:0;flex:1;align-items:center;padding:0;display:flex}.books-page .books-spine:not([data-real]) .books-expand{inset:0 0 0 auto}.books-page .books-spine:not([data-real]) .books-expand-icon{width:min(20px,70cqh);height:min(20px,70cqh)}.books-page .books-expanded{background:var(--color-surface-raised);border-radius:4px;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-text-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-border);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-border)}.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-dialog-options{flex-wrap:wrap;gap:8px;display:flex}.books-page .books-dialog-options button{border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:44px;color:inherit;overflow-wrap:anywhere;background:0 0;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-action);color:var(--color-action);font-weight:600}.books-page .books-dialog-options button svg{flex-shrink:0}.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-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 .ui-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(to right, transparent, var(--color-canvas) 24px);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 12px);mask-image:linear-gradient(#0000,#000 12px)}.books-page .books-query-summary-panel{border:0;border-block:1px solid var(--color-border);background:0 0;border-radius:0;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-text-on-surface);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-text-on-surface);font-size:var(--font-size-meta)}.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-list-view .books-card-copy>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.books-page .books-retry-notice{margin:16px 0}.books-page .books-pagination{text-align:center;flex-direction:column;align-items:center;gap:8px;margin:48px 0 24px;padding-block:16px;display:flex}.books-page .books-pagination-count{color:var(--color-text-secondary);font:400 var(--font-size-meta)/1.7 var(--font-body);margin:0}.books-page .books-page-turn{width:100%;max-width:100%;min-height:44px;color:var(--color-action);font:600 18px/1.5 var(--font-heading);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:12px;margin:0;padding:8px;display:inline-flex}.books-page .books-page-turn:before,.books-page .books-pagination-tail{content:"";background:var(--color-border);flex:40px;min-width:0;max-width:40px;height:1px}.books-page .books-pagination-tail{position:relative}.books-page .books-pagination-tail:before{content:"";z-index:1;background:var(--color-border);position:absolute;inset:0}.books-page .books-pagination-ribbon{background:var(--color-accent);clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 3px),0 100%);transform-origin:top;width:12px;height:28px;transition:transform var(--duration-feedback);position:absolute;top:0;left:50%;transform:translate(-50%)}.books-page .books-page-turn:is(:hover,:focus-visible):not(:disabled) .books-pagination-ribbon{transform:translate(-50%)scaleY(1.14)}.books-page .books-page-turn:active:not(:disabled) .books-pagination-ribbon{transform:translate(-50%)scaleY(1.22)}.books-page .books-page-turn:hover:not(:disabled){color:var(--color-action-hover);text-underline-offset:6px;text-decoration:underline}.books-page .books-page-turn:disabled{opacity:.55}@media (prefers-reduced-motion:reduce){.books-page .books-pagination-ribbon{transition:none}}.books-page .books-spine:not([data-real]):before{content:"";border-radius:inherit;mix-blend-mode:soft-light;opacity:.65;pointer-events:none;background:linear-gradient(#fff8,#0000 30%,#0004),url(/assets/linen-spine-CuUhfHdg.webp) 50%/100% 300%;position:absolute;inset:0}.books-page .books-real-spine-open:before{content:"";z-index:1;border-radius:inherit;pointer-events:none;background:linear-gradient(#fff3,#0000 30%,#281d142e),linear-gradient(90deg,#281d141f,#0000 12% 85%,#ffffff14);position:absolute;inset:0;box-shadow:inset 0 1px #ffffff4d,inset 0 -2px 3px #281d142e}.books-page .books-real-spine-open .books-spine-image{border-radius:inherit;overflow:hidden}.books-page.ui-home .ui-status-tabs button{padding:10px 4px}.books-page.ui-home .ui-library-tools{gap:6px;margin-block:16px;display:flex}.books-page.ui-home .ui-live-search{text-align:left}.books-page.ui-home .ui-live-search span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.books-page.ui-home .ui-view-picker{width:100%}.books-page.ui-home .ui-feedback--empty{margin-block:40px 24px}.books-page.ui-home .ui-live-journey{border-top:1px solid var(--color-border);margin-top:32px;padding-top:16px}@media (width<=359px){.books-page.ui-home .ui-tool{gap:3px;padding-inline:6px}}.reading-journey-entry{flex:none;min-block-size:76px;inline-size:100%;min-inline-size:0;position:relative}.books-page .reading-journey-entry-button{min-block-size:76px;inline-size:100%;color:var(--color-text-primary);cursor:pointer;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px;display:flex}.books-page .reading-journey-entry-button:focus-visible{outline:2px solid var(--color-action);outline-offset:3px}.reading-journey-entry-button>svg{width:22px;height:22px}.reading-journey-entry-label{font:600 19px/1.5 var(--font-heading)}.reading-journey-entry-summary:not([hidden]){text-align:center;min-inline-size:0;font:inherit;font-size:var(--font-size-caption);color:var(--color-text-secondary);word-break:keep-all;overflow-wrap:anywhere;display:grid}.books-page .ui-title-row>.ui-home-title{flex-basis:auto}.reading-journey-entry-help{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;padding:0;position:absolute;overflow:hidden}.reading-journey-page{gap:16px;display:grid}.reading-journey-info{margin-inline-start:auto;position:relative}.reading-journey-info .ui-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;border-block:1px solid var(--color-border);text-align:center;background:0 0;inline-size:100%;margin:0;padding:16px 0}.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-border)}.reading-journey-totals th{color:var(--color-text-on-surface);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;font:600 1.125rem/1.6 var(--font-heading);padding-top:8px}.reading-journey-unknown{color:var(--color-text-secondary);font-size:var(--font-size-meta);margin:8px 0 0}.reading-journey-card{aspect-ratio:4/3;border-radius:0;margin:0;position:relative;overflow:hidden}.reading-journey-backdrop{pointer-events:none;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;-webkit-mask-image:linear-gradient(#0000,#000 18% 82%,#0000);mask-image:linear-gradient(#0000,#000 18% 82%,#0000)}.reading-journey-backdrop,.reading-journey-backdrop>img,.reading-journey-card>svg{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:0;display:flex}.reading-journey-endpoints>div{max-inline-size:100%}.reading-journey-section{border-top:1px solid var(--color-border);background:0 0;min-width:0;padding:20px 0}.reading-journey-route-group{border:0;margin-inline:-24px;padding:0;overflow:hidden}.reading-journey-endpoint-label{color:var(--color-text-on-surface);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-text-secondary);margin:4px 0 0}.reading-journey-page .reading-journey-section h2{border-bottom:1px solid var(--color-border);color:var(--color-text-primary);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-text-on-surface);font-size:var(--font-size-support);overflow-wrap:anywhere;margin:0;line-height:1.65}.reading-journey-reference{color:var(--color-text-secondary);font-size:var(--font-size-meta);line-height:1.65}.reading-journey-page .reading-journey-reference h2{font-size:var(--font-size-meta)}.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-card>svg{object-fit:contain}.books-screen:has(.reading-journey-page) .ui-content-heading{margin-bottom:12px}.reading-journey-intro h2{font:600 clamp(1.5rem, 5vw, 1.875rem)/1.5 var(--font-heading);word-break:keep-all;overflow-wrap:anywhere;margin:0}.books-screen .reading-journey-backdrop,.books-screen .reading-journey-backdrop>img{object-fit:cover}.books-screen .reading-journey-progress{padding:0 24px}.reading-journey-remaining{color:var(--color-text-secondary);font-size:var(--font-size-caption);overflow-wrap:anywhere;margin:8px 0 0}.reading-journey-progress>div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.reading-journey-progress strong{font:600 1.5rem/1.5 var(--font-heading);font-variant-numeric:tabular-nums}.reading-journey-progress progress{background:var(--color-surface-muted);width:100%;height:12px;accent-color:var(--color-accent);border:0;border-radius:6px;margin-top:8px;display:block;overflow:hidden}.reading-journey-progress progress::-webkit-progress-bar{background:var(--color-surface-muted)}.reading-journey-progress progress::-webkit-progress-value{background:var(--color-accent);border-radius:6px}.reading-journey-progress progress::-moz-progress-bar{background:var(--color-accent);border-radius:6px}.books-screen .reading-journey-story{border-top:0}.books-screen .reading-journey-story p{font-size:var(--font-size-body);line-height:1.85}.books-screen .reading-journey-reference{border-top:0;padding-top:0}@container (width<=24rem){.books-screen .reading-journey-totals :is(th,td){padding-inline:8px}.books-screen .reading-journey-totals td{font-size:1rem}}.books-screen .books-content{min-width:0;padding-bottom:32px;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:0 0;border-radius:0;padding:0}.books-screen .books-date-controls{align-items:center;gap:8px;display:flex}.books-screen .books-search-controls{align-items:end;gap:12px;display:flex}.books-screen .books-search-controls input{flex:1;width:100%}.books-screen .books-hint{word-break:keep-all;overflow-wrap:break-word;margin:8px 0 0}.books-screen .books-error{margin:16px 0}.books-screen .books-results{gap:0;margin:0;padding:0;list-style:none;display:grid}.books-screen .books-result{text-align:left;width:100%;min-height:96px;color:inherit;cursor:pointer;background:0 0;border:0;align-items:start;gap:24px;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:600 1.125rem/1.65 var(--font-heading)}.books-screen .books-result-copy>span{font-size:var(--font-size-support)}.books-screen .books-result-copy small{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.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-muted)}.books-screen .book-cover-placeholder{background:var(--color-surface-raised)}.book-cover-placeholder svg{width:28px;height:28px;color:var(--color-text-secondary)}.books-screen .books-book-title{margin-bottom:24px}.books-screen .books-detail-summary{align-items:flex-start;gap:16px;display:flex}.books-screen .books-detail-spine{gap:8px;margin-top:16px;display:grid}.books-screen .books-detail-spine-heading{justify-content:space-between;align-items:center;gap:8px;min-height:44px;display:flex}.books-screen .books-detail-spine-heading>span{color:var(--color-text-secondary);font-size:var(--font-size-support)}.books-screen .books-detail-spine-content{width:100%;min-width:0}.books-screen .books-form-section{border:0;min-width:0;margin:16px 0 0;padding:0}.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-text-on-surface);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{letter-spacing:2px;color:var(--color-accent-text)}.books-screen .books-detail-footer{color:var(--color-text-secondary);line-height:1.5;font-size:var(--font-size-caption);border-top:0;margin:0;padding-top:0}.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-text-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-action);outline-offset:2px;border-radius:var(--radius-control)}.books-screen .books-stars span{color:var(--color-canvas);-webkit-text-stroke:1px var(--color-text-secondary);font-size:1.75rem;line-height:1}.books-screen .books-stars .selected span{color:var(--color-accent-text);-webkit-text-stroke:1px var(--color-accent-text)}.books-screen .books-submit{width:100%;margin-top:0}.books-screen .books-form-actions{flex-wrap:wrap;gap:12px;margin-top:0;padding-top:8px;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-raised);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}@container (width<=18rem){.books-screen :where(.books-detail-summary,.books-search-controls,.books-date-controls){flex-wrap:wrap}.books-screen .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:16px 0 0;padding:0;list-style:none}.books-screen .books-category-list>li{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;min-height:72px;padding:16px 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}.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) .ui-input{flex:1;width:0;min-width:0}.books-screen :is(.books-category-add,.books-category-rename) .ui-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}.ui-page .books-tag{background:var(--color-border);max-width:100%;color:var(--color-text-primary);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}.ui-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}.ui-page .books-tag-action:disabled{cursor:default;opacity:.5}.ui-page .books-tag-action[aria-pressed=true]>.books-tag,.ui-page .books-tag[data-selected=true]{background:var(--color-text-secondary);color:var(--color-surface-muted);font-weight:600}.books-screen .books-label-heading{color:var(--color-text-secondary);font-size:var(--font-size-meta);margin:12px 0 0;font-weight:600}.ui-page .books-tag svg{flex-shrink:0}.books-screen .books-category-list .books-order-handle{color:var(--color-text-on-surface)}.books-screen .books-retry-notice{margin:16px 0}.books-screen :is(.books-registration,.books-detail){gap:32px;display:grid}.books-screen .books-bibliography{border-bottom:1px solid var(--color-border);min-width:0;padding:0 0 24px}.books-ui-eyebrow{color:var(--color-accent-text);font-size:var(--font-size-caption);letter-spacing:.08em;margin:0 0 8px;display:block}.books-screen .books-bibliography .books-book-title{color:var(--color-text-primary);font:600 clamp(1.5rem, 5vw, 1.875rem)/1.5 var(--font-heading);overflow-wrap:anywhere;margin:0 0 24px}.books-bibliography-body{grid-template-columns:minmax(100px,40%) minmax(0,1fr);align-items:start;gap:24px;display:grid}.books-bibliography-cover{min-width:0;padding:8px 8px 16px 0}.books-screen .books-bibliography-cover :is(.book-cover,.book-cover-placeholder){object-fit:contain;filter:drop-shadow(5px 8px 5px #46341e26);border-radius:2px 5px 5px 2px;width:100%;height:auto;max-height:320px}.books-screen .books-bibliography-cover .book-cover-placeholder{aspect-ratio:7/10;background:var(--color-surface-muted)}.books-bibliography-facts{gap:16px;min-width:0;margin:8px 0 0;display:grid}.books-bibliography-facts dt{color:var(--color-text-secondary);font-size:var(--font-size-caption)}.books-bibliography-facts dd{overflow-wrap:anywhere;margin:4px 0 0}.books-screen .books-bibliography .books-source{font-size:var(--font-size-caption);color:var(--color-text-secondary);margin:16px 0 0;line-height:1.5}.books-bibliography .books-source a{color:var(--color-action);text-underline-offset:4px;align-items:center;gap:4px;display:inline-flex}.books-screen .books-personal-record{margin-top:0;position:relative}.books-screen .books-personal-record .books-form-section{background:0 0;border-radius:0;margin:24px 0 0;padding:0}.books-screen .books-personal-record .ui-section-title{font:600 var(--font-size-body)/1.6 var(--font-body);margin:0 0 16px}.books-screen .books-personal-record .books-detail-record>div{border-bottom:1px solid color-mix(in srgb, var(--color-border) 55%, transparent);margin-bottom:12px;padding-bottom:12px}.books-screen .books-personal-record .books-detail-memo{border:0;margin-top:24px}.books-screen .books-personal-record .books-detail-memo dd{color:var(--color-text-primary);line-height:1.9}.books-screen .books-current-status{background:var(--color-action);border-radius:var(--radius-control);color:var(--color-on-action);margin:0;padding:8px 16px;display:inline-block}.books-screen .books-record-editor .books-form-section:first-of-type{margin-top:0}.books-screen :is(.books-record-editor,.books-organization-editor) .books-form-section{margin-top:24px}.books-screen .books-record-editor .books-rating{border-top:1px solid var(--color-border);padding-top:24px}.books-screen .books-memo-editor .books-form-section{margin-top:0}.books-screen .books-memo-editor textarea{background-color:var(--color-surface-raised);resize:vertical;min-height:180px;line-height:1.9}.books-screen .books-search-controls>:first-child{flex:1;min-width:0;margin-bottom:0}.books-results-heading{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-top:32px;padding-bottom:12px;display:flex}.books-results-heading h2{font:600 1.25rem/1.6 var(--font-heading);margin:0}.books-results-heading p{color:var(--color-text-secondary);font-size:var(--font-size-caption);overflow-wrap:anywhere;margin:0}.books-screen .books-results>li{border-bottom:1px solid var(--color-border);padding:24px 0}.books-screen .books-result :is(.book-cover,.book-cover-placeholder){filter:drop-shadow(3px 5px 3px #46341e1f);border-radius:2px;flex-basis:80px;width:80px;height:120px}.books-screen .books-result-copy .books-result-action{color:var(--color-action);font-size:var(--font-size-caption);margin-top:8px;font-weight:500}.books-screen .books-result-action>span{margin-left:8px}.books-screen .books-manager-create{margin-bottom:32px}.books-screen .books-manager-create .books-category-editor{margin-top:24px}.books-screen .books-manager-label{align-items:center;gap:12px;min-width:0;display:flex}.books-manager-label>svg{color:var(--color-accent-text);flex:none}.books-manager-label>span{overflow-wrap:anywhere;min-width:0}.books-screen .books-category-list .books-category-actions>button{min-width:44px;min-height:44px}.books-screen .books-category-list .books-category-rename{flex-wrap:wrap;gap:8px}.books-screen .books-category-rename input{flex:100%;width:100%}@container (width<=24rem){.books-bibliography-body{grid-template-columns:minmax(88px,38%) minmax(0,1fr);gap:16px}.books-bibliography-facts{gap:12px}.books-screen .books-result{gap:16px}.books-screen .books-category-list>li{flex-wrap:wrap}.books-screen .books-category-list .books-category-actions{margin-left:auto}}.books-screen .books-category-field>.ui-field{margin-bottom:8px}.books-screen .books-label-chips,.books-screen .books-label-suggestions{row-gap:4px}.books-screen .books-tag{background:var(--color-surface-muted);color:var(--color-text-primary);font-size:var(--font-size-caption);border-radius:4px;padding:4px 8px}.books-screen .books-tag[data-selected=true]{background:var(--color-action);color:var(--color-on-action)}.books-screen .books-draft-fields{border:0;min-width:0;margin:0;padding:0}.ui-page .sortable-preview .books-category-actions{gap:4px;display:flex}.ui-page.auth-content-warning{min-height:0}.account-page .account-content{width:100%;max-width:none;margin:0;padding:0;display:block}.account-content>.ui-section:last-child{margin-bottom:0}.account-page form{gap:24px;min-width:0;display:grid}.account-page form>.ui-section{margin:0}.account-page form label{gap:8px;display:grid}.account-page .ui-input,.account-page .ui-button{width:100%}.account-page .account-details{background:0 0;border-radius:0;gap:0;margin:0;padding:0;display:grid}.account-page .account-details>div{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(72px,1fr) minmax(0,2fr);gap:16px;min-width:0;padding-block:16px;display:grid}.account-page .account-details dd{color:var(--color-text-primary);font-size:var(--font-size-body);overflow-wrap:anywhere;margin:0;font-weight:400;line-height:1.5}.account-field{min-width:0;display:block}.account-page .account-field .ui-field{margin-bottom:24px}.account-page input[name=inviteCode]{text-transform:uppercase}.account-page .account-action{border:0;border-bottom:1px solid var(--color-border);width:100%;min-height:68px;color:var(--color-text-primary);text-align:left;background:0 0;border-radius:0;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:14px;padding:16px 0;display:grid}.account-action svg{width:22px;height:22px}.account-action svg:last-child{width:18px;height:18px}.account-page .account-action--danger,.ui .ui-account-danger{color:var(--color-danger)}.account-action:disabled{opacity:.55;cursor:default}.account-page .account-actions{margin-top:32px}@media (width<=359px){.account-page .account-details>div{grid-template-columns:1fr;gap:8px}}.routines-page .routines-date-anchor{align-items:stretch;gap:var(--space-2);border-bottom:1px solid var(--color-border);flex-direction:column;margin-bottom:0;padding-bottom:3px;display:flex;position:relative}.routines-page .routines-date-navigation{align-items:center;gap:var(--space-1);grid-template-columns:44px minmax(0,1fr) 44px;display:grid}.routines-page .routines-date-navigation>button{width:44px;min-height:44px;color:var(--color-text-primary);background:0 0;border:0;border-radius:50%;place-items:center;padding:6px;display:grid}.routines-page .routines-date-navigation>button svg{width:24px;height:24px}.routines-page .routines-date-navigation>button:disabled{color:var(--color-text-secondary);cursor:default}.routines-page .routines-date-control{border-radius:var(--radius-control);text-align:center;overflow-wrap:anywhere;flex-direction:column;justify-content:center;min-width:0;min-height:48px;display:flex;position:relative}.routines-page .routines-selected-day{letter-spacing:-.03125em;font:600 20px/1.5 var(--font-heading)}.routines-page .routines-selected-year{color:var(--color-text-secondary);font-size:12px;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{min-width:58px;height:22px;min-height:22px;padding:0 var(--space-2);border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text-secondary);letter-spacing:.08em;border-radius:3px;justify-content:center;align-items:center;gap:6px;font-size:10px;font-weight:600;line-height:1;display:inline-flex;position:absolute;inset-block-start:-22px;inset-inline-end:0}.routines-page .routines-today[aria-current=date]{border-color:var(--color-action);background:var(--color-action);color:var(--color-on-action);opacity:1;font-weight:600}.routines-page .routines-group{background:0 0;border:0;border-radius:0}.routines-page .routines-group+.routines-group{margin-top:var(--space-6)}.routines-page .routines-group-heading{cursor:grab;padding:20px 0 var(--space-2);background:0 0;border-radius:0}.routines-page .routines-group-heading h2{align-items:baseline;gap:var(--space-2);margin:0;font-size:17px;line-height:1.6;display:flex}.routines-page .routines-group-heading .group-dot{align-self:center}.routines-page .routines-items{min-height:32px;padding:0}.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:14px;min-height:88px;padding-block:10px;display:grid}.routines-page .routine-item+.routine-item{border-top:1px solid var(--color-border)}.routines-page .routine-record-link{color:inherit;min-width:0;padding-block:var(--space-1);-webkit-touch-callout:none;align-items:center;gap:0 var(--space-2);grid-template-rows:minmax(34px,auto) auto;grid-template-columns:minmax(0,1fr) auto 18px;min-height:62px;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;grid-area:1/1;min-width:0;max-height:2.2em;font-weight:600;line-height:1.1;display:-webkit-box;overflow:hidden}.routines-page .routine-record-count{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.routines-page .routine-actions{gap:var(--space-1);padding:var(--space-1) 0 var(--space-2);grid-column:1/-1;display:grid}.routines-page .routine-actions button{min-height:44px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-canvas);text-align:left;overflow-wrap:anywhere}.routines-page .routine-actions button:disabled{color:var(--color-text-secondary);cursor:default}.routines-page .managed-group.sortable-preview{display:block}.routines-page .routine-item.sortable-preview{display:grid}.routines-page .routine-record-summary{color:var(--color-text-secondary);grid-area:1/2;place-items:center end;font-size:18px;display:grid}.routines-page .routine-record-summary>span{grid-area:1/1}.routines-page .routine-goal-progress{align-items:center;gap:var(--space-1);white-space:nowrap;min-width:0;color:var(--color-text-secondary);margin-top:var(--space-1);grid-area:2/1/auto/-1;justify-content:flex-start;font-size:12px;line-height:1.5;display:flex;position:static}.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{padding:var(--space-3) 0;margin:0}.routines-page .routines-today[aria-disabled=true]{cursor:default}.routines-page .routine-item.is-completed .routine-record-summary{color:var(--color-accent-text)}.routines-page .routine-record-arrow{width:18px;height:18px;color:var(--color-text-secondary);grid-area:1/3}.routines-page .ui-feedback--empty{margin-block:var(--space-8)}@media (width<=359px){.routines-page .routine-item{gap:10px}.routines-page .routine-record-link{gap:0 5px}.routines-page .routine-record-summary{font-size:var(--font-size-body)}.routines-page .routines-selected-day{font-size:18px}}.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}.routine-sort-list .is-dragging{opacity:.3}.ui-portal .home-shell{flex-direction:column;min-height:100vh;padding-top:0;display:flex}.ui-portal-header{z-index:80;min-height:60px;padding:max(8px, env(safe-area-inset-top)) var(--page-inset) 8px;background:var(--color-canvas);background-image:var(--surface-texture);background-size:var(--surface-texture-size);justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.ui-portal-account{min-width:44px;max-width:calc(100% - 159px);min-height:44px;color:var(--color-text-primary);background:0 0;border:0;flex:1;justify-content:flex-end;align-items:center;gap:8px;padding:8px 0 8px 8px;display:flex}.ui-portal-account .ui-portal-nickname{min-width:0;max-width:10rem;font-size:13px;display:inline-flex}.ui-portal-account svg{flex-shrink:0;width:26px;height:26px}.ui-portal-content{padding:0 var(--page-inset) 32px}.ui-portal-date{color:var(--color-text-secondary);margin:12px 0 16px;font-size:14px}.ui-portal-intro h1{z-index:1;font:600 clamp(28px, 7vw, 36px)/1.6 var(--font-heading);letter-spacing:-.04em;margin:0;position:relative}.ui-portal-art-slot{width:calc(100% + 2 * var(--page-inset));aspect-ratio:35/16;margin:-40px calc(-1 * var(--page-inset)) 16px}.ui-portal-art{--home-background-fade:20%;object-fit:cover;width:100%;height:100%;-webkit-mask-image:linear-gradient(to right, transparent, #000 var(--home-background-fade), #000 calc(100% - var(--home-background-fade)), transparent), linear-gradient(to bottom, transparent, #000 var(--home-background-fade), #000 calc(100% - var(--home-background-fade)), transparent);mask-image:linear-gradient(to right, transparent, #000 var(--home-background-fade), #000 calc(100% - var(--home-background-fade)), transparent), linear-gradient(to bottom, transparent, #000 var(--home-background-fade), #000 calc(100% - var(--home-background-fade)), transparent);display:block;-webkit-mask-composite:source-in;mask-composite:intersect}.ui-portal-services{margin-top:8px}.ui .ui-home-service-entry{border:0;border-bottom:1px solid var(--color-border);width:100%;min-height:104px;color:var(--color-text-primary);text-align:left;background:0 0;border-radius:0;grid-template-columns:52px minmax(0,1fr) 22px;align-items:center;gap:16px;padding:20px 0;display:grid}.ui-home-service-symbol{place-items:center;width:52px;height:52px;display:grid;position:relative}.ui-home-service-symbol>svg{width:34px;height:34px}.ui-home-service-symbol--books{color:var(--color-accent-text);background:radial-gradient(ellipse, color-mix(in srgb, var(--color-decoration-start) 45%, transparent), transparent 70%)}.ui-home-service-symbol--cycles{color:var(--color-accent-text);background:radial-gradient(ellipse, color-mix(in srgb, var(--color-decoration-start) 60%, transparent), transparent 70%)}.ui-home-service-symbol--routines>svg:not(.ui-portal-ring){width:24px;height:24px;position:relative}.ui-home-service-symbol .ui-portal-ring{width:52px;height:52px;position:absolute;inset:0}.ui-portal-ring circle{fill:none;stroke-width:6px}.ui-portal-ring-track{stroke:var(--color-surface-muted)}.ui-portal-ring-value{stroke:var(--color-accent);transform-origin:28px 28px;stroke-linecap:round;transform:rotate(-90deg)}.ui-home-service-copy{gap:4px;min-width:0;display:grid}.ui-home-service-copy>strong{font:600 23px/1.4 var(--font-heading)}.ui-home-service-description,.ui-home-service-state{color:var(--color-text-secondary);overflow-wrap:anywhere;font-size:14px;line-height:1.7}.ui-home-service-copy:has(.ui-home-service-state)>.ui-home-service-description{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.ui-home-service-arrow svg{width:22px;height:22px}.ui-home-service-retry{margin-block:12px}.ui-home-service-state strong{color:var(--color-accent-text);font-weight:700}@media (width<=359px){.ui .ui-home-service-entry{grid-template-columns:48px minmax(0,1fr) 20px;gap:12px}}.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>.ui-tooltip{white-space:normal;width:auto;max-width:none;position:static;transform:none}
