:root.light{--md-sys-color-primary: rgb(105 95 17);--md-sys-color-surface-tint: rgb(105 95 17);--md-sys-color-on-primary: rgb(255 255 255);--md-sys-color-primary-container: rgb(243 228 137);--md-sys-color-on-primary-container: rgb(80 71 0);--md-sys-color-secondary: rgb(100 95 65);--md-sys-color-on-secondary: rgb(255 255 255);--md-sys-color-secondary-container: rgb(235 227 189);--md-sys-color-on-secondary-container: rgb(76 71 43);--md-sys-color-tertiary: rgb(65 102 81);--md-sys-color-on-tertiary: rgb(255 255 255);--md-sys-color-tertiary-container: rgb(195 236 210);--md-sys-color-on-tertiary-container: rgb(41 78 59);--md-sys-color-error: rgb(186 26 26);--md-sys-color-on-error: rgb(255 255 255);--md-sys-color-error-container: rgb(255 218 214);--md-sys-color-on-error-container: rgb(147 0 10);--md-sys-color-background: rgb(255 249 235);--md-sys-color-on-background: rgb(29 28 19);--md-sys-color-surface: rgb(255 249 235);--md-sys-color-on-surface: rgb(29 28 19);--md-sys-color-surface-variant: rgb(232 226 208);--md-sys-color-on-surface-variant: rgb(74 71 57);--md-sys-color-outline: rgb(123 119 104);--md-sys-color-outline-variant: rgb(204 198 181);--md-sys-color-shadow: rgb(0 0 0);--md-sys-color-scrim: rgb(0 0 0);--md-sys-color-inverse-surface: rgb(51 48 39);--md-sys-color-inverse-on-surface: rgb(246 240 226);--md-sys-color-inverse-primary: rgb(214 200 113);--md-sys-color-primary-fixed: rgb(243 228 137);--md-sys-color-on-primary-fixed: rgb(32 28 0);--md-sys-color-primary-fixed-dim: rgb(214 200 113);--md-sys-color-on-primary-fixed-variant: rgb(80 71 0);--md-sys-color-secondary-fixed: rgb(235 227 189);--md-sys-color-on-secondary-fixed: rgb(31 28 5);--md-sys-color-secondary-fixed-dim: rgb(207 199 162);--md-sys-color-on-secondary-fixed-variant: rgb(76 71 43);--md-sys-color-tertiary-fixed: rgb(195 236 210);--md-sys-color-on-tertiary-fixed: rgb(0 33 18);--md-sys-color-tertiary-fixed-dim: rgb(167 208 182);--md-sys-color-on-tertiary-fixed-variant: rgb(41 78 59);--md-sys-color-surface-dim: rgb(223 218 204);--md-sys-color-surface-bright: rgb(255 249 235);--md-sys-color-surface-container-lowest: rgb(255 255 255);--md-sys-color-surface-container-low: rgb(249 243 229);--md-sys-color-surface-container: rgb(243 237 224);--md-sys-color-surface-container-high: rgb(237 232 218);--md-sys-color-surface-container-highest: rgb(232 226 213)}:root:not(.light){--md-sys-color-primary: rgb(214 200 113);--md-sys-color-surface-tint: rgb(214 200 113);--md-sys-color-on-primary: rgb(55 49 0);--md-sys-color-primary-container: rgb(80 71 0);--md-sys-color-on-primary-container: rgb(243 228 137);--md-sys-color-secondary: rgb(207 199 162);--md-sys-color-on-secondary: rgb(53 49 23);--md-sys-color-secondary-container: rgb(76 71 43);--md-sys-color-on-secondary-container: rgb(235 227 189);--md-sys-color-tertiary: rgb(167 208 182);--md-sys-color-on-tertiary: rgb(17 55 37);--md-sys-color-tertiary-container: rgb(41 78 59);--md-sys-color-on-tertiary-container: rgb(195 236 210);--md-sys-color-error: rgb(255 180 171);--md-sys-color-on-error: rgb(105 0 5);--md-sys-color-error-container: rgb(147 0 10);--md-sys-color-on-error-container: rgb(255 218 214);--md-sys-color-background: rgb(21 19 12);--md-sys-color-on-background: rgb(232 226 213);--md-sys-color-surface: rgb(21 19 12);--md-sys-color-on-surface: rgb(232 226 213);--md-sys-color-surface-variant: rgb(74 71 57);--md-sys-color-on-surface-variant: rgb(204 198 181);--md-sys-color-outline: rgb(149 145 129);--md-sys-color-outline-variant: rgb(74 71 57);--md-sys-color-shadow: rgb(0 0 0);--md-sys-color-scrim: rgb(0 0 0);--md-sys-color-inverse-surface: rgb(232 226 213);--md-sys-color-inverse-on-surface: rgb(51 48 39);--md-sys-color-inverse-primary: rgb(105 95 17);--md-sys-color-primary-fixed: rgb(243 228 137);--md-sys-color-on-primary-fixed: rgb(32 28 0);--md-sys-color-primary-fixed-dim: rgb(214 200 113);--md-sys-color-on-primary-fixed-variant: rgb(80 71 0);--md-sys-color-secondary-fixed: rgb(235 227 189);--md-sys-color-on-secondary-fixed: rgb(31 28 5);--md-sys-color-secondary-fixed-dim: rgb(207 199 162);--md-sys-color-on-secondary-fixed-variant: rgb(76 71 43);--md-sys-color-tertiary-fixed: rgb(195 236 210);--md-sys-color-on-tertiary-fixed: rgb(0 33 18);--md-sys-color-tertiary-fixed-dim: rgb(167 208 182);--md-sys-color-on-tertiary-fixed-variant: rgb(41 78 59);--md-sys-color-surface-dim: rgb(21 19 12);--md-sys-color-surface-bright: rgb(59 57 48);--md-sys-color-surface-container-lowest: rgb(16 14 7);--md-sys-color-surface-container-low: rgb(29 28 19);--md-sys-color-surface-container: rgb(33 32 23);--md-sys-color-surface-container-high: rgb(44 42 33);--md-sys-color-surface-container-highest: rgb(55 53 44)}:root{--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--content-width: 80rem;--transition-fast: .16s ease;--transition-normal: .22s ease}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.5rem;padding:.625rem 1rem;border:1px solid transparent;border-radius:var(--radius-sm);font-weight:600;line-height:1.25;text-align:center;text-decoration:none;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.ui-button:focus-visible,.ui-icon-button:focus-visible,.ui-link-button:focus-visible{outline:2px solid var(--th-accent-teal);outline-offset:2px}.ui-button:disabled,.ui-link-button:disabled{opacity:.5;cursor:not-allowed}.ui-button--primary{color:var(--md-sys-color-on-primary);background:var(--th-accent-lime)}.ui-button--primary:hover:not(:disabled){filter:brightness(1.08)}.ui-button--danger{color:var(--md-sys-color-on-error);background:var(--md-sys-color-error)}.ui-button--danger:hover:not(:disabled){filter:brightness(1.08)}.ui-button--secondary{border-color:var(--th-edge);color:var(--th-content);background:var(--th-control)}.ui-button--secondary:hover:not(:disabled){background:var(--th-surface)}.ui-button--quiet{border-color:var(--th-edge);color:var(--th-content-dim);background:transparent}.ui-button--quiet:hover:not(:disabled){border-color:var(--th-accent-teal);color:var(--th-content);background:color-mix(in srgb,var(--th-surface) 50%,transparent)}.ui-icon-button,.ui-link-button{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2);border:0;border-radius:var(--radius-sm);color:var(--th-content-dim);background:transparent;cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.ui-icon-button:hover,.ui-link-button:hover{color:var(--th-content);background:color-mix(in srgb,var(--th-surface) 55%,transparent)}.ui-link-button{padding:0;color:var(--th-link);font-weight:500}.ui-link-button:hover{color:var(--th-link-hover);background:transparent}.ui-panel{border:1px solid var(--th-edge);border-radius:var(--radius-lg);background:var(--th-surface)}.ui-icon,.google-logo{display:block;width:1.25rem;height:1.25rem;flex:0 0 auto}.ui-field{display:grid;gap:var(--space-2)}.ui-label{color:var(--th-content-dim);font-size:.875rem;font-weight:600}.ui-input,.ui-select,.ui-textarea{width:100%;min-height:2.75rem;padding:.625rem .875rem;border:1px solid var(--th-edge);border-radius:var(--radius-sm);color:var(--th-content);background:var(--th-control);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--th-content-faint)}.ui-input:focus,.ui-select:focus,.ui-textarea:focus{border-color:var(--th-accent-teal);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--th-accent-teal) 20%,transparent)}.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{opacity:.55;cursor:not-allowed}.ui-error{padding:var(--space-3);border:1px solid color-mix(in srgb,var(--md-sys-color-error) 55%,transparent);border-radius:var(--radius-sm);color:var(--md-sys-color-error);background:color-mix(in srgb,var(--md-sys-color-error) 10%,transparent);font-size:.875rem}.ui-muted{color:var(--th-content-dim)}.ui-faint{color:var(--th-content-faint)}.ui-overlay{position:fixed;z-index:50;inset:0;overflow-y:auto}.ui-overlay__backdrop{position:fixed;inset:0;background:var(--th-overlay);-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem)}.ui-overlay__alignment{display:flex;min-height:100%;align-items:center;justify-content:center;padding:var(--space-4)}.ui-dialog{position:relative;width:min(100%,32rem);padding:var(--space-6);border:1px solid color-mix(in srgb,var(--th-edge) 65%,transparent);border-radius:var(--radius-xl);background:linear-gradient(135deg,var(--th-surface),var(--th-panel));box-shadow:0 1.5rem 4rem #00000047}.ui-dialog__close{position:absolute;top:var(--space-3);right:var(--space-3)}.ui-divider{display:flex;align-items:center;gap:var(--space-4);color:var(--th-content-dim);font-size:.875rem}.ui-divider:before,.ui-divider:after{height:1px;flex:1;background:var(--th-edge);content:""}.ui-spinner{width:2rem;height:2rem;border:3px solid color-mix(in srgb,var(--th-edge) 45%,transparent);border-bottom-color:var(--th-accent-lime);border-radius:50%;animation:ui-spin .75s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--th-canvas: var(--md-sys-color-background);--th-panel: var(--md-sys-color-surface-container-low);--th-surface: var(--md-sys-color-surface-container);--th-control: var(--md-sys-color-surface-container-high);--th-overlay: rgba(0, 0, 0, .6);--th-content: var(--md-sys-color-on-background);--th-content-dim: var(--md-sys-color-on-surface-variant);--th-content-faint: var(--md-sys-color-outline);--th-edge: var(--md-sys-color-outline-variant);--th-accent-emerald: var(--md-sys-color-tertiary);--th-accent-green: var(--md-sys-color-tertiary);--th-accent-teal: var(--md-sys-color-secondary);--th-accent-lime: var(--md-sys-color-primary);--th-accent-yellow: var(--md-sys-color-primary);--th-stat-emerald: var(--md-sys-color-tertiary);--th-stat-green: var(--md-sys-color-tertiary);--th-stat-teal: var(--md-sys-color-secondary);--th-link: var(--md-sys-color-primary);--th-link-hover: var(--md-sys-color-inverse-primary);--toast-bg: var(--md-sys-color-surface-container-high);--toast-text: var(--md-sys-color-on-surface);--toast-border: var(--md-sys-color-outline-variant);font-family:"PT Serif",Georgia,serif;line-height:1.5;font-weight:400;color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root.light{--th-canvas: var(--md-sys-color-background);--th-panel: var(--md-sys-color-surface-container-lowest);--th-surface: var(--md-sys-color-surface-container-low);--th-control: var(--md-sys-color-surface-container-high);--th-overlay: rgba(0, 0, 0, .4);--th-content: var(--md-sys-color-on-background);--th-content-dim: var(--md-sys-color-on-surface-variant);--th-content-faint: var(--md-sys-color-outline);--th-edge: var(--md-sys-color-outline-variant);--th-accent-emerald: var(--md-sys-color-tertiary);--th-accent-green: var(--md-sys-color-tertiary);--th-accent-teal: var(--md-sys-color-secondary);--th-accent-lime: var(--md-sys-color-primary);--th-accent-yellow: var(--md-sys-color-primary);--th-stat-emerald: var(--md-sys-color-tertiary);--th-stat-green: var(--md-sys-color-tertiary);--th-stat-teal: var(--md-sys-color-secondary);--th-link: var(--md-sys-color-primary);--th-link-hover: var(--md-sys-color-secondary);--toast-bg: var(--md-sys-color-surface-container-lowest);--toast-text: var(--md-sys-color-on-surface);--toast-border: var(--md-sys-color-outline-variant);color-scheme:light}@layer reset{*,*:before,*:after{box-sizing:border-box}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0;color:var(--th-content);background:var(--th-canvas);font-family:"PT Serif",Georgia,serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit}button{color:inherit}}*{scrollbar-width:thin;scrollbar-color:rgba(100,100,100,.5) transparent}*::-webkit-scrollbar{width:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#64646480;border-radius:4px}*::-webkit-scrollbar-thumb:hover{background:#787878b3}:root.light{scrollbar-color:rgba(148,163,184,.5) transparent}:root.light *::-webkit-scrollbar-thumb{background:#94a3b880}:root.light *::-webkit-scrollbar-thumb:hover{background:#94a3b8b3}input[type=date]::-webkit-calendar-picker-indicator{filter:brightness(0) invert(1);cursor:pointer;opacity:1;transition:opacity .2s;width:1rem;height:1rem;margin-right:0}:root.light input[type=date]::-webkit-calendar-picker-indicator{filter:none}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:.8}.select-wrapper{position:relative;display:inline-block;width:100%}.select-wrapper:after{content:"";position:absolute;right:.75rem;top:50%;width:1rem;height:1rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;transform:translateY(-50%) scale(1);opacity:1;transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);pointer-events:none}:root.light .select-wrapper:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23374151' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E")}.select-wrapper:before{content:"";position:absolute;right:.75rem;top:50%;width:1rem;height:1rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='white' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5 15l7-7 7 7'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;transform:translateY(-50%) scale(.8);opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);pointer-events:none}:root.light .select-wrapper:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23374151' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M5 15l7-7 7 7'/%3E%3C/svg%3E")}.select-wrapper.open:after{opacity:0;transform:translateY(-50%) scale(.8)}.select-wrapper.open:before{opacity:1;transform:translateY(-50%) scale(1)}.select-wrapper select{appearance:none;width:100%;padding-right:2.5rem;cursor:pointer}select option{background-color:var(--th-surface);color:var(--th-content)}.auth-page{position:relative;display:grid;min-height:100vh;place-items:center;padding:2rem 1rem;background:var(--th-panel)}.auth-page__theme{position:absolute;top:1rem;right:1rem}.auth-page__content{width:min(100%,28rem);padding:1rem}.auth-page__heading{margin-bottom:2rem;text-align:center}.auth-page__title{margin:0 0 .5rem;color:var(--th-content);font-size:1.875rem;font-weight:600}.auth-page__card{padding:2rem;box-shadow:0 1rem 2rem #00000029}.auth-page__error{margin-bottom:1rem}.auth-page__form{display:grid;gap:1.5rem}.auth-page__forgot{justify-self:start;margin-top:.25rem;font-size:.875rem}.auth-page__hint{margin:0;font-size:.75rem}.auth-page__submit,.auth-page__google{width:100%;min-height:2.75rem}.auth-page__divider{margin:1.5rem 0}.auth-page__footer{margin-top:1.5rem;font-size:.875rem;text-align:center}.auth-reset-overlay{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:1rem;background:var(--th-overlay);-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem)}.auth-reset-dialog{width:min(100%,28rem);padding:1.5rem;box-shadow:0 1.5rem 4rem #00000047}.auth-reset-dialog__title{margin:0 0 1rem;color:var(--th-content);font-size:1.25rem;font-weight:600}.auth-reset-dialog__success,.auth-reset-dialog__note,.auth-reset-dialog__description{margin:0 0 1rem;font-size:.875rem}.auth-reset-dialog__success{color:var(--th-accent-green)}.auth-reset-dialog__email{margin-bottom:1rem}.auth-reset-dialog__actions{display:flex;gap:.75rem}.auth-reset-dialog__actions>.ui-button{flex:1}@media(max-width:480px){.auth-page__card{padding:1.5rem}}.dashboard-page{min-height:100vh;background:linear-gradient(135deg,var(--th-canvas),var(--th-panel),var(--th-canvas))}.dashboard-header{position:sticky;z-index:40;top:0;border-bottom:1px solid color-mix(in srgb,var(--th-edge) 55%,transparent);background:color-mix(in srgb,var(--th-canvas) 94%,transparent);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem)}.dashboard-header__content,.dashboard-main{width:min(100% - 3rem,var(--content-width));margin:0 auto}.dashboard-header__content{padding:1rem 0}.dashboard-header__row,.dashboard-header__actions,.dashboard-toolbar,.dashboard-list-heading,.dashboard-list-heading__selection-actions,.subscription-card,.subscription-card__identity,.subscription-card__details{display:flex;align-items:center}.dashboard-header__row,.dashboard-list-heading,.subscription-card{justify-content:space-between}.dashboard-header__actions{gap:.75rem}.dashboard-brand{margin:0;color:transparent;background:linear-gradient(90deg,var(--th-accent-lime),var(--th-accent-teal));background-clip:text;-webkit-background-clip:text;font-size:1.5rem;font-weight:700}.dashboard-header__email{margin:.125rem 0 0;color:var(--th-content-dim);font-size:.875rem}.dashboard-main{padding:2rem 0}.dashboard-toolbar{justify-content:flex-end;gap:.75rem;margin-bottom:2rem}.dashboard-toolbar__select{width:auto;min-width:10rem;background:color-mix(in srgb,var(--th-surface) 50%,transparent);cursor:pointer}.dashboard-search{position:relative;width:min(16rem,100%)}.dashboard-search__icon{position:absolute;top:50%;left:.75rem;display:flex;color:var(--th-content-dim);transform:translateY(-50%);pointer-events:none}.dashboard-search__input{padding-left:2.5rem;background:color-mix(in srgb,var(--th-surface) 50%,transparent)}.dashboard-toolbar__add{white-space:nowrap}.dashboard-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin-bottom:2rem}.dashboard-stat-card{position:relative;overflow:hidden;padding:1.25rem;border:1px solid color-mix(in srgb,var(--th-edge) 45%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--th-surface) 50%,transparent);transition:background-color var(--transition-normal),border-color var(--transition-normal),transform var(--transition-normal)}.dashboard-stat-card--interactive{cursor:pointer}.dashboard-stat-card--interactive:hover{transform:translateY(-.125rem);border-color:color-mix(in srgb,var(--th-edge) 75%,transparent);background:color-mix(in srgb,var(--th-surface) 80%,transparent)}.dashboard-stat-card__accent{position:absolute;top:0;right:1.5rem;left:1.5rem;height:1px;opacity:.55}.dashboard-stat-card__accent--emerald,.dashboard-stat-card__icon--emerald,.dashboard-stat-card__value--emerald,.dashboard-icon--emerald{color:var(--th-accent-emerald)}.dashboard-stat-card__accent--emerald{background:var(--th-accent-emerald)}.dashboard-stat-card__accent--green,.dashboard-stat-card__icon--green,.dashboard-stat-card__value--green,.dashboard-icon--green{color:var(--th-accent-green)}.dashboard-stat-card__accent--green{background:var(--th-accent-green)}.dashboard-stat-card__accent--teal,.dashboard-stat-card__icon--teal,.dashboard-stat-card__value--teal,.dashboard-icon--teal{color:var(--th-accent-teal)}.dashboard-stat-card__accent--teal{background:var(--th-accent-teal)}.dashboard-stat-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.dashboard-stat-card__label,.dashboard-stat-card__subtitle{color:var(--th-content-faint);font-size:.6875rem}.dashboard-stat-card__label{font-weight:600;text-transform:uppercase;letter-spacing:.08em}.dashboard-stat-card__value{margin-bottom:.125rem;font-size:1.5rem;font-weight:600}.dashboard-icon--emerald,.dashboard-icon--green,.dashboard-icon--teal{width:1rem;height:1rem}.dashboard-list-heading{gap:1rem;margin-bottom:1rem}.dashboard-list-heading h2{margin:0;color:var(--th-content);font-size:1.25rem}.dashboard-list-heading__select:hover{color:var(--md-sys-color-error)}.dashboard-list-heading__selection-actions{gap:.5rem;font-size:.875rem}.dashboard-selection-button{min-height:2rem;padding:.375rem .75rem;font-size:.875rem}.dashboard-loading{display:flex;justify-content:center;padding:3rem 0}.dashboard-subscription-list{display:grid;gap:1rem}.dashboard-empty-state{padding:3rem;border:1px solid color-mix(in srgb,var(--th-edge) 50%,transparent);border-radius:var(--radius-xl);background:color-mix(in srgb,var(--th-surface) 30%,transparent);text-align:center}.dashboard-empty-state__illustration{display:grid;width:4rem;height:4rem;margin:0 auto 1rem;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--th-control) 50%,transparent)}.dashboard-empty-state__icon{width:2rem;height:2rem;color:var(--th-content-faint)}.dashboard-empty-state__title{margin:0 0 .5rem;color:var(--th-content);font-size:1.125rem}.dashboard-empty-state__description{margin:0 0 1.5rem;color:var(--th-content-dim)}.dashboard-scroll-top{position:fixed;z-index:50;right:1.5rem;bottom:1.5rem;width:3rem;height:3rem;border:1px solid color-mix(in srgb,var(--th-accent-lime) 55%,transparent);border-radius:50%;color:var(--th-content);background:var(--th-surface);box-shadow:0 .5rem 1.5rem #0003}.dashboard-scroll-top:hover{border-color:var(--th-accent-teal);background:var(--th-control)}.subscription-card{gap:1rem;padding:1rem;border:1px solid color-mix(in srgb,var(--th-edge) 45%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--th-surface) 60%,transparent);transition:background-color var(--transition-normal),border-color var(--transition-normal)}.subscription-card:hover{border-color:color-mix(in srgb,var(--th-edge) 75%,transparent);background:color-mix(in srgb,var(--th-surface) 90%,transparent)}.subscription-card__identity,.subscription-card__details{gap:.75rem}.subscription-card__logo{display:grid;width:2.75rem;height:2.75rem;flex:0 0 auto;overflow:hidden;place-items:center;border-radius:var(--radius-md);background:var(--th-surface)}.subscription-card__image{width:100%;height:100%;object-fit:cover}.subscription-card__initials{color:var(--th-content-dim);font-size:.875rem;font-weight:600}.subscription-card__name,.subscription-card__date,.subscription-card__price,.subscription-card__billing,.subscription-card__renewal-label,.subscription-card__renewal-caption{margin:0}.subscription-card__name,.subscription-card__price{color:var(--th-content)}.subscription-card__name{font-size:1rem;font-weight:600}.subscription-card__date,.subscription-card__billing{color:var(--th-content-faint);font-size:.875rem}.subscription-card__price-block,.subscription-card__renewal{text-align:right}.subscription-card__price{font-weight:600}.subscription-card__renewal{min-width:6rem}.subscription-card__renewal-label{font-size:.875rem;font-weight:600}.subscription-card__renewal--today{color:var(--md-sys-color-error)}.subscription-card__renewal--soon{color:#f97316}.subscription-card__renewal--upcoming{color:var(--th-accent-yellow)}.subscription-card__renewal--later{color:var(--th-accent-teal)}.subscription-card__renewal-caption{color:var(--th-content-faint);font-size:.75rem}.subscription-card__menu{position:relative}.subscription-card__menu-backdrop,.notification-bell__backdrop{position:fixed;z-index:10;inset:0}.subscription-card__menu-list{position:absolute;z-index:20;top:calc(100% + .25rem);right:0;width:9rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--th-edge) 60%,transparent);border-radius:var(--radius-md);background:var(--th-surface);box-shadow:0 .75rem 1.5rem #0000003d}.subscription-card__menu-item{display:flex;width:100%;align-items:center;gap:.5rem;padding:.625rem 1rem;border:0;color:var(--th-content-dim);background:transparent;text-align:left;cursor:pointer}.subscription-card__menu-item:hover{color:var(--th-content);background:color-mix(in srgb,var(--th-control) 50%,transparent)}.subscription-card__menu-item--danger,.subscription-card__menu-item--danger:hover{color:var(--md-sys-color-error)}.subscription-card__checkbox{display:grid;width:1.5rem;height:1.5rem;flex:0 0 auto;margin-left:.5rem;place-items:center;border:2px solid var(--th-edge);border-radius:.25rem;background:transparent;cursor:pointer}.subscription-card__checkbox--selected{border-color:var(--th-accent-emerald);background:var(--th-accent-emerald)}.subscription-card__check{width:1rem;height:1rem;color:#fff}.notification-bell,.notification-bell__trigger{position:relative}.notification-bell__count{position:absolute;top:-.25rem;right:-.25rem;display:grid;min-width:1.25rem;height:1.25rem;padding:0 .25rem;place-items:center;border-radius:999px;color:#fff;background:var(--md-sys-color-error);font-size:.75rem;font-weight:700}.notification-bell__dropdown{position:absolute;z-index:20;top:calc(100% + .5rem);right:0;width:min(20rem,calc(100vw - 2rem));overflow:hidden;border:1px solid color-mix(in srgb,var(--th-edge) 60%,transparent);border-radius:var(--radius-md);background:var(--th-surface);box-shadow:0 1rem 2rem #00000047}.notification-bell__header,.notification-bell__notification{padding:.75rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--th-edge) 45%,transparent)}.notification-bell__header h3{margin:0;color:var(--th-content);font-size:1rem;font-weight:600}.notification-bell__unread,.notification-bell__renewal,.notification-bell__date,.notification-bell__empty-title,.notification-bell__empty-note{margin:0}.notification-bell__unread,.notification-bell__renewal{margin-top:.25rem;color:var(--th-content-dim);font-size:.75rem}.notification-bell__list{max-height:24rem;overflow-y:auto}.notification-bell__empty{padding:2rem 1rem;color:var(--th-content-dim);text-align:center}.notification-bell__spinner{width:1.5rem;height:1.5rem;margin:0 auto .75rem}.notification-bell__empty-title{color:var(--th-content);font-size:.875rem;font-weight:600}.notification-bell__empty-note,.notification-bell__date{color:var(--th-content-faint);font-size:.75rem}.notification-bell__notification{transition:background-color var(--transition-fast)}.notification-bell__notification:hover{background:color-mix(in srgb,var(--th-control) 30%,transparent)}.notification-bell__notification--unread{background:color-mix(in srgb,var(--th-accent-emerald) 6%,transparent)}.notification-bell__notification-content{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.notification-bell__notification-copy{min-width:0;flex:1}.notification-bell__subscription{overflow:hidden;margin:0;color:var(--th-content);font-size:.875rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.notification-bell__dismiss{flex:0 0 auto;padding:.25rem}.confirm-dialog{max-width:28rem;padding:1.5rem}.confirm-dialog__icon-wrap{display:flex;justify-content:center;margin-bottom:1rem}.confirm-dialog__icon{display:grid;width:3rem;height:3rem;place-items:center;border-radius:50%}.confirm-dialog__icon--danger{color:var(--md-sys-color-error);background:color-mix(in srgb,var(--md-sys-color-error) 12%,transparent)}.confirm-dialog__icon--primary{color:var(--th-accent-emerald);background:color-mix(in srgb,var(--th-accent-emerald) 12%,transparent)}.confirm-dialog__symbol{width:1.5rem;height:1.5rem}.confirm-dialog__title,.confirm-dialog__message{text-align:center}.confirm-dialog__title{margin:0 0 .5rem;color:var(--th-content);font-size:1.25rem}.confirm-dialog__message{margin:0 0 1.5rem;color:var(--th-content-dim)}.confirm-dialog__actions{display:flex;gap:.75rem}.confirm-dialog__actions>.ui-button{flex:1}.chart-dialog{max-width:32rem;padding:2rem}.chart-dialog--wide{max-width:44rem}.chart-dialog__heading,.chart-dialog__total{text-align:center}.chart-dialog__heading{margin-bottom:1.5rem}.chart-dialog__title{margin:0;color:var(--th-content);font-size:1.25rem;font-weight:700}.chart-dialog__subtitle,.chart-dialog__total>p:first-child{margin:.25rem 0 0;color:var(--th-content-dim);font-size:.875rem}.chart-dialog__legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin-bottom:1.5rem}.chart-dialog__legend-item{display:flex;align-items:center;gap:.375rem;color:var(--th-content-dim);font-size:.75rem}.chart-dialog__legend-swatch{width:.75rem;height:.75rem;flex:0 0 auto;border-radius:.125rem}.chart-dialog__chart{display:flex;justify-content:center}.chart-dialog__pie{max-width:100%;height:auto;filter:drop-shadow(0 .5rem .75rem rgb(0 0 0 / 20%))}.chart-dialog__line-chart{width:100%;height:auto}.chart-dialog__total{margin-top:1.5rem}.chart-dialog__total-value{margin:.25rem 0 0;color:var(--th-content);font-size:1.5rem;font-weight:700}.overview-dialog{max-width:32rem;padding:2rem}.overview-dialog__heading{margin-bottom:2rem;text-align:center}.overview-dialog__title{margin:0;color:var(--th-content);font-size:1.25rem}.overview-dialog__subtitle{margin:.25rem 0 0;color:var(--th-content-dim);font-size:.875rem}.overview-dialog__empty{color:var(--th-content-dim);text-align:center}.overview-dialog__sections{display:grid;gap:2rem}.overview-dialog__section-heading{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--th-content-dim);font-size:.875rem;font-weight:600}.overview-dialog__icon--emerald{color:var(--th-accent-emerald)}.overview-dialog__icon--teal{color:var(--th-accent-teal)}.overview-dialog__icon--lime{color:var(--th-accent-lime)}.overview-dialog__help{margin:0 0 .75rem;color:var(--th-content-faint);font-size:.75rem}.overview-dialog__billing-bar{display:flex;height:.75rem;gap:.25rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--th-control) 50%,transparent)}.overview-dialog__billing-segment{height:100%;transition:width .5s ease}.overview-dialog__billing-segment--monthly,.overview-dialog__swatch--monthly{background:var(--th-accent-emerald)}.overview-dialog__billing-segment--yearly,.overview-dialog__swatch--yearly{background:var(--th-accent-teal)}.overview-dialog__billing-legend{display:flex;justify-content:space-between;margin-top:.625rem}.overview-dialog__legend-item{display:flex;align-items:center;gap:.375rem;color:var(--th-content-dim);font-size:.75rem}.overview-dialog__swatch{width:.625rem;height:.625rem;border-radius:.125rem}.overview-dialog__cost-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.overview-dialog__cost-card{padding:.75rem;border:1px solid color-mix(in srgb,var(--th-edge) 35%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--th-surface) 60%,transparent);text-align:center}.overview-dialog__cost-icon{display:grid;width:1.75rem;height:1.75rem;margin:0 auto .5rem;place-items:center;border-radius:var(--radius-sm)}.overview-dialog__cost-icon--emerald{background:color-mix(in srgb,var(--th-accent-emerald) 12%,transparent)}.overview-dialog__cost-icon--teal{background:color-mix(in srgb,var(--th-accent-teal) 12%,transparent)}.overview-dialog__small-icon{width:.875rem;height:.875rem}.overview-dialog__caption{margin:0 0 .25rem;color:var(--th-content-faint);font-size:.6875rem}.overview-dialog__cost-name{overflow:hidden;margin:0;color:var(--th-content);font-size:.875rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.overview-dialog__cost-value{margin:.125rem 0 0;font-size:.75rem}.overview-dialog__category{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1rem;border:1px solid color-mix(in srgb,var(--th-edge) 35%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--th-surface) 60%,transparent)}.overview-dialog__category-name{color:var(--th-content);font-size:.875rem;font-weight:600}.overview-dialog__category-count{padding:.25rem .625rem;border-radius:999px;color:var(--th-content-dim);background:color-mix(in srgb,var(--th-control) 50%,transparent);font-size:.75rem}.overview-dialog__no-renewals{padding:1.25rem 1rem;border:1px solid color-mix(in srgb,var(--th-edge) 35%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--th-surface) 60%,transparent);text-align:center}.overview-dialog__success-icon{width:1.5rem;height:1.5rem;margin-bottom:.5rem;color:var(--th-accent-emerald)}.overview-dialog__no-renewals p{margin:0;color:var(--th-content-dim);font-size:.875rem}.overview-dialog__renewals{display:grid;gap:.5rem}.overview-dialog__renewal{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem 1rem;border:1px solid color-mix(in srgb,var(--th-edge) 35%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--th-surface) 60%,transparent)}.overview-dialog__renewal-identity{display:flex;min-width:0;align-items:center;gap:.625rem}.overview-dialog__renewal-logo,.overview-dialog__renewal-fallback{width:1.75rem;height:1.75rem;flex:0 0 auto;border-radius:var(--radius-sm)}.overview-dialog__renewal-logo{padding:.125rem;background:#fff;object-fit:cover}.overview-dialog__renewal-fallback{display:grid;place-items:center;color:var(--th-content-dim);background:var(--th-control);font-size:.625rem;font-weight:700}.overview-dialog__renewal-copy{min-width:0}.overview-dialog__renewal-name{overflow:hidden;margin:0;color:var(--th-content);font-size:.875rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.overview-dialog__renewal-date{margin:0;color:var(--th-content-faint);font-size:.6875rem}.overview-dialog__renewal-badge{flex:0 0 auto;margin-left:.75rem;padding:.125rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600}.overview-dialog__renewal-badge--today{color:var(--md-sys-color-error);background:color-mix(in srgb,var(--md-sys-color-error) 12%,transparent)}.overview-dialog__renewal-badge--soon{color:#f97316;background:#f973161a}.overview-dialog__renewal-badge--later{color:var(--th-accent-yellow);background:color-mix(in srgb,var(--th-accent-yellow) 12%,transparent)}.subscription-modal{max-width:32rem;padding:1.5rem}.subscription-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.subscription-modal__title{margin:0;color:transparent;background:linear-gradient(90deg,var(--th-accent-lime),var(--th-accent-teal));background-clip:text;-webkit-background-clip:text;font-size:1.5rem;font-weight:700}.subscription-modal__form{display:grid;gap:1rem}.subscription-modal__field-error{margin:0;color:var(--md-sys-color-error);font-size:.75rem}.ui-input--invalid{border-color:var(--md-sys-color-error)}.subscription-modal__icon-field{display:flex;align-items:flex-start;gap:1rem}.subscription-modal__preview{flex:0 0 auto}.subscription-modal__preview-image,.subscription-modal__empty-preview{position:relative;display:grid;width:4rem;height:4rem;overflow:hidden;place-items:center;border-radius:var(--radius-sm)}.subscription-modal__preview-image{border:2px solid var(--th-edge);background:#fff}.subscription-modal__service-image{width:100%;height:100%;padding:.25rem;object-fit:contain}.subscription-modal__remove-icon{position:absolute;top:0;right:0;display:grid;width:1.25rem;height:1.25rem;place-items:center;border:0;border-radius:50%;color:#fff;background:var(--md-sys-color-error);cursor:pointer}.subscription-modal__remove-icon:hover{filter:brightness(.9)}.subscription-modal__remove-icon-svg{width:.75rem;height:.75rem}.subscription-modal__empty-preview{border:2px dashed var(--th-edge);background:color-mix(in srgb,var(--th-panel) 50%,transparent)}.subscription-modal__empty-preview-icon{width:2rem;height:2rem;color:var(--th-content-faint)}.subscription-modal__brand-search{position:relative;min-width:0;flex:1}.subscription-modal__brand-input{font-size:.875rem}.subscription-modal__suggestions{position:absolute;z-index:50;top:calc(100% + .25rem);right:0;left:0;max-height:12rem;overflow-y:auto;border:1px solid var(--th-edge);border-radius:var(--radius-sm);background:var(--th-surface);box-shadow:0 .75rem 1.5rem #00000038}.subscription-modal__suggestion{display:flex;width:100%;align-items:center;gap:.75rem;padding:.625rem .75rem;border:0;color:var(--th-content);background:transparent;text-align:left;cursor:pointer}.subscription-modal__suggestion:hover{color:#fff;background:var(--th-accent-lime)}.subscription-modal__suggestion-logo{width:2rem;height:2rem;flex:0 0 auto;padding:.125rem;border-radius:.25rem;background:#fff;object-fit:contain}.subscription-modal__suggestion-copy{display:grid;min-width:0}.subscription-modal__suggestion-name{font-weight:600}.subscription-modal__suggestion-domain{color:var(--th-content-dim);font-size:.75rem}.subscription-modal__suggestion:hover .subscription-modal__suggestion-domain{color:#fffc}.subscription-modal__help{margin:0;color:var(--th-content-faint);font-size:.75rem}.subscription-modal__price-field{position:relative}.subscription-modal__currency{position:absolute;top:50%;left:1rem;color:var(--th-content-dim);font-size:1rem;font-weight:600;transform:translateY(-50%);pointer-events:none}.subscription-modal__price-input{padding-left:2.25rem}.subscription-modal__actions{display:flex;gap:.75rem;padding-top:1rem}.subscription-modal__actions>.ui-button{flex:1}.subscription-modal__actions>.ui-button--primary{background:linear-gradient(90deg,var(--th-accent-lime),var(--th-accent-teal));box-shadow:0 .5rem 1.25rem color-mix(in srgb,var(--th-accent-lime) 25%,transparent)}.subscription-modal__suggestions-backdrop{position:fixed;z-index:40;inset:0}@media(max-width:720px){.dashboard-header__content,.dashboard-main{width:min(100% - 2rem,var(--content-width))}.dashboard-stats{gap:1rem}.dashboard-toolbar{flex-wrap:wrap}}@media(max-width:560px){.dashboard-header__row{align-items:flex-start;gap:.75rem}.dashboard-header__actions{gap:.375rem}.dashboard-header__actions>.ui-button{min-height:2.25rem;padding:.375rem .625rem;font-size:.75rem}.dashboard-toolbar{display:grid;grid-template-columns:1fr auto}.dashboard-toolbar__select,.dashboard-search{width:100%;min-width:0}.dashboard-toolbar__add{grid-column:1 / -1}.dashboard-stats{grid-template-columns:1fr}.dashboard-list-heading,.dashboard-list-heading__selection-actions{flex-wrap:wrap}.subscription-card{align-items:flex-start;flex-wrap:wrap}.subscription-card__details{width:100%;justify-content:flex-end;gap:1.25rem}.subscription-card__identity{flex:1;min-width:0}.subscription-card__renewal{min-width:5rem}.overview-dialog,.chart-dialog{padding:1.5rem}.subscription-modal__icon-field{flex-direction:column}}.landing-page{position:relative;min-height:100vh;overflow:hidden;color:var(--th-content);background:linear-gradient(135deg,var(--th-canvas),var(--th-panel) 52%,var(--th-canvas))}.landing-page *,.landing-page *:before,.landing-page *:after{box-sizing:border-box}.landing-page__ambient{position:fixed;z-index:0;inset:0;overflow:hidden;pointer-events:none}.landing-page__glow{position:absolute;width:31.25rem;height:31.25rem;border-radius:50%;filter:blur(6rem)}.landing-page__glow--emerald{top:-10rem;left:-10rem;background:color-mix(in srgb,var(--th-accent-emerald) 10%,transparent)}.landing-page__glow--teal{right:-10rem;bottom:-10rem;background:color-mix(in srgb,var(--th-accent-teal) 10%,transparent)}.landing-nav,.landing-hero,.landing-intro,.landing-showcase,.landing-features,.landing-cta,.landing-footer{position:relative;z-index:1}.landing-page__theme{position:absolute;z-index:2;top:1rem;right:1rem}.landing-nav,.landing-content-width,.landing-footer__content{width:min(100% - 3rem,80rem);margin-right:auto;margin-left:auto}.landing-nav{display:flex;width:min(100% - 3rem,56rem);align-items:center;justify-content:space-between;gap:1.25rem;padding:.5rem .75rem .5rem 1.25rem;border:1px solid color-mix(in srgb,var(--th-edge) 55%,transparent);border-radius:999px;color:var(--th-content);background:color-mix(in srgb,var(--th-surface) 90%,transparent);box-shadow:0 .5rem 1.5rem color-mix(in srgb,var(--md-sys-color-shadow) 12%,transparent);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.landing-intro{z-index:0;padding-top:1.5rem;padding-bottom:4rem;margin-bottom:4rem;background:linear-gradient(180deg,#08101894,#081018ad),url(/landing-hero.png) center 48% / cover no-repeat}.landing-brand{margin:0;color:transparent;background:linear-gradient(to right,var(--th-accent-lime),var(--th-accent-teal));background-clip:text;-webkit-background-clip:text}.landing-nav>.landing-brand{flex:0 0 auto;font-size:1.5rem;font-weight:700}.landing-nav__signin{color:var(--th-content-dim);font-size:.8125rem;font-weight:500;text-decoration:none;transition:color var(--transition-fast)}.landing-nav__signin:hover{color:var(--th-content)}.landing-nav__actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex:0 0 auto}.landing-nav__signin{padding:.5rem .625rem;border:0;background:transparent;cursor:pointer}.landing-button--small{min-height:2.25rem;padding:.5rem 1.25rem;font-size:.875rem;border-radius:50px}.landing-button--large{min-height:3.25rem;padding:.5rem 1.25rem;font-size:1.125rem;border-radius:50px}.landing-hero{display:flex;width:100%;min-height:clamp(34rem,72vh,48rem);flex-direction:column;align-items:center;justify-content:center;margin:0;padding:6rem 1.5rem;text-align:center}.landing-hero__title{position:relative;z-index:1;max-width:56rem;margin:0 0 1.5rem;color:#fff;font-size:clamp(3rem,7vw,4.5rem);font-weight:700;line-height:1.15;letter-spacing:-.035em}.landing-hero__description{position:relative;z-index:1;max-width:42rem;margin:0 auto 3rem;color:#ffffffe0;font-size:clamp(1.125rem,2.5vw,1.25rem);line-height:1.65}.landing-hero__actions{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem}.landing-content-width{max-width:80rem}.landing-panel{border:1px solid color-mix(in srgb,var(--th-edge) 50%,transparent);border-radius:1rem;background:linear-gradient(135deg,color-mix(in srgb,var(--th-surface) 50%,transparent),color-mix(in srgb,var(--th-surface) 30%,transparent));-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem)}.landing-showcase{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:1rem;margin-bottom:8rem}.landing-showcase__card{position:relative;min-width:0;min-height:23rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--th-edge) 45%,transparent);border-radius:1.5rem;background:var(--th-surface);isolation:isolate}.landing-showcase__image,.landing-showcase__scrim{position:absolute;inset:0;width:100%;height:100%}.landing-showcase__image{z-index:-2;object-fit:cover;transition:transform .6s ease}.landing-showcase__card:hover .landing-showcase__image{transform:scale(1.04)}.landing-showcase__scrim{z-index:-1;background:linear-gradient(180deg,#0000000a 25%,#00000094)}.landing-showcase__spend,.landing-showcase__renewal{position:absolute;display:grid;gap:.25rem;padding:1rem 1.125rem;border:1px solid color-mix(in srgb,var(--th-edge) 70%,transparent);border-radius:1rem;color:var(--th-content);background:color-mix(in srgb,var(--th-surface) 92%,transparent);box-shadow:0 .75rem 2rem color-mix(in srgb,var(--md-sys-color-shadow) 18%,transparent);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem)}.landing-showcase__spend{bottom:1rem;left:1rem}.landing-showcase__spend strong{font-size:1.25rem}.landing-showcase__eyebrow,.landing-showcase__caption{font-size:.75rem}.landing-showcase__eyebrow{color:var(--th-content-dim);letter-spacing:.04em}.landing-showcase__caption{color:var(--th-content-faint)}.landing-showcase__message{position:absolute;top:1.5rem;left:1.5rem;display:grid;max-width:18rem;gap:.5rem;padding:.875rem 1rem;border:1px solid color-mix(in srgb,var(--th-edge) 70%,transparent);border-radius:var(--radius-md);color:var(--th-content);background:color-mix(in srgb,var(--th-surface) 92%,transparent);box-shadow:0 .75rem 2rem color-mix(in srgb,var(--md-sys-color-shadow) 18%,transparent);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem)}.landing-showcase__message strong{font-size:clamp(1.25rem,3vw,1.875rem);line-height:1.15}.landing-showcase__renewal{right:1rem;bottom:1rem;min-width:12rem}.landing-showcase__renewal strong{font-size:.875rem}.landing-features{margin-bottom:8rem}.landing-section-heading{margin-bottom:2rem;text-align:left}.landing-section-heading__rule{display:block;width:1.25rem;height:2px;margin-bottom:1.25rem;background:var(--th-content-faint)}.landing-section-heading__eyebrow{display:block;margin-bottom:.75rem;color:var(--th-accent-teal);font-size:.75rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase}.landing-section-heading h3{margin:0;color:var(--th-content);font-size:clamp(2.25rem,5vw,3.5rem);font-weight:750;line-height:.98;letter-spacing:-.045em}.landing-cta h3{margin:0 0 1rem;color:var(--th-content);font-size:2.25rem;font-weight:700}.landing-feature-carousel{max-width:64rem;margin:0 auto;perspective:90rem}.landing-feature-carousel__stage{position:relative;height:36rem;overflow:hidden;transform-style:preserve-3d}.landing-feature-card{position:absolute;inset:0 auto auto 50%;display:flex;width:min(calc(100% - 2rem),30rem);height:calc(100% - 5rem);flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--th-edge) 55%,transparent);border-radius:1.5rem;background:var(--th-surface);box-shadow:0 2rem 5rem color-mix(in srgb,var(--md-sys-color-shadow) 24%,transparent);backface-visibility:hidden;transition:transform .65s cubic-bezier(.2,.75,.25,1),opacity .45s ease,filter .45s ease,box-shadow .45s ease}.landing-feature-card--stack-0{z-index:4;opacity:1;filter:none;transform:translate(-50%) translateY(0) rotate(0) rotateX(0) scale(1)}.landing-feature-card--stack-1{z-index:3;opacity:.86;filter:brightness(.86);transform:translate(-50%) translateY(2rem) rotate(2deg) rotateX(-2deg) scale(.94)}.landing-feature-card--stack-2{z-index:2;opacity:.62;filter:brightness(.72);transform:translate(-50%) translateY(4rem) rotate(-2.5deg) rotateX(-4deg) scale(.88)}.landing-feature-card--hidden{z-index:1;opacity:0;pointer-events:none;filter:brightness(.6);transform:translate(-50%) translateY(-5rem) rotateX(24deg) scale(.82)}.landing-feature-card--highlighted .landing-feature-card__visual{background:radial-gradient(circle at 90% 5%,color-mix(in srgb,var(--th-accent-lime) 38%,transparent),transparent 42%),linear-gradient(145deg,#243d35,#10191e 72%)}.landing-feature-card__visual{display:flex;min-height:18rem;flex:1;flex-direction:column;justify-content:space-between;gap:1rem;padding:clamp(1.25rem,4vw,2rem);color:#fff;background:radial-gradient(circle at 90% 5%,color-mix(in srgb,var(--th-accent-teal) 35%,transparent),transparent 42%),linear-gradient(145deg,#1d3338,#10191e 72%)}.landing-feature-card__visual-top,.landing-feature-card__mockup-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.landing-feature-card__visual-label,.landing-feature-card__visual-count{color:#ffffffad;font-size:.6875rem;font-weight:600;letter-spacing:.12em}.landing-feature-card__visual-count{font-variant-numeric:tabular-nums}.landing-feature-card__mockup{width:100%;max-width:28rem;margin:0 auto;padding:1.125rem;border:1px solid rgb(255 255 255 / 13%);border-radius:1rem;background:#ffffff14;box-shadow:0 1rem 2.5rem #0000002e;-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem)}.landing-feature-card__mockup-heading{margin-bottom:.75rem;color:#ffffffe5;font-size:.8125rem;font-weight:650}.landing-feature-card__mockup-heading>span:last-child{color:#ffffff85;letter-spacing:.16em}.landing-feature-card__mockup-rows{display:grid}.landing-feature-card__mockup-row{display:grid;min-width:0;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.625rem;padding:.55rem 0;border-top:1px solid rgb(255 255 255 / 10%);color:#ffffffc7;font-size:.75rem}.landing-feature-card__mockup-icon{display:grid;width:1.75rem;height:1.75rem;place-items:center;border-radius:.55rem;color:#d7cd79;background:#d7cd7924;font-size:.6875rem;font-weight:700}.landing-feature-card__mockup-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.landing-feature-card__mockup-row strong{color:#fff;font-size:.6875rem;font-weight:600;text-align:right;white-space:nowrap}.landing-feature-card__content{padding:1.5rem clamp(1.5rem,4vw,2.5rem) 2rem}.landing-feature-card__eyebrow{display:block;margin-bottom:.5rem;color:var(--th-accent-teal);font-size:.75rem;font-weight:650;letter-spacing:.1em;text-transform:uppercase}.landing-feature-card h4{margin:0 0 .5rem;color:var(--th-content);font-size:clamp(1.35rem,3vw,1.8rem);font-weight:700;line-height:1.2}.landing-feature-card p{max-width:34rem;margin:0;color:var(--th-content-dim);font-size:.875rem;line-height:1.55}.landing-feature-carousel__controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.5rem 0 0}.landing-feature-carousel__indicators,.landing-feature-carousel__arrows{display:flex;align-items:center;gap:.625rem}.landing-feature-carousel__indicator{display:grid;width:2rem;height:2rem;padding:0;border:0;border-radius:999px;background:transparent;cursor:pointer}.landing-feature-carousel__indicator:before{width:.625rem;height:.625rem;border-radius:999px;background:var(--th-content-faint);content:"";transition:width .2s ease,background-color .2s ease}.landing-feature-carousel__indicator--active:before{width:1.75rem;background:var(--th-accent-teal)}.landing-feature-carousel__arrow{display:grid;width:2.5rem;height:2.5rem;place-items:center;border:1px solid color-mix(in srgb,var(--th-edge) 65%,transparent);border-radius:50%;color:var(--th-content);background:transparent;font-size:1.25rem;cursor:pointer;transition:color var(--transition-fast),background-color var(--transition-fast)}.landing-feature-carousel__arrow:hover{color:var(--th-canvas);background:var(--th-accent-teal)}.landing-cta{width:min(100% - 3rem,48rem);margin:0 auto 5rem}.landing-cta__panel{padding:3rem;text-align:center}.landing-cta__panel>p{max-width:28rem;margin:0 auto 2rem;color:var(--th-content-dim)}.landing-footer{padding:2rem 0;border-top:1px solid color-mix(in srgb,var(--th-edge) 50%,transparent)}.landing-footer__content{display:flex;align-items:center;justify-content:space-between;gap:1rem}.landing-footer__brand{font-size:.875rem;font-weight:600}.landing-footer__copyright{color:var(--th-content-faint);font-size:.875rem;text-align:right}@media(max-width:767px){.landing-nav{gap:.75rem}.landing-nav__signin{font-size:.75rem}.landing-hero{min-height:36rem;padding:4rem 1.25rem}.landing-intro{padding-bottom:2rem;margin-bottom:3rem}.landing-showcase,.landing-features{margin-bottom:6rem}.landing-showcase{grid-template-columns:1fr 1fr}.landing-showcase__card{min-height:19rem}.landing-feature-carousel__stage{height:34rem}}@media(max-width:560px){.landing-nav,.landing-content-width,.landing-cta,.landing-footer__content{width:min(100% - 2rem,80rem)}.landing-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-left:1rem}.landing-nav__actions{justify-self:end;gap:.25rem}.landing-nav>.landing-brand{font-size:1.125rem}.landing-button--small{min-height:2rem;padding:.375rem .625rem;font-size:.75rem}.landing-nav__signin{padding:.25rem;font-size:.75rem}.landing-showcase{grid-template-columns:1fr}.landing-showcase__card{min-height:22rem}.landing-showcase__card--portrait{min-height:25rem}.landing-section-heading{margin-bottom:1.5rem}.landing-cta h3{font-size:1.75rem}.landing-feature-carousel__stage{height:32rem}.landing-feature-card__visual{min-height:16rem;padding:1.25rem}.landing-feature-card__mockup{padding:.875rem}.landing-feature-card__content{padding:1.25rem 1.25rem 1.5rem}.landing-feature-card p{font-size:.8125rem}.landing-feature-carousel__controls{gap:.5rem}.landing-feature-carousel__indicators,.landing-feature-carousel__arrows{gap:.25rem}.landing-feature-carousel__arrow{width:2.25rem;height:2.25rem}.landing-cta__panel{padding:2rem 1.25rem}.landing-footer__content{align-items:flex-start}.landing-footer__copyright{max-width:12rem}}@media(prefers-reduced-motion:reduce){.landing-showcase__image,.landing-feature-card,.landing-feature-carousel__indicator,.landing-feature-carousel__arrow{transition:none}}.app-loading,.app-not-found,.error-boundary{display:grid;min-height:100vh;place-items:center;padding:2rem;color:var(--th-content);background:var(--th-canvas)}.app-loading>div{font-size:1.125rem}.app-not-found__content,.error-boundary__content{width:min(100%,28rem);text-align:center}.app-not-found__content h1{margin:0 0 1rem;font-size:2.5rem}.app-not-found__content p,.error-boundary__content p{margin:0 0 1.5rem;color:var(--th-content-dim)}.error-boundary__icon{margin-bottom:1rem;color:var(--md-sys-color-error);font-size:3.75rem}.error-boundary__content h1{margin:0 0 .5rem;font-size:1.5rem}.error-boundary__actions{display:flex;justify-content:center;gap:.75rem}
