.header{position:fixed;top:0;left:0;width:100%;height:var(--header-height);background-color:#0f172ae6;color:var(--text-on-dark);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease;z-index:1000}.header.scrolled{background-color:#0f172afa;border-bottom-color:var(--border-color);box-shadow:var(--shadow-sm)}.header-container{max-width:var(--container-max-width);height:100%;margin:0 auto;padding:0 var(--container-padding-x);display:flex;align-items:center;justify-content:space-between}.logo-link{display:flex;align-items:center;text-decoration:none;color:inherit}.logo-image{height:calc(var(--header-height) * .55);width:auto}.desktop-nav ul{display:flex;list-style:none;margin:0;padding:0;gap:var(--spacing-lg)}.desktop-nav a{color:inherit;text-decoration:none;font-size:.95rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-xs);position:relative;border-bottom:2px solid transparent;transition:color .2s ease,border-color .2s ease}.desktop-nav a:hover{color:var(--link-hover-color);text-decoration:none}.desktop-nav a.active-link{font-weight:600;border-bottom-color:var(--active-link-border, var(--accent-color))}.header-actions{display:flex;align-items:center;gap:var(--spacing-md)}.cart-icon-link{position:relative;color:inherit;display:block;padding:var(--spacing-xs);border-radius:50%;transition:color .2s ease,background-color .2s ease}.cart-icon-link:hover{color:var(--link-hover-color);background-color:#ffffff14}.cart-icon{font-size:1.4rem;display:block}.cart-count{position:absolute;top:-5px;right:-8px;background-color:var(--accent-color);color:var(--text-on-accent);border-radius:50%;min-width:18px;height:18px;padding:0 4px;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;line-height:1;border:1px solid var(--bg-primary)}.auth-links{display:flex;align-items:center;gap:var(--spacing-sm)}.desktop-auth-links{display:flex}.icon-link{display:flex;align-items:center;justify-content:center;background:none;border:none;color:inherit;padding:var(--spacing-xs);border-radius:50%;transition:background-color .2s ease,color .2s ease;font-size:1.5rem;cursor:pointer;line-height:1}.icon-link:hover,.icon-link:focus{color:var(--link-hover-color);background-color:#ffffff14;outline:none}.icon-link .link-text{display:none}.text-link{display:flex;align-items:center;gap:var(--spacing-xs);color:inherit;text-decoration:none;font-weight:500;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-md);transition:color .2s ease,background-color .2s ease;font-size:.9rem}.text-link svg{font-size:1.1rem;margin-bottom:-2px}.text-link:hover{color:var(--link-hover-color);background-color:#ffffff14}.logout-button:hover{color:var(--text-error)}.burger-menu-button{color:inherit;background:none;border:none;padding:var(--spacing-sm);margin:0;display:none;cursor:pointer;z-index:1051;border-radius:50%;transition:background-color .2s ease,color .2s ease}.burger-menu-button:hover{color:var(--link-hover-color);background-color:#ffffff14}.burger-icon{font-size:1.6rem;display:block}.mobile-nav{position:fixed;top:0;right:0;transform:translate(100%);width:100%;height:100dvh;display:flex;z-index:1050;pointer-events:none;transition:transform .4s cubic-bezier(.23,1,.32,1)}.mobile-nav.open{transform:translate(0);pointer-events:auto}.mobile-nav-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0009;opacity:0;transition:opacity .4s ease;z-index:1;pointer-events:none}.mobile-nav.open .mobile-nav-overlay{opacity:1;pointer-events:auto}.mobile-nav-content{width:80%;max-width:320px;height:100%;background-color:var(--bg-primary);color:var(--text-primary);margin-left:auto;padding:var(--spacing-lg);box-sizing:border-box;display:flex;flex-direction:column;overflow-y:auto;box-shadow:-5px 0 15px #0000004d;z-index:2;position:relative}.mobile-nav-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color);flex-shrink:0}.mobile-nav-header span{font-size:1.2rem;font-weight:600}.close-menu-button{color:inherit;background:none;border:none;font-size:1.5rem;padding:var(--spacing-xs);margin:0;cursor:pointer;line-height:1}.close-menu-button:hover{color:var(--text-error)}.mobile-nav-content ul{display:flex;flex-direction:column;gap:var(--spacing-xs);width:100%;list-style:none;margin:0 0 auto;padding:0;flex-grow:1;overflow-y:auto}.mobile-nav-content ul a,.mobile-nav-content ul button{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-md);text-decoration:none;color:var(--text-primary);font-size:1rem;border-radius:var(--border-radius-md);width:100%;text-align:left;transition:background-color .2s ease,color .2s ease;border:none;background:none;cursor:pointer}.mobile-nav-content ul a svg,.mobile-nav-content ul button svg{font-size:1.3rem;flex-shrink:0;width:24px;text-align:center;color:var(--text-secondary)}.mobile-nav-content ul a:hover,.mobile-nav-content ul button:hover{background-color:var(--bg-secondary);color:var(--text-accent)}.mobile-nav-content ul a:hover svg,.mobile-nav-content ul button:hover svg{color:var(--text-accent)}.mobile-nav-content ul a.active-link{background-color:var(--accent-color);color:var(--text-on-accent);font-weight:600}.mobile-nav-content ul a.active-link svg{color:var(--text-on-accent)}.mobile-nav-content ul li.nav-divider{height:1px;background-color:var(--border-color);margin:var(--spacing-md) 0;list-style:none}.mobile-nav-content ul .mobile-logout-button:hover{color:var(--text-error);background-color:var(--bg-error-subtle)}.mobile-nav-content ul .mobile-logout-button:hover svg{color:var(--text-error)}@media (max-width: 991px){.desktop-nav,.desktop-auth-links{display:none}.burger-menu-button{display:block}}@media (max-width: 576px){.mobile-nav-content{width:90%;max-width:none}.header-actions{gap:var(--spacing-sm)}}.footer{background-color:var(--footer-bg, var(--bg-dark));color:var(--footer-text-color, var(--text-on-dark));padding:var(--spacing-xl) var(--container-padding-x);border-top:1px solid var(--border-color-dark)}.footer-container{max-width:var(--container-max-width);margin:0 auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-lg)}.footer-contacts{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-md) var(--spacing-lg);order:1}.footer-legal-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-sm) var(--spacing-md);order:2;width:100%}.footer-link{display:inline-flex;align-items:center;gap:var(--spacing-sm);color:var(--footer-link-color, #cbd5e1);font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s ease}.footer-link:hover{color:var(--footer-link-hover-color, #f8fafc);text-decoration:underline}.footer-contacts .footer-link svg{font-size:1.2rem}.footer-legal-nav .footer-link{font-size:.85rem;color:var(--footer-text-color, #94a3b8)}.footer-legal-nav .footer-link:hover{color:var(--footer-link-hover-color, #f8fafc)}.footer-copyright{font-size:.8rem;color:var(--footer-text-color, #94a3b8);opacity:.8;order:3}.footer-copyright p{margin:0}@media (min-width: 768px){.footer-container{flex-direction:row;justify-content:space-between;align-items:center;text-align:left}.footer-contacts{justify-content:flex-start;order:1;width:auto}.footer-legal-nav{order:2;justify-content:center;width:auto;flex-grow:1;padding:0 var(--spacing-lg)}.footer-copyright{order:3;text-align:right;width:auto}}:root{--popup-overlay-bg: rgba(0, 0, 0, .65);--popup-content-bg: #ffffff;--popup-text-color: #333333;--popup-close-color: #aaaaaa;--popup-close-hover-color: #333333;--popup-button-bg: linear-gradient( 135deg, #6a11cb 0%, #2575fc 100% );--popup-button-hover-bg: linear-gradient( 135deg, #5a0fbb 0%, #1a6aec 100% );--popup-button-text-color: #ffffff;--popup-border-radius: 16px;--popup-shadow: 0 15px 40px rgba(0, 0, 0, .25);--popup-max-width: 550px;--popup-padding: 35px 45px;--popup-transition-speed: .3s}._dark-mode_gbtj5_59{--popup-content-bg: #2c2c2e;--popup-text-color: #f2f2f7;--popup-close-color: #8e8e93;--popup-close-hover-color: #e5e5ea}._popupOverlay_gbtj5_83{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--popup-overlay-bg);display:flex;justify-content:center;align-items:center;z-index:1050;opacity:0;visibility:hidden;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);transition:opacity var(--popup-transition-speed) ease-in-out,visibility var(--popup-transition-speed) ease-in-out,backdrop-filter var(--popup-transition-speed) ease-in-out}._popupOverlay_gbtj5_83._open_gbtj5_121{opacity:1;visibility:visible}._popupContent_gbtj5_131{background-color:var(--popup-content-bg);color:var(--popup-text-color);padding:var(--popup-padding);border-radius:var(--popup-border-radius);box-shadow:var(--popup-shadow);max-width:var(--popup-max-width);width:calc(100% - 40px);position:relative;transform:scale(.9) translateY(20px);opacity:0;transition:transform var(--popup-transition-speed) cubic-bezier(.25,.8,.25,1),opacity var(--popup-transition-speed) ease-in-out;text-align:center}._popupOverlay_gbtj5_83._open_gbtj5_121 ._popupContent_gbtj5_131{transform:scale(1) translateY(0);opacity:1}._closeButton_gbtj5_175{position:absolute;top:15px;right:15px;background:none;border:none;font-size:28px;line-height:1;color:var(--popup-close-color);cursor:pointer;padding:5px;transition:color .2s ease-in-out,transform .2s ease}._closeButton_gbtj5_175:hover{color:var(--popup-close-hover-color);transform:rotate(90deg)}._popupTitle_gbtj5_213{margin-top:0;margin-bottom:20px;font-size:1.8rem;font-weight:700;color:var( --popup-text-color )}._popupText_gbtj5_235{font-size:1.1rem;line-height:1.7;margin-top:0;margin-bottom:30px;white-space:pre-line}._popupButton_gbtj5_251{display:inline-block;padding:14px 35px;background:var(--popup-button-bg);color:var(--popup-button-text-color);text-decoration:none;border-radius:50px;font-weight:600;font-size:1rem;letter-spacing:.5px;box-shadow:0 5px 15px #00000026;transition:background var(--popup-transition-speed) ease,transform .15s ease,box-shadow .2s ease;cursor:pointer;border:none}._popupButton_gbtj5_251:hover,._popupButton_gbtj5_251:focus{background:var(--popup-button-hover-bg);transform:translateY(-3px) scale(1.02);box-shadow:0 8px 20px #0003;outline:none}._popupButton_gbtj5_251:active{transform:translateY(0) scale(1);box-shadow:0 5px 15px #00000026}@media (max-width: 600px){:root{--popup-padding: 25px 30px;--popup-max-width: 90%}._popupText_gbtj5_235{font-size:1rem;margin-bottom:25px}._popupButton_gbtj5_251{padding:12px 30px;font-size:.95rem}._closeButton_gbtj5_175{top:10px;right:10px;font-size:24px}}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f0f2f5;color:#333}.pin-gate-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;align-items:center;z-index:1000;opacity:1;transition:opacity .3s ease-in-out;padding:20px;box-sizing:border-box}.pin-gate-container{background-color:#fffffffa;padding:40px 50px;border-radius:15px;box-shadow:0 10px 30px #0003;text-align:center;max-width:400px;width:100%;transform:scale(1);transition:transform .3s ease-in-out,opacity .3s ease-in-out;animation:fadeIn .3s ease-in-out}.pin-gate-title{margin-top:0;margin-bottom:10px;color:#333;font-size:2rem;font-weight:600}.pin-gate-subtitle{margin-top:0;margin-bottom:30px;color:#555;font-size:1rem}.pin-gate-form{display:flex;flex-direction:column;align-items:center}.pin-gate-input{width:80%;padding:15px 20px;margin-bottom:20px;border:1px solid #ccc;color:#333;border-radius:8px;font-size:1.8rem;text-align:center;letter-spacing:.5em;background-color:#f8f9fa;transition:border-color .2s ease,box-shadow .2s ease;font-family:monospace;box-sizing:border-box}.pin-gate-input::placeholder{color:#adb5bd;letter-spacing:.5em;font-family:monospace;font-size:1.8rem;line-height:1;opacity:1}.pin-gate-input:focus::placeholder{color:transparent}.pin-gate-input:focus{outline:none;border-color:#764ba2;box-shadow:0 0 0 3px #764ba233}.pin-gate-error{color:#dc3545;font-size:.9rem;margin-top:-10px;margin-bottom:15px;min-height:1.2em}.pin-gate-button{padding:12px 30px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,filter .2s ease,transform .1s ease,box-shadow .2s ease;box-shadow:0 4px 15px #0000001a;width:80%;max-width:260px;box-sizing:border-box}.pin-gate-button:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 6px 20px #00000026}.pin-gate-button:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 10px #0000001a}.pin-gate-button:disabled{background:#ccc;cursor:not-allowed;opacity:.7;box-shadow:none;filter:none}.play-games-button{margin-top:25px;padding:12px 30px;background:#17a2b8;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,transform .1s ease,box-shadow .2s ease;box-shadow:0 4px 15px #0000001a;width:80%;max-width:260px;box-sizing:border-box}.play-games-button:hover:not(:disabled){background:#138496;box-shadow:0 6px 20px #00000026}.play-games-button:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 10px #0000001a}.game-area-within-pincode{background-color:#fffffffa;padding:30px 40px;border-radius:15px;box-shadow:0 10px 30px #0003;text-align:center;max-width:650px;width:100%;animation:fadeIn .3s ease-in-out;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;max-height:90vh;overflow-y:auto}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.game-lobby-container{display:flex;flex-direction:column;align-items:center;width:100%}.game-lobby-title{color:#343a40;margin-top:0;margin-bottom:30px;font-size:2rem;font-weight:600}.game-lobby-buttons{display:flex;flex-direction:column;gap:15px;width:100%;max-width:350px;margin-bottom:20px}.lobby-button{padding:15px 20px;font-size:1.1rem}.game-container{display:flex;flex-direction:column;align-items:center;width:100%}.game-title{color:#343a40;margin-top:0;margin-bottom:25px;font-size:1.8rem;font-weight:600}.game-button{padding:10px 20px;margin:8px 5px;border:none;border-radius:6px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1rem;font-weight:500;cursor:pointer;transition:filter .2s ease,box-shadow .2s ease,transform .1s ease,background-color .2s ease;box-shadow:0 3px 10px #0000001a;min-width:120px;text-align:center;box-sizing:border-box}.game-button:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 5px 15px #00000026}.game-button:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 8px #0000001a}.game-button:disabled{background:#ccc;cursor:not-allowed;opacity:.7;box-shadow:none;filter:none}.back-button{background:#6c757d;margin-top:25px}.back-button:hover:not(:disabled){background:#5a6268;filter:none}.play-again-button{margin-top:15px;background:#28a745}.play-again-button:hover:not(:disabled){background:#218838;filter:none}.game-input{padding:10px 15px;margin:5px 0 15px;border:1px solid #ced4da;border-radius:6px;font-size:1rem;width:auto;min-width:150px;max-width:250px;text-align:center;box-sizing:border-box}.game-input:focus{outline:none;border-color:#764ba2;box-shadow:0 0 0 3px #764ba226}.game-form{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:15px;width:100%}.game-message{margin-top:5px;margin-bottom:15px;min-height:1.2em;font-weight:500;font-size:1rem;padding:0 10px}.message-success{color:#28a745}.message-error,.message-low,.message-high{color:#dc3545}.message-info{color:#17a2b8}.game-stats,.memory-stats,.snake-stats{display:flex;justify-content:space-around;align-items:center;flex-wrap:nowrap;gap:15px;width:100%;max-width:350px;margin-bottom:20px;font-size:1.1rem;font-weight:500;color:#4a5568;min-height:1.3em}.snake-stats>p{white-space:nowrap;margin:0}.attempts-info{color:#6c757d;font-size:.9rem;margin-bottom:15px;min-height:1.1em}.guess-input{margin-bottom:5px}.guess-game-container .game-form{flex-direction:row;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:10px}.clicker-game-container{min-height:250px;justify-content:center}.clicker-score{font-size:2.2rem;font-weight:700;margin-bottom:40px;color:#4a5568}.clicker-button{padding:25px 50px;font-size:1.8rem;border-radius:60px;margin-bottom:30px;transition:transform .1s ease-out,box-shadow .2s ease}.clicker-button.clicked{transform:scale(.95)}.clicker-button:active:not(:disabled){transform:scale(.95) translateY(1px)}.memory-stats{margin-bottom:20px}.memory-board{display:grid;gap:8px;width:100%;max-width:360px;margin-bottom:25px;perspective:1000px;aspect-ratio:1 / 1}.memory-card{background-color:transparent;cursor:pointer;border-radius:8px;position:relative;aspect-ratio:1 / 1;-webkit-user-select:none;user-select:none}.memory-card.matched{cursor:default;opacity:.5;pointer-events:none}.memory-card.flipped:not(.matched){cursor:default}.card-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .6s;transform-style:preserve-3d;box-shadow:0 4px 8px #0000001a;border-radius:8px}.memory-card.flipped .card-inner{transform:rotateY(180deg)}.card-front,.card-back{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;justify-content:center;align-items:center;border-radius:8px;font-size:clamp(1.5rem,8vw,2.5rem)}.card-back{background:linear-gradient(135deg,#84fab0,#8fd3f4);color:#fff;font-weight:700;font-size:clamp(2rem,9vw,3rem)}.card-front{background-color:#f8f9fa;color:#333;transform:rotateY(180deg)}.snake-board{display:grid;width:300px;height:300px;border:2px solid #333;background-color:#f0f0f0;touch-action:none;margin-bottom:15px}.snake-segment{background-color:#2ecc71;border-radius:3px}.snake-segment.snake-head{background-color:#1e8449;z-index:1;border-radius:3px}.food-item{background-color:#e74c3c;border-radius:50%}.snake-stats{margin-bottom:15px;min-height:3em;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}.snake-stats>p{margin:.2em 0;line-height:1.2}.game-over-message{font-weight:700;width:100%}.game-over-message.message-error{color:#dc3545}.game-over-message:not(.message-error){visibility:hidden}.snake-touch-controls{display:flex;flex-direction:column;align-items:center;gap:5px;margin-top:15px;margin-bottom:15px;width:100%;max-width:250px}.controls-middle-row{display:flex;justify-content:center;gap:10px;width:100%}.control-button{padding:10px;min-width:55px;min-height:55px;font-size:1.8rem;line-height:1;border:none;border-radius:12px;background-color:#e0e0e0;color:#333;cursor:pointer;box-shadow:0 3px 6px #00000026;transition:background-color .2s ease,transform .1s ease;display:flex;justify-content:center;align-items:center;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.control-button:active{background-color:#c7c7c7;transform:scale(.95)}.snake-action-buttons{display:flex;flex-direction:column;align-items:center;width:100%;max-width:300px;gap:10px;margin-top:10px}.snake-action-buttons .game-button{margin:0;width:100%}.game-button{padding:12px 20px;font-size:1rem;border-radius:8px;border:none;cursor:pointer;transition:background-color .2s ease,transform .1s ease}.game-button:active{transform:scale(.98)}.play-again-button{background-color:#28a745;color:#fff}.play-again-button:hover{background-color:#218838}.back-button{background-color:#6c757d;color:#fff}.back-button:hover{background-color:#5a6268}@media (min-width: 1025px){.snake-touch-controls{opacity:.5;pointer-events:none}}@media (max-width: 480px){.control-button{min-width:50px;min-height:50px;font-size:1.6rem}.snake-touch-controls{max-width:200px}.controls-middle-row{gap:8px}.snake-board{width:240px;height:240px}}.hello-message{color:#4caf50;font-size:1em;margin:10px 0;animation:fadeIn .5s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.game-area-within-pincode{max-width:550px}.snake-board{max-width:450px}.memory-board{max-width:320px}}@media (max-width: 600px){.pin-gate-container{padding:30px 25px}.game-area-within-pincode{padding:25px 20px;max-height:85vh}.pin-gate-title,.game-lobby-title{font-size:1.8rem}.game-title{font-size:1.6rem}.snake-board{max-width:400px}.memory-board{max-width:300px;gap:6px}}@media (max-width: 480px){.pin-gate-container{padding:25px 20px}.pin-gate-input{font-size:1.5rem;letter-spacing:.4em;width:90%;padding:12px 15px}.pin-gate-input::placeholder{font-size:1.5rem;letter-spacing:.4em}.pin-gate-button,.play-games-button{padding:10px 25px;font-size:1rem;width:90%}.game-area-within-pincode{padding:20px 15px}.game-lobby-title{font-size:1.6rem;margin-bottom:20px}.game-lobby-buttons{max-width:300px;gap:10px}.lobby-button{padding:12px 18px;font-size:1rem}.game-title{font-size:1.5rem;margin-bottom:20px}.game-button{font-size:.9rem;padding:9px 18px;min-width:100px}.back-button{margin-top:20px}.play-again-button{margin-top:10px}.clicker-score{font-size:1.8rem;margin-bottom:30px}.clicker-button{padding:20px 40px;font-size:1.5rem;margin-bottom:20px}.memory-board{max-width:calc(100% - 10px);gap:5px}.card-front,.card-back{font-size:clamp(1.2rem,7vw,2rem)}.card-back{font-size:clamp(1.5rem,8vw,2.5rem)}.snake-board{max-width:calc(100% - 10px)}.guess-game-container .game-form{flex-direction:column;width:100%;align-items:center}.guess-game-container .game-input,.guess-game-container .game-button{width:80%;max-width:250px}}@media (max-height: 500px) and (max-width: 480px){.game-area-within-pincode{padding:15px 10px}.game-title{font-size:1.3rem;margin-bottom:15px}.game-button{font-size:.85rem;padding:8px 15px;margin:5px}.lobby-button{padding:10px 15px;font-size:.9rem}.memory-board{gap:4px}}:root{--font-family-base: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;--header-height: 70px;--container-max-width: 1280px;--container-padding-x: 1.5rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--border-radius-pill: 9999px;color-scheme:dark;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-accent: #a5b4fc;--text-on-accent: #1e293b;--text-error: #fda4af;--text-success: #a7f3d0;--text-warning: #fcd34d;--text-info: #bfdbfe;--text-on-dark: #f8fafc;--text-muted: #64748b;--text-on-error: #1f2937;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-muted: #334155;--bg-accent-light: #3730a3;--bg-accent-subtle: rgba(129, 140, 248, .1);--bg-error: #7f1d1d;--bg-error-subtle: rgba(253, 164, 175, .1);--bg-success: #064e3b;--bg-success-subtle: rgba(167, 243, 208, .1);--bg-warning-subtle: rgba(252, 211, 77, .1);--bg-info-subtle: rgba(191, 219, 254, .1);--bg-dark: #020617;--input-bg: var(--bg-secondary);--card-bg: var(--bg-primary);--card-bg-alt: var(--bg-secondary);--card-border: var(--border-color);--border-color: #334155;--border-color-light: #475569;--border-color-dark: #1e293b;--border-accent: var(--accent-color);--border-accent-light: rgba(129, 140, 248, .3);--border-error: var(--text-error);--border-error-light: rgba(253, 164, 175, .3);--border-error-dark: #b91c1c;--border-success: var(--text-success);--border-success-light: rgba(167, 243, 208, .3);--border-warning: var(--text-warning);--border-warning-light: rgba(252, 211, 77, .3);--border-info: var(--text-info);--border-info-light: rgba(191, 219, 254, .3);--accent-color: #818cf8;--accent-hover-color: #a5b4fc;--accent-focus-ring: rgba(129, 140, 248, .4);--accent-color-lighter: #e0e7ff;--button-bg: var(--bg-secondary);--button-text: var(--text-primary);--button-hover-border: var(--accent-color);--button-disabled-bg: #475569;--button-secondary-bg: var(--bg-secondary);--button-secondary-text: var(--text-primary);--button-secondary-border: var(--border-color);--button-secondary-hover-bg: var(--bg-muted);--button-secondary-hover-bg-dark: var(--bg-muted);--button-success-bg: #22c55e;--button-success-hover-bg: #16a34a;--button-success-text: #1e293b;--success-focus-ring: rgba(34, 197, 94, .5);--button-danger-bg: #dc2626;--button-danger-text: #ffffff;--button-danger-border: #b91c1c;--button-danger-hover-bg: #b91c1c;--button-danger-outline-border: #ef4444;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .2);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .2);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .3), 0 4px 6px -4px rgb(0 0 0 / .3);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .3), 0 8px 10px -6px rgb(0 0 0 / .3);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .2);--shadow-xs: 0 1px 1px 0 rgb(0 0 0 / .1);--tag-bg-default: var(--button-bg);--tag-text-default: var(--text-secondary);--tag-bg-blue: #1e40af;--tag-text-blue: #bfdbfe;--tag-bg-green: #064e3b;--tag-text-green: #a7f3d0;--tag-bg-gray: #374155;--tag-text-gray: #d1d5db;--tag-bg-orange: #7c2d12;--tag-text-orange: #fdba74;--tag-bg-purple: #5b21b6;--tag-text-purple: #ddd6fe;--tag-bg-red: #7f1d1d;--tag-text-red: #fda4af;--tag-bg-yellow: #713f12;--tag-text-yellow: #fef08a;--tag-bg-0: var(--tag-bg-purple);--tag-text-0: var(--tag-text-purple);--tag-bg-1: var(--tag-bg-green);--tag-text-1: var(--tag-text-green);--tag-bg-2: var(--tag-bg-orange);--tag-text-2: var(--tag-text-orange);--modal-background-color: var(--bg-secondary);--modal-text-color: var(--text-primary);--modal-secondary-text-color: var(--text-secondary);--modal-primary-color: var(--text-accent);--modal-input-background: var(--input-bg);--modal-disabled-background: var(--bg-muted);--card-bg-alt-dark: #1f2937;--info-bg-dark: rgba(191, 219, 254, .1);--bg-error-dark: rgba(239, 68, 68, .2);--border-color-error-dark: rgba(239, 68, 68, .4);--bg-success-dark: rgba(16, 185, 129, .2);--border-color-success-dark: rgba(16, 185, 129, .4);--bg-warning-dark: rgba(245, 158, 11, .2);--border-color-warning-dark: rgba(245, 158, 11, .4);--border-color-strong: #6b7280;--link-color: var(--text-accent);--link-hover-color: var(--accent-hover-color);--error-focus-ring: rgba(239, 68, 68, .4);--border-color-accent: var(--accent-color)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;border:0 solid var(--border-color);background-repeat:no-repeat}html{line-height:1.6;-webkit-text-size-adjust:100%;font-family:var(--font-family-base);height:100%;overflow:scroll;overflow-x:hidden}::-webkit-scrollbar{width:0px;background:transparent}::-webkit-scrollbar-thumb{background:#65007f}body{min-height:100%;display:flex;flex-direction:column;background-color:var(--bg-primary);color:var(--text-primary)}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;margin:0 0 var(--spacing-md) 0}h1,h2,h3,h4,h5,h6{line-height:1.3;font-weight:700}ol,ul{list-style:none}a{color:var(--text-accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;background-color:transparent;border:none;padding:0;color:inherit}#root{display:flex;flex-direction:column;flex-grow:1;min-height:100vh}.app-container{display:flex;flex-direction:column;flex-grow:1}main{flex-grow:1;padding-top:var(--header-height)}footer{flex-shrink:0;z-index:10;position:relative}h1{font-size:clamp(2rem,5vw,2.8rem)}h2{font-size:clamp(1.6rem,4vw,2.2rem)}h3{font-size:clamp(1.3rem,3.5vw,1.7rem)}button:not([class]),input:not([class]),textarea:not([class]),select:not([class]){padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background-color:var(--input-bg);color:var(--text-primary)}button:not([class]){background-color:var(--button-bg);color:var(--button-text);font-weight:500}button:not([class]):hover:not(:disabled){border-color:var(--accent-color);background-color:var(--bg-muted)}button:not([class]):focus-visible,input:not([class]):focus-visible,textarea:not([class]):focus-visible,select:not([class]):focus-visible{outline:2px solid var(--accent-focus-ring);outline-offset:2px;border-color:var(--accent-color)}button:disabled{cursor:not-allowed;opacity:.6}input:not([class]),textarea:not([class]),select:not([class]){width:100%}.main-container{width:100%;max-width:var(--container-max-width);margin-left:auto;margin-right:auto;padding-left:var(--container-padding-x);padding-right:var(--container-padding-x)}@media (max-width: 768px){:root{--container-padding-x: 1rem}}@media (max-width: 576px){:root{--header-height: 60px;--container-padding-x: .75rem}}.status-message{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);font-size:.9rem;display:flex;align-items:center;gap:var(--spacing-sm);border-width:1px}.error-message{background-color:var(--bg-error-subtle);color:var(--text-error);border-color:var(--border-error-light)}.success-message{background-color:var(--bg-success-subtle);color:var(--text-success);border-color:var(--border-success-light)}.warning-message{background-color:var(--bg-warning-subtle);color:var(--text-warning);border-color:var(--border-warning-light)}.info-message{background-color:var(--bg-info-subtle);color:var(--text-info);border-color:var(--border-info-light)}.status-message svg{font-size:1.2em;flex-shrink:0}.error-message:before{content:"";font-family:"Font Awesome 6 Free";font-weight:900;margin-right:.5em}.success-message:before{content:"";font-family:"Font Awesome 6 Free";font-weight:900;margin-right:.5em}.warning-message:before{content:"";font-family:"Font Awesome 6 Free";font-weight:900;margin-right:.5em}.info-message:before{content:"";font-family:"Font Awesome 6 Free";font-weight:900;margin-right:.5em}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.form-group label{font-weight:500;font-size:.9rem;color:var(--text-secondary)}.form-group label .required{color:var(--text-error);margin-left:2px}.form-group input[type=text],.form-group input[type=tel],.form-group input[type=email],.form-group input[type=password],.form-group textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);background-color:var(--input-bg);color:var(--text-primary);font-size:1rem;line-height:1.5;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted);opacity:.8}.form-group textarea{min-height:100px;resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-focus-ring)}.form-group input.input-error,.form-group textarea.input-error{border-color:var(--text-error);background-color:#fda4af1a}.form-group input.input-error:focus,.form-group textarea.input-error:focus{border-color:var(--text-error);box-shadow:0 0 0 3px var(--error-focus-ring)}.form-field-error{font-size:.85rem;color:var(--text-error);margin-top:var(--spacing-xs)}.submit-button{background-color:var(--accent-color);color:var(--text-on-accent);border:1px solid transparent;padding:var(--spacing-md) var(--spacing-lg);font-size:1rem;font-weight:600;border-radius:var(--border-radius-md);cursor:pointer;transition:background-color .2s ease,opacity .2s ease,box-shadow .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.submit-button:hover:not(:disabled){background-color:var(--accent-hover-color)}.submit-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-focus-ring)}.submit-button:disabled{opacity:.6;cursor:not-allowed;background-color:var(--button-disabled-bg)}.submit-button svg{width:18px;height:18px}.spinner-icon{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
