@font-face{font-family:Cause;src:url(/fonts/cause-v2-latin-600.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Cause;src:url(/fonts/cause-v2-latin-800.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family,"Cause", sans-serif);background:var(--color-bg);color:var(--color-text);background-image:var(--bg-image);background-position:50%;background-size:cover;background-attachment:fixed;transition:background .25s,color .25s}.custom-scrollbar:hover::-webkit-scrollbar-thumb{background-color:#80808080}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#80808080}html.dark .custom-scrollbar:hover::-webkit-scrollbar-thumb{background-color:#fff6}html.dark .custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#fff6}html{scrollbar-gutter:stable;overflow-y:auto}::-webkit-scrollbar{background:0 0;width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:padding-box content-box;border:2px solid #0000;border-radius:4px;transition:background .3s}html.dark ::-webkit-scrollbar-thumb{background:#fff0 padding-box content-box;border:2px solid #0000;border-radius:4px;transition:background .3s}.custom-scrollbar{scrollbar-gutter:stable;scrollbar-color:#80808066 transparent;scrollbar-width:thin;overflow-y:auto!important}.custom-scrollbar::-webkit-scrollbar{width:8px}.custom-scrollbar::-webkit-scrollbar-track{background:0 0}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#80808040;background-clip:padding-box;border:2px solid #0000;border-radius:4px;transition:background-color .3s}html.dark .custom-scrollbar::-webkit-scrollbar-thumb{background-color:#fff3}.custom-scrollbar:hover::-webkit-scrollbar-thumb{background-color:#80808080}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#80808080}html.dark .custom-scrollbar:hover::-webkit-scrollbar-thumb{background-color:#fff6}html.dark .custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#fff6}html.is-scrolling ::-webkit-scrollbar-thumb{background:#00000040 padding-box content-box}html.is-scrolling.dark ::-webkit-scrollbar-thumb{background:#ffffff40 padding-box content-box}html.is-scrolling ::-webkit-scrollbar-thumb:hover{background:#0006 padding-box content-box}html.is-scrolling.dark ::-webkit-scrollbar-thumb:hover{background:#fff6 padding-box content-box}html{scrollbar-width:thin;scrollbar-color:transparent transparent}html.is-scrolling{scrollbar-color:#00000040 transparent}html.is-scrolling.dark{scrollbar-color:#ffffff40 transparent}:root{--font-family:"Cause", sans-serif;--color-bg:#fff;--color-bg-soft:#ffffffe6;--color-bg-glass:#fff9;--glass-surface:#fff9;--glass-blur:5px;--color-text:#111;--color-text-hover:#777;--color-text-inverse:#fff;--color-text-inverse-hover:#999;--color-border:#0000001a;--color-primary:#111;--color-primary-hover:#000;--on-primary:#fff;--color-income-text:#166534;--color-income-bg:#16a34a14;--color-income-border:#16a34a33;--color-income-icon-bg:#16a34a40;--color-expense-text:#991b1b;--color-expense-bg:#dc262614;--color-expense-border:#dc262633;--color-expense-icon-bg:#dc262640;--color-neutral-text:#475569;--color-neutral-bg:#64748b14;--color-neutral-border:#64748b33;--color-neutral-icon-bg:#64748b40;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--shadow-sm:0 0 1px #0000001a, 0 1px 3px #0000001f;--shadow-md:0 0 4px #0000001f, 0 4px 6px #00000026;--shadow-lg:0 0 8px #0000001f, 0 8px 24px #0003;--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:#dcdcdce6;--swtch-btn-thumb:#000000e6;--skeleton-bg:#c8c8c859;--skeleton-shimmer:#fff9;--page-margin-x:0;--page-margin-y:0;--page-padding-x:.5rem;--page-border-radius:0}html.dark{--color-bg:#121212;--color-bg-soft:#000000e6;--color-bg-glass:#1e1e1eb3;--glass-surface:#1e1e1eb3;--glass-blur:5px;--color-text:#f5f5f5;--color-text-hover:#9b9b9b;--color-text-inverse:#121212;--color-text-inverse-hover:#787878;--color-border:#ffffff1a;--color-primary:#f5f5f5;--color-primary-hover:#fff;--on-primary:#000;--color-income-text:#4ade80;--color-income-bg:#4ade8014;--color-income-border:#4ade8033;--color-income-icon-bg:#4ade8040;--color-expense-text:#f87171;--color-expense-bg:#f8717114;--color-expense-border:#f8717133;--color-expense-icon-bg:#f8717140;--color-neutral-text:#94a3b8;--color-neutral-bg:#94a3b814;--color-neutral-border:#94a3b833;--color-neutral-icon-bg:#94a3b840;--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 #ffffff1a, 0 1px 3px #ffffff1f;--shadow-md:0 0 4px #ffffff1f, 0 4px 6px #ffffff26;--shadow-lg:0 0 8px #ffffff1f, 0 8px 24px #fff3;--swtch-btn-bg:#5a5a5ae6;--swtch-btn-thumb:#ffffffe6;--skeleton-bg:#3c3c3c99;--skeleton-shimmer:#ffffff40}@media (width>=768px){:root{--page-margin-x:2rem;--page-margin-y:0rem;--page-padding-x:1rem;--page-border-radius:var(--radius-md)}}@media (width>=1320px){: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,padding .3s,border-radius .3s}.container{width:100%;margin:0 auto;padding:0 1rem 1.5rem;transition:padding .3s}@media (width<=768px){.container{padding:0 .5rem 1rem}}@media (width<=530px){.hidden-mobile{display:none!important}}.link{color:inherit;transition:color .15s}.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:#000;--color-bg:#fff;--color-border:#00000059;--color-primary:#000;--color-primary-hover:#000;--on-primary:#fff;--glass-surface:#ffffffd9;--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);cursor:pointer;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));padding:.5rem 1.2rem;font-size:1rem;font-weight:500;transition:background-color .15s,color .15s,box-shadow .15s;position:relative;overflow:hidden}.btn-content{z-index:1;align-items:center;gap:.5rem;display:inline-flex;position:relative}.btn-content *{transition:filter .15s}.btn:focus-visible{box-shadow:0 0 0 3px color-mix(in oklab, var(--color-primary) 30%, transparent), var(--shadow-sm);outline:none}.btn-solid{background:var(--color-primary);color:var(--on-primary);box-shadow:var(--shadow-sm);border:none}.btn-solid:hover{background:var(--btn-solid-hover-bg)}.btn-solid:active{background:var(--btn-solid-active-bg)}.btn-outline{background:var(--glass-surface);color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary);border:none}.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()}.btn-outline:active{background:var(--btn-outline-active-bg)}.btn-outline:active .btn-content *{filter:invert()}.btn-ghost{background:var(--glass-surface);color:var(--color-primary);box-shadow:var(--shadow-md);border:none}.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;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{opacity:.8;font-size:.8rem}.typography.text-color-inverse{color:var(--color-text-inverse)}.card{background:var(--glass-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:none;padding:1rem}.input{border-radius:var(--radius-md);background:var(--glass-surface);width:100%;color:var(--color-text);font-family:var(--font-family);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:inset 0 0 0 1px var(--color-border);border:none;padding:.6rem 1rem;transition:box-shadow .2s,outline-color .2s}.input::placeholder{color:var(--color-text);opacity:.7}.input:focus{box-shadow:inset 0 0 0 2px var(--color-primary), var(--shadow-sm);outline:none}input[type=password]::-ms-reveal{display:none!important}input[type=password]::-ms-clear{display:none!important}input[type=password]::-webkit-search-cancel-button{display:none!important}input[type=password]::-webkit-search-decoration{display:none!important}input[type=password]::-webkit-clear-button{display:none!important}.theme-switch{align-items:center;gap:1rem;display:inline-flex}.theme-switch-icon,.switch{align-items:center;display:inline-flex}.switch input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.switch-slider{background:var(--swtch-btn-bg);border-radius:var(--radius-lg);cursor:pointer;transition:background .2s,width .2s,height .2s;display:inline-block;position:relative}.switch-slider:before{content:"";background:var(--swtch-btn-thumb,var(--color-text));border-radius:50%;transition:transform .2s;position:absolute}.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;bottom:2px;left:2px}.switch-md .switch-slider{width:50px;height:25px}.switch-md .switch-slider:before{width:19px;height:19px;bottom:3px;left:3px}.switch-lg .switch-slider{width:60px;height:30px}.switch-lg .switch-slider:before{width:22px;height:22px;bottom:4px;left:4px}.switch input:checked+.switch-slider:before{transform:translateX(calc(var(--thumb-diameter) + 2 * var(--thumb-margin)))}.app-bar{z-index:100;background:var(--glass-surface);width:100%;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-sm)}.app-bar-content{justify-content:space-between;align-items:center;max-width:1200px;height:60px;margin:0 auto;padding:0 1rem;transition:padding .3s;display:flex}.header-logo{height:50px;transition:height .3s}@media (width<=425px){.app-bar-content{padding:0 .5rem}.header-logo{height:30px}}.app-bar-left{flex-shrink:0}.app-bar-center{flex:1;justify-content:center;align-items:center;margin:0 1rem;display:flex}.app-bar-right{flex-shrink:0;align-items:center;gap:1rem;display:flex}.form-field-root{flex-direction:column;display:flex;position:relative}.label{color:"var(--color-text)";margin-bottom:.25rem;font-size:.85rem;font-weight:500}.form-input::placeholder{color:#0000;opacity:0}.form-input{border:1px solid var(--color-border);width:100%;color:var(--color-text);background:0 0;padding:1rem 1rem .25rem;font-family:inherit;font-size:1rem;line-height:1.5;transition:all .2s}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);outline:none}.field-icon{color:var(--color-text);opacity:.9;pointer-events:none;z-index:2;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.form-input.has-end-icon{padding-right:3rem}.floating-label{pointer-events:none;color:var(--color-text);opacity:.6;transform-origin:0 0;z-index:1;white-space:nowrap;text-overflow:ellipsis;background:0 0;max-width:calc(100% - 2rem);padding:0;font-size:1rem;transition:all .2s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:1rem;overflow:hidden;transform:translateY(-50%)}.form-input:focus~.floating-label,.form-input:not(:placeholder-shown)~.floating-label{opacity:.7;color:var(--color-primary);top:.75rem;transform:translateY(-50%)scale(.75)}.form-input:not(:focus):not(:placeholder-shown)~.floating-label{color:var(--color-primary);opacity:.7}.helper-text{color:var(--color-text);opacity:.7;margin-top:.25rem;margin-left:1rem;font-size:.75rem}.field-icon.interactive{pointer-events:auto}.password-toggle-btn{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:none;justify-content:center;align-items:center;font-size:1.1rem;transition:opacity .2s,transform .1s;display:flex;right:1rem}.password-toggle-btn:hover{opacity:1}.password-toggle-btn:active{transform:scale(.9)}.textfield{border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:var(--glass-surface);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:var(--shadow-sm);flex:1;padding:10px 14px;font-size:15px;transition:border .2s,box-shadow .2s}.textfield:focus{border:1px solid var(--color-primary);box-shadow:var(--shadow-md);outline:none}.textfield:disabled{opacity:.6;cursor:not-allowed}.select-wrapper{width:100%;position:relative}.select-trigger{border-radius:var(--radius-md);background:var(--glass-surface);width:100%;color:var(--color-text);font-family:var(--font-family);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:inset 0 0 0 1px var(--color-border);cursor:pointer;border:none;justify-content:space-between;align-items:center;padding:.6rem 2.5rem .6rem 1rem;font-size:1rem;transition:box-shadow .2s,outline-color .2s;display:flex;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{box-shadow:inset 0 0 0 2px var(--color-primary), var(--shadow-sm);outline:none}.select-value{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;justify-content:center;align-items:center;gap:8px;display:flex;overflow:hidden}.select-value.placeholder{opacity:.7}.select-arrow{pointer-events:none;opacity:.6;font-size:.75rem;transition:transform .2s;position:absolute;right:1rem}.select-trigger.open .select-arrow{transform:rotate(180deg)}.select-search-trigger{border-radius:var(--radius-md);background:var(--glass-surface);width:100%;color:var(--color-text);font-family:var(--font-family);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));box-shadow:inset 0 0 0 2px var(--color-primary), var(--shadow-sm);cursor:pointer;border:none;justify-content:space-between;align-items:center;padding:.6rem 2.5rem .6rem 1rem;font-size:1rem;transition:box-shadow .2s,outline-color .2s;display:flex;position:relative}.select-search-input-trigger{color:var(--color-text);font-family:var(--font-family);background:0 0;border:none;outline:none;flex:1;padding:0;font-size:1rem}.select-search-input-trigger::placeholder{color:var(--color-text);opacity:.7}.select-dropdown{-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;flex-direction:column;max-height:200px;display:flex;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow:hidden}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{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#ffffffbf}html.dark .select-dropdown.transparency-easy{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1e1e1ebf}html:not(.dark) .select-dropdown.transparency-medium{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff80}html.dark .select-dropdown.transparency-medium{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1e1e1e80}html:not(.dark) .select-dropdown.transparency-hard{-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);background:#ffffff40}html.dark .select-dropdown.transparency-hard{-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);background:#1e1e1e40}.select-options{padding:.25rem;overflow-y:auto}.select-option{cursor:pointer;border-radius:var(--radius-sm);color:var(--color-text);padding:.6rem 1rem;transition:background-color .15s,color .15s}.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:0 0}.select-options::-webkit-scrollbar{width:6px}.select-options::-webkit-scrollbar-track{background:0 0}.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{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;display:inline-flex;position:relative}.checkbox-wrapper.disabled{opacity:.5;cursor:not-allowed}.checkbox-input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.checkbox-box{border-radius:var(--radius-sm);width:20px;height:20px;-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.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{border-color:var(--color-primary);background:0 0}.checkbox-ghost{background:var(--glass-surface);box-shadow:var(--shadow-sm);border:2px solid #0000}.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:.25s cubic-bezier(.175,.885,.32,1.275) forwards check-pop}@keyframes check-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.checkbox-label-text{color:var(--color-text);font-family:var(--font-family);font-size:.95rem}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;width:100%;height:100%;transition:background .25s;display:flex;position:fixed;inset:0}html:not(.dark) .modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fff3}html.dark .modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006}.modal-content{-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius-lg);width:90%;max-width:500px;color:var(--color-text);box-shadow:var(--shadow-lg);padding:20px 30px;transition:transform .25s,opacity .25s;animation:.25s modalFadeIn;position:relative}html:not(.dark) .modal-content{background:#ffffffe6}html.dark .modal-content{background:#1e1e1ee6;border:1px solid #ffffff03}.modal-title{margin-top:0;margin-bottom:10px;font-size:1.5rem}.modal-body{font-size:1rem}.modal-close{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1.5rem;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:15px;right:15px}.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);opacity:.95;animation:.4s toast-slide-in,.3s 2.7s forwards toast-fade-out}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%,-120%)}to{opacity:1;transform:translate(-50%)}}@keyframes toast-fade-out{0%{opacity:1}to{opacity:0;transform:translate(-50%,-100%)}}.menu-container{display:inline-block;position:relative}.menu-trigger{cursor:pointer;align-items:center;display:inline-flex}.menu-dropdown{z-index:1000;margin-top:.25rem;position:absolute;top:100%;right:0}.menu-align-left .menu-dropdown{left:0;right:auto}.menu-list{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);flex-direction:column;gap:.5rem;min-width:200px;margin:0;padding:.5rem 0;display:flex}.menu-item{border-radius:var(--radius-md);height:2.5rem;min-height:2rem;color:var(--color-text);cursor:pointer;background:0 0;align-items:center;margin:0 .5rem;padding:0 1rem;transition:background-color .2s;display:flex}.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}.menu-trigger.open .menu-chevron-icon{transform:rotate(180deg)}.divider{border:none;border-color:var(--color-border);background:0 0;flex-shrink:0;margin:0;padding:0;list-style:none}.divider-horizontal{border-top-style:solid;border-top-width:1px;border-bottom:0;width:100%;height:1px;display:block}.divider-vertical{vertical-align:middle;border-top:0;border-bottom:0;border-right-style:solid;border-right-width:1px;width:1px;height:auto;min-height:100%;display:inline-block}.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{align-self:stretch;height:auto}.divider-with-content{width:100%;color:var(--color-text);opacity:.8;white-space:nowrap;border:none;align-items:center;gap:1rem;font-size:.875rem;display:flex}.divider-with-content:before,.divider-with-content:after{content:"";border-top:1px solid var(--color-border);display:block}.divider-content-center:before,.divider-content-center:after{flex:1}.divider-content-left:before{flex:0 0 5%}.divider-content-left:after,.divider-content-right:before{flex:1}.divider-content-right:after{flex:0 0 5%}.skeleton{background:var(--skeleton-bg,var(--glass-surface));border-radius:var(--radius-md);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--skeleton-shimmer) 50%, transparent 100%);animation:1.2s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}@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{flex-shrink:0;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:relative}.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{color:currentColor;font-size:.75rem;font-weight:700;line-height:1;position:absolute}@keyframes cooldown-progress{0%{stroke-dashoffset:0}to{stroke-dashoffset:var(--circumference)}}:root{--toast-color-info:#3b82f6;--toast-color-error:#ef4444;--toast-animation-enter-duration:.3s;--toast-animation-exit-duration:.3s}.toast-container{z-index:9999;flex-direction:column;gap:.5rem;width:320px;display:flex;position:fixed}.toast-container--system{max-width:calc(100vw - 2rem);top:4.5rem;right:1.5rem}.toast-container--game{padding:0 1rem;top:4.5rem;left:50%;transform:translate(-50%)}.toast-item{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);border-left:3px solid #0000;align-items:center;gap:.75rem;min-height:56px;padding:.875rem 1rem 1.25rem;display:flex;position:relative;overflow:hidden}.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;justify-content:center;align-items:center;width:1.25rem;font-size:.875rem;font-weight:700;display:flex}.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{cursor:pointer;color:var(--color-text);opacity:.5;background:0 0;border:none;flex-shrink:0;justify-content:center;align-self:flex-start;align-items:center;margin-top:4px;padding:.5rem;font-size:1.25rem;line-height:1;transition:opacity .15s;display:flex}.toast-item__close:hover{opacity:1}.toast-item__progress{width:100%;height:3px;animation:toast-progress-shrink var(--toast-duration) linear forwards;position:absolute;bottom:0;left:0}.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%{opacity:0;transform:translate(120%)}to{opacity:1;transform:translate(0)}}@keyframes system-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(120%)}}.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%{opacity:0;transform:translateY(-120%)}to{opacity:1;transform:translateY(0)}}@keyframes game-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-120%)}}.home-page .main-layout{flex-direction:row;flex:1;align-items:stretch;gap:1.5rem;display:flex}.home-page .sidebar{flex-shrink:0;width:280px;position:relative}.home-page .top-wins-desktop{max-height:65.5%;position:absolute;inset:0}.home-page .games-container{flex:1;grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.home-page .game-card-wrapper{aspect-ratio:1.618;width:100%;transition:transform .2s}.home-page .game-card-wrapper:hover{transform:scale(1.02)}@media (width<=1024px){.home-page .main-layout{flex-direction:column}.home-page .sidebar{order:2;width:100%;position:static}.home-page .top-wins-desktop{max-height:350px;position:relative}.home-page .game-desc{display:none}.home-page .games-container{order:1;grid-template-columns:repeat(2,1fr);gap:1.5rem;width:100%;display:grid}.home-page .game-card-wrapper{aspect-ratio:1.618;width:100%}}.home-page .game-card-title{font-size:clamp(1.1rem,4vw,1.5rem);line-height:1.2}.home-page .game-card-wrapper:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - .75rem)}@media (width<=500px){.home-page .games-container{grid-template-columns:1fr}.home-page .game-card-wrapper:last-child:nth-child(odd){grid-column:auto;justify-self:stretch;width:100%}.home-page .game-card-title{font-size:clamp(1.2rem,5vw,1.5rem)}}.rooms-page .rooms-grid{grid-template-columns:280px 1fr;align-items:start;gap:2rem;height:calc(100vh - 110px - 8.5rem);display:grid}.rooms-page .rooms-sidebar{height:100%;display:block}.rooms-page .rooms-main-content{background:var(--color-bg-glass);border-radius:var(--radius-md);border:1px solid var(--color-border);height:100%;box-shadow:var(--shadow-sm);flex-direction:column;gap:2.5rem;padding:1.25rem 1.5rem;display:flex;overflow-y:auto}@media (width<=900px){.rooms-page .rooms-grid{grid-template-columns:1fr}.rooms-page .rooms-sidebar{display:none}.rooms-page .rooms-main-content{padding:1rem}}.profile-page .profile-grid{grid-template-columns:280px 1px 1fr;gap:0;height:100%;display:grid}.profile-page .profile-left-panel{padding-right:1rem}.profile-page .profile-right-panel{width:100%;padding-left:1rem}.profile-page .profile-divider{justify-content:center;height:100%;display:flex}.profile-page .balance-section{justify-content:space-between;align-items:center;display:flex}.profile-page .balance-buttons{flex-direction:row;align-items:center;gap:10px;display:flex}@media (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-left:0;padding-right: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;gap:.75rem;align-items:flex-start!important}}.profile-filter-controls{justify-content:flex-end;align-items:center;gap:.5rem;width:100%;display:flex}.filter-result{flex-shrink:0;width:90px}.filter-room{flex-shrink:0;width:190px}@media (width<=840px){.filter-result{flex:1;width:auto;min-width:90px}.filter-room{flex:1.5;width:auto;min-width:90px}}@media (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{justify-content:space-between;gap:4px}.filter-result,.filter-room{flex:1;min-width:60px}}.pageable-panel{background:var(--color-bg-glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);flex-direction:column;height:380px;padding:1rem;display:flex}.pageable-panel-header{flex-wrap:wrap;align-items:center;gap:.75rem .5rem;min-height:32px;margin-bottom:1rem;padding-right:44px;display:flex;position:relative}.pageable-panel-title{order:1;margin-right:auto}.pageable-panel-actions{order:2;align-items:center;gap:.5rem;display:flex}.pageable-panel-top-right{position:absolute;top:3px;right:4px}.pageable-panel-content{flex-direction:column;flex:1;gap:.5rem;padding-right:8px;display:flex;overflow-y:auto}.pageable-panel-footer{flex-shrink:0;justify-content:center;align-items:center;gap:1rem;margin-top:auto;padding-top:.5rem;display:flex}.pageable-panel-footer button{padding:.25rem .5rem!important}@media (width<=480px){.pageable-panel-actions{width:100%;margin-top:.25rem}.pageable-panel-footer{gap:.5rem!important}.pageable-panel-footer button{min-width:32px;padding:.25rem!important}}.history-item{border-radius:var(--radius-sm);border:1px solid #0000;grid-template-columns:auto 1fr auto;grid-template-areas:"icon center amount";align-items:center;gap:12px;padding:8px 12px;transition:transform .2s;display:grid}.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{border-radius:50%;flex-shrink:0;grid-area:icon;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.1rem;font-weight:700;display:flex}.history-item-center{flex-direction:column;grid-area:center;gap:2px;min-width:0;display:flex}.history-item-title{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.history-item-date-time{opacity:.6;white-space:nowrap;flex-direction:row;align-items:center;font-size:.75rem;display:flex}.history-item-amount{text-align:right;grid-area:amount;font-size:1rem;font-weight:600}.mobile-sign{display:none}.history-item-subtext-stack{flex-direction:column;grid-area:subtext;align-items:stretch;display:flex}.history-item-subtext{opacity:.8;text-align:left;white-space:pre-line;width:100%;font-family:monospace;font-size:.7rem}.history-subtext-grid{grid-template-columns:auto auto;justify-content:start;column-gap:8px;width:100%;display:grid}.history-subtext-grid span:nth-child(2n){text-align:right}@media (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{margin-right:2px;display:inline}.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{border-top:1px dashed var(--color-border);flex-direction:column;grid-area:datetime;justify-content:flex-start;align-items:flex-end;gap:2px;padding-top:8px}.history-item.has-subtext .history-item-subtext-stack{border-top:1px dashed var(--color-border);grid-area:subtext;align-items:flex-start;width:100%;padding-top:8px}.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}}.durak-main-content{flex:1;min-height:0;padding:1rem;display:flex}.durak-lobby-grid{grid-template-columns:minmax(240px,1fr) 1fr minmax(240px,1fr);justify-content:center;gap:2rem;width:100%;display:grid}.durak-player-card{background:var(--color-bg-glass);border:1px solid var(--color-border);border-radius:var(--radius-md);width:200px;box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;cursor:pointer;padding:.35rem;transition:all .2s}.durak-player-card:hover{box-shadow:var(--shadow-md)}.durak-board-grid{grid-template:"opponent opponent opponent timer""deck table table discard"1fr".action action discard""player player player discard"/120px 1fr 1fr 100px;gap:.75rem;width:100%;min-height:520px;padding:.5rem;display:grid}.durak-area-opponent{grid-area:opponent}.durak-area-deck{grid-area:deck;justify-content:center;align-items:center;display:flex}.durak-area-table{grid-area:table;justify-content:center;align-items:center;min-width:0;display:flex}.durak-area-action{grid-area:action;justify-content:center;align-items:center;padding:.25rem 0;display:flex}.durak-area-player{grid-area:player;min-width:0}.durak-area-timer{grid-area:timer;justify-content:center;align-items:flex-start;padding-top:.5rem;display:flex}.durak-area-discard{grid-area:discard;justify-content:center;align-items:center;display:flex}.playing-card{transform-origin:50%;-webkit-user-select:none;user-select:none;flex-shrink:0;display:inline-block;position:relative}.playing-card-md{width:72px;height:100px}.playing-card-sm{width:50px;height:70px}.playing-card.is-disabled{filter:brightness(.65)contrast(1.1);cursor:default!important}.trump-card-container{z-index:0;justify-content:center;margin-bottom:-62px;display:flex;position:relative}.empty-deck-placeholder{border-radius:var(--radius-sm);border:1px dashed var(--color-border);justify-content:center;align-items:center;width:72px;height:100px;display:flex}.durak-table-area{border-radius:var(--radius-md);border:1px dashed var(--color-border);background:var(--color-bg-glass);flex-wrap:wrap;justify-content:center;gap:.5rem;min-width:400px;min-height:140px;padding:.5rem;display:flex}.table-pair-slot{flex-shrink:0;width:72px;height:118px;position:relative}.defend-card-wrapper{z-index:1;position:absolute;top:18px;left:16px}.discard-pile-container{width:50px;height:70px;position:relative}@media (width<=1060px){.durak-lobby-grid{grid-template-columns:1fr;max-width:600px;margin:0 auto}}@media (width<=800px) and (width>=601px){.durak-board-grid{grid-template:"opponent opponent timer""deck table discard"1fr"action action action""player player player"/100px 1fr 100px;gap:.75rem;min-height:60vh;padding:.5rem}.durak-area-opponent{justify-self:center}.durak-area-timer{z-index:2;grid-area:timer;place-self:start end;padding-top:0}.player-hand-info{display:none!important}}@media (width<=500px){.durak-main-content{padding:.5rem}}@media (width<=600px){.durak-main-content{padding:.5rem}.durak-board-grid{grid-template:"opponent opponent timer""table table table"1fr"deck action discard""player player player"/75px 1fr 75px;gap:.5rem;min-height:60vh;padding:0}.durak-area-opponent{grid-area:opponent;width:100%}.durak-area-player{grid-area:player;width:100%}.durak-area-deck,.durak-area-discard{justify-content:center;align-items:center}.durak-area-timer{z-index:2;grid-area:timer;place-self:start end;margin-top:.2rem;margin-right:.2rem;padding-top:0}.playing-card-md{width:56px;height:78px}.playing-card-sm{width:44px;height:62px}.durak-area-deck .playing-card,.durak-area-discard .playing-card{width:44px!important;height:62px!important}.trump-card-container{width:80px;margin-bottom:-45px}.empty-deck-placeholder{width:56px;height:78px}.discard-pile-container{width:44px;height:62px}.durak-table-area{width:100%;min-width:0;max-width:300px;min-height:100px;margin:0 auto;padding:.25rem}.table-pair-slot{width:56px;height:92px}.defend-card-wrapper{top:14px;left:12px}.durak-turn-timer{min-width:50px!important;padding:.15rem .25rem!important}.durak-turn-timer h3{font-size:1rem!important}.player-hand-info{display:none!important}}:root{--mj-top:#fdfbf7;--mj-left:#c4c9d1;--mj-bottom:#949ca8;--mj-shadow:#00000059;--mj-select-border:#00000026;--mj-border:#00000040}html.dark{--mj-top:#2c3e50;--mj-left:#1e2a36;--mj-bottom:#121921;--mj-shadow:#000000d9;--mj-select-border:#fff3;--mj-border:#ffffff26}.mahjong-main-content{flex-direction:column;align-items:center;width:100%;padding:1rem;display:flex}.mahjong-board-container{justify-content:center;width:100%;display:flex}.mahjong-tile{-webkit-user-select:none;user-select:none;background:#fdfbf7;border:1px solid #dcdde1;border-radius:6px;width:100%;height:100%;transition:filter .2s,transform .5s cubic-bezier(.34,1.56,.64,1),box-shadow .5s cubic-bezier(.34,1.56,.64,1);position:relative;box-shadow:-1px 1px #e0e0e0,-2px 2px #d0d0d0,-3px 3px silver,-4px 4px #b0b0b0,-7px 7px 6px #0000004d}.mahjong-tile-face{-webkit-user-select:none;user-select:none;border-radius:6px;width:100%;height:100%;position:relative;overflow:hidden}.mahjong-tile-bg{object-fit:fill;z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.mahjong-tile-symbol{object-fit:contain;z-index:1;pointer-events:none;width:100%;height:100%;box-shadow:inset -.5px 0 0 var(--mj-border), inset 0 .5px 0 var(--mj-border);padding:4px;position:absolute;inset:0}.mahjong-tile:before{content:"";background:var(--mj-bottom);transform-origin:top;width:90%;height:4px;box-shadow:inset -1px 0 0 var(--mj-border), inset 0 -1px 0 var(--mj-border);border-bottom-right-radius:4px;border-bottom-left-radius:2px;position:absolute;top:100%;left:2px;transform:skew(-45deg)}.mahjong-tile:after{content:"";background:var(--mj-left);transform-origin:100%;width:4px;height:90%;box-shadow:inset 0 -1px 0 var(--mj-border), inset -1px 0 0 var(--mj-border);border-top-left-radius:4px;border-bottom-left-radius:2px;position:absolute;top:3px;right:100%;transform:skewY(-45deg)}.mahjong-tile.is-blocked{filter:brightness(.75)contrast(.8)saturate(.5);cursor:default}html.dark .mahjong-tile.is-blocked{filter:brightness(.5)contrast(.9)saturate(.5)}.mahjong-tile.is-free{cursor:pointer}.mahjong-tile.is-selected{box-shadow:inset 0 0 0 2px var(--mj-select-border), -1px 1px 0px #e0e0e0, -2px 2px 0px #d0d0d0, -3px 3px 0px silver, -4px 4px 0px #b0b0b0, 8px 8px 12px var(--mj-shadow)}html.dark .mahjong-tile{background:#2c3e50;border-color:#1a252f;box-shadow:-1px 1px #243342,-2px 2px #1c2834,-3px 3px #151e27,-4px 4px #0e141a,-5px 5px 8px #0009}html.dark .mahjong-tile:before{background:#1a252f}html.dark .mahjong-tile:after{background:#243342}html.dark .mahjong-tile.is-selected{box-shadow:inset 0 0 0 2px var(--mj-select-border), -1px 1px 0px #243342, -2px 2px 0px #1c2834, -3px 3px 0px #151e27, -4px 4px 0px #0e141a, 8px 8px 12px var(--mj-shadow)}.mahjong-stats{background:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border);justify-content:center;gap:3rem;padding:1.5rem;display:flex}.mahjong-preview-grid{background:var(--color-bg-glass);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:center;gap:1.5rem;padding:1.5rem;display:flex}.mahjong-lobby-grid{grid-template-columns:minmax(240px,1fr) 1fr minmax(240px,1fr);justify-content:center;gap:2rem;width:100%;display:grid}.mahjong-player-card{background:var(--color-bg-glass);border:1px solid var(--color-border);border-radius:var(--radius-md);width:200px;box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;cursor:pointer;padding:.35rem;transition:all .2s}.mahjong-player-card:hover{box-shadow:var(--shadow-md)}@media (width<=1060px){.mahjong-lobby-grid{grid-template-columns:1fr;max-width:600px;margin:0 auto}}@media (width<=600px){.mahjong-stats{gap:1.5rem;padding:1rem}}.ttt-main-content{flex:1;min-height:0;padding:1rem;display:flex}.ttt-grid{grid-template-columns:minmax(240px,1fr) 1fr minmax(240px,1fr);grid-template-areas:"players board betting";place-items:stretch stretch;gap:2rem;width:100%;height:520px;display:grid}.ttt-players-panel{flex-direction:column;grid-area:players;min-height:200px;display:flex}.ttt-board-panel{grid-area:board;justify-content:center;align-self:center;min-height:0;display:flex}.ttt-betting-panel{flex-direction:column;grid-area:betting;min-height:0;padding-left:1rem;display:flex}.ttt-player-card{background:var(--color-bg-glass);border:1px solid var(--color-border);border-radius:var(--radius-md);width:200px;box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;cursor:pointer;padding:.35rem;transition:all .2s}.ttt-player-card:hover{box-shadow:var(--shadow-md)}@media (width<=1060px){.ttt-grid{grid-template:"board board""players betting"minmax(250px,1fr)/240px 1fr;gap:1.5rem;height:auto}.ttt-board-panel{padding-bottom:1.5rem}.ttt-betting-panel{padding-left:0}}@media (width<=600px){.ttt-main-content{padding:1rem}.ttt-grid{grid-template:"board""betting"/1fr;gap:1.5rem}.ttt-players-panel{display:none}.ttt-betting-panel{padding-bottom:1.5rem}}@media (width<=500px){.ttt-main-content{padding:.75rem}.ttt-grid{gap:1rem}.ttt-board-panel,.ttt-betting-panel{padding-bottom:1rem}}.ttt-cell{width:80px;height:80px;color:var(--color-text);-webkit-user-select:none;user-select:none;background:0 0;justify-content:center;align-items:center;font-size:32px;font-weight:700;transition:background .15s,transform .1s;display:flex}.ttt-cell.interactive{cursor:pointer}.ttt-cell.interactive:hover{background:var(--btn-ghost-hover-bg)}.ttt-cell.interactive:active{background:var(--btn-ghost-active-bg);transform:scale(.95)}.ttt-cell.disabled-empty{cursor:default;background:#0000001a}html.dark .ttt-cell.disabled-empty{background:#00000040}.horse-sprite{flex-shrink:0;display:block}@keyframes horse-gallop-sprite{0%{background-position-x:0}to{background-position-x:calc(-1 * var(--sprite-w))}}.horse-sprite--running{animation:.4s steps(4,end) infinite horse-gallop-sprite}@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:.75s ease-in-out infinite horse-winner-scale}.decoder-main-content{flex:1;min-height:0;padding:1rem;display:flex}.decoder-grid{grid-template-columns:minmax(240px,1fr) 1fr minmax(240px,1fr);grid-template-areas:"players board history";place-items:stretch stretch;gap:2rem;width:100%;height:520px;display:grid}.decoder-players-panel{flex-direction:column;grid-area:players;min-height:250px;display:flex}.decoder-board-panel{grid-area:board;align-self:center;min-height:0}.decoder-history-panel{flex-direction:column;grid-area:history;min-height:0;padding-left:1rem;display:flex}.decoder-players-container{flex:1;gap:8px;min-height:0;padding-right:4px;overflow-y:auto}.decoder-player-card{background:var(--color-bg-glass);border:1px solid var(--color-border);border-radius:var(--radius-md);width:200px;box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;cursor:pointer;padding:.35rem;transition:all .2s}.decoder-player-card:hover{box-shadow:var(--shadow-md)}.decoder-board-stack{flex-direction:column;justify-content:center;align-items:center;gap:3rem;height:100%;display:flex}.decoder-inputs-wrapper{justify-content:center;gap:15px;display:flex}.decoder-char-input{text-align:center;border-radius:var(--radius-md);border:2px solid var(--color-border);background:var(--glass-surface);width:70px;height:90px;color:var(--color-text);box-shadow:var(--shadow-sm);caret-color:#0000;text-transform:uppercase;outline:none;font-family:inherit;font-size:3rem;transition:border-color .2s}.decoder-char-input:focus{border-color:var(--color-primary)}@media (width<=1060px){.decoder-grid{grid-template:"board board""players history"400px/240px 1fr;gap:1.5rem;height:auto}.decoder-board-panel{padding-top:3rem;padding-bottom:1.5rem}.decoder-history-panel{padding-left:0}}@media (width<=600px){.decoder-main-content{padding:1rem}.decoder-grid{grid-template:"board""history"/1fr;gap:1.5rem}.decoder-players-panel{display:none}.decoder-history-panel{padding-bottom:1.5rem}.decoder-board-stack{gap:1.5rem}.decoder-board-panel{padding-top:2rem}}@media (width<=500px){.decoder-main-content{padding:.75rem}.decoder-grid{gap:1rem}.decoder-board-panel,.decoder-history-panel{padding-bottom:1rem}.decoder-inputs-wrapper{gap:10px}.decoder-char-input{width:clamp(45px,18vw,70px);height:clamp(60px,24vw,90px);font-size:clamp(2rem,8vw,3rem)}}
