*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family, "Poppins", sans-serif);background:var(--color-bg);color:var(--color-text);transition:background .25s ease,color .25s ease;background-image:var(--bg-image);background-size:cover;background-position:center;background-attachment:fixed}html{overflow-y:auto;scrollbar-gutter:stable}::-webkit-scrollbar{width:8px;background:transparent}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000;border-radius:4px;border:2px solid transparent;background-clip:content-box;transition:background .3s ease}html.dark ::-webkit-scrollbar-thumb{background:#fff0;border-radius:4px;border:2px solid transparent;background-clip:content-box;transition:background .3s ease}.custom-scrollbar{overflow-y:auto!important;scrollbar-gutter:stable;scrollbar-color:rgba(128,128,128,.4) transparent;scrollbar-width:thin}.custom-scrollbar::-webkit-scrollbar{width:8px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#80808040;border-radius:4px;border:2px solid transparent;background-clip:padding-box;transition:background-color .3s}html.dark .custom-scrollbar::-webkit-scrollbar-thumb{background-color:#fff3}.custom-scrollbar:hover::-webkit-scrollbar-thumb,.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#80808080}html.dark .custom-scrollbar:hover::-webkit-scrollbar-thumb,html.dark .custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#fff6}html.is-scrolling ::-webkit-scrollbar-thumb{background:#00000040;background-clip:content-box}html.is-scrolling.dark ::-webkit-scrollbar-thumb{background:#ffffff40;background-clip:content-box}html.is-scrolling ::-webkit-scrollbar-thumb:hover{background:#0006;background-clip:content-box}html.is-scrolling.dark ::-webkit-scrollbar-thumb:hover{background:#fff6;background-clip:content-box}html{scrollbar-width:thin;scrollbar-color:transparent transparent}html.is-scrolling{scrollbar-color:rgba(0,0,0,.25) transparent}html.is-scrolling.dark{scrollbar-color:rgba(255,255,255,.25) transparent}:root{--color-bg: #ffffff;--color-bg-soft: rgba(255, 255, 255, .9);--color-bg-glass: rgba(255, 255, 255, .6);--glass-surface: rgba(255, 255, 255, .6);--glass-blur: 5px;--color-text: #111111;--color-text-hover: #777777;--color-text-inverse: #ffffff;--color-text-inverse-hover: #999999;--color-border: rgba(0, 0, 0, .1);--color-primary: #111111;--color-primary-hover: #000000;--on-primary: #ffffff;--color-income-text: #166534;--color-income-bg: rgba(22, 163, 74, .08);--color-income-border: rgba(22, 163, 74, .2);--color-income-icon-bg: rgba(22, 163, 74, .25);--color-expense-text: #991b1b;--color-expense-bg: rgba(220, 38, 38, .08);--color-expense-border: rgba(220, 38, 38, .2);--color-expense-icon-bg: rgba(220, 38, 38, .25);--color-neutral-text: #475569;--color-neutral-bg: rgba(100, 116, 139, .08);--color-neutral-border: rgba(100, 116, 139, .2);--color-neutral-icon-bg: rgba(100, 116, 139, .25);--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--shadow-sm: 0 0 1px rgba(0, 0, 0, .1), 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 0 4px rgba(0, 0, 0, .12), 0 4px 6px rgba(0, 0, 0, .15);--shadow-lg: 0 0 8px rgba(0, 0, 0, .12), 0 8px 24px rgba(0, 0, 0, .2);--bg-image: url(/assets/bg-light-FP-or0eZ.jpg);--btn-solid-hover-bg: color-mix(in oklab, var(--color-primary) 85%, white 15%);--btn-solid-active-bg: color-mix(in oklab, var(--color-primary) 70%, white 30%);--btn-outline-hover-bg: var(--color-primary);--btn-outline-active-bg: color-mix(in oklab, var(--color-primary) 85%, white 30%);--btn-ghost-hover-bg: color-mix(in oklab, var(--glass-surface) 85%, black 15%);--btn-ghost-active-bg: color-mix(in oklab, var(--glass-surface) 70%, black 30%);--link-hover-color: color-mix(in oklab, var(--color-text) 85%, black 15%);--link-active-color: color-mix(in oklab, var(--color-text) 70%, black 30%);--swtch-btn-bg: rgba(220, 220, 220, .9);--swtch-btn-thumb: rgba(0, 0, 0, .9);--skeleton-bg: rgba(200, 200, 200, .35);--skeleton-shimmer: rgba(255, 255, 255, .6);--page-margin-x: 0;--page-margin-y: 0;--page-padding-x: .5rem;--page-border-radius: 0}html.dark{--color-bg: #121212;--color-bg-soft: rgba(0, 0, 0, .9);--color-bg-glass: rgba(30, 30, 30, .7);--glass-surface: rgba(30, 30, 30, .7);--glass-blur: 5px;--color-text: #f5f5f5;--color-text-hover: #9b9b9b;--color-text-inverse: #121212;--color-text-inverse-hover: #787878;--color-border: rgba(255, 255, 255, .1);--color-primary: #f5f5f5;--color-primary-hover: #ffffff;--on-primary: #000000;--color-income-text: #4ade80;--color-income-bg: rgba(74, 222, 128, .08);--color-income-border: rgba(74, 222, 128, .2);--color-income-icon-bg: rgba(74, 222, 128, .25);--color-expense-text: #f87171;--color-expense-bg: rgba(248, 113, 113, .08);--color-expense-border: rgba(248, 113, 113, .2);--color-expense-icon-bg: rgba(248, 113, 113, .25);--color-neutral-text: #94a3b8;--color-neutral-bg: rgba(148, 163, 184, .08);--color-neutral-border: rgba(148, 163, 184, .2);--color-neutral-icon-bg: rgba(148, 163, 184, .25);--bg-image: url(/assets/bg-dark-BMFs5EXj.jpeg);--btn-solid-hover-bg: color-mix(in oklab, var(--color-primary) 85%, black 15%);--btn-solid-active-bg: color-mix(in oklab, var(--color-primary) 70%, black 30%);--btn-outline-hover-bg: var(--color-primary);--btn-outline-active-bg: color-mix(in oklab, var(--color-primary) 85%, black 30%);--btn-ghost-hover-bg: color-mix(in oklab, var(--glass-surface) 85%, white 15%);--btn-ghost-active-bg: color-mix(in oklab, var(--glass-surface) 70%, white 30%);--link-hover-color: color-mix(in oklab, var(--color-text) 85%, white 15%);--link-active-color: color-mix(in oklab, var(--color-text) 70%, white 30%);--shadow-sm: 0 0 1px rgba(255, 255, 255, .1), 0 1px 3px rgba(255, 255, 255, .12);--shadow-md: 0 0 4px rgba(255, 255, 255, .12), 0 4px 6px rgba(255, 255, 255, .15);--shadow-lg: 0 0 8px rgba(255, 255, 255, .12), 0 8px 24px rgba(255, 255, 255, .2);--swtch-btn-bg: rgba(90, 90, 90, .9);--swtch-btn-thumb: rgba(255, 255, 255, .9);--skeleton-bg: rgba(60, 60, 60, .6);--skeleton-shimmer: rgba(255, 255, 255, .25)}@media(min-width:768px){:root{--page-margin-x: 2rem;--page-margin-y: 0rem;--page-padding-x: 1rem;--page-border-radius: var(--radius-md)}}@media(min-width:1280px){:root{--page-margin-x: 10rem;--page-margin-y: 0}}.page-wrapper{min-height:calc(100vh - 110px);margin:var(--page-margin-y) var(--page-margin-x);padding:0 var(--page-padding-x);background:var(--color-bg-glass);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--page-border-radius);box-shadow:var(--shadow-lg);transition:margin .3s ease,padding .3s ease,border-radius .3s ease}.container{width:100%;margin:0 auto;padding:0 1rem 1.5rem;transition:padding .3s ease}@media(max-width:768px){.container{padding:0 .5rem 1rem}}@media(max-width:530px){.hidden-mobile{display:none!important}}.link{color:inherit;transition:color .15s ease}.link:hover{color:var(--link-hover-color)}.link:active{color:var(--link-active-color)}.footer-link{text-decoration:none}.footer-link:hover{text-decoration:underline}html.high-contrast{--color-text: #000000;--color-bg: #ffffff;--color-border: rgba(0, 0, 0, .35);--color-primary: #000000;--color-primary-hover: #000000;--on-primary: #ffffff;--glass-surface: rgba(255, 255, 255, .85);--glass-blur: 5px}.text-color-inverse{color:var(--color-text-inverse)}.switch-sm{--thumb-diameter: 16px;--thumb-margin: 2px}.switch-md{--thumb-diameter: 19px;--thumb-margin: 3px}.switch-lg{--thumb-diameter: 22px;--thumb-margin: 4px}.btn{border-radius:var(--radius-md);font-family:var(--font-family);font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem 1.2rem;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));position:relative;overflow:hidden}.btn-content{display:inline-flex;align-items:center;gap:.5rem;position:relative;z-index:1}.btn-content *{transition:filter .15s ease}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--color-primary) 30%,transparent),var(--shadow-sm)}.btn-solid{background:var(--color-primary);color:var(--on-primary);border:none;box-shadow:var(--shadow-sm)}.btn-solid:hover{background:var(--btn-solid-hover-bg)}.btn-solid:active{background:var(--btn-solid-active-bg)}.btn-outline{background:var(--glass-surface);border:none;color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.btn-outline:hover{background:var(--btn-outline-hover-bg);color:var(--on-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.btn-outline:hover .btn-content *{filter:invert(1)}.btn-outline:active{background:var(--btn-outline-active-bg)}.btn-outline:active .btn-content *{filter:invert(1)}.btn-ghost{background:var(--glass-surface);border:none;color:var(--color-primary);box-shadow:var(--shadow-md)}.btn-ghost:hover{background:var(--btn-ghost-hover-bg)}.btn-ghost:active{background:var(--btn-ghost-active-bg)}.btn:disabled,.btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none;box-shadow:none}.typography{color:var(--color-text);font-family:var(--font-family)}.typography.h1{font-size:2rem;font-weight:600}.typography.h2{font-size:1.5rem;font-weight:500}.typography.h3{font-size:1.25rem}.typography.body{font-size:1rem}.typography.caption{font-size:.8rem;opacity:.8}.typography.text-color-inverse{color:var(--color-text-inverse)}.card{background:var(--glass-surface);border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1rem;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.input{width:100%;padding:.6rem 1rem;border:none;border-radius:var(--radius-md);background:var(--glass-surface);color:var(--color-text);font-family:var(--font-family);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));transition:box-shadow .2s ease,outline-color .2s ease;box-shadow:inset 0 0 0 1px var(--color-border)}.input::placeholder{color:var(--color-text);opacity:.7}.input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--color-primary),var(--shadow-sm)}input[type=password]::-ms-reveal,input[type=password]::-ms-clear{display:none!important}input[type=password]::-webkit-search-cancel-button,input[type=password]::-webkit-search-decoration,input[type=password]::-webkit-clear-button{display:none!important}.theme-switch{display:inline-flex;align-items:center;gap:1rem}.theme-switch-icon,.switch{display:inline-flex;align-items:center}.switch input{opacity:0;width:0;height:0;position:absolute;pointer-events:none}.switch-slider{position:relative;display:inline-block;background:var(--swtch-btn-bg);border-radius:var(--radius-lg);transition:background .2s,width .2s,height .2s;cursor:pointer}.switch-slider:before{content:"";position:absolute;background:var(--swtch-btn-thumb, var(--color-text));border-radius:50%;transition:transform .2s}.switch.disabled{opacity:.5;cursor:default}.switch.disabled .switch-slider{cursor:default}.switch-sm .switch-slider{width:40px;height:20px}.switch-sm .switch-slider:before{width:16px;height:16px;left:2px;bottom:2px}.switch-md .switch-slider{width:50px;height:25px}.switch-md .switch-slider:before{width:19px;height:19px;left:3px;bottom:3px}.switch-lg .switch-slider{width:60px;height:30px}.switch-lg .switch-slider:before{width:22px;height:22px;left:4px;bottom:4px}.switch input:checked+.switch-slider:before{transform:translate(calc(var(--thumb-diameter) + 2 * var(--thumb-margin)))}.app-bar{width:100%;z-index:100;background:var(--glass-surface);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-sm)}.app-bar-content{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 1rem;max-width:1200px;margin:0 auto;transition:padding .3s ease}.header-logo{height:50px;transition:height .3s ease}@media(max-width:425px){.app-bar-content{padding:0 .5rem}.header-logo{height:30px}}.app-bar-left{flex-shrink:0}.app-bar-center{flex:1;display:flex;justify-content:center;align-items:center;margin:0 1rem}.app-bar-right{flex-shrink:0;display:flex;gap:1rem;align-items:center}.form-field-root{position:relative;display:flex;flex-direction:column}.label{margin-bottom:.25rem;font-size:.85rem;font-weight:500;color:"var(--color-text)"}.form-input::placeholder{color:transparent;opacity:0}.form-input{width:100%;border:1px solid var(--color-border);background:transparent;color:var(--color-text);transition:all .2s ease;padding:1rem 1rem .25rem;font-size:1rem;font-family:inherit;line-height:1.5}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.field-icon{position:absolute;top:50%;transform:translateY(-50%);right:1rem;display:flex;align-items:center;justify-content:center;color:var(--color-text);opacity:.9;pointer-events:none;z-index:2;transition:opacity .2s}.form-input.has-end-icon{padding-right:3rem}.floating-label{position:absolute;left:1rem;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--color-text);opacity:.6;font-size:1rem;transition:all .2s cubic-bezier(.4,0,.2,1);transform-origin:left top;background:transparent;padding:0;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 2rem)}.form-input:focus~.floating-label,.form-input:not(:placeholder-shown)~.floating-label{top:.75rem;transform:translateY(-50%) scale(.75);opacity:.7;color:var(--color-primary)}.form-input:not(:focus):not(:placeholder-shown)~.floating-label{color:var(--color-primary);opacity:.7}.helper-text{font-size:.75rem;margin-top:.25rem;margin-left:1rem;color:var(--color-text);opacity:.7}.field-icon.interactive{pointer-events:auto}.password-toggle-btn{background:transparent;border:none;cursor:pointer;right:1rem;display:flex;align-items:center;justify-content:center;color:inherit;opacity:.6;transition:opacity .2s ease,transform .1s ease;font-size:1.1rem}.password-toggle-btn:hover{opacity:1}.password-toggle-btn:active{transform:scale(.9)}.textfield{flex:1;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:15px;background:var(--glass-surface);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-sm);transition:border .2s ease,box-shadow .2s ease}.textfield:focus{outline:none;border:1px solid var(--color-primary);box-shadow:var(--shadow-md)}.textfield:disabled{opacity:.6;cursor:not-allowed}.select-wrapper{position:relative;width:100%}.select-trigger{width:100%;padding:.6rem 2.5rem .6rem 1rem;border:none;border-radius:var(--radius-md);background:var(--glass-surface);color:var(--color-text);font-family:var(--font-family);font-size:1rem;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));transition:box-shadow .2s ease,outline-color .2s ease;box-shadow:inset 0 0 0 1px var(--color-border);cursor:pointer;display:flex;align-items:center;justify-content:space-between;position:relative}.select-trigger:hover:not(.disabled){box-shadow:inset 0 0 0 1px var(--color-primary),var(--shadow-sm)}.select-trigger.open{box-shadow:inset 0 0 0 2px var(--color-primary),var(--shadow-sm)}.select-trigger.disabled{opacity:.6;cursor:not-allowed}.select-trigger:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--color-primary),var(--shadow-sm)}.select-value{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:8px}.select-value.placeholder{opacity:.7}.select-arrow{position:absolute;right:1rem;font-size:.75rem;transition:transform .2s ease;pointer-events:none;opacity:.6}.select-trigger.open .select-arrow{transform:rotate(180deg)}.select-search-trigger{width:100%;padding:.6rem 2.5rem .6rem 1rem;border:none;border-radius:var(--radius-md);background:var(--glass-surface);color:var(--color-text);font-family:var(--font-family);font-size:1rem;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));transition:box-shadow .2s ease,outline-color .2s ease;box-shadow:inset 0 0 0 2px var(--color-primary),var(--shadow-sm);cursor:pointer;display:flex;align-items:center;justify-content:space-between;position:relative}.select-search-input-trigger{flex:1;border:none;background:transparent;color:var(--color-text);font-family:var(--font-family);font-size:1rem;outline:none;padding:0}.select-search-input-trigger::placeholder{color:var(--color-text);opacity:.7}.select-dropdown{position:absolute;top:calc(100% + .25rem);left:0;right:0;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1001;max-height:200px;overflow:hidden;display:flex;flex-direction:column}html:not(.dark) .select-dropdown{background:#fff;box-shadow:0 8px 24px #00000040}html.dark .select-dropdown{background:#1e1e1e;box-shadow:0 8px 24px #ffffff1f,0 0 8px #fff3}html:not(.dark) .select-dropdown.transparency-easy{background:#ffffffbf;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}html.dark .select-dropdown.transparency-easy{background:#1e1e1ebf;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}html:not(.dark) .select-dropdown.transparency-medium{background:#ffffff80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}html.dark .select-dropdown.transparency-medium{background:#1e1e1e80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}html:not(.dark) .select-dropdown.transparency-hard{background:#ffffff40;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}html.dark .select-dropdown.transparency-hard{background:#1e1e1e40;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}.select-options{overflow-y:auto;padding:.25rem}.select-option{padding:.6rem 1rem;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .15s ease,color .15s ease;color:var(--color-text)}.select-option:hover{background:var(--btn-ghost-hover-bg)}.select-option.selected{background:var(--color-primary);color:var(--on-primary)}.select-option.selected:hover{background:var(--btn-solid-hover-bg)}.select-option.no-results{cursor:default;opacity:.6;text-align:center;font-style:italic}.select-option.no-results:hover{background:transparent}.select-options::-webkit-scrollbar{width:6px}.select-options::-webkit-scrollbar-track{background:transparent}.select-options::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.select-options::-webkit-scrollbar-thumb:hover{background:var(--color-primary);opacity:.7}.checkbox-wrapper{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;position:relative;-webkit-user-select:none;user-select:none}.checkbox-wrapper.disabled{opacity:.5;cursor:not-allowed}.checkbox-input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.checkbox-box{width:20px;height:20px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.checkbox-input:focus-visible~.checkbox-box{outline:none;box-shadow:0 0 0 3px color-mix(in oklab,var(--color-primary) 30%,transparent)!important}.checkbox-solid{border:2px solid var(--color-border);background:var(--glass-surface)}.checkbox-wrapper:hover:not(.disabled) .checkbox-solid{border-color:var(--color-primary)}.checkbox-solid.checked{background:var(--color-primary);border-color:var(--color-primary)}.checkbox-outline{border:1.5px solid var(--color-border);background:var(--glass-surface)}.checkbox-wrapper:hover:not(.disabled) .checkbox-outline{border-color:var(--color-primary)}.checkbox-outline.checked{background:transparent;border-color:var(--color-primary)}.checkbox-ghost{border:2px solid transparent;background:var(--glass-surface);box-shadow:var(--shadow-sm)}.checkbox-wrapper:hover:not(.disabled) .checkbox-ghost{background:var(--btn-ghost-hover-bg)}.checkbox-wrapper:active:not(.disabled) .checkbox-ghost{background:var(--btn-ghost-active-bg)}.checkbox-icon{pointer-events:none;animation:check-pop .25s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes check-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.checkbox-label-text{color:var(--color-text);font-family:var(--font-family);font-size:.95rem}.modal-overlay{position:fixed;inset:0;width:100%;height:100%;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;transition:background .25s ease}html:not(.dark) .modal-overlay{background:#fff3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}html.dark .modal-overlay{background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-lg);padding:20px 30px;max-width:500px;width:90%;color:var(--color-text);transition:transform .25s ease,opacity .25s ease;animation:modalFadeIn .25s ease;box-shadow:var(--shadow-lg)}html:not(.dark) .modal-content{background:#ffffffe6}html.dark .modal-content{background:#1e1e1ee6;border:1px solid rgba(255,255,255,.01)}.modal-title{margin-top:0;margin-bottom:10px;font-size:1.5rem}.modal-body{font-size:1rem}.modal-close{position:absolute;top:15px;right:15px;background:transparent;border:none;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease,transform .2s ease;padding:0}.modal-close:hover{opacity:1;transform:scale(1.1)}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.toast{background:var(--glass-surface);color:var(--color-text-inverse);animation:toast-slide-in .4s ease,toast-fade-out .3s ease 2.7s forwards;opacity:.95}@keyframes toast-slide-in{0%{transform:translate(-50%,-120%);opacity:0}to{transform:translate(-50%);opacity:1}}@keyframes toast-fade-out{0%{opacity:1}to{opacity:0;transform:translate(-50%,-100%)}}.menu-container{position:relative;display:inline-block}.menu-trigger{cursor:pointer;display:inline-flex;align-items:center}.menu-dropdown{position:absolute;top:100%;right:0;margin-top:.25rem;z-index:1000}.menu-align-left .menu-dropdown{right:auto;left:0}.menu-list{display:flex;flex-direction:column;gap:.5rem;background:var(--color-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-lg);border-radius:var(--radius-md);min-width:200px;padding:.5rem 0;margin:0}.menu-item{height:2.5rem;display:flex;align-items:center;min-height:2rem;margin:0 .5rem;padding:0 1rem;border-radius:var(--radius-md);color:var(--color-text);background:transparent;cursor:pointer;transition:background-color .2s ease}.menu-item:hover{background-color:var(--btn-ghost-hover-bg)}.menu-item:active{background-color:var(--btn-ghost-active-bg)}.menu-item.disabled{opacity:.5;cursor:default;pointer-events:none}.menu-trigger .menu-chevron-icon{transition:transform .2s ease}.menu-trigger.open .menu-chevron-icon{transform:rotate(180deg)}.divider{margin:0;padding:0;border:none;flex-shrink:0;border-color:var(--color-border);background:none;list-style:none}.divider-horizontal{display:block;width:100%;height:1px;border-top-width:1px;border-top-style:solid;border-bottom:0}.divider-vertical{display:inline-block;width:1px;min-height:100%;height:auto;border-right-width:1px;border-right-style:solid;border-bottom:0;border-top:0;vertical-align:middle}.divider-fullwidth{width:100%}.divider-middle.divider-horizontal{width:90%;margin-left:auto;margin-right:auto}.divider-middle.divider-vertical{height:90%;margin-top:auto;margin-bottom:auto}.divider-flex{height:auto;align-self:stretch}.divider-with-content{display:flex;align-items:center;border:none;gap:1rem;width:100%;color:var(--color-text);font-size:.875rem;opacity:.8;white-space:nowrap}.divider-with-content:before,.divider-with-content:after{content:"";display:block;border-top:1px solid var(--color-border)}.divider-content-center:before,.divider-content-center:after{flex:1}.divider-content-left:before{flex:0 0 5%}.divider-content-left:after{flex:1}.divider-content-right:before{flex:1}.divider-content-right:after{flex:0 0 5%}.skeleton{position:relative;overflow:hidden;background:var(--skeleton-bg, var(--glass-surface));border-radius:var(--radius-md)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0%,var(--skeleton-shimmer) 50%,transparent 100%);animation:skeleton-shimmer 1.2s ease-in-out infinite}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.skeleton-text{border-radius:var(--radius-sm)}.skeleton-circular{border-radius:50%}.skeleton-rectangular{border-radius:var(--radius-sm)}.skeleton-card{border-radius:var(--radius-lg)}.cooldown-timer{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cooldown-timer-svg{transform:rotate(-90deg)}.cooldown-timer-bg{stroke:currentColor;fill:none;opacity:.2}.cooldown-timer-progress{stroke:currentColor;fill:none;stroke-linecap:round}.cooldown-timer-text{position:absolute;font-weight:700;color:currentColor;font-size:.75rem;line-height:1}:root{--toast-color-info: #3b82f6;--toast-color-error: #ef4444;--toast-animation-enter-duration: .3s;--toast-animation-exit-duration: .3s}.toast-container{position:fixed;display:flex;flex-direction:column;gap:.5rem;z-index:9999;width:320px}.toast-container--system{top:4.5rem;right:1.5rem}.toast-container--game{top:4.5rem;left:50%;transform:translate(-50%)}.toast-item{position:relative;display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem 1.25rem;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);background:var(--glass-surface);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));color:var(--color-text);overflow:hidden;border-left:3px solid transparent;min-height:56px}.toast-item--game-info,.toast-item--system-info{border-left-color:var(--toast-color-info)}.toast-item--game-error,.toast-item--system-error{border-left-color:var(--toast-color-error)}.toast-item__icon{flex-shrink:0;width:1.25rem;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700}.toast-item--game-info .toast-item__icon,.toast-item--system-info .toast-item__icon{color:var(--toast-color-info)}.toast-item--game-error .toast-item__icon,.toast-item--system-error .toast-item__icon{color:var(--toast-color-error)}.toast-item__message{flex:1;font-size:.875rem;line-height:1.4}.toast-item__close{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--color-text);font-size:1.25rem;line-height:1;padding:.5rem;opacity:.5;transition:opacity .15s ease;align-self:flex-start;display:flex;align-items:center;justify-content:center;margin-top:4px}.toast-item__close:hover{opacity:1}.toast-item__progress{position:absolute;bottom:0;left:0;height:3px;width:100%;animation:toast-progress-shrink var(--toast-duration) linear forwards}.toast-item--game-info .toast-item__progress,.toast-item--system-info .toast-item__progress{background:var(--toast-color-info)}.toast-item--game-error .toast-item__progress,.toast-item--system-error .toast-item__progress{background:var(--toast-color-error)}@keyframes toast-progress-shrink{0%{width:100%}to{width:0%}}.toast-container--system .toast-item--entering{animation:system-slide-in var(--toast-animation-enter-duration) ease forwards}.toast-container--system .toast-item--closing{animation:system-slide-out var(--toast-animation-exit-duration) ease forwards}@keyframes system-slide-in{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes system-slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(120%);opacity:0}}.toast-container--game .toast-item--entering{animation:game-slide-in var(--toast-animation-enter-duration) ease forwards}.toast-container--game .toast-item--closing{animation:game-slide-out var(--toast-animation-exit-duration) ease forwards}@keyframes game-slide-in{0%{transform:translateY(-120%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes game-slide-out{0%{transform:translateY(0);opacity:1}to{transform:translateY(-120%);opacity:0}}.home-page .main-layout{display:flex;flex-direction:row;gap:1.5rem;align-items:stretch;flex:1}.home-page .sidebar{width:280px;flex-shrink:0}.home-page .games-container{flex:1;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.home-page .game-card-wrapper{width:100%;aspect-ratio:1.618 / 1;transition:transform .2s ease}.home-page .game-card-wrapper:hover{transform:scale(1.02)}@media(max-width:1024px){.home-page .main-layout{flex-direction:column}.home-page .sidebar{width:100%;order:2}.home-page .top-wins-desktop{max-height:350px}.home-page .game-desc{display:none}.home-page .games-container{order:1;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;width:100%}.home-page .game-card-wrapper{width:100%;aspect-ratio:1.618 / 1}}.home-page .game-card-title{font-size:clamp(1.1rem,4vw,1.5rem);line-height:1.2}@media(max-width:500px){.home-page .games-container{grid-template-columns:1fr}.home-page .game-card-title{font-size:clamp(1.2rem,5vw,1.5rem)}}.rooms-page .rooms-grid{display:grid;grid-template-columns:280px 1fr;gap:2rem;align-items:start;height:calc(100vh - 110px - 8.5rem)}.rooms-page .rooms-sidebar{display:block;height:100%}.rooms-page .rooms-main-content{height:100%;overflow-y:auto;padding-right:.5rem;display:flex;flex-direction:column;gap:2.5rem;padding:1.25rem 1.5rem;background:var(--color-bg-glass);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}@media(max-width:900px){.rooms-page .rooms-grid{grid-template-columns:1fr}.rooms-page .rooms-sidebar{display:none}.rooms-page .rooms-main-content{padding:1rem}}.pageable-panel{background:var(--color-bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem;border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;height:380px}.pageable-panel-header{position:relative;display:flex;flex-wrap:wrap;gap:.75rem .5rem;align-items:center;margin-bottom:1rem;padding-right:44px;min-height:32px}.pageable-panel-title{margin-right:auto;order:1}.pageable-panel-actions{display:flex;align-items:center;gap:.5rem;order:2}.pageable-panel-top-right{position:absolute;top:3px;right:4px}.pageable-panel-content{flex:1;overflow-y:auto;padding-right:8px;display:flex;flex-direction:column;gap:.5rem}.pageable-panel-footer{margin-top:auto;padding-top:.5rem;display:flex;justify-content:center;align-items:center;gap:1rem;flex-shrink:0}.pageable-panel-footer button{padding:.25rem .5rem!important}@media(max-width:480px){.pageable-panel-actions{width:100%;margin-top:.25rem}.pageable-panel-footer{gap:.5rem!important}.pageable-panel-footer button{padding:.25rem!important;min-width:32px}}.history-item{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"icon center amount";align-items:center;gap:12px;padding:8px 12px;border:1px solid transparent;border-radius:var(--radius-sm);transition:transform .2s ease}.history-item.has-subtext{grid-template-columns:auto 1fr minmax(60px,auto) minmax(90px,auto);grid-template-areas:"icon center amount subtext"}.history-item-icon{grid-area:icon;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0}.history-item-center{grid-area:center;display:flex;flex-direction:column;gap:2px;min-width:0}.history-item-title{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item-date-time{opacity:.6;font-size:.75rem;display:flex;flex-direction:row;align-items:center;white-space:nowrap}.history-item-amount{grid-area:amount;font-weight:600;font-size:1rem;text-align:right}.mobile-sign{display:none}.history-item-subtext-stack{grid-area:subtext;display:flex;flex-direction:column;align-items:stretch}.history-item-subtext{opacity:.8;font-size:.7rem;font-family:monospace;text-align:left;white-space:pre-line;width:100%}.history-subtext-grid{display:grid;grid-template-columns:auto auto;justify-content:start;column-gap:8px;width:100%}.history-subtext-grid span:nth-child(2n){text-align:right}@media(max-width:480px){.history-item{padding:12px 14px}.history-item-icon{width:36px;height:36px}.history-item.has-subtext{grid-template-columns:1fr auto;grid-template-areas:"title amount" "subtext datetime";gap:8px 12px}.history-item.has-subtext .history-item-icon{display:none}.history-item.has-subtext .mobile-sign{display:inline;margin-right:2px}.history-item.has-subtext .history-item-center{display:contents}.history-item.has-subtext .history-item-title{grid-area:title;align-self:end}.history-item.has-subtext .history-item-amount{grid-area:amount;align-self:end}.history-item.has-subtext .history-item-date-time{grid-area:datetime;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:2px;padding-top:8px;border-top:1px dashed var(--color-border)}.history-item.has-subtext .history-item-subtext-stack{grid-area:subtext;align-items:flex-start;padding-top:8px;border-top:1px dashed var(--color-border);width:100%}.history-item.has-subtext .history-item-subtext{text-align:left}.history-item.has-subtext .history-item-separator{display:none}.history-item:not(.has-subtext) .history-item-date-time{flex-direction:column;align-items:flex-start;gap:2px}.history-item:not(.has-subtext) .history-item-separator{display:none}}.profile-page .profile-grid{display:grid;grid-template-columns:280px 1px 1fr;gap:0;height:100%}.profile-page .profile-left-panel{padding-right:1rem}.profile-page .profile-right-panel{padding-left:1rem;width:100%}.profile-page .profile-divider{display:flex;justify-content:center;height:100%}.profile-page .balance-section{display:flex;justify-content:space-between;align-items:center}.profile-page .balance-buttons{display:flex;flex-direction:row;gap:10px;align-items:center}@media(max-width:840px){.profile-page .profile-grid{grid-template-columns:1fr;gap:2rem}.profile-page .profile-divider{display:none}.profile-page .profile-left-panel,.profile-page .profile-right-panel{padding-right:0;padding-left:0}.profile-page .balance-section{flex-direction:column;align-items:flex-start;gap:1rem}.profile-page .balance-buttons{flex-direction:column;width:100%}.profile-page .balance-buttons button{width:100%!important}.profile-page .username-header{flex-direction:column;align-items:flex-start!important;gap:.75rem}}.profile-main-card{min-height:100%;padding:1.5rem}.profile-filter-controls{display:flex;gap:.5rem;align-items:center;justify-content:flex-end;width:100%}.filter-result{width:90px;flex-shrink:0}.filter-room{width:190px;flex-shrink:0}@media(max-width:840px){.filter-result{width:auto;min-width:90px;flex:1}.filter-room{width:auto;min-width:90px;flex:1.5}}@media(max-width:425px){.profile-page{padding:1rem 0!important}.profile-main-card{padding:1rem!important}.pageable-panel{padding:1rem .5rem!important}.pageable-panel-header{padding-right:0;margin-bottom:.5rem!important}.pageable-panel-content{padding-right:0!important}.profile-filter-controls{gap:4px;justify-content:space-between}.filter-result,.filter-room{min-width:60px;flex:1}}.horse-sprite{display:block;flex-shrink:0}@keyframes horse-gallop-sprite{0%{background-position-x:0px}to{background-position-x:calc(-1 * var(--sprite-w))}}.horse-sprite--running{animation:horse-gallop-sprite .4s steps(4) infinite}@keyframes horse-winner-glow{0%,to{filter:var(--horse-filter) drop-shadow(0 0 3px currentColor)}50%{filter:var(--horse-filter) drop-shadow(0 0 10px currentColor)}}@keyframes horse-winner-scale{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.horse-sprite--winner{animation:horse-winner-scale .75s ease-in-out infinite}
