@import"https://fonts.googleapis.com/css2?family=Poppins:wght@700&display=swap";.error-display{padding:1rem;border-radius:var(--radius-md, 8px);margin:1rem 0;border-left:4px solid;border-left-color:var(--error-border, var(--color-error));background-color:var(--error-bg, var(--color-error-bg));animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-header{display:flex;align-items:flex-start;gap:.75rem}.error-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.error-content{flex:1;min-width:0}.error-message{font-weight:500;color:var(--error-text, var(--color-error));margin-bottom:.25rem}.error-status{font-size:.875rem;color:var(--error-subtext, var(--text-muted));font-family:var(--font-family-mono)}.error-dismiss{background:transparent;border:none;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--error-dismiss, var(--text-muted));padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm, 4px);transition:all .2s ease;flex-shrink:0}.error-dismiss:hover{background-color:var(--bg-hover);color:var(--error-text, var(--color-error))}.error-dismiss:focus{outline:2px solid var(--error-text, var(--color-error));outline-offset:2px}.error-fields{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-secondary)}.error-fields-title{font-weight:600;font-size:.875rem;margin-bottom:.5rem;color:var(--error-text, var(--color-error))}.error-fields-list{list-style:none;padding:0;margin:0}.error-field-item{padding:.25rem 0;font-size:.875rem;color:var(--error-subtext, var(--text-muted))}.error-field-item strong{color:var(--error-text, var(--color-error));font-family:var(--font-family-mono)}.error-field-context{margin-top:.5rem;font-size:.875rem;color:var(--error-subtext, var(--text-muted))}.error-field-context code{background-color:var(--bg-hover);padding:.125rem .25rem;border-radius:3px;font-family:var(--font-family-mono)}.error-validation{--error-bg: var(--color-warning-bg);--error-text: var(--color-warning);--error-subtext: var(--text-secondary);--error-dismiss: var(--color-warning);--error-border: var(--color-warning)}.error-not-found{--error-bg: var(--color-info-bg);--error-text: var(--color-info);--error-subtext: var(--text-secondary);--error-dismiss: var(--color-info);--error-border: var(--color-info)}.error-unauthorized,.error-server{--error-bg: var(--color-error-bg);--error-text: var(--color-error);--error-subtext: var(--text-secondary);--error-dismiss: var(--color-error);--error-border: var(--color-error)}.error-network{--error-bg: var(--bg-tertiary);--error-text: var(--text-primary);--error-subtext: var(--text-secondary);--error-dismiss: var(--text-secondary);--error-border: var(--border-primary)}.error-generic{--error-bg: var(--color-error-bg);--error-text: var(--color-error);--error-subtext: var(--text-secondary);--error-dismiss: var(--color-error);--error-border: var(--color-error)}@media(max-width:768px){.error-display{padding:.75rem;margin:.75rem 0}.error-icon{font-size:1.25rem}.error-message{font-size:.9375rem}.error-status{font-size:.8125rem}}.form-input{margin-bottom:1.5rem;background:transparent!important}.auth-form-compact .form-input{margin-bottom:0!important}.auth-form-input,.auth-form-input.form-input,.auth-input-group .form-input{background:transparent!important;padding:0!important;border:none!important;border-radius:0!important;box-shadow:none!important}.form-input__label{display:block;font-weight:500;font-size:.9375rem;color:var(--text-primary);margin-bottom:.5rem}.form-input__required{color:var(--color-error);margin-left:.25rem}.form-input__field{width:100%;padding:.75rem 1rem;font-size:1rem;line-height:1.5;color:var(--text-primary);background-color:var(--input-bg);border:2px solid var(--border-primary);border-radius:8px;transition:all .2s ease;box-sizing:border-box}.form-input__field:focus{outline:2px solid transparent;border-color:var(--border-focus);box-shadow:0 0 0 3px rgb(var(--brand-accent-rgb),.15)}.form-input__field:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.form-input__field:disabled{background-color:var(--bg-tertiary);color:var(--text-muted);cursor:not-allowed}.form-input__field::placeholder{color:var(--text-muted)}.auth-form-input .form-input__field{background-color:var(--input-bg)!important;border:2px solid var(--border-primary)!important;color:var(--text-primary)!important;padding:.875rem 1rem!important;border-radius:12px;font-size:1rem}.auth-form-input .form-input__field:focus{border-color:var(--brand-accent)!important;box-shadow:0 0 0 3px rgb(var(--brand-accent-rgb),.15)!important}.auth-form-input .form-input__field:hover{border-color:var(--border-hover)!important}.auth-form-input .form-input__field::placeholder{color:var(--text-secondary)}.form-input--error .form-input__label{color:var(--color-error)}.auth-form-input .form-input__label{font-size:.875rem!important;font-weight:600!important;color:var(--text-primary)!important;margin-bottom:.5rem!important}.auth-input-group .form-input .form-input__field{background-color:var(--bg-secondary)!important;border:2px solid var(--border-primary)!important;color:var(--text-primary)!important;padding:.875rem 1rem!important;border-radius:12px!important;font-size:1rem!important}.auth-input-group .form-input .form-input__field:focus{border-color:var(--brand-accent)!important;box-shadow:0 0 0 3px rgb(var(--brand-accent-rgb),.15)!important}.auth-input-group .form-input .form-input__field:hover{border-color:var(--border-hover)!important}.auth-input-group .form-input .form-input__field::placeholder{color:var(--text-secondary)!important}.auth-input-group .form-input .form-input__label{font-size:.875rem!important;font-weight:600!important;color:var(--text-primary)!important;margin-bottom:.5rem!important}.form-input__field--error{border-color:var(--color-error);background-color:var(--color-error-bg)}.form-input__field--error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-bg)}.form-input__error{display:flex;align-items:flex-start;gap:.375rem;margin-top:.5rem;padding:.5rem .75rem;background-color:var(--color-error-bg);border-left:3px solid var(--color-error);border-radius:4px;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.form-input__error-icon{font-size:1rem;line-height:1;flex-shrink:0}.form-input__error-text{font-size:.875rem;color:var(--color-error);line-height:1.4}.form-input__helper{margin-top:.5rem;font-size:.875rem;color:var(--text-secondary);line-height:1.4}.auth-form-compact .form-input__helper{margin-top:.125rem!important}.auth-form-input .form-input__helper,.auth-input-group .form-input .form-input__helper{font-size:.8125rem!important;color:var(--text-secondary)!important;margin-top:.25rem!important}.form-input input[type=password]{font-family:var(--font-family-mono);letter-spacing:.05em}@media(max-width:768px){.form-input{margin-bottom:1.25rem}.form-input__field{padding:.625rem .875rem;font-size:.9375rem}.form-input__label{font-size:.875rem}.form-input__error-text,.form-input__helper{font-size:.8125rem}}.form-skeleton{display:flex;flex-direction:column;gap:1.25rem;animation:fadeIn .3s ease-in}.form-skeleton--compact{gap:.875rem}.form-skeleton__field{display:flex;flex-direction:column;gap:.5rem}.form-skeleton__label{width:120px;height:16px;background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shimmer) 50%,var(--skeleton-base) 75%);background-size:200% 100%;border-radius:4px;animation:shimmer 1.5s infinite}.form-skeleton__input{width:100%;height:48px;background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shimmer) 50%,var(--skeleton-base) 75%);background-size:200% 100%;border-radius:var(--radius-md);animation:shimmer 1.5s infinite}.form-skeleton__button{width:100%;height:48px;background:linear-gradient(90deg,var(--skeleton-base) 25%,var(--skeleton-shimmer) 50%,var(--skeleton-base) 75%);background-size:200% 100%;border-radius:var(--radius-md);animation:shimmer 1.5s infinite;margin-top:.5rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:400px;padding:2rem;background-color:var(--bg-primary)}.error-boundary__content{max-width:600px;width:100%;padding:2rem;background:var(--bg-elevated);border-radius:8px;box-shadow:var(--shadow-md);text-align:center}.error-boundary__icon{font-size:3rem;margin-bottom:1rem}.error-boundary__title{margin:0 0 1rem;color:var(--color-error);font-size:1.5rem;font-weight:600}.error-boundary__message{margin:0 0 1.5rem;color:var(--text-primary);line-height:1.6}.error-boundary__details{margin:1.5rem 0;padding:1rem;background:var(--bg-tertiary);border-radius:4px;text-align:left}.error-boundary__details summary{cursor:pointer;font-weight:600;margin-bottom:.5rem;-webkit-user-select:none;user-select:none}.error-boundary__details summary:hover{color:var(--text-link)}.error-boundary__error-text,.error-boundary__stack{margin:.5rem 0;padding:.75rem;background:var(--bg-elevated);border:1px solid var(--border-secondary);border-radius:4px;font-family:Courier New,monospace;font-size:.85rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.error-boundary__actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.error-boundary__button{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.error-boundary__button:focus{outline:2px solid var(--border-focus);outline-offset:2px}.error-boundary__button--primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text)}.error-boundary__button--primary:hover{background-color:var(--btn-primary-hover)}.error-boundary__button--secondary{background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text)}.error-boundary__button--secondary:hover{background-color:var(--btn-secondary-hover)}.error-boundary__warning{margin-top:1rem;padding:.75rem;background:var(--color-warning-bg);border:1px solid var(--color-warning);border-radius:4px;color:var(--color-warning);font-size:.9rem}@media(max-width:600px){.error-boundary{padding:1rem;min-height:300px}.error-boundary__content{padding:1.5rem}.error-boundary__icon{font-size:2rem}.error-boundary__title{font-size:1.25rem}.error-boundary__actions{flex-direction:column}.error-boundary__button{width:100%}}.breadcrumb{position:fixed;top:20px;left:50%;transform:translate(-50%);font-size:.9rem;color:var(--text-secondary);z-index:var(--z-dropdown);text-shadow:0 2px 4px rgb(0 0 0 / 30%);white-space:nowrap;display:none}.breadcrumb-link{background:none;border:none;color:var(--brand-accent);font-size:.9rem;font-weight:500;cursor:pointer;padding:0;text-shadow:0 2px 4px rgb(0 0 0 / 30%);transition:all .2s ease}.breadcrumb-link:hover{color:var(--brand-accent);text-shadow:0 0 10px rgb(254 119 67 / 60%)}.breadcrumb-home{color:var(--brand-accent);cursor:pointer;transition:all .2s ease;font-weight:500}.breadcrumb-home:hover{color:var(--brand-accent);text-shadow:0 0 10px rgb(254 119 67 / 60%)}.breadcrumb-separator{color:var(--text-tertiary);margin:0 .5rem;opacity:.6;font-size:1.1rem;line-height:1}.breadcrumb-current{color:var(--text-primary);font-weight:500}.auth-container{--primary-orange: var(--brand-accent);--dark-blue: var(--brand-primary);--accent-blue: var(--brand-secondary);--auth-card-bg: var(--bg-secondary);--auth-card-shadow: var(--shadow-xl);--auth-input-bg: var(--input-bg);--auth-input-border: var(--input-border);--auth-input-focus-border: var(--input-focus-border);--auth-text-primary: var(--text-primary);--auth-text-secondary: var(--text-secondary);--auth-link-color: var(--brand-accent);--auth-error-text: var(--color-error);--auth-success-text: var(--color-success);position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;padding-top:80px;background:var(--bg-primary);overflow:hidden}.auth-container.auth-container--compact{padding:1.5rem 1rem}.auth-card{position:relative;width:100%;max-width:440px;background:var(--auth-card-bg);border-radius:var(--border-radius-lg);box-shadow:var(--auth-card-shadow);padding:2.5rem;animation:slideUp .5s ease-out;border:1px solid var(--border-primary)}.auth-card-compact{padding:1.75rem 2.5rem}.auth-card-large{max-width:520px}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center;margin-bottom:2rem}.auth-card-compact .auth-header{margin-bottom:1.25rem}.auth-logo{display:inline-flex;margin-bottom:1rem;position:relative;overflow:visible;z-index:var(--z-base)}.auth-card-compact .auth-logo{margin-bottom:.5rem}.logo-icon{font-size:3.5rem;line-height:1;background:linear-gradient(90deg,var(--color-success) 0%,var(--color-success) 33%,var(--btn-primary-text) 33%,var(--btn-primary-text) 66%,var(--color-error) 66%,var(--color-error) 100%);padding:.5rem .75rem;border-radius:16px;box-shadow:0 4px 8px #0000004d,inset 0 -2px 4px #00000026,inset 0 2px 4px #ffffff40;border:3px solid rgb(255 255 255 / 40%);position:relative;animation:bounce 2s ease-in-out infinite;text-shadow:2px 2px 4px rgb(0 0 0 / 40%),-1px -1px 2px rgb(255 255 255 / 20%);overflow:visible}.logo-icon:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgb(255 255 255 / 30%) 0%,transparent 50%,rgb(0 0 0 / 10%) 100%);border-radius:16px;pointer-events:none}.logo-icon:after{content:"💨";position:absolute;left:-35px;top:5px;font-size:2.5rem;opacity:0;animation:steam1 4s ease-in-out infinite;pointer-events:none}.auth-logo:before{content:"💨";position:absolute;left:25px;top:0;font-size:2.2rem;opacity:0;animation:steam2 4s ease-in-out infinite 1.3s;pointer-events:none}.auth-logo:after{content:"💨";position:absolute;left:5px;top:-5px;font-size:2rem;opacity:0;animation:steam3 4s ease-in-out infinite 2.6s;pointer-events:none}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes steam1{0%{opacity:0;transform:translateY(0) translate(0) scale(.3) rotate(0)}10%{opacity:.9}to{opacity:0;transform:translateY(-60px) translate(30px) scale(1.8) rotate(15deg)}}@keyframes steam2{0%{opacity:0;transform:translateY(0) translate(0) scale(.3) rotate(0)}10%{opacity:.9}to{opacity:0;transform:translateY(-55px) translate(20px) scale(1.7) rotate(-10deg)}}@keyframes steam3{0%{opacity:0;transform:translateY(0) translate(0) scale(.3) rotate(0)}10%{opacity:.9}to{opacity:0;transform:translateY(-50px) translate(25px) scale(1.6) rotate(5deg)}}.auth-title{font-size:2rem;font-weight:700;color:var(--auth-text-primary);margin:0 0 .5rem;letter-spacing:-.5px}.auth-card-compact .auth-title{font-size:1.75rem;margin:0 0 .25rem}.auth-subtitle{font-size:.9375rem;color:var(--auth-text-secondary);margin:0}.auth-card-compact .auth-subtitle{font-size:.8125rem}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-form-compact{gap:.875rem}.auth-input-group{display:flex;flex-direction:column;gap:.5rem}.auth-form-compact .auth-input-group{gap:.3rem}.auth-label{font-size:.875rem;font-weight:600;color:var(--text-primary);display:block;margin-bottom:.5rem}.auth-label-error{color:var(--error-color);font-weight:500;font-size:.8125rem}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input{width:100%;padding:.875rem 1rem .875rem 3rem;font-size:1rem;color:var(--text-primary);background:var(--auth-input-bg)!important;border:2px solid var(--auth-input-border);border-radius:var(--border-radius);transition:all var(--transition-speed);outline:2px solid transparent}.auth-input:-webkit-autofill,.auth-input:-webkit-autofill:hover,.auth-input:-webkit-autofill:focus,.auth-input:-webkit-autofill:active{box-shadow:0 0 0 1000px var(--input-bg) inset!important;-webkit-text-fill-color:var(--text-primary)!important;background-color:var(--input-bg)!important;-webkit-transition:background-color 5000s ease-in-out 0s;transition:background-color 5000s ease-in-out 0s}.auth-input::placeholder{color:var(--text-secondary)}.auth-input:hover{border-color:var(--border-hover)}.auth-input:focus{background:var(--input-focus-bg);border-color:var(--auth-input-focus-border);box-shadow:0 0 0 4px #fe774340;color:var(--text-primary)}.auth-input-error{border-color:var(--error-color)}.auth-input-error:focus{border-color:var(--error-color);box-shadow:0 0 0 4px #ef44441a}.auth-input-with-toggle{padding-right:3.5rem}.auth-input-icon{position:absolute;left:1rem;color:var(--text-secondary);pointer-events:none;transition:color var(--transition-speed)}.auth-input:focus~.auth-input-icon,.auth-input:not(:placeholder-shown)~.auth-input-icon{color:var(--brand-accent)}.auth-input-icon-right{position:absolute;right:1rem;color:var(--text-muted);pointer-events:none}.auth-input-toggle{position:absolute;right:1rem;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all var(--transition-speed)}.auth-input-toggle:hover{color:var(--brand-accent);background:var(--bg-hover)}.auth-input-toggle:disabled{opacity:.5;cursor:not-allowed}.auth-hint{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-primary);padding:.25rem 0}.auth-form-compact .auth-hint{font-size:.75rem;padding:.1875rem 0;gap:.375rem}.auth-hint-error{color:var(--error-color)}.auth-hint-warning{color:var(--warning-color)}.auth-hint-success{color:var(--success-color)}.auth-alert{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;border-radius:var(--border-radius);font-size:.875rem;line-height:1.5;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.auth-alert-error{background:var(--color-error-bg);color:var(--color-error);border:1px solid rgb(var(--game-error-rgb),.2)}.auth-alert-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid rgb(var(--game-warning-rgb),.2)}.lockout-countdown{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem;background:rgb(var(--game-warning-rgb),.05);border-radius:6px}.lockout-time{font-weight:600;font-size:.9rem;color:var(--color-warning);min-width:50px}.lockout-progress-bar{flex:1;height:8px;background:rgb(var(--game-warning-rgb),.15);border-radius:4px;overflow:hidden;position:relative}.lockout-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-warning),var(--color-error));border-radius:4px;transition:width 1s linear;box-shadow:0 0 8px rgb(var(--game-warning-rgb),.5)}.auth-alert-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid rgb(var(--game-success-rgb),.2)}.password-strength-bar{height:4px;background:#d7d7d74d;border-radius:2px;overflow:hidden;margin-top:.5rem}.auth-form-compact .password-strength-bar{margin-top:.375rem;height:3px}.password-strength-fill{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:2px}.strength-weak{background:var(--color-error)}.strength-moderate{background:var(--color-warning)}.strength-good,.strength-strong{background:var(--color-success)}.auth-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-speed);outline:2px solid transparent;text-decoration:none}.auth-form-compact .auth-button{padding:.75rem 1.5rem;font-size:.9375rem}.auth-button-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);box-shadow:0 4px 12px #fe77434d}.auth-button-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-button-primary:hover:not(:disabled){background:var(--btn-primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px #fe774366}.auth-button-primary:active:not(:disabled){transform:translateY(0)}.auth-button-secondary{background:transparent;color:var(--auth-text-primary);border:2px solid var(--auth-input-border)}.auth-button-secondary:hover{background:var(--bg-hover);border-color:var(--brand-accent);color:var(--brand-accent)}.auth-spinner{width:50px;height:50px;border:4px solid rgb(0 0 0 / 10%);border-top-color:var(--color-success);border-radius:50%;margin:0 auto 1rem}.animate-spin{animation:spin 1s linear infinite}.auth-options{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.875rem}.auth-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--auth-text-primary);-webkit-user-select:none;user-select:none}.auth-checkbox{width:1.125rem;height:1.125rem;accent-color:var(--primary-orange);cursor:pointer}.auth-link{color:var(--text-link);text-decoration:none;font-weight:600;transition:color var(--transition-speed)}.auth-link:hover{color:var(--brand-accent)}.auth-divider{display:flex;align-items:center;gap:1rem;margin:.5rem 0;color:var(--text-secondary);font-size:.875rem}.auth-form-compact .auth-divider{margin:.125rem 0;font-size:.75rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-secondary)}.auth-footer{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-secondary);font-size:.875rem}.auth-footer-link{color:var(--text-link);text-decoration:none;font-weight:500;transition:color var(--transition-speed)}.auth-footer-link:hover{color:var(--brand-accent)}.auth-footer-separator{color:var(--text-muted)}.auth-required{color:var(--color-error)}.auth-resend-button{margin-top:.5rem;display:inline-flex;align-items:center;gap:.25rem;text-decoration:underline;cursor:pointer}.auth-resend-button:disabled{cursor:not-allowed;opacity:.6}.auth-terms{font-size:.8125rem;color:var(--text-secondary);line-height:1.5;text-align:center}.auth-form-compact .auth-terms{font-size:.6875rem;line-height:1.3;margin:-.375rem 0}.auth-success-text{font-size:1.1rem;margin-bottom:1.5rem;color:var(--text-primary)}.auth-email-highlight{font-size:1.2rem;font-weight:700;color:var(--color-success);margin-bottom:1.5rem}.auth-instruction-box{background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;text-align:left}.auth-instruction-title{margin-bottom:.5rem;font-weight:700;color:var(--text-primary)}.auth-instruction-list{margin-left:1.5rem;line-height:1.8;color:var(--text-primary)}.auth-instruction-list li{margin-bottom:.5rem}.auth-tip-text{font-size:.9rem;color:var(--text-secondary);margin-bottom:1.5rem}.auth-dev-notice{background:var(--color-success-bg);border:1px solid var(--color-success);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;text-align:center}.auth-dev-notice-text{margin-bottom:0;font-weight:700;color:var(--color-success)}.auth-page{max-width:900px;margin:0 auto;padding:1.5rem 1.5rem 3rem;animation:slideUp .5s ease-out}.auth-page .profile-header{margin-bottom:1.5rem}.profile-container{min-height:100vh;padding:5rem 1rem 2rem;background:var(--bg-primary);position:relative}.profile-container .btn-back{position:absolute;top:1rem;left:1rem;padding:.75rem 1.25rem;background:var(--bg-secondary);border:2px solid var(--border-primary);border-radius:8px;font-weight:700;cursor:pointer;color:var(--text-primary);display:flex;align-items:center;gap:.5rem;transition:all .3s ease;z-index:var(--z-base);box-shadow:var(--shadow-sm)}.profile-container .btn-back:hover{background:linear-gradient(135deg,var(--brand-accent),var(--brand-accent));color:var(--text-inverse);border-color:var(--brand-accent);transform:translate(-4px);box-shadow:0 4px 12px #fe774366}.profile-container .breadcrumb{position:absolute;top:1.2rem;left:50%;transform:translate(-50%);font-size:.95rem;color:var(--text-secondary);text-shadow:1px 1px 2px rgb(0 0 0 / 30%);z-index:var(--z-base);display:flex;align-items:center;gap:.5rem}.profile-wrapper{max-width:900px;margin:0 auto;animation:slideUp .5s ease-out}.profile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:60vh;color:var(--text-primary);font-size:1.125rem}.profile-header{background:var(--auth-card-bg);border-radius:var(--border-radius-lg);padding:2rem;margin-bottom:1.5rem;box-shadow:var(--auth-card-shadow);border:1px solid var(--border-primary);display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.profile-avatar-section{display:flex;align-items:center;gap:1.5rem}.profile-avatar{position:relative;width:80px;height:80px;border-radius:50%;background:var(--brand-accent);display:flex;align-items:center;justify-content:center;color:var(--color-white);box-shadow:0 8px 24px rgb(var(--brand-accent-rgb),.3);overflow:hidden}.profile-avatar-loading:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgb(255 255 255 / 20%) 50%,transparent 100%);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.profile-avatar-edit{position:absolute;bottom:0;right:0;width:32px;height:32px;border-radius:50%;background:var(--primary-orange);color:var(--color-white);border:3px solid var(--card-bg);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-speed);box-shadow:0 2px 8px #0003;z-index:var(--z-base)}.profile-avatar-edit:hover{transform:scale(1.15);box-shadow:0 4px 16px rgb(var(--brand-accent-rgb),.6);background:linear-gradient(135deg,var(--brand-accent) 0%,var(--brand-accent-active) 100%)}.profile-avatar-edit:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.profile-avatar-edit:active{transform:scale(1.05)}.profile-header-info h1{font-size:1.75rem;font-weight:700;color:var(--dark-blue);margin:0 0 .5rem}.profile-join-date{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary);margin:0}.profile-logout-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;color:var(--dark-blue);border:2px solid var(--input-border);border-radius:var(--border-radius);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all var(--transition-speed)}.profile-logout-btn:hover{background:rgb(var(--game-error-rgb),.1);border-color:var(--game-error);color:var(--game-error);transform:translateY(-1px);box-shadow:0 4px 12px rgb(var(--game-error-rgb),.2)}.profile-logout-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.profile-logout-btn:active{transform:translateY(0)}.profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--card-bg);border-radius:var(--border-radius);padding:1.5rem;box-shadow:0 4px 12px #0000001a;display:flex;align-items:center;gap:1rem;transition:all var(--transition-speed)}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--color-white)}.stat-icon-games{background:var(--color-warning)}.stat-icon-wins{background:var(--color-success)}.stat-icon-ratio,.stat-icon-time{background:var(--brand-secondary)}.stat-icon-elo{background:var(--brand-accent)}.stat-icon-streak{background:linear-gradient(135deg,var(--color-warning),var(--brand-accent))}.stat-content{flex:1}.stat-value{font-size:1.75rem;font-weight:700;color:var(--dark-blue);line-height:1;margin-bottom:.25rem}.stat-label{font-size:.875rem;color:var(--text-secondary)}.profile-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.profile-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;background:var(--card-bg);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-speed)}.profile-tab:hover{color:var(--text-primary);background:#ffffff1a;border-color:var(--border-hover)}.profile-tab.active{color:var(--btn-primary-text);background:var(--btn-primary-bg);box-shadow:0 4px 12px rgb(var(--brand-accent-rgb),.3)}.profile-content{background:var(--card-bg);border-radius:var(--border-radius-lg);padding:2rem;box-shadow:var(--card-shadow);margin-bottom:1.5rem;border:1px solid var(--border-primary)}.profile-form{display:flex;flex-direction:column;gap:1.75rem}.profile-section{display:flex;flex-direction:column;gap:.875rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-primary)}.profile-section:last-child{padding-bottom:0;border-bottom:none}.profile-section-title{display:flex;align-items:center;gap:.75rem;font-size:1.125rem;font-weight:700;color:var(--text-primary);margin:0 0 .5rem;padding-bottom:.75rem;border-bottom:2px solid var(--border-secondary)}.profile-toggle-label{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--input-bg);border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-speed)}.profile-toggle-label:hover{background:#447d9b1a}.profile-toggle-info{display:flex;flex-direction:column;gap:.25rem}.profile-toggle-title{font-size:.9375rem;font-weight:600;color:var(--dark-blue)}.profile-toggle-desc{font-size:.8125rem;color:#273f4f99}.profile-toggle{position:relative;width:48px;height:26px;background:#273f4f33;border:none;border-radius:13px;cursor:pointer;transition:background-color var(--transition-speed);padding:0}.profile-toggle.active{background:var(--primary-orange)}.profile-toggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.profile-toggle-slider{position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--color-white);border-radius:50%;box-shadow:0 2px 4px #0003;transition:transform var(--transition-speed);pointer-events:none}.profile-toggle.active .profile-toggle-slider{transform:translate(22px)}.profile-theme-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.profile-theme-option{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;background:var(--input-bg);border:2px solid transparent;border-radius:var(--border-radius);cursor:pointer;transition:all var(--transition-speed);font-size:.875rem;font-weight:600;color:var(--dark-blue)}.profile-theme-option:hover{background:rgb(var(--brand-secondary-rgb),.1);border-color:var(--brand-secondary)}.profile-theme-option.active{background:rgb(var(--brand-accent-rgb),.1);border-color:var(--brand-accent);color:var(--brand-accent)}.profile-theme-option:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.theme-preview{width:48px;height:48px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.theme-preview-light{background:#f3f4f6}.theme-preview-dark{background:#273f4f}.theme-preview-auto{background:linear-gradient(90deg,#fff 50%,#273f4f 50%)}.profile-danger-zone{background:rgb(var(--game-error-rgb),.05);border:2px solid rgb(var(--game-error-rgb),.2);border-radius:var(--border-radius-lg);padding:1.5rem}.profile-danger-text{font-size:.875rem;color:var(--game-error);opacity:.9;margin:.5rem 0 1rem;line-height:1.5}.profile-danger-btn{padding:.75rem 1.5rem;background:transparent;color:var(--game-error);border:2px solid var(--game-error);border-radius:var(--border-radius);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all var(--transition-speed)}.profile-danger-btn:hover{background:var(--game-error);color:var(--color-white);box-shadow:0 4px 12px rgb(var(--game-error-rgb),.3)}.profile-danger-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}@media(max-width:768px){.auth-container{padding-top:80px}.btn-back{top:15px;left:15px;padding:10px 14px}.breadcrumb{font-size:.875rem;top:24px}.auth-card{padding:2rem 1.5rem}.auth-card-large{max-width:100%}.auth-title{font-size:1.75rem}.profile-header,.profile-avatar-section{flex-direction:column;text-align:center}.profile-stats{grid-template-columns:repeat(2,1fr)}.profile-tabs{flex-direction:column}.profile-theme-selector{grid-template-columns:1fr;gap:.75rem}.profile-theme-option{flex-direction:row;justify-content:flex-start;padding:.875rem 1rem}.theme-preview{width:40px;height:40px}.auth-options{flex-direction:column;align-items:flex-start}.profile-container .btn-back{padding:.5rem .75rem;font-size:.9rem}.profile-container .breadcrumb{font-size:.85rem;top:1rem}}@media(max-width:480px){.breadcrumb{display:none}.btn-back{top:10px;left:10px;padding:8px 12px}.auth-container{padding:1rem .5rem;padding-top:60px}.auth-card{padding:1.5rem 1rem}.logo-icon{font-size:3rem}.auth-title{font-size:1.5rem}.profile-stats{grid-template-columns:1fr}.stat-card{padding:1rem}.profile-content{padding:1.5rem 1rem}.profile-container .btn-back{padding:.4rem .6rem;font-size:.85rem;gap:.3rem}.profile-container .breadcrumb{display:none}}.auth-input:focus-visible,.auth-button:focus-visible,.auth-checkbox:focus-visible,.auth-link:focus-visible{outline:2px solid var(--primary-orange);outline-offset:2px}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.online-players{margin-top:1.5rem;padding:.875rem 1rem;background:linear-gradient(135deg,#fe774314,#447d9b14);border:1px solid rgb(254 119 67 / 20%);border-radius:var(--border-radius);display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all var(--transition-speed) ease}.online-players:hover{background:linear-gradient(135deg,#fe77431f,#447d9b1f);border-color:#fe77434d;transform:translateY(-1px)}.online-players svg{color:var(--primary-orange);flex-shrink:0}.online-players-text{font-size:.875rem;color:var(--auth-text-primary);font-weight:600;letter-spacing:.02em}.recaptcha-attribution{font-size:.75rem;color:var(--text-secondary);text-align:center;margin-top:1rem;padding:.5rem;line-height:1.5}.recaptcha-attribution a{color:var(--text-link);text-decoration:none;transition:color var(--transition-speed)}.recaptcha-attribution a:hover{color:var(--brand-accent);text-decoration:underline}.oauth-buttons{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.oauth-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:var(--border-radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-speed) ease;border:1px solid transparent;min-width:120px}.oauth-button:disabled{opacity:.7;cursor:not-allowed}.oauth-button svg{flex-shrink:0}.oauth-google{background:var(--neutral-white);color:var(--gray-500);border-color:var(--gray-300)}.oauth-google:focus-visible{outline:2px solid var(--social-google);outline-offset:2px}.oauth-google:hover:not(:disabled){background:var(--bg-gray-light);border-color:var(--gray-300);box-shadow:0 1px 3px #0000001a}.oauth-github{background:var(--social-github);color:var(--neutral-white);border-color:var(--gray-900)}.oauth-github:focus-visible{outline:2px solid var(--social-github);outline-offset:2px}.oauth-github:hover:not(:disabled){background:var(--social-github-light);border-color:var(--gray-800);box-shadow:0 1px 3px #0003}.oauth-discord{background:var(--social-discord);color:var(--neutral-white);border-color:var(--social-discord)}.oauth-discord:focus-visible{outline:2px solid var(--social-discord);outline-offset:2px}.oauth-discord:hover:not(:disabled){background:var(--social-discord-dark);border-color:var(--social-discord-dark);box-shadow:0 1px 3px #5865f24d}@media(max-width:480px){.oauth-buttons{flex-direction:column}.oauth-button{width:100%;justify-content:center}}@media(max-width:768px){.profile-header{flex-direction:column;align-items:flex-start;padding:1.5rem}.profile-avatar-section{width:100%}.profile-logout-btn{width:100%;justify-content:center}.profile-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.profile-username-row{flex-direction:column;align-items:flex-start;gap:.5rem}.profile-join-date{font-size:.85rem}}@media(max-width:480px){.profile-header{padding:1rem;gap:1rem}.profile-avatar{width:64px;height:64px}.profile-avatar-edit{width:28px;height:28px}.profile-avatar-section{flex-direction:column;align-items:center;text-align:center}.profile-header-info{width:100%}.profile-header-info h1{font-size:1.5rem}.profile-quick-stats{font-size:.8rem;padding:.3rem .6rem}.quick-stat svg{width:12px;height:12px}.profile-avatar-actions{flex-direction:column;width:100%}.profile-change-avatar-btn,.profile-delete-avatar-btn{width:100%;justify-content:center}.profile-stats{grid-template-columns:1fr;gap:.75rem}.stat-card{padding:1rem}.stat-icon{width:40px;height:40px}.stat-value{font-size:1.5rem}.stat-label{font-size:.8rem}.breadcrumb{font-size:.85rem}.profile-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.profile-tab{min-width:max-content;padding:.75rem 1rem;font-size:.9rem}.profile-tab svg{width:16px;height:16px}}@media print{.auth-container:before,.auth-footer,.profile-logout-btn,.profile-danger-zone,.online-players,.recaptcha-attribution,.oauth-buttons{display:none}.auth-card,.profile-header,.profile-content{box-shadow:none;border:1px solid rgb(204 204 204)}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--gradient-brand)}.error-boundary__container{background:var(--bg-elevated);border-radius:var(--radius-lg);padding:3rem;max-width:600px;width:100%;box-shadow:var(--shadow-lg);text-align:center}.error-boundary__icon{font-size:4rem;margin-bottom:1rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.error-boundary__title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:1rem}.error-boundary__message{font-size:1.125rem;color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.error-boundary__error-display{margin-bottom:2rem;text-align:left}.error-boundary__details{margin-bottom:2rem;text-align:left;border:1px solid var(--border-secondary);border-radius:var(--radius-sm);overflow:hidden}.error-boundary__details-summary{padding:1rem;background:var(--bg-tertiary);cursor:pointer;font-weight:600;color:var(--text-secondary);-webkit-user-select:none;user-select:none;transition:background-color .2s}.error-boundary__details-summary:hover{background:var(--bg-hover)}.error-boundary__details-content{padding:1rem;background:var(--bg-secondary)}.error-boundary__error-section{margin-bottom:1rem}.error-boundary__error-section:last-child{margin-bottom:0}.error-boundary__error-section strong{display:block;margin-bottom:.5rem;color:var(--text-primary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.error-boundary__code{background:var(--bg-primary);color:var(--text-primary);padding:1rem;border-radius:var(--radius-sm);font-family:var(--font-family-mono);font-size:.875rem;overflow:auto;white-space:pre-wrap;overflow-wrap:break-word;max-height:300px}.error-boundary__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-boundary__button{padding:.75rem 2rem;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.error-boundary__button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.error-boundary__button:active{transform:translateY(0)}.error-boundary__button--primary{background:var(--btn-primary-bg);color:var(--btn-primary-text)}.error-boundary__button--primary:hover{background:var(--btn-primary-hover)}.error-boundary__button--secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text)}.error-boundary__button--secondary:hover{background:var(--btn-secondary-hover)}@media(max-width:768px){.error-boundary{padding:1rem}.error-boundary__container{padding:2rem}.error-boundary__title{font-size:1.5rem}.error-boundary__message{font-size:1rem}.error-boundary__icon{font-size:3rem}.error-boundary__actions{flex-direction:column}.error-boundary__button{width:100%}}.modal-backdrop{position:fixed;inset:0;background:rgb(var(--color-black-rgb) / 42%);z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;opacity:1;animation:modal-fade-in .18s;outline:2px solid transparent}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg-elevated);border-radius:10px;max-width:96vw;min-width:240px;max-height:90vh;overflow-y:auto;padding:1.3em 1em 1em;position:relative;box-shadow:var(--shadow-lg);transform:scale(1);animation:modal-scale-in .15s;outline:2px solid transparent}.modal-content:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}@keyframes modal-scale-in{0%{transform:scale(.97);opacity:0}to{transform:scale(1);opacity:1}}.modal-close-btn,.modal-content button[aria-label="Close modal"]{position:absolute;top:8px;right:10px;background:none;border:none;font-size:1.25em;color:var(--text-tertiary);cursor:pointer;transition:color .13s,background .13s;border-radius:50%;width:1.7em;height:1.7em;display:flex;align-items:center;justify-content:center}.modal-close-btn:focus,.modal-content button[aria-label="Close modal"]:focus{outline:2px solid var(--border-focus);outline-offset:2px;color:var(--border-focus);background:rgb(var(--brand-accent-rgb),.12)}.modal-close-btn:hover,.modal-content button[aria-label="Close modal"]:hover{color:var(--text-primary);background:var(--bg-hover)}.modal-title{margin-top:0;margin-bottom:.4em;font-size:1.3em;color:var(--text-primary);letter-spacing:.01em;font-weight:700;outline:2px solid transparent}.modal-body{margin-top:.7em;color:var(--text-primary);font-size:1em;outline:2px solid transparent;overflow-wrap:break-word;-webkit-user-select:text;user-select:text}.modal-backdrop,.modal-content{-webkit-user-select:none;user-select:none}.modal-content:focus,.modal-backdrop:focus{outline:2px solid var(--border-focus);outline-offset:2px}@media(max-width:600px){.modal-content{min-width:98vw;padding:.7em .4em .4em;max-height:98vh;border-radius:7px}.modal-close-btn,.modal-content button[aria-label="Close modal"]{top:4px;right:6px;font-size:1em;width:1.2em;height:1.2em}.modal-title{font-size:1.05em}.modal-body{margin-top:.3em;font-size:.97em}}.theme-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border:1px solid var(--border-primary);border-radius:var(--radius-md);background-color:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;outline:2px solid transparent}.theme-toggle:hover{background-color:var(--bg-hover);border-color:var(--border-hover);transform:translateY(-1px)}.theme-toggle:active{transform:translateY(0);background-color:var(--bg-active)}.theme-toggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.theme-toggle__icon{font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.theme-toggle__label{white-space:nowrap;-webkit-user-select:none;user-select:none}.theme-toggle--icon{padding:.5rem;min-width:2.5rem;min-height:2.5rem;justify-content:center}.theme-toggle--icon .theme-toggle__label{display:none}.theme-toggle--text{padding:.5rem 1rem}.theme-toggle--text .theme-toggle__icon{display:none}.theme-toggle--full{padding:.5rem 1rem;min-width:140px}.theme-toggle__auto-indicator{font-size:.625rem;padding:.125rem .375rem;border-radius:var(--radius-sm);background-color:var(--color-info-bg);color:var(--color-info);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;margin-left:.25rem}@media(prefers-reduced-motion:reduce){.theme-toggle{transition:none}.theme-toggle:hover{transform:none}}@media(max-width:768px){.theme-toggle{font-size:.8125rem}.theme-toggle--full{min-width:120px}}@media(prefers-contrast:more){.theme-toggle{border-width:2px}.theme-toggle:focus-visible{outline-width:3px}}.toast-container{position:fixed;top:var(--spacing-lg, 2rem);right:var(--spacing-lg, 2rem);z-index:var(--z-overlay);display:flex;flex-direction:column;gap:var(--spacing-sm, .5rem);pointer-events:none}.toast{background:var(--color-info);color:var(--text-inverse);border-radius:var(--border-radius, .5rem);box-shadow:var(--shadow-lg),0 0 0 1px rgb(var(--brand-accent-rgb),.2);padding:var(--spacing-md, 1rem) var(--spacing-lg, 1.5rem);font-size:1.1rem;min-width:280px;max-width:450px;pointer-events:auto;outline:none;display:flex;align-items:center;gap:var(--spacing-sm, .75rem);animation:toast-in .3s cubic-bezier(.4,0,.2,1);border-left:4px solid var(--brand-accent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-weight:600;line-height:1.4}.toast--info{background:var(--color-info);color:var(--text-inverse);border-left-color:var(--brand-accent)}.toast--warning{background:var(--color-warning);color:var(--text-inverse);border-left-color:var(--brand-primary);box-shadow:var(--shadow-lg),0 0 0 1px rgb(var(--brand-accent-rgb),.3)}.toast--error{background:var(--color-error);color:var(--text-inverse);border-left-color:var(--color-error);box-shadow:var(--shadow-lg),0 0 0 1px rgb(var(--game-error-rgb),.3)}.toast--success{background:var(--color-success);color:var(--text-inverse);border-left-color:var(--brand-accent);box-shadow:var(--shadow-lg),0 0 0 1px rgb(var(--brand-light-rgb),.2)}.toast-icon{flex-shrink:0;font-size:1.25em;line-height:1;filter:drop-shadow(0 1px 2px rgb(var(--color-black-rgb) / 30%))}.toast-message{flex:1;word-break:break-word;line-height:1.5}.toast:focus{outline:2px solid var(--border-focus);outline-offset:2px}@media(max-width:600px){.toast-container{right:var(--spacing-md, 1rem);bottom:var(--spacing-md, 1rem);left:var(--spacing-md, 1rem)}.toast{min-width:auto;max-width:100%;font-size:var(--font-size-sm, .9rem);padding:var(--spacing-sm, .75rem) var(--spacing-md, 1rem)}}@keyframes toast-in{0%{opacity:0;transform:translateY(20px) translate(20px) scale(.95)}to{opacity:1;transform:translateY(0) translate(0) scale(1)}}.performance-monitor{position:fixed;top:80px;right:10px;background:var(--bg-elevated);color:var(--text-primary);border-radius:8px;box-shadow:var(--shadow-lg);border:1px solid var(--border-secondary);z-index:var(--z-tooltip);font-family:Monaco,Consolas,monospace;font-size:11px;min-width:250px;max-width:350px}.performance-header{padding:8px 12px;background:var(--bg-tertiary);border-radius:8px 8px 0 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-secondary)}.performance-title{font-weight:700}.performance-status{padding:2px 6px;border-radius:4px;font-size:9px;font-weight:700}.performance-status.good{background:var(--color-success);color:var(--text-inverse)}.performance-status.warning{background:var(--color-warning);color:var(--text-inverse)}.performance-status.poor{background:var(--color-error);color:var(--text-inverse)}.performance-content{padding:12px;max-height:400px;overflow-y:auto}.metric-group{margin-bottom:12px}.metric-group h4{margin:0 0 6px;color:var(--text-tertiary);font-size:10px;text-transform:uppercase;letter-spacing:.5px}.metric{display:flex;justify-content:space-between;align-items:center;padding:2px 0;border-bottom:1px solid var(--border-secondary)}.metric:last-child{border-bottom:none}.metric span:last-child{font-weight:700}.metric .good{color:var(--color-success)}.metric .warning{color:var(--color-warning)}.metric .poor{color:var(--color-error)}.performance-actions{display:flex;gap:6px;margin-top:12px;padding-top:8px;border-top:1px solid var(--border-secondary)}.performance-monitor .btn{padding:4px 8px;border:none;border-radius:4px;cursor:pointer;font-size:10px;font-weight:700}.performance-monitor .btn-primary{background:var(--brand-secondary);color:var(--text-inverse)}.performance-monitor .btn-secondary{background:var(--brand-light);color:var(--color-text-primary)}.performance-analysis{margin-top:12px;padding-top:8px;border-top:1px solid var(--border-secondary)}.analysis-status{padding:4px 8px;border-radius:4px;margin-bottom:6px}.analysis-status.good{background:rgb(var(--game-success-rgb),.2);border:1px solid var(--color-success)}.analysis-status.warning{background:rgb(var(--game-warning-rgb),.2);border:1px solid var(--color-warning)}.analysis-status.poor{background:rgb(var(--game-error-rgb),.2);border:1px solid var(--color-error)}.analysis-details div{padding:1px 0;font-size:10px}.collapsed .performance-content{display:none}.help-overlay{position:fixed;inset:0;background:rgb(var(--brand-primary-rgb) / 85%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);animation:fadeIn .2s ease}.help-panel{background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);border-radius:16px;border:1px solid rgb(var(--brand-secondary-rgb) / 40%);box-shadow:0 20px 60px rgb(var(--color-black-rgb) / 40%);width:min(600px,90vw);max-height:85vh;overflow:hidden;animation:slideUp .3s ease}.help-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:rgb(var(--brand-accent-rgb) / 10%);border-bottom:1px solid rgb(var(--brand-secondary-rgb) / 30%)}.help-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.help-header .close-btn{background:rgb(var(--brand-secondary-rgb) / 20%);border:1px solid rgb(var(--brand-secondary-rgb) / 30%);color:var(--text-secondary);width:32px;height:32px;border-radius:8px;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.help-header .close-btn:hover{background:rgb(var(--brand-accent-rgb) / 20%);border-color:var(--brand-accent);color:var(--brand-accent)}.help-content{padding:1.25rem;overflow-y:auto;max-height:calc(85vh - 70px);color:var(--text-primary)}.help-section{margin-bottom:1.25rem}.help-section:last-child{margin-bottom:0}.help-section h4{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--brand-accent);display:flex;align-items:center;gap:.5rem}.help-section ul{margin:0;padding-left:1.25rem;list-style-type:disc}.indicator-category ul{margin:0;padding-left:1.5rem;list-style:none}.help-section ul ul{padding-left:1rem;margin-top:.25rem;list-style-type:circle}.help-section li{margin-bottom:.375rem;color:rgb(var(--brand-light-rgb) / 90%);font-size:.9rem;line-height:1.5}.indicator-category li{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.9rem;line-height:1.4}.help-section li:last-child{margin-bottom:0}.help-section strong{color:var(--text-primary);font-weight:600}.help-section kbd{display:inline-block;padding:.125rem .375rem;font-family:var(--font-family-mono);font-size:.8rem;background:rgb(var(--brand-secondary-rgb) / 30%);border:1px solid rgb(var(--brand-secondary-rgb) / 50%);border-radius:4px;color:var(--text-secondary)}.help-section .train-legend{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.help-section .train-legend-item{display:flex;align-items:center;gap:.5rem}.indicator-guide{display:flex;flex-direction:column;gap:1rem;margin-top:.75rem}.indicator-category{background:rgb(var(--brand-secondary-rgb) / 10%);border-radius:8px;padding:.75rem;border-left:3px solid var(--brand-accent)}.category-title{display:block;margin-bottom:.5rem;font-size:.95rem;color:var(--brand-accent)}.category-title.playable{color:var(--color-success)}.category-title.warning{color:var(--color-error)}.category-title.info{color:var(--color-info)}.indicator-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:22px;padding:0 6px;border-radius:4px;font-size:.85rem;font-weight:600;flex-shrink:0}.indicator-badge.green-border{border:2px solid var(--color-success);background:var(--color-success-bg)}.indicator-badge.red-border{border:2px solid var(--color-error);background:var(--color-error-bg)}.indicator-badge.blue-glow{border:2px solid var(--color-info);background:var(--color-info-bg);box-shadow:0 0 8px rgb(var(--game-info-rgb),.4)}.indicator-badge.blue-badge{background:linear-gradient(135deg,var(--color-info),var(--brand-secondary));color:var(--btn-primary-text);font-size:.75rem}.indicator-badge.orange-badge{background:linear-gradient(135deg,var(--color-warning),var(--brand-accent));color:var(--btn-primary-text);font-size:.75rem}.indicator-badge.purple-badge{background:linear-gradient(135deg,var(--color-epic),rgb(var(--color-epic-rgb),.75));color:var(--btn-primary-text);font-size:.75rem}.indicator-badge.red-x{color:var(--color-error);font-size:1rem}.indicator-badge.warning-icon{color:var(--color-warning);font-size:1rem;animation:pulse-warning 2s ease-in-out infinite}.indicator-badge.check-icon{color:var(--color-success);font-size:1rem}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.indicator-tip{background:linear-gradient(135deg,rgb(var(--brand-accent-rgb) / 15%),rgb(var(--brand-secondary-rgb) / 15%));border-left-color:var(--brand-accent);margin-top:.5rem}.indicator-tip .purple-badge{display:inline-block;background:linear-gradient(135deg,var(--color-epic),rgb(var(--color-epic-rgb),.75));color:var(--btn-primary-text);padding:2px 6px;border-radius:3px;font-size:.8rem;font-weight:600;margin:0 2px}@media(max-width:480px){.help-panel{width:95vw;border-radius:12px}.help-header{padding:.875rem 1rem}.help-header h3{font-size:1.1rem}.help-content{padding:1rem}.help-section h4{font-size:.95rem}.help-section li{font-size:.85rem}.indicator-category{padding:.5rem}.indicator-category li{font-size:.85rem}.indicator-badge{min-width:24px;height:20px;font-size:.75rem}}.settings-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);padding:1rem}.settings-panel{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px;padding:0;width:100%;max-width:480px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px rgb(var(--color-black-rgb) / 30%);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.settings-header{padding:1.5rem;border-bottom:1px solid var(--border-primary);background:var(--bg-secondary);display:flex;align-items:center;justify-content:space-between}.settings-header h3{color:var(--brand-accent);margin:0;font-size:1.2rem;font-weight:600}.close-btn{background:transparent;border:none;color:var(--text-primary);font-size:1.5rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease;line-height:1}.close-btn:hover{background:var(--bg-hover);color:var(--brand-accent)}.settings-content{padding:1.5rem;max-height:calc(90vh - 120px);overflow-y:auto}.setting-section{margin-bottom:2rem}.setting-section:last-child{margin-bottom:0}.setting-section-title{color:var(--brand-accent);font-size:1rem;font-weight:600;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-primary)}.setting-item{margin-bottom:1.5rem}.setting-item:last-child{margin-bottom:0}.setting-label{display:flex;align-items:center;cursor:pointer;gap:.75rem}.setting-text{display:flex;align-items:center;gap:.5rem;color:var(--text-primary);font-size:.95rem;flex:1}.setting-icon{font-size:1.1rem;width:1.5rem;text-align:center}.setting-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--brand-accent)}.setting-hint{font-size:.8rem;color:var(--text-muted);margin-top:.25rem;margin-left:2.25rem;line-height:1.3}.setting-action{display:flex;justify-content:center;margin-bottom:.75rem}.save-game-btn{background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-bg);color:var(--btn-secondary-text);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;min-width:140px;justify-content:center}.save-game-btn:focus{outline:2px solid var(--border-focus);outline-offset:2px}.save-game-btn:disabled{background:var(--bg-tertiary);border-color:var(--border-primary);cursor:not-allowed;opacity:.6}.save-game-btn:hover:not(:disabled){background:var(--btn-secondary-hover);border-color:var(--btn-secondary-hover);transform:translateY(-1px);box-shadow:0 4px 12px rgb(var(--brand-secondary-rgb),30%)}.save-game-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px rgb(var(--brand-secondary-rgb),20%)}.quick-save-btn{background:linear-gradient(135deg,var(--brand-accent),var(--brand-accent-hover));border:1px solid var(--brand-accent);color:var(--btn-primary-text);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;min-width:140px;justify-content:center;position:relative;box-shadow:0 2px 8px rgb(var(--brand-accent-rgb),20%)}.quick-save-btn:focus{outline:2px solid var(--border-focus);outline-offset:2px}.quick-save-btn:disabled{background:var(--bg-tertiary);border-color:var(--border-primary);cursor:not-allowed;opacity:.6;box-shadow:none}.quick-save-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--brand-accent-hover),var(--brand-accent-active));border-color:var(--brand-accent-hover);transform:translateY(-1px);box-shadow:0 4px 16px rgb(var(--brand-accent-rgb),40%)}.quick-save-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px rgb(var(--brand-accent-rgb),30%)}.quick-save-btn:disabled:not(:hover){background:linear-gradient(135deg,var(--bg-tertiary),var(--bg-elevated));animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.8}50%{opacity:.5}}.abandon-game-btn{background:var(--color-error);border:1px solid var(--color-error);color:var(--btn-primary-text);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;min-width:140px;justify-content:center}.abandon-game-btn:hover{background:rgb(var(--game-error-rgb),85%);border-color:rgb(var(--game-error-rgb),85%);transform:translateY(-1px);box-shadow:0 4px 12px rgb(var(--game-error-rgb) / 30%)}.abandon-game-btn:focus{outline:2px solid var(--border-focus);outline-offset:2px}.abandon-game-btn:active{transform:translateY(0);box-shadow:0 2px 6px rgb(var(--game-error-rgb) / 20%)}.abandon-confirm-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);padding:1rem}.abandon-confirm-dialog{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px;padding:2rem;width:100%;max-width:400px;text-align:center;box-shadow:0 20px 60px rgb(var(--color-black-rgb) / 40%);animation:slideIn .2s ease-out}.abandon-confirm-dialog h4{color:var(--brand-accent);margin:0 0 1rem;font-size:1.3rem;font-weight:600}.abandon-confirm-dialog p{color:var(--text-primary);margin:0 0 2rem;line-height:1.5;font-size:.95rem}.abandon-confirm-actions{display:flex;gap:1rem;justify-content:center}.btn-cancel{background:transparent;border:1px solid var(--border-primary);color:var(--text-primary);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.95rem;transition:all .2s ease;min-width:100px}.btn-cancel:hover{background:var(--bg-hover);border-color:var(--color-success)}.btn-abandon{background:var(--color-error);border:1px solid var(--color-error);color:var(--btn-primary-text);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s ease;min-width:100px}.btn-abandon:hover{background:rgb(var(--game-error-rgb),85%);border-color:rgb(var(--game-error-rgb),85%)}.btn-abandon:active{transform:scale(.98)}input[type=range]{width:100%;height:6px;border-radius:3px;background:var(--border-primary);outline:2px solid transparent;-webkit-appearance:none;appearance:none}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--brand-accent);cursor:pointer;border:2px solid var(--bg-secondary);box-shadow:0 2px 6px rgb(var(--color-black-rgb) / 20%)}@media(max-width:768px){.settings-panel{margin:.5rem;max-width:none}.settings-header,.settings-content{padding:1rem}.abandon-confirm-dialog{margin:.5rem;padding:1.5rem}.abandon-confirm-actions{flex-direction:column}.btn-cancel,.btn-abandon{width:100%}}.save-game-dialog{min-width:400px;max-width:500px}.save-form{margin:1.5rem 0}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.form-group input[type=text],.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--input-border);border-radius:6px;background:var(--input-bg);color:var(--input-text);font-size:.9rem;resize:vertical;box-sizing:border-box}.form-group input[type=text]:focus,.form-group textarea:focus{outline:2px solid transparent;border-color:var(--input-focus-border);box-shadow:0 0 0 2px rgb(var(--brand-accent-rgb),20%)}.checkbox-group{margin-top:1rem}.checkbox-label{display:flex!important;align-items:center;gap:.5rem;cursor:pointer;font-weight:400!important;margin-bottom:0!important}.checkbox-label input[type=checkbox]{width:auto!important;margin:0}.checkbox-label span{font-size:.9rem;color:var(--text-muted)}.btn-save{background:var(--btn-secondary-bg);border:1px solid var(--btn-secondary-bg);color:var(--btn-secondary-text);padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.btn-save:disabled{background:var(--bg-tertiary);border-color:var(--border-primary);cursor:not-allowed;opacity:.6}.btn-save:hover:not(:disabled){background:var(--btn-secondary-hover);border-color:var(--btn-secondary-hover)}@media(max-width:768px){.save-game-dialog{min-width:90vw;max-width:90vw}}.game-actions-overlay{position:fixed;inset:0;background:rgb(var(--brand-primary-rgb),.85);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.game-actions-panel{background:var(--gradient-card);border-radius:16px;border:1px solid rgb(var(--brand-secondary-rgb),.4);box-shadow:0 20px 60px rgb(var(--color-black-rgb) / 40%);width:min(420px,90vw);max-height:85vh;overflow:hidden;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.game-actions-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:rgb(var(--brand-accent-rgb),.1);border-bottom:1px solid rgb(var(--brand-secondary-rgb),.3)}.game-actions-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.game-actions-header .header-icon{font-size:1.5rem}.game-actions-header .close-btn{background:rgb(var(--brand-secondary-rgb),.2);border:1px solid rgb(var(--brand-secondary-rgb),.3);color:var(--text-secondary);width:32px;height:32px;border-radius:8px;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.game-actions-header .close-btn:hover{background:rgb(var(--brand-accent-rgb),.2);border-color:var(--brand-accent);color:var(--brand-accent)}.game-actions-content{padding:1rem;display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;max-height:calc(85vh - 70px)}.action-btn{display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;background:rgb(var(--brand-secondary-rgb),.12);border:1px solid rgb(var(--brand-secondary-rgb),.25);border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn:hover:not(:disabled){background:rgb(var(--brand-secondary-rgb),.18);border-color:rgb(var(--brand-secondary-rgb),.5);transform:translate(4px)}.action-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgb(var(--brand-secondary-rgb),.25);border-radius:10px;flex-shrink:0}.action-text{display:flex;flex-direction:column;gap:.125rem;flex:1}.action-label{font-size:.95rem;font-weight:600;color:var(--text-primary)}.action-hint{font-size:.75rem;color:var(--text-tertiary)}.action-btn-settings{background:linear-gradient(135deg,rgb(var(--brand-accent-rgb),.3),rgb(var(--brand-accent-rgb),.15));border-color:rgb(var(--brand-accent-rgb),.5)}.action-btn-settings:hover:not(:disabled){background:linear-gradient(135deg,rgb(var(--brand-accent-rgb),.45),rgb(var(--brand-accent-rgb),.25));border-color:var(--brand-accent)}.action-btn-settings .action-icon{background:rgb(var(--brand-accent-rgb),.35)}.action-btn-save .action-icon{background:rgb(var(--brand-secondary-rgb),.35)}.action-btn-quicksave .action-icon{background:linear-gradient(135deg,rgb(var(--brand-accent-rgb),.4),rgb(var(--brand-accent-rgb),.25))}.action-btn-abandon{background:rgb(var(--game-error-rgb),.14);border-color:rgb(var(--game-error-rgb),.35)}.action-btn-abandon:hover:not(:disabled){background:rgb(var(--game-error-rgb),.22);border-color:rgb(var(--game-error-rgb),.6)}.action-btn-abandon .action-icon{background:rgb(var(--game-error-rgb),.25)}.actions-divider{display:flex;align-items:center;gap:.75rem;margin:.5rem 0;color:var(--text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px}.actions-divider:before,.actions-divider:after{content:"";flex:1;height:1px;background:var(--border-secondary)}.confirm-overlay{position:fixed;inset:0;background:var(--bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);animation:fadeIn .15s ease}.confirm-dialog{background:var(--gradient-card);border-radius:16px;border:1px solid rgb(var(--brand-secondary-rgb),.4);box-shadow:0 20px 60px rgb(var(--color-black-rgb) / 50%);padding:1.5rem;width:min(380px,90vw);animation:slideUp .2s ease}.confirm-dialog h4{margin:0 0 .75rem;box-shadow:0 20px 60px rgb(var(--color-black-rgb) / 50%);color:var(--text-primary)}.confirm-dialog p{margin:0 0 1.25rem;color:var(--text-secondary);font-size:.9rem;line-height:1.5}.confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.confirm-actions button{padding:.625rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-cancel{background:rgb(var(--brand-secondary-rgb),.2);border:1px solid rgb(var(--brand-secondary-rgb),.3);color:var(--text-secondary)}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-cancel:hover:not(:disabled){background:rgb(var(--brand-secondary-rgb),.3);border-color:rgb(var(--brand-secondary-rgb),.5)}.btn-danger{background:linear-gradient(135deg,rgb(var(--game-error-rgb),1),rgb(var(--game-error-rgb),.85));border:none;color:var(--btn-primary-text)}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,rgb(var(--game-error-rgb),1),rgb(var(--game-error-rgb),.75));transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--brand-accent),var(--brand-accent-active));border:none;color:var(--btn-primary-text)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--brand-accent-hover),var(--brand-accent));transform:translateY(-1px)}.save-dialog{width:min(440px,90vw)}.save-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.25rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.form-group input[type=text],.form-group textarea{padding:.625rem .875rem;background:var(--input-bg);border:1px solid var(--input-border);border-radius:8px;color:var(--input-text);font-size:.9rem;transition:all .2s ease}.form-group textarea{resize:vertical;min-height:60px}.form-group input[type=text]:focus,.form-group textarea:focus{outline:2px solid transparent;border-color:var(--input-focus-border);background:var(--input-focus-bg)}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;color:var(--text-secondary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand-accent);cursor:pointer}@media(max-width:480px){.game-actions-panel{width:95vw;border-radius:12px}.action-btn{padding:.75rem}.action-icon{width:36px;height:36px;font-size:1.25rem}.confirm-dialog{padding:1.25rem}.confirm-actions{flex-direction:column}.confirm-actions button{width:100%}}.game-analytics-overlay{position:fixed;inset:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-overlay);padding:var(--space-md)}.game-analytics-panel{background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:90vw;max-width:1000px;height:80vh;max-height:800px;display:flex;flex-direction:column;overflow:hidden}.analytics-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--border-color);background:var(--gradient-brand);color:var(--color-text-inverse)}.analytics-header h2{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.close-btn{background:none;border:none;color:var(--color-text-inverse);font-size:var(--font-size-2xl);cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-md);transition:var(--transition-fast)}.close-btn:hover{background:rgb(var(--color-white-rgb) / 20%)}.analytics-tabs{display:flex;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);overflow-x:auto}.tab-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:none;border:none;cursor:pointer;transition:var(--transition-fast);font-size:var(--font-size-sm);white-space:nowrap;color:var(--color-text-secondary)}.tab-btn:hover{background:var(--bg-secondary);color:var(--color-text-primary)}.tab-btn.active{background:var(--bg-secondary);color:var(--brand-primary);border-bottom:2px solid var(--brand-primary)}.tab-icon{font-size:var(--font-size-lg)}.tab-label{font-weight:var(--font-weight-medium)}.analytics-content{flex:1;overflow-y:auto;padding:var(--space-lg)}.analytics-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-lg)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid var(--brand-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.overview-content{display:flex;flex-direction:column;gap:var(--space-lg)}.overview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-md)}.stat-card{background:var(--gradient-card);padding:var(--space-lg);border-radius:var(--radius-md);text-align:center;border:1px solid var(--border-color)}.stat-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--brand-primary);margin-bottom:var(--space-sm)}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.overview-details{background:var(--bg-tertiary);padding:var(--space-lg);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-md)}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--border-color)}.detail-item:last-child{border-bottom:none}.detail-label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.detail-value{font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.performance-content{display:flex;flex-direction:column;gap:var(--space-xl)}.performance-metrics{background:var(--bg-tertiary);padding:var(--space-lg);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-md)}.metric-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--border-color)}.metric-row:last-child{border-bottom:none}.metric-label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.metric-value{font-weight:var(--font-weight-bold);color:var(--brand-primary)}.time-distribution{background:var(--bg-tertiary);padding:var(--space-lg);border-radius:var(--radius-md)}.time-distribution h4{margin:0 0 var(--space-lg) 0;color:var(--color-text-primary)}.distribution-bars{display:flex;flex-direction:column;gap:var(--space-md)}.bar-item{display:flex;align-items:center;gap:var(--space-md)}.bar-label{flex:0 0 100px;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.bar{flex:1;height:20px;background:var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.bar-fill{height:100%;transition:var(--transition-normal)}.bar-fill.quick{background:var(--game-success)}.bar-fill.normal{background:var(--game-warning)}.bar-fill.slow{background:var(--game-error)}.bar-value{flex:0 0 30px;text-align:right;font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.strategy-content{display:flex;flex-direction:column;gap:var(--space-xl)}.strategy-overview{background:var(--bg-tertiary);padding:var(--space-lg);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-md)}.strategy-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) 0;border-bottom:1px solid var(--border-color)}.strategy-item:last-child{border-bottom:none}.strategy-label{font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.strategy-value{font-weight:var(--font-weight-bold);color:var(--brand-primary);text-transform:capitalize}.strategy-breakdown{background:var(--bg-tertiary);padding:var(--space-lg);border-radius:var(--radius-md)}.strategy-breakdown h4{margin:0 0 var(--space-lg) 0;color:var(--color-text-primary)}.strategy-bar{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.strategy-type{flex:0 0 100px;font-size:var(--font-size-sm);color:var(--color-text-secondary);text-transform:capitalize}.strategy-progress{flex:1;height:20px;background:var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.strategy-fill{height:100%;background:var(--gradient-brand);transition:var(--transition-normal)}.strategy-count{flex:0 0 30px;text-align:right;font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.predictions-content{display:flex;flex-direction:column;gap:var(--space-xl)}.prediction-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md)}.prediction-card{background:var(--gradient-card);padding:var(--space-lg);border-radius:var(--radius-md);text-align:center;border:1px solid var(--border-color)}.prediction-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--brand-primary);margin-bottom:var(--space-sm)}.prediction-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.next-move-suggestion{background:var(--bg-tertiary);padding:var(--space-lg);border-radius:var(--radius-md);border-left:4px solid var(--game-info)}.next-move-suggestion h4{margin:0 0 var(--space-md) 0;color:var(--color-text-primary)}.suggestion-content{display:flex;flex-direction:column;gap:var(--space-sm)}.suggested-tile{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--brand-primary);font-family:var(--font-family-mono)}.suggestion-reasoning{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.suggestion-confidence{color:var(--game-success);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.critical-moments{background:var(--bg-tertiary);padding:var(--space-lg);border-radius:var(--radius-md)}.critical-moments h4{margin:0 0 var(--space-md) 0;color:var(--color-text-primary)}.critical-moment{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm);margin-bottom:var(--space-sm);background:var(--bg-secondary);border-radius:var(--radius-sm);border-left:3px solid var(--game-warning)}.moment-number{font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.moment-description{flex:1;margin:0 var(--space-md);color:var(--color-text-secondary)}.moment-criticality{color:var(--game-warning);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.timeline-content{display:flex;flex-direction:column;gap:var(--space-lg)}.timeline-chart{background:var(--bg-tertiary);padding:var(--space-lg);border-radius:var(--radius-md);max-height:400px;overflow-y:auto}.timeline-move{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) 0;border-bottom:1px solid var(--border-color);position:relative}.timeline-move:last-child{border-bottom:none}.timeline-move:before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:var(--border-color)}.timeline-move:last-child:before{display:none}.move-marker{width:20px;height:20px;border-radius:50%;background:var(--brand-primary);border:3px solid var(--bg-tertiary);flex-shrink:0;z-index:var(--z-base)}.move-details{display:flex;flex-direction:column;gap:var(--space-xs)}.move-number{font-weight:var(--font-weight-bold);color:var(--color-text-primary);font-size:var(--font-size-sm)}.move-type{color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:capitalize}.move-destination{color:var(--game-info);font-size:var(--font-size-xs);text-transform:capitalize}.move-impact{color:var(--game-success);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.comparisons-content{display:flex;flex-direction:column;gap:var(--space-lg)}.player-comparison-table{background:var(--bg-tertiary);border-radius:var(--radius-md);overflow:hidden}.comparison-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--gradient-brand);color:var(--color-text-inverse);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm)}.comparison-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-color);transition:var(--transition-fast)}.comparison-row:hover{background:var(--bg-secondary)}.comparison-row.current-user{background:rgb(var(--brand-primary-rgb, 255, 122, 0),.1);border-left:4px solid var(--brand-primary)}.comparison-row:last-child{border-bottom:none}.player-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.player-tiles,.player-moves,.player-time,.player-rank{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.comparison-row.current-user .player-name{color:var(--brand-primary);font-weight:var(--font-weight-bold)}@media(max-width:768px){.game-analytics-panel{width:95vw;height:90vh}.analytics-tabs{flex-wrap:wrap}.tab-btn{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-xs)}.tab-label{display:none}.overview-stats{grid-template-columns:repeat(2,1fr)}.prediction-cards{grid-template-columns:1fr}.comparison-header,.comparison-row{grid-template-columns:1fr;gap:var(--space-sm)}}@media(prefers-reduced-motion:reduce){.loading-spinner{animation:none}.bar-fill,.strategy-fill{transition:none}}.forced-colors-active .game-analytics-panel,.forced-colors-active .stat-card,.forced-colors-active .prediction-card{border:2px solid CanvasText;background:Canvas;color:CanvasText}.chat-container{position:fixed;bottom:60px;right:20px;width:320px;height:400px;background:var(--bg-elevated);border:2px solid var(--brand-primary);border-radius:10px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;cursor:move;transition:transform .3s ease,opacity .3s ease;z-index:var(--z-overlay);outline:2px solid transparent}.chat-container.closed{opacity:0;pointer-events:none;transform:translateY(100%)}.chat-header{background:var(--brand-accent);color:var(--text-inverse);padding:10px;font-weight:700;display:flex;justify-content:space-between;align-items:center;-webkit-user-select:none;user-select:none;cursor:pointer;outline:2px solid transparent}.chat-header:focus{outline:2px solid var(--border-focus)}.chat-header:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}.chat-messages{flex:1;padding:10px;background:var(--bg-secondary);overflow-y:auto;font-size:1rem}.message{margin-bottom:.5rem;font-size:.95rem;color:var(--text-primary);overflow-wrap:break-word}.no-messages{font-style:italic;color:var(--text-secondary);text-align:center}.chat-input{display:flex;padding:10px;border-top:1px solid var(--border-secondary);background:var(--bg-elevated)}.chat-input input{flex:1;padding:8px;border:1px solid var(--border-primary);border-radius:4px;font-size:1rem;outline:2px solid transparent;transition:border .2s;background:var(--input-bg);color:var(--input-text)}.chat-input input:focus{border:1.5px solid var(--border-focus)}.chat-input input:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.chat-input button{margin-left:5px;padding:8px 12px;background:var(--btn-secondary-bg);color:var(--btn-secondary-text);border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:background .2s,box-shadow .2s;outline:2px solid transparent}.chat-input button:focus{box-shadow:0 0 0 2px rgb(var(--brand-primary-rgb),.33)}.chat-input button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.chat-input button[disabled],.chat-input button[aria-disabled=true]{background:var(--bg-tertiary);cursor:not-allowed}.resize-handle{width:15px;height:15px;background-color:var(--brand-accent);position:absolute;bottom:5px;right:5px;cursor:se-resize;border-radius:3px;z-index:var(--z-base)}.sr-only{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media(max-width:768px){.chat-container{width:90%;min-width:200px;bottom:20px;right:5%;left:auto}.chat-input button{padding:6px 10px}}@media(max-width:480px){.chat-container{width:100%;min-width:120px;bottom:10px;right:0;left:0;border-radius:0}.chat-header{padding:8px;font-size:16px}.chat-input input{padding:6px}}.tournament-bracket{background:var(--bg-secondary);border-radius:12px;padding:20px;margin-top:20px;box-shadow:0 4px 12px rgb(var(--color-black-rgb) / 10%)}.tournament-bracket-empty{text-align:center;padding:40px;color:var(--text-muted);font-style:italic}.bracket-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:15px;border-bottom:2px solid var(--border-secondary)}.bracket-header h3{margin:0;font-size:1.5rem;color:var(--text-primary)}.bracket-info{display:flex;gap:20px;font-size:.9rem;color:var(--text-muted)}.bracket-info span{padding:4px 8px;background:var(--bg-tertiary);border-radius:4px;font-weight:500}.bracket-container{display:flex;gap:30px;overflow-x:auto;padding:20px 0;min-height:400px;position:relative}.bracket-connectors{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:var(--z-base)}.connector-line{stroke:var(--border-secondary);stroke-width:2;opacity:.6;transition:all .3s ease}.connector-line.has-winner{stroke:var(--color-success);stroke-width:3;opacity:.9;filter:drop-shadow(0 0 4px rgb(var(--game-success-rgb),40%))}.bracket-round{min-width:250px;display:flex;flex-direction:column;position:relative;z-index:var(--z-base)}.round-header{text-align:center;margin-bottom:20px}.round-header h4{margin:0;font-size:1.1rem;color:var(--brand-primary);background:linear-gradient(135deg,var(--brand-accent) 0%,var(--brand-primary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-weight:600}.round-matches{display:flex;flex-direction:column;gap:20px;flex:1;justify-content:center}.match-card{background:var(--bg-secondary);border:2px solid var(--border-secondary);border-radius:8px;padding:15px;transition:all .3s ease;box-shadow:0 2px 4px rgb(var(--color-black-rgb) / 5%);animation:matchAppear .3s ease-out}.match-card:hover{box-shadow:0 4px 12px rgb(var(--color-black-rgb) / 10%);transform:translateY(-2px)}.match-card.pending{border-color:var(--border-secondary);opacity:.8}.match-card.in_progress{border-color:var(--color-warning);background:linear-gradient(135deg,rgb(var(--game-warning-rgb),15%) 0%,var(--bg-secondary) 100%)}.match-card.completed{border-color:var(--color-success);background:linear-gradient(135deg,rgb(var(--game-success-rgb),12%) 0%,var(--bg-secondary) 100%)}.match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.match-title{font-weight:600;color:var(--text-primary);font-size:.9rem}.match-status{padding:2px 8px;border-radius:12px;font-size:.8rem;font-weight:500;text-transform:uppercase}.match-status.pending{background:var(--bg-tertiary);color:var(--text-muted)}.match-status.in_progress{background:rgb(var(--game-warning-rgb),20%);color:var(--color-warning)}.match-status.completed{background:rgb(var(--game-success-rgb),20%);color:var(--color-success)}.match-players{margin-bottom:15px}.player{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;margin:4px 0;background:var(--bg-tertiary);border-radius:6px;transition:all .2s ease}.player.winner{background:linear-gradient(135deg,rgb(var(--game-success-rgb),18%) 0%,var(--bg-tertiary) 100%);border:2px solid var(--color-success);font-weight:600}.player-name{flex:1;font-size:.9rem;color:var(--text-primary)}.winner-badge{font-size:1.2rem;margin-left:8px}.vs-divider{text-align:center;font-weight:700;color:var(--text-muted);font-size:.8rem;margin:8px 0;position:relative}.vs-divider:before,.vs-divider:after{content:"";position:absolute;top:50%;width:30%;height:1px;background:var(--border-secondary)}.vs-divider:before{left:0}.vs-divider:after{right:0}.match-actions{display:flex;gap:8px;justify-content:center}.start-match-btn,.view-match-btn{padding:8px 16px;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.start-match-btn{background:linear-gradient(135deg,var(--color-success) 0%,rgb(var(--game-success-rgb),85%) 100%);color:var(--btn-primary-text)}.start-match-btn:hover{background:linear-gradient(135deg,rgb(var(--game-success-rgb),90%),rgb(var(--game-success-rgb),75%));transform:translateY(-1px);box-shadow:0 2px 4px rgb(var(--game-success-rgb),30%)}.view-match-btn{background:linear-gradient(135deg,var(--color-info) 0%,rgb(var(--game-info-rgb),85%) 100%);color:var(--btn-primary-text)}.view-match-btn:hover{background:linear-gradient(135deg,rgb(var(--game-info-rgb),90%),rgb(var(--game-info-rgb),75%));transform:translateY(-1px);box-shadow:0 2px 4px rgb(var(--game-info-rgb),30%)}.match-completed{text-align:center;color:var(--text-muted);font-style:italic}.match-completed small{font-size:.8rem}.tournament-winner{margin-top:30px;text-align:center;padding:30px;background:linear-gradient(135deg,rgb(var(--game-warning-rgb),12%) 0%,var(--bg-secondary) 100%);border-radius:12px;border:2px solid var(--color-warning)}.tournament-winner h2{margin:0 0 20px;font-size:2rem;background:linear-gradient(135deg,var(--brand-accent) 0%,var(--color-warning) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.winner-card{background:var(--bg-elevated);padding:20px;border-radius:8px;box-shadow:0 4px 12px rgb(var(--game-warning-rgb),20%);display:inline-block;min-width:300px}.winner-card h3{margin:0 0 10px;font-size:1.4rem;color:var(--text-primary)}.winner-card p{margin:0;color:var(--text-muted);font-style:italic}@media(max-width:768px){.bracket-container{flex-direction:column;gap:20px}.bracket-round{min-width:100%}.bracket-header{flex-direction:column;gap:15px;align-items:flex-start}.bracket-info{flex-wrap:wrap;gap:10px}.tournament-winner h2{font-size:1.5rem}.winner-card{min-width:250px}}@keyframes matchAppear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.breadcrumb{display:flex;align-items:center;justify-content:center;font-size:.875rem;color:var(--text-secondary);background:var(--bg-overlay);padding:8px 20px;border-radius:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-primary);white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.15);box-shadow:0 2px 8px #0000001a;transition:all .2s ease;margin:0 auto 1.5rem;width:fit-content}.breadcrumb:hover{border-color:var(--brand-accent);box-shadow:0 4px 12px rgba(var(--brand-accent-rgb),.15)}.breadcrumb-link,.breadcrumb-home{color:var(--brand-accent);cursor:pointer;transition:all .2s ease;text-decoration:none;font-weight:500;background:none;border:none;padding:0;font-family:inherit;font-size:inherit}.breadcrumb-link:hover,.breadcrumb-home:hover{color:var(--brand-accent-hover);text-decoration:underline;text-shadow:0 0 8px rgba(var(--brand-accent-rgb),.3)}.breadcrumb-link:focus,.breadcrumb-home:focus{outline:2px solid var(--brand-accent);outline-offset:2px;border-radius:4px}.breadcrumb-separator{margin:0 10px;color:var(--text-tertiary);opacity:.7;-webkit-user-select:none;user-select:none}.breadcrumb-current{color:var(--text-primary);font-weight:600;letter-spacing:.01em}@media(max-width:768px){.breadcrumb{display:none!important}}@media not (max-width:768px){.breadcrumb{display:flex!important}}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border-primary);padding:1rem;padding-left:max(1rem,env(safe-area-inset-left,0));display:flex;flex-direction:column;height:100%;transition:width .3s ease,padding .3s ease;min-width:60px;box-sizing:border-box;position:relative;z-index:var(--z-sidebar)}@supports (height: 100dvh){.sidebar{height:100dvh}}.sidebar.open{width:var(--sidebar-width, 250px)}.sidebar.collapsed{width:var(--sidebar-width, 80px);padding:.5rem}.toggle-btn{background:none;border:none;cursor:pointer;align-self:flex-end;font-size:1.5rem;margin-bottom:1rem;color:var(--brand-accent);border-radius:8px;transition:background .2s,color .2s,box-shadow .13s;outline:2px solid transparent}.toggle-btn:focus-visible{box-shadow:0 0 0 2px rgb(var(--brand-secondary-rgb),.33);outline:2px solid var(--brand-secondary);background:rgb(var(--brand-accent-rgb) / 10%);color:var(--brand-accent);z-index:var(--z-base)}.greeting{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1rem}.sidebar-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--brand-secondary);transition:transform .2s ease,border-color .2s ease}.sidebar-avatar:hover{transform:scale(1.05);border-color:var(--brand-accent)}.sidebar-avatar-placeholder{width:48px;height:48px;border-radius:50%;background:rgb(var(--brand-secondary-rgb) / 20%);border:2px solid var(--brand-secondary);display:flex;align-items:center;justify-content:center;color:var(--brand-secondary);font-size:1.5rem}.greeting p{font-size:1rem;color:var(--brand-accent);margin:0;text-align:center}.menu-title{font-size:1.2rem;margin-bottom:1rem;color:var(--brand-secondary);text-align:center;transition:opacity .3s ease}nav{display:flex;flex-direction:column;gap:.5rem}nav a,nav button.nav-link{display:flex;align-items:center;gap:.5rem;text-decoration:none;font-size:1rem;color:var(--text-secondary);padding:.5rem .75rem;border-radius:8px;transition:background .2s,color .2s,box-shadow .13s;position:relative;outline:2px solid transparent;font-weight:500;white-space:nowrap;overflow:visible}nav a:hover,nav button.nav-link:hover{background:var(--brand-secondary);color:var(--text-inverse)}nav a.active,nav button.nav-link.active{background:var(--brand-accent);color:var(--text-inverse);font-weight:700;box-shadow:0 2px 8px rgb(var(--brand-accent-rgb),.33)}.notification-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--brand-accent);color:var(--text-inverse);font-size:.7rem;font-weight:700;min-width:18px;height:18px;border-radius:9px;padding:0 5px;margin-left:6px;flex-shrink:0;box-shadow:0 2px 4px rgb(var(--brand-accent-rgb) / 40%);animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.9}}nav a.active .notification-badge{background:var(--bg-secondary);color:var(--brand-accent)}nav a:focus-visible,nav button.nav-link:focus-visible{box-shadow:0 0 0 2px rgb(var(--brand-secondary-rgb),.33);outline:2px solid var(--brand-secondary);background:var(--brand-secondary);color:var(--text-inverse);z-index:var(--z-base)}nav a[data-tooltip]:hover:after,nav button.nav-link[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;left:100%;margin-left:8px;padding:4px 10px;background:var(--bg-secondary);color:var(--brand-accent);border-radius:8px;white-space:nowrap;font-size:.85rem;z-index:var(--z-tooltip);box-shadow:0 2px 8px rgb(var(--color-black-rgb) / 33%)}.sidebar-overlay{display:none}.mobile-hamburger{display:none;position:fixed;top:15px;left:15px;z-index:var(--z-mobile-hamburger);background:var(--bg-secondary);border:2px solid var(--brand-accent);border-radius:12px;padding:12px;font-size:1.5rem;color:var(--brand-accent);cursor:pointer;box-shadow:0 4px 12px rgb(var(--color-black-rgb) / 30%);transition:all .3s ease}.mobile-hamburger:hover{background:var(--brand-accent);color:var(--text-inverse);transform:scale(1.05)}.mobile-hamburger:active{transform:scale(.95)}@keyframes sidebarFadeIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.sidebar-overlay,.notification-badge{animation:none}.sidebar,.sidebar.open,.sidebar.collapsed{transition:none}}@media(max-width:1024px){.sidebar.open{width:200px}}@media(max-width:768px){.mobile-hamburger{display:block}.sidebar-overlay{display:block;position:fixed;inset:0;background:rgb(var(--color-black-rgb) / 50%);z-index:var(--z-sidebar-overlay);animation:sidebarFadeIn .3s ease}.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:var(--z-sidebar-mobile);transform:translate(-100%);transition:transform .3s ease;width:250px!important;box-shadow:4px 0 12px rgb(var(--color-black-rgb) / 30%)}.sidebar.open{transform:translate(0);width:250px!important}.sidebar.collapsed{transform:translate(-100%);width:60px!important}}@media(max-width:480px){.sidebar,.sidebar.open{width:220px!important}nav a,nav button.nav-link{font-size:.95rem;padding:.6rem}.menu-title{font-size:1.1rem}.greeting p{font-size:.95rem}}.sidebar-theme-toggle{margin:.5rem 0;padding:.5rem;border-radius:8px;transition:background .2s ease}.sidebar-theme-toggle:hover{background:rgb(var(--brand-accent-rgb) / 10%)}.sidebar.collapsed .sidebar-theme-toggle{display:flex;justify-content:center;padding:.5rem 0}@media(max-width:768px){.sidebar-theme-toggle{padding:.4rem}}.version-info{position:relative;font-style:italic;color:var(--brand-secondary);cursor:pointer;padding:.4rem .8rem;border-radius:8px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.version-info:hover{background:rgb(var(--brand-secondary-rgb),.15);color:var(--brand-accent)}.version-info:focus-visible{outline:2px solid var(--brand-secondary);outline-offset:2px}.changelog-backdrop{position:fixed;inset:0;background:rgb(var(--color-black-rgb) / 30%);z-index:var(--z-toast);cursor:pointer}.changelog-tooltip{position:fixed;bottom:80px;right:20px;min-width:420px;max-width:500px;background:var(--bg-elevated);border:2px solid var(--brand-secondary);border-radius:12px;box-shadow:0 8px 32px rgb(var(--color-black-rgb) / 25%),0 0 0 1px rgb(var(--brand-secondary-rgb),.1);padding:0;z-index:var(--z-tooltip);animation:slideUp .2s ease-out;font-style:normal;color:var(--text-primary);max-height:70vh;overflow-y:auto;display:flex;flex-direction:column}.footer{display:flex;align-items:center;justify-content:space-around;padding:.3rem .75rem;padding-bottom:max(.3rem,env(safe-area-inset-bottom,0));padding-left:max(.75rem,env(safe-area-inset-left,0));padding-right:max(.75rem,env(safe-area-inset-right,0));font-size:.9rem;min-height:var(--footer-min-height, 60px);box-sizing:border-box;background:var(--bg-secondary);border-top:1px solid var(--border-primary);color:var(--text-secondary);overflow:hidden;flex:0 0 auto;position:relative;z-index:var(--z-sidebar)}.footer .mute-btn{font-family:inherit;font-size:1rem;font-weight:600;padding:.5rem 1.2rem;margin-right:1.2rem;border:none;border-radius:12px;cursor:pointer;outline:2px solid transparent;box-shadow:0 4px 15px rgb(var(--brand-accent-rgb),18%);transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden;background:var(--brand-accent);color:var(--btn-primary-text)}.footer .mute-btn:hover{background:var(--brand-secondary);color:var(--btn-primary-text);transform:none;box-shadow:0 8px 25px rgb(var(--brand-secondary-rgb),.18);filter:brightness(1.08)}.footer .mute-btn:active{background:var(--bg-secondary);color:var(--brand-accent);transform:translateY(0)}.footer .mute-btn:focus-visible{box-shadow:0 0 0 2px rgb(var(--brand-secondary-rgb),.33);outline:2px solid var(--brand-secondary);background:rgb(var(--brand-accent-rgb),.1);color:var(--brand-accent)}.footer a{text-decoration:none;padding:.2rem .5rem;border-radius:8px;transition:background .2s,color .2s,box-shadow .13s;outline:2px solid transparent;color:var(--text-secondary)}.footer a.active{background:var(--brand-accent);color:var(--btn-primary-text)}.footer a:hover{color:var(--btn-primary-text);background:var(--brand-secondary)}.footer a:focus-visible{box-shadow:0 0 0 2px rgb(var(--brand-secondary-rgb),.33);outline:2px solid var(--brand-secondary);background:var(--brand-secondary);color:var(--btn-primary-text);z-index:var(--z-base)}@media(max-width:768px){.footer{flex-wrap:wrap;justify-content:center;gap:.5rem;padding:.5rem}.footer .mute-btn{padding:.5rem 1rem;font-size:.875rem;margin-right:0}.footer a,.footer .version-info{padding:.4rem .75rem;font-size:.875rem}}.footer .version-info{position:relative;font-style:italic;color:var(--brand-secondary);cursor:pointer;padding:.4rem .8rem;border-radius:8px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.footer .version-info:hover{background:rgb(var(--brand-secondary-rgb),15%);color:var(--brand-accent)}.footer .version-info:focus-visible{outline:2px solid var(--brand-secondary);outline-offset:2px}.changelog-backdrop{position:fixed;inset:0;background:rgb(var(--color-black-rgb) / 30%);z-index:var(--z-overlay);cursor:pointer}@media(max-width:768px){.changelog-tooltip{min-width:320px;max-width:calc(100vw - 40px);right:20px;left:20px;bottom:70px}}.changelog-tooltip{position:fixed;bottom:80px;right:20px;min-width:420px;max-width:500px;background:var(--bg-elevated);border:2px solid var(--brand-secondary);border-radius:12px;box-shadow:0 8px 32px rgb(var(--color-black-rgb) / 25%),0 0 0 1px rgb(var(--brand-secondary-rgb),10%);padding:0;z-index:var(--z-tooltip);animation:slideUp .2s ease-out;font-style:normal;color:var(--text-primary);max-height:70vh;overflow-y:auto;display:flex;flex-direction:column}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.changelog-tooltip,.notification-badge{animation:none}}.changelog-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--brand-secondary);color:var(--btn-primary-text);border-radius:10px 10px 0 0;position:sticky;top:0;z-index:var(--z-base)}.changelog-header h3{margin:0;font-size:1.1rem;font-weight:600}.close-changelog{background:transparent;border:none;color:var(--btn-primary-text);font-size:1.5rem;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.close-changelog:hover{background:rgb(var(--color-white-rgb) / 20%)}.changelog-content{padding:1rem 1.25rem;overflow-y:auto;flex:1}.changelog-version{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-secondary)}.changelog-version:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.version-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.version-number{font-weight:700;font-size:1.05rem;color:var(--text-primary)}.version-type{padding:.15rem .6rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.version-type--major{background:var(--brand-accent);color:var(--btn-primary-text)}.version-type--minor{background:var(--brand-secondary);color:var(--btn-primary-text)}.version-type--patch{background:var(--border-secondary);color:var(--text-primary)}.version-date{font-size:.85rem;color:var(--text-muted);margin-left:auto}.changelog-section{margin-bottom:.75rem}.changelog-section:last-child{margin-bottom:0}.change-type{display:block;font-size:.9rem;font-weight:600;margin-bottom:.4rem}.change-type--added{color:var(--color-success)}.change-type--fixed{color:var(--color-error)}.change-type--changed{color:var(--brand-secondary)}.changelog-section ul{margin:0;padding-left:1.5rem;list-style:disc}.changelog-section li{font-size:.9rem;line-height:1.6;color:var(--text-primary);margin-bottom:.3rem}.changelog-footer{padding:.75rem 1.25rem;background:var(--bg-tertiary);border-radius:0 0 10px 10px;border-top:1px solid var(--border-secondary);position:sticky;bottom:0}.view-all-link{color:var(--brand-secondary);text-decoration:none;font-weight:600;font-size:.9rem;transition:color .2s;display:inline-block;background:none;border:none;cursor:pointer;padding:0}.view-all-link:hover{color:var(--brand-accent);text-decoration:underline}.view-all-link:focus-visible{outline:2px solid var(--brand-secondary);outline-offset:2px}.layout-skeleton{display:flex;width:100%;height:100vh;background:var(--bg-primary);overflow:hidden}.skeleton-sidebar{width:250px;background:var(--bg-secondary);padding:1rem;border-right:1px solid var(--border-primary);display:flex;flex-direction:column;gap:1.5rem}.skeleton-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-hover) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}.skeleton-menu{display:flex;flex-direction:column;gap:.5rem}.skeleton-menu-item{height:40px;border-radius:8px;background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-hover) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}.skeleton-menu-item:nth-child(2n){animation-delay:.1s}.skeleton-content{flex:1;display:flex;flex-direction:column;padding:1rem;gap:1rem}.skeleton-header{height:60px;border-radius:8px;background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--bg-hover) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}.skeleton-main{flex:1;display:flex;flex-direction:column;gap:1rem}.skeleton-card{height:150px;border-radius:12px;background:linear-gradient(90deg,var(--bg-secondary) 0%,var(--bg-hover) 50%,var(--bg-secondary) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}.skeleton-card:nth-child(2){animation-delay:.2s}.skeleton-card:nth-child(3){animation-delay:.4s}.skeleton-footer{height:60px;background:var(--bg-secondary);border-top:1px solid var(--border-primary);display:flex;align-items:center;justify-content:space-around;padding:0 1rem;gap:1rem}.skeleton-footer-item{height:36px;flex:1;max-width:120px;border-radius:8px;background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--bg-hover) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite}.skeleton-footer-item:nth-child(odd){animation-delay:.15s}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(max-width:768px){.skeleton-sidebar{width:80px}.skeleton-menu-item{height:48px}.skeleton-card{height:120px}}@media(prefers-reduced-motion:reduce){.skeleton-avatar,.skeleton-menu-item,.skeleton-header,.skeleton-card,.skeleton-footer-item{animation:none;background:var(--bg-tertiary)}}.achievement-notification{position:fixed;top:80px;right:20px;width:380px;max-width:calc(100vw - 40px);background:linear-gradient(135deg,rgb(var(--color-white-rgb) / 98%) 0% 100%);border-radius:var(--radius-lg, 12px);box-shadow:0 10px 40px rgb(var(--color-black-rgb) / 15%),0 0 0 1px rgb(var(--color-black-rgb) / 5%),0 0 60px rgb(var(--brand-accent-rgb) / 30%);padding:1.25rem;z-index:var(--z-toast);opacity:0;transform:translate(120%);transition:opacity .3s ease-out,transform .3s cubic-bezier(.68,-.55,.27,1.55);overflow:hidden}.achievement-notification.visible{opacity:1;transform:translate(0)}.achievement-notification.exiting{opacity:0;transform:translate(120%);transition:opacity .2s ease-in,transform .2s ease-in}.achievement-notification.rarity-common{border-left:5px solid var(--rarity-common)}.achievement-notification.rarity-uncommon{border-left:5px solid var(--rarity-uncommon)}.achievement-notification.rarity-rare{border-left:5px solid var(--rarity-rare)}.achievement-notification.rarity-epic{border-left:5px solid var(--rarity-epic)}.achievement-notification.rarity-legendary{border-left:5px solid var(--rarity-legendary);box-shadow:0 10px 40px rgb(var(--color-black-rgb) / 15%),0 0 0 1px rgb(var(--color-black-rgb) / 5%),0 0 80px rgb(var(--game-warning-rgb) / 50%)}.achievement-sparkles{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.sparkle{position:absolute;font-size:1.5rem;opacity:0;animation:sparkle-animation 1.5s ease-out}.sparkle-1{top:20%;left:10%;animation-delay:.1s}.sparkle-2{top:50%;right:15%;animation-delay:.3s}.sparkle-3{bottom:20%;left:20%;animation-delay:.5s}@keyframes sparkle-animation{0%{opacity:0;transform:scale(0) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}to{opacity:0;transform:scale(.8) rotate(360deg)}}.achievement-close-btn{position:absolute;top:8px;right:8px;background:transparent;border:none;font-size:1.75rem;line-height:1;color:rgb(var(--color-black-rgb) / 40%);cursor:pointer;padding:4px 8px;transition:color .2s ease;z-index:var(--z-base)}.achievement-close-btn:hover{color:rgb(var(--color-black-rgb) / 70%)}.achievement-close-btn:focus{outline:2px solid var(--brand-accent);outline-offset:2px;border-radius:4px}.achievement-content{display:flex;align-items:flex-start;gap:1rem;position:relative}.achievement-icon{font-size:3rem;line-height:1;flex-shrink:0;animation:icon-bounce .6s ease-out;filter:drop-shadow(0 2px 8px rgb(var(--color-black-rgb) / 10%))}@keyframes icon-bounce{0%,to{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(.95)}75%{transform:scale(1.05)}}.achievement-details{flex:1;min-width:0}.achievement-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.achievement-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--brand-accent)}.achievement-points{font-size:.875rem;font-weight:700;color:var(--brand-accent);background:rgb(var(--brand-accent-rgb) / 10%);padding:2px 8px;border-radius:12px}.achievement-title{font-size:1.125rem;font-weight:700;color:var(--brand-primary);margin:0 0 .5rem;line-height:1.3}.achievement-description{font-size:.875rem;color:rgb(var(--color-black-rgb) / 70%);margin:0 0 .75rem;line-height:1.4}.achievement-rarity{display:inline-block;font-size:.75rem;font-weight:600;text-transform:capitalize;padding:2px 10px;border-radius:12px;background:rgb(var(--color-black-rgb) / 6%);color:rgb(var(--color-black-rgb) / 70%)}.achievement-rarity.rarity-common{background:rgb(var(--color-neutral-400-rgb) / 15%);color:var(--action-secondary-darkgray)}.achievement-rarity.rarity-uncommon{background:rgb(var(--game-success-rgb) / 15%);color:var(--action-green-dark)}.achievement-rarity.rarity-rare{background:rgb(var(--game-info-rgb) / 15%);color:var(--action-info-darkerblue)}.achievement-rarity.rarity-epic{background:rgb(var(--color-grandmaster-rgb) / 15%);color:var(--action-purple-darker)}.achievement-rarity.rarity-legendary{background:rgb(var(--game-warning-rgb) / 15%);color:var(--text-warning-dark)}.achievement-progress-bar{position:absolute;bottom:0;left:0;height:3px;width:100%;background:var(--brand-accent);transform-origin:left;animation:progress-shrink linear}@keyframes progress-shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(max-width:480px){.achievement-notification{top:60px;right:10px;width:calc(100vw - 20px);max-width:100%;padding:1rem}.achievement-icon{font-size:2.5rem}.achievement-title{font-size:1rem}.achievement-description{font-size:.8125rem}.achievement-label,.achievement-points,.achievement-rarity{font-size:.6875rem}}@media(prefers-reduced-motion:reduce){.achievement-notification,.achievement-notification.visible,.achievement-notification.exiting{transition:opacity .2s ease;transform:none}.sparkle,.achievement-icon{animation:none}.achievement-progress-bar{animation:none;display:none}}:root{--cache-bust-timestamp: "2025-08-02-19:40-NEW-LOGIN"}html{--force-reload: true;--css-version: "new-login-v3";--login-css-version: "rewritten-2025-08-02"}:root{--brand-accent: #fe7743;--brand-primary: #273f4f;--brand-secondary: #447d9b;--brand-light: #d7d7d7;--ai-aggressive: #ef233c;--ai-defensive: #4361ee;--ai-balanced: #43aa8b;--ai-balanced-rgb: 67 170 139;--ai-chaotic: #f77f00;--ai-methodical: #6f42c1;--ai-social: #e63946;--z-base: 1;--z-dropdown: 100;--z-sidebar: 200;--z-header: 500;--z-overlay: 1000;--z-modal: 1500;--z-popup: 2000;--z-mobile-hamburger: 1998;--z-sidebar-overlay: 1999;--z-sidebar-mobile: 2000;--z-toast: 9999;--z-tooltip: 10000;--z-max: 2147483647;--brand-accent-rgb: 254 119 67;--brand-primary-rgb: 39 63 79;--brand-secondary-rgb: 68 125 155;--brand-light-rgb: 215 215 215;--brand-tertiary: #1f3240;--color-gold: #ffd700;--color-gold-rgb: 255 215 0;--color-gold-deep: #ffb700;--color-gold-light: #ffe033;--color-gold-soft: #ffc233;--color-silver: #c0c0c0;--color-silver-rgb: 192 192 192;--color-bronze: #cd7f32;--color-bronze-rgb: 205 127 50;--color-platinum: #e5e4e2;--color-platinum-rgb: 229 228 226;--color-diamond: #b9f2ff;--color-diamond-rgb: 185 242 255;--color-master: #ff6b35;--color-master-rgb: 255 107 53;--color-grandmaster: #9c27b0;--color-grandmaster-rgb: 156 39 176;--color-hint: #ffd700;--color-hint-rgb: 255 215 0;--rarity-common: var(--text-muted);--rarity-uncommon: var(--color-success);--rarity-rare: var(--color-info);--rarity-epic: var(--color-epic);--rarity-legendary: var(--color-warning);--category-strategy: #4a90e2;--category-comeback: #f5a623;--category-close-game: #d0021b;--category-perfect-game: #7ed321;--category-learning: #9013fe;--category-funny: #ff6b35;--category-tournament: #ffd700;--category-practice: #50e3c2;--category-custom-default: #6c7b7f;--color-white: #fff;--color-white-rgb: 255 255 255;--color-black: #000;--color-black-rgb: 0 0 0;--color-blue: #00f;--color-lime: #0f0;--color-wood-dark-rgb: 139 90 43;--color-wood-darker-rgb: 101 67 33;--color-wood-warm-rgb: 160 100 50;--color-wood-deep-rgb: 120 80 40;--color-wood-sand-rgb: 255 200 150;--color-wood-sand-light-rgb: 255 220 180;--color-wood-cream-rgb: 255 240 220;--color-neutral-200-rgb: 204 204 204;--color-neutral-500-rgb: 108 117 125;--color-neutral-400-rgb: 149 165 166;--color-indigo-500-rgb: 102 126 234;--pip-color-0: #222;--pip-color-1: #1976d2;--pip-color-2: #43a047;--pip-color-3: #fbc02d;--pip-color-4: #c2185b;--pip-color-5: #7b1fa2;--pip-color-6: #f57c00;--pip-color-7: #e53935;--pip-color-8: #00897b;--pip-color-9: #6d4c41;--pip-color-10: #ffa726;--pip-color-11: #ad1457;--pip-color-12: #d32f2f;--pip-color-default: #333;--color-text-primary: var(--text-primary);--color-text-secondary: var(--text-secondary);--color-text-muted: var(--text-muted);--color-text-inverse: var(--text-inverse);--border-color: var(--border-primary);--shadow-xs: 0 1px 2px rgb(0 0 0 / 50%);--shadow-sm: 0 1px 3px rgb(0 0 0 / 10%);--shadow-md: 0 4px 6px rgb(0 0 0 / 10%);--shadow-lg: 0 10px 15px rgb(0 0 0 / 10%);--shadow-xl: 0 20px 25px rgb(0 0 0 / 10%);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-xxl: 48px;--space-xxxl: 64px;--tile-size: 50px;--tile-size-sm: 40px;--tile-size-lg: 60px;--sidebar-width: 250px;--sidebar-width-collapsed: 80px;--footer-min-height: 60px;--footer-reserved-height: 60px;--hand-height: 80px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-round: 50%;--font-family-primary: "Inter", "Segoe UI", tahoma, geneva, verdana, sans-serif;--font-family-heading: "Poppins", var(--font-family-primary);--font-family-mono: "Fira Code", "Consolas", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--game-board-padding: var(--space-lg);--train-spacing: var(--space-md);--tile-gap: var(--space-xs);--hand-padding: var(--space-sm);--gradient-brand: linear-gradient(135deg, var(--brand-accent), var(--brand-secondary));--gradient-success: linear-gradient(135deg, var(--game-success), #66bb6a);--gradient-game-board: linear-gradient(135deg, #f8f9fa 0%, #e8f5e8 100%);--gradient-card: linear-gradient( 135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100% );--focus-outline: 2px solid var(--brand-secondary);--link-color: var(--text-link);--link-hover-color: var(--text-link-hover);--focus-outline-offset: 2px;--min-touch-target: 44px;--primary-color: var(--brand-primary);--secondary-color: var(--brand-secondary);--text-color: var(--color-text-primary);--background-light: var(--bg-primary);--error-color: var(--game-error);--border-radius: var(--radius-lg);--z-index-dropdown: 50;--z-index-tooltip: 100;--z-index-modal-backdrop: 1000;--z-index-modal: 1001;--z-index-notification: 9999;--admin-success: #28a745;--admin-success-light: #d4edda;--admin-warning: #ffc107;--admin-warning-light: #fff3cd;--admin-danger: #dc3545;--admin-danger-light: #f8d7da;--admin-info: #17a2b8;--admin-info-light: #d1ecf1;--status-pending: #ffc107;--status-reviewing: #17a2b8;--status-resolved: #28a745;--status-dismissed: #6c757d;--status-escalated: #dc3545;--severity-low: #28a745;--severity-medium: #ffc107;--severity-high: #dc3545;--admin-card-bg: var(--bg-secondary);--admin-card-hover-bg: rgb(var(--brand-accent-rgb), .05);--admin-input-bg: var(--bg-primary);--admin-input-border: rgb(var(--brand-accent-rgb), .3);--admin-input-focus-border: var(--brand-accent);--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--player-red: #ff6b6b;--player-turquoise: #4ecdc4;--player-skyblue: #45b7d1;--player-salmon: #ffa07a;--player-purple: #ab47bc;--player-cyan: #00bcd4;--player-lime: #8bc34a;--player-deeporange: #ff6f00;--game-gold: #ffd700;--game-green: #10b981;--game-green-light: #4caf50;--game-green-dark: #059669;--game-green-darker: #166534;--game-green-darkest: #065f46;--game-red: #dc2626;--game-red-dark: #991b1b;--game-orange: #e67e22;--game-darkorange: #e74c3c;--game-yellow: #fbbf24;--game-yellow-dark: #92400e;--game-yellow-darker: #854d0e;--game-yellow-darkest: #713f12;--game-blue: #60a5fa;--game-blue-light: #93c5fd;--game-blue-dark: #1e40af;--game-blue-darker: #1e3a8a;--game-blue-darkest: #075985;--game-purple: #9333ea;--game-purple-dark: #7e22ce;--status-bg-success: #f0fdf4;--status-bg-success-alt: #efe;--status-bg-warning: #fefce8;--status-bg-warning-light: #fef3c7;--status-bg-error: #fef2f2;--status-bg-error-alt: #fee;--status-bg-error-light: #fee2e2;--status-bg-info: #eff6ff;--status-bg-info-light: #e0f2fe;--status-bg-dark: #422006;--action-danger: #c82333;--action-danger-light: #e96b02;--action-danger-red: #f44336;--action-danger-orange: #ff5722;--action-warning: #e0a800;--action-warning-light: #fd7e14;--action-warning-yellow: #ffc107;--action-warning-amber: #f57c00;--action-warning-orange: #e65100;--action-warning-darkorange: #d35400;--action-info: #138496;--action-info-blue: #2196f3;--action-info-darkblue: #1976d2;--action-info-darkerblue: #1565c0;--action-secondary: #5a6268;--action-secondary-gray: #7f8c8d;--action-secondary-lightgray: #95a5a6;--action-secondary-darkgray: #616161;--action-secondary-light: #888;--action-purple: #6f42c1;--action-purple-dark: #5a32a3;--action-purple-darker: #6a1b9a;--action-green: #4caf50;--action-green-dark: #2e7d32;--action-green-darker: #27ae60;--action-brand-dark: #e5693c;--action-brand-orange: #e5673a;--action-brand-darkorange: #ff6b35;--action-brand-red: #e74c3c;--text-error: #c00;--text-error-light: #ef9a9a;--text-success: #070;--text-warning-dark: #e65100;--text-gold: #ffd700;--bg-light: #f5f5f5;--bg-info-light: #f0f7ff;--bg-info-lighter: #e8f4f8;--bg-warning-light: #fff3e0;--bg-warning-lighter: #fff9e6;--bg-gray-light: #f8f9fa;--social-twitter: #1da1f2;--social-facebook: #4267b2;--social-linkedin: #0d8ddb;--social-reddit: #ff5722;--social-discord: #5865f2;--social-discord-dark: #4752c4;--social-github: #24292e;--social-github-light: #2f363d;--social-facebook-dark: #365899;--social-google: #4285f4;--border-error: #fcc;--border-error-dark: #faa;--border-success: #cfc;--border-dark: #1a1a2e;--border-darker: #16213e;--neutral-white: #fff;--neutral-black: #000;--neutral-light: #e0e0e0;--neutral-gray: #666;--neutral-darkgray: #333;--skeleton-base: #e0e0e0;--skeleton-base-rgb: 224 224 224;--skeleton-shimmer: #f0f0f0;--skeleton-shimmer-rgb: 240 240 240}[data-theme=ocean]{--brand-primary: #0077be;--brand-secondary: #0af;--brand-tertiary: #058;--bg-primary: #e8f4f8;--bg-secondary: #fff;--bg-tertiary: #f0f8ff;--gradient-game-board: linear-gradient(135deg, #e8f4f8 0%, #b3e0ff 100%);--game-success: #00a86b;--game-warning: #ffa500;--game-error: #dc143c}[data-theme=forest]{--brand-primary: #228b22;--brand-secondary: #32cd32;--brand-tertiary: #006400;--bg-primary: #f0f8f0;--bg-secondary: #fff;--bg-tertiary: #e8f5e8;--gradient-game-board: linear-gradient(135deg, #f0f8f0 0%, #c8e6c8 100%);--game-success: #4caf50;--game-warning: #ff8c00;--game-error: #d32f2f}[data-theme=sunset]{--brand-primary: #ff6b35;--brand-secondary: #f7931e;--brand-tertiary: #c50;--bg-primary: #fff5f0;--bg-secondary: #fff;--bg-tertiary: #ffe8dc;--gradient-game-board: linear-gradient(135deg, #fff5f0 0%, #fc9 100%);--game-success: #ff8c42;--game-warning: #ffa500;--game-error: #dc143c}[data-theme=royal]{--brand-primary: #639;--brand-secondary: #8a2be2;--brand-tertiary: #4b0082;--bg-primary: #f8f4ff;--bg-secondary: #fff;--bg-tertiary: #f0e8ff;--gradient-game-board: linear-gradient(135deg, #f8f4ff 0%, #e6d9ff 100%);--game-success: #9370db;--game-warning: #ffa500;--game-error: #dc143c}:root.forced-colors-active{--color-text-primary: CanvasText;--bg-secondary: Canvas;--tile-border: CanvasText;--focus-outline: 3px solid CanvasText}@media(prefers-reduced-motion:reduce){:root{--transition-fast: 0ms;--transition-normal: 0ms;--transition-slow: 0ms}}:root{--theme-transition-speed: .3s;--theme-transition-easing: cubic-bezier(.4, 0, .2, 1);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--color-black: #000000;--color-black-rgb: 0 0 0;--color-white: #ffffff;--color-white-rgb: 255 255 255}:root,[data-theme=dark],.dark-mode{--bg-primary: #1a2530;--bg-secondary: #273f4f;--bg-tertiary: #2f4a5e;--bg-elevated: #344d64;--bg-overlay: rgb(0 0 0 / 70%);--bg-hover: rgb(255 255 255 / 5%);--bg-active: rgb(255 255 255 / 10%);--skeleton-base: #2a2a2a;--skeleton-shimmer: #3a3a3a;--text-primary: #ecf0f1;--text-secondary: #b8c5d0;--text-tertiary: #9fb5c4;--text-muted: #8a9ba8;--text-inverse: #1a2530;--text-link: #64b5f6;--text-link-hover: #90caf9;--border-primary: #6e94ab;--border-secondary: #6e8ca3;--border-focus: #fe7743;--border-hover: #7ea4bb;--brand-accent: #fe7743;--brand-accent-hover: #ff8c5a;--brand-accent-active: #e66935;--brand-accent-bg: rgb(254 119 67 / 10%);--brand-accent-bg-light: rgb(254 119 67 / 15%);--brand-accent-border: rgb(254 119 67 / 25%);--brand-primary: #447d9b;--brand-secondary: #64b5f6;--brand-accent-rgb: 254 119 67;--brand-primary-rgb: 68 125 155;--brand-secondary-rgb: 100 181 246;--brand-light-rgb: 215 215 215;--color-success: #66bb6a;--color-success-dark: #4caf50;--color-success-bg: rgb(102 187 106 / 10%);--color-warning: #ffa726;--color-warning-bg: rgb(255 167 38 / 10%);--color-warning-border: rgb(255 167 38 / 30%);--color-warning-text: #ffb74d;--color-error: #ef5350;--color-error-bg: rgb(239 83 80 / 10%);--color-danger: #ef5350;--color-danger-bg: rgb(239 83 80 / 10%);--color-danger-border: rgb(239 83 80 / 30%);--color-danger-text: #ef5350;--color-info: #42a5f5;--color-info-bg: rgb(66 165 245 / 10%);--color-info-border: rgb(66 165 245 / 30%);--color-info-text: #64b5f6;--color-epic: #9333ea;--color-epic-rgb: 147 51 234;--color-epic-bg: rgb(var(--color-epic-rgb), .12);--game-success: var(--color-success);--game-success-rgb: 102 187 106;--game-success-bg: var(--color-success-bg);--game-warning: var(--color-warning);--game-warning-rgb: 255 167 38;--game-warning-bg: var(--color-warning-bg);--game-error: var(--color-error);--game-error-rgb: 239 83 80;--game-error-bg: var(--color-error-bg);--game-info: var(--color-info);--game-info-rgb: 66 165 245;--game-info-bg: var(--color-info-bg);--train-open: #ef5350;--train-closed: #78909c;--tile-background: #ecf0f1;--tile-border: #455a64;--tile-dots: #263238;--tile-selected: #42a5f5;--tile-hover: rgb(66 165 245 / 20%);--shadow-xs: 0 1px 2px rgb(0 0 0 / 80%);--shadow-sm: 0 1px 3px rgb(0 0 0 / 60%);--shadow-md: 0 4px 6px rgb(0 0 0 / 50%);--shadow-lg: 0 10px 15px rgb(0 0 0 / 40%);--shadow-xl: 0 20px 25px rgb(0 0 0 / 30%);--input-bg: #1e3a52;--input-border: #3d5a73;--input-text: #ecf0f1;--input-placeholder: #8a9ba8;--input-focus-bg: #234a67;--input-focus-border: #fe7743;--btn-primary-bg: #fe7743;--btn-primary-text: #fff;--btn-primary-hover: #ff8c5a;--btn-secondary-bg: #3d5a73;--btn-secondary-text: #ecf0f1;--btn-secondary-hover: #4d6a85;--scrollbar-track: #1a2530;--scrollbar-thumb: #3d5a73;--scrollbar-thumb-hover: #4d6a85;--card-bg: var(--bg-secondary);--card-border: var(--border-secondary);--card-shadow: var(--shadow-md)}[data-theme=light],.light-mode{--bg-primary: #f5f7fa;--bg-secondary: #fff;--bg-tertiary: #f0f2f5;--bg-elevated: #fff;--bg-overlay: rgb(0 0 0 / 50%);--bg-hover: rgb(0 0 0 / 5%);--bg-active: rgb(0 0 0 / 10%);--skeleton-base: #e0e0e0;--skeleton-shimmer: #f0f0f0;--text-primary: #1a2530;--text-secondary: #4b5c69;--text-tertiary: #5c6d7a;--text-muted: #8a9ba8;--text-inverse: #fff;--text-link: #1976d2;--text-link-hover: #1565c0;--border-primary: #6b7280;--border-secondary: #9ca3af;--border-focus: #fe7743;--border-hover: #4b5563;--brand-accent: #fe7743;--brand-accent-hover: #ff8c5a;--brand-accent-active: #e66935;--brand-accent-bg: rgb(254 119 67 / 10%);--brand-accent-bg-light: rgb(254 119 67 / 15%);--brand-accent-border: rgb(254 119 67 / 25%);--brand-primary: #273f4f;--brand-secondary: #447d9b;--brand-accent-rgb: 254 119 67;--brand-primary-rgb: 39 63 79;--brand-secondary-rgb: 68 125 155;--brand-light-rgb: 215 215 215;--color-success: #4caf50;--color-success-dark: #388e3c;--color-success-bg: rgb(76 175 80 / 10%);--color-warning: #ff9800;--color-warning-bg: rgb(255 152 0 / 10%);--color-warning-border: rgb(255 152 0 / 30%);--color-warning-text: #f57c00;--color-error: #d32f2f;--color-error-bg: rgb(211 47 47 / 10%);--color-danger: #d32f2f;--color-danger-bg: rgb(211 47 47 / 10%);--color-danger-border: rgb(211 47 47 / 30%);--color-danger-text: #d32f2f;--color-info: #2196f3;--color-info-bg: rgb(33 150 243 / 10%);--color-info-border: rgb(33 150 243 / 30%);--color-info-text: #1976d2;--color-epic: #9333ea;--color-epic-rgb: 147 51 234;--color-epic-bg: rgb(var(--color-epic-rgb), .12);--game-success: var(--color-success);--game-success-rgb: 76 175 80;--game-success-bg: var(--color-success-bg);--game-warning: var(--color-warning);--game-warning-rgb: 255 152 0;--game-warning-bg: var(--color-warning-bg);--game-error: var(--color-error);--game-error-rgb: 211 47 47;--game-error-bg: var(--color-error-bg);--game-info: var(--color-info);--game-info-rgb: 33 150 243;--game-info-bg: var(--color-info-bg);--train-open: #d32f2f;--train-closed: #6c757d;--tile-background: #fff;--tile-border: #333;--tile-dots: #000;--tile-selected: #2196f3;--tile-hover: rgb(33 150 243 / 10%);--shadow-xs: 0 1px 2px rgb(0 0 0 / 5%);--shadow-sm: 0 1px 3px rgb(0 0 0 / 10%);--shadow-md: 0 4px 6px rgb(0 0 0 / 10%);--shadow-lg: 0 10px 15px rgb(0 0 0 / 10%);--shadow-xl: 0 20px 25px rgb(0 0 0 / 15%);--input-bg: #fff;--input-border: #d1d5db;--input-text: #1a2530;--input-placeholder: #6b7c8a;--input-focus-bg: #fff;--input-focus-border: #fe7743;--btn-primary-bg: #fe7743;--btn-primary-text: #fff;--btn-primary-hover: #ff8c5a;--btn-secondary-bg: #e5e7eb;--btn-secondary-text: #1a2530;--btn-secondary-hover: #d1d5db;--scrollbar-track: #f5f7fa;--scrollbar-thumb: #d1d5db;--scrollbar-thumb-hover: #9ca3af;--card-bg: var(--bg-secondary);--card-border: var(--border-primary);--card-shadow: var(--shadow-sm)}*{transition-property:background-color,border-color,color,fill,stroke;transition-duration:var(--theme-transition-speed);transition-timing-function:var(--theme-transition-easing);scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}body{background-color:var(--bg-primary);color:var(--text-primary)}a{color:var(--text-link)}a:hover{color:var(--text-link-hover)}input,textarea,select{background-color:var(--input-bg);border-color:var(--input-border);color:var(--input-text)}input::placeholder,textarea::placeholder{color:var(--input-placeholder)}input:focus,textarea:focus,select:focus{background-color:var(--input-focus-bg);border-color:var(--input-focus-border);outline:2px solid var(--input-focus-border);outline-offset:2px}button{transition:all var(--theme-transition-speed) var(--theme-transition-easing)}@media(prefers-contrast:more){:root,[data-theme=dark],[data-theme=light]{--border-primary: currentcolor;--border-focus: currentcolor}button,a{text-decoration:underline}}@media print{:root,[data-theme=dark],[data-theme=light]{--bg-primary: #fff;--bg-secondary: #fff;--text-primary: #000;--text-secondary: #333;--border-primary: #000}}[data-theme=forest],.forest-mode{color-scheme:dark;--bg-primary: #1a2e1a;--bg-secondary: #2d4a2d;--bg-tertiary: #3a5c3a;--bg-elevated: #426842;--bg-overlay: rgb(0 0 0 / 70%);--bg-hover: rgb(255 255 255 / 10%);--bg-active: rgb(255 255 255 / 15%);--text-primary: #e8f5e9;--text-secondary: #c8e6c9;--text-tertiary: #a5d6a7;--text-muted: #81c784;--text-inverse: #1a2e1a;--text-link: #81c784;--text-link-hover: #a5d6a7;--border-primary: #4caf50;--border-secondary: #388e3c;--border-focus: #66bb6a;--border-hover: #81c784;--brand-accent: #66bb6a;--brand-accent-hover: #81c784;--brand-accent-active: #4caf50;--brand-primary: #2e7d32;--brand-secondary: #66bb6a;--brand-accent-rgb: 102 187 106;--brand-primary-rgb: 46 125 50;--brand-secondary-rgb: 102 187 106;--brand-light-rgb: 232 245 233;--brand-accent-bg: rgb(102 187 106 / 15%);--brand-accent-bg-light: rgb(102 187 106 / 20%);--brand-accent-border: rgb(102 187 106 / 30%);--color-success: #a5d6a7;--color-success-bg: rgb(165 214 167 / 15%);--color-warning: #ffcc80;--color-warning-bg: rgb(255 183 77 / 15%);--color-warning-border: rgb(255 183 77 / 30%);--color-warning-text: #ffe0b2;--color-error: #ef9a9a;--color-error-bg: rgb(239 83 80 / 15%);--color-error-border: rgb(239 83 80 / 30%);--color-error-text: #ffebee;--color-info: #81d4fa;--color-info-bg: rgb(79 195 247 / 15%);--color-info-border: rgb(79 195 247 / 30%);--color-info-text: #e1f5fe;--game-success: var(--color-success);--game-success-rgb: 165 214 167;--game-success-bg: var(--color-success-bg);--game-warning: var(--color-warning);--game-warning-rgb: 255 183 77;--game-warning-bg: var(--color-warning-bg);--game-error: var(--color-error);--game-error-rgb: 239 83 80;--game-error-bg: var(--color-error-bg);--game-info: var(--color-info);--game-info-rgb: 79 195 247;--game-info-bg: var(--color-info-bg);--train-open: #ef5350;--train-closed: #5d6d5d;--tile-background: #c8e6c9;--tile-border: #2e7d32;--tile-dots: #1b5e20;--tile-selected: #81c784;--tile-hover: rgb(129 199 132 / 20%);--card-bg: #2d4a2d;--card-border: #388e3c;--card-shadow: 0 4px 6px rgb(0 0 0 / 50%);--shadow-xs: 0 1px 2px rgb(0 0 0 / 80%);--shadow-sm: 0 1px 3px rgb(0 0 0 / 60%);--shadow-md: 0 4px 6px rgb(0 0 0 / 50%);--shadow-lg: 0 10px 15px rgb(0 0 0 / 40%);--shadow-xl: 0 20px 25px rgb(0 0 0 / 30%);--input-bg: #1a2e1a;--input-border: #4caf50;--input-placeholder: #81c784;--input-focus-bg: #3a5c3a;--input-focus-border: #66bb6a;--input-text: #e8f5e9;--btn-primary-bg: #66bb6a;--btn-primary-text: #1a2e1a;--btn-primary-hover: #81c784;--btn-secondary-bg: #388e3c;--btn-secondary-text: #e8f5e9;--btn-secondary-hover: #4caf50;--scrollbar-track: #1a2e1a;--scrollbar-thumb: #4caf50;--scrollbar-thumb-hover: #66bb6a}[data-theme=ocean],.ocean-mode{color-scheme:dark;--bg-primary: #0d1b2a;--bg-secondary: #1b3a4b;--bg-tertiary: #274c5e;--bg-elevated: #305d72;--bg-overlay: rgb(0 0 0 / 70%);--bg-hover: rgb(255 255 255 / 10%);--bg-active: rgb(255 255 255 / 15%);--text-primary: #e0f7fa;--text-secondary: #b2ebf2;--text-tertiary: #80deea;--text-muted: #26c6da;--text-inverse: #0d1b2a;--text-link: #4dd0e1;--text-link-hover: #80deea;--border-primary: #0097a7;--border-secondary: #00838f;--border-focus: #00bcd4;--border-hover: #4dd0e1;--brand-accent: #00bcd4;--brand-accent-hover: #4dd0e1;--brand-accent-active: #0097a7;--brand-primary: #006064;--brand-secondary: #00bcd4;--brand-accent-rgb: 0 188 212;--brand-primary-rgb: 0 96 100;--brand-secondary-rgb: 0 188 212;--brand-light-rgb: 224 247 250;--brand-accent-bg: rgb(0 188 212 / 15%);--brand-accent-bg-light: rgb(0 188 212 / 20%);--brand-accent-border: rgb(0 188 212 / 30%);--color-success: #69f0ae;--color-success-bg: rgb(105 240 174 / 15%);--color-warning: #ffe082;--color-warning-bg: rgb(255 213 79 / 15%);--color-warning-border: rgb(255 213 79 / 30%);--color-warning-text: #fff9c4;--color-error: #ff8a80;--color-error-bg: rgb(255 82 82 / 15%);--color-error-border: rgb(255 82 82 / 30%);--color-error-text: #ffebee;--color-info: #80d8ff;--color-info-bg: rgb(64 196 255 / 15%);--color-info-border: rgb(64 196 255 / 30%);--color-info-text: #e1f5fe;--game-success: var(--color-success);--game-success-rgb: 105 240 174;--game-success-bg: var(--color-success-bg);--game-warning: var(--color-warning);--game-warning-rgb: 255 213 79;--game-warning-bg: var(--color-warning-bg);--game-error: var(--color-error);--game-error-rgb: 255 82 82;--game-error-bg: var(--color-error-bg);--game-info: var(--color-info);--game-info-rgb: 64 196 255;--game-info-bg: var(--color-info-bg);--train-open: #ff5252;--train-closed: #546e7a;--tile-background: #b2ebf2;--tile-border: #006064;--tile-dots: #004d40;--tile-selected: #4dd0e1;--tile-hover: rgb(77 208 225 / 20%);--card-bg: #1b3a4b;--card-border: #00838f;--card-shadow: 0 4px 6px rgb(0 0 0 / 50%);--shadow-xs: 0 1px 2px rgb(0 0 0 / 80%);--shadow-sm: 0 1px 3px rgb(0 0 0 / 60%);--shadow-md: 0 4px 6px rgb(0 0 0 / 50%);--shadow-lg: 0 10px 15px rgb(0 0 0 / 40%);--shadow-xl: 0 20px 25px rgb(0 0 0 / 30%);--input-bg: #0d1b2a;--input-border: #0097a7;--input-placeholder: #26c6da;--input-focus-bg: #274c5e;--input-focus-border: #00bcd4;--input-text: #e0f7fa;--btn-primary-bg: #00bcd4;--btn-primary-text: #0d1b2a;--btn-primary-hover: #4dd0e1;--btn-secondary-bg: #0097a7;--btn-secondary-text: #e0f7fa;--btn-secondary-hover: #00bcd4;--scrollbar-track: #0d1b2a;--scrollbar-thumb: #0097a7;--scrollbar-thumb-hover: #00bcd4}[data-theme=sunset],.sunset-mode{color-scheme:dark;--bg-primary: #2d1b1b;--bg-secondary: #4a2c2c;--bg-tertiary: #5c3838;--bg-elevated: #6b4444;--bg-overlay: rgb(0 0 0 / 70%);--bg-hover: rgb(255 255 255 / 5%);--bg-active: rgb(255 255 255 / 10%);--text-primary: #fce4ec;--text-secondary: #f8bbd0;--text-tertiary: #f48fb1;--text-muted: #ec407a;--text-inverse: #2d1b1b;--text-link: #f48fb1;--text-link-hover: #f8bbd0;--border-primary: #e91e63;--border-secondary: #c2185b;--border-focus: #ff4081;--border-hover: #f48fb1;--brand-accent: #ff4081;--brand-accent-hover: #ff80ab;--brand-accent-active: #f50057;--brand-primary: #880e4f;--brand-secondary: #ff4081;--brand-accent-rgb: 255 64 129;--brand-primary-rgb: 136 14 79;--brand-secondary-rgb: 255 64 129;--brand-light-rgb: 252 228 236;--brand-accent-bg: rgb(255 64 129 / 10%);--brand-accent-bg-light: rgb(255 64 129 / 15%);--brand-accent-border: rgb(255 64 129 / 25%);--color-success: #69f0ae;--color-success-bg: rgb(105 240 174 / 10%);--color-warning: #ffc107;--color-warning-bg: rgb(255 193 7 / 10%);--color-warning-border: rgb(255 193 7 / 30%);--color-warning-text: #ffe082;--color-error: #ff5722;--color-error-bg: rgb(255 87 34 / 10%);--color-error-border: rgb(255 87 34 / 30%);--color-error-text: #ff8a65;--color-info: #64b5f6;--color-info-bg: rgb(100 181 246 / 10%);--color-info-border: rgb(100 181 246 / 30%);--color-info-text: #90caf9;--game-success: var(--color-success);--game-success-rgb: 105 240 174;--game-success-bg: var(--color-success-bg);--game-warning: var(--color-warning);--game-warning-rgb: 255 193 7;--game-warning-bg: var(--color-warning-bg);--game-error: var(--color-error);--game-error-rgb: 255 87 34;--game-error-bg: var(--color-error-bg);--game-info: var(--color-info);--game-info-rgb: 100 181 246;--game-info-bg: var(--color-info-bg);--train-open: #ff5722;--train-closed: #5d4037;--tile-background: #fce4ec;--tile-border: #880e4f;--tile-dots: #4a148c;--tile-selected: #ff4081;--tile-hover: rgb(255 128 171 / 20%);--card-bg: var(--bg-secondary);--card-border: var(--border-secondary);--card-shadow: 0 4px 6px rgb(0 0 0 / 50%);--shadow-xs: 0 1px 2px rgb(0 0 0 / 80%);--shadow-sm: 0 1px 3px rgb(0 0 0 / 60%);--shadow-md: 0 4px 6px rgb(0 0 0 / 50%);--shadow-lg: 0 10px 15px rgb(0 0 0 / 40%);--shadow-xl: 0 20px 25px rgb(0 0 0 / 30%);--input-bg: #4a2c2c;--input-border: #e91e63;--input-placeholder: #f48fb1;--input-focus-bg: #5c3838;--input-focus-border: #ff4081;--input-text: #fce4ec;--btn-primary-bg: #ff4081;--btn-primary-text: #2d1b1b;--btn-primary-hover: #ff80ab;--btn-secondary-bg: #c2185b;--btn-secondary-text: #fce4ec;--btn-secondary-hover: #e91e63;--scrollbar-track: #2d1b1b;--scrollbar-thumb: #e91e63;--scrollbar-thumb-hover: #ff4081}[data-theme=midnight],.midnight-mode{--bg-primary: #0a0a1a;--bg-secondary: #1a1a2e;--bg-tertiary: #252542;--bg-elevated: #303055;--bg-overlay: rgb(0 0 0 / 80%);--bg-hover: rgb(255 255 255 / 5%);--bg-active: rgb(255 255 255 / 10%);--text-primary: #e8e8f0;--text-secondary: #b8b8d0;--text-tertiary: #9898b8;--text-muted: #6868a0;--text-inverse: #0a0a1a;--text-link: #b388ff;--text-link-hover: #d1b3ff;--border-primary: #7c4dff;--border-secondary: #651fff;--border-focus: #b388ff;--border-hover: #9e79ff;--brand-accent: #b388ff;--brand-accent-hover: #d1b3ff;--brand-accent-active: #7c4dff;--brand-primary: #4527a0;--brand-secondary: #b388ff;--color-success: #69f0ae;--color-warning: #ffd740;--color-error: #ff5252;--color-info: #448aff;--tile-background: #e8e8f0;--tile-border: #4527a0;--tile-dots: #311b92;--tile-selected: #b388ff;--input-bg: #1a1a2e;--input-border: #7c4dff;--btn-primary-bg: #b388ff;--btn-primary-text: #0a0a1a;--btn-secondary-bg: #7c4dff;--scrollbar-track: #0a0a1a;--scrollbar-thumb: #7c4dff}[data-theme=high-contrast],.high-contrast-mode{--bg-primary: #000;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--bg-elevated: #333;--bg-overlay: rgb(0 0 0 / 90%);--bg-hover: rgb(255 255 255 / 10%);--bg-active: rgb(255 255 255 / 20%);--text-primary: #fff;--text-secondary: #fff;--text-tertiary: #fff;--text-muted: #ccc;--text-inverse: #000;--text-link: #ff0;--text-link-hover: #fff;--border-primary: #fff;--border-secondary: #fff;--border-focus: #ff0;--border-hover: #ff0;--brand-accent: #ff0;--brand-accent-hover: #fff;--brand-accent-active: #cc0;--brand-primary: #fff;--brand-secondary: #ff0;--color-success: #0f0;--color-warning: #ff0;--color-error: #f00;--color-info: #0ff;--tile-background: #fff;--tile-border: #000;--tile-dots: #000;--tile-selected: #ff0;--input-bg: #1a1a1a;--input-border: #fff;--btn-primary-bg: #ff0;--btn-primary-text: #000;--btn-secondary-bg: #fff;--btn-secondary-text: #000;--scrollbar-track: #000;--scrollbar-thumb: #fff}.animation-slow,.animation-slow *{--animation-duration: .6s;--transition-duration: .6s}.animation-slow *,.animation-slow *:before,.animation-slow *:after{transition-duration:var(--transition-duration)!important;animation-duration:var(--animation-duration)!important}.animation-normal,.animation-normal *{--animation-duration: .3s;--transition-duration: .3s}.animation-fast,.animation-fast *{--animation-duration: .15s;--transition-duration: .15s}.animation-fast *,.animation-fast *:before,.animation-fast *:after{transition-duration:var(--transition-duration)!important;animation-duration:var(--animation-duration)!important}.animation-instant,.animation-instant *{--animation-duration: 0s;--transition-duration: 0s}.animation-instant *,.animation-instant *:before,.animation-instant *:after{transition:none!important;animation:none!important}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;height:100%;min-height:100%;overflow:hidden}@supports (-webkit-font-smoothing: antialiased){html{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch}}body{height:100%;min-height:100%;font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--bg-primary);overflow:hidden;text-rendering:optimizespeed;padding-top:env(safe-area-inset-top,0);padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}#root{height:100%;min-height:0;width:100%;overflow:hidden}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary)}p,li,blockquote{max-width:65ch}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button{border:none;background:none;cursor:pointer;padding:0}a{color:var(--brand-primary);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}*:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}button,input[type=button],input[type=submit],[role=button],.clickable{min-height:var(--min-touch-target);min-width:var(--min-touch-target)}button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.game-board,.domino-tile,.train-area,.game-controls{-webkit-user-select:none;user-select:none}.chat-message,.game-log,.score-display,.player-name{-webkit-user-select:text;user-select:text}@media print{*,*:before,*:after{background:transparent!important;color:var(--color-black)!important;box-shadow:none!important;text-shadow:none!important}.sidebar,.chat,.game-controls,button{display:none!important}}.domino-tile,.action-btn,.train-tile,.player-card,[class*=animate],[class*=transition]{will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden}.scrollable,.game-board__train-tiles,.player-hand,[style*=overflow]{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}@media(hover:none)and (pointer:coarse){button,[role=button],.btn,.header-btn,.action-btn,.control-btn,.close-btn{min-width:44px;min-height:44px;padding:.5rem}.button-group,.action-controls,.header-actions{gap:.5rem}nav a,.sidebar-link,.footer a{min-height:44px;display:inline-flex;align-items:center;padding:.5rem}}.clean-gameboard,.game-board,.game-container{touch-action:pan-x pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.domino-tile,.player-hand-tile{touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.train-tiles-container,.clean-players-horizontal-row{touch-action:pan-x;-webkit-overflow-scrolling:touch}.modal-overlay,.round-history-overlay,.game-modal-overlay{touch-action:none;overscroll-behavior:contain}.modal-content,.round-history-modal,.game-modal-content{touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}@media(hover:none)and (pointer:coarse){button:active,[role=button]:active,.btn:active{transform:scale(.96);opacity:.9;transition:transform .1s ease,opacity .1s ease}.clean-player-card:active,.game-card:active{transform:scale(.98);box-shadow:0 2px 8px rgb(var(--color-black-rgb) / 15%)}.domino-tile:active{transform:scale(.92);box-shadow:0 2px 8px rgb(var(--color-black-rgb) / 20%),inset 0 2px 4px rgb(var(--color-black-rgb) / 10%)}.domino-tile.selected,.domino-tile.clicked{transform:scale(1.05);box-shadow:0 4px 16px rgb(var(--brand-primary-rgb) / 40%),0 0 0 3px rgb(var(--brand-primary-rgb) / 60%)}}@media(max-width:480px){.clean-gameboard{overflow:hidden auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-behavior:smooth}.clean-gameboard,.clean-game-grid,.tiles-container,.clean-players-horizontal-row{scrollbar-width:none;-ms-overflow-style:none}.tiles-container{overflow:auto hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding-bottom:.5rem}.player-hand-tile{scroll-snap-align:center;flex:0 0 auto}.tiles-container:after{content:"";position:absolute;right:0;top:0;bottom:0;width:24px;background:linear-gradient(to left,rgb(var(--brand-primary-rgb) / 90%),transparent);pointer-events:none;opacity:0;transition:opacity .3s ease}.tiles-container:not(:hover,:active):after{opacity:1}.clean-players-horizontal-row{overflow-x:auto;scroll-snap-type:x mandatory;gap:.5rem;padding:.5rem}.clean-player-card{scroll-snap-align:start;flex:0 0 auto;min-width:140px;max-width:160px}}@media(orientation:portrait)and (max-width:480px){.clean-game-grid{flex-direction:column}.clean-players-horizontal-row{flex-flow:row nowrap;overflow-x:auto;scroll-snap-type:x mandatory}.clean-mexican-train-horizontal{width:100%;max-width:300px;margin:0 auto}.player-hand-unified.docked{left:0!important;right:0;max-width:100vw}}@media(orientation:landscape)and (max-height:500px){.game-header{padding:.125rem .5rem;min-height:2.5rem}.clean-players-horizontal-row{flex-flow:row nowrap;overflow-x:auto;scroll-snap-type:x mandatory;gap:.25rem}.clean-player-card{scroll-snap-align:start;min-width:100px;max-width:130px;padding:.25rem}.clean-player-avatar{width:1.5rem;height:1.5rem}.player-hand-unified.docked{bottom:calc(40px + env(safe-area-inset-bottom,0));padding-block:.25rem;max-height:70px}.player-hand-unified.docked .hand-stats-bar{display:none}.player-hand-tile{--tile-size: 32px}}@keyframes orientationHint{0%,to{opacity:0;transform:translate(-50%) translateY(10px)}10%,90%{opacity:.95;transform:translate(-50%) translateY(0)}}@media(orientation:portrait)and (max-width:480px)and (min-height:600px){.clean-gameboard:after{content:"📱 ↻ Tip: Rotate for better view";position:fixed;bottom:calc(80px + env(safe-area-inset-bottom,0));left:50%;transform:translate(-50%);background:linear-gradient(135deg,rgb(var(--brand-primary-rgb) / 95%),rgb(var(--brand-primary-rgb) / 90%));color:var(--btn-primary-text);padding:.625rem 1.25rem;border-radius:24px;font-size:.8125rem;font-weight:500;z-index:var(--z-dropdown);opacity:0;pointer-events:none;white-space:nowrap;box-shadow:0 4px 12px rgb(var(--color-black-rgb) / 30%);border:1px solid rgb(var(--color-white-rgb) / 10%);animation:orientationHint 10s ease-in-out 5s 1 forwards}}@media(orientation:landscape){.clean-gameboard:after{display:none!important;animation:none!important}}@media(min-width:768px)and (max-width:1024px)and (pointer:coarse){.domino-tile{--tile-size: 52px}.clean-player-card{min-width:160px;padding:.75rem}.clean-players-horizontal-row{gap:.75rem}.tiles-container{gap:.375rem}}@media(min-width:600px)and (max-width:900px)and (min-height:800px){.clean-game-grid{max-width:100%;padding:.5rem}.clean-players-horizontal-row{flex-wrap:wrap;justify-content:center}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.domino-tile:active{transform:scale(.95);transition:none}.clean-gameboard:after{display:none!important}}@media(prefers-contrast:more){.domino-tile{border-width:3px;border-color:var(--color-black)}.domino-tile.playable{border-color:var(--color-success-dark);box-shadow:0 0 0 3px var(--color-lime)}.domino-tile.selected{border-color:var(--color-blue);box-shadow:0 0 0 4px rgb(var(--game-info-rgb) / 100%)}}.btn-back{position:fixed!important;top:20px!important;left:calc(var(--sidebar-width, 250px) + 20px)!important;z-index:var(--z-overlay)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;background:var(--bg-secondary)!important;border:2px solid var(--brand-accent)!important;border-radius:12px!important;box-shadow:0 4px 12px rgb(var(--brand-accent-rgb),.25)!important;color:var(--brand-accent)!important;font-size:1.2rem!important;font-family:inherit!important;line-height:1!important;cursor:pointer!important;transition:left .3s ease,all .3s ease!important;flex-shrink:0!important;overflow:visible!important}.btn-back svg,.btn-back i{width:20px!important;height:20px!important;flex-shrink:0!important;display:block!important}.btn-back span{display:none!important}.btn-back:hover{background:linear-gradient(135deg,var(--brand-accent) 0%,var(--brand-accent-hover) 100%)!important;color:var(--color-white)!important;border-color:var(--brand-accent)!important;transform:translateY(-2px) scale(1.05)!important;box-shadow:0 6px 16px rgb(var(--brand-accent-rgb) / 40%)!important}.btn-back:active{transform:translateY(0) scale(.98)!important;box-shadow:0 2px 8px rgb(var(--brand-accent-rgb) / 30%)!important}.btn-back:focus-visible{outline:3px solid var(--border-focus)!important;outline-offset:3px!important}@media not (max-width:768px){.btn-back{display:none!important}}@media(max-width:768px){.btn-back{display:inline-flex!important;top:72px!important;left:16px!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;box-shadow:0 2px 8px rgb(var(--brand-accent-rgb) / 20%)!important}.btn-back svg,.btn-back i{width:18px!important;height:18px!important}}@media(max-width:480px){.btn-back{top:68px!important;left:12px!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important}.btn-back svg,.btn-back i{width:16px!important;height:16px!important}}html{scroll-behavior:smooth;height:100%;min-height:100%;overflow:auto}body{font-family:var(--font-family-primary);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;height:100%;min-height:100%;overflow:auto}a{color:var(--link-color);text-decoration:underline;transition:color var(--transition-fast)}a:hover{color:var(--link-hover-color)}a:focus-visible{outline:var(--focus-outline);outline-offset:2px;border-radius:2px}#root{height:100%;min-height:0;display:block;overflow:auto}.app-container{display:flex;flex-direction:row;height:100%;width:100%;overflow:hidden}.content-wrapper{display:flex;flex-direction:column;flex:1;min-height:0;overflow:auto;gap:4px}.content-wrapper.no-page-scroll{overflow:hidden;gap:10px}.main-content{flex:1;padding:0;display:flex;flex-direction:column;min-height:0}.main-content.allow-scroll{overflow:auto;height:auto;min-height:400px}.main-content.no-page-scroll{overflow:hidden;flex:1;min-height:0;height:100%}.hidden{display:none}.text-center{text-align:center}.vscode-optimized{animation:none;transition:none;scroll-behavior:auto!important}.vscode-optimized *,.vscode-optimized *:before,.vscode-optimized *:after{animation-duration:0s!important;animation-delay:0s!important;transition-duration:0s!important;transition-delay:0s!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
