: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: 0.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{left:0;right:0;top:0;bottom:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}.ion-page.ion-page-overlay-passthrough{pointer-events:none}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: var(--safe-area-inset-top, env(safe-area-inset-top));--ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));--ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));--ion-safe-area-right: var(--safe-area-inset-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:translate3d(0,  0,  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 rgba(0,0,0,.08)}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px rgba(0,0,0,.08)}.md .menu-content-reveal{box-shadow:4px 0px 16px rgba(0,0,0,.18)}.md .menu-content-push{box-shadow:4px 0px 16px rgba(0,0,0,.18)}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:300ms transform cubic-bezier(0.25, 0.8, 0.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}}/*# sourceMappingURL=core.css.map */
audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:bold}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}/*# sourceMappingURL=normalize.css.map */
*{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-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom: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}/*# sourceMappingURL=structure.css.map */
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:-0.5em}sub{bottom:-0.25em}/*# sourceMappingURL=typography.css.map */
.ion-no-padding{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;padding-left:0;padding-right:0;padding-top:0;padding-bottom: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-left:0;margin-right:0;margin-top:0;margin-bottom: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)}/*# sourceMappingURL=padding.css.map */
.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}}}/*# sourceMappingURL=float-elements.css.map */
.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}}/*# sourceMappingURL=text-alignment.css.map */
.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}}/*# sourceMappingURL=text-transformation.css.map */
.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}}/*# sourceMappingURL=flex-utils.css.map */
.ion-hide{display:none !important}.ion-hide-up{display:none !important}.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}}/*# sourceMappingURL=display.css.map */
/**
 * Monochrome color scheme for RSVP app
 * Simple black, white, and gray palette
 */

/* Edge-to-edge / safe area support
 * With viewport-fit=cover the WebView extends under the status bar and
 * home indicator. We forward the real env() values into Ionic's own
 * safe-area variables so that IonHeader / IonTabBar are automatically
 * pushed into the safe zone. */
:root {
	--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);
}

/* Pages that render IonContent without an IonHeader need manual status-bar
 * offset (Ionic only auto-offsets when a header is present in the same page).
 * Apply the .no-header-content class to those IonContent elements. */
ion-content.no-header-content {
	--padding-top: calc(env(safe-area-inset-top) + 8px);
}

:root {
	/* Monochrome palette */
	--ion-color-primary: #000000;
	--ion-color-primary-rgb: 0, 0, 0;
	--ion-color-primary-contrast: #ffffff;
	--ion-color-primary-contrast-rgb: 255, 255, 255;
	--ion-color-primary-shade: #000000;
	--ion-color-primary-tint: #1a1a1a;

	--ion-color-secondary: #404040;
	--ion-color-secondary-rgb: 64, 64, 64;
	--ion-color-secondary-contrast: #ffffff;
	--ion-color-secondary-contrast-rgb: 255, 255, 255;
	--ion-color-secondary-shade: #383838;
	--ion-color-secondary-tint: #4d4d4d;

	--ion-color-tertiary: #666666;
	--ion-color-tertiary-rgb: 102, 102, 102;
	--ion-color-tertiary-contrast: #ffffff;
	--ion-color-tertiary-contrast-rgb: 255, 255, 255;
	--ion-color-tertiary-shade: #5a5a5a;
	--ion-color-tertiary-tint: #757575;

	--ion-color-success: #2d2d2d;
	--ion-color-success-rgb: 45, 45, 45;
	--ion-color-success-contrast: #ffffff;
	--ion-color-success-contrast-rgb: 255, 255, 255;
	--ion-color-success-shade: #282828;
	--ion-color-success-tint: #424242;

	--ion-color-warning: #808080;
	--ion-color-warning-rgb: 128, 128, 128;
	--ion-color-warning-contrast: #000000;
	--ion-color-warning-contrast-rgb: 0, 0, 0;
	--ion-color-warning-shade: #717171;
	--ion-color-warning-tint: #8d8d8d;

	--ion-color-danger: #1a1a1a;
	--ion-color-danger-rgb: 26, 26, 26;
	--ion-color-danger-contrast: #ffffff;
	--ion-color-danger-contrast-rgb: 255, 255, 255;
	--ion-color-danger-shade: #171717;
	--ion-color-danger-tint: #313131;

	--ion-color-light: #f5f5f5;
	--ion-color-light-rgb: 245, 245, 245;
	--ion-color-light-contrast: #000000;
	--ion-color-light-contrast-rgb: 0, 0, 0;
	--ion-color-light-shade: #d8d8d8;
	--ion-color-light-tint: #f6f6f6;

	--ion-color-medium: #999999;
	--ion-color-medium-rgb: 153, 153, 153;
	--ion-color-medium-contrast: #000000;
	--ion-color-medium-contrast-rgb: 0, 0, 0;
	--ion-color-medium-shade: #868686;
	--ion-color-medium-tint: #a3a3a3;

	--ion-color-dark: #1a1a1a;
	--ion-color-dark-rgb: 26, 26, 26;
	--ion-color-dark-contrast: #ffffff;
	--ion-color-dark-contrast-rgb: 255, 255, 255;
	--ion-color-dark-shade: #171717;
	--ion-color-dark-tint: #313131;

	/* Background colors */
	--ion-background-color: #ffffff;
	--ion-background-color-rgb: 255, 255, 255;

	--ion-text-color: #000000;
	--ion-text-color-rgb: 0, 0, 0;

	--ion-border-color: #d9d9d9;

	--ion-toolbar-background: #ffffff;
	--ion-toolbar-border-color: #d9d9d9;
	--ion-toolbar-color: #000000;

	--ion-item-background: #ffffff;
	--ion-item-border-color: #d9d9d9;

	--ion-card-background: #ffffff;
}

/* ── App-wide dark theme ── */
/* Applied via body.dark — set by ThemeContext on every theme toggle. */
body.dark {
	--ion-background-color: #1a1a1a;
	--ion-background-color-rgb: 26, 26, 26;

	--ion-text-color: #e4e4e4;
	--ion-text-color-rgb: 228, 228, 228;

	--ion-border-color: #333333;

	--ion-toolbar-background: #1a1a1a;
	--ion-toolbar-border-color: #333333;
	--ion-toolbar-color: #e4e4e4;

	--ion-item-background: #1a1a1a;
	--ion-item-border-color: #333333;

	--ion-card-background: #242424;

	--ion-tab-bar-background: #1a1a1a;
	--ion-tab-bar-border-color: #333333;
	--ion-tab-bar-color: #888888;
	--ion-tab-bar-color-selected: #e4e4e4;

	--ion-color-primary: #e4e4e4;
	--ion-color-primary-rgb: 228, 228, 228;
	--ion-color-primary-contrast: #1a1a1a;
	--ion-color-primary-contrast-rgb: 26, 26, 26;
	--ion-color-primary-shade: #c8c8c8;
	--ion-color-primary-tint: #e7e7e7;

	--ion-color-secondary: #b0b0b0;
	--ion-color-secondary-rgb: 176, 176, 176;
	--ion-color-secondary-contrast: #1a1a1a;
	--ion-color-secondary-contrast-rgb: 26, 26, 26;
	--ion-color-secondary-shade: #9b9b9b;
	--ion-color-secondary-tint: #b8b8b8;

	--ion-color-tertiary: #888888;
	--ion-color-tertiary-rgb: 136, 136, 136;
	--ion-color-tertiary-contrast: #1a1a1a;
	--ion-color-tertiary-contrast-rgb: 26, 26, 26;
	--ion-color-tertiary-shade: #787878;
	--ion-color-tertiary-tint: #949494;

	--ion-color-success: #c8c8c8;
	--ion-color-success-rgb: 200, 200, 200;
	--ion-color-success-contrast: #1a1a1a;
	--ion-color-success-contrast-rgb: 26, 26, 26;
	--ion-color-success-shade: #b0b0b0;
	--ion-color-success-tint: #d0d0d0;

	--ion-color-warning: #999999;
	--ion-color-warning-rgb: 153, 153, 153;
	--ion-color-warning-contrast: #1a1a1a;
	--ion-color-warning-contrast-rgb: 26, 26, 26;
	--ion-color-warning-shade: #868686;
	--ion-color-warning-tint: #a3a3a3;

	--ion-color-danger: #e4e4e4;
	--ion-color-danger-rgb: 228, 228, 228;
	--ion-color-danger-contrast: #1a1a1a;
	--ion-color-danger-contrast-rgb: 26, 26, 26;
	--ion-color-danger-shade: #c8c8c8;
	--ion-color-danger-tint: #e7e7e7;

	--ion-color-dark: #e4e4e4;
	--ion-color-dark-rgb: 228, 228, 228;
	--ion-color-dark-contrast: #1a1a1a;
	--ion-color-dark-contrast-rgb: 26, 26, 26;
	--ion-color-dark-shade: #c8c8c8;
	--ion-color-dark-tint: #e7e7e7;

	--ion-color-light: #2d2d2d;
	--ion-color-light-rgb: 45, 45, 45;
	--ion-color-light-contrast: #e4e4e4;
	--ion-color-light-contrast-rgb: 228, 228, 228;
	--ion-color-light-shade: #262626;
	--ion-color-light-tint: #3a3a3a;

	--ion-color-medium: #666666;
	--ion-color-medium-rgb: 102, 102, 102;
	--ion-color-medium-contrast: #e4e4e4;
	--ion-color-medium-contrast-rgb: 228, 228, 228;
	--ion-color-medium-shade: #5a5a5a;
	--ion-color-medium-tint: #757575;
}

/* Modals are portalled to document.body, so body.dark covers them automatically.
 * Explicitly set --background and --color so ion-modal sheet backgrounds pick it up. */
body.dark ion-modal {
	--background: #1a1a1a;
	--color: #e4e4e4;
}

body.dark ion-modal ion-header,
body.dark ion-modal ion-toolbar {
	--background: #1a1a1a;
	--ion-toolbar-background: #1a1a1a;
	--ion-toolbar-color: #e4e4e4;
	--ion-toolbar-border-color: #333333;
	--ion-border-color: #333333;
}

body.dark ion-modal ion-content,
body.dark ion-modal ion-list,
body.dark ion-modal ion-item {
	--background: #1a1a1a;
	--ion-item-background: #1a1a1a;
	--ion-item-border-color: #333333;
	--color: #e4e4e4;
}

/* Action sheets */
body.dark ion-action-sheet {
	--background: #242424;
	--color: #e4e4e4;
	--button-color: #e4e4e4;
}

body.dark .rsvp-action-sheet .action-sheet-container .action-sheet-group {
	background: #242424;
}

body.dark .rsvp-action-sheet .action-sheet-container .action-sheet-group-cancel {
	background: transparent;
}

body.dark .rsvp-action-sheet .action-sheet-cancel {
	color: #e4e4e4;
	background: #242424;
}

body.dark .rsvp-action-sheet .action-sheet-title {
	color: #888888;
	border-bottom-color: #333333;
}

body.dark .rsvp-action-sheet .action-sheet-button {
	color: #e4e4e4;
	border-bottom-color: #333333;
}

body.dark .rsvp-action-sheet .action-sheet-destructive {
	color: #ef5350;
}

body.dark .rsvp-action-sheet .action-sheet-button.ion-color-primary[disabled],
body.dark .rsvp-action-sheet .action-sheet-button[disabled] {
	color: #555555;
}

body.dark .rsvp-action-sheet .action-sheet-button.ion-activated {
	background: #333333;
}

/* Alerts */
body.dark ion-alert {
	--background: #242424;
	--color: #e4e4e4;
}

/* Tab bar — override the hard-coded component-level values */
body.dark ion-tab-bar {
	--background: #1a1a1a;
	border-top-color: #333333;
}

/* Buttons — only target expand="block" action buttons, not icon-only toolbar buttons */
body.dark ion-button[expand] {
	--background: #e4e4e4;
	--background-activated: #c8c8c8;
	--background-hover: #c8c8c8;
	--color: #1a1a1a;
}

body.dark ion-button[expand][fill="outline"] {
	--border-color: #e4e4e4;
	--color: #e4e4e4;
	--background: transparent;
	--background-activated: rgba(228, 228, 228, 0.1);
	--background-hover: rgba(228, 228, 228, 0.1);
}

/* Cards — override hard-coded border */
body.dark ion-card {
	border-color: #333333;
}

/* Range slider */
body.dark ion-range {
	--bar-background: #444444;
	--bar-background-active: #e4e4e4;
	--knob-background: #e4e4e4;
	--pin-background: #e4e4e4;
	--pin-color: #1a1a1a;
}

/* Toggle */
body.dark ion-toggle {
	--background: #444444;
	--background-checked: #e4e4e4;
	--handle-background: #888888;
	--handle-background-checked: #1a1a1a;
}

/* Range slider styling */
ion-range {
	--bar-background: #e0e0e0;
	--bar-background-active: #000000;
	--bar-height: 2px;
	--bar-border-radius: 1px;
	--height: 42px;
	--knob-background: #000000;
	--knob-size: 24px;
	--pin-background: #000000;
	--pin-color: #ffffff;
	padding-top: 0.5rem;
}

/* Toggle styling */
ion-toggle {
	--background: #e0e0e0;
	--background-checked: #000000;
	--handle-background: #ffffff;
	--handle-background-checked: #ffffff;
}

/* Button styling */
ion-button {
	--background: #000000;
	--background-activated: #1a1a1a;
	--background-hover: #1a1a1a;
	--color: #ffffff;
	--border-radius: 4px;
	font-size: 0.875rem;
}

ion-button[fill="outline"] {
	--border-color: #000000;
	--color: #000000;
	--background: transparent;
	--background-activated: #f5f5f5;
	--background-hover: #f5f5f5;
}

/* Card styling */
ion-card {
	border: 1px solid #d9d9d9;
	box-shadow: none;
}

/* Toolbar styling */
ion-toolbar {
	--border-width: 0 0 1px 0;
}

/* Tab bar styling */
ion-tab-bar {
	border-top: 1px solid #d9d9d9;
	--background: #ffffff;
}

/* Hide tab bar on full-screen pages (e.g. reader) */
ion-tab-bar.tab-bar-hidden {
	display: none;
}

/* While the reader is open, force-hide the tab bar regardless of Ionic's
 * internal shadow-DOM :host(.tab-bar-hidden) toggling on keyboard events.
 * External author styles beat shadow :host — no flash, pure CSS. */
body.reader-open ion-tab-bar {
	display: none;
}

ion-tab-button {
	--color: #666666;
	--color-selected: #000000;
}

body.dark ion-tab-button {
	--color: #888888;
	--color-selected: #e4e4e4;
}

/* ── Action sheet ── */

/* Outer container: gives both groups side margins, no bottom padding (cancel pill is the last thing) */
.rsvp-action-sheet .action-sheet-container {
	padding-left: 12px;
	padding-right: 12px;
	padding-bottom: 0;
}

/* Push the whole sheet above the home indicator */
.rsvp-action-sheet .action-sheet-wrapper {
	padding-bottom: 0;
	margin-bottom: calc(env(safe-area-inset-bottom) + 8px);
}

/* Main group: fully rounded pill */
.rsvp-action-sheet .action-sheet-container .action-sheet-group {
	border-radius: 16px;
	background: #ffffff;
	overflow: hidden;
	margin-bottom: 0;
}

/* Cancel group: separate pill with gap above, no bottom margin */
.rsvp-action-sheet .action-sheet-container .action-sheet-group-cancel {
	border-radius: 16px;
	margin-top: 8px;
	margin-bottom: 0;
	overflow: hidden;
	background: transparent;
}

/* Cancel button fills the group completely */
.rsvp-action-sheet .action-sheet-cancel {
	color: #000000;
	font-weight: 600;
	background: #ffffff;
	border-radius: 16px;
}

/* Header */
.rsvp-action-sheet .action-sheet-title {
	font-size: 0.8rem;
	font-weight: 600;
	color: #888888;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding-top: 18px;
	padding-bottom: 10px;
	border-bottom: 1px solid #f0f0f0;
}

/* All buttons */
.rsvp-action-sheet .action-sheet-button {
	font-size: 1rem;
	font-weight: 500;
	color: #000000;
	border-bottom: 1px solid #f0f0f0;
	min-height: 54px;
	padding-top: 0;
	padding-bottom: 0;
	contain: none;
}

.rsvp-action-sheet .action-sheet-button .action-sheet-button-inner {
	height: 54px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.rsvp-action-sheet .action-sheet-button:last-child {
	border-bottom: none;
}

/* Destructive button */
.rsvp-action-sheet .action-sheet-destructive {
	color: #e53935;
	font-weight: 600;
}

/* Disabled button */
.rsvp-action-sheet .action-sheet-button.ion-color-primary[disabled],
.rsvp-action-sheet .action-sheet-button[disabled] {
	color: #bbbbbb;
	opacity: 1;
}

/* Pressed state */
.rsvp-action-sheet .action-sheet-button.ion-activated {
	background: #f5f5f5;
}

/* ── Book Reader ── */

/* ── Reader theme variables ── */
.reader-theme-dark,
.reader-theme-dark ion-header,
.reader-theme-dark ion-toolbar {
	--reader-bg: #1a1a1a;
	--reader-text: #e4e4e4;
	--reader-heading: #f0f0f0;
	--reader-progress-bg: #333333;
	--reader-progress-fill: #d0d0d0;
	--reader-progress-label: #888888;
	--ion-background-color: #1a1a1a;
	--ion-text-color: #e4e4e4;
	--ion-toolbar-background: #1a1a1a;
	--ion-toolbar-color: #e4e4e4;
	--ion-border-color: #333333;
	--ion-toolbar-border-color: #333333;
	--ion-item-background: #1a1a1a;
	--ion-item-border-color: #333333;
}

.reader-theme-light,
.reader-theme-light ion-header,
.reader-theme-light ion-toolbar {
	--reader-bg: #ffffff;
	--reader-text: #111111;
	--reader-heading: #111111;
	--reader-progress-bg: #e0e0e0;
	--reader-progress-fill: #000000;
	--reader-progress-label: #555555;
	--ion-background-color: #ffffff;
	--ion-text-color: #000000;
	--ion-toolbar-background: #ffffff;
	--ion-toolbar-color: #000000;
	--ion-item-background: #ffffff;
	--ion-item-border-color: #d9d9d9;
}

.reader-theme-sepia,
.reader-theme-sepia ion-header,
.reader-theme-sepia ion-toolbar {
	--reader-bg: #f4ecd8;
	--reader-text: #4a3728;
	--reader-heading: #3a2a1e;
	--reader-progress-bg: #e0d4be;
	--reader-progress-fill: #8b6f47;
	--reader-progress-label: #9b8878;
	--ion-background-color: #f4ecd8;
	--ion-text-color: #4a3728;
	--ion-toolbar-background: #f4ecd8;
	--ion-toolbar-color: #4a3728;
	--ion-border-color: #c8b89a;
	--ion-toolbar-border-color: #c8b89a;
	--ion-item-background: #f4ecd8;
	--ion-item-border-color: #c8b89a;
}

/* Apply theme background to IonContent on the reader page */
.reader-theme-dark ion-content,
.reader-theme-light ion-content,
.reader-theme-sepia ion-content {
	--background: var(--reader-bg);
}

/* ── Reader skeleton loading lines ── */
.reader-skeleton-line {
	height: 14px;
	border-radius: 4px;
	background: var(--ion-color-light, #e0e0e0);
	animation: reader-skeleton-pulse 1.2s ease-in-out infinite;
}

@keyframes reader-skeleton-pulse {
	0%,
	100% {
		opacity: 0.3;
	}
	50% {
		opacity: 0.6;
	}
}

/* Modal sheet: make the drag handle + sheet background match the theme.
 * Ionic portals modals to document.body, so the reader-theme-* class sits
 * on the ion-modal element itself — selectors must be ion-modal.reader-theme-*
 * (not .reader-theme-* ion-modal). */
ion-modal.reader-theme-dark,
ion-modal.reader-theme-dark ion-header,
ion-modal.reader-theme-dark ion-toolbar,
ion-modal.reader-theme-dark ion-content,
ion-modal.reader-theme-dark ion-list,
ion-modal.reader-theme-dark ion-item {
	--ion-background-color: #1a1a1a;
	--ion-text-color: #e4e4e4;
	--ion-toolbar-background: #1a1a1a;
	--ion-toolbar-color: #e4e4e4;
	--ion-border-color: #333333;
	--ion-toolbar-border-color: #333333;
	--ion-item-background: #1a1a1a;
	--ion-item-border-color: #333333;
	--background: #1a1a1a;
	--color: #e4e4e4;
}

ion-modal.reader-theme-light,
ion-modal.reader-theme-light ion-header,
ion-modal.reader-theme-light ion-toolbar,
ion-modal.reader-theme-light ion-content,
ion-modal.reader-theme-light ion-list,
ion-modal.reader-theme-light ion-item {
	--ion-background-color: #ffffff;
	--ion-text-color: #111111;
	--ion-toolbar-background: #ffffff;
	--ion-toolbar-color: #000000;
	--ion-border-color: #d9d9d9;
	--ion-toolbar-border-color: #d9d9d9;
	--ion-item-background: #ffffff;
	--ion-item-border-color: #d9d9d9;
	--background: #ffffff;
	--color: #111111;
}

ion-modal.reader-theme-sepia,
ion-modal.reader-theme-sepia ion-header,
ion-modal.reader-theme-sepia ion-toolbar,
ion-modal.reader-theme-sepia ion-content,
ion-modal.reader-theme-sepia ion-list,
ion-modal.reader-theme-sepia ion-item {
	--ion-background-color: #f4ecd8;
	--ion-text-color: #4a3728;
	--ion-toolbar-background: #f4ecd8;
	--ion-toolbar-color: #4a3728;
	--ion-border-color: #c8b89a;
	--ion-toolbar-border-color: #c8b89a;
	--ion-item-background: #f4ecd8;
	--ion-item-border-color: #c8b89a;
	--background: #f4ecd8;
	--color: #4a3728;
}

.reader-paragraph {
	font-size: 1em; /* em = inherits px from VList inline style */
	line-height: var(--reader-line-height, 1.8);
	color: var(--reader-text, #111111);
	margin: 0 0 1.1em 0;
	white-space: normal;
	word-break: break-word;
}

.reader-paragraph span {
	cursor: pointer;
	border-radius: 2px;
	/* No transition — removing it eliminates reflow cascade on every scroll event */
}

/* Active word highlight — subtle underline, no layout shift */
.reader-paragraph span.word-active {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

/* Chapter headings detected from # prefixes */
.reader-heading {
	font-weight: 700;
	color: var(--reader-heading, #111111);
	margin: 1.6em 0 0.4em 0;
	line-height: 1.3;
	word-break: break-word;
}

.reader-heading-1,
.reader-heading-2 {
	font-size: 1.4em;
}

.reader-heading-3,
.reader-heading-4 {
	font-size: 1.2em;
}

.reader-heading-5,
.reader-heading-6 {
	font-size: 1em;
	font-style: italic;
}

/* ── Progress bar ── */
.reader-progress-bar {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 10px 16px;
	padding-bottom: calc(env(safe-area-inset-bottom) + 10px);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	background: var(--reader-bg, #ffffff);
	border-top: 1px solid var(--reader-progress-bg, #e0e0e0);
	touch-action: none;
	cursor: pointer;
}

.reader-progress-bar::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	height: env(safe-area-inset-bottom);
	background: var(--reader-bg, #ffffff);
	pointer-events: none;
}

.reader-progress-fill-track {
	width: 100%;
	height: 4px;
	background: var(--reader-progress-bg, #e0e0e0);
	border-radius: 2px;
	overflow: hidden;
}

.reader-progress-fill {
	height: 4px;
	background: var(--reader-progress-fill, #000000);
	border-radius: 2px;
	transition: width 0.1s linear;
}

.reader-progress-label {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1px;
	font-size: 0.72rem;
	color: var(--reader-progress-label, #555555);
	text-align: center;
	user-select: none;
}

.reader-progress-chapter-time {
	font-size: 0.62rem;
	opacity: 0.65;
	max-width: 160px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* ── Transfer progress modal ── */
.rsvp-transfer-modal {
	--height: auto;
	--width: 280px;
	--max-width: 80%;
	--border-radius: 16px;
	--box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}

/* ── Alert (error dialogs) ── */
.rsvp-alert .alert-wrapper {
	border-radius: 14px;
	padding: 0;
	overflow: hidden;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}

.rsvp-alert .alert-head {
	padding: 20px 20px 8px;
}

.rsvp-alert .alert-title {
	font-size: 1rem;
	font-weight: 700;
	color: #000000;
}

.rsvp-alert .alert-message {
	font-size: 0.9rem;
	color: #555555;
	padding: 0 20px 16px;
}

.rsvp-alert .alert-button-group {
	border-top: 1px solid #f0f0f0;
	padding: 0;
}

.rsvp-alert .alert-button {
	font-size: 1rem;
	font-weight: 600;
	color: #000000;
	height: 50px;
}

/* ── Dictionary modal ── */

.dict-center {
	display: flex;
	justify-content: center;
	padding: 32px 0;
}

.dict-not-found {
	color: #666666;
	font-size: 0.95rem;
	text-align: center;
	padding: 24px 0;
}

.dict-entry {
	padding-bottom: 32px;
}

.dict-phonetic {
	font-size: 0.9rem;
	color: #666666;
	margin: 0 0 12px 0;
}

.dict-meaning {
	margin-bottom: 20px;
}

.dict-pos {
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #888888;
	margin: 0 0 8px 0;
}

.dict-definitions {
	margin: 0;
	padding-left: 18px;
}

.dict-definitions li {
	margin-bottom: 8px;
	font-size: 0.95rem;
	line-height: 1.5;
}

.dict-definition {
	color: var(--ion-text-color, #111111);
}

.dict-example {
	color: var(--ion-color-medium, #666666);
	font-style: italic;
}

/* ── Search modal ── */

.rsvp-search-modal {
	--border-radius: 20px 20px 0 0;
}

.search-input-wrap {
	padding: 12px 16px 4px;
}

.search-input {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 14px;
	border: 1.5px solid var(--ion-border-color, #d9d9d9);
	border-radius: 10px;
	font-size: 1rem;
	background: var(--ion-background-color, #ffffff);
	color: var(--ion-text-color, #000000);
	outline: none;
	appearance: none;
	-webkit-appearance: none;
}

.search-input:focus {
	border-color: var(--ion-text-color, #000000);
}

/* Hide the native 'x' clear button — we clear on close */
.search-input::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.search-result-count {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #888888;
	margin: 8px 16px 4px;
}

.search-results-list {
	margin: 0;
	padding: 0;
}

.search-result-label {
	white-space: normal;
}

.search-snippet {
	font-size: 0.88rem;
	line-height: 1.45;
	color: var(--ion-text-color, #111111);
	margin: 6px 0;
	/* Clamp to 3 lines */
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.search-match {
	font-weight: 700;
	/* No color change — stays readable in both reader themes */
}

.search-pct {
	font-size: 0.75rem;
	font-weight: 500;
	color: #888888;
	white-space: nowrap;
	padding-left: 8px;
	flex-shrink: 0;
}

.search-empty {
	font-size: 0.9rem;
	color: #888888;
	text-align: center;
	padding: 32px 24px;
	margin: 0;
}

/* ── RSVP mode ── */

.rsvp-display {
	position: relative;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	user-select: none;
	-webkit-user-select: none;
	background: var(--reader-bg);
	overflow: hidden;
}

.rsvp-word-container {
	position: absolute;
	top: 50%;
	white-space: nowrap;
	font-family: "Courier New", Consolas, monospace;
	font-weight: 700;
	color: var(--reader-text);
	letter-spacing: 0.02em;
}

.rsvp-before,
.rsvp-after {
	color: var(--reader-text);
}

.rsvp-focal {
	color: #ff0000;
}

.rsvp-focal-line {
	position: absolute;
	top: calc(50% - 2.2rem);
	height: 0.6rem;
	width: 2px;
	background: rgba(139, 0, 0, 0.5);
	pointer-events: none;
	transform: translateX(-50%);
}

/* Second indicator below the word */
.rsvp-focal-line::after {
	content: "";
	position: absolute;
	top: calc(0.6rem + 3rem);
	left: 0;
	width: 2px;
	height: 0.6rem;
	background: inherit;
}

.rsvp-paused-indicator {
	position: absolute;
	bottom: 80px;
	left: 50%;
	transform: translateX(-50%);
	font-size: 0.85rem;
	color: var(--reader-progress-label, #888888);
	opacity: 0.7;
	white-space: nowrap;
}

/* Active RSVP toggle button styling */
.rsvp-toggle-active {
	color: #ff0000;
}

/* ─── Highlights ─────────────────────────────────────────────────────────── */

/* Highlight background colors — 35% opacity works on both dark and light themes */
.word-highlight-yellow {
	background: rgba(255, 235, 59, 0.35);
	border-radius: 2px;
}
.word-highlight-blue {
	background: rgba(100, 181, 246, 0.35);
	border-radius: 2px;
}
.word-highlight-orange {
	background: rgba(255, 183, 77, 0.35);
	border-radius: 2px;
}
.word-highlight-pink {
	background: rgba(240, 98, 146, 0.35);
	border-radius: 2px;
}

/* Active selection being built (drag-to-select) */
.word-selecting {
	background: rgba(100, 181, 246, 0.25);
	border-radius: 2px;
}

/* ─── Selection toolbar ──────────────────────────────────────────────────── */

.selection-toolbar {
	position: fixed;
	/* top is set dynamically via JS (above selection start, or below selection end) */
	top: -9999px;
	/* centered horizontally */
	left: 50%;
	transform: translateX(-50%);
	width: max-content;
	max-width: calc(100vw - 24px);
	z-index: 1000;
	display: flex;
	align-items: center;
	gap: 4px;
	height: 48px;
	padding: 0 8px 0 16px;
	border-radius: 10px;
	border: 1px solid var(--ion-border-color, #d9d9d9);
	background: var(--ion-background-color, #fff);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}

/* Plain icon buttons inside the selection toolbar — no background, no border */
.selection-toolbar-btn {
	background: none;
	border: none;
	padding: 6px;
	margin: 0;
	cursor: pointer;
	color: var(--ion-text-color, #333);
	font-size: 22px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
}

.selection-toolbar-hint {
	flex: 1;
	font-size: 0.85rem;
	color: var(--ion-color-medium, #888);
}

.selection-toolbar-colors {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-right: 4px;
}

/* Color swatch circles */
.selection-color-swatch {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 2px solid transparent;
	cursor: pointer;
	padding: 0;
	transition: border-color 0.15s;
}

.selection-color-swatch--active {
	border-color: var(--ion-text-color, #000);
}

/* ─── Selection handles ──────────────────────────────────────────────────── */

/* Selection handle: a vertical bar + circle below, anchored to a word boundary.
 * --bar-height is set per-handle via JS to match the line height of the target word.
 *
 * Touch area is intentionally larger than the visuals:
 *   - 44px wide div (visual bar/circle are centred inside via margin: 0 auto)
 *   - 10px top + 10px bottom padding for extra vertical tap area
 * JS positions the div 10px above rect.top and 22px to the left of the edge
 * so that the visible bar still lines up with the word boundary. */
.selection-handle {
	position: fixed;
	width: 44px;
	box-sizing: content-box;
	padding: 10px 0;
	/* visual height only; padding adds the extra tap area */
	height: calc(var(--bar-height, 20px) + 20px);
	z-index: 999;
	touch-action: none;
	cursor: grab;
	display: none; /* shown by JS when selection is active */
	user-select: none;
}

/* Vertical bar — runs the height of the target word */
.selection-handle::before {
	content: "";
	display: block;
	width: 3px;
	height: var(--bar-height, 20px);
	background: var(--ion-color-primary, #3880ff);
	margin: 0 auto;
}

/* Circular grab handle below the bar */
.selection-handle::after {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--ion-color-primary, #3880ff);
	border: 2px solid white;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
	margin: 0 auto;
}

/* ─── Highlight modal ────────────────────────────────────────────────────── */

.rsvp-highlight-modal {
	--border-radius: 16px 16px 0 0;
}

.highlight-modal-snippet {
	margin: 0 0 12px 0;
	padding: 8px 12px;
	border-left: 3px solid var(--ion-color-medium, #999);
	font-style: italic;
	font-size: 0.9rem;
	color: var(--ion-color-medium, #666);
	line-height: 1.4;
}

/* Color swatches + delete button on one row */
.highlight-modal-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.highlight-modal-colors {
	display: flex;
	gap: 12px;
}

.highlight-modal-delete-btn {
	background: none;
	border: none;
	padding: 4px;
	cursor: pointer;
	color: var(--ion-color-danger, #eb445a);
	font-size: 22px;
	display: flex;
	align-items: center;
}

.highlight-modal-note {
	--background: var(--ion-item-background, transparent);
	margin-bottom: 0;
}

.highlight-modal-actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

/* ─── Highlights list modal ──────────────────────────────────────────────── */

.highlights-list-empty {
	padding: 32px 20px;
	text-align: center;
	color: var(--ion-color-medium, #888);
	font-size: 0.95rem;
}

.highlight-list-dot {
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	flex-shrink: 0;
	margin-top: 2px;
}

.highlight-list-snippet {
	font-size: 0.9rem;
	font-style: italic;
	color: var(--ion-text-color, #000);
	white-space: normal;
	margin-bottom: 2px;
}

.highlight-list-note {
	font-size: 0.8rem;
	color: var(--ion-color-medium, #888);
	white-space: normal;
	margin-top: 2px;
}

/* ─── Note textarea (in-selection note input modal) ─────────────────────── */

.highlight-note-textarea {
	width: 100%;
	border: 1.5px solid var(--ion-border-color, #d9d9d9);
	border-radius: 8px;
	padding: 10px 12px;
	font-size: 1rem;
	font-family: inherit;
	background: transparent;
	color: var(--ion-text-color, #000);
	resize: none;
	outline: none;
	line-height: 1.5;
}

.highlight-note-textarea:focus {
	border-color: var(--ion-color-primary, #3880ff);
}

/* ─── Appearance Popover ─────────────────────────────────────────────────── */

ion-popover.appearance-popover {
	--width: 272px;
	--offset-y: 4px;
}

.appearance-popover-content {
	padding: 14px 12px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.ap-section {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ap-label {
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--ion-color-medium, #888);
	font-weight: 600;
}

.ap-chips {
	display: flex;
	gap: 6px;
}

.ap-chip {
	flex: 1;
	padding: 7px 4px;
	border-radius: 7px;
	border: 1.5px solid var(--ion-border-color, #444);
	background: transparent;
	color: var(--ion-text-color, #fff);
	font-size: 0.82rem;
	cursor: pointer;
	line-height: 1;
}

.ap-chip--active {
	background: var(--ion-color-primary, #3880ff);
	color: var(--ion-color-primary-contrast, #fff);
	border-color: var(--ion-color-primary, #3880ff);
}

.ap-section--rows {
	gap: 0;
}

.ap-row {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 0;
	border-top: 1px solid var(--ion-border-color, #333);
}

.ap-row-label {
	flex: 1;
	font-size: 0.88rem;
	color: var(--ion-text-color, #fff);
}

.ap-row-value {
	font-size: 0.78rem;
	color: var(--ion-color-medium, #888);
	min-width: 36px;
	text-align: right;
}

.ap-row-buttons {
	display: flex;
	gap: 4px;
}

.ap-step-btn {
	width: 34px;
	height: 34px;
	border-radius: 6px;
	border: 1.5px solid var(--ion-border-color, #444);
	background: transparent;
	color: var(--ion-text-color, #fff);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.ap-step-btn:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

/* Settings page stepper rows */
.ap-settings-row {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 1;
}

.ap-settings-val {
	font-size: 0.82rem;
	color: var(--ion-color-medium, #888);
	min-width: 40px;
	text-align: right;
}

/* ── Library toolbar ── */
.library-toolbar {
	display: flex;
	align-items: center;
	width: 100%;
}

.library-toolbar .library-filter {
	flex: 1;
}

.library-toolbar ion-buttons {
	flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
 * Desktop layout (≥768px)
 * Sidebar nav replaces the bottom tab bar. Content pages get max-width
 * constraints for comfortable reading.
 * ═══════════════════════════════════════════════════════════════════════════ */

/* ── Sidebar (hidden on mobile) ── */
.desktop-sidebar {
	display: none;
}

/* ── Shared content max-width container ── */
.content-container {
	max-width: 900px;
	width: 100%;
}

@media (min-width: 768px) {
	/* Show sidebar, hide tab bar */
	.desktop-sidebar {
		display: flex;
		flex-direction: column;
		width: 220px;
		min-width: 220px;
		height: 100%;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;
		background: var(--ion-background-color, #ffffff);
		border-right: 1px solid var(--ion-border-color, #d9d9d9);
		padding: 16px 0;
	}

	.desktop-sidebar-brand {
		display: flex;
		align-items: center;
		gap: 8px;
		padding: 8px 20px 24px;
		font-size: 1.25rem;
		font-weight: 700;
		letter-spacing: 0.05em;
		color: inherit;
		text-decoration: none;
	}

	a.desktop-sidebar-brand:hover {
		opacity: 0.7;
	}

	.desktop-sidebar-item {
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 10px 20px;
		width: 100%;
		font-size: 0.95rem;
		color: var(--ion-color-medium, #666);
		background: none;
		border: none;
		cursor: pointer;
		text-align: left;
		transition:
			background 0.15s,
			color 0.15s;
	}

	.desktop-sidebar-item:hover {
		background: var(--ion-color-light, #f5f5f5);
	}

	.desktop-sidebar-item.active {
		color: var(--ion-text-color, #000);
		font-weight: 600;
	}

	.desktop-sidebar-item ion-icon {
		font-size: 1.25rem;
	}

	/* Push main content right of sidebar */
	ion-router-outlet.desktop-main {
		margin-left: 220px;
	}

	/* Compact library filter segment on desktop */
	.library-toolbar .library-filter {
		flex: none;
		width: auto;
		max-width: 360px;
	}

	.library-toolbar .library-filter ion-segment-button {
		--padding-start: 12px;
		--padding-end: 12px;
		min-width: 0;
		font-size: 0.85rem;
	}

	/* Hide bottom tab bar on desktop */
	ion-tab-bar {
		display: none !important;
	}

	/* Dark theme sidebar overrides */
	body.dark .desktop-sidebar {
		background: var(--ion-background-color, #1a1a1a);
		border-right-color: var(--ion-border-color, #333);
	}

	body.dark .desktop-sidebar-item:hover {
		background: #242424;
	}
}
/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --tracking-wide: .025em;
    --leading-snug: 1.375;
    --radius-sm: .25rem;
    --radius-md: .375rem;
  }
}

@layer utilities {
  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .start {
    inset-inline-start: var(--spacing);
  }

  .end {
    inset-inline-end: var(--spacing);
  }

  .right-1\.5 {
    right: calc(var(--spacing) * 1.5);
  }

  .bottom-1\.5 {
    bottom: calc(var(--spacing) * 1.5);
  }

  .\!container {
    width: 100% !important;
  }

  @media (min-width: 40rem) {
    .\!container {
      max-width: 40rem !important;
    }
  }

  @media (min-width: 48rem) {
    .\!container {
      max-width: 48rem !important;
    }
  }

  @media (min-width: 64rem) {
    .\!container {
      max-width: 64rem !important;
    }
  }

  @media (min-width: 80rem) {
    .\!container {
      max-width: 80rem !important;
    }
  }

  @media (min-width: 96rem) {
    .\!container {
      max-width: 96rem !important;
    }
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }

  .line-clamp-2 {
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .line-clamp-3 {
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .\[display\:-webkit-box\] {
    display: -webkit-box;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .table {
    display: table;
  }

  .aspect-2\/3 {
    aspect-ratio: 2 / 3;
  }

  .h-full {
    height: 100%;
  }

  .w-full {
    width: 100%;
  }

  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }

  .flex-1 {
    flex: 1;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .flex-col {
    flex-direction: column;
  }

  .items-center {
    align-items: center;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }

  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }

  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }

  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .rounded-md {
    border-radius: var(--radius-md);
  }

  .rounded-sm {
    border-radius: var(--radius-sm);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-\[\#d9d9d9\] {
    border-color: #d9d9d9;
  }

  .border-\[\#e0a800\] {
    border-color: #e0a800;
  }

  .border-\[\#e74c3c\] {
    border-color: #e74c3c;
  }

  .bg-\[\#f0f0f0\] {
    background-color: #f0f0f0;
  }

  .bg-\[\#f5f5f5\] {
    background-color: #f5f5f5;
  }

  .bg-\[\#fdf3f2\] {
    background-color: #fdf3f2;
  }

  .bg-\[\#fffbf0\] {
    background-color: #fffbf0;
  }

  .bg-black {
    background-color: var(--color-black);
  }

  .object-cover {
    object-fit: cover;
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-8 {
    padding: calc(var(--spacing) * 8);
  }

  .px-0\.5 {
    padding-inline: calc(var(--spacing) * .5);
  }

  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }

  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }

  .pt-1 {
    padding-top: calc(var(--spacing) * 1);
  }

  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }

  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }

  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }

  .text-center {
    text-align: center;
  }

  .text-6xl {
    font-size: var(--text-6xl);
    line-height: var(--tw-leading, var(--text-6xl--line-height));
  }

  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }

  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }

  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .text-\[0\.6rem\] {
    font-size: .6rem;
  }

  .text-\[0\.7rem\] {
    font-size: .7rem;
  }

  .text-\[0\.75rem\] {
    font-size: .75rem;
  }

  .text-\[0\.85rem\] {
    font-size: .85rem;
  }

  .leading-\[1\.2\] {
    --tw-leading: 1.2;
    line-height: 1.2;
  }

  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .text-ellipsis {
    text-overflow: ellipsis;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .text-\[\#7d5a00\] {
    color: #7d5a00;
  }

  .text-\[\#555\] {
    color: #555;
  }

  .text-\[\#888\] {
    color: #888;
  }

  .text-\[\#bbb\] {
    color: #bbb;
  }

  .text-\[\#c0392b\] {
    color: #c0392b;
  }

  .text-\[\#ccc\] {
    color: #ccc;
  }

  .text-black {
    color: var(--color-black);
  }

  .text-white {
    color: var(--color-white);
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .sepia {
    --tw-sepia: sepia(100%);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }

  .\[--buffer-background\:\#e0e0e0\] {
    --buffer-background: #e0e0e0;
  }

  .\[--progress-background\:\#000\] {
    --progress-background: #000;
  }

  .\[-webkit-box-orient\:vertical\] {
    -webkit-box-orient: vertical;
  }

  .\[-webkit-line-clamp\:2\] {
    -webkit-line-clamp: 2;
  }

  .active\:opacity-70:active {
    opacity: .7;
  }

  @media (min-width: 48rem) {
    .md\:grid-cols-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }

  @media (min-width: 64rem) {
    .lg\:grid-cols-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
  }

  @media (min-width: 80rem) {
    .xl\:grid-cols-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr));
    }
  }
}

:root {
  font-size: 14px;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}
