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-default-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-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{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{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, #3880ff) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 56, 128, 255) !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, #3171e0) !important;--ion-color-tint: var(--ion-color-primary-tint, #4c8dff) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #3dc2ff) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 61, 194, 255) !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, #36abe0) !important;--ion-color-tint: var(--ion-color-secondary-tint, #50c8ff) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #5260ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 82, 96, 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, #4854e0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #6370ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd36f) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 211, 111) !important;--ion-color-contrast: var(--ion-color-success-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-success-shade, #28ba62) !important;--ion-color-tint: var(--ion-color-success-tint, #42d77d) !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, #eb445a) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 235, 68, 90) !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, #cf3c4f) !important;--ion-color-tint: var(--ion-color-danger-tint, #ed576b) !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, #92949c) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 146, 148, 156) !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, #808289) !important;--ion-color-tint: var(--ion-color-medium-tint, #9d9fa6) !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-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 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,.md .menu-content-push{box-shadow:4px 0 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:.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}.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:not(.hydrated) body{display:none}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, #3880ff)}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-self-start{align-self:flex-start!important}.ion-align-self-end{align-self:flex-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}.ion-wrap{flex-wrap:wrap!important}.ion-nowrap{flex-wrap:nowrap!important}.ion-wrap-reverse{flex-wrap:wrap-reverse!important}.ion-justify-content-start{justify-content:flex-start!important}.ion-justify-content-center{justify-content:center!important}.ion-justify-content-end{justify-content:flex-end!important}.ion-justify-content-around{justify-content:space-around!important}.ion-justify-content-between{justify-content:space-between!important}.ion-justify-content-evenly{justify-content:space-evenly!important}.ion-align-items-start{align-items:flex-start!important}.ion-align-items-center{align-items:center!important}.ion-align-items-end{align-items:flex-end!important}.ion-align-items-stretch{align-items:stretch!important}.ion-align-items-baseline{align-items:baseline!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}}:root{--ion-color-primary: #3880ff;--ion-color-primary-rgb: 56, 128, 255;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #3171e0;--ion-color-primary-tint: #4c8dff;--ion-toolbar-background: var(--ion-color-primary);--ion-toolbar-color: var(--ion-color-primary-contrast);--ion-color-secondary: #3dc2ff;--ion-color-secondary-rgb: 61, 194, 255;--ion-color-secondary-contrast: #ffffff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #36abe0;--ion-color-secondary-tint: #50c8ff;--ion-color-tertiary: #5260ff;--ion-color-tertiary-rgb: 82, 96, 255;--ion-color-tertiary-contrast: #ffffff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #4854e0;--ion-color-tertiary-tint: #6370ff;--ion-color-danger-shade: #cf3c4f;--ion-color-success: #2dd36f;--ion-color-success-rgb: 45, 211, 111;--ion-color-success-contrast: #ffffff;--ion-color-success-contrast-rgb: 255, 255, 255;--ion-color-success-shade: #28ba62;--ion-color-success-tint: #42d77d;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #eb445a;--ion-color-danger-rgb: 235, 68, 90;--ion-color-danger-contrast: #ffffff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-tint: #ed576b;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #ffffff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e;--ion-color-medium: #92949c;--ion-color-medium-rgb: 146, 148, 156;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #808289;--ion-color-medium-tint: #9d9fa6;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}:root{--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--page-padding-mobile: 1rem;--page-padding-tablet: 1.5rem;--page-padding-desktop: 2rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-round: 50%;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .15);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .2);--transition-fast: all .15s ease;--transition-normal: all .3s ease;--transition-slow: all .5s ease;--z-dropdown: 1000;--z-modal: 1050;--z-toast: 1100;--z-tooltip: 1200;--card-aspect-ratio: 1;--card-width-sm: 80px;--card-width-md: 120px;--avatar-size-sm: 40px;--avatar-size-md: 60px;--avatar-size-lg: 80px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.focus-visible:focus{outline:2px solid var(--ion-color-primary);outline-offset:2px}.page-container{padding:var(--page-padding-mobile);max-width:1200px;margin:0 auto;min-height:calc(100vh - 120px)}.home-container{padding:var(--page-padding-mobile);max-width:800px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}@media (min-width: 768px){.page-container{padding:var(--page-padding-tablet)}.home-container{padding:var(--page-padding-tablet);gap:var(--spacing-lg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.card-base{background:var(--ion-color-light);border-radius:var(--radius-lg);border:1px solid var(--ion-color-light-shade);box-shadow:var(--shadow-md);transition:var(--transition-normal)}.card-base:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-interactive{cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation}.game-card{width:100%;height:auto;aspect-ratio:var(--card-aspect-ratio);position:relative;background-color:#fff;border-radius:var(--radius-md);border:3px solid var(--ion-color-primary);box-sizing:border-box;box-shadow:0 2px 4px rgba(0,0,0,.2);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:12px;color:#fff;text-align:center;transition:none!important;transform:none!important}.collection-container .game-card.common{border-color:#9e9e9e}.collection-container .game-card.uncommon{border-color:#4caf50}.collection-container .game-card.rare{border-color:#2196f3}.collection-container .game-card.epic{border-color:#9c27b0}.collection-container .game-card.legendary{border-color:#ff9800}.game-card.user-card{border:3px solid var(--ion-color-primary)!important}.game-card.rival-card{border:3px solid var(--ion-color-danger)!important}.game-card.player-1-card{border:3px solid var(--ion-color-primary)!important}.game-card.player-2-card{border:3px solid var(--ion-color-danger)!important}.rival-battle-container{position:relative;padding:12px;width:100%;height:auto;aspect-ratio:var(--card-aspect-ratio)}.rival-battle-number{position:absolute;color:#fff;font-weight:700;font-size:1.1rem;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-round);z-index:20;box-shadow:var(--shadow-md);text-align:center;line-height:1;box-sizing:border-box;border:2px solid transparent;background:#9e9e9e}.rival-battle-number.top{top:4px;left:50%;transform:translate(-50%)}.rival-battle-number.right{right:4px;top:50%;transform:translateY(-50%)}.rival-battle-number.bottom{bottom:4px;left:50%;transform:translate(-50%)}.rival-battle-number.left{left:4px;top:50%;transform:translateY(-50%)}.rival-battle-number.common{background:#9e9e9e}.rival-battle-number.uncommon{background:#4caf50}.rival-battle-number.rare{background:#2196f3}.rival-battle-number.epic{background:#9c27b0}.rival-battle-number.legendary{background:#ff9800}.rival-battle-number.user-card{background:#007bff;border:2px solid #007bff}.rival-battle-number.rival-card{background:#dc3545;border:2px solid #dc3545}.rival-card-content{position:absolute;top:70%;left:50%;transform:translate(-50%,-50%);z-index:10}.rival-card-name{color:#333;font-size:.75rem;font-weight:600;margin:0;line-height:1.2;text-align:center;background:rgba(255,255,255,.8);padding:.2rem .4rem;border-radius:4px}.card-image-container{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.rival-card-image{width:100%;height:100%;background-size:contain;background-position:center;background-repeat:no-repeat;border-radius:var(--radius-sm);background-color:#fff;position:relative;background-image:var(--card-bg-image)}.rival-card-image:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url(/assets/cards/card-default.png);background-size:contain;background-position:center;background-repeat:no-repeat;opacity:.3;z-index:-1}.game-view-layout{display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;width:100%;max-width:100vw;margin:0;padding:0;box-sizing:border-box;gap:0}@media (max-width: 414px){.game-view-layout{width:375px;max-width:375px;margin:0 auto}}.game-board-section{flex:1.7424;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;margin:0;min-height:0;max-height:calc(100vh - 300px);background:#1a1a2e;width:100%;box-sizing:border-box}.player-hand-section{flex:1;display:flex;flex-direction:column;padding:0;margin:0;background:#1a1a2e;border:none;overflow:hidden;z-index:100;width:100%;box-sizing:border-box}@media (min-width: 768px){.game-view-layout{width:100%;max-width:100%}.game-interface{max-height:calc(100vh - 100px)}.game-board-section{flex:2;max-height:calc(75vh - 80px)}.player-hand-section{flex:1;min-height:0;overflow:hidden}}@media (width: 768px) and (height: 1024px),(width: 1024px) and (height: 1366px){.game-view-layout{display:block;height:auto}.game-board-section{flex:unset;max-height:none}.player-hand-section{flex:unset;min-height:unset;overflow:visible}}@media (min-width: 1200px){.game-board{max-width:650px;max-height:650px}.player-cards-grid{width:100%;height:100%;aspect-ratio:unset;max-width:100%;max-height:100%;box-sizing:border-box}}.avatar-base{position:relative;flex-shrink:0;border-radius:var(--radius-round);overflow:hidden}.avatar-sm{width:var(--avatar-size-sm);height:var(--avatar-size-sm)}.avatar-md{width:var(--avatar-size-md);height:var(--avatar-size-md)}.avatar-lg{width:var(--avatar-size-lg);height:var(--avatar-size-lg)}.avatar-img{width:100%;height:auto;object-fit:cover;border-radius:var(--radius-round);border:2px solid var(--ion-color-light-shade)}.online-indicator{position:absolute;bottom:2px;right:2px;width:16px;height:16px;border-radius:var(--radius-round);border:2px solid white;z-index:1}.online-indicator.online{background:var(--ion-color-success)}.online-indicator.away{background:var(--ion-color-warning)}.online-indicator.offline{background:var(--ion-color-medium)}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-start{display:flex;align-items:center;justify-content:flex-start}.flex-col{display:flex;flex-direction:column}.flex-col-center{display:flex;flex-direction:column;align-items:center;justify-content:center}.grid-auto-fit{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--spacing-md)}.grid-auto-fill{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--spacing-sm)}.grid-2-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.grid-3-col{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.btn-base{border:none;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-weight:600;text-align:center;cursor:pointer;transition:var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.btn-base:disabled{opacity:.6;cursor:not-allowed}.universal-game-button{text-transform:uppercase;letter-spacing:.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;ion-icon {color: white !important; font-size: 1.2rem; margin-right: .5rem;} --padding-start: 1rem;--padding-end: 1rem}@media (max-width: 767px){.universal-game-button{font-size:.8rem;--padding-start: .8rem;--padding-end: .8rem;height:48px;ion-icon {font-size: 1.1rem !important; margin-right: .4rem;}}}@media (min-width: 768px){.universal-game-button{font-size:.9rem;--padding-start: 1.2rem;--padding-end: 1.2rem;ion-icon {font-size: 1.3rem !important; margin-right: .6rem;}}}@media (min-width: 1024px){.universal-game-button{font-size:1rem;--padding-start: 1.5rem;--padding-end: 1.5rem;ion-icon {font-size: 1.4rem !important; margin-right: .7rem;}}}.universal-game-button.small{--padding-start: .6rem;--padding-end: .6rem;font-size:.75rem;ion-icon {font-size: 1rem !important; margin-right: .3rem;}}.universal-game-button.large{--padding-start: 1.8rem;--padding-end: 1.8rem;font-size:1.1rem;ion-icon {font-size: 1.5rem !important; margin-right: .8rem;}}.modal-base{--background: rgba(0, 0, 0, .5);--backdrop-filter: blur(4px)}.modal-content{background:white;border-radius:var(--radius-xl);padding:var(--spacing-xl);margin:var(--spacing-md);max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);gap:var(--spacing-md)}.loading-spinner{color:var(--ion-color-primary)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center;color:var(--ion-color-medium)}.empty-state ion-icon{font-size:3rem;margin-bottom:var(--spacing-md);opacity:.5}@keyframes cascadeGlow{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1);filter:brightness(1.2)}}.game-card.battle-thick-border{border-width:6px!important;transition:border-width .3s ease}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);text-align:center;color:var(--ion-color-danger);height:auto}.error-container ion-icon{font-size:48px;color:#f44336;margin-bottom:16px}.error-icon{font-size:3rem;margin-bottom:var(--spacing-md);color:var(--ion-color-danger)}.game-content{--background: #1a1a2e;--color: #ffffff}.game-interface{display:flex;flex-direction:column;height:100%;max-height:100%;overflow:hidden;position:relative;padding-top:0;padding-bottom:30px;margin-top:0;box-sizing:border-box;background:#1a1a2e;align-items:center}.game-interface.game-ended{pointer-events:none;opacity:.6}.game-interface.game-ended .game-board-section,.game-interface.game-ended .player-hand-section{pointer-events:none;user-select:none}.opponent-area{position:fixed;bottom:0;left:0;right:0;width:100%;display:flex;height:30px;margin:0;padding:0;background:transparent;border:none;box-shadow:none;z-index:100}.player-section{flex:1;display:flex;align-items:center;justify-content:space-between;height:auto;padding:0;box-sizing:border-box}.player-section.current-player{background-color:#007bff}.player-section.rival-player{background-color:#dc3545}.player-arrow{display:flex;align-items:center;justify-content:center;font-size:1.2rem;width:24px;height:24px;border-radius:50%;background-color:#fff;margin:0 .5rem}.current-player .player-arrow{color:#007bff}.rival-player .player-arrow{color:#666}.player-name{font-size:.75rem;font-weight:600;color:#fff;text-align:center;line-height:1.1}.player-points{font-size:.75rem;font-weight:700;color:#fff;line-height:1.1;height:auto;display:flex;align-items:center;justify-content:center;padding:0 8px}.current-player .player-points{background-color:#0056b3;border-top-right-radius:0;border-bottom-right-radius:0}.rival-player .player-points{background-color:#a71e2a;border-top-left-radius:0;border-bottom-left-radius:0}.turn-timer{padding:1rem;background:rgba(255,193,7,.1);border-top:1px solid rgba(255,193,7,.3)}.turn-timer p{margin:0 0 .5rem;color:#fff}.timer-bar{width:100%;height:4px;background:rgba(255,255,255,.2);border-radius:2px;overflow:hidden;margin-top:.5rem}.timer-fill{height:auto;background:var(--ion-color-warning);transition:width 1s linear}.leave-game-button{--color: white;opacity:.8;transition:opacity .2s ease}.leave-game-button:hover{opacity:1}.red-toolbar{--background: #f44336;--color: white}.red-toolbar ion-button{--color: white}.red-toolbar ion-icon{color:#fff}.blue-toolbar{--background: #007bff;--color: white}.blue-toolbar ion-button{--color: white}.blue-toolbar ion-icon{color:#fff}.victory-toolbar{--background: #198754;--color: white}.victory-toolbar ion-button{--color: white}.victory-toolbar ion-icon{color:#fff}.defeat-toolbar{--background: #fd7e14;--color: white}.defeat-toolbar ion-button{--color: white}.defeat-toolbar ion-icon{color:#fff}.neutral-toolbar{--background: #6c757d;--color: white}.neutral-toolbar ion-button{--color: white}.neutral-toolbar ion-icon{color:#fff}.current-turn{border:2px solid #4caf50;box-shadow:0 0 10px rgba(76,175,80,.5)}.card-animation{transition:transform .3s ease,box-shadow .3s ease}.card-animation:hover{transform:translateY(-4px);box-shadow:0 4px 8px rgba(0,0,0,.2)}@media (max-width: 375px){ion-toolbar .toolbar-content{height:28px;min-height:28px;display:flex;align-items:center;padding:0}.game-interface{height:auto;max-height:100%;padding-top:0;padding-bottom:30px}.centered-title{font-size:1.1rem;line-height:1.2;margin:0;padding:0;height:100%;display:flex;align-items:center;justify-content:center}ion-button{--height: 28px;--width: 28px;--padding-start: 0px;--padding-end: 0px;--padding-top: 0px;--padding-bottom: 0px;margin:0;display:flex;align-items:center;justify-content:center}ion-button ion-icon{font-size:16px;margin:0;padding:0;line-height:1;vertical-align:middle}ion-toolbar{--padding-start: 4px;--padding-end: 4px;--padding-top: 0px;--padding-bottom: 0px}ion-buttons{height:28px;display:flex;align-items:center;margin:0;padding:0}ion-buttons[slot=start]{align-self:center;margin-top:0;margin-bottom:0;position:relative;top:-10px}.game-board-section{padding:2px}}.loading-container ion-spinner{margin-bottom:16px;--color: #4caf50}.game-status{padding:1rem;background:rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.1);text-align:center}.game-status h2{margin:0 0 .5rem;color:var(--ion-color-primary)}.game-status p{margin:.25rem 0;color:var(--ion-color-medium)}.centered-title{text-align:center;display:flex;justify-content:center;align-items:center}.white-text{color:#fff}.connection-status{position:absolute;top:10px;right:10px;z-index:1000}.connection-status.connected{color:#4caf50}.connection-status.disconnected{color:#f44336}.connection-status.reconnecting{color:#ff9800}.game-board-container{padding:.5rem;width:100%;height:auto;display:flex;align-items:center;justify-content:center;box-sizing:border-box;max-height:100%}.game-board{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:clamp(8px,2vw,20px);background:#1a1a2e;border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.4);margin:0;aspect-ratio:1;box-sizing:border-box;position:relative;transition:box-shadow .3s ease;width:100%;height:100%}.game-board.frozen{pointer-events:none;opacity:.8}.game-board.frozen .board-cell{cursor:default;transition:none;background:transparent}.game-board.frozen .board-cell:hover{border-color:rgba(255,255,255,.3);background:transparent;box-shadow:none}.board-cell{position:relative;background:transparent;border:none;border-radius:6px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;transition:all .3s ease,border-color .6s ease,background-color .6s ease;min-height:0;min-width:0;width:100%;height:auto;box-sizing:border-box}.board-cell.player-1,.board-cell.player-2{border-color:rgba(255,255,255,.1);background:transparent}.cell-content{width:100%;height:auto;display:flex;align-items:center;justify-content:center}.empty-cell{width:100%;height:auto;display:flex;align-items:center;justify-content:center;border-radius:6px}.drop-indicator{opacity:.5;transition:opacity .3s ease}.drop-icon{font-size:2rem;color:#4caf50}.board-cell:hover .drop-indicator{opacity:1}.board-cell.battle-winner,.board-cell.battle-loser,.board-cell.recently-changed{animation:none}.board-cell:has(.placed-card.attacking-animation){animation:none}.game-card.attacking-animation{box-shadow:none;transform:scale(1)!important;animation:none!important;transition:none!important}.game-card.defending-animation{transition:none}.game-card.defending-animation:not(.battle-animations-enabled *){transition:border-color .3s ease}.game-card.battle-animation{animation:battle-flash .6s ease-in-out;transition:none}@keyframes attacking-card{0%,to{transform:scale(1);opacity:1;box-shadow:none}50%{transform:scale(1);opacity:.95;box-shadow:none}}@keyframes defending-card{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1) rotate(-5deg)}75%{transform:scale(1) rotate(5deg)}}@keyframes battle-flash{0%,to{opacity:1}50%{opacity:.7}}@keyframes victory-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes defeat-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes place-glow{0%{box-shadow:0 0 rgba(76,175,80,.7)}50%{box-shadow:0 0 20px rgba(76,175,80,.7)}to{box-shadow:0 0 rgba(76,175,80,.7)}}@media (max-width: 1199px){.game-board{width:min(100%,90vw,80vh);height:min(100%,90vw,80vh)}}@media (max-width: 768px){.game-board{gap:clamp(6px,1.5vw,12px)}}@media (max-width: 480px){.game-board{gap:clamp(4px,1vw,8px)}}.player-hand{padding:0;margin:0;background:#1a1a2e;border:3px solid #007bff;border-radius:8px;height:auto;width:100%;display:flex;flex-direction:column;box-sizing:border-box}.cards-container{overflow:hidden;height:auto;display:flex;flex-direction:column;flex:1}.player-cards-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:1fr;width:100%;height:auto;aspect-ratio:5/1;gap:clamp(.25rem,1vw,.5rem);padding:clamp(.25rem,1vw,.5rem);justify-items:stretch;align-items:stretch;overflow:hidden;box-sizing:border-box}@media (max-aspect-ratio: .7) and (max-width: 600px){.player-cards-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);aspect-ratio:3/2;gap:.25rem;padding:.25rem;justify-items:center}.player-cards-grid>div:nth-child(4){grid-column:1;grid-row:2;justify-self:end}.player-cards-grid>div:nth-child(5){grid-column:3;grid-row:2;justify-self:start}}.card-wrapper{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;position:relative;width:100%;height:auto;aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box;border-radius:6px}.card-wrapper:hover{transform:translateY(-2px)}.card-wrapper.selected .game-card{border:6px solid #4caf50;box-shadow:0 0 8px rgba(76,175,80,.5)}.card-wrapper.selected-for-trade .game-card{border:6px solid #ff9800;box-shadow:0 0 8px rgba(255,152,0,.5)}.empty-hand{text-align:center;padding:1rem;color:#b0bec5;height:auto;display:flex;align-items:center;justify-content:center}.card-wrapper.trading-fade-out{animation:fadeToBackground 1.2s ease-in forwards}.card-wrapper.trading-fade-in{animation:appearFromBackground 1s ease-out forwards}@keyframes fadeToBackground{0%{opacity:1;transform:scale(1)}to{opacity:.1;transform:scale(.95);background-color:#1a1a2e}}@keyframes appearFromBackground{0%{opacity:0;transform:scale(.8);background-color:#1a1a2e}to{opacity:1;transform:scale(1);background-color:transparent}}.rarity-common{color:#9e9e9e;border-color:#9e9e9e}.rarity-uncommon{color:#4caf50;border-color:#4caf50}.rarity-rare{color:#2196f3;border-color:#2196f3}.rarity-epic{color:#9c27b0;border-color:#9c27b0}.rarity-legendary{color:#ff9800;border-color:#ff9800;animation:legendary-glow 3s ease-in-out infinite}@keyframes legendary-glow{0%,to{box-shadow:0 0 20px rgba(255,152,0,.3)}50%{box-shadow:0 0 30px rgba(255,152,0,.6)}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.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)}.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)}.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)}@media (max-width: 768px){.grid-auto-fit{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--spacing-sm)}.modal-content{margin:var(--spacing-sm);padding:var(--spacing-lg)}.hide-mobile{display:none}}@media (min-width: 769px){.hide-desktop{display:none}}.friend-card{border:3px solid}.friend-card.outline-blue{border-color:var(--ion-color-primary)}.friend-card.outline-red{border-color:var(--ion-color-danger)}.friend-card.outline-grey{border-color:var(--ion-color-medium)}.friend-actions ion-button{--border-radius: 8px;min-width:100px}@media (max-width: 768px){.friend-card{flex-direction:column;text-align:center;gap:.75rem}.friend-actions{flex-direction:row;justify-content:center;width:100%}.friend-actions ion-button{flex:1;min-width:auto}}.active-games-section,.announcements-section,.login-section{width:100%}.announcement-item{margin-bottom:1.5rem}.announcement-item:last-child{margin-bottom:0}.announcement-item h4{margin:0 0 .5rem;color:var(--ion-color-primary);font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.announcement-item p{margin:0;color:var(--ion-color-medium);font-size:.9rem;text-align:left}.game-actions-container{width:100%;display:flex;flex-direction:column;gap:1rem}.collection-row{display:flex;justify-content:center}.card-quantity-overlay{position:absolute;top:8px;right:8px;background:rgba(0,0,0,.8);color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;z-index:25}.game-buttons-row{display:flex;flex-direction:row;justify-content:center;gap:1rem;width:100%}.collection-button{--border-radius: 8px;height:50px;width:calc(100% + -0rem)}.secondary-button{--border-radius: 8px;height:50px;flex:1}.random-button{--border-radius: 8px;height:50px;flex:1;--background: var(--ion-color-danger);--background-activated: var(--ion-color-danger-shade);--background-hover: var(--ion-color-danger-tint)}.collection-button,.play-friend-button,.play-random-button,.bot-play-button,.play-button{text-transform:uppercase;letter-spacing:.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;--padding-start: 1rem;--padding-end: 1rem}.collection-button ion-icon,.play-friend-button ion-icon,.play-random-button ion-icon,.bot-play-button ion-icon,.play-button ion-icon{color:#fff!important;font-size:1.2rem;margin-right:.5rem}@media (max-width: 767px){.collection-button,.play-friend-button,.play-random-button,.bot-play-button,.play-button{font-size:.8rem;--padding-start: .8rem;--padding-end: .8rem;height:48px}.collection-button ion-icon,.play-friend-button ion-icon,.play-random-button ion-icon,.bot-play-button ion-icon,.play-button ion-icon{font-size:1.1rem!important;margin-right:.4rem}}@media (min-width: 768px){.collection-button,.play-friend-button,.play-random-button,.bot-play-button,.play-button{font-size:.9rem;--padding-start: 1.2rem;--padding-end: 1.2rem}.collection-button ion-icon,.play-friend-button ion-icon,.play-random-button ion-icon,.bot-play-button ion-icon,.play-button ion-icon{font-size:1.3rem!important;margin-right:.6rem}}@media (min-width: 1024px){.collection-button,.play-friend-button,.play-random-button,.bot-play-button,.play-button{font-size:1rem;--padding-start: 1.5rem;--padding-end: 1.5rem}.collection-button ion-icon,.play-friend-button ion-icon,.play-random-button ion-icon,.bot-play-button ion-icon,.play-button ion-icon{font-size:1.4rem!important;margin-right:.7rem}}.auth-buttons{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.login-button,.register-button,.secondary-button,.primary-button{text-transform:uppercase;letter-spacing:.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;--border-radius: 8px;height:50px;--padding-start: 1rem;--padding-end: 1rem}.purchase-btn:not([size=small]),.buy-points-btn:not([size=small]),.select-btn:not([size=small]){text-transform:uppercase;letter-spacing:.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;--padding-start: 1rem;--padding-end: 1rem}.your-turn-button,.rival-turn-button,.confirm-btn,.cancel-btn{text-transform:uppercase;font-weight:600}.login-button ion-icon,.register-button ion-icon,.secondary-button ion-icon,.primary-button ion-icon,.purchase-btn:not([size=small]) ion-icon,.buy-points-btn:not([size=small]) ion-icon,.select-btn:not([size=small]) ion-icon{color:#fff!important;font-size:1.2rem;margin-right:.5rem}.your-turn-button ion-icon,.rival-turn-button ion-icon,.rival-turn-button .button-native ion-icon,.rival-turn-button .button-inner ion-icon,.rival-turn-button ion-icon svg,.rival-turn-button svg,.confirm-btn ion-icon{color:#fff!important;fill:#fff!important}.cancel-btn ion-icon{color:#fff!important}.announcements-section{display:none}ion-button[color=danger] ion-icon{color:var(--ion-color-danger)!important}@media (max-width: 767px){.login-button,.register-button,.secondary-button,.primary-button,.purchase-btn:not([size=small]),.buy-points-btn:not([size=small]),.select-btn:not([size=small]){font-size:.8rem;--padding-start: .8rem;--padding-end: .8rem;height:48px}.login-button ion-icon,.register-button ion-icon,.secondary-button ion-icon,.primary-button ion-icon,.purchase-btn:not([size=small]) ion-icon,.buy-points-btn:not([size=small]) ion-icon,.select-btn:not([size=small]) ion-icon{font-size:1.1rem!important;margin-right:.4rem}}@media (min-width: 768px){.login-button,.register-button,.secondary-button,.primary-button,.purchase-btn:not([size=small]),.buy-points-btn:not([size=small]),.select-btn:not([size=small]){font-size:.9rem;--padding-start: 1.2rem;--padding-end: 1.2rem}.login-button ion-icon,.register-button ion-icon,.secondary-button ion-icon,.primary-button ion-icon,.purchase-btn:not([size=small]) ion-icon,.buy-points-btn:not([size=small]) ion-icon,.select-btn:not([size=small]) ion-icon{font-size:1.3rem!important;margin-right:.6rem}}@media (min-width: 1024px){.login-button,.register-button,.secondary-button,.primary-button,.purchase-btn:not([size=small]),.buy-points-btn:not([size=small]),.select-btn:not([size=small]){font-size:1rem;--padding-start: 1.5rem;--padding-end: 1.5rem}.login-button ion-icon,.register-button ion-icon,.secondary-button ion-icon,.primary-button ion-icon,.purchase-btn:not([size=small]) ion-icon,.buy-points-btn:not([size=small]) ion-icon,.select-btn:not([size=small]) ion-icon{font-size:1.4rem!important;margin-right:.7rem}}.bots-section{width:100%;margin-top:1rem}.section-title{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--ion-color-dark);font-size:1.1rem;font-weight:600}.bots-row{display:flex;gap:.75rem;justify-content:space-around;align-items:stretch}.bot-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem .5rem;border:2px solid var(--ion-color-light-shade);border-radius:12px;background:var(--ion-color-light);cursor:pointer;transition:transform .2s,box-shadow .2s,border-color .2s;min-width:0}.bot-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1);border-color:var(--ion-color-tertiary)}.bot-avatar{position:relative;flex-shrink:0}.bot-avatar ion-avatar{width:50px;height:50px}.bot-avatar img{border-radius:50%;border:2px solid var(--ion-color-light-shade)}.bot-badge{position:absolute;bottom:-2px;right:-2px;width:20px;height:20px;background:var(--ion-color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;border:2px solid white;box-shadow:0 2px 4px rgba(0,0,0,.2)}.bot-name{margin:0;font-size:.9rem;font-weight:600;color:var(--ion-color-dark);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}@media (max-width: 375px){.bots-row{gap:.5rem}.bot-card{padding:.75rem .25rem;min-width:0}.bot-avatar ion-avatar{width:40px;height:40px}.bot-badge{width:16px;height:16px;font-size:.65rem}.bot-name{font-size:.8rem}}@media (min-width: 768px){.game-buttons-row{flex-direction:row;justify-content:center;gap:1rem}.game-buttons-row ion-button{flex:1;max-width:200px}.collection-button{max-width:calc(400px + 1rem)}.bots-row{gap:1rem;max-width:500px;margin:0 auto}.bot-avatar ion-avatar{width:60px;height:60px}}@media (min-width: 1024px){.game-buttons-row{gap:2rem}.game-buttons-row ion-button{max-width:250px}.play-friend-button,.play-random-button{font-size:1rem;--padding-start: 1.5rem;--padding-end: 1.5rem}.play-friend-button ion-icon,.play-random-button ion-icon{font-size:1.4rem;margin-right:.7rem}.collection-button{max-width:calc(500px + 2rem)}}.points-skeleton{width:80px;height:32px}.card-image,.modal-card-image{background-image:var(--card-bg-image);background-size:cover;background-position:center;background-repeat:no-repeat}.spacer-button{visibility:hidden;pointer-events:none}.timer-fill{width:var(--timer-width)}.preview-card{border-color:var(--rarity-color)}.theme-accent{background-color:var(--theme-color)}.rarity-dot{background-color:var(--rarity-color)}.progress-fill{width:var(--progress-width);background-color:var(--theme-color)}.pack-animation{min-height:300px}.cards-grid{margin-bottom:2rem}.card-reveal{animation-delay:var(--reveal-delay)}.rarity-summary{background:var(--ion-color-light-tint);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1rem}.rarity-summary h4{margin:0 0 1rem;color:var(--ion-color-primary)}.rarity-breakdown{flex-wrap:wrap;gap:.75rem}.rarity-item{padding:.5rem 1rem;background:white;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--ion-color-dark);box-shadow:var(--shadow-sm)}.points-used{padding:1rem;background:var(--ion-color-primary-tint);border-radius:var(--radius-md);color:var(--ion-color-primary-shade);font-weight:600}.footer-actions{width:100%;padding:1rem}.strength-fill{width:var(--strength-width)}.debug-info{padding:1rem;text-align:center;color:var(--ion-color-medium)}.friend-name{margin:0 0 .25rem;color:var(--ion-color-dark)}.friend-username{margin:0 0 .5rem;color:var(--ion-color-medium)}.friend-actions{flex-shrink:0}.store-categories{margin-bottom:2rem}.store-categories ion-segment{--background: var(--ion-color-light)}.store-content{animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-header{margin-bottom:2rem;text-align:center}.section-header h2{margin:0 0 .5rem;color:var(--ion-color-primary);font-size:1.8rem;font-weight:600}.section-header p{margin:0;color:var(--ion-color-medium);font-size:1rem}.packs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.points-purchase-cta{display:flex;justify-content:center;padding:2rem}.cta-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:500px;padding:3rem 2rem;background:linear-gradient(135deg,var(--ion-color-light-tint) 0%,white 100%);border:2px solid var(--ion-color-light);border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.1)}.cta-content ion-icon{margin-bottom:1.5rem;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.cta-content h3{margin:0 0 1rem;color:var(--ion-color-dark);font-size:1.8rem;font-weight:600}.cta-content p{margin:.5rem 0;color:var(--ion-color-medium);line-height:1.5;font-size:1rem}.cta-content .earn-info{margin:1.5rem 0;padding:1rem;background:var(--ion-color-success-tint);color:var(--ion-color-success-shade);border-radius:8px;font-weight:500;border:1px solid var(--ion-color-success)}.cta-content ion-button{margin-top:1.5rem;--border-radius: 12px;font-weight:600;height:50px;min-width:180px}@media (max-width: 768px){.packs-grid{grid-template-columns:1fr;gap:1.5rem}.cta-content{padding:2rem 1.5rem}.cta-content h3{font-size:1.5rem}}.collection-container{padding:1rem;max-width:1200px;margin:0 auto}.collection-summary{text-align:center;padding:.5rem;background:var(--ion-color-light);border-radius:4px;margin-top:.5rem;font-size:.9rem;color:var(--ion-color-medium)}.filter-controls{margin-bottom:1rem}.filter-controls ion-segment{margin-bottom:1rem}.filter-controls ion-segment{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem}.filter-controls ion-segment-button{--min-width: auto;flex:0 1 auto;min-width:fit-content}.filter-controls ion-segment-button ion-label{font-size:.9rem;white-space:nowrap;line-height:1.2;text-align:center;padding:.5rem .75rem;overflow:visible;height:auto;display:flex;align-items:center;justify-content:center}.filter-controls ion-segment-button.segment-button-checked{flex:0 0 auto}.filter-controls ion-segment-button.segment-button-checked ion-label{font-weight:600;font-size:.95rem;padding:.5rem 1rem;background:var(--ion-color-primary);color:#fff;border-radius:4px;transition:all .2s ease}.loading-container,.error-container,.empty-state{text-align:center;padding:2rem}.error-container ion-icon,.empty-state ion-icon{color:var(--ion-color-medium);margin-bottom:1rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.collection-card{cursor:pointer;transition:transform .2s,box-shadow .2s}.battle-container{position:relative;padding:20px}.collection-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.card-container{position:relative;padding:12px;border:3px solid;border-radius:8px;background:var(--ion-color-light);overflow:hidden}.card-container.common{border-color:#9e9e9e}.card-container.uncommon{border-color:#4caf50}.card-container.rare{border-color:#2196f3}.card-container.epic{border-color:#9c27b0}.card-container.legendary{border-color:#ff9800}.collection-page .card-image-container,.friend-card .card-image-container{position:relative;aspect-ratio:1;overflow:hidden;padding:2px;width:100%;height:100%}.card-image{width:100%;height:auto;object-fit:contain}.card-quantity{background:white;color:#000;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;flex-shrink:0}.card-info{padding:.5rem}.battle-number{position:absolute;color:#fff;font-weight:700;font-size:1.1rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;z-index:20;box-shadow:0 3px 6px rgba(0,0,0,.5);text-align:center;line-height:1}.battle-number.common{background:#9e9e9e}.battle-number.uncommon{background:#4caf50}.battle-number.rare{background:#2196f3}.battle-number.epic{background:#9c27b0}.battle-number.legendary{background:#ff9800}.battle-number.top{top:4px;left:50%;transform:translate(-50%)}.battle-number.right{right:4px;top:50%;transform:translateY(-50%)}.battle-number.bottom{bottom:4px;left:50%;transform:translate(-50%)}.battle-number.left{left:4px;top:50%;transform:translateY(-50%)}.card-name-row{display:flex;align-items:center;justify-content:center;gap:.5rem}.card-name{margin:0;font-size:1.1rem;font-weight:600;flex:1;text-align:center}.card-detail{padding:1rem}.detail-image-container{position:relative;width:250px;height:250px;margin:0 auto 1rem;border-radius:8px;overflow:hidden}.detail-card-image{width:100%;height:auto;object-fit:contain}.detail-rarity-border{position:absolute;top:0;right:0;bottom:0;left:0;border:4px solid;border-radius:8px;pointer-events:none}.detail-rarity-border.common{border-color:#9e9e9e}.detail-rarity-border.uncommon{border-color:#4caf50}.detail-rarity-border.rare{border-color:#2196f3}.detail-rarity-border.epic{border-color:#9c27b0}.detail-rarity-border.legendary{border-color:#ff9800}.detail-info h2{text-align:center;margin-bottom:1rem}.card-description{text-align:center;color:var(--ion-color-medium);margin-bottom:1.5rem;font-style:italic}.stat-section{margin-bottom:1.5rem}.stat-section h4{margin-bottom:.5rem;color:var(--ion-color-primary)}.battle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1rem}.battle-position{background:var(--ion-color-primary);color:#fff;padding:.5rem;text-align:center;border-radius:4px;font-weight:700}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.detail-item{display:flex;justify-content:space-between;padding:.25rem 0}.detail-item .label{font-weight:600}.detail-item .value.common{color:#9e9e9e}.detail-item .value.uncommon{color:#4caf50}.detail-item .value.rare{color:#2196f3}.detail-item .value.epic{color:#9c27b0}.detail-item .value.legendary{color:#ff9800}.acquisition-info{background:var(--ion-color-light);padding:1rem;border-radius:4px;margin-top:1rem}.acquisition-info p{margin:.25rem 0;font-size:.9rem}@media (max-width: 768px){.stats-header{flex-wrap:wrap;gap:.5rem}.stat-item{flex:1;min-width:80px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.detail-grid{grid-template-columns:1fr}.filter-controls ion-segment{gap:.15rem}.filter-controls ion-segment-button ion-label{font-size:.8rem;padding:.4rem .5rem}.filter-controls ion-segment-button.segment-button-checked ion-label{font-size:.85rem;padding:.4rem .75rem}}@media (max-width: 375px){.filter-controls ion-segment{gap:.1rem}.filter-controls ion-segment-button ion-label{font-size:.75rem;padding:.3rem .4rem}.filter-controls ion-segment-button.segment-button-checked ion-label{font-size:.8rem;padding:.3rem .6rem}}.login-container{max-width:400px;margin:0 auto;padding:2rem 1rem}.logo-section{text-align:center;margin-bottom:2rem}.logo-section h1{color:var(--ion-color-primary);margin:0 0 .5rem;font-weight:700;font-size:2rem}.logo-section p{color:var(--ion-color-medium);margin:0;font-style:italic}.login-card{margin-bottom:1.5rem;box-shadow:0 4px 16px rgba(0,0,0,.1)}.login-input{margin-bottom:1rem}.login-options{display:flex;align-items:center;gap:.5rem;margin:1rem 0}.remember-label{font-size:.9rem;color:var(--ion-color-medium)}.login-button{margin:1.5rem 0 1rem;--border-radius: 8px;font-weight:600}.login-links{text-align:center;margin-top:1rem}.link-button{--color: var(--ion-color-medium);font-size:.9rem}.register-section{text-align:center;padding:1rem;background:var(--ion-color-light);border-radius:8px}.register-section p{margin:0 0 1rem;color:var(--ion-color-medium)}.password-toggle{--color: var(--ion-color-medium)}.demo-section{margin-top:1.5rem;text-align:center;padding:1rem;background:rgba(255,193,7,.1);border-radius:8px;border:1px solid rgba(255,193,7,.3)}.demo-section-title{margin:0 0 1rem;color:var(--ion-color-warning);font-weight:600;font-size:.9rem}.demo-button{width:100%;margin:.5rem 0;--color: var(--ion-color-warning)}.demo-player1{--color: #4caf50}.demo-player2{--color: #2196f3}ion-item.ion-invalid{--border-color: var(--ion-color-danger)}ion-note[slot=error]{font-size:.8rem;margin-top:.25rem}@media (max-width: 768px){.login-container{padding:1rem .5rem}.logo-section h1{font-size:1.5rem}}@media (prefers-color-scheme: dark){.register-section{background:var(--ion-color-dark)}}.register-container{max-width:400px;margin:0 auto;padding:1rem}.welcome-section{text-align:center;margin-bottom:2rem}.logo-icon{font-size:3rem;color:var(--ion-color-primary);margin-bottom:1rem}.welcome-section h1{color:var(--ion-color-primary);margin:0 0 .5rem;font-weight:700;font-size:1.5rem}.welcome-section p{color:var(--ion-color-medium);margin:0}.debug-info{background:transparent;color:var(--ion-color-medium);padding:.5rem;border-radius:4px;margin-bottom:1rem;font-size:.8rem}.register-card{margin-bottom:1.5rem;box-shadow:0 4px 16px rgba(0,0,0,.1)}.register-input{margin-bottom:1rem}.password-strength{margin:1rem 0;padding:.5rem;background:var(--ion-color-light);border-radius:8px}.strength-label{font-size:.8rem;color:var(--ion-color-medium);margin-bottom:.25rem}.strength-bar{width:100%;height:4px;background:var(--ion-color-light-shade);border-radius:2px;overflow:hidden;margin-bottom:.25rem}.strength-fill{height:auto;transition:width .3s ease}.strength-fill.weak{background:var(--ion-color-danger)}.strength-fill.fair{background:var(--ion-color-warning)}.strength-fill.good{background:var(--ion-color-primary)}.strength-fill.strong{background:var(--ion-color-success)}.strength-text{font-size:.75rem;font-weight:500}.strength-text.weak{color:var(--ion-color-danger)}.strength-text.fair{color:var(--ion-color-warning)}.strength-text.good{color:var(--ion-color-primary)}.strength-text.strong{color:var(--ion-color-success)}.terms-section{display:flex;align-items:flex-start;gap:.5rem;margin:1.5rem 0;padding:.5rem}.terms-label{font-size:.9rem;color:var(--ion-color-medium);line-height:1.4}.terms-label a{color:var(--ion-color-primary);text-decoration:none}.terms-label a:hover{text-decoration:underline}.error-message{margin:1rem 0;padding:.5rem;background:rgba(var(--ion-color-danger-rgb),.1);border-radius:4px;text-align:center}.register-button{margin:1.5rem 0 1rem;--border-radius: 8px;font-weight:600}.test-button{margin:.5rem 0;--border-radius: 8px}.login-section{text-align:center;padding:1rem}.login-section p{margin:0 0 .5rem;color:var(--ion-color-medium)}.login-link{--color: var(--ion-color-primary);font-weight:600}ion-note[slot=helper]{font-size:.8rem;color:var(--ion-color-success);margin-top:.25rem}@media (max-width: 768px){.register-container{padding:.5rem}.logo-icon{font-size:2.5rem}.welcome-section h1{font-size:1.25rem}}@media (prefers-color-scheme: dark){.password-strength{background:var(--ion-color-dark)}}.app-navigation{position:fixed;top:10px;right:10px;z-index:1000;display:flex;align-items:center;gap:10px}ion-button.menu-button{--background: rgba(255, 255, 255, .9);--color: var(--ion-color-dark);--border-radius: 50%;--padding-start: 8px;--padding-end: 8px;--padding-top: 8px;--padding-bottom: 8px;--box-shadow: 0 2px 8px rgba(0, 0, 0, .2);--border-width: 0;--border-style: none;--height: 40px;--width: 40px;aspect-ratio:1}.menu-button:hover{--background: rgba(255, 255, 255, 1)}ion-list{padding:0}ion-item{--padding-start: 16px;--padding-end: 16px;--padding-top: 12px;--padding-bottom: 12px}ion-item:hover{--background: var(--ion-color-light)}ion-icon[slot=start]{margin-right:16px;color:var(--ion-color-primary)}.auth-button{--background: rgba(255, 255, 255, .95);--border-color: var(--ion-color-primary);--color: var(--ion-color-primary);--box-shadow: 0 2px 8px rgba(0, 0, 0, .1);font-size:14px}.auth-button:hover{--background: var(--ion-color-primary);--color: white}.logout-button{--border-color: var(--ion-color-danger);--color: var(--ion-color-danger)}.logout-button:hover{--background: var(--ion-color-danger);--color: white}.auth-item,.logout-item{margin-top:1rem;border-top:1px solid var(--ion-color-light-shade)}.app-footer{--background: rgba(0, 0, 0, .05);--border-color: var(--ion-color-light);border-top:1px solid var(--ion-color-light);transition:all .3s ease}.app-footer.collapsed{--background: transparent;border:none}.version-toolbar{--background: transparent;--min-height: 36px;--padding-start: 48px;--padding-end: 4px}.version-info{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:11px}.version-text{color:var(--ion-color-medium);font-family:Courier New,monospace;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.debug-bar-gear{position:fixed;bottom:8px;left:8px;width:32px;height:32px;background:var(--ion-color-medium);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:1000;box-shadow:0 2px 8px rgba(0,0,0,.2)}.debug-bar-gear:hover{background:var(--ion-color-primary);transform:scale(1.1)}.gear-icon{color:#fff;font-size:16px}.collapse-button{--color: var(--ion-color-medium);--padding-start: 4px;--padding-end: 4px;min-width:24px;height:24px}.collapse-button ion-icon{font-size:12px;transition:transform .3s ease}.collapse-button:hover ion-icon{transform:rotate(180deg)}@media (max-width: 768px){.version-text{font-size:10px}}@media (prefers-color-scheme: dark){.app-footer{--background: rgba(255, 255, 255, .05);--border-color: var(--ion-color-dark)}}.active-games-list{width:100%}.section-toggle{margin-bottom:1rem;position:sticky;top:0;background:var(--ion-background-color);z-index:10;padding:.5rem 0}.loading-container,.error-container{text-align:center;padding:2rem}.loading-container ion-spinner{margin-bottom:1rem}.error-container ion-icon{color:var(--ion-color-medium);margin-bottom:1rem}.games-section{margin-bottom:2rem}.section-title{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--ion-color-primary)}.section-title ion-icon{color:var(--ion-color-primary)}.empty-state{text-align:center;padding:2rem;color:var(--ion-color-medium)}.empty-state ion-icon{margin-bottom:1rem}.games-grid.layout-full{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.games-grid.layout-compact{display:flex;flex-direction:column;gap:.5rem}@media (max-width: 768px){.games-grid.layout-full{grid-template-columns:1fr}.active-games-list{padding:0}.games-section{margin-bottom:1rem}}.pack-opening-modal{--width: 90%;--max-width: 800px;--height: 80%}.pack-opening-container{padding:2rem;min-height:100%}.pack-image{width:150px;height:150px;object-fit:contain;border-radius:12px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.3))}.pack-image.pulse{animation:pulse 1.5s ease-in-out infinite}.opening-text{margin-top:1rem;font-size:1.2rem;color:var(--ion-color-primary);font-weight:600;animation:fadeInOut 2s ease-in-out infinite}@keyframes glow{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes fadeInOut{0%,to{opacity:.6}50%{opacity:1}}.cards-reveal{width:100%;max-width:700px;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.reveal-title{text-align:center;margin-bottom:2rem;color:var(--ion-color-primary);font-size:1.8rem;font-weight:700}.card-reveal{padding:1rem}@keyframes cardReveal{0%{opacity:0;transform:scale(.8) rotateY(-15deg)}to{opacity:1;transform:scale(1) rotateY(0)}}.card-reveal .card-image-container,.pack-opening-modal .card-image-container{position:relative;margin-bottom:.5rem}.card-image{width:100%;max-width:80px;height:80px;object-fit:cover;border-radius:8px;aspect-ratio:1}.rarity-border{position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;border-radius:10px;border:3px solid;pointer-events:none}.rarity-border.common{border-color:#9e9e9e}.rarity-border.uncommon{border-color:#4caf50}.rarity-border.rare{border-color:#2196f3}.rarity-border.epic{border-color:#9c27b0}.rarity-border.legendary{border-color:#ff9800}.card-info h4{margin:.5rem 0 .25rem;font-size:.9rem;font-weight:600;color:var(--ion-color-dark);line-height:1.2}.card-rarity{margin:0 0 .25rem;font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--ion-color-medium)}.card-reveal.rarity-common .card-rarity{color:#9e9e9e}.card-reveal.rarity-uncommon .card-rarity{color:#4caf50}.card-reveal.rarity-rare .card-rarity{color:#2196f3}.card-reveal.rarity-epic .card-rarity{color:#9c27b0}.card-reveal.rarity-legendary .card-rarity{color:#ff9800}.quantity-owned{margin:0;font-size:.7rem;color:var(--ion-color-success);font-weight:500}.rarity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.points-used ion-icon{font-size:1.2rem}.close-button{--color: white;--background: rgba(255, 255, 255, .15);--border-radius: 50%;backdrop-filter:blur(10px);transition:var(--transition-fast)}.close-button:hover{--background: rgba(255, 255, 255, .25);transform:scale(1.1)}.awesome-button{--border-radius: 12px;--box-shadow: 0 4px 12px rgba(46, 125, 50, .3);font-size:1.1rem;min-height:56px;animation:pulseButton 2s ease-in-out infinite}.awesome-button:hover{--box-shadow: 0 6px 16px rgba(46, 125, 50, .4);transform:translateY(-2px)}@keyframes pulseButton{0%,to{box-shadow:0 4px 12px rgba(46,125,50,.3)}50%{box-shadow:0 6px 20px rgba(46,125,50,.5),0 0 30px rgba(46,125,50,.2)}}@media (max-width: 768px){.pack-opening-modal{--width: 95%;--height: 85%}.pack-opening-container{padding:1rem}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem}.card-image{max-width:60px;height:60px}.rarity-summary{padding:1rem}.rarity-breakdown{gap:.5rem}.rarity-item{padding:.375rem .75rem;font-size:.8rem}}.card-reveal.rarity-epic{background:linear-gradient(145deg,#faf8ff 0%,white 100%)}.card-reveal.rarity-legendary{background:linear-gradient(145deg,#fffbf0 0%,white 100%);animation:cardReveal .6s ease-out forwards,legendaryGlow 3s ease-in-out infinite}@keyframes legendaryGlow{0%,to{box-shadow:0 4px 12px rgba(0,0,0,.1)}50%{box-shadow:0 4px 20px rgba(255,152,0,.3),0 0 30px rgba(255,152,0,.1)}}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;gap:var(--spacing-md);text-align:center;padding:var(--spacing-xl)}.loading-container p,.error-container p{color:var(--ion-color-medium);margin:0}.error-container ion-icon{margin-bottom:var(--spacing-md)}ion-buttons ion-button{--color: white;--background: transparent;--border-radius: var(--radius-sm);--padding-start: var(--spacing-sm);--padding-end: var(--spacing-sm);--padding-top: var(--spacing-sm);--padding-bottom: var(--spacing-sm);min-height:32px;min-width:32px}ion-buttons ion-button:hover{--background: rgba(255, 255, 255, .1)}ion-buttons ion-button ion-icon{font-size:1.2rem;color:#fff}@media (max-width: 768px){.loading-container,.error-container{padding:var(--spacing-md)}}.load-more-container{padding:16px}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.card-selection-modal{--width: 90%;--max-width: 800px;--height: 85%}.selection-container{padding:1rem;min-height:100%}.current-selection{background:var(--ion-color-light-tint);border-radius:12px;padding:1.5rem;margin-bottom:2rem;text-align:center}.current-selection h3{margin:0 0 1rem;color:var(--ion-color-primary);font-size:1.2rem}.avatar-preview{display:flex;align-items:center;justify-content:center;gap:1rem}.card-container{position:relative;width:80px;height:80px;flex-shrink:0}.preview-card-image{width:100%;height:auto;object-fit:cover;border-radius:8px;aspect-ratio:1}.card-info h4{margin:0 0 .5rem;color:var(--ion-color-dark);font-size:1.1rem}.card-info .card-rarity{margin:0;color:var(--ion-color-medium);font-size:.9rem;font-weight:500}.filter-section{margin-bottom:2rem}.filter-section h3{margin:0 0 1rem;color:var(--ion-color-dark);font-size:1.2rem}.filter-content{display:flex;align-items:center;gap:.5rem}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:2rem}.card-option{background:white;border:2px solid var(--ion-color-light);border-radius:12px;padding:1rem;cursor:pointer;transition:all .3s ease;text-align:center;position:relative}.card-option:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15);border-color:var(--ion-color-primary-tint)}.card-option.selected{border-color:var(--ion-color-primary);background:var(--ion-color-primary-tint);transform:translateY(-2px)}.card-option.rare-glow{box-shadow:0 0 20px rgba(156,39,176,.3)}.card-option.rare-glow.selected{box-shadow:0 0 20px rgba(156,39,176,.6)}.card-selection-modal .card-image-container,.store-modal .card-image-container{position:relative;width:120px;height:120px;margin:0 auto .75rem;aspect-ratio:1}.card-selection-modal .card-image,.store-modal .card-image{width:100%;height:100%;object-fit:contain!important;border-radius:8px}.quantity-badge{position:absolute;top:-8px;right:-8px;background:var(--ion-color-secondary);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;border:2px solid white}.selected-indicator{position:absolute;bottom:-8px;right:-8px;background:var(--ion-color-primary);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid white}.card-details h5{margin:0 0 .25rem;font-size:.9rem;font-weight:600;color:var(--ion-color-dark);line-height:1.2}.card-details .card-rarity{margin:0;font-size:.8rem;font-weight:500;color:var(--ion-color-medium)}.empty-state .hint{margin-top:1rem;font-style:italic;color:var(--ion-color-medium-shade)}.footer-actions{width:100%;padding:1rem;display:flex;gap:1rem}.cancel-btn{flex-shrink:0}@media (max-width: 768px){.card-selection-modal{--width: 95%;--height: 90%}.selection-container{padding:.75rem}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem}.card-selection-modal .card-image-container,.store-modal .card-image-container{width:90px;height:90px;aspect-ratio:1}.card-selection-modal .card-image,.store-modal .card-image{width:100%;height:100%;object-fit:contain!important}.avatar-preview{flex-direction:column;gap:.75rem}.footer-actions{flex-direction:column-reverse;gap:.75rem}}.card-option.rare-glow.rarity-legendary{animation:legendaryGlow 3s ease-in-out infinite}.moves-tray-container{position:fixed;right:0;top:56px;bottom:200px;z-index:500;pointer-events:none}.moves-tab{position:absolute;right:0;top:50%;transform:translateY(-50%);width:40px;height:60px;background:var(--ion-color-primary);border-radius:8px 0 0 8px;display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;z-index:501;box-shadow:-2px 0 8px rgba(0,0,0,.3)}.moves-tab ion-icon{color:#fff;font-size:20px}.moves-tray{position:absolute;right:0;top:0;bottom:0;width:150px;background:var(--ion-color-light);border-radius:12px 0 0 12px;box-shadow:-4px 0 16px rgba(0,0,0,.3);transform:translate(100%);transition:transform .3s ease-in-out;pointer-events:auto;overflow:hidden;display:flex;flex-direction:column}.moves-tray.visible{transform:translate(0)}.close-button{position:absolute;left:12px;top:12px;width:32px;height:32px;background:var(--ion-color-medium);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:502}.close-button ion-icon{color:#fff;font-size:18px}.tray-header{padding:16px 16px 8px 60px;border-bottom:1px solid var(--ion-color-medium-tint);text-align:center}.tray-header h3{margin:0;color:var(--ion-color-dark);font-size:18px;font-weight:600}.moves-list{flex:1;padding:8px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.move-card{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;gap:4px;padding:6px;background:white;border-radius:8px;border:2px solid transparent;box-shadow:0 2px 4px rgba(0,0,0,.1);cursor:default;user-select:none;transition:all .2s ease-in-out}.move-card:hover{background:rgba(255,255,255,.95);box-shadow:0 4px 8px rgba(0,0,0,.15)}.move-card.player-blue{border-color:var(--ion-color-primary)}.move-card.player-blue .move-number-circle{background:var(--ion-color-primary)}.move-card.player-red{border-color:var(--ion-color-danger)}.move-card.player-red .move-number-circle{background:var(--ion-color-danger)}.move-number{grid-column:1;grid-row:1 / 4;width:32px;height:auto;min-height:60px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;margin-right:6px;padding-top:2px}.move-number-circle{width:28px;height:28px;background:var(--ion-color-medium);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.moves-tray .card-mini{width:50px;height:70px;flex-shrink:0;border-radius:6px;overflow:hidden;background-color:var(--ion-color-light-shade)}.moves-tray .card-image{width:100%;height:auto;background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:6px;position:relative;display:flex;align-items:flex-end}.moves-tray .card-name{background:rgba(0,0,0,.8);color:#fff;font-size:10px;padding:3px 4px;border-radius:0 0 6px 6px;width:100%;text-align:center;font-weight:600;line-height:1.1}.suggestion-header{grid-column:2;grid-row:1;font-size:10px;font-weight:600;color:#28a745;text-align:left;align-self:center}.move-card-content{grid-column:2;grid-row:2;display:flex;align-items:center;gap:4px}.move-text-content{grid-column:1 / 3;grid-row:3;display:flex;align-items:center;justify-content:center;margin:2px 0}.move-info{display:flex;flex-direction:column;justify-content:center;text-align:center}.turn-info{font-size:12px;font-weight:600;color:var(--ion-color-dark);line-height:1.2}.position-info{font-size:11px;color:var(--ion-color-medium);line-height:1.2}.moves-tray .trade-mini{width:50px;height:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--ion-color-light-shade);border-radius:6px;flex-shrink:0}.moves-tray .trade-icon{font-size:20px;color:var(--ion-color-medium);margin-bottom:4px}.moves-tray .trade-info{font-size:9px;color:var(--ion-color-medium);text-align:center;font-weight:600;line-height:1.1}.move-card.hint-card{border-color:#28a745;background:white;animation:hint-fade-in .5s ease-out;cursor:pointer}.move-card.hint-card .move-number-circle{background:#28a745;color:#fff}.rewind-button{margin-top:4px;display:flex;justify-content:center}.rewind-button-circle{width:28px;height:28px;background:#28a745;border:2px solid white;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.rewind-button-circle:hover{background:#218838;transform:scale(1.05);box-shadow:0 2px 8px rgba(40,167,69,.3)}.rewind-button-circle ion-icon{color:#fff;font-size:14px}.move-card.hint-card .turn-info{color:var(--ion-color-dark);font-weight:600}.move-card.hint-card .position-info{color:var(--ion-color-dark);font-style:normal}@keyframes hint-fade-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.moves-tray{width:70vw;max-width:140px}.moves-tab{width:36px;height:50px}.moves-tab ion-icon{font-size:18px}.moves-tray-container{bottom:180px}.moves-tray .card-mini,.moves-tray .trade-mini{width:45px;height:63px}.moves-tray .card-name{font-size:9px;padding:2px 3px}.moves-tray .trade-icon{font-size:18px}.moves-tray .trade-info{font-size:8px}.move-number{width:28px;min-height:55px;margin-right:4px}.move-number-circle{width:24px;height:24px;font-size:10px}.rewind-button{right:6px}.rewind-button-circle{width:24px;height:24px;border-width:1.5px}.rewind-button-circle ion-icon{font-size:12px}}.confirmation-buttons{position:absolute;top:50%;left:0;width:100%;height:0;z-index:600;pointer-events:none;transform:translateY(-50%)}.confirmation-buttons button{pointer-events:auto;position:absolute}.confirmation-buttons .confirm-btn{background:var(--confirm-color, #4CAF50);color:#fff;border-radius:50%;width:70px;height:70px;border:none;box-shadow:0 4px 12px var(--confirm-shadow, rgba(76, 175, 80, .4));cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;left:-35px;top:50%;transform:translateY(-50%)}.confirmation-buttons .confirm-btn:active{transform:translateY(-50%) scale(.95)}.confirmation-buttons .cancel-btn{background:var(--cancel-color, #F44336);color:#fff;border-radius:50%;width:70px;height:70px;border:none;box-shadow:0 4px 12px var(--cancel-shadow, rgba(244, 67, 54, .4));cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;right:-35px;top:50%;transform:translateY(-50%)}.confirmation-buttons .cancel-btn:active{transform:translateY(-50%) scale(.95)}@media (min-width: 768px){.confirmation-buttons .confirm-btn{left:0;width:140px;height:140px}.confirmation-buttons .confirm-btn ion-icon{font-size:6rem}.confirmation-buttons .cancel-btn{right:0;width:140px;height:140px}.confirmation-buttons .cancel-btn ion-icon{font-size:6rem}}@media (max-width: 767px){.confirmation-buttons .confirm-btn{left:-17px}.confirmation-buttons .confirm-btn ion-icon{font-size:3rem}.confirmation-buttons .cancel-btn{right:-17px}.confirmation-buttons .cancel-btn ion-icon{font-size:3rem}}@media print{.no-print{display:none}*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}}.menu-container{max-width:400px;margin:0 auto}.user-info{display:flex;align-items:center;padding:1rem;margin-bottom:1rem;background:var(--ion-color-light);border-radius:12px;border:1px solid var(--ion-color-step-200)}.user-info h1,.user-info h3,.user-info p,.user-info span,.user-info div,.user-info ion-icon{color:var(--ion-color-primary)!important}.user-info ion-avatar{width:60px;height:60px;margin-right:1rem}.user-info ion-avatar img{border-radius:50%;border:2px solid var(--ion-color-primary)}.user-details h3{margin:0 0 .25rem;color:var(--ion-color-primary);font-size:1.1rem;font-weight:600}.user-details p{margin:0;color:var(--ion-color-medium);font-size:.9rem}.game-info{margin-top:2rem;padding:1rem;background:var(--ion-color-light);border-radius:8px}.game-info h3{margin-top:0;color:var(--ion-color-primary)}.game-info p{margin:.5rem 0;color:var(--ion-color-medium)}.user-menu ion-list{padding:0}.user-menu ion-item{--min-height: 48px}.friend-game-card{display:flex;align-items:center;gap:1rem;padding:1rem;border:3px solid;border-radius:12px;background:var(--ion-color-light);transition:transform .2s,box-shadow .2s}.friend-game-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.friend-game-card.layout-compact{padding:.75rem;gap:.75rem;border-width:2px}.friend-game-card.outline-blue{border-color:var(--ion-color-primary);border-width:3px}.friend-game-card.outline-red{border-color:var(--ion-color-danger);border-width:3px}.friend-game-card.outline-grey{border-color:var(--ion-color-medium);border-width:2px}.friend-avatar{position:relative;flex-shrink:0}.friend-avatar ion-avatar{width:60px;height:60px}.friend-avatar img{border-radius:50%;border:2px solid var(--ion-color-light-shade)}.friend-info{flex:1;min-width:0}.friend-name{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:var(--ion-color-dark)}.friend-username{margin:0 0 .5rem;font-size:.9rem;color:var(--ion-color-medium)}.friend-status{display:flex;flex-direction:column;gap:.25rem}.status-text{font-size:.8rem;font-weight:500;text-transform:uppercase}.status-text.online{color:#4caf50}.status-text.away{color:#ff9800}.status-text.offline{color:#9e9e9e}.last-seen{font-size:.75rem;color:var(--ion-color-medium)}.compact-avatar{position:relative;flex-shrink:0}.compact-avatar ion-avatar{width:40px;height:40px}.compact-avatar img{border-radius:50%;border:2px solid var(--ion-color-light-shade)}.compact-info{flex:1;min-width:0}.compact-name{margin:0 0 .25rem;font-size:.95rem;font-weight:600;color:var(--ion-color-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compact-game-info{margin:0;font-size:.8rem;color:var(--ion-color-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-indicator{position:absolute;bottom:2px;right:2px;width:16px;height:16px;border-radius:50%;border:2px solid white}.online-indicator.online{background:#4caf50}.online-indicator.away{background:#ff9800}.online-indicator.offline{background:#9e9e9e}.layout-compact .online-indicator{width:12px;height:12px}.game-actions{display:flex;flex-direction:column;gap:.5rem;flex-shrink:0}.layout-compact .game-actions{flex-direction:row;gap:.25rem}.game-actions ion-button{--border-radius: 8px}.game-actions ion-button.size-full{min-width:100px}.game-actions ion-button.size-compact{min-width:60px;--padding-start: 8px;--padding-end: 8px}.game-actions ion-button.size-compact span{font-size:.75rem}.history-result{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:8px;font-weight:600}.history-result.win{background:rgba(76,175,80,.1);color:#4caf50}.history-result.loss{background:rgba(244,67,54,.1);color:#f44336}.history-result.draw{background:rgba(158,158,158,.1);color:#9e9e9e}.history-result.abandoned{background:rgba(255,152,0,.1);color:#ff9800}.history-result.declined{background:rgba(103,58,183,.1);color:#673ab7}.history-result .win-icon{color:#4caf50;font-size:1.5rem}.history-result .loss-icon{color:#f44336;font-size:1.5rem}.history-result .draw-icon{color:#9e9e9e;font-size:1.5rem}.history-result .abandoned-icon{color:#ff9800;font-size:1.5rem}.history-result .declined-icon{color:#673ab7;font-size:1.5rem}.history-result .result-text{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}.layout-compact .history-result{padding:.25rem;gap:.25rem}.layout-compact .history-result .win-icon,.layout-compact .history-result .loss-icon,.layout-compact .history-result .draw-icon,.layout-compact .history-result .abandoned-icon,.layout-compact .history-result .declined-icon{font-size:1.2rem}.layout-compact .history-result .result-text{font-size:.75rem}.friend-request-link{background:none;border:none;color:var(--ion-color-primary);cursor:pointer;font-size:.9rem;display:flex;align-items:center;gap:.25rem;padding:0;margin:0;font-family:inherit;text-decoration:none;transition:color .2s}.friend-request-link:hover{color:var(--ion-color-primary-shade);text-decoration:underline}.friend-request-link .mail-icon{font-size:1rem;color:var(--ion-color-primary)}.history-player-info{min-height:1.2rem;display:flex;align-items:center}@media (max-width: 768px){.friend-game-card.layout-full{flex-direction:column;text-align:center;gap:.75rem}.friend-game-card.layout-full .game-actions{flex-direction:row;justify-content:center;width:100%}.friend-game-card.layout-full .game-actions ion-button{flex:1;min-width:auto}.friend-game-card.layout-compact{gap:.5rem;padding:.5rem}.compact-name{font-size:.85rem}.compact-game-info{font-size:.75rem}}.collection-card{background:white;border:2px solid var(--ion-color-light);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .3s ease}.collection-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15);border-color:var(--ion-color-primary)}.collection-card.selected{border-color:var(--ion-color-primary);background:var(--ion-color-primary-tint)}.collection-preview{position:relative;height:120px;background:linear-gradient(135deg,var(--ion-color-light) 0%,var(--ion-color-light-shade) 100%);overflow:hidden}.hero-image{width:100%;height:auto;object-fit:cover}.preview-cards{position:relative;width:100%;height:auto;display:flex;align-items:center;justify-content:center}.preview-card{position:absolute;width:45px;height:35px;border-radius:4px;overflow:hidden;border:2px solid var(--rarity-color, #9e9e9e);box-shadow:0 2px 4px rgba(0,0,0,.2)}.preview-card img{width:100%;height:auto;object-fit:cover}.preview-card.card-0{transform:translate(-15px) rotate(-10deg);z-index:3}.preview-card.card-1{transform:translate(0) rotate(0);z-index:2}.preview-card.card-2{transform:translate(15px) rotate(10deg);z-index:1}.collection-type-badge{position:absolute;top:8px;right:8px;padding:2px 6px;border-radius:4px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.collection-type-badge.starter{background:var(--ion-color-success);color:#fff}.collection-type-badge.premium{background:var(--ion-color-warning);color:#fff}.collection-type-badge.user_generated{background:var(--ion-color-secondary);color:#fff}.collection-type-badge.licensed{background:var(--ion-color-tertiary);color:#fff}.theme-accent{position:absolute;bottom:0;left:0;right:0;height:3px}.collection-info{padding:1rem}.collection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.collection-info h4{margin:0;font-size:1rem;font-weight:600;color:var(--ion-color-dark)}.card-count{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:var(--ion-color-medium);font-weight:500}.card-count ion-icon{font-size:.85rem}.collection-description{margin:0 0 .75rem;font-size:.8rem;color:var(--ion-color-medium);line-height:1.4}.rarity-distribution{display:flex;gap:3px;margin-bottom:.75rem}.rarity-dot{width:8px;height:8px;border-radius:50%;opacity:.8}.collection-progress{display:flex;align-items:center;gap:.5rem}.progress-bar{flex:1;height:4px;background:var(--ion-color-light);border-radius:2px;overflow:hidden}.progress-fill{height:auto;border-radius:2px;transition:width .3s ease}.progress-text{font-size:.7rem;color:var(--ion-color-medium);font-weight:500;white-space:nowrap}@media (max-width: 768px){.collection-preview{height:100px}.collection-info{padding:.75rem}.collection-info h4{font-size:.9rem}.collection-description{font-size:.75rem}.preview-card{width:35px;height:28px}.card-count{font-size:.7rem}}.collections-browser{background:white;border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden}.collections-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;cursor:pointer;background:linear-gradient(135deg,var(--ion-color-primary) 0%,var(--ion-color-primary-shade) 100%);color:#fff;transition:background .2s ease}.collections-header:hover{background:linear-gradient(135deg,var(--ion-color-primary-shade) 0%,var(--ion-color-primary-shade) 100%)}.collections-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:600}.expand-icon{font-size:1.2rem;transition:transform .2s ease}.collections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;padding:1.5rem;background:var(--ion-color-light-tint)}.collection-option{background:white;border:2px solid var(--ion-color-light);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .3s ease}.collection-option:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15);border-color:var(--ion-color-primary)}.collection-option.selected{border-color:var(--ion-color-primary);background:var(--ion-color-primary-tint)}.all-collections .collection-preview{height:100px;background:linear-gradient(135deg,var(--ion-color-medium) 0%,var(--ion-color-medium-shade) 100%);display:flex;align-items:center;justify-content:center}.all-icon{font-size:2.5rem;color:#fff;opacity:.9}.collection-info{padding:1rem;text-align:center}.collection-info h4{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--ion-color-dark)}.collection-info p{margin:0;font-size:.85rem;color:var(--ion-color-medium)}.collections-summary{padding:1rem 1.5rem;background:var(--ion-color-light-tint);border-top:1px solid var(--ion-color-light)}.current-filter{font-size:.9rem;color:var(--ion-color-medium);text-align:center}@media (max-width: 768px){.collections-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;padding:1rem}.collections-header{padding:.75rem 1rem}.collection-info{padding:.75rem}.collection-info h4{font-size:.9rem}.collection-info p{font-size:.8rem}}.notification-settings{margin-bottom:1rem}.section-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding:0 1rem;color:var(--ion-color-primary);font-size:1.2rem;font-weight:600}.loading-section{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.loading-section p{margin-top:1rem;color:var(--ion-color-medium)}.notification-settings ion-item-divider{--background: var(--ion-color-light);--color: var(--ion-color-primary);font-weight:600;margin-top:1rem}.notification-settings ion-item-divider:first-of-type{margin-top:0}.notification-settings ion-item{--padding-start: 16px;--padding-end: 16px}.notification-settings ion-item h3{margin:0 0 4px;font-weight:600}.notification-settings ion-item p{margin:0;color:var(--ion-color-medium);font-size:14px}.notification-settings ion-datetime,.notification-settings ion-select{max-width:150px}.notification-bell{position:relative}ion-button.bell-button{--background: rgba(255, 255, 255, .9);--color: var(--ion-color-dark);--border-radius: 50%;--padding-start: 8px;--padding-end: 8px;--padding-top: 8px;--padding-bottom: 8px;--box-shadow: 0 2px 8px rgba(0, 0, 0, .2);--border-width: 0;--border-style: none;--height: 40px;--width: 40px;aspect-ratio:1}.bell-button:hover{--background: rgba(255, 255, 255, 1)}.notification-badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;font-size:10px;font-weight:700;border-radius:9px;display:flex;align-items:center;justify-content:center;z-index:1}.notification-item{--padding-start: 0;--padding-end: 0;--inner-padding-start: 16px;--inner-padding-end: 16px;--inner-padding-top: 12px;--inner-padding-bottom: 12px;position:relative}.notification-item.unread{--background: rgba(var(--ion-color-primary-rgb), .05)}.notification-item.high-priority{border-left:4px solid var(--ion-color-warning)}.notification-item.urgent{border-left:4px solid var(--ion-color-danger)}.notification-content{width:100%;display:flex;flex-direction:column;gap:8px}.notification-header{display:flex;justify-content:space-between;align-items:flex-start}.notification-icon{margin-right:12px;flex-shrink:0}.notification-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.notification-time{font-size:12px;color:var(--ion-color-medium)}.priority-indicator{font-size:10px;font-weight:700;padding:2px 6px;border-radius:8px;line-height:1}.priority-indicator.high{background:rgba(var(--ion-color-warning-rgb),.2);color:var(--ion-color-warning)}.priority-indicator.urgent{background:rgba(var(--ion-color-danger-rgb),.2);color:var(--ion-color-danger)}.notification-body{flex:1}.notification-title{font-size:16px;font-weight:600;margin:0 0 4px;color:var(--ion-color-dark)}.notification-message{font-size:14px;margin:0 0 8px;color:var(--ion-color-dark);line-height:1.4}.notification-action{margin-top:8px}.unread-indicator{position:absolute;top:50%;right:8px;width:8px;height:8px;background:var(--ion-color-primary);border-radius:50%;transform:translateY(-50%)}@media (max-width: 375px){.notification-time{font-size:11px}.notification-title{font-size:15px}.notification-message{font-size:13px}}.points-header{background:linear-gradient(135deg,var(--ion-color-primary) 0%,var(--ion-color-primary-shade) 100%);color:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 4px 16px rgba(0,0,0,.15);position:relative;overflow:hidden}.points-header:before{content:"";position:absolute;top:0;right:0;width:100px;height:100px;background:rgba(255,255,255,.1);border-radius:50%;transform:translate(30px,-30px);pointer-events:none}.points-display{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.current-points{display:flex;align-items:center;gap:1rem}.points-icon{font-size:2.5rem;color:var(--ion-color-secondary);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.points-info h2{margin:0;font-size:2.2rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.2)}.points-info p{margin:0;font-size:1rem;opacity:.9;font-weight:500}.purchase-info{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2);gap:1rem}.info-text{flex:1}.earn-info{margin:0 0 .25rem;font-size:.9rem;font-weight:500;opacity:.9}.purchase-available{margin:0;font-size:.8rem;opacity:.7;font-style:italic}.buy-points-btn{--border-width: 2px;--border-color: rgba(255, 255, 255, .8);--color: white;height:36px;font-weight:600;flex-shrink:0}.buy-points-btn:hover{--border-color: white;--color: white;--background: rgba(255, 255, 255, .1)}@media (max-width: 768px){.points-header{padding:1rem;margin-bottom:1.5rem}.purchase-info{flex-direction:column;align-items:stretch;gap:1rem}.info-text{text-align:center}.buy-points-btn{width:100%}.points-info h2{font-size:1.8rem}.points-icon{font-size:2rem}}.points-info ion-skeleton-text{background:rgba(255,255,255,.2);border-radius:4px}.pack-card{background:white;border-radius:12px;border:2px solid var(--ion-color-light);overflow:hidden;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.1);position:relative}.pack-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px rgba(0,0,0,.15);border-color:var(--ion-color-primary)}.pack-card.featured{border-color:var(--ion-color-warning);background:linear-gradient(145deg,#fff9e6 0%,white 100%)}.pack-card.affordable{cursor:pointer}.pack-visual{position:relative;height:200px;background:linear-gradient(135deg,var(--ion-color-light) 0%,var(--ion-color-light-shade) 100%);display:flex;align-items:center;justify-content:center;overflow:hidden}.pack-image-container{position:relative;width:120px;height:120px}.pack-image{width:100%;height:auto;object-fit:contain;border-radius:8px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.featured-badge{position:absolute;top:12px;right:12px;background:var(--ion-color-warning);color:#fff;padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:4px;box-shadow:0 2px 4px rgba(0,0,0,.2)}.card-count-badge{position:absolute;bottom:12px;left:12px;background:rgba(0,0,0,.8);color:#fff;padding:4px 8px;border-radius:8px;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:4px}.pack-info{padding:1.5rem}.pack-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.pack-info h3{margin:0;color:var(--ion-color-dark);font-size:1.3rem;font-weight:600}.pack-type-indicator{padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.pack-type-indicator.starter_pack{background:var(--ion-color-success-tint);color:var(--ion-color-success-shade)}.pack-type-indicator.game_pack{background:var(--ion-color-primary-tint);color:var(--ion-color-primary-shade)}.pack-description{margin:0 0 1rem;color:var(--ion-color-medium);line-height:1.4;font-size:.9rem}.pack-contents h4{margin:0 0 .5rem;font-size:.9rem;font-weight:600;color:var(--ion-color-dark)}.rarity-preview{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.rarity-item{display:flex;align-items:center;gap:.25rem;font-size:.8rem;color:var(--ion-color-dark);padding:2px 6px;background:var(--ion-color-light);border-radius:4px}.rarity-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.rarity-dot.common{background:#9e9e9e}.rarity-dot.uncommon{background:#4caf50}.rarity-dot.rare{background:#2196f3}.rarity-dot.epic{background:#9c27b0}.rarity-dot.legendary{background:#ff9800}.pack-purchase{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--ion-color-light)}.pack-price{display:flex;align-items:center;gap:.5rem}.price-icon{color:var(--ion-color-secondary);font-size:1.2rem}.price{font-size:1.4rem;font-weight:700;color:var(--ion-color-dark)}.price-label{color:var(--ion-color-medium);font-size:.9rem}.purchase-btn{--border-radius: 8px;height:40px;font-weight:600;flex-shrink:0}.purchase-btn ion-icon{font-size:1rem}@media (max-width: 768px){.pack-purchase{flex-direction:column;gap:1rem;align-items:stretch}.purchase-btn{width:100%}.rarity-preview{gap:.25rem}.rarity-item{font-size:.75rem}}.pack-card.affordable:hover .pack-image{transform:scale(1.05);transition:transform .3s ease}.pack-card:not(.affordable){opacity:.7}.pack-card:not(.affordable) .purchase-btn{cursor:not-allowed}.point-purchase-modal{--width: 90%;--max-width: 600px;--height: 80%}.purchase-container{padding:1.5rem;min-height:100%}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:1rem}.loading-state p{color:var(--ion-color-medium);margin:0}.section-header{text-align:center;margin-bottom:2rem}.section-header h2{margin:0 0 .5rem;color:var(--ion-color-secondary);font-size:1.8rem}.section-header p{margin:0;color:var(--ion-color-medium)}.point-packs-grid{display:grid;gap:1rem;margin-bottom:2rem}.point-pack-card{background:white;border:2px solid var(--ion-color-light);border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.point-pack-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.15);border-color:var(--ion-color-secondary)}.point-pack-card.featured{border-color:var(--ion-color-warning);background:linear-gradient(145deg,#fff9e6 0%,white 100%)}.featured-badge{position:absolute;top:12px;right:12px;background:var(--ion-color-warning);color:#fff;padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:4px}.pack-content h3{margin:0 0 1rem;color:var(--ion-color-dark);font-size:1.3rem;text-align:center}.points-display{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem}.points-display ion-icon{color:var(--ion-color-secondary);font-size:1.5rem}.points{font-size:2rem;font-weight:700;color:var(--ion-color-dark)}.points-label{color:var(--ion-color-medium);font-size:1rem}.price-display{text-align:center;margin-bottom:1rem}.price{font-size:1.8rem;font-weight:700;color:var(--ion-color-secondary)}.description{text-align:center;color:var(--ion-color-medium);margin:0 0 1rem;line-height:1.4}.value-bonus{display:flex;align-items:center;justify-content:center;gap:.5rem;background:var(--ion-color-success-tint);color:var(--ion-color-success-shade);padding:.5rem;border-radius:8px;font-weight:600;font-size:.9rem;margin-bottom:1rem}.select-btn{width:100%;margin-top:auto}.security-info{display:flex;align-items:flex-start;gap:1rem;padding:1.5rem;background:var(--ion-color-success-tint);border-radius:12px;border:1px solid var(--ion-color-success)}.security-info ion-icon{color:var(--ion-color-success);font-size:2rem;flex-shrink:0;margin-top:.25rem}.security-info h4{margin:0 0 .5rem;color:var(--ion-color-success-shade);font-size:1.1rem}.security-info p{margin:0;color:var(--ion-color-dark);font-size:.9rem;line-height:1.4}.payment-processing{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;text-align:center}.processing-animation{margin-bottom:1.5rem}.processing-animation ion-spinner{width:48px;height:48px;--color: var(--ion-color-secondary)}.payment-processing h3{margin:0 0 .5rem;color:var(--ion-color-dark);font-size:1.5rem}.payment-processing p{margin:0;color:var(--ion-color-medium)}.payment-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 0}.success-icon ion-icon{font-size:4rem;color:var(--ion-color-success);margin-bottom:1rem}.payment-success h3{margin:0 0 1.5rem;color:var(--ion-color-dark);font-size:1.8rem}.points-awarded{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;background:var(--ion-color-secondary-tint);border-radius:12px;margin-bottom:1rem;font-size:1.2rem;font-weight:600;color:var(--ion-color-secondary-shade)}.points-awarded ion-icon{font-size:1.5rem}.new-balance{margin:0 0 2rem;color:var(--ion-color-medium);font-size:1rem}.payment-error{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem 0}.error-icon ion-icon{font-size:4rem;color:var(--ion-color-danger);margin-bottom:1rem}.payment-error h3{margin:0 0 1rem;color:var(--ion-color-dark);font-size:1.5rem}.payment-error p{margin:0 0 2rem;color:var(--ion-color-medium);line-height:1.4}.error-actions{display:flex;gap:1rem;width:100%;max-width:300px}.error-actions ion-button{flex:1}.pack-confirmation{max-width:500px;margin:0 auto}.selected-pack-summary{background:var(--ion-color-light-tint);border-radius:12px;padding:1.5rem;margin-bottom:2rem;text-align:center}.selected-pack-summary h3{margin:0 0 1rem;color:var(--ion-color-dark);font-size:1.5rem}.pack-details{display:flex;justify-content:center;gap:2rem}.detail-item{display:flex;align-items:center;gap:.5rem;color:var(--ion-color-dark);font-weight:500}.detail-item ion-icon{color:var(--ion-color-secondary)}.stripe-element{background:white;border:1px solid var(--ion-color-light);border-radius:8px;padding:1rem;margin-bottom:2rem}.payment-actions{display:flex;flex-direction:column;gap:1rem}.payment-actions ion-button[fill=outline]{order:-1}@media (max-width: 768px){.point-purchase-modal{--width: 95%;--height: 90%}.purchase-container{padding:1rem}.pack-details{flex-direction:column;gap:.5rem}.error-actions{flex-direction:column}}@media (max-width: 768px) and (max-height: 800px){.player-hand{padding:0}.rival-card-name{font-size:.7rem}.game-board{gap:clamp(6px,1.5vw,12px)}.game-card{padding:8px 6px}}@media (max-width: 480px){.rival-card-name{font-size:.65rem;padding:.2rem .4rem}.game-board{gap:clamp(4px,1vw,8px)}.game-card{padding:6px 4px}}@media (max-width: 320px){.rival-card-name{font-size:.6rem;padding:.15rem .3rem}}@media (max-width: 375px){.rival-card-content{top:85%}.game-board{gap:clamp(4px,1vw,8px)}}@media (min-width: 768px) and (max-width: 1024px){.rival-battle-number{font-size:2.2rem;width:40px;height:40px}}@media (min-width: 1025px){.rival-battle-number{font-size:1.6rem;width:32px;height:32px}}.filter-container{display:flex;align-items:center;gap:1rem;padding:0 1rem}.search-container{padding:.5rem}.stats-container{padding:0 .5rem}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;text-align:center}.stat-item{display:flex;flex-direction:column;align-items:center}.stat-number{font-size:2rem;font-weight:700;color:var(--ion-color-primary)}.stat-label{font-size:.8rem;color:var(--ion-color-medium);margin-top:.25rem}.cards-container{padding:.5rem}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.card-item{cursor:pointer;transition:transform .2s ease}.card-item:hover{transform:translateY(-4px)}.card{border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.15);transition:all .3s ease;border:2px solid transparent}.card.rarity-common{border-color:#95a5a6}.card.rarity-rare{border-color:#3498db}.card.rarity-epic{border-color:#9b59b6}.card.rarity-legendary{border-color:#f39c12}.card-image{height:200px;background-size:cover;background-position:center;background-repeat:no-repeat}.card-info{padding:1rem;background:white}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.card-name{margin:0;font-size:1.1rem;font-weight:600}.card-cost{background:var(--ion-color-primary);color:#fff;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-weight:700}.card-stats{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem}.stat{font-weight:700;font-size:1.2rem}.stat.attack{color:#e74c3c}.stat.defense{color:#3498db}.stat-divider{color:var(--ion-color-medium)}.card-type{text-align:center;color:var(--ion-color-medium);font-size:.9rem;margin-bottom:.5rem}.card-rarity{text-align:center;font-size:.8rem;font-weight:700;padding:.25rem;border-radius:4px}.rarity-common{background:rgba(149,165,166,.2);color:#95a5a6}.rarity-rare{background:rgba(52,152,219,.2);color:#3498db}.rarity-epic{background:rgba(155,89,182,.2);color:#9b59b6}.rarity-legendary{background:rgba(243,156,18,.2);color:#f39c12}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;text-align:center;color:var(--ion-color-medium)}.empty-state ion-icon{margin-bottom:1rem;color:var(--ion-color-light)}.card-details-modal{--background: #f8f9fa}.modal-card{margin:1rem;border-radius:16px;overflow:hidden;background:white;box-shadow:0 8px 32px rgba(0,0,0,.1);border:3px solid transparent}.modal-card.rarity-common{border-color:#95a5a6}.modal-card.rarity-rare{border-color:#3498db}.modal-card.rarity-epic{border-color:#9b59b6}.modal-card.rarity-legendary{border-color:#f39c12}.modal-card-image{height:300px;background-size:cover;background-position:center;background-repeat:no-repeat}.modal-card-info{padding:1.5rem}.modal-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal-card-header h1{margin:0;font-size:1.5rem;font-weight:700}.modal-card-cost{background:var(--ion-color-primary);color:#fff;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem}.modal-card-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.stat-group{text-align:center;padding:1rem;background:#f8f9fa;border-radius:8px}.stat-label{font-size:.8rem;color:var(--ion-color-medium);margin-bottom:.5rem}.stat-value{font-size:1.5rem;font-weight:700}.stat-value.attack{color:#e74c3c}.stat-value.defense{color:#3498db}.stat-value.health{color:#27ae60}.modal-card-meta{margin-bottom:1.5rem}.meta-item{margin-bottom:.5rem}.modal-card-description{margin-bottom:1.5rem;font-size:1rem;line-height:1.6}.modal-card-abilities{margin-bottom:1.5rem}.modal-card-abilities h3{margin-bottom:1rem;color:var(--ion-color-primary)}.ability{margin-bottom:1rem;padding:1rem;background:#f8f9fa;border-radius:8px}.ability-name{font-weight:700;margin-bottom:.5rem;color:var(--ion-color-primary)}.ability-description{font-size:.9rem;line-height:1.4}.modal-card-keywords{margin-bottom:1.5rem}.modal-card-keywords h3{margin-bottom:1rem;color:var(--ion-color-primary)}.keywords{display:flex;flex-wrap:wrap;gap:.5rem}.keyword{background:var(--ion-color-light);color:var(--ion-color-dark);padding:.25rem .75rem;border-radius:16px;font-size:.8rem;font-weight:500}.modal-card-flavor{font-style:italic;color:var(--ion-color-medium);text-align:center;font-size:.9rem;line-height:1.4}@media (max-width: 768px){.cards-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.modal-card-stats{grid-template-columns:repeat(2,1fr)}.filter-container{flex-direction:column;gap:.5rem;align-items:stretch}}.settings-section{margin-bottom:2rem}.settings-section:first-child{margin-top:1rem}.section-header{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;padding:0 1rem;color:var(--ion-color-primary);font-size:1.2rem;font-weight:600}.danger-item{--color: var(--ion-color-danger)}.danger-item ion-icon{color:var(--ion-color-danger)}.app-info{margin-top:2rem;padding:1rem;background:var(--ion-color-light);border-radius:var(--radius-md);text-align:center}.info-item{padding:.25rem 0}.info-item span:first-child{color:var(--ion-color-medium)}.info-item .font-medium{color:var(--ion-color-dark)}@media (max-width: 768px){.volume-range{width:100px}.info-item{font-size:.8rem}}.profile-header{position:relative;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:2rem;border-radius:16px;margin-bottom:2rem}.header-actions{position:absolute;top:1rem;right:1rem;z-index:10}.edit-button{--color: white;--background: rgba(255, 255, 255, .15);--border-radius: 50%;--padding-start: 8px;--padding-end: 8px;--padding-top: 8px;--padding-bottom: 8px;backdrop-filter:blur(10px)}.edit-button:hover{--background: rgba(255, 255, 255, .25)}.avatar-section{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem;width:100%}.avatar-container{position:relative;cursor:pointer;transition:transform .2s ease}.avatar-container:hover{transform:scale(1.05)}.avatar-image{width:80px;height:80px;border-radius:50%;border:3px solid rgba(255,255,255,.3);object-fit:cover}.avatar-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.avatar-container:hover .avatar-overlay{opacity:1}.user-info h1{margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.username{margin:0 0 .5rem;opacity:.8;font-size:.9rem}.level-badge{display:inline-flex;align-items:center;gap:.25rem;background:rgba(255,255,255,.2);padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.points-display{display:flex;align-items:center;margin-left:auto}.points-badge{display:flex;flex-direction:column;align-items:center;background:rgba(255,255,255,.25);padding:.75rem;border-radius:12px;border:2px solid rgba(255,255,255,.3);min-width:70px;text-align:center}.points-badge ion-icon{font-size:1.2rem;color:gold;margin-bottom:.25rem}.points-value{font-size:1.1rem;font-weight:700;color:#fff;line-height:1;margin-bottom:.1rem}.points-label{font-size:.7rem;color:rgba(255,255,255,.8);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.experience-section{margin-top:1rem}.exp-info{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.9rem}.exp-bar{height:8px;border-radius:4px;--background: rgba(255, 255, 255, .3);--progress-background: rgba(255, 255, 255, .9)}.stats-section{margin-bottom:2rem}.stats-section h2{margin:0 0 1rem;color:var(--ion-color-primary)}.stats-grid{gap:1rem}.stat-number{font-size:1.5rem;font-weight:700;color:var(--ion-color-primary);margin-bottom:.25rem}.stat-label{font-size:.8rem;color:var(--ion-color-medium);text-transform:uppercase;letter-spacing:.5px}.form-actions{margin:2rem 0}@media (max-width: 768px){.avatar-section{flex-direction:column;text-align:center;gap:1rem}.points-display{margin-left:0;margin-top:.5rem}.points-badge{min-width:60px;padding:.5rem}.stats-grid{grid-template-columns:repeat(2,1fr)}}.polling-indicator{display:flex;align-items:center;gap:.25rem;font-size:.8rem;color:var(--ion-color-primary)}.polling-icon{animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.error-container{max-width:600px;margin:0 auto;text-align:center;padding:2rem 1rem}.error-display{position:relative;margin-bottom:3rem}.error-number{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-bottom:2rem}.digit{font-size:8rem;font-weight:700;color:var(--ion-color-primary);text-shadow:0 4px 8px rgba(0,0,0,.1);animation:bounce 2s ease-in-out infinite}.digit.four-1{animation-delay:0s}.digit.zero{animation-delay:.2s;color:var(--ion-color-danger)}.digit.four-2{animation-delay:.4s}.floating-cards{position:absolute;top:0;left:0;right:0;height:200px;pointer-events:none}.card{position:absolute;width:40px;height:56px;background:linear-gradient(145deg,#f0f0f0,#d0d0d0);border:2px solid #333;border-radius:8px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 8px rgba(0,0,0,.2);animation:float 3s ease-in-out infinite}.card-face{font-size:1.5rem;font-weight:700;color:#666}.card-1{top:20%;left:10%;animation-delay:0s}.card-2{top:60%;right:15%;animation-delay:1s}.card-3{top:40%;left:80%;animation-delay:2s}.error-message{margin-bottom:2rem}.error-message h1{color:var(--ion-color-primary);margin-bottom:1rem;font-size:2rem}.error-description{color:var(--ion-color-medium);line-height:1.6;margin-bottom:1.5rem;font-size:1.1rem}.suggestions{text-align:left;background:var(--ion-color-light);padding:1.5rem;border-radius:12px;margin-bottom:2rem}.suggestions h3{color:var(--ion-color-primary);margin-bottom:1rem;text-align:center}.suggestions ul{list-style:none;padding:0;margin:0}.suggestions li{color:var(--ion-color-dark);position:relative;padding:.5rem 0 .5rem 1.5rem}.suggestions li:before{content:"•";color:var(--ion-color-primary);position:absolute;left:0;font-weight:700}.action-buttons{margin-bottom:3rem}.primary-action{margin-bottom:1rem;--border-radius: 12px;font-weight:600}.secondary-action,.tertiary-action{margin-bottom:.5rem;--border-radius: 12px}.search-section{margin-bottom:3rem;text-align:left}.search-section h3{text-align:center;color:var(--ion-color-primary);margin-bottom:1rem}.search-results{margin-top:1rem}.search-results h4{color:var(--ion-color-medium);margin-bottom:.5rem;font-size:.9rem}.quick-links{margin-bottom:3rem}.quick-links h3{color:var(--ion-color-primary);margin-bottom:1.5rem}.links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.link-card{box-shadow:0 2px 8px rgba(0,0,0,.1);transition:transform .2s ease,box-shadow .2s ease}.link-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.15)}.link-icon{text-align:center;margin-bottom:.5rem}.link-icon ion-icon{font-size:2rem;color:var(--ion-color-primary)}.link-card h4{margin:0 0 .5rem;color:var(--ion-color-dark);text-align:center}.link-card p{margin:0;color:var(--ion-color-medium);font-size:.9rem;text-align:center}.help-section{margin-bottom:3rem;padding:2rem;background:var(--ion-color-light);border-radius:12px}.help-section h3{color:var(--ion-color-primary);margin-bottom:1rem}.help-section p{color:var(--ion-color-medium);margin-bottom:1.5rem;line-height:1.5}.help-buttons{display:flex;flex-direction:column;gap:.5rem}.help-button{--border-radius: 8px}.footer-info{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--ion-color-light);color:var(--ion-color-medium);font-size:.8rem;line-height:1.4}.footer-info p{margin:.25rem 0}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-10px) rotate(5deg)}50%{transform:translateY(-20px) rotate(0)}75%{transform:translateY(-10px) rotate(-5deg)}}@media (max-width: 768px){.error-container{padding:1rem .5rem}.digit{font-size:4rem}.error-message h1{font-size:1.5rem}.error-description{font-size:1rem}.links-grid{grid-template-columns:1fr}.help-buttons{gap:.75rem}.floating-cards{height:120px}.card{width:30px;height:42px}.card-face{font-size:1.2rem}}@media (max-width: 480px){.digit{font-size:3rem}.suggestions{padding:1rem}.help-section{padding:1.5rem}}@media (prefers-color-scheme: dark){.suggestions,.help-section{background:var(--ion-color-dark)}.card{background:linear-gradient(145deg,#2d2d2d,#1a1a1a);border-color:#555}.card-face{color:#ccc}}.page-container,.home-container{padding:var(--page-padding-mobile)}@media (min-width: 768px){.page-container,.home-container{padding:var(--page-padding-tablet)}}@media (max-width: 768px){.settings-container{padding:.5rem}}@media (min-width: 1024px){.page-container,.home-container{padding:var(--page-padding-desktop)}}
