@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root:has(.milestone-action-sheet-high-z){z-index:10001!important;position:relative!important}body:has(.modal-overlay) #root{z-index:auto!important}body:has(.modal-overlay) ion-app{z-index:0!important}body:has(.modal-overlay) .ion-page{z-index:0!important}.milestone-action-sheet-high-z,ion-action-sheet.milestone-action-sheet-high-z{z-index:10002!important}.milestone-action-sheet-high-z ion-backdrop,ion-action-sheet.milestone-action-sheet-high-z+ion-backdrop{z-index:10001!important}ion-action-sheet.milestone-action-sheet-high-z::part(backdrop){z-index:10001!important}ion-action-sheet.milestone-action-sheet-high-z::part(wrapper){z-index:10002!important}.milestone-action-sheet-high-z.sc-ion-action-sheet-md-h,.milestone-action-sheet-high-z.sc-ion-action-sheet-ios-h{z-index:10002!important}ion-action-sheet.milestone-action-sheet-high-z~ion-backdrop{z-index:10001!important}.floating-add-button,ion-fab.floating-add-button{z-index:9999!important}body:has(.modal-overlay) .floating-add-button,body:has(.modal-overlay) ion-fab.floating-add-button{display:none!important}:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width: 768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{inset:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.ion-page-invisible{opacity:0}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: env(safe-area-inset-top);--ion-safe-area-bottom: env(safe-area-inset-bottom);--ion-safe-area-left: env(safe-area-inset-left);--ion-safe-area-right: env(safe-area-inset-right)}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media (prefers-reduced-motion: reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--ion-font-family)}@supports (-webkit-touch-callout: none){html{font:var(--ion-dynamic-font, 16px var(--ion-font-family))}}a{background-color:transparent;color:var(--ion-color-primary, #0054e9)}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}.ion-no-padding{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;padding:0}.ion-padding{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-top{--padding-top: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px)}.ion-padding-start{--padding-start: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px)}.ion-padding-end{--padding-end: var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}.ion-padding-bottom{--padding-bottom: var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-vertical{--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-horizontal{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}.ion-no-margin{--margin-start: 0;--margin-end: 0;--margin-top: 0;--margin-bottom: 0;margin:0}.ion-margin{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-top{--margin-top: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px)}.ion-margin-start{--margin-start: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px)}.ion-margin-end{--margin-end: var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}.ion-margin-bottom{--margin-bottom: var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-vertical{--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-horizontal{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}.ion-float-left{float:left!important}.ion-float-right{float:right!important}.ion-float-start{float:left!important}:host-context([dir=rtl]) .ion-float-start{float:right!important}[dir=rtl] .ion-float-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-start:dir(rtl){float:right!important}}.ion-float-end{float:right!important}:host-context([dir=rtl]) .ion-float-end{float:left!important}[dir=rtl] .ion-float-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-end:dir(rtl){float:left!important}}@media (min-width: 576px){.ion-float-sm-left{float:left!important}.ion-float-sm-right{float:right!important}.ion-float-sm-start{float:left!important}:host-context([dir=rtl]) .ion-float-sm-start{float:right!important}[dir=rtl] .ion-float-sm-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-sm-start:dir(rtl){float:right!important}}.ion-float-sm-end{float:right!important}:host-context([dir=rtl]) .ion-float-sm-end{float:left!important}[dir=rtl] .ion-float-sm-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-sm-end:dir(rtl){float:left!important}}}@media (min-width: 768px){.ion-float-md-left{float:left!important}.ion-float-md-right{float:right!important}.ion-float-md-start{float:left!important}:host-context([dir=rtl]) .ion-float-md-start{float:right!important}[dir=rtl] .ion-float-md-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-md-start:dir(rtl){float:right!important}}.ion-float-md-end{float:right!important}:host-context([dir=rtl]) .ion-float-md-end{float:left!important}[dir=rtl] .ion-float-md-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-md-end:dir(rtl){float:left!important}}}@media (min-width: 992px){.ion-float-lg-left{float:left!important}.ion-float-lg-right{float:right!important}.ion-float-lg-start{float:left!important}:host-context([dir=rtl]) .ion-float-lg-start{float:right!important}[dir=rtl] .ion-float-lg-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-lg-start:dir(rtl){float:right!important}}.ion-float-lg-end{float:right!important}:host-context([dir=rtl]) .ion-float-lg-end{float:left!important}[dir=rtl] .ion-float-lg-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-lg-end:dir(rtl){float:left!important}}}@media (min-width: 1200px){.ion-float-xl-left{float:left!important}.ion-float-xl-right{float:right!important}.ion-float-xl-start{float:left!important}:host-context([dir=rtl]) .ion-float-xl-start{float:right!important}[dir=rtl] .ion-float-xl-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-xl-start:dir(rtl){float:right!important}}.ion-float-xl-end{float:right!important}:host-context([dir=rtl]) .ion-float-xl-end{float:left!important}[dir=rtl] .ion-float-xl-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-xl-end:dir(rtl){float:left!important}}}.ion-text-center{text-align:center!important}.ion-text-justify{text-align:justify!important}.ion-text-start{text-align:start!important}.ion-text-end{text-align:end!important}.ion-text-left{text-align:left!important}.ion-text-right{text-align:right!important}.ion-text-nowrap{white-space:nowrap!important}.ion-text-wrap{white-space:normal!important}@media (min-width: 576px){.ion-text-sm-center{text-align:center!important}.ion-text-sm-justify{text-align:justify!important}.ion-text-sm-start{text-align:start!important}.ion-text-sm-end{text-align:end!important}.ion-text-sm-left{text-align:left!important}.ion-text-sm-right{text-align:right!important}.ion-text-sm-nowrap{white-space:nowrap!important}.ion-text-sm-wrap{white-space:normal!important}}@media (min-width: 768px){.ion-text-md-center{text-align:center!important}.ion-text-md-justify{text-align:justify!important}.ion-text-md-start{text-align:start!important}.ion-text-md-end{text-align:end!important}.ion-text-md-left{text-align:left!important}.ion-text-md-right{text-align:right!important}.ion-text-md-nowrap{white-space:nowrap!important}.ion-text-md-wrap{white-space:normal!important}}@media (min-width: 992px){.ion-text-lg-center{text-align:center!important}.ion-text-lg-justify{text-align:justify!important}.ion-text-lg-start{text-align:start!important}.ion-text-lg-end{text-align:end!important}.ion-text-lg-left{text-align:left!important}.ion-text-lg-right{text-align:right!important}.ion-text-lg-nowrap{white-space:nowrap!important}.ion-text-lg-wrap{white-space:normal!important}}@media (min-width: 1200px){.ion-text-xl-center{text-align:center!important}.ion-text-xl-justify{text-align:justify!important}.ion-text-xl-start{text-align:start!important}.ion-text-xl-end{text-align:end!important}.ion-text-xl-left{text-align:left!important}.ion-text-xl-right{text-align:right!important}.ion-text-xl-nowrap{white-space:nowrap!important}.ion-text-xl-wrap{white-space:normal!important}}.ion-text-uppercase{text-transform:uppercase!important}.ion-text-lowercase{text-transform:lowercase!important}.ion-text-capitalize{text-transform:capitalize!important}@media (min-width: 576px){.ion-text-sm-uppercase{text-transform:uppercase!important}.ion-text-sm-lowercase{text-transform:lowercase!important}.ion-text-sm-capitalize{text-transform:capitalize!important}}@media (min-width: 768px){.ion-text-md-uppercase{text-transform:uppercase!important}.ion-text-md-lowercase{text-transform:lowercase!important}.ion-text-md-capitalize{text-transform:capitalize!important}}@media (min-width: 992px){.ion-text-lg-uppercase{text-transform:uppercase!important}.ion-text-lg-lowercase{text-transform:lowercase!important}.ion-text-lg-capitalize{text-transform:capitalize!important}}@media (min-width: 1200px){.ion-text-xl-uppercase{text-transform:uppercase!important}.ion-text-xl-lowercase{text-transform:lowercase!important}.ion-text-xl-capitalize{text-transform:capitalize!important}}.ion-align-content-start{align-content:flex-start!important}.ion-align-content-end{align-content:flex-end!important}.ion-align-content-center{align-content:center!important}.ion-align-content-between{align-content:space-between!important}.ion-align-content-around{align-content:space-around!important}.ion-align-content-stretch{align-content:stretch!important}@media (min-width: 576px){.ion-align-content-sm-start{align-content:flex-start!important}.ion-align-content-sm-end{align-content:flex-end!important}.ion-align-content-sm-center{align-content:center!important}.ion-align-content-sm-between{align-content:space-between!important}.ion-align-content-sm-around{align-content:space-around!important}.ion-align-content-sm-stretch{align-content:stretch!important}}@media (min-width: 768px){.ion-align-content-md-start{align-content:flex-start!important}.ion-align-content-md-end{align-content:flex-end!important}.ion-align-content-md-center{align-content:center!important}.ion-align-content-md-between{align-content:space-between!important}.ion-align-content-md-around{align-content:space-around!important}.ion-align-content-md-stretch{align-content:stretch!important}}@media (min-width: 992px){.ion-align-content-lg-start{align-content:flex-start!important}.ion-align-content-lg-end{align-content:flex-end!important}.ion-align-content-lg-center{align-content:center!important}.ion-align-content-lg-between{align-content:space-between!important}.ion-align-content-lg-around{align-content:space-around!important}.ion-align-content-lg-stretch{align-content:stretch!important}}@media (min-width: 1200px){.ion-align-content-xl-start{align-content:flex-start!important}.ion-align-content-xl-end{align-content:flex-end!important}.ion-align-content-xl-center{align-content:center!important}.ion-align-content-xl-between{align-content:space-between!important}.ion-align-content-xl-around{align-content:space-around!important}.ion-align-content-xl-stretch{align-content:stretch!important}}.ion-align-items-start{align-items:start!important}.ion-align-items-end{align-items:end!important}.ion-align-items-center{align-items:center!important}.ion-align-items-stretch{align-items:stretch!important}.ion-align-items-baseline{align-items:baseline!important}@media (min-width: 576px){.ion-align-items-sm-start{align-items:start!important}.ion-align-items-sm-end{align-items:end!important}.ion-align-items-sm-center{align-items:center!important}.ion-align-items-sm-stretch{align-items:stretch!important}.ion-align-items-sm-baseline{align-items:baseline!important}}@media (min-width: 768px){.ion-align-items-md-start{align-items:start!important}.ion-align-items-md-end{align-items:end!important}.ion-align-items-md-center{align-items:center!important}.ion-align-items-md-stretch{align-items:stretch!important}.ion-align-items-md-baseline{align-items:baseline!important}}@media (min-width: 992px){.ion-align-items-lg-start{align-items:start!important}.ion-align-items-lg-end{align-items:end!important}.ion-align-items-lg-center{align-items:center!important}.ion-align-items-lg-stretch{align-items:stretch!important}.ion-align-items-lg-baseline{align-items:baseline!important}}@media (min-width: 1200px){.ion-align-items-xl-start{align-items:start!important}.ion-align-items-xl-end{align-items:end!important}.ion-align-items-xl-center{align-items:center!important}.ion-align-items-xl-stretch{align-items:stretch!important}.ion-align-items-xl-baseline{align-items:baseline!important}}.ion-align-self-start{align-self:start!important}.ion-align-self-end{align-self:end!important}.ion-align-self-center{align-self:center!important}.ion-align-self-stretch{align-self:stretch!important}.ion-align-self-baseline{align-self:baseline!important}.ion-align-self-auto{align-self:auto!important}@media (min-width: 576px){.ion-align-self-sm-start{align-self:start!important}.ion-align-self-sm-end{align-self:end!important}.ion-align-self-sm-center{align-self:center!important}.ion-align-self-sm-stretch{align-self:stretch!important}.ion-align-self-sm-baseline{align-self:baseline!important}.ion-align-self-sm-auto{align-self:auto!important}}@media (min-width: 768px){.ion-align-self-md-start{align-self:start!important}.ion-align-self-md-end{align-self:end!important}.ion-align-self-md-center{align-self:center!important}.ion-align-self-md-stretch{align-self:stretch!important}.ion-align-self-md-baseline{align-self:baseline!important}.ion-align-self-md-auto{align-self:auto!important}}@media (min-width: 992px){.ion-align-self-lg-start{align-self:start!important}.ion-align-self-lg-end{align-self:end!important}.ion-align-self-lg-center{align-self:center!important}.ion-align-self-lg-stretch{align-self:stretch!important}.ion-align-self-lg-baseline{align-self:baseline!important}.ion-align-self-lg-auto{align-self:auto!important}}@media (min-width: 1200px){.ion-align-self-xl-start{align-self:start!important}.ion-align-self-xl-end{align-self:end!important}.ion-align-self-xl-center{align-self:center!important}.ion-align-self-xl-stretch{align-self:stretch!important}.ion-align-self-xl-baseline{align-self:baseline!important}.ion-align-self-xl-auto{align-self:auto!important}}.ion-justify-content-start{justify-content:flex-start!important}.ion-justify-content-end{justify-content:flex-end!important}.ion-justify-content-center{justify-content:center!important}.ion-justify-content-between{justify-content:space-between!important}.ion-justify-content-around{justify-content:space-around!important}.ion-justify-content-evenly{justify-content:space-evenly!important}@media (min-width: 576px){.ion-justify-content-sm-start{justify-content:flex-start!important}.ion-justify-content-sm-end{justify-content:flex-end!important}.ion-justify-content-sm-center{justify-content:center!important}.ion-justify-content-sm-between{justify-content:space-between!important}.ion-justify-content-sm-around{justify-content:space-around!important}.ion-justify-content-sm-evenly{justify-content:space-evenly!important}}@media (min-width: 768px){.ion-justify-content-md-start{justify-content:flex-start!important}.ion-justify-content-md-end{justify-content:flex-end!important}.ion-justify-content-md-center{justify-content:center!important}.ion-justify-content-md-between{justify-content:space-between!important}.ion-justify-content-md-around{justify-content:space-around!important}.ion-justify-content-md-evenly{justify-content:space-evenly!important}}@media (min-width: 992px){.ion-justify-content-lg-start{justify-content:flex-start!important}.ion-justify-content-lg-end{justify-content:flex-end!important}.ion-justify-content-lg-center{justify-content:center!important}.ion-justify-content-lg-between{justify-content:space-between!important}.ion-justify-content-lg-around{justify-content:space-around!important}.ion-justify-content-lg-evenly{justify-content:space-evenly!important}}@media (min-width: 1200px){.ion-justify-content-xl-start{justify-content:flex-start!important}.ion-justify-content-xl-end{justify-content:flex-end!important}.ion-justify-content-xl-center{justify-content:center!important}.ion-justify-content-xl-between{justify-content:space-between!important}.ion-justify-content-xl-around{justify-content:space-around!important}.ion-justify-content-xl-evenly{justify-content:space-evenly!important}}.ion-flex-row{flex-direction:row!important}.ion-flex-row-reverse{flex-direction:row-reverse!important}.ion-flex-column{flex-direction:column!important}.ion-flex-column-reverse{flex-direction:column-reverse!important}@media (min-width: 576px){.ion-flex-sm-row{flex-direction:row!important}.ion-flex-sm-row-reverse{flex-direction:row-reverse!important}.ion-flex-sm-column{flex-direction:column!important}.ion-flex-sm-column-reverse{flex-direction:column-reverse!important}}@media (min-width: 768px){.ion-flex-md-row{flex-direction:row!important}.ion-flex-md-row-reverse{flex-direction:row-reverse!important}.ion-flex-md-column{flex-direction:column!important}.ion-flex-md-column-reverse{flex-direction:column-reverse!important}}@media (min-width: 992px){.ion-flex-lg-row{flex-direction:row!important}.ion-flex-lg-row-reverse{flex-direction:row-reverse!important}.ion-flex-lg-column{flex-direction:column!important}.ion-flex-lg-column-reverse{flex-direction:column-reverse!important}}@media (min-width: 1200px){.ion-flex-xl-row{flex-direction:row!important}.ion-flex-xl-row-reverse{flex-direction:row-reverse!important}.ion-flex-xl-column{flex-direction:column!important}.ion-flex-xl-column-reverse{flex-direction:column-reverse!important}}.ion-wrap{flex-wrap:wrap!important}.ion-nowrap{flex-wrap:nowrap!important}.ion-wrap-reverse{flex-wrap:wrap-reverse!important}.ion-flex-wrap{flex-wrap:wrap!important}.ion-flex-nowrap{flex-wrap:nowrap!important}.ion-flex-wrap-reverse{flex-wrap:wrap-reverse!important}@media (min-width: 576px){.ion-flex-sm-wrap{flex-wrap:wrap!important}.ion-flex-sm-nowrap{flex-wrap:nowrap!important}.ion-flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}}@media (min-width: 768px){.ion-flex-md-wrap{flex-wrap:wrap!important}.ion-flex-md-nowrap{flex-wrap:nowrap!important}.ion-flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}}@media (min-width: 992px){.ion-flex-lg-wrap{flex-wrap:wrap!important}.ion-flex-lg-nowrap{flex-wrap:nowrap!important}.ion-flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}}@media (min-width: 1200px){.ion-flex-xl-wrap{flex-wrap:wrap!important}.ion-flex-xl-nowrap{flex-wrap:nowrap!important}.ion-flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}}.ion-flex-1{flex:1!important}.ion-flex-auto{flex:auto!important}.ion-flex-initial{flex:initial!important}.ion-flex-none{flex:none!important}@media (min-width: 576px){.ion-flex-sm-1{flex:1!important}.ion-flex-sm-auto{flex:auto!important}.ion-flex-sm-initial{flex:initial!important}.ion-flex-sm-none{flex:none!important}}@media (min-width: 768px){.ion-flex-md-1{flex:1!important}.ion-flex-md-auto{flex:auto!important}.ion-flex-md-initial{flex:initial!important}.ion-flex-md-none{flex:none!important}}@media (min-width: 992px){.ion-flex-lg-1{flex:1!important}.ion-flex-lg-auto{flex:auto!important}.ion-flex-lg-initial{flex:initial!important}.ion-flex-lg-none{flex:none!important}}@media (min-width: 1200px){.ion-flex-xl-1{flex:1!important}.ion-flex-xl-auto{flex:auto!important}.ion-flex-xl-initial{flex:initial!important}.ion-flex-xl-none{flex:none!important}}.ion-flex-grow-0{flex-grow:0!important}.ion-flex-grow-1{flex-grow:1!important}.ion-flex-shrink-0{flex-shrink:0!important}.ion-flex-shrink-1{flex-shrink:1!important}@media (min-width: 576px){.ion-flex-sm-grow-0{flex-grow:0!important}.ion-flex-sm-grow-1{flex-grow:1!important}.ion-flex-sm-shrink-0{flex-shrink:0!important}.ion-flex-sm-shrink-1{flex-shrink:1!important}}@media (min-width: 768px){.ion-flex-md-grow-0{flex-grow:0!important}.ion-flex-md-grow-1{flex-grow:1!important}.ion-flex-md-shrink-0{flex-shrink:0!important}.ion-flex-md-shrink-1{flex-shrink:1!important}}@media (min-width: 992px){.ion-flex-lg-grow-0{flex-grow:0!important}.ion-flex-lg-grow-1{flex-grow:1!important}.ion-flex-lg-shrink-0{flex-shrink:0!important}.ion-flex-lg-shrink-1{flex-shrink:1!important}}@media (min-width: 1200px){.ion-flex-xl-grow-0{flex-grow:0!important}.ion-flex-xl-grow-1{flex-grow:1!important}.ion-flex-xl-shrink-0{flex-shrink:0!important}.ion-flex-xl-shrink-1{flex-shrink:1!important}}.ion-order-first{order:-1!important}.ion-order-0{order:0!important}.ion-order-1{order:1!important}.ion-order-2{order:2!important}.ion-order-3{order:3!important}.ion-order-4{order:4!important}.ion-order-5{order:5!important}.ion-order-6{order:6!important}.ion-order-7{order:7!important}.ion-order-8{order:8!important}.ion-order-9{order:9!important}.ion-order-10{order:10!important}.ion-order-11{order:11!important}.ion-order-12{order:12!important}.ion-order-last{order:13!important}@media (min-width: 576px){.ion-order-sm-first{order:-1!important}.ion-order-sm-0{order:0!important}.ion-order-sm-1{order:1!important}.ion-order-sm-2{order:2!important}.ion-order-sm-3{order:3!important}.ion-order-sm-4{order:4!important}.ion-order-sm-5{order:5!important}.ion-order-sm-6{order:6!important}.ion-order-sm-7{order:7!important}.ion-order-sm-8{order:8!important}.ion-order-sm-9{order:9!important}.ion-order-sm-10{order:10!important}.ion-order-sm-11{order:11!important}.ion-order-sm-12{order:12!important}.ion-order-sm-last{order:13!important}}@media (min-width: 768px){.ion-order-md-first{order:-1!important}.ion-order-md-0{order:0!important}.ion-order-md-1{order:1!important}.ion-order-md-2{order:2!important}.ion-order-md-3{order:3!important}.ion-order-md-4{order:4!important}.ion-order-md-5{order:5!important}.ion-order-md-6{order:6!important}.ion-order-md-7{order:7!important}.ion-order-md-8{order:8!important}.ion-order-md-9{order:9!important}.ion-order-md-10{order:10!important}.ion-order-md-11{order:11!important}.ion-order-md-12{order:12!important}.ion-order-md-last{order:13!important}}@media (min-width: 992px){.ion-order-lg-first{order:-1!important}.ion-order-lg-0{order:0!important}.ion-order-lg-1{order:1!important}.ion-order-lg-2{order:2!important}.ion-order-lg-3{order:3!important}.ion-order-lg-4{order:4!important}.ion-order-lg-5{order:5!important}.ion-order-lg-6{order:6!important}.ion-order-lg-7{order:7!important}.ion-order-lg-8{order:8!important}.ion-order-lg-9{order:9!important}.ion-order-lg-10{order:10!important}.ion-order-lg-11{order:11!important}.ion-order-lg-12{order:12!important}.ion-order-lg-last{order:13!important}}@media (min-width: 1200px){.ion-order-xl-first{order:-1!important}.ion-order-xl-0{order:0!important}.ion-order-xl-1{order:1!important}.ion-order-xl-2{order:2!important}.ion-order-xl-3{order:3!important}.ion-order-xl-4{order:4!important}.ion-order-xl-5{order:5!important}.ion-order-xl-6{order:6!important}.ion-order-xl-7{order:7!important}.ion-order-xl-8{order:8!important}.ion-order-xl-9{order:9!important}.ion-order-xl-10{order:10!important}.ion-order-xl-11{order:11!important}.ion-order-xl-12{order:12!important}.ion-order-xl-last{order:13!important}}.ion-hide,.ion-hide-up,.ion-hide-down{display:none!important}@media (min-width: 576px){.ion-hide-sm-up{display:none!important}}@media (max-width: 575.98px){.ion-hide-sm-down{display:none!important}}@media (min-width: 768px){.ion-hide-md-up{display:none!important}}@media (max-width: 767.98px){.ion-hide-md-down{display:none!important}}@media (min-width: 992px){.ion-hide-lg-up{display:none!important}}@media (max-width: 991.98px){.ion-hide-lg-down{display:none!important}}@media (min-width: 1200px){.ion-hide-xl-up{display:none!important}}@media (max-width: 1199.98px){.ion-hide-xl-down{display:none!important}}.ion-display-none{display:none!important}@media (min-width: 576px){.ion-display-sm-none{display:none!important}}@media (min-width: 768px){.ion-display-md-none{display:none!important}}@media (min-width: 992px){.ion-display-lg-none{display:none!important}}@media (min-width: 1200px){.ion-display-xl-none{display:none!important}}.ion-display-inline{display:inline!important}@media (min-width: 576px){.ion-display-sm-inline{display:inline!important}}@media (min-width: 768px){.ion-display-md-inline{display:inline!important}}@media (min-width: 992px){.ion-display-lg-inline{display:inline!important}}@media (min-width: 1200px){.ion-display-xl-inline{display:inline!important}}.ion-display-inline-block{display:inline-block!important}@media (min-width: 576px){.ion-display-sm-inline-block{display:inline-block!important}}@media (min-width: 768px){.ion-display-md-inline-block{display:inline-block!important}}@media (min-width: 992px){.ion-display-lg-inline-block{display:inline-block!important}}@media (min-width: 1200px){.ion-display-xl-inline-block{display:inline-block!important}}.ion-display-block{display:block!important}@media (min-width: 576px){.ion-display-sm-block{display:block!important}}@media (min-width: 768px){.ion-display-md-block{display:block!important}}@media (min-width: 992px){.ion-display-lg-block{display:block!important}}@media (min-width: 1200px){.ion-display-xl-block{display:block!important}}.ion-display-flex{display:flex!important}@media (min-width: 576px){.ion-display-sm-flex{display:flex!important}}@media (min-width: 768px){.ion-display-md-flex{display:flex!important}}@media (min-width: 992px){.ion-display-lg-flex{display:flex!important}}@media (min-width: 1200px){.ion-display-xl-flex{display:flex!important}}.ion-display-inline-flex{display:inline-flex!important}@media (min-width: 576px){.ion-display-sm-inline-flex{display:inline-flex!important}}@media (min-width: 768px){.ion-display-md-inline-flex{display:inline-flex!important}}@media (min-width: 992px){.ion-display-lg-inline-flex{display:inline-flex!important}}@media (min-width: 1200px){.ion-display-xl-inline-flex{display:inline-flex!important}}.ion-display-grid{display:grid!important}@media (min-width: 576px){.ion-display-sm-grid{display:grid!important}}@media (min-width: 768px){.ion-display-md-grid{display:grid!important}}@media (min-width: 992px){.ion-display-lg-grid{display:grid!important}}@media (min-width: 1200px){.ion-display-xl-grid{display:grid!important}}.ion-display-inline-grid{display:inline-grid!important}@media (min-width: 576px){.ion-display-sm-inline-grid{display:inline-grid!important}}@media (min-width: 768px){.ion-display-md-inline-grid{display:inline-grid!important}}@media (min-width: 992px){.ion-display-lg-inline-grid{display:inline-grid!important}}@media (min-width: 1200px){.ion-display-xl-inline-grid{display:inline-grid!important}}.ion-display-table{display:table!important}@media (min-width: 576px){.ion-display-sm-table{display:table!important}}@media (min-width: 768px){.ion-display-md-table{display:table!important}}@media (min-width: 992px){.ion-display-lg-table{display:table!important}}@media (min-width: 1200px){.ion-display-xl-table{display:table!important}}.ion-display-table-cell{display:table-cell!important}@media (min-width: 576px){.ion-display-sm-table-cell{display:table-cell!important}}@media (min-width: 768px){.ion-display-md-table-cell{display:table-cell!important}}@media (min-width: 992px){.ion-display-lg-table-cell{display:table-cell!important}}@media (min-width: 1200px){.ion-display-xl-table-cell{display:table-cell!important}}.ion-display-table-row{display:table-row!important}@media (min-width: 576px){.ion-display-sm-table-row{display:table-row!important}}@media (min-width: 768px){.ion-display-md-table-row{display:table-row!important}}@media (min-width: 992px){.ion-display-lg-table-row{display:table-row!important}}@media (min-width: 1200px){.ion-display-xl-table-row{display:table-row!important}}:root{--ion-color-primary: #667eea;--ion-color-primary-rgb: 102, 126, 234;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #5a6fd8;--ion-color-primary-tint: #7590ec;--ion-color-secondary: #764ba2;--ion-color-secondary-rgb: 118, 75, 162;--ion-color-secondary-contrast: #ffffff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #68428f;--ion-color-secondary-tint: #8459ab;--ion-color-tertiary: #f093fb;--ion-color-tertiary-rgb: 240, 147, 251;--ion-color-tertiary-contrast: #000000;--ion-color-tertiary-contrast-rgb: 0, 0, 0;--ion-color-tertiary-shade: #d381dd;--ion-color-tertiary-tint: #f29efb;--ion-color-success: #10b981;--ion-color-success-rgb: 16, 185, 129;--ion-color-success-contrast: #ffffff;--ion-color-success-contrast-rgb: 255, 255, 255;--ion-color-success-shade: #0ea371;--ion-color-success-tint: #28c18e;--ion-color-warning: #f59e0b;--ion-color-warning-rgb: 245, 158, 11;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #d88b0a;--ion-color-warning-tint: #f6a823;--ion-color-danger: #ef4444;--ion-color-danger-rgb: 239, 68, 68;--ion-color-danger-contrast: #ffffff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #d23c3c;--ion-color-danger-tint: #f15757;--ion-color-dark: #1f2937;--ion-color-dark-rgb: 31, 41, 55;--ion-color-dark-contrast: #ffffff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1b2431;--ion-color-dark-tint: #353f4b;--ion-color-medium: #6b7280;--ion-color-medium-rgb: 107, 114, 128;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #5e6470;--ion-color-medium-tint: #7a818d;--ion-color-light: #fef7f3;--ion-color-light-rgb: 254, 247, 243;--ion-color-light-contrast: #000000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #e0d8d5;--ion-color-light-tint: #fef8f4;--achievement-tiny-triumph: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--achievement-steady-step: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--achievement-growth-gain: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--category-physical: #3880ff;--category-cognitive: #f59e0b;--category-social: #8b5cf6;--category-language: #10b981;--category-emotional: #e11d48;--category-sleep: #6366f1;--category-feeding: #ef4444;--category-health: #06b6d4;--category-holidays: #f59e0b;--category-fun: #ec4899;--ion-font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--ion-padding: 16px;--ion-margin: 16px;--ion-border-radius: 8px;--ion-background-color: #fef7f3;--ion-background-color-rgb: 254, 247, 243}.ios body.dark{--ion-background-color: #1a1a1a;--ion-background-color-rgb: 26,26,26;--ion-text-color: #ffffff;--ion-text-color-rgb: 255,255,255;--ion-color-step-50: #242424;--ion-color-step-100: #2e2e2e;--ion-color-step-150: #383838;--ion-color-step-200: #424242;--ion-color-step-250: #4c4c4c;--ion-color-step-300: #565656;--ion-color-step-350: #606060;--ion-color-step-400: #6a6a6a;--ion-color-step-450: #747474;--ion-color-step-500: #7e7e7e;--ion-color-step-550: #888888;--ion-color-step-600: #929292;--ion-color-step-650: #9c9c9c;--ion-color-step-700: #a6a6a6;--ion-color-step-750: #b0b0b0;--ion-color-step-800: #bababa;--ion-color-step-850: #c4c4c4;--ion-color-step-900: #cecece;--ion-color-step-950: #d8d8d8;--ion-item-background: #1a1a1a;--ion-card-background: #242424}.ios body.dark ion-modal{--ion-background-color: var(--ion-color-step-100);--ion-toolbar-background: var(--ion-color-step-150);--ion-toolbar-border-color: var(--ion-color-step-250)}.md body.dark{--ion-background-color: #1c1c1c;--ion-background-color-rgb: 28,28,28;--ion-text-color: #ffffff;--ion-text-color-rgb: 255,255,255;--ion-border-color: #2e2e2e;--ion-color-step-50: #262626;--ion-color-step-100: #303030;--ion-color-step-150: #3a3a3a;--ion-color-step-200: #444444;--ion-color-step-250: #4e4e4e;--ion-color-step-300: #585858;--ion-color-step-350: #626262;--ion-color-step-400: #6c6c6c;--ion-color-step-450: #767676;--ion-color-step-500: #808080;--ion-color-step-550: #8a8a8a;--ion-color-step-600: #949494;--ion-color-step-650: #9e9e9e;--ion-color-step-700: #a8a8a8;--ion-color-step-750: #b2b2b2;--ion-color-step-800: #bcbcbc;--ion-color-step-850: #c6c6c6;--ion-color-step-900: #d0d0d0;--ion-color-step-950: #dadada;--ion-item-background: #262626;--ion-toolbar-background: #262626;--ion-tab-bar-background: #262626;--ion-card-background: #262626}:root{--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--spacing-4xl: 40px}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.p-2xl{padding:var(--spacing-2xl)}.p-3xl{padding:var(--spacing-3xl)}.padding-card{padding:var(--spacing-lg)}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.px-xl{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.py-xs{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.py-xl{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.m-2xl{margin:var(--spacing-2xl)}.m-3xl{margin:var(--spacing-3xl)}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.my-auto{margin-top:auto;margin-bottom:auto}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mb-2xl{margin-bottom:var(--spacing-2xl)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.ml-xs{margin-left:var(--spacing-xs)}.ml-sm{margin-left:var(--spacing-sm)}.ml-md{margin-left:var(--spacing-md)}.ml-lg{margin-left:var(--spacing-lg)}.ml-xl{margin-left:var(--spacing-xl)}.mr-xs{margin-right:var(--spacing-xs)}.mr-sm{margin-right:var(--spacing-sm)}.mr-md{margin-right:var(--spacing-md)}.mr-lg{margin-right:var(--spacing-lg)}.mr-xl{margin-right:var(--spacing-xl)}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}:root{--radius-none: 0;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-full: 50%}.rounded-none{border-radius:var(--radius-none)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:var(--radius-full)}.radius-card{border-radius:var(--radius-lg)}.radius-button{border-radius:var(--radius-md)}.rounded-t-none{border-top-left-radius:var(--radius-none);border-top-right-radius:var(--radius-none)}.rounded-t-sm{border-top-left-radius:var(--radius-sm);border-top-right-radius:var(--radius-sm)}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.rounded-b-none{border-bottom-left-radius:var(--radius-none);border-bottom-right-radius:var(--radius-none)}.rounded-b-sm{border-bottom-left-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.rounded-b-md{border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.rounded-b-lg{border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.rounded-b-xl{border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl)}.rounded-l-none{border-top-left-radius:var(--radius-none);border-bottom-left-radius:var(--radius-none)}.rounded-l-sm{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-l-lg{border-top-left-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg)}.rounded-l-xl{border-top-left-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.rounded-r-none{border-top-right-radius:var(--radius-none);border-bottom-right-radius:var(--radius-none)}.rounded-r-sm{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.rounded-r-lg{border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.rounded-r-xl{border-top-right-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl)}.bg-opacity-0{background-color:#0000}.bg-opacity-5{background-color:#0000000d}.bg-opacity-10{background-color:#0000001a}.bg-opacity-20{background-color:#0003}.bg-opacity-30{background-color:#0000004d}.bg-opacity-40{background-color:#0006}.bg-opacity-50{background-color:#00000080}.bg-white-opacity-5{background-color:#ffffff0d}.bg-white-opacity-10{background-color:#ffffff1a}.bg-white-opacity-20{background-color:#fff3}.bg-white-opacity-30{background-color:#ffffff4d}.bg-primary-gradient,.bg-achievement-tiny-triumph{background:linear-gradient(135deg,#667eea,#764ba2)}.bg-achievement-steady-step{background:linear-gradient(135deg,#f093fb,#f5576c)}.bg-achievement-growth-gain{background:linear-gradient(135deg,#4facfe,#00f2fe)}.bg-glass-light{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.bg-glass-dark{background:#0000001a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.bg-card-light{background-color:#00000005}.bg-card-dark{background-color:#ffffff08}.bg-summary-light{background-color:#0000000d}.bg-summary-dark{background-color:#ffffff1a}.bg-theme-card{background-color:var(--ion-color-light, rgba(0, 0, 0, .02))}@media (prefers-color-scheme: dark){.bg-theme-card{background-color:var(--ion-color-dark, rgba(255, 255, 255, .03))}}.bg-theme-summary{background-color:var(--ion-color-light, rgba(0, 0, 0, .05))}@media (prefers-color-scheme: dark){.bg-theme-summary{background-color:var(--ion-color-dark, rgba(255, 255, 255, .1))}}.bg-transparent{background-color:transparent}.bg-white{background-color:#fff}.bg-black{background-color:#000}.bg-primary{background-color:var(--ion-color-primary)}.bg-secondary{background-color:var(--ion-color-secondary)}.bg-tertiary{background-color:var(--ion-color-tertiary)}.bg-success{background-color:var(--ion-color-success)}.bg-warning{background-color:var(--ion-color-warning)}.bg-danger{background-color:var(--ion-color-danger)}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-wrap-reverse{flex-wrap:wrap-reverse}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-auto{align-self:auto}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.self-baseline{align-self:baseline}.flex-center{display:flex;align-items:center;justify-content:center}.flex-center-between{display:flex;align-items:center;justify-content:space-between}.flex-center-start{display:flex;align-items:center;justify-content:flex-start}.flex-center-end{display:flex;align-items:center;justify-content:flex-end}.flex-column-center{display:flex;flex-direction:column;align-items:center;justify-content:center}.text-justify{text-align:justify}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.static{position:static}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:fit-content}.w-min{width:min-content}.w-max{width:max-content}.h-full{height:100%}.h-auto{height:auto}.h-fit{height:fit-content}.h-min{height:min-content}.h-max{height:max-content}.min-w-0{min-width:0}.min-w-full{min-width:100%}.min-w-fit{min-width:fit-content}.max-w-full{max-width:100%}.max-w-fit{max-width:fit-content}.min-h-0{min-height:0}.min-h-full{min-height:100%}.min-h-fit{min-height:fit-content}.max-h-full{max-height:100%}.max-h-fit{max-height:fit-content}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-visible{overflow-x:visible}.overflow-x-scroll{overflow-x:scroll}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.overflow-y-visible{overflow-y:visible}.overflow-y-scroll{overflow-y:scroll}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeft{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) translateY(30px)}50%{opacity:1;transform:scale(1.1) translateY(-10px)}70%{transform:scale(.95) translateY(0)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes zoomOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}@keyframes celebrationBurst{0%{transform:scale(1);box-shadow:0 0 #ffd700b3}30%{transform:scale(1.1);box-shadow:0 0 0 10px #ffd7004d}70%{transform:scale(1.05);box-shadow:0 0 0 20px #ffd7001a}to{transform:scale(1);box-shadow:0 0 #ffd70000}}@keyframes newAchievement{0%{transform:scale(.8) rotate(-10deg);opacity:0}30%{transform:scale(1.2) rotate(5deg);opacity:1}60%{transform:scale(.95) rotate(-2deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes milestoneAppear{0%{opacity:0;transform:translateY(30px) scale(.8)}60%{opacity:1;transform:translateY(-5px) scale(1.05)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes milestonePhotoAppear{0%{opacity:0;transform:translateY(50px) scale(.7) rotate(5deg)}30%{opacity:.7;transform:translateY(-10px) scale(1.1) rotate(-2deg)}70%{opacity:1;transform:translateY(5px) scale(.95) rotate(1deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes badgePulse{0%,to{transform:scale(1);box-shadow:0 0 #667eeab3}50%{transform:scale(1.1);box-shadow:0 0 0 10px #667eea00}}@keyframes newBadgePulse{0%,to{transform:scale(1);box-shadow:0 0 #10b981b3}50%{transform:scale(1.05);box-shadow:0 0 0 8px #10b98100}}@keyframes upcomingPulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes progressPulse{0%{transform:scale(1)}50%{transform:scale(1.02)}to{transform:scale(1)}}@keyframes celebrationPulse{0%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.05);filter:brightness(1.2)}to{transform:scale(1);filter:brightness(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes newPhotoShimmer{0%{background-position:-100% 0;opacity:.3}50%{opacity:.8}to{background-position:100% 0;opacity:.3}}@keyframes progressLoading{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes chartLoading{0%{transform:scaleY(0);transform-origin:bottom}50%{transform:scaleY(1.1)}to{transform:scaleY(1)}}@keyframes chartGrow{0%{transform:scaleY(0);transform-origin:bottom}to{transform:scaleY(1)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn .3s ease-out 0s}.animate-slide-up{animation:slideUp .4s ease-out 0s}.animate-bounce-in{animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55) 0s}.animate-zoom-in{animation:zoomIn .3s cubic-bezier(.34,1.56,.64,1) 0s}.animate-celebration-burst{animation:celebrationBurst .8s cubic-bezier(.68,-.55,.265,1.55) 0s}.animate-new-achievement{animation:newAchievement 1s cubic-bezier(.68,-.55,.265,1.55) 0s}.animate-milestone-appear{animation:milestoneAppear .6s ease-out 0s}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.animate-badge-pulse{animation:badgePulse 2s ease-in-out infinite}.animate-new-badge-pulse{animation:newBadgePulse 2s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);background-size:200% 100%;animation:shimmer 1.5s linear infinite}.animate-spin{animation:spin 1s linear infinite}.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.hover-scale{transition:transform .2s ease}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 10px #667eea4d}.loading-state{pointer-events:none;opacity:.6;cursor:wait}.disabled-state{pointer-events:none;opacity:.5;cursor:not-allowed}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}.animation-optimized{transform:translateZ(0);backface-visibility:hidden;perspective:1000px;will-change:transform,opacity}:root{--color-primary-50: #f0f4ff;--color-primary-100: #e0e9ff;--color-primary-200: #c7d6ff;--color-primary-300: #a5b8ff;--color-primary-400: #8b96ff;--color-primary-500: #667eea;--color-primary-600: #5a6fd8;--color-primary-700: #4c5bc4;--color-primary-800: #3e4ba0;--color-primary-900: #323b7d;--color-tiny-triumph: #667eea;--color-tiny-triumph-light: #f0f4ff;--color-tiny-triumph-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--color-steady-step: #a855f7;--color-steady-step-light: #f3e8ff;--color-steady-step-gradient: linear-gradient(135deg, #a855f7 0%, #8b5cf6 100%);--color-growth-gain: #10b981;--color-growth-gain-light: #ecfdf5;--color-growth-gain-gradient: linear-gradient(135deg, #10b981 0%, #059669 100%);--color-theme-girl-primary: #f093fb;--color-theme-girl-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--color-theme-boy-primary: #3b82f6;--color-theme-boy-gradient: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);--color-theme-neutral-primary: #667eea;--color-theme-neutral-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--color-physical: #3880ff;--color-physical-light: #e3f2fd;--color-cognitive: #f59e0b;--color-cognitive-light: #fff8e1;--color-social: #8b5cf6;--color-social-light: #f3e8ff;--color-language: #10b981;--color-language-light: #ecfdf5;--color-emotional: #e11d48;--color-emotional-light: #fef2f2;--color-success: #10b981;--color-success-light: #ecfdf5;--color-warning: #f59e0b;--color-warning-light: #fffbeb;--color-error: #ef4444;--color-error-light: #fef2f2;--color-info: #3b82f6;--color-info-light: #eff6ff;--color-neutral-0: #ffffff;--color-neutral-50: #f9fafb;--color-neutral-100: #f3f4f6;--color-neutral-200: #e5e7eb;--color-neutral-300: #d1d5db;--color-neutral-400: #9ca3af;--color-neutral-500: #6b7280;--color-neutral-600: #4b5563;--color-neutral-700: #374151;--color-neutral-800: #1f2937;--color-neutral-900: #111827;--color-neutral-950: #030712;--color-glass-bg-light: rgba(255, 255, 255, .9);--color-glass-bg-dark: rgba(255, 255, 255, .05);--color-glass-border-light: rgba(255, 255, 255, .3);--color-glass-border-dark: rgba(255, 255, 255, .1)}[data-theme=dark],.dark{--color-background-primary: #0a0a0b;--color-background-secondary: #1a1a1b;--color-background-tertiary: #2d2d30;--color-background-quaternary: #3e3e42;--color-text-primary: #ffffff;--color-text-secondary: #e4e4e7;--color-text-tertiary: #a1a1aa;--color-text-quaternary: #71717a;--color-border-primary: #27272a;--color-border-secondary: #3f3f46;--color-border-tertiary: #52525b;--color-theme-girl-primary: #ec4899;--color-theme-girl-gradient: linear-gradient(135deg, #ec4899 0%, #be185d 100%);--color-theme-boy-primary: #3b82f6;--color-theme-boy-gradient: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);--color-theme-neutral-primary: #667eea;--color-theme-neutral-gradient: linear-gradient(135deg, #667eea 0%, #5b21b6 100%);--color-tiny-triumph-light: rgba(102, 126, 234, .1);--color-steady-step-light: rgba(168, 85, 247, .1);--color-growth-gain-light: rgba(16, 185, 129, .1);--color-physical-light: rgba(56, 128, 255, .1);--color-cognitive-light: rgba(245, 158, 11, .1);--color-social-light: rgba(139, 92, 246, .1);--color-language-light: rgba(16, 185, 129, .1);--color-emotional-light: rgba(225, 29, 72, .1);--color-success-light: rgba(16, 185, 129, .1);--color-warning-light: rgba(245, 158, 11, .1);--color-error-light: rgba(239, 68, 68, .1);--color-info-light: rgba(59, 130, 246, .1)}.card{position:relative;display:flex;flex-direction:column;background:var(--ion-color-background, #ffffff);border:1px solid var(--ion-color-light-shade, #e5e7eb);overflow:hidden;transition:all .2s ease-in-out}.card .card__glass-overlay{position:absolute;top:0;left:0;right:0;height:1px;pointer-events:none;z-index:1}.dark .card,[data-theme=dark] .card{background:var(--ion-color-dark, #1f2937);border-color:var(--ion-color-dark-shade, #374151);color:var(--ion-color-light, #ffffff)}.card--sm{min-height:120px}.card--md{min-height:160px}.card--lg{min-height:200px}.card--xl{min-height:280px}.card--radius-none{border-radius:0}.card--radius-sm{border-radius:.25rem}.card--radius-md{border-radius:.5rem}.card--radius-lg{border-radius:.75rem}.card--radius-xl{border-radius:1.25rem}.card--radius-full{border-radius:9999px}.card--default{box-shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a}.card--elevated{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.dark .card--elevated,[data-theme=dark] .card--elevated{box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -2px #0003}.card--outlined{border:2px solid var(--ion-color-light-shade, #e5e7eb);box-shadow:none}.card--filled{background:var(--ion-color-light, #f9fafb);border:none;box-shadow:none}.card--gradient{background:var(--color-theme-neutral-gradient);border:none;color:#fff}.card--gradient .card__header,.card--gradient .card__body,.card--gradient .card__footer{color:#fff}.card--glass{background:#ffffffe6;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px #0000001a}.dark .card--glass,[data-theme=dark] .card--glass{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d}.card--glass .card__glass-overlay{position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);border-radius:inherit}.card--theme-baby{border-color:var(--color-primary-500)}.card--theme-baby.card--gradient{background:var(--theme-primary-gradient)}.card--theme-milestone{border-color:var(--color-theme-girl-primary)}.card--theme-milestone.card--gradient{background:var(--color-theme-girl-gradient)}.card--theme-achievement{border-color:var(--color-growth-gain)}.card--theme-achievement.card--gradient{background:var(--color-growth-gain-gradient)}.card--theme-growth{border-color:var(--color-growth-gain)}.card--theme-growth.card--gradient{background:var(--color-growth-gain-gradient)}.card--theme-media{border-color:var(--color-steady-step)}.card--theme-media.card--gradient{background:var(--color-steady-step-gradient)}.card--interactive{cursor:pointer;user-select:none}.card--interactive:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.card--interactive:active{transform:scale(.98)}.card--hoverable{transition:all .2s ease-out}@media (hover: hover) and (pointer: fine){.card--hoverable:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.card--hoverable:hover.card--glass{box-shadow:0 12px 40px #00000026}.dark .card--hoverable:hover.card--glass,[data-theme=dark] .card--hoverable:hover.card--glass{box-shadow:0 12px 40px #0006}}.card--animated{transition:all .2s ease-out}.card--blur{backdrop-filter:blur(8px)}.card--loading{pointer-events:none;opacity:.7}.card__loading-overlay{position:absolute;inset:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:1}.card__spinner{width:24px;height:24px;border:2px solid var(--color-neutral-200);border-top:2px solid var(--color-primary-500);border-radius:50%;animation:spin 1s linear infinite}.card__header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--ion-color-light-shade, #e5e7eb)}.card__header-content{flex:1;min-width:0}.card__header-actions{flex-shrink:0;margin-left:1rem}.card__body{flex:1;display:flex;flex-direction:column}.card__body--padding-none{padding:0}.card__body--padding-sm{padding:.5rem}.card__body--padding-md{padding:1rem}.card__body--padding-lg{padding:1.5rem}.card__footer{display:flex;align-items:center;padding:1rem;border-top:1px solid var(--ion-color-light-shade, #e5e7eb)}.card__footer--justify-start{justify-content:flex-start}.card__footer--justify-center{justify-content:center}.card__footer--justify-end{justify-content:flex-end}.card__footer--justify-between{justify-content:space-between}.card{margin:.5rem}@media (min-width: 768px){.card{margin:1rem}}@media (min-width: 1024px){.card{margin:1.5rem}}@media (prefers-reduced-motion: reduce){.card *{animation:none!important;transition:none!important}.card:hover{transform:none!important}}@media (prefers-contrast: high){.card{border:2px solid rgba(255,255,255,.5)!important}.card .card__header,.card .card__body,.card .card__footer{border-color:#ffffff4d!important}}@media (max-width: 479px){.card{margin:.25rem}.card .card__header,.card .card__body--padding-md{padding:.75rem}.card .card__body--padding-lg{padding:1rem}.card .card__footer{padding:.75rem}}@media (min-width: 768px) and (hover: hover) and (pointer: fine){.card--hoverable:hover{transform:translateY(-4px)}}.info-card__header{display:flex;align-items:center;gap:.75rem}.info-card__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:.5rem;background:var(--ion-color-light, #f9fafb);color:var(--ion-color-primary, #667eea)}.info-card__text{flex:1;min-width:0}.info-card__title{font-size:.875rem;font-weight:500;color:var(--ion-color-medium, #6b7280);margin-bottom:.25rem}.info-card__subtitle{font-size:.75rem;color:var(--ion-color-medium-shade, #9ca3af)}.info-card__value{font-size:1.875rem;font-weight:700;color:var(--ion-color-dark, #1f2937);margin-bottom:.5rem}.info-card__trend{display:flex;align-items:center;gap:.25rem;font-size:.875rem}.info-card__trend--up{color:#10b981}.info-card__trend--down{color:#ef4444}.info-card__trend--neutral{color:var(--ion-color-medium, #6b7280)}.info-card__trend-icon{font-size:1rem}.info-card__trend-value{font-weight:600}.info-card__trend-label{color:var(--ion-color-medium, #6b7280);margin-left:.25rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.baby-profile-card{position:relative;border-radius:16px;padding:24px;min-height:400px;overflow:hidden;color:#fff;box-shadow:0 10px 25px #00000026;transition:all .3s ease}@media (max-width: 768px){.baby-profile-card{margin:0 16px;padding:20px;min-height:380px}}.baby-profile-card[data-theme=dark]{box-shadow:0 10px 25px #0006}.baby-profile-card__photo-container{display:flex;justify-content:center;margin-top:20px;margin-bottom:24px;position:relative}.baby-profile-card__photo{width:120px;height:120px;border-radius:50%;border:4px solid rgba(255,255,255,.3);position:relative;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;transition:transform .2s ease}.baby-profile-card__photo:hover{transform:scale(1.05)}.baby-profile-card__photo--no-photo{background:#fff3}@media (max-width: 768px){.baby-profile-card__photo{width:100px;height:100px}}.baby-profile-card__photo-overlay{position:absolute;top:-8px;right:-8px;display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.baby-profile-card:hover .baby-profile-card__photo-overlay{opacity:1}.baby-profile-card__photo-button{width:32px;height:32px;border-radius:50%;background:#0009;border:none;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.baby-profile-card__photo-button:hover{background:#000c;transform:scale(1.1)}.baby-profile-card__photo-button ion-icon{font-size:16px}.baby-profile-card__name{text-align:center;margin-bottom:8px}.baby-profile-card__name h1{font-size:32px;font-weight:700;margin:0;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2);line-height:1.2}@media (max-width: 768px){.baby-profile-card__name h1{font-size:28px}}.baby-profile-card__age{text-align:center;margin-bottom:16px}.baby-profile-card__age ion-text{font-size:18px;font-weight:500;color:#ffffffe6}@media (max-width: 768px){.baby-profile-card__age ion-text{font-size:16px}}.baby-profile-card__info-row{display:flex;align-items:center;justify-content:center;margin-bottom:8px}.baby-profile-card__info-row ion-icon{margin-right:8px;font-size:16px;color:#fffc}.baby-profile-card__info-row ion-text{font-size:16px;color:#fffc}@media (max-width: 768px){.baby-profile-card__info-row ion-text{font-size:14px}}.baby-profile-card__stats-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}@media (max-width: 768px){.baby-profile-card__stats-row{justify-content:center}}.baby-profile-card__achievement-count{background:#fff3;border-radius:12px;padding:12px 16px;display:flex;align-items:center;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.baby-profile-card__achievement-count ion-icon{margin-right:8px;font-size:20px;color:gold}.baby-profile-card__achievement-count-number{font-size:24px;font-weight:700;color:#fff;line-height:1;margin-bottom:2px}.baby-profile-card__achievement-count-label{font-size:12px;color:#fffc;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.baby-profile-card__badges{display:flex;gap:8px;flex-wrap:wrap}.baby-profile-card__badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.baby-profile-card__badge--stage{background:gold;color:#000}.baby-profile-card__badge--latest{background:#ff69b4;color:#fff}.baby-profile-card__profile-button{margin-bottom:16px}.baby-profile-card__profile-button ion-button{--background: rgba(255, 255, 255, .2);--color: white;--border-radius: 12px;font-size:16px;font-weight:600;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.baby-profile-card__profile-button ion-button:hover{--background: rgba(255, 255, 255, .3);transform:translateY(-1px)}.baby-profile-card__message{text-align:center;font-size:14px;color:#fffc;font-style:italic;line-height:1.4;padding:0 8px}@media (max-width: 768px){.baby-profile-card__message{font-size:13px}}.baby-profile-card:hover{transform:translateY(-2px);box-shadow:0 15px 35px #0003}.baby-profile-card--loading{opacity:.7;pointer-events:none}.baby-profile-card--loading:after{content:"";position:absolute;inset:0;background:#ffffff1a;backdrop-filter:blur(2px)}.baby-profile-card--error{border:2px solid rgba(239,68,68,.5);background:linear-gradient(135deg,#ef4444,#dc2626)}[data-theme=dark] .baby-profile-card__achievement-count{background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}[data-theme=dark] .baby-profile-card__profile-button ion-button{--background: rgba(255, 255, 255, .15);border:1px solid rgba(255,255,255,.2)}[data-theme=dark] .baby-profile-card__profile-button ion-button:hover{--background: rgba(255, 255, 255, .25)}.theme-switcher__gender ion-segment{--background: rgba(255, 255, 255, .1);--indicator-color: rgba(255, 255, 255, .2);--indicator-box-shadow: 0 2px 8px rgba(0, 0, 0, .1);border-radius:12px;backdrop-filter:blur(5px)}.theme-switcher__gender ion-segment-button{--color: rgba(255, 255, 255, .7);--color-checked: rgba(255, 255, 255, 1);--indicator-color: rgba(255, 255, 255, .2);--ripple-color: rgba(255, 255, 255, .1)}.theme-switcher__gender ion-segment-button ion-icon{transition:all .2s ease}.theme-switcher__gender ion-segment-button.segment-button-checked ion-icon{transform:scale(1.1)}.theme-switcher__gender--compact ion-segment{--height: 36px}.theme-switcher__gender--compact ion-segment ion-segment-button{--padding-start: 8px;--padding-end: 8px;min-width:44px}.theme-switcher__mode ion-item{--background: transparent;--border-color: rgba(255, 255, 255, .1);--color: rgba(255, 255, 255, .9);border-radius:8px}.theme-switcher__mode ion-item ion-icon{transition:all .2s ease}.theme-switcher__mode ion-item ion-toggle{--handle-background: #ffffff;--handle-background-checked: #ffffff;--track-background: rgba(255, 255, 255, .2);--track-background-checked: rgba(255, 255, 255, .4);--handle-box-shadow: 0 2px 6px rgba(0, 0, 0, .2)}.theme-switcher__mode ion-item ion-toggle::part(handle){transition:all .3s cubic-bezier(.25,.46,.45,.94)}.theme-switcher__mode--compact ion-item{--min-height: 36px;--padding-start: 0;--padding-end: 0}.theme-switcher:not(.theme-switcher--inline) ion-card{box-shadow:0 8px 32px #0000001a,0 2px 8px #0000000d;backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15)}.theme-switcher:not(.theme-switcher--inline) ion-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);border-radius:16px 16px 0 0}.theme-switcher:not(.theme-switcher--inline) ion-card-header ion-card-title{display:flex;align-items:center;gap:8px}.theme-switcher:not(.theme-switcher--inline) ion-card-header ion-card-title:before{content:"🎨";font-size:1.2em}.theme-switcher--compact ion-card{margin:8px}.theme-switcher--compact ion-card ion-card-header{padding:12px 16px 8px}.theme-switcher--compact ion-card ion-card-content{padding:0 16px 12px}.theme-switcher--inline{padding:16px;border-radius:12px;background:#ffffff0d;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1)}.dark-theme .theme-switcher__gender ion-segment{--background: rgba(0, 0, 0, .2);--indicator-color: rgba(255, 255, 255, .1)}.dark-theme .theme-switcher__gender ion-segment-button{--color: rgba(255, 255, 255, .6);--color-checked: rgba(255, 255, 255, .95)}.dark-theme .theme-switcher__mode ion-toggle{--track-background: rgba(255, 255, 255, .15);--track-background-checked: rgba(255, 255, 255, .3)}.dark-theme .theme-switcher:not(.theme-switcher--inline) ion-card{background:#0000004d!important;border-color:#ffffff1a}.dark-theme .theme-switcher:not(.theme-switcher--inline) ion-card:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.dark-theme .theme-switcher--inline{background:#0003;border-color:#ffffff1a}@media (max-width: 768px){.theme-switcher:not(.theme-switcher--compact) ion-card{margin:12px}.theme-switcher__gender ion-segment-button ion-label{font-size:14px}}@media (max-width: 480px){.theme-switcher__gender:not(.theme-switcher__gender--compact) ion-segment-button ion-label{display:none}}@media (hover: hover){.theme-switcher__gender ion-segment-button:hover:not(.segment-button-checked){--color: rgba(255, 255, 255, .8)}.theme-switcher__gender ion-segment-button:hover:not(.segment-button-checked) ion-icon{transform:scale(1.05)}.theme-switcher__mode ion-item:hover ion-icon{transform:scale(1.05)}}@media (prefers-reduced-motion: reduce){.theme-switcher *{transition:none!important;animation:none!important}}@media (prefers-contrast: high){.theme-switcher__gender ion-segment{--background: rgba(255, 255, 255, .2);--indicator-color: rgba(255, 255, 255, .4);border:2px solid rgba(255,255,255,.3)}.theme-switcher:not(.theme-switcher--inline) ion-card{border:2px solid rgba(255,255,255,.3)}.theme-switcher--inline{border:2px solid rgba(255,255,255,.3)}}.milestone-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.milestone-badge--tiny-triumph{box-shadow:0 4px 12px #667eea4d,0 2px 6px #667eea33}.milestone-badge--steady-step{box-shadow:0 4px 12px #f093fb4d,0 2px 6px #f093fb33}.milestone-badge--growth-gain{box-shadow:0 4px 12px #4facfe4d,0 2px 6px #4facfe33}.milestone-badge--sm{transform:scale(.8)}.milestone-badge--lg{transform:scale(1.1)}.milestone-badge--animated .sparkle{position:absolute;pointer-events:none;user-select:none;animation:sparkle 1.5s infinite}@media (hover: hover){.milestone-badge:hover{transform:scale(1.05)}.milestone-badge:hover--sm{transform:scale(.85)}.milestone-badge:hover--lg{transform:scale(1.15)}}.milestone-badge .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.milestone-badge .category-indicator{transition:all .2s ease-out}@media (hover: hover){.milestone-badge:hover .milestone-badge .category-indicator{transform:scale(1.1)}}.dark-theme .milestone-badge{box-shadow:0 4px 12px #0006,0 2px 6px #0000004d!important;border-color:#fff3!important}@media (prefers-reduced-motion: reduce){.milestone-badge{animation:none!important;transition:none!important}.milestone-badge .sparkle{animation:none!important}.milestone-badge:hover{transform:none!important}}@media (prefers-contrast: high){.milestone-badge{border-width:3px!important;box-shadow:0 0 0 2px #ffffff80,0 4px 12px #0006!important}}@keyframes badgePulse{0%,to{transform:scale(1);box-shadow:0 4px 12px #667eea4d,0 2px 6px #667eea33}50%{transform:scale(1.05);box-shadow:0 6px 16px #667eea66,0 3px 8px #667eea4d}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}.milestone-badge--celebrating{animation:celebrationBurst .8s cubic-bezier(.68,-.55,.265,1.55)}.milestone-badge--new-achievement{animation:newAchievement 1s cubic-bezier(.68,-.55,.265,1.55)}.milestone-badge--bouncing{animation:badgePulse 1s infinite}@media (max-width: 480px){.milestone-badge--lg{transform:scale(1)}.milestone-badge--md{transform:scale(.9)}.milestone-badge--sm{transform:scale(.7)}}.floating-add-modal-overlay{position:fixed;inset:0;background-color:#0000004d;z-index:9998;animation:fadeIn .2s ease-out}.floating-add-modal-actions{position:fixed;z-index:9999;display:flex;flex-direction:column;gap:12px}.floating-add-action-item{display:flex;align-items:center;gap:12px}.floating-add-action-button{position:relative;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease-in-out;overflow:hidden}.floating-add-action-button:hover{transform:scale(1.1);box-shadow:0 6px 16px #0003!important}.floating-add-action-button:active{transform:scale(.95)}.floating-add-action-button ion-ripple-effect{color:#ffffff4d}.floating-add-action-label{border-radius:8px;padding:8px 12px;white-space:nowrap;box-shadow:0 2px 8px #0000001a;background-color:var(--ion-color-light)}body.dark .floating-add-action-label{background-color:var(--ion-color-dark-shade)}.floating-add-button .floating-add-fab-button{--box-shadow: 0 4px 12px rgba(0, 0, 0, .15);--transition: all .2s ease-in-out}.floating-add-button .floating-add-fab-button:hover{--box-shadow: 0 6px 16px rgba(0, 0, 0, .2);transform:scale(1.05)}.floating-add-button .floating-add-fab-button:active{transform:scale(.95)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.floating-add-modal-actions{padding:16px!important}.floating-add-action-item{gap:8px}.floating-add-action-label{padding:6px 10px;font-size:12px}}@media (prefers-contrast: high){.floating-add-action-button{border:2px solid rgba(255,255,255,.8)}.floating-add-action-label{border:1px solid var(--ion-color-medium)}}@media (prefers-reduced-motion: reduce){.floating-add-modal-overlay,.floating-add-action-item,.floating-add-action-button{animation:none!important;transition:none!important}.floating-add-action-button:hover{transform:none!important}}.floating-add-action-button:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:2px}@media (hover: none) and (pointer: coarse){.floating-add-action-button:hover{transform:none;box-shadow:0 4px 12px #00000026!important}}.milestone-progress-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);border-radius:20px 20px 0 0}@media (hover: hover){.milestone-progress-card:hover{transform:translateY(-2px);transition:transform .2s ease-out;box-shadow:0 12px 40px #00000026!important}}.milestone-progress-card .category-card{transition:all .2s ease-out}@media (hover: hover){.milestone-progress-card .category-card:hover{transform:scale(1.02);box-shadow:0 4px 12px #0000001a}}.milestone-progress-card .circular-progress.updating{animation:progressPulse .6s ease-out}.milestone-progress-card .weekly-progress-bar{position:relative;overflow:hidden}.milestone-progress-card .weekly-progress-bar:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}.milestone-progress-card ion-button[expand=block]{position:relative;overflow:hidden}.milestone-progress-card ion-button[expand=block]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease-out}@media (hover: hover){.milestone-progress-card ion-button[expand=block]:hover:before{left:100%}}@media (max-width: 768px){.milestone-progress-card{margin:8px}.milestone-progress-card ion-card-header{padding:16px 16px 8px}.milestone-progress-card ion-card-content{padding:0 16px 16px}.milestone-progress-card .category-grid ion-col{padding:2px}.milestone-progress-card .category-grid ion-col .category-card{padding:12px}.milestone-progress-card .category-grid ion-col .category-card ion-icon{font-size:16px}.milestone-progress-card .circular-progress{transform:scale(.9)}}@media (max-width: 480px){.milestone-progress-card .category-grid ion-col[size="6"]{size:12;max-width:100%;flex-basis:100%}}.dark-theme .milestone-progress-card:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.dark-theme .milestone-progress-card .category-card{backdrop-filter:blur(8px)}@media (hover: hover){.dark-theme .milestone-progress-card .category-card:hover{background:#ffffff0d!important}}.dark-theme .milestone-progress-card .weekly-progress-section{backdrop-filter:blur(8px)}.milestone-progress-card.loading .circular-progress{opacity:.6}.milestone-progress-card.loading .circular-progress circle{stroke-dasharray:10 5;animation:progressLoading 1.5s linear infinite}.milestone-progress-card.loading .category-card{opacity:.7;animation:pulse 1.5s ease-in-out infinite}.milestone-progress-card.milestone-completed .circular-progress{animation:celebrationPulse .8s ease-out}@media (prefers-reduced-motion: reduce){.milestone-progress-card *{animation:none!important;transition:none!important}.milestone-progress-card:hover{transform:none!important}}@media (prefers-contrast: high){.milestone-progress-card{border:2px solid rgba(255,255,255,.5)!important}.milestone-progress-card .category-card{border:1px solid rgba(255,255,255,.3)!important}.milestone-progress-card ion-text{font-weight:600!important}}@keyframes progressPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes shimmer{0%{left:-100%}to{left:100%}}@keyframes celebrationPulse{0%{transform:scale(1)}25%{transform:scale(1.1)}50%{transform:scale(1.05)}75%{transform:scale(1.08)}to{transform:scale(1)}}.milestone-progress-card--updating .circular-progress{animation:progressPulse .6s ease-out}.milestone-progress-card--completed .circular-progress{animation:celebrationPulse .8s ease-out}.milestone-progress-card--loading .circular-progress circle{stroke-dasharray:10 5;animation:progressLoading 1.5s linear infinite}.milestone-progress-card--loading .category-card{animation:pulse 1.5s ease-in-out infinite}.recent-milestones-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);border-radius:20px 20px 0 0}@media (hover: hover){.recent-milestones-card:hover{transform:translateY(-2px);transition:transform .2s ease-out;box-shadow:0 12px 40px #00000026!important}}.recent-milestones-card .milestone-gallery::-webkit-scrollbar{display:none}.recent-milestones-card .milestone-gallery{scroll-behavior:smooth;scroll-snap-type:x mandatory}.recent-milestones-card .milestone-photo-card{scroll-snap-align:start;transition:all .3s cubic-bezier(.25,.46,.45,.94)}@media (hover: hover){.recent-milestones-card .milestone-photo-card:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 24px #00000040}.recent-milestones-card .milestone-photo-card:hover .milestone-badge{transform:scale(1.1)}}.recent-milestones-card .milestone-photo-card:active{transform:translateY(-2px) scale(1.01)}.recent-milestones-card .milestone-photo-card--new{animation:milestonePhotoAppear .8s cubic-bezier(.68,-.55,.265,1.55)}.recent-milestones-card .milestone-photo-card--new:after{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent,rgba(16,185,129,.2),transparent);pointer-events:none;animation:newPhotoShimmer 2s infinite}.recent-milestones-card ion-avatar{--border-radius: 50%;transition:all .2s ease-out}@media (hover: hover){ion-item:hover .recent-milestones-card ion-avatar{transform:scale(1.05)}}.recent-milestones-card .milestone-content{flex:1;padding-left:12px}.recent-milestones-card .milestone-meta{display:flex;align-items:center;gap:8px}.recent-milestones-card .milestone-meta ion-chip{transition:all .2s ease-out}@media (hover: hover){.recent-milestones-card .milestone-meta ion-chip:hover{transform:scale(1.05)}}.recent-milestones-card .milestone-new{animation:milestoneAppear .6s ease-out}.recent-milestones-card .milestone-new .milestone-badge{animation:newAchievement 1s cubic-bezier(.68,-.55,.265,1.55)}.recent-milestones-card .upcoming-milestone{position:relative;overflow:hidden}.recent-milestones-card .upcoming-milestone:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--ion-color-primary);border-radius:0 2px 2px 0}.recent-milestones-card .upcoming-milestone:after{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--ion-color-primary),transparent);animation:upcomingPulse 2s infinite}.recent-milestones-card .empty-state{text-align:center;padding:40px 20px}.recent-milestones-card .empty-state ion-icon{opacity:.3;margin-bottom:12px;transition:all .3s ease-out}@media (hover: hover){.recent-milestones-card .empty-state:hover ion-icon{opacity:.5;transform:scale(1.1)}}.recent-milestones-card ion-button[expand=block]{position:relative;overflow:hidden}.recent-milestones-card ion-button[expand=block]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease-out}@media (hover: hover){.recent-milestones-card ion-button[expand=block]:hover:before{left:100%}}.recent-milestones-card .milestone-timeline{position:relative}.recent-milestones-card .milestone-timeline:before{content:"";position:absolute;left:28px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--ion-color-primary-tint),transparent);opacity:.3}@media (max-width: 768px){.recent-milestones-card{margin:8px}.recent-milestones-card ion-card-header{padding:16px 16px 8px}.recent-milestones-card ion-card-content{padding:0 16px 16px}.recent-milestones-card ion-item{--min-height: 64px}.recent-milestones-card ion-item ion-avatar{width:48px;height:48px}.recent-milestones-card .milestone-title{font-size:15px!important}.recent-milestones-card .milestone-description{font-size:13px!important}}@media (max-width: 480px){.recent-milestones-card ion-item{--min-height: 56px}.recent-milestones-card ion-item ion-avatar{width:44px;height:44px}.recent-milestones-card .milestone-meta{flex-wrap:wrap;gap:4px}.recent-milestones-card .milestone-meta ion-chip{height:20px;font-size:10px}}.dark-theme .recent-milestones-card:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.dark-theme .recent-milestones-card ion-item{backdrop-filter:blur(8px)}@media (hover: hover){.dark-theme .recent-milestones-card ion-item:hover{background:#ffffff0d!important}}.dark-theme .recent-milestones-card .upcoming-milestone{backdrop-filter:blur(8px)}.dark-theme .recent-milestones-card .empty-state ion-icon{opacity:.2}.recent-milestones-card.loading .milestone-badge{opacity:.6;animation:pulse 1.5s ease-in-out infinite}.recent-milestones-card.loading ion-item{opacity:.7;animation:pulse 1.5s ease-in-out infinite}.recent-milestones-card.celebrating .milestone-new{animation:milestoneAppear .6s ease-out}.recent-milestones-card.celebrating .milestone-new .milestone-badge{animation:celebrationBurst .8s cubic-bezier(.68,-.55,.265,1.55)}@media (prefers-reduced-motion: reduce){.recent-milestones-card *{animation:none!important;transition:none!important}.recent-milestones-card:hover{transform:none!important}}@media (prefers-contrast: high){.recent-milestones-card{border:2px solid rgba(255,255,255,.5)!important}.recent-milestones-card ion-item{border:1px solid rgba(255,255,255,.3)!important}.recent-milestones-card .upcoming-milestone{border:2px solid var(--ion-color-primary)!important}.recent-milestones-card ion-text{font-weight:600!important}}@keyframes milestoneAppear{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes newBadgePulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes upcomingPulse{0%,to{opacity:.3}50%{opacity:.7}}@keyframes celebrationBurst{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:1}}@keyframes newAchievement{0%{transform:scale(0) rotate(-180deg);opacity:0}50%{transform:scale(1.3) rotate(0);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@keyframes milestonePhotoAppear{0%{opacity:0;transform:translateY(30px) scale(.8) rotateY(-15deg)}50%{opacity:.8;transform:translateY(-5px) scale(1.05) rotateY(0)}to{opacity:1;transform:translateY(0) scale(1) rotateY(0)}}@keyframes newPhotoShimmer{0%{background-position:-200% 0;opacity:0}50%{opacity:.3}to{background-position:200% 0;opacity:0}}.recent-milestones-card--updating .milestone-new{animation:milestoneAppear .6s ease-out}.recent-milestones-card--celebrating .milestone-new .milestone-badge{animation:celebrationBurst .8s cubic-bezier(.68,-.55,.265,1.55)}.recent-milestones-card--loading .milestone-badge,.recent-milestones-card--loading ion-item{animation:pulse 1.5s ease-in-out infinite}.milestone-detail-modal-overlay{position:fixed;inset:0;background-color:#0009;z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;overflow-y:auto;animation:fadeIn .2s ease-out}.milestone-detail-modal-content{background-color:var(--ion-color-light);border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow:hidden;position:relative;box-shadow:0 20px 40px #0000004d;display:flex;flex-direction:column;animation:slideUp .3s ease-out}body.dark .milestone-detail-modal-content{background-color:var(--ion-color-dark)}.milestone-detail-modal-header{padding:20px;border-bottom:1px solid var(--ion-color-light-shade);display:flex;justify-content:space-between;align-items:center;flex-shrink:0}body.dark .milestone-detail-modal-header{border-bottom-color:var(--ion-color-dark-tint)}.milestone-detail-modal-body{flex:1;overflow:auto;color:var(--ion-color-dark)}body.dark .milestone-detail-modal-body{color:var(--ion-color-light)}@media (max-width: 768px){.milestone-detail-modal-overlay{padding:20px 10px 10px;align-items:flex-start}.milestone-detail-modal-content{max-height:95vh;border-radius:12px}.milestone-detail-modal-header{padding:16px}}.milestone-detail-card__hero{position:relative;height:300px;cursor:pointer;overflow:hidden;border-radius:var(--ion-border-radius) var(--ion-border-radius) 0 0}.milestone-detail-card__hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.6) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--ion-padding)}.milestone-detail-card__hero-content{display:flex;align-items:center;gap:12px;margin-bottom:8px}.milestone-detail-card__hero-title{color:#fff;font-size:1.5rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.3);margin:0}.milestone-detail-card__hero-subtitle{color:#ffffffe6;font-size:.875rem;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.3)}.milestone-detail-card__content{padding:var(--ion-padding);background-color:var(--ion-color-light);color:var(--ion-color-dark)}body.dark .milestone-detail-card__content{background-color:var(--ion-color-dark);color:var(--ion-color-light)}.milestone-detail-card__tabs{margin-bottom:var(--ion-margin)}.milestone-detail-card__tabs .segment-button{--color: var(--ion-color-medium);--color-checked: var(--ion-color-primary);--indicator-color: var(--ion-color-primary);--background: transparent;--background-checked: var(--ion-color-primary-tint)}body.dark .milestone-detail-card__tabs .segment-button{--color: var(--ion-color-medium);--color-checked: var(--ion-color-primary-tint);--background-checked: rgba(102, 126, 234, .2)}.milestone-detail-card__details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--ion-padding);margin-bottom:var(--ion-margin)}.milestone-detail-card__details-item{text-align:center}.milestone-detail-card__details-item-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;color:var(--ion-color-medium)}body.dark .milestone-detail-card__details-item-label{color:var(--ion-color-medium-tint)}.milestone-detail-card__details-item-value{font-size:.875rem;font-weight:600;color:var(--ion-color-dark)}body.dark .milestone-detail-card__details-item-value{color:var(--ion-color-light)}.milestone-detail-card__details-item-value--status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.milestone-detail-card__details-item-value--status.achieved{background-color:var(--ion-color-success);color:var(--ion-color-success-contrast)}.milestone-detail-card__details-item-value--status.pending{background-color:var(--ion-color-warning);color:var(--ion-color-warning-contrast)}.milestone-detail-card__details-item-value--status.skipped{background-color:var(--ion-color-medium);color:var(--ion-color-medium-contrast)}.milestone-detail-card__description{margin-bottom:var(--ion-margin)}.milestone-detail-card__description-title{font-size:1rem;font-weight:600;margin-bottom:8px;color:var(--ion-color-dark)}body.dark .milestone-detail-card__description-title{color:var(--ion-color-light)}.milestone-detail-card__description-text{font-size:.875rem;line-height:1.5;color:var(--ion-color-medium-shade)}body.dark .milestone-detail-card__description-text{color:var(--ion-color-medium-tint)}.milestone-detail-card__photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-bottom:var(--ion-margin)}.milestone-detail-card__photos-item{aspect-ratio:1;border-radius:var(--ion-border-radius);overflow:hidden;cursor:pointer;transition:transform .2s ease-in-out}.milestone-detail-card__photos-item:hover{transform:scale(1.05)}.milestone-detail-card__photos-item img{width:100%;height:100%;object-fit:cover}.milestone-detail-card__social{border-top:1px solid;padding-top:var(--ion-padding);margin-top:var(--ion-margin);border-color:var(--ion-color-light-shade)}body.dark .milestone-detail-card__social{border-color:var(--ion-color-dark-tint)}.milestone-detail-card__social-reactions{display:flex;gap:8px;margin-bottom:var(--ion-margin)}.milestone-detail-card__social-reactions-button{display:flex;align-items:center;gap:4px;padding:8px 12px;border-radius:20px;border:1px solid;background:transparent;cursor:pointer;transition:all .2s ease-in-out;font-size:.875rem;border-color:var(--ion-color-light-shade);color:var(--ion-color-medium)}body.dark .milestone-detail-card__social-reactions-button{border-color:var(--ion-color-dark-tint);color:var(--ion-color-medium-tint)}.milestone-detail-card__social-reactions-button:hover{background-color:var(--ion-color-light-tint)}body.dark .milestone-detail-card__social-reactions-button:hover{background-color:var(--ion-color-dark-shade)}.milestone-detail-card__social-reactions-button--active,body.dark .milestone-detail-card__social-reactions-button--active{background-color:var(--ion-color-primary);border-color:var(--ion-color-primary);color:var(--ion-color-primary-contrast)}.milestone-detail-card__comments-list{margin-bottom:var(--ion-margin)}.milestone-detail-card__comments-item{display:flex;gap:12px;margin-bottom:16px;padding:12px;border-radius:var(--ion-border-radius);background-color:var(--ion-color-light-tint)}body.dark .milestone-detail-card__comments-item{background-color:var(--ion-color-dark-shade)}.milestone-detail-card__comments-item-avatar{width:32px;height:32px;border-radius:50%;background-color:var(--ion-color-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:.875rem;flex-shrink:0}.milestone-detail-card__comments-item-content{flex:1;min-width:0}.milestone-detail-card__comments-item-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.milestone-detail-card__comments-item-author{font-weight:600;font-size:.875rem;color:var(--ion-color-dark)}body.dark .milestone-detail-card__comments-item-author{color:var(--ion-color-light)}.milestone-detail-card__comments-item-time{font-size:.75rem;color:var(--ion-color-medium)}body.dark .milestone-detail-card__comments-item-time{color:var(--ion-color-medium-tint)}.milestone-detail-card__comments-item-text{font-size:.875rem;line-height:1.4;color:var(--ion-color-dark)}body.dark .milestone-detail-card__comments-item-text{color:var(--ion-color-light)}.milestone-detail-card__comments-input{display:flex;gap:8px;align-items:flex-end}.milestone-detail-card__comments-input textarea{flex:1;min-height:40px;max-height:120px;padding:8px 12px;border:1px solid;border-radius:var(--ion-border-radius);resize:none;font-family:inherit;font-size:.875rem;line-height:1.4;border-color:var(--ion-color-light-shade);background-color:#fff;color:var(--ion-color-dark)}body.dark .milestone-detail-card__comments-input textarea{border-color:var(--ion-color-dark-tint);background-color:var(--ion-color-dark-shade);color:var(--ion-color-light)}.milestone-detail-card__comments-input textarea::placeholder{color:var(--ion-color-medium)}body.dark .milestone-detail-card__comments-input textarea::placeholder{color:var(--ion-color-medium-tint)}.milestone-detail-card__comments-input textarea:focus{outline:none;border-color:var(--ion-color-primary)}.milestone-detail-card__comments-input-button{padding:8px 16px;background-color:var(--ion-color-primary);color:var(--ion-color-primary-contrast);border:none;border-radius:var(--ion-border-radius);font-weight:600;cursor:pointer;transition:background-color .2s ease-in-out}.milestone-detail-card__comments-input-button:hover{background-color:var(--ion-color-primary-shade)}.milestone-detail-card__comments-input-button:disabled{opacity:.5;cursor:not-allowed}.milestone-detail-card__recorded-by{display:flex;align-items:center;gap:12px;padding:var(--ion-padding);border-top:1px solid;margin-top:var(--ion-margin);border-color:var(--ion-color-light-shade);background-color:var(--ion-color-light-tint)}body.dark .milestone-detail-card__recorded-by{border-color:var(--ion-color-dark-tint);background-color:var(--ion-color-dark-shade)}.milestone-detail-card__recorded-by-avatar{width:40px;height:40px;border-radius:50%;background-color:var(--ion-color-primary);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;flex-shrink:0}.milestone-detail-card__recorded-by-info{flex:1;min-width:0}.milestone-detail-card__recorded-by-name{font-weight:600;margin-bottom:2px;color:var(--ion-color-dark)}body.dark .milestone-detail-card__recorded-by-name{color:var(--ion-color-light)}.milestone-detail-card__recorded-by-relationship{font-size:.875rem;color:var(--ion-color-medium)}body.dark .milestone-detail-card__recorded-by-relationship{color:var(--ion-color-medium-tint)}.milestone-detail-card .animate-fade-in{animation:fadeIn .3s ease-out}.milestone-detail-card .animate-slide-up{animation:slideUp .4s ease-out}.milestone-detail-card .transition-all{transition:all .2s ease-in-out}.growth-dashboard-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);border-radius:20px 20px 0 0}@media (hover: hover){.growth-dashboard-card:hover{transform:translateY(-2px);transition:transform .2s ease-out;box-shadow:0 12px 40px #00000026!important}}.growth-dashboard-card .measurement-card{transition:all .2s ease-out}@media (hover: hover){.growth-dashboard-card .measurement-card:hover{transform:scale(1.02);box-shadow:0 4px 12px #0000001a}}.growth-dashboard-card .percentile-card{transition:all .2s ease-out}.growth-dashboard-card .percentile-card .circular-progress{margin:0 auto}.growth-dashboard-card .percentile-card ion-chip{width:100%;margin:8px auto 0;justify-content:center}.growth-dashboard-card .percentile-card ion-chip ion-label{font-size:10px;font-weight:600}@media (hover: hover){.growth-dashboard-card .percentile-card:hover{transform:scale(1.02)}}.growth-dashboard-card .chart-container{position:relative;transition:all .2s ease-out}.growth-dashboard-card .chart-container .mini-chart{border-radius:8px;overflow:hidden}.growth-dashboard-card .chart-container .mini-chart svg{display:block}@media (hover: hover){.growth-dashboard-card .chart-container:hover{transform:scale(1.02)}.growth-dashboard-card .chart-container:hover .mini-chart svg path{stroke-width:3;transition:stroke-width .2s ease-out}}.growth-dashboard-card .trend-indicator{font-size:16px;animation:pulse 2s infinite}.growth-dashboard-card .trend-indicator--up{color:#10b981}.growth-dashboard-card .trend-indicator--down{color:#ef4444}.growth-dashboard-card .trend-indicator--stable{color:#6b7280}.growth-dashboard-card .velocity-indicator{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;background:#10b9811a;color:#10b981;border-radius:12px;font-size:10px;font-weight:600}.growth-dashboard-card .velocity-indicator--negative{background:#ef44441a;color:#ef4444}.growth-dashboard-card ion-button[expand=block]{position:relative;overflow:hidden}.growth-dashboard-card ion-button[expand=block]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease-out}@media (hover: hover){.growth-dashboard-card ion-button[expand=block]:hover:before{left:100%}}@media (max-width: 768px){.growth-dashboard-card{margin:8px}.growth-dashboard-card ion-card-header{padding:16px 16px 8px}.growth-dashboard-card ion-card-content{padding:0 16px 16px}.growth-dashboard-card .measurement-grid ion-col{padding:2px}.growth-dashboard-card .measurement-grid ion-col .measurement-card{padding:12px}.growth-dashboard-card .measurement-grid ion-col .measurement-card ion-icon{font-size:16px}.growth-dashboard-card .percentile-card .circular-progress,.growth-dashboard-card .chart-container .mini-chart{transform:scale(.9)}}@media (max-width: 480px){.growth-dashboard-card .percentile-grid ion-col[size="6"]{size:12;max-width:100%;flex-basis:100%}.growth-dashboard-card .chart-grid ion-col[size="6"]{size:12;max-width:100%;flex-basis:100%}}.dark-theme .growth-dashboard-card:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.dark-theme .growth-dashboard-card .measurement-card,.dark-theme .growth-dashboard-card .percentile-card,.dark-theme .growth-dashboard-card .chart-container{backdrop-filter:blur(8px)}@media (hover: hover){.dark-theme .growth-dashboard-card .measurement-card:hover,.dark-theme .growth-dashboard-card .percentile-card:hover,.dark-theme .growth-dashboard-card .chart-container:hover{background:#ffffff0d!important}}.dark-theme .growth-dashboard-card .velocity-indicator{background:#10b98133!important}.dark-theme .growth-dashboard-card .velocity-indicator--negative{background:#ef444433!important}.growth-dashboard-card.loading .circular-progress{opacity:.6}.growth-dashboard-card.loading .circular-progress circle{stroke-dasharray:10 5;animation:progressLoading 1.5s linear infinite}.growth-dashboard-card.loading .measurement-card,.growth-dashboard-card.loading .percentile-card,.growth-dashboard-card.loading .chart-container{opacity:.7;animation:pulse 1.5s ease-in-out infinite}.growth-dashboard-card.loading .mini-chart{opacity:.5}.growth-dashboard-card.loading .mini-chart path{stroke-dasharray:5 3;animation:chartLoading 2s linear infinite}.growth-dashboard-card.measurement-added .measurement-card{animation:celebrationPulse .8s ease-out}.growth-dashboard-card.measurement-added .mini-chart{animation:chartGrow .6s ease-out}@media (prefers-reduced-motion: reduce){.growth-dashboard-card *{animation:none!important;transition:none!important}.growth-dashboard-card:hover{transform:none!important}.growth-dashboard-card .trend-indicator{animation:none!important}}@media (prefers-contrast: high){.growth-dashboard-card{border:2px solid rgba(255,255,255,.5)!important}.growth-dashboard-card .measurement-card,.growth-dashboard-card .percentile-card,.growth-dashboard-card .chart-container{border:1px solid rgba(255,255,255,.3)!important}.growth-dashboard-card ion-text{font-weight:600!important}.growth-dashboard-card .mini-chart path{stroke-width:3!important}}@keyframes progressLoading{0%{stroke-dashoffset:0}to{stroke-dashoffset:-15}}@keyframes chartLoading{0%{stroke-dashoffset:0}to{stroke-dashoffset:-8}}@keyframes pulse{0%,to{opacity:.7}50%{opacity:.9}}@keyframes celebrationPulse{0%{transform:scale(1)}25%{transform:scale(1.05)}50%{transform:scale(1.02)}75%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes chartGrow{0%{transform:scaleX(.8);opacity:.5}to{transform:scaleX(1);opacity:1}}.growth-dashboard-card--updating .measurement-card{animation:celebrationPulse .6s ease-out}.growth-dashboard-card--new-measurement .measurement-card{animation:celebrationPulse .8s ease-out}.growth-dashboard-card--new-measurement .mini-chart{animation:chartGrow .6s ease-out}.growth-dashboard-card--loading .circular-progress circle{stroke-dasharray:10 5;animation:progressLoading 1.5s linear infinite}.growth-dashboard-card--loading .measurement-card,.growth-dashboard-card--loading .percentile-card{animation:pulse 1.5s ease-in-out infinite}.growth-dashboard-card--loading .mini-chart path{stroke-dasharray:5 3;animation:chartLoading 2s linear infinite}.milestone-magic-hero:after{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg"><circle cx="20" cy="30" r="1" fill="white" opacity="0.2"/><circle cx="100" cy="50" r="1.5" fill="white" opacity="0.15"/><circle cx="160" cy="120" r="1" fill="white" opacity="0.2"/><circle cx="60" cy="160" r="0.8" fill="white" opacity="0.25"/></svg>');background-size:200px 200px;opacity:.4;animation:sparkleFloat 30s linear infinite}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes swipeInFromLeft{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes swipeInFromRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes swipeOutToLeft{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes swipeOutToRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-up{animation:slideUp .4s ease-out}.animate-bounce-in{animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}.animate-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:shimmer 1.5s infinite}.transition-all{transition:all .2s ease-in-out}.transition-colors{transition:color .2s ease-in-out,background-color .2s ease-in-out,border-color .2s ease-in-out}.transition-transform{transition:transform .2s ease-in-out}.gradient-tiny-triumph{background:var(--achievement-tiny-triumph)}.gradient-steady-step{background:var(--achievement-steady-step)}.gradient-growth-gain{background:var(--achievement-growth-gain)}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-3{margin:.75rem}.m-4{margin:1rem}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.gap-2{gap:.5rem}.gap-4{gap:1rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--ion-color-light)}::-webkit-scrollbar-thumb{background:var(--ion-color-medium);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--ion-color-medium-shade)}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.focus-visible:focus{outline:2px solid var(--ion-color-primary);outline-offset:2px}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}@supports (padding: env(safe-area-inset-top)){ion-tab-bar{padding-bottom:env(safe-area-inset-bottom)}}.pwa-install-prompt{position:fixed;bottom:20px;left:20px;right:20px;background:var(--ion-color-primary);color:var(--ion-color-primary-contrast);padding:16px;border-radius:12px;box-shadow:0 10px 25px #0003;transform:translateY(100px);opacity:0;transition:all .3s ease-out;z-index:10000}.pwa-install-prompt.show{transform:translateY(0);opacity:1}.loading-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:4px}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;color:var(--ion-color-medium)}.error-state ion-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:var(--ion-color-medium)}.empty-state ion-icon{font-size:5rem;margin-bottom:1rem;opacity:.3}.empty-state h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.empty-state p{margin:0;opacity:.8}.milestone-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:0 4px 12px #00000026;border:2px solid rgba(255,255,255,.3)}.milestone-badge--animated{animation:badgePulse 2s infinite}.milestone-badge--sm{width:32px;height:32px}.milestone-badge--sm .milestone-badge__icon{font-size:16px}.milestone-badge--md{width:48px;height:48px}.milestone-badge--md .milestone-badge__icon{font-size:24px}.milestone-badge--lg{width:64px;height:64px}.milestone-badge--lg .milestone-badge__icon{font-size:32px}.milestone-badge--tiny-triumph{background:linear-gradient(135deg,#667eea,#764ba2)}.milestone-badge--steady-step{background:linear-gradient(135deg,#f093fb,#f5576c)}.milestone-badge--growth-gain{background:linear-gradient(135deg,#4facfe,#00f2fe)}.milestone-badge--physical{background:linear-gradient(135deg,#10b981,#059669)}.milestone-badge--cognitive{background:linear-gradient(135deg,#f59e0b,#d97706)}.milestone-badge--social{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.milestone-badge--language{background:linear-gradient(135deg,#ef4444,#dc2626)}.milestone-badge--default{background:linear-gradient(135deg,#6b7280,#4b5563)}.milestone-badge__icon{color:#fff;z-index:1}.milestone-badge__category-indicator{position:absolute;bottom:-2px;right:-2px;width:12px;height:12px;border-radius:50%;border:2px solid white;z-index:2}@keyframes badgePulse{0%,to{transform:scale(1);box-shadow:0 4px 12px #00000026}50%{transform:scale(1.1);box-shadow:0 6px 20px #00000040}}@media (prefers-color-scheme: dark){.milestone-badge{border-color:#fff3;box-shadow:0 4px 12px #0000004d}.milestone-badge__category-indicator{border-color:#1f2937}}.milestone-form{padding-bottom:20px}.milestone-form__preset-card{margin-bottom:20px;position:relative;background:linear-gradient(135deg,var(--category-bg-start) 0%,var(--category-bg-end) 100%);border:none;border-left:4px solid var(--category-accent)}.milestone-form__preset-card--physical{--category-bg-start: rgba(56, 128, 255, .1);--category-bg-end: rgba(59, 130, 246, .05);--category-accent: var(--category-physical)}.milestone-form__preset-card--cognitive{--category-bg-start: rgba(245, 158, 11, .1);--category-bg-end: rgba(251, 146, 60, .05);--category-accent: var(--category-cognitive)}.milestone-form__preset-card--social{--category-bg-start: rgba(139, 92, 246, .1);--category-bg-end: rgba(168, 85, 247, .05);--category-accent: var(--category-social)}.milestone-form__preset-card--language{--category-bg-start: rgba(16, 185, 129, .1);--category-bg-end: rgba(20, 184, 166, .05);--category-accent: var(--category-language)}.milestone-form__preset-card--emotional{--category-bg-start: rgba(225, 29, 72, .1);--category-bg-end: rgba(244, 63, 94, .05);--category-accent: var(--category-emotional)}.milestone-form__preset-card--sleep{--category-bg-start: rgba(99, 102, 241, .1);--category-bg-end: rgba(99, 102, 241, .05);--category-accent: var(--category-sleep)}.milestone-form__preset-card--feeding{--category-bg-start: rgba(239, 68, 68, .1);--category-bg-end: rgba(239, 68, 68, .05);--category-accent: var(--category-feeding)}.milestone-form__preset-card--health{--category-bg-start: rgba(6, 182, 212, .1);--category-bg-end: rgba(6, 182, 212, .05);--category-accent: var(--category-health)}.milestone-form__preset-card--holidays{--category-bg-start: rgba(245, 158, 11, .1);--category-bg-end: rgba(245, 158, 11, .05);--category-accent: var(--category-holidays)}.milestone-form__edit-button{position:absolute;top:12px;right:12px;z-index:10}.milestone-form__category-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:20px;font-size:13px;font-weight:600;margin-bottom:16px}.milestone-form__category-badge--physical{background:#3880ff26;color:var(--category-physical)}.milestone-form__category-badge--cognitive{background:#f59e0b26;color:var(--category-cognitive)}.milestone-form__category-badge--social{background:#8b5cf626;color:var(--category-social)}.milestone-form__category-badge--language{background:#10b98126;color:var(--category-language)}.milestone-form__category-badge--emotional{background:#e11d4826;color:var(--category-emotional)}.milestone-form__category-badge--sleep{background:#6366f126;color:var(--category-sleep)}.milestone-form__category-badge--feeding{background:#ef444426;color:var(--category-feeding)}.milestone-form__category-badge--health{background:#06b6d426;color:var(--category-health)}.milestone-form__category-badge--holidays{background:#f59e0b26;color:var(--category-holidays)}.milestone-form__title{font-size:24px;font-weight:700;margin:0 0 12px;line-height:1.3;color:var(--ion-text-color)}.milestone-form__description{font-size:15px;line-height:1.6;margin:0;opacity:.8;color:var(--ion-text-color)}.milestone-form__confirmation{margin-top:20px;padding:16px;border-radius:12px;text-align:center;background:var(--ion-color-light);border:1px solid var(--ion-color-light-shade)}.milestone-form__confirmation-text{font-size:15px;font-weight:500;color:var(--ion-text-color)}.milestone-form__field-card{margin-bottom:16px}.milestone-form__editable-card{margin-bottom:20px;background:linear-gradient(135deg,var(--category-bg-start) 0%,var(--category-bg-end) 100%);border:none;border-left:4px solid var(--category-accent)}.milestone-form__editable-card--physical{--category-bg-start: rgba(56, 128, 255, .1);--category-bg-end: rgba(59, 130, 246, .05);--category-accent: var(--category-physical)}.milestone-form__editable-card--cognitive{--category-bg-start: rgba(245, 158, 11, .1);--category-bg-end: rgba(251, 146, 60, .05);--category-accent: var(--category-cognitive)}.milestone-form__editable-card--social{--category-bg-start: rgba(139, 92, 246, .1);--category-bg-end: rgba(168, 85, 247, .05);--category-accent: var(--category-social)}.milestone-form__editable-card--language{--category-bg-start: rgba(16, 185, 129, .1);--category-bg-end: rgba(20, 184, 166, .05);--category-accent: var(--category-language)}.milestone-form__editable-card--emotional{--category-bg-start: rgba(225, 29, 72, .1);--category-bg-end: rgba(244, 63, 94, .05);--category-accent: var(--category-emotional)}.milestone-form__editable-card--sleep{--category-bg-start: rgba(99, 102, 241, .1);--category-bg-end: rgba(99, 102, 241, .05);--category-accent: var(--category-sleep)}.milestone-form__editable-card--feeding{--category-bg-start: rgba(239, 68, 68, .1);--category-bg-end: rgba(239, 68, 68, .05);--category-accent: var(--category-feeding)}.milestone-form__editable-card--health{--category-bg-start: rgba(6, 182, 212, .1);--category-bg-end: rgba(6, 182, 212, .05);--category-accent: var(--category-health)}.milestone-form__editable-card--holidays{--category-bg-start: rgba(245, 158, 11, .1);--category-bg-end: rgba(245, 158, 11, .05);--category-accent: var(--category-holidays)}.milestone-form__field-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;opacity:.7;display:flex;align-items:center;gap:6px;color:var(--ion-text-color)}.milestone-form__input{--padding-start: 16px;--padding-end: 16px;--padding-top: 14px;--padding-bottom: 14px;--background: var(--ion-color-light);--border-radius: 12px;font-size:16px;font-weight:500}.milestone-form__textarea{--padding-start: 16px;--padding-end: 16px;--padding-top: 14px;--padding-bottom: 14px;--background: var(--ion-color-light);--border-radius: 12px;font-size:15px;line-height:1.6}.milestone-form__date-container{display:flex;align-items:center;justify-content:space-between;gap:16px}.milestone-form__date-info{flex:1}.milestone-form__date-value{font-size:18px;font-weight:600;margin-bottom:8px;color:var(--ion-text-color)}.milestone-form__date-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:6px 12px;border-radius:12px;font-weight:500}.milestone-form__date-badge--extracted{background:#10b98126;color:var(--ion-color-success)}.milestone-form__date-badge--manual{background:#f59e0b26;color:var(--ion-color-warning)}.milestone-form__date-edit-button{--background: var(--ion-color-light);--background-hover: var(--ion-color-light-shade);--border-radius: 8px;flex-shrink:0}.milestone-form__date-prompt{text-align:center}.milestone-form__date-prompt-icon{font-size:16px;margin-bottom:8px}.milestone-form__date-prompt-text{font-size:14px;margin-bottom:16px;opacity:.7;line-height:1.5}.milestone-form__char-counter{font-size:12px;opacity:.6;text-align:right;margin-top:8px;font-weight:500}.milestone-form__actions{padding:20px 0;display:flex;flex-direction:column;gap:12px}.milestone-form__save-button{height:56px;font-size:16px;font-weight:600;--border-radius: 12px}.milestone-form__cancel-button{font-size:15px;font-weight:500}.milestone-form__media-section{margin-bottom:16px}body.dark .milestone-form__input,body.dark .milestone-form__textarea{--background: rgba(255, 255, 255, .05)}body.dark .milestone-form__confirmation{background:#ffffff0d;border-color:#ffffff1a}body.dark .milestone-form__date-edit-button{--background: rgba(255, 255, 255, .05);--background-hover: rgba(255, 255, 255, .1)}.login-content{--background: linear-gradient(135deg, #6DD5FA 0%, #FF758C 50%, #FFB88C 100%);position:relative;overflow:hidden}.login-content:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%);animation:float 20s ease-in-out infinite}.login-content.ios,.login-content.md{--background: linear-gradient(135deg, #6DD5FA 0%, #FF758C 50%, #FFB88C 100%)}.login-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:20px;position:relative;z-index:1;animation:fadeIn .6s ease-out}@media (max-width: 768px){.login-container{padding:40px 16px 16px;justify-content:flex-start}}.login-header{text-align:center;margin-bottom:32px;animation:slideDown .8s ease-out .2s both}.login-header .app-logo{margin-bottom:20px;display:inline-block;position:relative;animation:pulse 2s ease-in-out infinite}.login-header .app-logo ion-icon{font-size:80px;color:#fff;filter:drop-shadow(0 4px 12px rgba(255,255,255,.4))}.login-header .app-logo:before{content:"✨";position:absolute;top:-10px;right:-10px;font-size:24px;animation:sparkle 2s ease-in-out infinite}.login-header .app-logo:after{content:"✨";position:absolute;bottom:-10px;left:-10px;font-size:20px;animation:sparkle 2s ease-in-out infinite 1s}.login-header h1{font-size:3rem;font-weight:800;color:#fff;margin:0 0 12px;text-shadow:0 3px 10px rgba(0,0,0,.3);letter-spacing:-.5px}@media (max-width: 768px){.login-header h1{font-size:2.5rem}}.login-header p{font-size:1.2rem;color:#fff;margin:0;font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,.3)}@media (max-width: 768px){.login-header p{font-size:1.1rem}}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(.5) rotate(0)}50%{opacity:1;transform:scale(1) rotate(180deg)}}.login-card{width:100%;max-width:450px;margin:0;border-radius:24px;animation:scaleIn .5s ease-out .3s both;background:#fffffff2!important;backdrop-filter:blur(20px);box-shadow:0 8px 32px #00000026,0 2px 8px #0000001a,inset 0 1px #fffc;border:1px solid rgba(255,255,255,.3)}@media (max-width: 768px){.login-card{max-width:100%;margin:0;border-radius:20px}}.login-card ion-card-header{text-align:center;padding:24px 24px 12px}.login-card ion-card-header ion-card-title{font-size:1.75rem;font-weight:700;color:#fff}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.login-card ion-card-content{padding:24px}@media (max-width: 768px){.login-card ion-card-content{padding:20px}}.login-card ion-item{--background: transparent;--border-color: rgba(255, 255, 255, .3);--border-radius: 8px;--padding-start: 16px;--padding-end: 16px;--color: #ffffff;margin-bottom:16px}.login-card ion-item.ion-invalid{--border-color: var(--ion-color-danger)}.login-card ion-item.ion-invalid ion-label{color:var(--ion-color-danger)}.login-card ion-item.ion-focused{--border-color: rgba(255, 255, 255, .6)}.login-card ion-item.ion-focused ion-label{color:#fff}.login-card ion-item ion-icon{color:#ffffffe6;margin-right:8px}.login-card ion-item ion-label{font-weight:500;margin-bottom:4px;color:#fff}.login-card ion-item ion-input{--padding-start: 0;--padding-end: 0;--color: #ffffff;--placeholder-color: rgba(255, 255, 255, .5);--placeholder-opacity: 1;font-size:1rem;width:100%}.login-card ion-item ion-input::part(native){background:transparent!important}.login-card ion-item ion-note{font-size:.875rem;margin-top:4px}.login-card ion-item:has(ion-checkbox){--padding-start: 0;--padding-end: 0;--border-color: transparent;margin-top:8px;margin-bottom:8px}.login-card ion-item:has(ion-checkbox) ion-checkbox{margin-right:12px}.login-card ion-item:has(ion-checkbox) ion-label{font-size:.9rem;color:#ffffffe6}.login-card ion-button[type=submit]{--border-radius: 14px;height:52px;font-weight:700;font-size:1.05rem;letter-spacing:.3px;margin-top:24px;position:relative;overflow:hidden;transition:all .3s ease}.login-card ion-button[type=submit]:not([disabled]){--background: linear-gradient(135deg, #FF758C 0%, #FF9A8B 100%);--background-hover: linear-gradient(135deg, #FF6178 0%, #FF8777 100%);--background-activated: linear-gradient(135deg, #E55670 0%, #E5775F 100%);box-shadow:0 4px 15px #ff758c66}.login-card ion-button[type=submit]:not([disabled]):hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff758c80}.login-card ion-button[type=submit]:not([disabled]):active{transform:translateY(0)}.login-card ion-button[type=submit][disabled]{opacity:.5}.login-card ion-button[fill=outline]{--border-radius: 14px;height:52px;font-weight:600;--border-width: 2px;--border-color: rgba(255, 255, 255, .4);--color: #ffffff;transition:all .3s ease}.login-card ion-button[fill=outline]:hover{--background: rgba(255, 255, 255, .1);--border-color: rgba(255, 255, 255, .6);transform:translateY(-1px);box-shadow:0 2px 8px #0003}.login-card ion-button[fill=outline]:active{transform:translateY(0)}.login-card ion-button[fill=outline] ion-icon{margin-right:8px;font-size:20px}.divider{display:flex;align-items:center;margin:24px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#ffffff4d}.divider span{margin:0 16px;color:#fffc;font-size:.9rem;font-weight:500}.login-footer{text-align:center;margin-top:32px}.login-footer p{font-size:.875rem;color:#ffffffe6;margin:4px 0}.login-footer p:first-child{font-weight:500}.login-footer p:last-child{color:#ffffffb3}@media (prefers-color-scheme: dark){.login-content{--background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%)}.login-header h1{color:#fff;text-shadow:0 2px 20px rgba(255,255,255,.1)}.login-header p{color:#ffffffe6}.login-header .app-logo ion-icon{color:#fff;filter:drop-shadow(0 4px 16px rgba(255,255,255,.3))}.login-card{background:#1e1e28d9!important;backdrop-filter:blur(20px);box-shadow:0 8px 32px #0006,0 2px 8px #0003,inset 0 1px #ffffff1a;border:1px solid rgba(255,255,255,.1)}}@media (prefers-color-scheme: dark) and (max-width: 768px){.login-card{box-shadow:0 4px 16px #0000004d}}@media (prefers-color-scheme: dark){.login-card ion-card-title{color:#fff}.login-card ion-item{--border-color: rgba(255, 255, 255, .2)}.login-card ion-item ion-label{color:#ffffffe6}.login-card ion-item ion-icon{color:#ffffffb3}.login-card ion-item.ion-focused{--border-color: var(--ion-color-primary)}.login-header h1{color:var(--ion-color-primary-tint)}.login-header p{color:var(--ion-color-medium-tint)}.divider:before,.divider:after{background:var(--ion-color-dark-tint)}.divider span,.login-footer p{color:var(--ion-color-medium-tint)}}@media (prefers-contrast: high){.login-card{box-shadow:0 0 0 2px var(--ion-color-dark)}.login-card ion-item{--border-width: 2px;--border-style: solid}}@media (prefers-reduced-motion: reduce){.login-card{transition:none}ion-button{transition:none}}.login-card ion-button[disabled]{opacity:.6;cursor:not-allowed}.login-card ion-button:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:2px}.login-card ion-item:focus-within{--border-color: var(--ion-color-primary);--border-width: 2px}.onboarding-content{--background: linear-gradient(135deg, #6DD5FA 0%, #FF758C 50%, #FFB88C 100%);position:relative;overflow:hidden}.onboarding-content:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 20% 50%,rgba(255,255,255,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,255,255,.1) 0%,transparent 50%);animation:float 20s ease-in-out infinite;z-index:0}.dark .onboarding-content,[data-theme=dark] .onboarding-content{--background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%)}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-30px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}.onboarding-progress{position:fixed;top:0;left:0;right:0;z-index:1000;height:6px;--progress-background: linear-gradient(90deg, #667eea 0%, #764ba2 100%);--buffer-background: rgba(102, 126, 234, .1);box-shadow:0 2px 8px #667eea33}.onboarding-container{max-width:640px;margin:0 auto;padding:60px 20px 120px;min-height:100%;display:flex;flex-direction:column;position:relative;z-index:1;animation:fadeIn .6s ease-out}@media (max-width: 768px){.onboarding-container{padding:40px 16px 100px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.error-message{background:var(--color-error-light, #fef2f2);color:var(--color-error, #ef4444);padding:16px 20px;border-radius:16px;margin-bottom:24px;text-align:center;font-weight:500;border:1px solid rgba(239,68,68,.2);animation:slideUp .3s ease-out}.dark .error-message,[data-theme=dark] .error-message{background:#ef44441a;border-color:#ef44444d}.onboarding-step{flex:1;display:flex;flex-direction:column;animation:fadeInSlide .4s cubic-bezier(.4,0,.2,1)}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.step-header{text-align:center;margin-bottom:40px}.step-header h1,.step-header h2{margin:0 0 16px;font-size:32px;font-weight:700;color:#fff;text-shadow:0 3px 10px rgba(0,0,0,.3);line-height:1.2}.step-header .step-description{font-size:17px;color:#fffffff2;line-height:1.6;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.2)}.dark .step-header .step-description,[data-theme=dark] .step-header .step-description{color:#ffffffe6}.form-fields{flex:1;display:flex;flex-direction:column;gap:28px}.form-field{animation:slideUp .3s ease-out backwards}.form-field:nth-child(1){animation-delay:.1s}.form-field:nth-child(2){animation-delay:.2s}.form-field:nth-child(3){animation-delay:.3s}.form-field ion-label{display:block;margin-bottom:12px;font-weight:600;font-size:15px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.dark .form-field ion-label,[data-theme=dark] .form-field ion-label{color:#fffffff2}.form-field .custom-input,.form-field .custom-select,.form-field .custom-textarea{--background: var(--color-neutral-0, #ffffff);--padding-start: 20px;--padding-end: 20px;--padding-top: 16px;--padding-bottom: 16px;border-radius:16px;font-size:16px;border:2px solid var(--color-neutral-200, #e5e7eb);transition:all .3s ease;box-shadow:0 1px 3px #0000000d}.form-field .custom-input:focus-within,.form-field .custom-input:focus,.form-field .custom-select:focus-within,.form-field .custom-select:focus,.form-field .custom-textarea:focus-within,.form-field .custom-textarea:focus{border-color:var(--color-primary-500, #667eea);box-shadow:0 0 0 4px #667eea1a,0 4px 12px #0000001a}.dark .form-field .custom-input,[data-theme=dark] .form-field .custom-input,.dark .form-field .custom-select,[data-theme=dark] .form-field .custom-select,.dark .form-field .custom-textarea,[data-theme=dark] .form-field .custom-textarea{--background: var(--color-neutral-800, #1f2937);border-color:var(--color-neutral-700, #374151);color:var(--color-neutral-100, #f3f4f6)}.form-field .custom-textarea{--padding-top: 16px;min-height:120px;resize:vertical}.datetime-wrapper .datetime-trigger-button{--background: var(--color-neutral-0, #ffffff);--padding-start: 20px;--padding-end: 20px;--padding-top: 16px;--padding-bottom: 16px;--border-radius: 16px;--border-width: 2px;--border-color: var(--color-neutral-200, #e5e7eb);--color: var(--ion-color-dark, #1f2937);height:56px;font-size:16px;font-weight:400;text-transform:none;letter-spacing:0;box-shadow:0 1px 3px #0000000d;transition:all .3s ease;margin:0}.datetime-wrapper .datetime-trigger-button:hover{--border-color: var(--color-primary-400, #8b96ff);box-shadow:0 4px 12px #667eea26}.dark .datetime-wrapper .datetime-trigger-button,[data-theme=dark] .datetime-wrapper .datetime-trigger-button{--background: var(--color-neutral-800, #1f2937);--border-color: var(--color-neutral-700, #374151);--color: var(--color-neutral-100, #f3f4f6)}.photo-upload .photo-upload-button{display:block;cursor:pointer;border-radius:20px;overflow:hidden;background:var(--color-neutral-50, #f9fafb);border:2px dashed var(--color-neutral-300, #d1d5db);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000000d}.photo-upload .photo-upload-button:hover{transform:scale(1.02);border-color:var(--color-primary-400, #8b96ff);background:var(--color-primary-50, #f0f4ff);box-shadow:0 8px 24px #667eea26}.dark .photo-upload .photo-upload-button,[data-theme=dark] .photo-upload .photo-upload-button{background:var(--color-neutral-800, #1f2937);border-color:var(--color-neutral-600, #4b5563)}.photo-upload .photo-placeholder{padding:80px 20px;display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--color-neutral-500, #6b7280)}.photo-upload .photo-placeholder ion-icon{font-size:56px;color:var(--color-primary-400, #8b96ff);animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}.photo-upload .photo-placeholder span{font-size:17px;font-weight:600}.photo-upload .photo-preview{position:relative;width:100%;padding-top:100%;background:var(--color-neutral-100, #f3f4f6)}.photo-upload .photo-preview img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.photo-upload .photo-preview .change-photo-overlay{position:absolute;inset:0;background:#667eeaf2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;opacity:0;transition:opacity .3s ease;color:#fff}.photo-upload .photo-preview .change-photo-overlay ion-icon{font-size:40px}.photo-upload .photo-preview .change-photo-overlay span{font-size:16px;font-weight:600;letter-spacing:.5px}.photo-upload .photo-preview:hover .change-photo-overlay{opacity:1}.onboarding-complete .summary-card{margin:0 0 32px;box-shadow:0 12px 40px #667eea26;border-radius:24px;overflow:hidden;border:1px solid rgba(102,126,234,.1);background:linear-gradient(135deg,#667eea0d,#764ba20d);animation:slideUp .5s ease-out}.dark .onboarding-complete .summary-card,[data-theme=dark] .onboarding-complete .summary-card{box-shadow:0 12px 40px #0006;background:linear-gradient(135deg,#667eea1a,#764ba21a)}.onboarding-complete .summary-card ion-card-content{padding:28px}.onboarding-complete .summary-content{display:flex;gap:24px;align-items:flex-start}.onboarding-complete .summary-photo{flex-shrink:0;width:110px;height:110px;border-radius:50%;overflow:hidden;border:4px solid var(--color-primary-200, #c7d6ff);box-shadow:0 8px 24px #667eea33;animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}.onboarding-complete .summary-photo img{width:100%;height:100%;object-fit:cover}.onboarding-complete .summary-details{flex:1}.onboarding-complete .summary-details h3{margin:0 0 6px;font-size:28px;font-weight:700;color:var(--ion-color-dark, #1f2937)}.dark .onboarding-complete .summary-details h3,[data-theme=dark] .onboarding-complete .summary-details h3{color:var(--color-neutral-50, #f9fafb)}.onboarding-complete .summary-details .nickname{font-size:17px;color:var(--color-primary-500, #667eea);font-style:italic;margin:0 0 16px;font-weight:500}.onboarding-complete .summary-details .birth-info{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:600;margin:0 0 12px;color:var(--ion-color-dark, #1f2937);background:var(--color-primary-50, #f0f4ff);padding:10px 16px;border-radius:12px;width:fit-content}.dark .onboarding-complete .summary-details .birth-info,[data-theme=dark] .onboarding-complete .summary-details .birth-info{background:#667eea26;color:var(--color-neutral-100, #f3f4f6)}.onboarding-complete .summary-details .birth-info ion-icon{font-size:22px;color:var(--color-primary-500, #667eea)}.onboarding-complete .summary-details .detail{font-size:15px;color:var(--color-neutral-600, #4b5563);margin:8px 0;display:flex;align-items:center;gap:8px}.dark .onboarding-complete .summary-details .detail,[data-theme=dark] .onboarding-complete .summary-details .detail{color:var(--color-neutral-400, #9ca3af)}.onboarding-complete .summary-details .personality-detail{display:flex;align-items:flex-start;gap:12px;margin-top:16px;padding:16px;background:#ef44440d;border-radius:16px;border:1px solid rgba(239,68,68,.1)}.dark .onboarding-complete .summary-details .personality-detail,[data-theme=dark] .onboarding-complete .summary-details .personality-detail{background:#ef44441a;border-color:#ef444433}.onboarding-complete .summary-details .personality-detail ion-icon{flex-shrink:0;margin-top:2px;font-size:20px}.onboarding-complete .summary-details .personality-detail span{font-size:15px;line-height:1.6;color:var(--ion-color-dark, #1f2937)}.dark .onboarding-complete .summary-details .personality-detail span,[data-theme=dark] .onboarding-complete .summary-details .personality-detail span{color:var(--color-neutral-200, #e5e7eb)}.onboarding-complete .summary-details .personality-detail span strong{color:var(--ion-color-dark, #1f2937);font-weight:600}.dark .onboarding-complete .summary-details .personality-detail span strong,[data-theme=dark] .onboarding-complete .summary-details .personality-detail span strong{color:var(--color-neutral-100, #f3f4f6)}.onboarding-complete .next-steps{background:var(--color-neutral-50, #f9fafb);padding:24px;border-radius:20px;border:1px solid var(--color-neutral-200, #e5e7eb)}.dark .onboarding-complete .next-steps,[data-theme=dark] .onboarding-complete .next-steps{background:var(--color-neutral-800, #1f2937);border-color:var(--color-neutral-700, #374151)}.onboarding-complete .next-steps p{font-weight:700;margin:0 0 16px;font-size:18px;color:var(--ion-color-dark, #1f2937)}.dark .onboarding-complete .next-steps p,[data-theme=dark] .onboarding-complete .next-steps p{color:var(--color-neutral-100, #f3f4f6)}.onboarding-complete .next-steps ul{margin:0;padding-left:0;list-style:none}.onboarding-complete .next-steps ul li{padding:14px 0;font-size:16px;line-height:1.6;border-bottom:1px solid var(--color-neutral-200, #e5e7eb);color:var(--color-neutral-700, #374151);transition:all .2s ease}.dark .onboarding-complete .next-steps ul li,[data-theme=dark] .onboarding-complete .next-steps ul li{border-color:var(--color-neutral-700, #374151);color:var(--color-neutral-300, #d1d5db)}.onboarding-complete .next-steps ul li:last-child{border-bottom:none}.onboarding-complete .next-steps ul li:hover{padding-left:8px;color:var(--color-primary-500, #667eea)}.onboarding-actions{display:flex;gap:12px;margin-top:40px;padding-top:32px;border-top:1px solid var(--color-neutral-200, #e5e7eb)}.dark .onboarding-actions,[data-theme=dark] .onboarding-actions{border-color:var(--color-neutral-700, #374151)}.onboarding-actions ion-button{flex:1;height:56px;font-weight:600;font-size:17px;--border-radius: 16px;letter-spacing:.3px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0000001a}.onboarding-actions ion-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.onboarding-actions ion-button:active{transform:translateY(0)}.onboarding-actions ion-button[fill=outline]{--border-width: 2px}.onboarding-actions .next-button,.onboarding-actions .complete-button{flex:2;background:linear-gradient(135deg,#667eea,#764ba2);--background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);box-shadow:0 8px 24px #667eea4d}.onboarding-actions .next-button:hover,.onboarding-actions .complete-button:hover{box-shadow:0 12px 32px #667eea66}.onboarding-actions .complete-button{background:linear-gradient(135deg,#10b981,#059669);--background: linear-gradient(135deg, #10b981 0%, #059669 100%);box-shadow:0 8px 24px #10b9814d}.onboarding-actions .complete-button:hover{box-shadow:0 12px 32px #10b98166}.step-indicator{text-align:center;margin-top:20px;font-size:15px;font-weight:600;color:var(--color-primary-500, #667eea);background:var(--color-primary-50, #f0f4ff);padding:8px 20px;border-radius:20px;display:inline-block;margin-left:auto;margin-right:auto;width:fit-content;box-shadow:0 2px 8px #667eea1a}.dark .step-indicator,[data-theme=dark] .step-indicator{background:#667eea26;color:var(--color-primary-300, #a5b8ff)}@media (max-width: 768px){.onboarding-container{padding:40px 16px 100px}.step-header{margin-bottom:32px}.step-header h1,.step-header h2{font-size:28px}.step-header .step-description{font-size:16px}.form-fields{gap:24px}.onboarding-complete .summary-content{flex-direction:column;align-items:center;text-align:center}.onboarding-complete .summary-photo{width:130px;height:130px}.onboarding-complete .summary-details .birth-info{margin-left:auto;margin-right:auto}.onboarding-complete .summary-details .detail{justify-content:center}.onboarding-actions{flex-direction:column;gap:12px}.onboarding-actions ion-button{width:100%}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1);opacity:1}}.photo-picker-content{--padding-top: 1rem;--padding-bottom: 1rem;--padding-start: 1rem;--padding-end: 1rem}.photo-picker-header{padding:.5rem 0 1rem;text-align:center;border-bottom:1px solid var(--ion-color-light);margin-bottom:1rem}.selection-count{font-size:1rem;font-weight:600;margin:0}.selection-hint{font-size:.875rem;margin:.25rem 0 0}.photo-picker-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:1rem}.photo-picker-loading p{margin:0;font-size:.875rem}.photo-picker-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:1rem;text-align:center}.photo-picker-error p{margin:0;font-size:.875rem}.photo-picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.photo-picker-empty p{margin:.25rem 0;font-size:.875rem}.empty-hint{font-size:.8rem;opacity:.7}.photo-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;padding-bottom:6rem}.photo-picker-item{display:flex;flex-direction:column;gap:.5rem;cursor:pointer;border-radius:8px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.photo-picker-item:active{transform:scale(.98)}.photo-picker-item.selected{box-shadow:0 0 0 3px var(--ion-color-primary)}.photo-thumbnail-wrapper{position:relative;width:100%;padding-top:100%;border-radius:8px;overflow:hidden;background-color:var(--ion-color-light)}.photo-thumbnail{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.photo-overlay{position:absolute;inset:0;background:#0000001a;display:flex;align-items:flex-start;justify-content:flex-end;padding:.5rem;pointer-events:none}.photo-picker-item.selected .photo-overlay{background:rgba(var(--ion-color-primary-rgb),.2)}.selection-badge{background:var(--ion-color-primary);color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;box-shadow:0 2px 8px #0003;position:relative}.selection-badge ion-icon{font-size:20px;position:absolute}.selection-number{position:absolute;font-size:11px;font-weight:700}.photo-info{padding:0 .25rem}.photo-title{font-size:.75rem;font-weight:500;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ion-color-dark)}.photo-age{font-size:.7rem;margin:.125rem 0 0;color:var(--ion-color-medium)}.photo-picker-footer{position:fixed;bottom:0;left:0;right:0;padding:1rem;background:var(--ion-background-color);border-top:1px solid var(--ion-color-light);z-index:10}@media (prefers-color-scheme: dark){.photo-picker-header{border-bottom-color:var(--ion-color-dark)}.photo-thumbnail-wrapper{background-color:var(--ion-color-dark)}.photo-picker-footer{border-top-color:var(--ion-color-dark)}}@media (min-width: 768px){.photo-picker-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1.25rem}.photo-picker-footer{padding:1.5rem 2rem}.photo-picker-content{--padding-start: 2rem;--padding-end: 2rem}}.album-slideshow-modal{--height: 100%;--width: 100%}.album-slideshow-content{--background: linear-gradient(135deg, #667eea 0%, #764ba2 100%)}.slideshow-slide{min-height:calc(100vh - 120px);display:flex;align-items:center;justify-content:center;padding:2rem 1rem 5rem}.slide-container{max-width:600px;width:100%;text-align:center;padding:2rem;background:#fffffff2;border-radius:20px;box-shadow:0 20px 60px #0000004d}.overview-slide .overview-icon{font-size:4rem;color:var(--ion-color-primary);margin-bottom:1rem;animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.overview-slide .overview-title{font-size:2rem;font-weight:700;color:var(--ion-color-dark);margin:1rem 0;line-height:1.3}.overview-slide .overview-description{font-size:1.1rem;color:var(--ion-color-medium);margin-bottom:2rem;line-height:1.6}.overview-stats{display:flex;justify-content:space-around;gap:1rem;margin:2rem 0;padding:1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px}.overview-stat{flex:1;color:#fff}.overview-stat .stat-value{font-size:2rem;font-weight:700;margin-bottom:.25rem}.overview-stat .stat-label{font-size:.85rem;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.overview-summary{margin:2rem 0;padding:1.5rem;background:var(--ion-color-light);border-radius:12px;font-size:1rem;line-height:1.7;color:var(--ion-color-dark)}.overview-highlights{text-align:left;margin:2rem 0;padding:1.5rem;background:var(--ion-color-light);border-radius:12px}.overview-highlights h3{font-size:1.2rem;margin-bottom:1rem;color:var(--ion-color-primary)}.overview-highlights ul{list-style:none;padding:0;margin:0}.overview-highlights li{padding:.75rem 0 .75rem 1.5rem;position:relative;line-height:1.5;color:var(--ion-color-dark)}.overview-highlights li:before{content:"✨";position:absolute;left:0}.start-button{margin-top:2rem;--border-radius: 25px;font-weight:600;font-size:1.1rem;height:50px}.chapter-intro-slide{background:linear-gradient(135deg,#f093fb,#f5576c)}.chapter-intro-slide .slide-container{background:#fffffffa}.chapter-number{font-size:.9rem;text-transform:uppercase;letter-spacing:1px;color:var(--ion-color-primary);font-weight:600;margin-bottom:1rem}.chapter-title{font-size:2rem;font-weight:700;color:var(--ion-color-dark);margin:1rem 0;line-height:1.3}.age-range-chip{margin:1rem 0}.chapter-description{font-size:1.1rem;color:var(--ion-color-medium);line-height:1.7;margin:1.5rem 0}.chapter-photo-count{margin-top:2rem;padding:1rem;background:var(--ion-color-light);border-radius:10px;color:var(--ion-color-medium);font-size:.95rem}.photo-slide{flex-direction:column;padding-bottom:7rem}.photo-container{width:100%;max-width:600px;margin-bottom:1.5rem;border-radius:15px;overflow:hidden;box-shadow:0 15px 40px #0000004d;background:#fff}.slideshow-photo{width:100%;height:auto;display:block;object-fit:cover;max-height:60vh}.photo-details{width:100%;max-width:600px;background:#fffffff2;border-radius:15px;padding:1.5rem;box-shadow:0 10px 30px #0003}.photo-caption{font-size:1.1rem;line-height:1.6;color:var(--ion-color-dark);margin-bottom:1.5rem;font-weight:500}.photo-metadata{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.metadata-item{display:flex;align-items:center;gap:.5rem;color:var(--ion-color-medium);font-size:.95rem}.metadata-item ion-icon{font-size:1.2rem;color:var(--ion-color-primary)}.photo-progress{text-align:center;color:var(--ion-color-medium);font-size:.9rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--ion-color-light)}.slideshow-nav{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#fffffff2;backdrop-filter:blur(10px);border-top:1px solid rgba(0,0,0,.1);z-index:100}.nav-button{--padding-start: 1rem;--padding-end: 1rem;font-size:1.5rem}.nav-button[disabled]{opacity:.3}.nav-info{flex:1;text-align:center;font-size:.9rem;font-weight:600;color:var(--ion-color-primary);padding:0 1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (min-width: 768px){.slideshow-slide{padding:3rem 2rem 6rem}.slide-container{padding:3rem}.overview-slide .overview-title,.chapter-title{font-size:2.5rem}.photo-container,.photo-details{max-width:700px}.slideshow-photo{max-height:70vh}}.slideshow-slide{animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.letter-library{padding:0}.letter-library-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;text-align:center}.letter-library-loading ion-spinner{transform:scale(2);margin-bottom:2rem}.letter-library-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;text-align:center}.letter-library-empty h3{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.letter-library-empty p{font-size:1rem;opacity:.7}.letters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;padding:0 1rem 1rem}@media (max-width: 768px){.letters-grid{grid-template-columns:1fr}}.letter-card{margin:0;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.letter-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.letter-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.letter-type-badge{display:flex;align-items:center;gap:.5rem;background:var(--ion-color-light);padding:.25rem .75rem;border-radius:16px;font-size:.85rem;font-weight:500}.letter-card-title{font-size:1.1rem;font-weight:600;color:var(--ion-text-color);margin-top:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.letter-card-content{padding-top:0}.letter-preview{font-size:.95rem;line-height:1.6;color:var(--ion-color-medium);margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.letter-meta{display:flex;flex-wrap:wrap;gap:.5rem}@media (prefers-color-scheme: dark){.letter-card{--background: var(--ion-color-step-100);background:var(--ion-color-step-100)}.letter-type-badge{background:#ffffff1a}.letter-card:hover{box-shadow:0 4px 12px #ffffff1a}.letter-card-title{color:#fffffff2}.letter-preview{color:#ffffffb3}.meta-chip{--background: rgba(255, 255, 255, .1)}}.letter-card{animation:fadeIn .3s ease-out}.letter-card:nth-child(1){animation-delay:.05s}.letter-card:nth-child(2){animation-delay:.1s}.letter-card:nth-child(3){animation-delay:.15s}.letter-card:nth-child(4){animation-delay:.2s}.letter-card:nth-child(5){animation-delay:.25s}.letter-card:nth-child(6){animation-delay:.3s}.letter-viewer-modal{--height: 90%;--border-radius: 16px}.letter-viewer-content{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0}.letter-viewer-container{padding:1.5rem;max-width:800px;margin:0 auto;color:#1a1a1a}.letter-metadata{background:var(--ion-color-light);border-radius:12px;padding:1rem;margin-bottom:2rem}.metadata-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--ion-color-light-shade)}.metadata-row:last-child{border-bottom:none}.metadata-label{font-weight:600;margin-right:1rem}.metadata-value{text-align:right}.letter-content{margin-bottom:2rem}.letter-text{white-space:pre-wrap;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;line-height:1.8;background:var(--ion-color-light-tint);border-radius:12px;padding:1.5rem;border-left:4px solid var(--ion-color-primary)}.letter-images{margin-bottom:2rem}.images-title{font-size:1.2rem;font-weight:600;margin-bottom:1rem}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.letter-image{width:100%;height:150px;object-fit:cover;border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease}.letter-image:hover{transform:scale(1.05)}.letter-milestones{padding-top:1rem;border-top:1px solid var(--ion-color-light-shade)}.milestones-info{font-size:.9rem;font-style:italic;text-align:center;margin:0}@media (prefers-color-scheme: dark){.letter-viewer-container{color:#e0e0e0}.letter-text,.letter-metadata{background:#ffffff0d}.metadata-row{border-bottom-color:#ffffff1a}}@media (max-width: 768px){.letter-viewer-container{padding:1rem}.letter-text{font-size:1rem;padding:1rem}.images-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.letter-image{height:120px}}.letters-tab{padding:1rem;max-width:1200px;margin:0 auto}.letter-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem}.letter-type-card{background:var(--ion-color-light);border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;border:2px solid transparent;display:flex;align-items:center;gap:1rem}.letter-type-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a;border-color:var(--ion-color-primary);background:var(--ion-color-primary-tint)}.letter-type-emoji{font-size:3rem;min-width:60px;text-align:center}.letter-type-content{flex:1}.letter-type-title{font-size:1.1rem;font-weight:600;color:var(--ion-color-dark);margin-bottom:.25rem}.letter-type-desc{font-size:.85rem;color:var(--ion-color-medium);line-height:1.4}.format-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.format-label{font-size:1rem;font-weight:600;color:var(--ion-color-dark);margin-bottom:.125rem}.format-desc{font-size:.8rem;color:var(--ion-color-medium)}.length-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.length-option{background:var(--ion-color-light);border-radius:12px;padding:1rem;cursor:pointer;transition:all .2s ease;border:2px solid transparent;text-align:center}.length-option:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.length-option.selected{border-color:var(--ion-color-primary);background:var(--ion-color-primary-tint)}.length-label{font-size:1rem;font-weight:600;color:var(--ion-color-dark);margin-bottom:.25rem}.length-words{font-size:.75rem;color:var(--ion-color-medium);margin-bottom:.125rem}.length-time{font-size:.7rem;color:var(--ion-color-medium);font-style:italic}@media (max-width: 768px){.letter-type-grid{grid-template-columns:1fr}.letter-type-card{padding:1rem}.letter-type-emoji{font-size:2.5rem;min-width:50px}.format-grid,.length-grid{grid-template-columns:1fr}}.recipe-library{padding:0}.recipe-library-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;text-align:center}.recipe-library-loading ion-spinner{transform:scale(2);margin-bottom:2rem}.recipe-library-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;text-align:center}.recipe-library-empty h3{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.recipe-library-empty p{font-size:1rem;opacity:.7}.recipes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;padding:0 1rem 1rem}@media (max-width: 768px){.recipes-grid{grid-template-columns:1fr}}.recipe-card{margin:0;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.recipe-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.recipe-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.recipe-badges{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.recipe-type-badge{display:flex;align-items:center;gap:.5rem;background:var(--ion-color-light);padding:.25rem .75rem;border-radius:16px;font-size:.85rem;font-weight:500}.recipe-meal-badge{display:flex;align-items:center;background:var(--ion-color-light);padding:.25rem .5rem;border-radius:12px;font-size:1rem}.type-emoji{font-size:1rem}.type-label{color:var(--ion-text-color)}.favorite-button{--padding-start: .5rem;--padding-end: .5rem;margin:0}.recipe-card-title{font-size:1.1rem;font-weight:600;color:var(--ion-text-color);margin-top:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-card-rating{display:flex;gap:.25rem;margin-top:.5rem;font-size:1rem}.recipe-card-content{padding-top:0}.recipe-preview{font-size:.95rem;line-height:1.6;color:var(--ion-color-medium);margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-meta{display:flex;flex-wrap:wrap;gap:.5rem}@media (prefers-color-scheme: dark){.recipe-card{--background: var(--ion-color-step-100);background:var(--ion-color-step-100)}.recipe-type-badge,.recipe-meal-badge{background:#ffffff1a}.recipe-card:hover{box-shadow:0 4px 12px #ffffff1a}.recipe-card-title{color:#fffffff2}.recipe-preview{color:#ffffffb3}.meta-chip{--background: rgba(255, 255, 255, .1)}}.recipe-card{animation:fadeIn .3s ease-out}.recipe-card:nth-child(1){animation-delay:.05s}.recipe-card:nth-child(2){animation-delay:.1s}.recipe-card:nth-child(3){animation-delay:.15s}.recipe-card:nth-child(4){animation-delay:.2s}.recipe-card:nth-child(5){animation-delay:.25s}.recipe-card:nth-child(6){animation-delay:.3s}.recipe-viewer-modal{--height: 90%;--border-radius: 16px}.recipe-viewer-content{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0}.recipe-viewer-container{padding:1.5rem;max-width:900px;margin:0 auto;color:#1a1a1a}.recipe-header{margin-bottom:2rem}.recipe-description{font-size:1.1rem;line-height:1.7;margin-bottom:1.5rem}.recipe-rating-section{margin-bottom:1.5rem;padding:1rem;background:var(--ion-color-light-tint);border-radius:12px}.recipe-rating-stars{display:flex;gap:.5rem;margin-top:.5rem}.recipe-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem;padding:1.5rem;background:var(--ion-color-light);border-radius:12px;margin-bottom:1rem}.recipe-meta-item{display:flex;align-items:center;gap:.75rem}.recipe-meta-item ion-icon{font-size:1.5rem;color:var(--ion-color-primary)}.meta-label{font-size:.75rem;opacity:.7;text-transform:uppercase;letter-spacing:.5px}.meta-value{font-size:1rem;font-weight:600}.recipe-age-rec{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.recipe-section{margin-bottom:2rem}.recipe-section-title{display:flex;align-items:center;gap:.75rem;font-size:1.3rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--ion-color-primary)}.recipe-section-title ion-icon{color:var(--ion-color-primary)}.ingredient-item{display:flex;gap:1rem;padding:.75rem;margin-bottom:.5rem;background:var(--ion-color-light-tint);border-radius:8px;align-items:flex-start}.ingredient-amount{font-weight:600;color:var(--ion-color-primary);min-width:80px;flex-shrink:0}.ingredient-name{font-weight:500}.ingredient-preparation{font-size:.9rem;opacity:.7;font-style:italic;margin-top:.25rem}.instruction-list{padding-left:0;counter-reset:step-counter}.instruction-item{position:relative;padding:1rem 1rem 1rem 3rem;margin-bottom:1rem;background:var(--ion-color-light-tint);border-radius:8px;border-left:4px solid var(--ion-color-primary);counter-increment:step-counter}.instruction-item:before{content:counter(step-counter);position:absolute;left:.75rem;top:1rem;width:1.5rem;height:1.5rem;background:var(--ion-color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem}.instruction-text{line-height:1.7}.instruction-duration{margin-top:.5rem;font-size:.9rem;opacity:.7;font-style:italic}.recipe-safety{background:#ffc1071a;padding:1rem;border-radius:12px;border:1px solid rgba(255,193,7,.3)}.safety-subsection{margin-bottom:1rem;line-height:1.7}.safety-subsection:last-child{margin-bottom:0}.safety-subsection strong{color:var(--ion-color-warning)}.safety-subsection ul{margin-top:.5rem;padding-left:1.5rem}.tip-item{position:relative;padding-left:1.5rem;margin-bottom:.75rem;line-height:1.7}.tip-item:before{content:"💡";position:absolute;left:0}.nutrition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;padding:1rem;background:var(--ion-color-light-tint);border-radius:8px}.nutrition-grid div{padding:.5rem}.notes-editor{background:var(--ion-color-light-tint);padding:1rem;border-radius:8px}.notes-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.recipe-metadata{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--ion-color-light-shade)}@media (prefers-color-scheme: dark){.recipe-viewer-container{color:#e0e0e0}.recipe-meta,.recipe-rating-section,.ingredient-item,.instruction-item,.nutrition-grid,.notes-editor{background:#ffffff0d}.recipe-safety{background:#ffc10726;border-color:#ffc10766}.recipe-metadata{border-top-color:#ffffff1a}.recipe-section-title,.recipe-age-rec ion-label,.recipe-age-rec ion-chip{color:#e0e0e0!important}}@media (max-width: 768px){.recipe-viewer-container{padding:1rem}.recipe-meta{grid-template-columns:repeat(2,1fr);gap:.75rem;padding:1rem}.recipe-section-title{font-size:1.1rem}.instruction-item{padding:.75rem .75rem .75rem 2.5rem}.nutrition-grid{grid-template-columns:repeat(2,1fr)}}.recipes-tab{padding:1rem;max-width:1200px;margin:0 auto}.recipe-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem}.recipe-type-card{background:var(--ion-color-light);border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;border:2px solid transparent;display:flex;align-items:center;gap:1rem}.recipe-type-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a;border-color:var(--ion-color-primary);background:var(--ion-color-primary-tint)}.recipe-type-emoji{font-size:3rem;min-width:60px;text-align:center}.recipe-type-content{flex:1}.recipe-type-title{font-size:1.1rem;font-weight:600;color:var(--ion-color-dark);margin-bottom:.25rem}.recipe-type-desc{font-size:.85rem;color:var(--ion-color-medium);line-height:1.4;margin-bottom:.25rem}.recipe-type-age{font-size:.75rem;color:var(--ion-color-primary);font-weight:500}.magic-card{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;overflow:hidden;margin-bottom:1.5rem}.format-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.format-option{background:var(--ion-color-light);border-radius:12px;padding:1rem;cursor:pointer;transition:all .2s ease;border:2px solid transparent;display:flex;align-items:center;gap:.75rem}.format-option:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.format-option.selected{border-color:var(--ion-color-primary);background:var(--ion-color-primary-tint)}.format-emoji{font-size:2rem;min-width:40px;text-align:center}.format-label{font-size:1rem;font-weight:600;color:var(--ion-color-dark)}.dietary-chips{display:flex;flex-wrap:wrap;gap:.5rem}.complexity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.complexity-option{background:var(--ion-color-light);border-radius:12px;padding:1rem;cursor:pointer;transition:all .2s ease;border:2px solid transparent;text-align:center}.complexity-option:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.complexity-option.selected{border-color:var(--ion-color-primary);background:var(--ion-color-primary-tint)}.complexity-emoji{font-size:2.5rem;margin-bottom:.5rem}.complexity-label{font-size:1rem;font-weight:600;color:var(--ion-color-dark);margin-bottom:.25rem}.complexity-time{font-size:.8rem;color:var(--ion-color-medium)}.servings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.serving-option{background:var(--ion-color-light);border-radius:12px;padding:1rem;cursor:pointer;transition:all .2s ease;border:2px solid transparent;text-align:center}.serving-option:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.serving-option.selected{border-color:var(--ion-color-primary);background:var(--ion-color-primary-tint)}.serving-label{font-size:1rem;font-weight:600;color:var(--ion-color-dark);margin-bottom:.25rem}.serving-amount{font-size:.75rem;color:var(--ion-color-medium)}.recipe-header{background:linear-gradient(135deg,var(--ion-color-primary-tint),var(--ion-color-secondary-tint));padding:2rem;color:var(--ion-color-dark)}.recipe-name{font-size:1.8rem;font-weight:700;margin-bottom:.5rem}.recipe-description{font-size:1rem;opacity:.9;line-height:1.6}.recipe-meta{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.3)}.recipe-meta-item{display:flex;align-items:center;gap:.5rem}.recipe-meta-icon{font-size:1.2rem}.recipe-meta-label{font-size:.85rem;opacity:.8}.recipe-meta-value{font-size:1rem;font-weight:600}.recipe-section{padding:1.5rem;border-bottom:1px solid var(--ion-color-light-shade)}.recipe-section:last-child{border-bottom:none}.recipe-section-title{font-size:1.3rem;font-weight:600;color:var(--ion-color-dark);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.ingredient-list{list-style:none;padding:0;margin:0}.ingredient-item{padding:.75rem;margin-bottom:.5rem;background:var(--ion-color-light);border-radius:8px;display:flex;gap:1rem}.ingredient-amount{font-weight:600;color:var(--ion-color-primary);min-width:80px}.ingredient-name{flex:1}.ingredient-preparation{font-style:italic;color:var(--ion-color-medium);font-size:.9rem}.instruction-list{counter-reset:step-counter;list-style:none;padding:0;margin:0}.instruction-item{counter-increment:step-counter;margin-bottom:1rem;background:var(--ion-color-light);border-radius:8px;position:relative;padding:1rem 1rem 1rem 4rem}.instruction-item:before{content:counter(step-counter);position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:2rem;height:2rem;background:var(--ion-color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem}.instruction-text{line-height:1.6;margin-bottom:.5rem}.instruction-duration{font-size:.85rem;color:var(--ion-color-primary);font-weight:500}.tip-item{padding:.75rem;margin-bottom:.5rem;background:var(--ion-color-warning-tint);border-left:4px solid var(--ion-color-warning);border-radius:4px}@media (max-width: 768px){.recipe-type-grid{grid-template-columns:1fr}.recipe-type-card{padding:1rem}.recipe-type-emoji{font-size:2.5rem;min-width:50px}.format-grid,.complexity-grid,.servings-grid{grid-template-columns:1fr}.recipe-meta{flex-direction:column;gap:1rem}}.wardrobe-library{padding:0}.wardrobe-library-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;text-align:center}.wardrobe-library-loading ion-spinner{transform:scale(2);margin-bottom:2rem}.wardrobe-library-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 1rem;text-align:center}.empty-icon{font-size:4rem;margin-bottom:1rem}.wardrobe-library-empty h3{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.wardrobe-library-empty p{font-size:1rem;opacity:.7}.library-search{padding:0 1rem 1rem}.library-filters{padding:0 1rem 1rem;overflow-x:auto}.library-filters ion-segment{min-width:fit-content}.library-filters ion-segment-button{min-width:fit-content;font-size:.9rem}.library-no-results{padding:3rem 1rem;text-align:center}.wardrobe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;padding:0 1rem 1rem}@media (max-width: 768px){.wardrobe-grid{grid-template-columns:1fr}}.wardrobe-card{margin:0;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.wardrobe-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.wardrobe-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.wardrobe-badges{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.wardrobe-season-badge{display:flex;align-items:center;gap:.5rem;background:var(--ion-color-light);padding:.25rem .75rem;border-radius:16px;font-size:.85rem;font-weight:500}.wardrobe-size-badge{display:flex;align-items:center;gap:.35rem;background:var(--ion-color-primary-tint);color:var(--ion-color-primary-contrast);padding:.25rem .75rem;border-radius:16px;font-size:.85rem;font-weight:500}.season-emoji{font-size:1rem}.season-label{color:var(--ion-text-color)}.wardrobe-card-title{font-size:1.2rem;font-weight:600;color:var(--ion-text-color);margin-top:.5rem}.size-prediction{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;font-size:.9rem;color:var(--ion-color-medium)}.size-prediction ion-icon{font-size:1.1rem}.wardrobe-card-content{padding-top:0}.wardrobe-summary{display:flex;gap:1.5rem;margin-bottom:1rem;padding:1rem;background:var(--ion-color-light-tint);border-radius:8px}.summary-stat{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:500}.summary-stat ion-icon{font-size:1.2rem}.wardrobe-categories{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.category-chip{font-size:.75rem;height:24px;--background: var(--ion-color-light)}.category-chip ion-label{font-size:.75rem}.wardrobe-meta{display:flex;flex-wrap:wrap;gap:.5rem}.meta-chip{font-size:.75rem;height:24px;--background: var(--ion-color-light)}.meta-chip ion-icon{font-size:.875rem;margin-right:.25rem}.meta-chip ion-label{font-size:.75rem}@media (prefers-color-scheme: dark){.wardrobe-season-badge{background:#ffffff1a}.wardrobe-size-badge{background:rgba(var(--ion-color-primary-rgb),.3)}.wardrobe-card:hover{box-shadow:0 4px 12px #ffffff1a}.wardrobe-summary{background:#ffffff0d}.category-chip,.meta-chip{--background: rgba(255, 255, 255, .1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.wardrobe-card{animation:fadeIn .3s ease-out}.wardrobe-card:nth-child(1){animation-delay:.05s}.wardrobe-card:nth-child(2){animation-delay:.1s}.wardrobe-card:nth-child(3){animation-delay:.15s}.wardrobe-card:nth-child(4){animation-delay:.2s}.wardrobe-card:nth-child(5){animation-delay:.25s}.wardrobe-card:nth-child(6){animation-delay:.3s}.wardrobe-viewer-modal{--height: 90%;--border-radius: 16px}.wardrobe-viewer-content{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0}.wardrobe-viewer-container{padding:1.5rem;max-width:900px;margin:0 auto}.wardrobe-section{margin-bottom:2rem}.section-title{display:flex;align-items:center;gap:.75rem;font-size:1.3rem;font-weight:600;color:var(--ion-text-color);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--ion-color-primary)}.section-title ion-icon{color:var(--ion-color-primary);font-size:1.5rem}.size-prediction-section{background:linear-gradient(135deg,rgba(var(--ion-color-primary-rgb),.1),rgba(var(--ion-color-secondary-rgb),.1));border-radius:16px;padding:1.5rem}.size-prediction-content{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:1rem}.size-badge-large{text-align:center;padding:1.5rem;border-radius:12px;min-width:140px}.size-badge-large.current{background:var(--ion-color-primary);color:var(--ion-color-primary-contrast)}.size-badge-large.next{background:var(--ion-color-secondary);color:var(--ion-color-secondary-contrast)}.size-label{font-size:.85rem;opacity:.9;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.size-value{font-size:1.8rem;font-weight:700}.size-arrow{font-size:2rem;font-weight:300;color:var(--ion-color-medium)}.size-prediction-details{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.cost-section{background:var(--ion-color-light-tint);border-radius:12px;padding:1.5rem}.cost-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:1rem}.cost-tier{text-align:center;padding:1rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014}.tier-label{font-size:.9rem;color:var(--ion-color-medium);margin-bottom:.5rem}.tier-price{font-size:1.5rem;font-weight:700;color:var(--ion-color-primary)}.cost-note{text-align:center}.cost-note p{margin:0;font-size:.9rem;font-style:italic}.shopping-item-card{margin-bottom:1rem}.item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.quantity-chip{font-size:.85rem}.item-reason{font-size:.95rem;line-height:1.6;margin-top:.5rem}.product-list{display:flex;flex-direction:column;gap:1rem}.product-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;background:var(--ion-color-light-tint);border-radius:8px}.product-info{flex:1}.product-name{font-weight:600;font-size:1rem;margin-bottom:.5rem;color:var(--ion-text-color)}.product-description{font-size:.9rem;color:var(--ion-color-medium);line-height:1.5;margin-bottom:.75rem}.product-meta{display:flex;flex-wrap:wrap;gap:.5rem}.product-chip{font-size:.8rem;height:24px}.product-chip ion-icon{font-size:.9rem}.milestone-recommendation{margin-bottom:1.5rem;padding:1rem;background:var(--ion-color-light-tint);border-radius:8px}.milestone-title{font-weight:600;font-size:1.05rem;margin-bottom:.75rem;color:var(--ion-color-primary)}.recommendation-list{list-style:none;padding:0;margin:0}.recommendation-list li{position:relative;padding-left:1.5rem;margin-bottom:.5rem;line-height:1.6}.recommendation-list li:before{content:"✓";position:absolute;left:0;color:var(--ion-color-success);font-weight:600}.tips-list{list-style:none;padding:0;margin:0}.tip-item{position:relative;padding-left:2rem;margin-bottom:1rem;line-height:1.7}.tip-item:before{content:"💡";position:absolute;left:0;font-size:1.2rem}.general-advice{line-height:1.8;font-size:1rem;padding:1rem;background:var(--ion-color-light-tint);border-radius:8px;border-left:4px solid var(--ion-color-primary)}.wardrobe-metadata{margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--ion-color-light-shade);text-align:center}.wardrobe-metadata p{margin:0;font-size:.85rem}@media (prefers-color-scheme: dark){.size-prediction-section,.cost-section,.product-item,.milestone-recommendation,.general-advice{background:#ffffff0d}.cost-tier{background:#ffffff14}.wardrobe-metadata{border-top-color:#ffffff1a}}@media (max-width: 768px){.wardrobe-viewer-container{padding:1rem}.size-prediction-content{flex-direction:column;gap:1rem}.size-arrow{transform:rotate(90deg)}.cost-tiers{grid-template-columns:1fr}.product-item{flex-direction:column}.section-title{font-size:1.1rem}}.smart-wardrobe-tab{padding:1rem;max-width:1200px;margin:0 auto}.config-section{margin-bottom:1.5rem}.budget-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.budget-option{background:var(--ion-color-light);border-radius:12px;padding:1.25rem;cursor:pointer;transition:all .2s ease;border:2px solid transparent;display:flex;align-items:center;gap:.75rem}.budget-option:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.budget-option.selected{border-color:var(--ion-color-primary);background:var(--ion-color-primary-tint)}.budget-emoji{font-size:2rem;min-width:40px;text-align:center}.budget-content{flex:1}.budget-label{font-size:1rem;font-weight:600;color:var(--ion-color-dark);margin-bottom:.25rem}.budget-desc{font-size:.8rem;color:var(--ion-color-medium)}.style-chips{display:flex;flex-wrap:wrap;gap:.5rem}.season-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:1rem}.season-option{background:var(--ion-color-light);border-radius:12px;padding:1rem;cursor:pointer;transition:all .2s ease;border:2px solid transparent;text-align:center}.season-option:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.season-option.selected{border-color:var(--ion-color-primary);background:var(--ion-color-primary-tint)}.season-emoji{font-size:2.5rem;margin-bottom:.5rem}.season-label{font-size:.9rem;font-weight:600;color:var(--ion-color-dark)}.wardrobe-header{background:linear-gradient(135deg,var(--ion-color-primary-tint),var(--ion-color-secondary-tint));padding:2rem;color:var(--ion-color-dark)}.wardrobe-title{font-size:1.8rem;font-weight:700;margin-bottom:1rem}.size-prediction{background:#fff;border-radius:12px;padding:1.5rem;margin-top:1rem}.size-prediction-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem}.size-pred-item{text-align:center}.size-pred-label{font-size:.85rem;color:var(--ion-color-medium);margin-bottom:.5rem}.size-pred-value{font-size:1.3rem;font-weight:700;color:var(--ion-color-primary)}.size-pred-sublabel{font-size:.75rem;color:var(--ion-color-medium);margin-top:.25rem}.shopping-list{padding:1.5rem}.shopping-list-section{margin-bottom:2rem;background:var(--ion-color-light);border-radius:12px;padding:1.5rem}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid var(--ion-color-light-shade)}.category-title{font-size:1.2rem;font-weight:600;color:var(--ion-color-dark)}.category-quantity{font-size:.9rem;color:var(--ion-color-medium)}.category-reason{font-size:.85rem;color:var(--ion-color-medium);margin-bottom:1rem;line-height:1.5}.priority-badge{display:inline-block;background:var(--ion-color-warning);color:#fff;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;margin-left:.5rem}.priority-badge.high{background:var(--ion-color-danger)}.priority-badge.medium{background:var(--ion-color-warning)}.priority-badge.low{background:var(--ion-color-success)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.product-card{background:#fff;border-radius:12px;padding:1rem;border:1px solid var(--ion-color-light-shade);transition:all .2s ease}.product-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--ion-color-primary)}.product-name{font-size:1rem;font-weight:600;color:var(--ion-color-dark);margin-bottom:.5rem}.product-description{font-size:.85rem;color:var(--ion-color-medium);margin-bottom:.75rem;line-height:1.4}.product-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.product-retailer{font-size:.8rem;color:var(--ion-color-primary);font-weight:500}.product-price{font-size:1.1rem;font-weight:700;color:var(--ion-color-dark)}.product-link-button{width:100%;font-size:.85rem;--padding-top: .5rem;--padding-bottom: .5rem}.cost-summary{background:var(--ion-color-light);border-radius:12px;padding:1.5rem;margin:1.5rem}.cost-summary-title{font-size:1.3rem;font-weight:600;color:var(--ion-color-dark);margin-bottom:1rem}.cost-tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.cost-tier{background:#fff;border-radius:8px;padding:1rem;text-align:center}.cost-tier-label{font-size:.85rem;color:var(--ion-color-medium);margin-bottom:.5rem}.cost-tier-value{font-size:1.5rem;font-weight:700;color:var(--ion-color-primary)}.cost-tier-count{font-size:.75rem;color:var(--ion-color-medium);margin-top:.25rem}.advice-section{padding:1.5rem;border-bottom:1px solid var(--ion-color-light-shade)}.advice-title{font-size:1.2rem;font-weight:600;color:var(--ion-color-dark);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.advice-list{list-style:none;padding:0;margin:0}.advice-item{padding:.75rem;margin-bottom:.5rem;background:var(--ion-color-warning-tint);border-left:4px solid var(--ion-color-warning);border-radius:4px;line-height:1.6}@media (max-width: 768px){.budget-grid,.season-grid,.product-grid,.cost-tier-grid{grid-template-columns:1fr}.size-prediction-grid{grid-template-columns:repeat(2,1fr)}}.milestone-suggestions-library{padding-bottom:2rem}.milestone-suggestions-library .empty-library{padding:3rem 1rem}.milestone-suggestions-library .empty-library h3{margin:1rem 0 .5rem;font-size:1.25rem;color:var(--ion-color-dark)}.milestone-suggestions-library .empty-library p{margin:0;color:var(--ion-color-medium)}.milestone-suggestions-library .suggestions-list{display:flex;flex-direction:column;gap:1rem}.milestone-suggestions-library .suggestion-card{margin:0;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s}.milestone-suggestions-library .suggestion-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.milestone-suggestions-library .suggestion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.milestone-suggestions-library .suggestion-date{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--ion-color-medium)}.milestone-suggestions-library .suggestion-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.milestone-suggestions-library .suggestion-stats ion-chip{margin:0;font-size:.85rem}.milestone-suggestions-library .suggestion-preview{display:flex;flex-direction:column;gap:.5rem}.milestone-suggestions-library .preview-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--ion-text-color)}.milestone-suggestions-library .preview-item.more{color:var(--ion-color-medium);font-style:italic}.milestone-suggestions-library .preview-item ion-icon{flex-shrink:0;font-size:1.1rem}.milestone-suggestions-tab{max-width:900px;margin:0 auto;color:#1a1a1a}.milestone-suggestions-empty{text-align:center;padding:3rem 1rem}.milestone-suggestions-empty .empty-icon{font-size:4rem;opacity:.3;margin-bottom:1rem}.milestone-suggestions-empty h3{margin:1rem 0 .5rem}.milestone-suggestions-empty p{opacity:.7}.suggestions-intro{margin-bottom:1.5rem;padding:1rem;background:var(--ion-color-light);border-radius:8px}.suggestions-intro p{margin:0;line-height:1.6}.progress-summary{margin-bottom:1.5rem;padding:1rem;background:var(--ion-color-light-tint);border-radius:12px}.progress-summary h4{margin:0 0 1rem;display:flex;align-items:center;gap:.5rem;font-size:1rem}.progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat-item{text-align:center;padding:.75rem;background:#fff;border-radius:8px}.stat-value{display:block;font-size:1.75rem;font-weight:700;color:var(--ion-color-primary)}.stat-label{display:block;font-size:.75rem;opacity:.7;text-transform:uppercase;letter-spacing:.5px;margin-top:.25rem}.past-suggestions-section{margin-bottom:1.5rem}.past-suggestions-list{display:flex;flex-direction:column;gap:1rem}.past-suggestion-card{background:#fff;border:1px solid var(--ion-color-light-shade);border-radius:12px;padding:1rem;transition:all .2s ease}.past-suggestion-card:hover{box-shadow:0 2px 8px #00000014}.past-suggestion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--ion-color-light-shade)}.past-suggestion-date{display:flex;align-items:center;gap:.5rem;font-size:.9rem;opacity:.7}.past-suggestion-date ion-icon{font-size:1rem}.past-suggestion-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.past-suggestion-preview{display:flex;flex-direction:column;gap:.5rem}.preview-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.9rem;line-height:1.4}.preview-item ion-icon{font-size:1rem;flex-shrink:0;margin-top:.15rem}.preview-item.more{color:var(--ion-color-medium);font-style:italic}.config-section{margin:1.5rem 0}.generate-button{margin-top:1.5rem;--background: var(--ion-color-primary);--background-hover: var(--ion-color-primary-shade);font-weight:600}.generating-card{margin-top:2rem}.generating-content{text-align:center;padding:3rem 1rem}.large-spinner{width:60px;height:60px;margin-bottom:1.5rem}.generating-content h3{margin:0 0 .5rem;color:var(--ion-color-primary)}.generating-content p{color:var(--ion-color-medium);font-size:.9rem}.results-view{margin-top:1rem}.back-button{margin-bottom:1rem;--color: var(--ion-color-medium)}.general-advice{display:flex;gap:1rem;padding:1rem;background:var(--ion-color-primary-tint);border-radius:8px;margin-bottom:1.5rem;border-left:4px solid var(--ion-color-primary)}.general-advice ion-icon{font-size:1.5rem;color:var(--ion-color-primary);flex-shrink:0;margin-top:.15rem}.general-advice p{margin:0;line-height:1.6}.suggestions-list{display:grid;gap:1.5rem}.suggestion-card{background:#fff;border:1px solid var(--ion-color-light-shade);border-radius:12px;padding:1.25rem;transition:all .2s ease}.suggestion-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.suggestion-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.suggestion-header h4{margin:0;font-size:1.1rem;flex:1}.suggestion-description{margin:.75rem 0;line-height:1.6}.suggestion-meta{display:flex;gap:1rem;margin:.75rem 0;font-size:.85rem;opacity:.7}.age-range{display:flex;align-items:center;gap:.25rem}.relevance-reason{margin:1rem 0;padding:.75rem;background:var(--ion-color-light);border-radius:8px;font-size:.9rem;line-height:1.5}.relevance-reason strong{display:block;margin-bottom:.25rem}.suggestion-tips{margin:1rem 0;padding:.75rem;background:var(--ion-color-success-tint);border-radius:8px;font-size:.9rem}.suggestion-tips strong{display:block;margin-bottom:.5rem;color:var(--ion-color-success)}.suggestion-tips ul{margin:0;padding-left:1.25rem}.suggestion-tips li{margin:.25rem 0;line-height:1.5}@media (max-width: 768px){.suggestion-header{flex-direction:column}.progress-stats{grid-template-columns:1fr}.stat-item{display:flex;justify-content:space-between;align-items:center;text-align:left}.stat-value{font-size:1.5rem}}@media (prefers-color-scheme: dark){.milestone-suggestions-tab{color:#e0e0e0}.suggestions-intro,.progress-summary,.stat-item,.suggestion-card,.past-suggestion-card,.relevance-reason,.suggestion-tips{background:#ffffff0d;border-color:#ffffff1a}.suggestion-card:hover,.past-suggestion-card:hover{background:#ffffff14}.past-suggestion-header{border-bottom-color:#ffffff1a}.general-advice{background:#6b5b9526}}.milestone-magic-page{background:linear-gradient(135deg,#dcd0ff,#ffd9f0,#d0e8ff,#ffd9ec,#e5d9ff);background-size:200% 200%;min-height:100vh;position:relative;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.milestone-magic-page ion-content{--padding-bottom: 100px}.milestone-magic-page:before{content:"";position:fixed;inset:0;background:radial-gradient(circle 500px at 5% 15%,rgba(139,158,255,.45) 0%,rgba(139,158,255,.15) 40%,transparent 60%),radial-gradient(circle 450px at 95% 25%,rgba(255,150,230,.4) 0%,rgba(255,182,255,.12) 40%,transparent 60%),radial-gradient(circle 550px at 50% 95%,rgba(169,141,214,.35) 0%,rgba(169,141,214,.1) 40%,transparent 60%);pointer-events:none;z-index:0}.milestone-magic-hero{position:relative;background:var(--theme-primary-gradient, linear-gradient(135deg, #8b9eff 0%, #a98dd6 50%, #c9a4e8 100%));padding:3rem 1.5rem 2.5rem;margin:-16px -16px 2rem;border-radius:0 0 32px 32px;overflow:hidden;box-shadow:0 2px 8px #8b9eff1f,0 8px 24px #8b9eff26,0 16px 48px #8b9eff1a}.milestone-magic-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(240,147,251,.15),transparent 60%),radial-gradient(circle at bottom left,rgba(102,126,234,.15),transparent 60%);pointer-events:none}.milestone-magic-hero:after{content:"";position:absolute;inset:0;background:url('data:image/svg+xml,<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg"><circle cx="20" cy="30" r="1" fill="white" opacity="0.2"/><circle cx="100" cy="50" r="1.5" fill="white" opacity="0.15"/><circle cx="160" cy="120" r="1" fill="white" opacity="0.2"/><circle cx="60" cy="160" r="0.8" fill="white" opacity="0.25"/></svg>');background-size:200px 200px;opacity:.4;animation:sparkleFloat 30s linear infinite}@keyframes sparkleFloat{0%{transform:translateY(0) translate(0)}to{transform:translateY(-200px) translate(20px)}}.milestone-magic-hero-content{position:relative;z-index:2;text-align:center;color:#fff}.milestone-magic-title{font-size:2rem;font-weight:700;margin:0 0 .75rem;text-shadow:0 2px 16px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.1);display:flex;align-items:center;justify-content:center;gap:.75rem;letter-spacing:-.02em}.milestone-magic-title ion-icon{font-size:2.5rem;animation:sparkleRotate 4s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}@keyframes sparkleRotate{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(-5deg) scale(1.05)}50%{transform:rotate(0) scale(1)}75%{transform:rotate(5deg) scale(1.05)}}.milestone-magic-subtitle{font-size:1.05rem;opacity:.92;font-weight:400;line-height:1.6;max-width:500px;margin:0 auto}.milestone-magic-stats{display:flex;justify-content:center;gap:3rem;margin-top:2rem}.milestone-magic-stat{text-align:center;position:relative}.milestone-magic-stat:after{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:32px;height:2px;background:#ffffff4d;border-radius:1px}.milestone-magic-stat-value{font-size:2rem;font-weight:700;display:block;text-shadow:0 2px 8px rgba(0,0,0,.2);letter-spacing:-.02em}.milestone-magic-stat-label{font-size:.875rem;opacity:.88;display:block;margin-top:.5rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase;font-size:.75rem}.milestone-magic-tabs{background:#fffffff2;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:20px;padding:.75rem;margin:0 0 2rem;box-shadow:0 1px 3px #667eea14,0 2px 8px #667eea0f;border:1px solid rgba(102,126,234,.08);position:relative;z-index:1}.milestone-magic-tabs ion-segment{border-radius:16px;--background: transparent}.milestone-magic-tabs ion-segment-button{--indicator-color: var(--theme-primary-gradient, linear-gradient(135deg, #8b9eff 0%, #a98dd6 100%));--indicator-box-shadow: 0 2px 8px rgba(139, 158, 255, .25), 0 4px 16px rgba(139, 158, 255, .18);--color: #8a7aad;--color-checked: white;--ripple-color: rgba(139, 158, 255, .2);min-height:56px;font-weight:600;font-size:.875rem;transition:all .4s cubic-bezier(.4,0,.2,1);margin:0 4px;border-radius:14px}.milestone-magic-tabs ion-segment-button:not(.segment-button-checked){opacity:.75}.milestone-magic-tabs ion-segment-button:not(.segment-button-checked):hover{opacity:1;background:#667eea0f}.milestone-magic-tabs ion-segment-button ion-icon{margin-bottom:6px;font-size:1.5rem;transition:transform .4s cubic-bezier(.4,0,.2,1)}.milestone-magic-tabs ion-segment-button.segment-button-checked ion-icon{transform:scale(1.15);filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.milestone-magic-tabs ion-segment-button ion-label{font-size:.8rem;font-weight:600;letter-spacing:.01em}.story-weaver-view-selector{background:#ffffffe6;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);padding:.75rem;border-radius:18px;margin-bottom:1.5rem;box-shadow:0 1px 3px #667eea0d,0 2px 6px #667eea0a;border:1px solid rgba(102,126,234,.08)}.story-weaver-view-selector ion-segment{--background: transparent}.story-weaver-view-selector ion-segment-button{--color: #8a7aad;--color-checked: white;--indicator-color: var(--theme-primary-gradient, linear-gradient(135deg, #8b9eff 0%, #a98dd6 100%));--indicator-box-shadow: 0 2px 8px rgba(139, 158, 255, .25);min-height:48px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.story-library-header{background:#fffffff2;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(102,126,234,.08);box-shadow:0 1px 3px #667eea0a,0 2px 8px #667eea0d;border-radius:20px}.story-library-header ion-card-title{color:#6a5a8b;font-weight:700;letter-spacing:-.01em}.story-library-header ion-text{color:#8a7aad;line-height:1.6}.magic-card{background:#fffffffa;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:24px;overflow:hidden;box-shadow:0 1px 3px #667eea0f,0 2px 8px #667eea0d;transition:all .3s cubic-bezier(.4,0,.2,1);animation:slideUp .5s ease-out;border:1px solid rgba(102,126,234,.08)}.magic-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #667eea1a,0 8px 24px #667eea14;border-color:#667eea26}.magic-card-gradient{position:relative;background:linear-gradient(135deg,#8b9eff,#a98dd6);color:#2a1f3a;overflow:hidden}.magic-card-gradient:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(240,147,251,.25),transparent 60%),radial-gradient(circle at bottom left,rgba(102,126,234,.2),transparent 60%);pointer-events:none}.magic-card-header{padding:1.5rem;display:flex;align-items:center;gap:1rem}.magic-card-icon{font-size:3rem;animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}.magic-card-title{font-size:1.5rem;font-weight:700;margin:0}.magic-card-body{padding:1.5rem 1.5rem 3rem}.create-story-button{position:relative;--background: var(--theme-primary-gradient, linear-gradient(135deg, #8b9eff 0%, #a98dd6 100%));--box-shadow: 0 4px 12px rgba(139, 158, 255, .35), 0 8px 24px rgba(139, 158, 255, .25), 0 16px 40px rgba(139, 158, 255, .18);height:58px;font-size:1.1rem;font-weight:700;letter-spacing:.02em;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);border-radius:16px}.create-story-button:active{transform:scale(.98)}.create-story-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .6s ease}.create-story-button:hover:before{left:100%}.create-story-button ion-icon{font-size:1.6rem;animation:pulse 3s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.9}}.rate-limit-indicator{background:#fff3;backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);padding:1.25rem;border-radius:18px;margin-bottom:1.5rem;border:1px solid rgba(255,255,255,.25);box-shadow:0 2px 8px #00000014,inset 0 1px #fff6}.rate-limit-bar{background:#ffffff40;height:8px;border-radius:4px;overflow:hidden;margin-top:.75rem;box-shadow:inset 0 1px 2px #0000001a}.rate-limit-fill{background:linear-gradient(90deg,#ffffffe6,#fff);height:100%;border-radius:4px;transition:width .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 12px #fff9,0 2px 4px #ffffff4d;position:relative;overflow:hidden}.rate-limit-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s ease-in-out infinite}.story-library{background:transparent}.story-library .ion-padding-horizontal{background:#ffffffb3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);padding:1.25rem;border-radius:20px;margin-bottom:1.5rem;box-shadow:0 1px 3px #667eea0d,0 2px 6px #667eea0a;border:1px solid rgba(102,126,234,.08)}.story-library ion-searchbar{--background: rgba(255, 255, 255, .8);--border-radius: 14px;--box-shadow: 0 2px 8px rgba(139, 158, 255, .08), inset 0 1px 0 rgba(255, 255, 255, .9);--placeholder-color: #b4a8d8;--color: #6a5a8b;margin-bottom:1rem}.story-library ion-segment{--background: transparent}.story-library ion-segment-button{--color: #8a7aad;--color-checked: white;--indicator-color: var(--theme-primary-gradient, linear-gradient(135deg, #8b9eff 0%, #a98dd6 100%));--indicator-box-shadow: 0 2px 8px rgba(139, 158, 255, .25);min-height:44px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.story-library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;padding:1rem;background:transparent;border-radius:16px}.story-card{background:#fff;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-radius:24px;overflow:hidden;box-shadow:0 1px 3px #667eea14,0 2px 8px #667eea0f;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;animation:fadeIn .4s ease-out;border:1px solid rgba(102,126,234,.08)}.story-card:hover{transform:translateY(-8px);box-shadow:0 4px 12px #667eea1f,0 8px 24px #667eea1a;border-color:#667eea26}.story-card-gradient-bar{height:4px;background:linear-gradient(90deg,#8b9eff,#a98dd6,#c9a4e8 70%,#e5b4f5);position:relative}.story-card-gradient-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}.story-card-content{padding:1.75rem}.story-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1.25rem}.story-card-title{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;color:#6a5a8b;background:linear-gradient(135deg,#8b9eff,#a98dd6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.story-card-meta{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem;align-items:center}.story-theme-badge{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#8b9eff1f,#a98dd61f);border:1.5px solid rgba(139,158,255,.25);border-radius:12px;padding:.5rem .75rem;transition:all .3s ease}.story-theme-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b9eff33;border-color:#8b9eff66}.story-theme-emoji{font-size:1.5rem;line-height:1}.story-theme-label{font-size:.85rem;font-weight:600;color:#6a5a8b;text-transform:capitalize}.story-format-badge{display:inline-flex;align-items:center;gap:.5rem;background:#fffc;border:1.5px solid rgba(139,158,255,.15);border-radius:12px;padding:.5rem .75rem;transition:all .3s ease}.story-format-badge:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b9eff26;border-color:#8b9eff4d}.story-format-emoji{font-size:1.25rem;line-height:1}.story-format-label{font-size:.8rem;font-weight:500;color:#8a7aad;text-transform:capitalize}.story-stat-chip{--background: rgba(255, 255, 255, .6);--color: #8a7aad;font-size:.8rem;height:28px;border:1px solid rgba(139,158,255,.1)}.story-card-preview{font-size:.95rem;line-height:1.6;color:#8a7aad;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;word-break:break-word;hyphens:auto}.favorite-button{--padding-start: 8px;--padding-end: 8px;transition:all .3s ease}.favorite-button ion-icon{transition:all .3s ease}.favorite-button:active ion-icon{transform:scale(1.3)}.config-section{margin-bottom:2.5rem}.config-label{font-size:1.1rem;font-weight:700;margin-bottom:1rem;display:block;color:#6a5a8b;letter-spacing:-.01em}.theme-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.theme-option{background:#fffffff2;backdrop-filter:blur(12px);border:2px solid rgba(139,158,255,.15);border-radius:16px;padding:1rem .75rem;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #667eea14}.theme-option:hover{transform:translateY(-4px);border-color:#8b9eff4d;box-shadow:0 4px 12px #667eea26}.theme-option.selected{background:linear-gradient(135deg,#8b9eff26,#a98dd626);border-color:#8b9eff;box-shadow:0 4px 16px #8b9eff4d,0 0 0 3px #8b9eff1a;transform:translateY(-2px)}.theme-emoji{font-size:2rem;margin-bottom:.5rem}.theme-label{font-size:.9rem;font-weight:600;color:#6a5a8b;margin-bottom:.25rem}.theme-desc{font-size:.75rem;color:#8a7aad;line-height:1.3}.format-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.format-option{background:#fffffff2;backdrop-filter:blur(12px);border:2px solid rgba(139,158,255,.15);border-radius:14px;padding:1rem;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #667eea14}.format-option:hover{transform:translate(4px);border-color:#8b9eff4d;box-shadow:0 2px 8px #667eea26}.format-option.selected{background:linear-gradient(135deg,#8b9eff26,#a98dd626);border-color:#8b9eff;box-shadow:0 2px 12px #8b9eff4d,0 0 0 3px #8b9eff1a}.format-emoji{font-size:1.75rem;flex-shrink:0}.format-content{flex:1}.format-label{font-size:.95rem;font-weight:600;color:#6a5a8b;margin-bottom:.15rem}.format-desc{font-size:.8rem;color:#8a7aad}.length-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.length-option{background:#fffffff2;backdrop-filter:blur(12px);border:2px solid rgba(139,158,255,.15);border-radius:14px;padding:1rem;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #667eea14}.length-option:hover{transform:translateY(-4px);border-color:#8b9eff4d;box-shadow:0 4px 12px #667eea26}.length-option.selected{background:linear-gradient(135deg,#8b9eff26,#a98dd626);border-color:#8b9eff;box-shadow:0 4px 16px #8b9eff4d,0 0 0 3px #8b9eff1a;transform:translateY(-2px)}.length-label{font-size:.95rem;font-weight:600;color:#6a5a8b;margin-bottom:.35rem}.length-desc{font-size:.8rem;color:#8a7aad;margin-bottom:.25rem}.length-time{font-size:.75rem;color:#a98dd6;font-weight:500}.tone-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.tone-option{background:#fffffff2;backdrop-filter:blur(12px);border:2px solid rgba(139,158,255,.15);border-radius:14px;padding:1rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #667eea14}.tone-option:hover{transform:translate(4px);border-color:#8b9eff4d;box-shadow:0 2px 8px #667eea26}.tone-option.selected{background:linear-gradient(135deg,#8b9eff26,#a98dd626);border-color:#8b9eff;box-shadow:0 2px 12px #8b9eff4d,0 0 0 3px #8b9eff1a}.tone-emoji{font-size:1.5rem;flex-shrink:0}.tone-content{flex:1}.tone-label{font-size:.9rem;font-weight:600;color:#6a5a8b;margin-bottom:.15rem}.tone-desc{font-size:.75rem;color:#8a7aad}.age-level-option{background:#fffffff2;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:2px solid rgba(102,126,234,.08);border-radius:18px;padding:1.25rem;margin-bottom:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #667eea0d,0 2px 6px #667eea0a}.age-level-option:hover{transform:translate(6px);border-color:#667eea26;background:#fff;box-shadow:0 4px 12px #667eea1a,0 8px 24px #667eea0f}.age-level-option.selected{background:linear-gradient(135deg,#5b6fd81f,#6b4fa01f);backdrop-filter:blur(16px) saturate(200%);-webkit-backdrop-filter:blur(16px) saturate(200%);border-color:#6b4fa066;box-shadow:0 4px 16px #667eea2e,0 8px 32px #667eea1f,inset 0 1px #ffffffe6;transform:translate(4px)}.age-level-option-header{display:flex;justify-content:space-between;align-items:center}.age-level-option-label{font-weight:600;font-size:1.05rem;color:#6a5a8b}.age-level-option.selected .age-level-option-label{background:linear-gradient(135deg,#8b9eff,#a98dd6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.age-level-option-desc{font-size:.9rem;color:#8a7aad;margin:.5rem 0 0}.generation-progress-container{text-align:center;padding:3rem 2rem}.generation-spinner{font-size:4rem;color:var(--ion-color-primary);animation:spinFade 2s ease-in-out infinite}@keyframes spinFade{0%,to{opacity:1}50%{opacity:.5}}.generation-title{font-size:1.5rem;font-weight:600;margin-top:1.5rem;margin-bottom:.5rem;background:linear-gradient(135deg,#8b9eff,#a98dd6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.generation-progress-text{background:linear-gradient(135deg,#fdfcff,#f9f7ff);border-radius:12px;padding:1rem;margin-top:1.5rem;max-height:200px;overflow:auto;text-align:left;font-size:.9rem;font-family:Monaco,Courier New,monospace;white-space:pre-wrap;color:#8a7aad;border:1px solid rgba(139,158,255,.12)}.story-preview-card{background:#fff;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:28px;overflow:hidden;box-shadow:0 2px 8px #667eea14,0 4px 16px #667eea0f;animation:slideUp .6s cubic-bezier(.4,0,.2,1);border:1px solid rgba(102,126,234,.08)}.story-preview-header{background:linear-gradient(135deg,#8b9eff,#a98dd6);color:#fff;padding:2.5rem 1.5rem;text-align:center;position:relative;overflow:hidden}.story-preview-header:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top center,rgba(240,147,251,.2),transparent 60%);pointer-events:none}.story-preview-header ion-icon{font-size:3rem;margin-bottom:1rem;animation:bounceIn .8s cubic-bezier(.68,-.55,.265,1.55)}.story-preview-title{font-size:1.75rem;font-weight:700;margin:0 0 1rem}.story-preview-content{padding:2rem 1.5rem;font-family:Georgia,serif;font-size:1.05rem;line-height:1.8;white-space:pre-wrap;color:#6a5a8b;background:linear-gradient(180deg,#fff,#fdfcff)}.story-preview-actions{display:flex;gap:.75rem;padding:1.5rem;border-top:1px solid var(--ion-color-light)}.magic-empty-state{text-align:center;padding:4rem 2rem;background:#fffffffa;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:24px;border:1px solid rgba(102,126,234,.08);box-shadow:0 1px 3px #667eea0d,0 2px 8px #667eea0a}.magic-empty-icon{font-size:5rem;color:#b8afd8;opacity:.5;margin-bottom:1.5rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.magic-empty-title{font-size:1.5rem;font-weight:600;margin:0 0 .75rem;color:#6a5a8b}.magic-empty-description{font-size:1rem;color:#8a7aad;margin:0 0 2rem}@media (max-width: 768px){.milestone-magic-hero{padding:2rem 1rem 1.75rem;border-radius:0 0 24px 24px}.milestone-magic-title{font-size:1.65rem;gap:.5rem}.milestone-magic-title ion-icon{font-size:2rem}.milestone-magic-subtitle{font-size:.95rem}.milestone-magic-stats{gap:2rem;margin-top:1.5rem}.milestone-magic-stat-value{font-size:1.75rem}.milestone-magic-tabs{padding:.5rem;border-radius:16px}.milestone-magic-tabs ion-segment-button{min-height:52px;margin:0 2px}.milestone-magic-tabs ion-segment-button ion-icon{font-size:1.35rem}.story-library-grid{grid-template-columns:1fr;gap:1rem;padding:.5rem}.story-card,.magic-card{border-radius:20px}.age-level-option{padding:1rem;border-radius:16px}}@media (prefers-color-scheme: dark){.milestone-magic-page{background:linear-gradient(180deg,var(--ion-background-color) 0%,var(--ion-color-step-50) 50%,var(--ion-color-step-100) 100%)}.milestone-magic-page:before{background:radial-gradient(circle at 20% 30%,rgba(139,158,255,.06) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(169,141,214,.06) 0%,transparent 50%)}.milestone-magic-tabs,.story-weaver-view-selector,.story-library .ion-padding-horizontal{background:var(--ion-color-step-100);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-color:#8b9eff33;box-shadow:0 1px 3px #8b9eff1a,0 2px 8px #8b9eff14}.magic-card{background:var(--ion-color-step-100);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:0 1px 3px #8b9eff1f,0 2px 8px #8b9eff1a;border-color:#8b9eff33}.story-card{background:var(--ion-color-step-100);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);box-shadow:0 1px 3px #8b9eff1f,0 2px 8px #8b9eff1a;border-color:#8b9eff33}.story-card:hover{box-shadow:0 4px 12px #8b9eff33,0 8px 24px #8b9eff26;border-color:#8b9eff4d}.story-card-title{color:#fffffff2}.story-card-preview{color:#ffffffb3}.story-library-grid{background:transparent}.age-level-option{background:var(--ion-color-step-100);backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border-color:#8b9eff33}.age-level-option:hover{background:var(--ion-color-step-150);border-color:#8b9eff4d}.age-level-option.selected{background:linear-gradient(135deg,#8b9eff40,#a98dd640);backdrop-filter:blur(16px) saturate(200%);-webkit-backdrop-filter:blur(16px) saturate(200%);border-color:#8b9eff80}.age-level-option-label{color:#fffffff2}.age-level-option-desc{color:#ffffffb3}.magic-empty-state{background:var(--ion-color-step-100);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-color:#8b9eff33}.magic-empty-title{color:#fffffff2}.magic-empty-description{color:#ffffffb3}.config-label{color:#ffffffe6}.generation-progress-text{background:var(--ion-color-step-100);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fffc;border-color:#8b9eff33}.story-preview-card{background:var(--ion-color-step-100);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-color:#8b9eff33}.story-preview-content{background:var(--ion-color-step-150);color:#ffffffe6}.story-library-header{background:var(--ion-color-step-100);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border-color:#8b9eff33}}.story-viewer-modal{--border-radius: 0}.story-viewer-modal ion-modal{--border-radius: 0}.story-viewer-content{--padding-bottom: 60px;transition:background-color .4s ease}.story-viewer-bg-cream{--background: linear-gradient(180deg, #faf8f3 0%, #f5f1e8 100%)}.story-viewer-bg-white{--background: #ffffff}.story-viewer-bg-sepia{--background: linear-gradient(180deg, #f4ecd8 0%, #efe4c8 100%)}.story-book-page{max-width:700px;margin:0 auto;padding:2rem 1.5rem;min-height:100vh}.story-book-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid rgba(139,158,255,.15)}.story-book-title{font-family:Georgia,Baskerville,Garamond,serif;font-size:2rem;font-weight:600;color:#4a3a6b;margin:0 0 1rem;line-height:1.3;text-align:center}.story-book-meta{display:flex;flex-direction:column;align-items:center;gap:.75rem}.story-book-date{font-size:.9rem;color:#8a7aad;font-style:italic}.story-book-badges{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center}.story-book-badge{display:inline-block;padding:.35rem .75rem;background:#8b9eff1a;border:1px solid rgba(139,158,255,.2);border-radius:20px;font-size:.85rem;color:#6a5a8b;font-weight:500}.story-book-rating{display:flex;justify-content:center;align-items:center;gap:.25rem;margin-bottom:2rem;padding:1rem 0;border-bottom:1px solid rgba(139,158,255,.1)}.story-book-content{font-family:Georgia,Baskerville,Garamond,serif;color:#3a2a5a;white-space:pre-wrap;word-break:break-word;text-align:justify;hyphens:auto;-webkit-hyphens:auto;-moz-hyphens:auto;padding:1.5rem 0;min-height:400px;position:relative;&:first-letter{font-size:3.5em;font-weight:700;line-height:.8;float:left;margin:.1em .1em 0 0;color:#8b9eff}}.story-book-content.page-flip{animation:pageFlip .6s ease-in-out}@keyframes pageFlip{0%{transform:perspective(1000px) rotateY(0);opacity:1}50%{transform:perspective(1000px) rotateY(-90deg);opacity:.3}to{transform:perspective(1000px) rotateY(0);opacity:1}}.story-page-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding:1rem 0;border-top:1px solid rgba(139,158,255,.2);border-bottom:1px solid rgba(139,158,255,.2)}.page-nav-button{--color: #6a5a8b;--color-activated: #8b9eff;font-family:Georgia,serif;font-size:.95rem;font-weight:500;text-transform:none;transition:all .3s ease}.page-nav-button:hover:not([disabled]){--color: #8b9eff}.page-nav-button[disabled]{opacity:.3}.page-indicator{font-family:Georgia,serif;font-size:.9rem;color:#8a7aad;font-style:italic;text-align:center;min-width:120px}.story-book-footer{margin-top:3rem;padding-top:1.5rem;border-top:2px solid rgba(139,158,255,.15);text-align:center;color:#8a7aad;font-size:.9rem;font-style:italic;display:flex;align-items:center;justify-content:center}.story-viewer-content ion-fab-button{--background: linear-gradient(135deg, #8b9eff 0%, #a98dd6 100%);--color: white;--box-shadow: 0 4px 12px rgba(139, 158, 255, .3);transition:all .3s ease}.story-viewer-content ion-fab-button:hover{--box-shadow: 0 6px 16px rgba(139, 158, 255, .4);transform:translateY(-2px)}@media (max-width: 768px){.story-book-page{padding:1.5rem 1rem}.story-book-title{font-size:1.75rem}.story-book-content:first-letter{font-size:3em}}@media (min-width: 769px){.story-book-page{padding:3rem 2rem}.story-book-content{padding:2rem 1rem}}.insights-tab{padding-bottom:2rem;animation:fadeInUp .6s ease}.insights-action-bar{padding:1rem;margin-bottom:1.5rem}.insights-action-bar ion-button{--background: linear-gradient(135deg, #8b9eff 0%, #a98dd6 50%, #ff9ecd 100%);--box-shadow: 0 8px 24px rgba(139, 158, 255, .35);--border-radius: 16px;--padding-top: 1rem;--padding-bottom: 1rem;font-weight:600;font-size:1.05rem;letter-spacing:.3px;text-transform:none;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.insights-action-bar ion-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s ease}.insights-action-bar ion-button:hover:before{left:100%}.insights-action-bar ion-button:hover{--box-shadow: 0 12px 32px rgba(139, 158, 255, .45);transform:translateY(-2px)}.insights-action-bar ion-button:active{transform:translateY(0);--box-shadow: 0 4px 16px rgba(139, 158, 255, .3)}.insights-stats{display:flex;gap:1rem;padding:1rem;margin-bottom:1.5rem;animation:fadeInUp .6s ease .1s both}.insights-stat-card{flex:1;background:linear-gradient(135deg,#fffffff2,#f8f5fff2);backdrop-filter:blur(20px);border-radius:20px;padding:1.5rem;text-align:center;border:2px solid rgba(139,158,255,.25);box-shadow:0 8px 24px #8b9eff1f,0 2px 8px #8b9eff14,inset 0 1px #fffc;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.insights-stat-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(139,158,255,.08) 0%,transparent 70%);animation:pulseGlow 4s ease-in-out infinite}@keyframes pulseGlow{0%,to{transform:translate(0) scale(1);opacity:.5}50%{transform:translate(10px,10px) scale(1.1);opacity:.8}}.insights-stat-card:hover{transform:translateY(-4px) scale(1.02);border-color:#8b9eff66;box-shadow:0 16px 40px #8b9eff33,0 4px 12px #8b9eff1f,inset 0 1px #fff}.insights-stat-value{font-size:2.5rem;font-weight:800;background:linear-gradient(135deg,#6366f1,#8b5cf6,#d946ef);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;margin-bottom:.5rem;position:relative;z-index:1;text-shadow:0 2px 8px rgba(139,158,255,.2);animation:countUp 1s ease-out}@keyframes countUp{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.insights-stat-label{font-size:.875rem;color:#6b5b95;font-weight:600;text-transform:uppercase;letter-spacing:.5px;position:relative;z-index:1}.insights-list{display:flex;flex-direction:column;gap:1.25rem;padding:1rem}.insights-list>*{animation:fadeInUp .5s ease both}.insights-list>*:nth-child(1){animation-delay:.05s}.insights-list>*:nth-child(2){animation-delay:.1s}.insights-list>*:nth-child(3){animation-delay:.15s}.insights-list>*:nth-child(4){animation-delay:.2s}.insights-list>*:nth-child(5){animation-delay:.25s}.insights-list>*:nth-child(6){animation-delay:.3s}.insight-card{background:linear-gradient(135deg,#fffffffa,#fcf9fffa);backdrop-filter:blur(20px) saturate(180%);border-radius:24px;padding:2rem;border:2px solid rgba(139,158,255,.15);box-shadow:0 10px 30px #8b9eff1f,0 4px 12px #8b9eff14,inset 0 1px #ffffffe6;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden}.insight-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(139,158,255,.08),transparent);transition:left .6s ease}.insight-card:hover:before{left:100%}.insight-card:after{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#8b9eff,#a98dd6,#ff9ecd);opacity:0;transition:opacity .4s ease}.insight-card:hover{transform:translateY(-6px) scale(1.01);border-color:#8b9eff59;box-shadow:0 20px 50px #8b9eff33,0 8px 20px #8b9eff26,inset 0 1px #fff}.insight-card:hover:after{opacity:1}.insight-card:active{transform:translateY(-2px) scale(.99)}.insight-card.pinned{border-color:#fbbf24;border-width:2.5px;background:linear-gradient(135deg,#fffbebfa,#fef3c7f2);box-shadow:0 10px 30px #fbbf2440,0 4px 12px #fbbf2426,inset 0 1px #ffffffe6}.insight-card.pinned:after{background:linear-gradient(90deg,#fbbf24,#f59e0b,#f97316);opacity:1}.insight-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;position:relative;z-index:1}.insight-card-header ion-icon{font-size:1.75rem;filter:drop-shadow(0 2px 4px rgba(139,158,255,.2));animation:iconFloat 3s ease-in-out infinite}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.insight-card-header ion-chip{--background: linear-gradient(135deg, rgba(139, 158, 255, .15) 0%, rgba(169, 141, 214, .15) 100%);--color: #6366f1;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.5px;border:1.5px solid rgba(139,158,255,.25);box-shadow:0 2px 8px #8b9eff1a}.insight-card-title{font-size:1.35rem;font-weight:700;color:#1e1b4b;margin:0 0 1rem;line-height:1.4;position:relative;z-index:1;background:linear-gradient(135deg,#1e1b4b,#4c1d95);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.insight-card-summary{color:#52525b;font-size:1rem;line-height:1.7;margin:0 0 1.25rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;position:relative;z-index:1}.insight-card-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;position:relative;z-index:1}.insight-card-meta ion-text{font-weight:500;font-size:.875rem;display:flex;align-items:center;gap:.35rem}.insight-card-meta ion-text:before{content:"📖";font-size:1rem}.insight-rating{display:flex;align-items:center;gap:.35rem;font-size:.9rem;font-weight:700;background:linear-gradient(135deg,#f59e0b,#ef4444);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;padding:.25rem .5rem;border-radius:8px;background-color:#fbbf241a}.insight-rating ion-icon{color:#f59e0b;font-size:1rem}.insight-card-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:2px solid rgba(139,158,255,.1);position:relative;z-index:1}.insight-card-actions ion-button{--background: transparent;--background-hover: rgba(139, 158, 255, .1);--box-shadow: none;--border-radius: 12px;--padding-start: .75rem;--padding-end: .75rem;transition:all .3s ease}.insight-card-actions ion-button:hover{transform:scale(1.1)}@media (prefers-color-scheme: dark){.insight-card{background:linear-gradient(135deg,var(--ion-color-step-100) 0%,var(--ion-color-step-150) 100%);border-color:#8b9eff40;box-shadow:0 10px 30px #0000004d,0 4px 12px #0003}.insight-card:hover{border-color:#8b9eff66;box-shadow:0 20px 50px #0006,0 8px 20px #0000004d}.insight-card.pinned{border-color:#fbbf24;background:linear-gradient(135deg,#fbbf2426,#f59e0b26);box-shadow:0 10px 30px #fbbf2433,0 4px 12px #fbbf2426}.insight-card-header ion-chip{--background: rgba(139, 158, 255, .25);--color: rgba(255, 255, 255, .95);border-color:#8b9eff66}.insight-card-title{color:#fffffff2;background:none;-webkit-text-fill-color:rgba(255,255,255,.95)}.insight-card-summary{color:#ffffffbf}.insight-card-meta ion-text{color:#ffffffb3}.insight-card-actions{border-top-color:#8b9eff33}}.insight-viewer{max-width:900px;margin:0 auto;padding:2rem;animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.insight-viewer-header{margin-bottom:2.5rem;text-align:center;padding-bottom:2rem;border-bottom:3px solid rgba(139,158,255,.2);position:relative}.insight-viewer-header:after{content:"";position:absolute;bottom:-3px;left:50%;transform:translate(-50%);width:100px;height:3px;background:linear-gradient(90deg,#8b9eff,#a98dd6,#ff9ecd);border-radius:3px}.insight-viewer-header ion-chip{--background: linear-gradient(135deg, rgba(139, 158, 255, .15) 0%, rgba(169, 141, 214, .15) 100%);--color: #6366f1;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.8px;border:2px solid rgba(139,158,255,.3);box-shadow:0 4px 12px #8b9eff26;padding:.75rem 1.25rem}.insight-viewer-content{font-size:1.1rem;line-height:1.9;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:400;padding:1rem 0}.insight-viewer-content:first-letter{font-size:3.5em;font-weight:700;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;float:left;line-height:.85;margin:.1em .15em 0 0;background:linear-gradient(135deg,#6366f1,#8b5cf6,#d946ef);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.insight-viewer-content h1,.insight-viewer-content h2,.insight-viewer-content h3,.insight-viewer-content h4{background:linear-gradient(135deg,#4c1d95,#6366f1);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-top:2.5rem;margin-bottom:1.25rem;font-weight:700;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;position:relative;padding-left:1.25rem}.insight-viewer-content h1:before,.insight-viewer-content h2:before,.insight-viewer-content h3:before,.insight-viewer-content h4:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:70%;background:linear-gradient(180deg,#8b9eff,#a98dd6);border-radius:2px}.insight-viewer-content h1{font-size:2rem;margin-top:0}.insight-viewer-content h2{font-size:1.65rem}.insight-viewer-content h3{font-size:1.4rem}.insight-viewer-content h4{font-size:1.2rem}.insight-viewer-content p{margin-bottom:1.5rem;text-align:justify;text-justify:inter-word}.insight-viewer-content ul,.insight-viewer-content ol{margin:1.5rem 0;padding-left:2rem}.insight-viewer-content li{margin-bottom:1rem;line-height:1.8;position:relative}.insight-viewer-content ul li::marker{color:#8b9eff;font-size:1.2em}.insight-viewer-content strong{color:#6366f1;font-weight:700;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.insight-viewer-content em{color:#8b5cf6;font-style:italic}.insight-viewer-content blockquote{margin:2rem 0;padding:1.5rem 2rem;background:linear-gradient(135deg,#8b9eff14,#a98dd614);border-left:4px solid #8b9eff;border-radius:8px;font-style:italic;color:#4c1d95}.generation-progress-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.generation-spinner{width:60px;height:60px;--color: #8b9eff;filter:drop-shadow(0 4px 12px rgba(139,158,255,.4));animation:spinPulse 2s ease-in-out infinite}@keyframes spinPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.generation-progress-container p{margin-top:1.5rem;font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,#8b9eff,#a98dd6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeInUp .6s ease}.insights-tab .ion-padding-horizontal{padding:0 1rem;margin-bottom:1rem}.insights-tab ion-searchbar{--background: rgba(255, 255, 255, .9);--border-radius: 16px;--box-shadow: 0 4px 16px rgba(139, 158, 255, .12);--icon-color: #8b9eff;--placeholder-color: #a0a0b8;--placeholder-font-weight: 500;padding:.5rem 0;backdrop-filter:blur(10px);border:2px solid rgba(139,158,255,.15);border-radius:16px;transition:all .3s ease}.insights-tab ion-searchbar:hover{border-color:#8b9eff4d;--box-shadow: 0 8px 24px rgba(139, 158, 255, .18)}@media (max-width: 768px){.insights-stats{flex-direction:column}.insights-stat-card{padding:1.25rem}.insights-stat-value{font-size:2rem}.insight-card{padding:1.5rem;border-radius:20px}.insight-card-title{font-size:1.2rem}.insight-card-summary{font-size:.95rem}.insight-viewer{padding:1rem}.insight-viewer-content{font-size:1rem}.insight-viewer-content:first-letter{font-size:3em}.insights-action-bar ion-button{font-size:1rem}}@media (min-width: 769px){.insights-list{padding:1rem 2rem}.insight-card:hover{transform:translateY(-8px) scale(1.015)}}.story-photo-gallery{margin:2rem 0;padding:1.5rem;background:linear-gradient(135deg,#f8f4ff,#fff5f8);border-radius:16px;box-shadow:0 4px 20px #00000014}.story-photo-gallery-header{display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:600;color:var(--ion-color-primary);margin-bottom:1.5rem;text-align:center}.story-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.story-photo-item{display:flex;flex-direction:column;gap:.75rem;animation:fadeInUp .6s ease-out}.story-photo-image{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;box-shadow:0 4px 12px #00000026;transition:transform .3s ease,box-shadow .3s ease}.story-photo-image:hover{transform:scale(1.05);box-shadow:0 8px 24px #0003}.story-photo-caption{text-align:center;font-size:.9rem;font-weight:500;color:var(--ion-color-dark);line-height:1.4}.story-photo-age{display:block;font-size:.8rem;color:var(--ion-color-medium);margin-top:.25rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (prefers-color-scheme: dark){.story-photo-gallery{background:linear-gradient(135deg,#2a2440,#3a2a3a)}.story-photo-caption{color:var(--ion-color-light)}}@media (min-width: 768px){.story-photo-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.story-photo-gallery{padding:2rem}}.picture-book-page-photo{width:100%;margin-bottom:2rem;text-align:center}.picture-book-page-image{width:100%;max-width:500px;height:auto;border-radius:12px;box-shadow:0 4px 12px #00000026;margin:0 auto;display:block;object-fit:contain;transition:transform .3s ease}.picture-book-page-image:hover{transform:scale(1.02)}.picture-book-photo-caption{margin-top:1rem;padding:.75rem 1rem;background:linear-gradient(135deg,#8b5cf61a,#ec48991a);border-radius:8px;max-width:500px;margin-left:auto;margin-right:auto}.picture-book-photo-title{font-size:1.1rem;font-weight:600;color:var(--ion-color-primary);margin-bottom:.25rem;font-family:Georgia,serif}.picture-book-photo-age{font-size:.9rem;color:var(--ion-color-medium);font-style:italic}.story-book-content .story-text{margin-top:1rem}@media (prefers-color-scheme: dark){.picture-book-page-image{box-shadow:0 4px 12px #0006}.picture-book-photo-caption{background:linear-gradient(135deg,#8b5cf633,#ec489933)}.picture-book-photo-title{color:var(--ion-color-primary-tint)}}@media (max-width: 768px){.picture-book-page-photo{margin-bottom:1.5rem}.picture-book-page-image{max-width:100%;border-radius:8px}.picture-book-photo-caption{padding:.5rem .75rem}.picture-book-photo-title{font-size:1rem}.picture-book-photo-age{font-size:.85rem}}
