@font-face{font-family:"Press Start 2P";src:url(https://fonts.gstatic.com/s/pressstart2p/v15/e3t4euO8T-267oIAQAu6jDQyK3nVivM.woff2) format("woff2");font-weight:400;font-style:normal}@font-face{font-family:Mokoto;src:url(/Mokoto%20Demo.ttf) format("truetype");font-weight:400;font-style:normal}html,body,#root{height:100%;margin:0;padding:0}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;letter-spacing:1px;color-scheme:dark;color:#fff;background-color:#000;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{box-sizing:border-box}a{font-weight:500;color:#faffd0;text-decoration:inherit}a:hover{color:#e6f2b3}body{min-height:100vh;background-color:#000;color:#fff;display:flex;flex-direction:column;font-family:Mokoto,sans-serif;font-weight:400;letter-spacing:1px;overflow-x:hidden}h1{font-size:3rem;letter-spacing:4px;color:#faffd0;font-family:Mokoto,sans-serif;margin:0;line-height:1.2}h2{font-size:1.5rem;margin-top:-3rem;font-family:Mokoto,sans-serif;line-height:1.3}h3{font-size:1rem;color:#fff;font-family:Mokoto,sans-serif;margin:0}button{border-radius:8px;border:2px solid #faffd0;padding:1rem 3rem;font-size:.8rem;font-weight:500;font-family:Mokoto,sans-serif;background-color:#faffd0;color:#000;cursor:pointer;transition:all .25s ease;letter-spacing:2px;text-transform:uppercase;min-height:44px}button:hover{background-color:#000;color:#faffd0}button:focus,button:focus-visible{outline:2px solid #faffd0;outline-offset:2px}input,textarea,select{font-family:Mokoto,sans-serif;min-height:44px}#root{display:flex;flex-direction:column;flex-grow:1}@media (max-width: 768px){:root{letter-spacing:.5px}body{letter-spacing:.5px}h1{font-size:2.5rem;letter-spacing:3px}h2{font-size:1.3rem;margin-top:-2rem}h3{font-size:.9rem}button{padding:.8rem 2rem;font-size:.9rem;letter-spacing:1px}}@media (max-width: 480px){h1{font-size:2rem;letter-spacing:2px}h2{font-size:1.2rem;margin-top:-1.5rem}h3{font-size:.85rem}button{padding:.7rem 1.5rem;font-size:.85rem;letter-spacing:1px;width:100%;max-width:300px}}@media (max-width: 360px){h1{font-size:1.7rem;letter-spacing:1px}h2{font-size:1.1rem;margin-top:-1rem}h3{font-size:.8rem}button{padding:.6rem 1.2rem;font-size:.8rem;letter-spacing:.5px;max-width:280px}}@media (max-width: 768px){html,body{overflow-x:hidden}*{max-width:100%}}@media (hover: none) and (pointer: coarse){button,a,input,select,textarea{min-height:44px;min-width:44px}}@media (prefers-color-scheme: light){:root{color:#fff;background-color:#000}a:hover{color:#e6f2b3}button{background-color:#000;color:#faffd0}}.homepage-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:100vh;margin-top:-80px;padding:2rem 1rem;gap:2rem;background-color:#000;color:#fff;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;box-sizing:border-box}.homepage-container h1{font-size:3rem;margin:0;color:#faffd0;letter-spacing:4px;text-shadow:0 0 20px rgba(250,255,208,.5);line-height:1.2}.homepage-container h2{font-size:1.5rem;margin:0;color:#fff;font-weight:400;letter-spacing:2px;opacity:.9;line-height:1.4}.homepage-container button{padding:1rem 3rem;font-size:1.2rem;background-color:#faffd0;color:#000;border:2px solid #faffd0;border-radius:8px;font-family:Mokoto,sans-serif;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #faffd04d}.homepage-container button:hover{background-color:#000;color:#faffd0;transform:translateY(-2px);box-shadow:0 6px 20px #faffd066}@media (max-width: 768px){.homepage-container{padding:1.5rem 1rem;gap:1.5rem}.homepage-container h1{font-size:2.2rem;letter-spacing:3px}.homepage-container h2{font-size:1.2rem;letter-spacing:1px;padding:0 1rem}.homepage-container button{padding:.8rem 2rem;font-size:1rem;letter-spacing:1px;width:100%;max-width:300px}}@media (max-width: 480px){.homepage-container{padding:1rem .75rem;gap:1rem}.homepage-container h1{font-size:1.8rem;letter-spacing:2px;padding:0 .5rem}.homepage-container h2{font-size:1rem;letter-spacing:1px;padding:0 .5rem}.homepage-container button{padding:.7rem 1.5rem;font-size:.9rem;letter-spacing:1px;width:calc(100% - 1rem);max-width:280px}}@media (max-width: 360px){.homepage-container h1{font-size:1.5rem;letter-spacing:1px}.homepage-container h2{font-size:.9rem}.homepage-container button{font-size:.8rem;padding:.6rem 1rem}}.game-mode-page{min-height:100vh;background-color:#000;color:#fff;padding:2rem;display:flex;align-items:center;justify-content:center;font-family:Mokoto,Arial,sans-serif}.game-mode-container{max-width:1200px;width:100%;margin:0 auto}.game-mode-header{text-align:center;margin-bottom:2rem;margin-top:-12rem}.game-mode-title{font-size:2em;font-weight:700;color:#faffd0;letter-spacing:4px;margin-bottom:1rem;font-family:Mokoto,sans-serif;text-shadow:0 0 10px rgba(250,255,208,.3)}.game-mode-subtitle{font-size:1.5em;color:#fff;margin:0;margin-top:-2rem;font-family:Mokoto,sans-serif}.game-modes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;margin-bottom:1rem}.game-mode-card{background:#faffd005;border:2px solid #faffd0;border-radius:16px;padding:1.8rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;min-height:150px;display:flex;flex-direction:column;box-shadow:0 0 30px #faffd01a}.game-mode-card:hover{transform:translateY(-5px);background:#faffd00d;box-shadow:0 10px 30px #faffd033}.game-mode-card.selected{background:#faffd01a;border-color:#faffd0;transform:scale(1.02);box-shadow:0 0 30px #faffd04d}.mode-content{flex-grow:1;text-align:center}.mode-title{font-size:1.2rem;font-weight:700;margin-bottom:.5rem;color:#faffd0;font-family:Mokoto,sans-serif;letter-spacing:2px}.mode-subtitle{font-size:1rem;color:#fff;font-weight:600;margin-bottom:1rem;text-transform:uppercase;letter-spacing:2px;font-family:Mokoto,sans-serif}.mode-description{font-size:.95rem;color:#fff;line-height:1.4;font-family:Mokoto,sans-serif}.mode-action{margin-top:auto}.play-button{width:100%;padding:1em 3em;background-color:#faffd0;border:2px solid #faffd0;border-radius:8px;color:#000;font-size:1em;font-weight:500;cursor:pointer;transition:all .25s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;text-transform:uppercase;letter-spacing:2px;font-family:Mokoto,sans-serif}.play-button:hover{background-color:#000;color:#faffd0}.play-button:focus,.play-button:focus-visible{outline:2px solid #faffd0;outline-offset:2px}.button-arrow{transition:transform .3s ease}.play-button:hover .button-arrow{transform:translate(5px)}.game-mode-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-top:2rem;border-top:1px solid rgba(250,255,208,.1)}.back-button{background-color:#000;color:#faffd0;border:2px solid #faffd0;padding:.8rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .25s ease;font-family:Mokoto,sans-serif;font-size:1rem;letter-spacing:2px;text-transform:uppercase}.back-button:hover{background-color:#faffd0;color:#000}.mode-info{flex-grow:1;text-align:right}.mode-info p{color:#fff;margin:0;font-size:.95rem;font-family:Mokoto,sans-serif}.mode-info strong{color:#faffd0}@media (max-width: 768px){.game-mode-page{padding:1rem}.game-mode-title{font-size:2.5rem}.game-modes-grid{grid-template-columns:1fr;gap:1.5rem}.game-mode-card{padding:1.5rem;min-height:240px}.mode-title{font-size:1.5rem}.mode-description{font-size:.9rem;line-height:1.3}.game-mode-footer{flex-direction:column;text-align:center}.mode-info{text-align:center}}@media (max-width: 480px){.game-mode-title{font-size:2rem}.game-mode-subtitle{font-size:1.1rem}.game-mode-card{padding:1.2rem;min-height:220px}.mode-icon{font-size:2.5rem;margin-bottom:.5rem}.mode-description{font-size:.85rem;margin-bottom:.5rem}.mode-features{margin-bottom:1.2rem}}.game-mode-page{animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.game-mode-card{animation:slideUp .6s ease-out;animation-fill-mode:both}.game-mode-card:nth-child(1){animation-delay:.1s}.game-mode-card:nth-child(2){animation-delay:.2s}.game-mode-card:nth-child(3){animation-delay:.3s}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.gamepage-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100vw;height:100vh;padding:0;margin:0;box-sizing:border-box;overflow:hidden;position:fixed;top:0;left:0;z-index:1000;background-color:#000}.phaser-game-container{width:100%;height:100%;max-width:none;flex-shrink:0;display:flex;align-items:center;justify-content:center}.phaser-game-container canvas{border-radius:0}.exit-game-button{position:absolute;bottom:20px;left:20px;background:#000c;color:#faffd0;border:2px solid #faffd0;padding:12px 24px;font-size:16px;font-family:Mokoto,monospace;font-weight:700;cursor:pointer;border-radius:8px;transition:all .3s ease;z-index:2000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);text-transform:uppercase;letter-spacing:1px}.exit-game-button:hover{background:#faffd033;box-shadow:0 0 15px #faffd080;transform:translateY(-2px)}.exit-game-button:active{transform:translateY(0);box-shadow:0 0 10px #faffd04d}.loading-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:2rem;color:#fff;background-color:#000}@media (max-width: 1200px){.phaser-game-container{width:100vw;height:100vh}.exit-game-button{bottom:15px;left:15px;padding:10px 20px;font-size:14px}}@media (max-width: 768px){.gamepage-container{height:100vh}.exit-game-button{bottom:10px;left:10px;padding:8px 16px;font-size:12px}}@media (max-width: 480px){.gamepage-container{height:100vh}.exit-game-button{bottom:10px;left:10px;padding:6px 12px;font-size:11px}}.game-results-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#0f0f0f,#1a1a1a,#0f0f0f);padding:20px;font-family:Mokoto,monospace}.results-card{background:#000c;border:2px solid #faffd0;border-radius:16px;padding:40px;max-width:600px;width:100%;text-align:center;box-shadow:0 0 30px #faffd04d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mode-badge{display:inline-flex;align-items:center;gap:8px;background:#ffffff1a;border:1px solid var(--mode-color);border-radius:20px;padding:8px 16px;margin-bottom:30px;font-size:14px;font-weight:600;color:var(--mode-color)}.mode-icon{font-size:16px}.result-display{margin-bottom:30px}.result-title{font-size:48px;font-weight:800;margin:0 0 10px;text-shadow:2px 2px 4px rgba(0,0,0,.8);letter-spacing:2px}.result-subtitle{font-size:18px;color:#ccc;margin:0 0 20px}.winner-info{background:#ffffff0d;border:1px solid rgba(250,255,208,.3);border-radius:12px;padding:20px;margin:20px 0}.winner-info h2{font-size:24px;color:#faffd0;margin:0 0 10px}.game-duration{font-size:16px;color:#888;margin:0}.stats-update{background:#00ff001a;border:1px solid rgba(0,255,0,.3);border-radius:8px;padding:15px;margin:20px 0}.stats-update p{margin:5px 0;color:#0f0;font-weight:600}.action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:30px 0}.action-button{padding:15px 20px;border:2px solid;border-radius:8px;font-family:Mokoto,monospace;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.action-button.primary{background:#faffd0;border-color:#faffd0;color:#000;grid-column:1 / -1}.action-button.primary:hover{background:#e6e6b8;transform:translateY(-2px);box-shadow:0 4px 12px #faffd066}.action-button.secondary{background:transparent;border-color:#666;color:#ccc}.action-button.secondary:hover{border-color:#faffd0;color:#faffd0;transform:translateY(-2px);box-shadow:0 4px 12px #faffd033}.user-stats-preview{background:#ffffff0d;border:1px solid rgba(250,255,208,.2);border-radius:12px;padding:20px;margin-top:30px}.user-stats-preview h3{color:#faffd0;margin:0 0 15px;font-size:18px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#ffffff0d;border-radius:6px}.stat-label{color:#888;font-size:14px}.stat-value{color:#faffd0;font-size:18px;font-weight:700}.loading-message{text-align:center;color:#faffd0}.loading-spinner{width:40px;height:40px;border:4px solid rgba(250,255,208,.3);border-top:4px solid #faffd0;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.results-card{padding:30px 20px;margin:10px}.result-title{font-size:36px}.action-buttons,.stats-grid{grid-template-columns:1fr}}@media (max-width: 480px){.result-title{font-size:28px}.winner-info h2{font-size:20px}.action-button{padding:12px 16px;font-size:14px}}.auth-container{display:flex;margin-top:-1rem;flex-direction:column;align-items:center;justify-content:flex-start;min-height:calc(100vh - 100px);padding:2rem 1rem;box-sizing:border-box;text-align:center;background-color:#000;color:#fff;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif}.auth-title{font-size:1.5rem!important;margin-top:-.8rem!important;font-weight:600!important;letter-spacing:2px!important;margin-bottom:0rem!important;text-transform:uppercase!important}.auth-form{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:500px;margin-bottom:1.5rem;padding:2rem;background:#faffd005;border:2px solid #faffd0;border-radius:16px;box-shadow:0 0 30px #faffd01a}.auth-form label{text-align:left;font-size:.8rem;margin-bottom:-.5rem;color:#faffd0;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:600;letter-spacing:1px;text-transform:uppercase}.auth-form input{padding:.7rem 1rem;border-radius:8px;border:2px solid #faffd0;background-color:#0000004d;color:#fff;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:.9rem;transition:all .3s ease}.auth-form input:focus{outline:none;border-color:#faffd0;box-shadow:0 0 10px #faffd04d}.auth-form input::placeholder{color:#ffffff80}.auth-buttons-container{display:flex;gap:1rem;margin-top:.2rem;justify-content:center;align-items:center;flex-wrap:wrap}.auth-primary-button{flex:1;min-width:140px;padding:.9rem 1.5rem!important;font-size:.8rem!important;background-color:#faffd0;color:#000;border:2px solid #faffd0;border-radius:8px;font-family:Mokoto,sans-serif;font-weight:600;letter-spacing:2px!important;text-transform:uppercase;cursor:pointer;transition:all .3s ease}.auth-primary-button:hover{background-color:#000;color:#faffd0}.auth-twitter-button{flex:1;min-width:140px;padding:.9rem 1.5rem!important;font-size:.8rem!important;background-color:#000!important;color:#faffd0!important;border:2px solid #faffd0!important;border-radius:8px;font-family:Mokoto,sans-serif;font-weight:600;letter-spacing:1px!important;text-transform:uppercase;cursor:pointer;transition:all .3s ease}.auth-twitter-button:hover{background-color:#faffd0!important;color:#000!important;transform:translateY(-2px)}.auth-form button{padding:1rem 2rem;font-size:1.1rem;background-color:#faffd0;color:#000;border:2px solid #faffd0;border-radius:8px;font-family:Mokoto,sans-serif;font-weight:600;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .3s ease;margin-top:.5rem}.auth-form button:hover{background-color:#000;color:#faffd0}.auth-container h1{margin-bottom:2rem;font-size:2.5rem;color:#faffd0;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;letter-spacing:4px;text-shadow:0 0 20px rgba(250,255,208,.5)}.auth-container p{margin:1rem 0;font-size:1rem;color:#fff;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;opacity:.9}.auth-container .provider-buttons button,.auth-container .toggle-button-container button{margin:0rem;padding:.8rem 1.5rem;font-size:.8rem;background-color:#000;color:#faffd0;border:2px solid #faffd0;border-radius:8px;transition:all .3s ease;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:500;letter-spacing:1px;text-transform:uppercase;cursor:pointer}.auth-container .provider-buttons button:hover,.auth-container .toggle-button-container button:hover{background-color:#faffd0;color:#000;transform:translateY(-2px)}.auth-container .toggle-button-container{margin-top:.5rem;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.auth-container .toggle-button-container p{margin:0;font-size:.8rem;color:#fff;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif}.auth-container .toggle-button{background-color:#000;border:2px solid #000000;color:#faffd0;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif}.auth-container .toggle-button:hover{background-color:#faffd0;color:#000}.auth-error{color:#f44;background-color:#ff44441a;border:2px solid #ff4444;padding:1rem;border-radius:8px;margin-bottom:1rem;width:100%;max-width:400px;box-sizing:border-box;font-size:.9rem;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif}.provider-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:1rem;flex-wrap:wrap}@media (max-width: 768px){.auth-container{padding:1.5rem 1rem;min-height:calc(100vh - 80px)}.auth-form{max-width:350px;padding:1.5rem;gap:.8rem}.auth-container h1{font-size:2rem;letter-spacing:3px;margin-bottom:1.5rem}.auth-form input{padding:.7rem .9rem;font-size:.9rem}.auth-form button{padding:.8rem 1.5rem;font-size:1rem;letter-spacing:1px}.auth-buttons-container{flex-direction:column;gap:.8rem}.auth-primary-button,.auth-twitter-button{width:100%;min-width:unset;padding:.8rem 1.5rem;font-size:1rem;letter-spacing:1px}.provider-buttons{flex-direction:column;gap:.8rem;align-items:center}.provider-buttons button{width:100%;max-width:250px;padding:.7rem 1rem;font-size:.9rem}.auth-container .toggle-button-container{flex-direction:column;gap:.8rem;margin-top:1rem}}@media (max-width: 480px){.auth-container{padding:1rem .75rem}.auth-form{max-width:320px;padding:1.2rem;gap:.7rem}.auth-container h1{font-size:1.7rem;letter-spacing:2px;margin-bottom:1rem}.auth-form label{font-size:.8rem}.auth-form input{padding:.6rem .8rem;font-size:.9rem}.auth-form button{padding:.7rem 1.2rem;font-size:.9rem;letter-spacing:1px}.provider-buttons button{padding:.6rem 1rem;font-size:.8rem;max-width:200px}.auth-error{font-size:.8rem;padding:.8rem}}@media (max-width: 360px){.auth-container h1{font-size:1.4rem;letter-spacing:1px}.auth-form{max-width:290px;padding:1rem}.auth-form input{padding:.5rem .7rem;font-size:.8rem}.auth-form button{padding:.6rem 1rem;font-size:.8rem}.provider-buttons button{font-size:.7rem;padding:.5rem .8rem}}.create-page-container{display:flex;flex-direction:column;align-items:center;min-height:100vh;width:100%;background-color:#000;padding:2rem;box-sizing:border-box}.create-page-content{background:#faffd005;border:2px solid #faffd0;border-radius:16px;width:100%;max-width:1000px;padding:1.5rem;height:calc(95vh - 8rem);box-shadow:0 0 30px #faffd01a;display:flex;flex-direction:column}.create-page-grid{display:grid;grid-template-columns:minmax(350px,1fr) minmax(350px,1fr);gap:2rem;flex:1;min-height:0}.create-page-column{display:flex;flex-direction:column;min-height:0;max-width:100%}.inputs-column{border-right:1px solid rgba(250,255,208,.1);padding-right:2rem;min-width:350px}.preview-column{max-width:450px;justify-self:center;width:100%}.section-container{display:flex;flex-direction:column;gap:1rem;height:100%}.section-title{font-family:Mokoto,sans-serif;font-size:1em;color:#faffd0;letter-spacing:4px;margin:0;text-align:left;text-shadow:0 0 10px rgba(250,255,208,.3);flex-shrink:0}.inputs-wrapper{flex:1;min-height:0;display:flex;flex-direction:column}.generator-inputs{display:flex;flex-direction:column;width:100%}.preview-wrapper{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%}.preview-error{display:flex;align-items:center;justify-content:center;padding:1rem;color:#e74c3c;font-family:Mokoto,sans-serif;font-size:.8em;letter-spacing:1px;text-align:center;background:#e74c3c1a;border:1px solid #e74c3c;border-radius:8px;margin:auto;width:fit-content;min-width:200px;max-width:300px;height:fit-content}#preview-target{position:relative;width:100%;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%}.preview-image-container{width:200px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;background:#0003;padding:1rem 1rem 2.5rem;border-radius:8px;border:1px solid rgba(250,255,208,.1);margin:0;position:relative}.preview-image-container img{max-width:100%;max-height:calc(100% - 2rem);object-fit:contain;border-radius:4px;width:auto;height:auto;display:block;margin:auto}.preview-image-container h4{color:#faffd0;font-size:.8em;margin:0;font-family:Mokoto,sans-serif;letter-spacing:1px;text-align:center;width:100%;padding:.5rem 0;position:absolute;bottom:0;left:0}.preview-carousel-container{display:flex;align-items:center;justify-content:center;padding:1rem;height:100%;width:100%;position:relative;margin-top:50px}.preview-carousel{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:0;height:100%;width:100%;position:relative}.carousel-dots{display:flex;gap:.75rem;justify-content:center;padding:.5rem;background:#0003;border-radius:12px;position:absolute;bottom:-2rem;left:50%;transform:translate(-50%)}.carousel-dot{width:12px!important;height:12px!important;min-width:12px!important;min-height:12px!important;max-width:12px!important;max-height:12px!important;border-radius:50%!important;border:none!important;background:#faffd04d!important;cursor:pointer;padding:0!important;margin:0!important;z-index:1000;transition:all .3s ease;box-shadow:0 0 5px #0000004d;font-size:0!important;line-height:0!important;letter-spacing:0!important;text-transform:none!important;flex-shrink:0;flex-grow:0;display:inline-block}.carousel-dot.active{background:#faffd0!important;transform:scale(1.3);box-shadow:0 0 10px #faffd080;width:12px!important;height:12px!important}.carousel-dot:hover{background:#faffd099!important;transform:scale(1.1);width:12px!important;height:12px!important}.preview-loader{width:200px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0003;padding:1rem;border-radius:8px;border:1px solid rgba(250,255,208,.1);margin:0}.loader{width:48px;height:48px;border:3px solid rgba(250,255,208,.2);border-radius:50%;display:inline-block;position:relative;box-sizing:border-box;animation:rotation 1s linear infinite}.loader:after{content:"";box-sizing:border-box;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;border:3px solid transparent;border-bottom-color:#faffd0}.message{font-size:.75em;padding:.75rem;border-radius:4px;margin:10px auto;font-family:Mokoto,sans-serif;text-align:center;letter-spacing:1px;width:fit-content;min-width:200px;max-width:300px}.message.success{background-color:#27ae601a;border:1px solid #27ae60;color:#27ae60}.message.error{background-color:#e74c3c1a;border:1px solid #e74c3c;color:#e74c3c}.sprites-section{flex:1;overflow:hidden;margin-top:0rem;display:flex;flex-direction:column;justify-content:flex-end}.start-playing-section{margin-top:30px;padding:2rem 1rem;display:flex;justify-content:center;align-items:center;background:#faffd005;border-radius:8px;border:1px solid rgba(250,255,208,.1)}.sprites-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;padding:1rem;background:#faffd005;border-radius:8px;border:1px solid rgba(250,255,208,.1);overflow-y:auto}.sprites-container img{width:160px;height:160px;object-fit:contain;border-radius:4px;border:1px solid rgba(250,255,208,.2);background:#0000004d}@media (max-width: 1200px){.create-page-grid{grid-template-columns:1fr;gap:2rem}.inputs-column{border-right:none;border-bottom:1px solid rgba(250,255,208,.1);padding-right:0;padding-bottom:2rem}}@media (max-width: 768px){.create-page-container{padding:1rem}.create-page-content{padding:1rem;height:calc(100vh - 2rem)}.section-title{font-size:.9rem;letter-spacing:3px;text-align:center}.button-container{flex-direction:column;align-items:center;gap:.8rem;padding:0 .5rem}.action-button{width:100%;max-width:250px;height:40px;font-size:.75rem}.character-prompt-input{font-size:.8rem;padding:.7rem;height:44px}.weapon-select{width:calc(100% - 1rem);margin:0 .5rem 1rem;height:40px;font-size:.75rem}.generate-button{width:calc(100% - 1rem);margin:.5rem;height:40px;font-size:.75rem}.preview-image-container{width:180px}.preview-carousel-container{margin-top:100px}.start-playing-section{padding:1.5rem .8rem}}@media (max-width: 480px){.create-page-container{padding:.5rem}.create-page-content{padding:.8rem;height:calc(100vh - 1rem)}.section-title{font-size:.8rem;letter-spacing:2px}.button-container{padding:0 .25rem;gap:.6rem}.action-button{max-width:200px;height:36px;font-size:.7rem;letter-spacing:.5px}.character-prompt-input{font-size:.75rem;padding:.6rem;height:40px}.weapon-select{width:calc(100% - .5rem);margin:0 .25rem 1rem;height:36px;font-size:.7rem}.generate-button{width:calc(100% - .5rem);margin:.5rem .25rem;height:36px;font-size:.7rem}.generate-buttons-container{flex-direction:column;gap:.25rem;width:calc(100% - .5rem);margin:.5rem .25rem}.generate-buttons-container .generate-button{width:100%;margin:0}.preview-image-container{width:150px;padding:.8rem}.preview-image-container h4{font-size:.7rem}.preview-carousel-container{margin-top:80px}.carousel-dots{bottom:-1.5rem}.carousel-dot{width:10px;height:10px}.info-text{font-size:.65rem;padding:.6rem}.continue-game-button{padding:.8rem 1.5rem;font-size:.9em;letter-spacing:1px}.start-playing-section{padding:1.2rem .6rem}}@media (max-width: 360px){.create-page-content{padding:.6rem}.section-title{font-size:.7rem;letter-spacing:1px}.action-button{max-width:180px;height:32px;font-size:.65rem;letter-spacing:0}.character-prompt-input{font-size:.7rem;padding:.5rem;height:36px}.weapon-select,.generate-button{height:32px;font-size:.65rem}.generate-buttons-container{gap:.2rem}.preview-image-container{width:130px;padding:.6rem}.sprites-container img{width:120px;height:120px}.continue-game-button{padding:.7rem 1rem;font-size:.8em;letter-spacing:1px;max-width:250px}.start-playing-section{padding:1rem .5rem}}::-webkit-scrollbar{display:none}*{-ms-overflow-style:none;scrollbar-width:none}.info-text{color:#faffd0;font-family:Mokoto,sans-serif;font-size:.7em;line-height:1.2;opacity:.8;padding:.75rem;background:#faffd00d;border-radius:4px;border:1px solid rgba(250,255,208,.1);margin-bottom:1rem}.info-text p{margin:0}.input-section{display:flex;flex-direction:column;width:100%}.button-container{display:flex;justify-content:flex-start;gap:1rem;margin-bottom:1rem;padding:0 1rem}.action-button{width:160px;height:36px;background-color:#000;color:#faffd0;border:1px solid #faffd0;border-radius:4px;font-family:Mokoto,sans-serif;font-size:.8em;letter-spacing:1px;cursor:pointer;transition:all .3s ease;padding:0;text-align:center;text-transform:uppercase}.action-button:hover,.action-button.active{background-color:#faffd01a}.action-button.remove-button{background-color:#e74c3c1a;border-color:#e74c3c;color:#e74c3c}.action-button.remove-button:hover{background-color:#e74c3c33}.character-prompt-input{width:100%;height:40px;padding:.8em;background-color:#0000004d;color:#faffd0;border:1px solid #faffd0;border-radius:4px;font-family:Mokoto,sans-serif;font-size:.7em;letter-spacing:1px;resize:none;transition:all .3s ease;line-height:1.4}.character-prompt-input::placeholder{color:#faffd080}.character-prompt-input:disabled{opacity:.5;cursor:not-allowed;background-color:#0000004d}.weapon-select{width:calc(100% - 2rem);margin:0 1rem 1rem;height:36px;background-color:#000;color:#faffd0;border:1px solid #faffd0;border-radius:4px;font-family:Mokoto,sans-serif;font-size:.8em;letter-spacing:1px;cursor:pointer;transition:all .3s ease;padding:0 1em;text-transform:uppercase;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23FAFFD0%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.4-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right .7em top 50%;background-size:.65em auto}.weapon-select:focus{outline:none;border-color:#faffd0;box-shadow:0 0 5px #faffd080}.weapon-select-wrapper{position:relative;width:100%}.weapon-select-wrapper:after{content:"";position:absolute;right:1.7rem;top:50%;transform:translateY(-50%);width:.65em;height:.65em;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23FAFFD0%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.4-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:center;background-size:contain;pointer-events:none}.weapon-select-container{position:relative;width:calc(100% - 2rem);margin:0 1rem 1rem}.weapon-select-container .weapon-select{width:90%;margin:0;padding-right:2.5em}.weapon-back-button{position:absolute;right:0;top:0;bottom:0;width:36px;background:none;border:none;color:#faffd0;font-size:1.2em;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .3s ease}.weapon-back-button:hover{opacity:1}.generate-button{width:calc(100% - 2rem);margin:.5rem 1rem;height:36px;background-color:#faffd0;color:#000;border:none;border-radius:4px;font-family:Mokoto,sans-serif;font-size:.8em;letter-spacing:1px;cursor:pointer;transition:all .3s ease;padding:0;text-align:center;text-transform:uppercase}.generate-button:hover{background-color:#000;color:#faffd0;border:1px solid #faffd0}.generate-buttons-container{display:flex;gap:.5rem;width:calc(100% - 2rem);margin:.5rem 1rem}.generate-buttons-container .generate-button{flex:1;margin:0;width:auto}.generate-button.melee-button{background-color:#8b4513;color:#faffd0;border:1px solid #8B4513}.generate-button.melee-button:hover{background-color:#000;color:#8b4513;border:1px solid #8B4513}.prompt-container{width:89%;margin-bottom:1rem;padding:0 1rem}.prompt-disabled-message{color:#e74c3c;font-size:.7em;margin-top:.5rem;text-align:center;font-family:Mokoto,sans-serif;letter-spacing:1px}.action-button.small{width:36px;min-width:36px;padding:0;font-size:1.2em;display:flex;align-items:center;justify-content:center}.continue-game-button{width:100%;max-width:300px;padding:1rem 2rem;font-size:.8em;background-color:#000;color:#faffd0;border:2px solid #faffd0;border-radius:8px;font-family:Mokoto,sans-serif;font-weight:500;letter-spacing:2px;text-transform:uppercase;transition:all .25s ease;cursor:pointer;box-shadow:0 0 15px #faffd04d}.continue-game-button:hover{background-color:#000;color:#faffd0;box-shadow:0 0 20px #faffd080;transform:translateY(-2px)}.profile-container{max-width:1200px;margin:40px auto;padding:2rem;background-color:#000;border:2px solid #faffd0;border-radius:16px;color:#fff;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;box-shadow:0 0 30px #faffd01a}.profile-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(250,255,208,.1);position:relative}.profile-username{font-size:3em;margin:0;color:#faffd0;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;letter-spacing:4px;text-shadow:0 0 10px rgba(250,255,208,.3)}.signout-button{position:absolute;top:0;right:0;padding:.8rem 1.5rem;background-color:#000;color:#f44;border:2px solid #ff4444;border-radius:8px;cursor:pointer;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:1rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;transition:all .25s ease}.signout-button:hover{background-color:#f44;color:#000}.profile-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.profile-left{display:flex;flex-direction:column;gap:2rem}.profile-right{display:flex;flex-direction:column;align-items:center}.profile-avatar-section{text-align:center;margin-bottom:1rem}.profile-avatar{width:120px;height:120px;border-radius:50%;border:3px solid #faffd0;box-shadow:0 0 20px #faffd033}.profile-details{background:#faffd005;padding:2rem;border-radius:16px;border:2px solid #faffd0;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;box-shadow:0 0 20px #faffd01a}.details-title{font-size:1.5em;color:#faffd0;margin-bottom:1.5rem;font-family:Mokoto,sans-serif;letter-spacing:2px;text-transform:uppercase;text-align:center}.detail-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1rem;background:#0000004d;border-radius:8px;border:1px solid rgba(250,255,208,.1)}.detail-label{color:#faffd0;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:600;letter-spacing:1px;text-transform:uppercase;font-size:.9rem}.detail-value{color:#fff;font-weight:700;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif}.wallet-container{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.copy-button{padding:.5rem 1rem;background-color:#000;color:#faffd0;border:2px solid #faffd0;border-radius:8px;cursor:pointer;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:.8rem;font-weight:500;letter-spacing:1px;text-transform:uppercase;transition:all .25s ease}.copy-button:hover{background-color:#faffd0;color:#000}.wallet-address{font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:.9rem;word-break:break-all;color:#fff;max-width:200px}.profile-sprites{text-align:center;width:100%}.sprites-title{font-size:1.5em;color:#faffd0;margin-bottom:2rem;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;letter-spacing:2px;text-transform:uppercase}.sprite-container{background:#faffd005;padding:2rem;border-radius:16px;border:2px solid #faffd0;box-shadow:0 0 20px #faffd01a;margin-bottom:2rem}.spritesheet-image{max-width:300px;width:100%;border:2px solid #faffd0;background-color:#111;border-radius:8px;margin-top:1rem}.no-sprite-message{color:#fff;font-family:Mokoto,sans-serif;font-size:1.1rem;line-height:1.6;padding:2rem}.create-button{display:block;text-decoration:none;width:100%}.create-button button{width:100%;padding:1rem 2rem;font-size:1.1em;background-color:#faffd0;border:2px solid #faffd0;color:#000;border-radius:8px;font-family:Mokoto,sans-serif;font-weight:500;letter-spacing:2px;text-transform:uppercase;transition:all .25s ease;cursor:pointer}.create-button button:hover{background-color:#000;color:#faffd0}@media (max-width: 768px){.profile-container{margin:20px;padding:1.5rem}.profile-content{grid-template-columns:1fr;gap:2rem}.profile-username{font-size:2rem}.signout-button{position:static;margin-top:1rem;width:fit-content;align-self:center}.profile-header{display:flex;flex-direction:column;align-items:center}.wallet-address{max-width:150px}}@media (max-width: 480px){.profile-container{margin:10px;padding:1rem}.profile-username{font-size:1.5rem}.detail-item{flex-direction:column;gap:.5rem;text-align:center}.wallet-container{flex-direction:column;gap:.5rem}.wallet-address{max-width:100%}}.regenerate-container{display:flex;flex-direction:column;align-items:center;min-height:100vh;width:100%;background-color:#000;padding:2rem;box-sizing:border-box;font-family:Mokoto,sans-serif}.regenerate-title{font-size:2.5em;color:#faffd0;letter-spacing:4px;margin-bottom:.5rem;text-shadow:0 0 15px rgba(250,255,208,.4)}.regenerate-subtitle{font-size:1em;color:#faffd0b3;letter-spacing:2px;margin-bottom:3rem;max-width:600px;text-align:center}.sprites-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;width:100%;max-width:1200px}.sprite-card{background:#faffd005;border:2px solid #faffd0;border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;box-shadow:0 0 20px #faffd01a}.sprite-title{font-size:1.2em;color:#faffd0;letter-spacing:3px;margin:0}.sprite-image-wrapper{width:200px;height:200px;background:#0000004d;border-radius:8px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(250,255,208,.2)}.sprite-image{max-width:100%;max-height:100%;object-fit:contain}.no-sprite-message{color:#faffd080;font-size:.9em}.regenerate-button{width:100%;padding:.8rem 1rem;background-color:#faffd0;color:#000;border:none;border-radius:8px;font-family:Mokoto,sans-serif;font-size:.9em;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .3s ease}.regenerate-button:hover:not(:disabled){background-color:#000;color:#faffd0;border:1px solid #faffd0;box-shadow:0 0 10px #faffd04d}.regenerate-button:disabled{opacity:.5;cursor:not-allowed}.loading-message{color:#faffd0;font-size:1.5em;letter-spacing:2px}.sprite-loader{width:48px;height:48px;border:3px solid rgba(250,255,208,.2);border-radius:50%;display:inline-block;position:relative;box-sizing:border-box;animation:rotation 1s linear infinite}.sprite-loader:after{content:"";box-sizing:border-box;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;border:3px solid transparent;border-bottom-color:#faffd0}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:transparent;color:#fff;top:0;z-index:1000;width:100%;box-sizing:border-box;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-left{display:flex;align-items:center;gap:2rem}.game-controls-header{display:flex;align-items:center;gap:1rem}.mode-indicator-header{display:flex;align-items:center;gap:.6rem;padding:.4rem .8rem;background:#faffd005;border:1px solid #faffd0;border-radius:6px;box-shadow:0 0 8px #faffd01a}.mode-indicator-header .mode-icon{font-size:1.2rem;filter:drop-shadow(0 0 3px rgba(250,255,208,.3))}.mode-indicator-header .mode-name{color:#faffd0;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:1px;font-family:Mokoto,sans-serif}.header-game-button{padding:.5rem 1rem;background-color:#000;color:#faffd0;border:1px solid #faffd0;border-radius:6px;cursor:pointer;font-family:Mokoto,sans-serif;font-size:.8rem;font-weight:500;transition:all .25s ease;text-transform:uppercase;letter-spacing:1px}.header-game-button:hover{background-color:#faffd0;color:#000}.header-logo a,.header-nav a{color:#fff;text-decoration:none;margin:0 .5rem;font-size:.9rem;transition:all .3s ease;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif}.header-logo a{font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:1.5rem;color:#faffd0;font-weight:600;letter-spacing:2px;text-shadow:0 0 10px rgba(250,255,208,.3)}.header-logo a:hover,.header-nav a:hover{color:#faffd0}.header-nav ul{list-style:none;display:flex;align-items:center;margin:0;padding:0;gap:.5rem}.header-nav li{margin-left:1rem}.header-nav img{width:30px;height:30px;border-radius:50%;margin-right:8px;border:2px solid #faffd0}.header-nav span{color:#fff;font-size:.9rem;font-family:Mokoto,sans-serif}.header-nav span:hover{color:#faffd0}.profile-link{display:flex;align-items:center;text-decoration:none;background-color:#faffd0;color:#000;padding:.6rem 1.5rem;border-radius:8px;border:2px solid #faffd0;transition:all .3s ease;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:500;letter-spacing:1px;text-transform:uppercase}.header-button{font-size:.8rem;color:#000}.profile-link:hover{background-color:#000;color:#faffd0;border-color:#faffd0}.profile-avatar-icon{width:30px;height:30px;border-radius:50%;margin-right:10px;border:2px solid #000000}@media (max-width: 768px){.app-header{padding:.8rem 1rem;flex-wrap:wrap}.header-left{gap:1rem}.game-controls-header{gap:.5rem}.mode-indicator-header{padding:.3rem .6rem}.mode-indicator-header .mode-icon{font-size:1rem}.mode-indicator-header .mode-name{font-size:.8rem}.header-game-button{padding:.4rem .8rem;font-size:.7rem}.header-logo a{font-size:1.3rem;letter-spacing:1px}.header-nav ul{gap:.3rem}.header-nav li{margin-left:.5rem}.header-nav a{font-size:.8rem}.profile-link{padding:.5rem 1rem;font-size:.8rem;letter-spacing:.5px}.profile-avatar-icon,.header-nav img{width:25px;height:25px;margin-right:6px}}@media (max-width: 480px){.app-header{padding:.6rem .8rem;flex-direction:column;gap:.8rem;align-items:stretch}.header-left{flex-direction:column;gap:.5rem;align-items:center}.game-controls-header{flex-wrap:wrap;justify-content:center;gap:.4rem}.header-game-button{padding:.3rem .6rem;font-size:.65rem}.header-logo{text-align:center}.header-logo a{font-size:1.2rem;letter-spacing:1px}.header-nav{width:100%}.header-nav ul{justify-content:center;flex-wrap:wrap;gap:.5rem}.header-nav li{margin-left:0}.header-nav a{font-size:.75rem;padding:.3rem .6rem;border-radius:4px;background:#faffd01a;border:1px solid rgba(250,255,208,.2)}.profile-link{padding:.4rem .8rem;font-size:.75rem;align-self:center;max-width:200px}.profile-avatar-icon,.header-nav img{width:20px;height:20px;margin-right:4px}}@media (max-width: 360px){.app-header{padding:.5rem .6rem;gap:.6rem}.header-logo a{font-size:1rem;letter-spacing:.5px}.header-nav a{font-size:.7rem;padding:.25rem .5rem}.profile-link{padding:.3rem .6rem;font-size:.7rem;max-width:160px}.profile-avatar-icon,.header-nav img{width:18px;height:18px}}.header-logo-img{width:80px;height:auto}.app-footer{text-align:center;padding:1.5rem 2rem;background-color:#000;color:#fff;width:100%;box-sizing:border-box;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif}.app-footer p{margin:0 0 1rem;font-size:.9rem;color:#fff;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;opacity:.8}.app-footer nav{display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap}.app-footer nav a{color:#faffd0;text-decoration:none;padding:.3rem .6rem;border-radius:4px;transition:all .3s ease;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:.9rem;letter-spacing:1px;text-transform:uppercase}.app-footer nav a:hover{background-color:#faffd01a;color:#faffd0;transform:translateY(-2px)}.footer-logo{width:80px;height:auto;margin-bottom:1rem}@media (max-width: 768px){.app-footer{padding:1.2rem 1rem}.app-footer p{font-size:.8rem;margin-bottom:.8rem}.app-footer nav{gap:.8rem}.app-footer nav a{font-size:.8rem;padding:.25rem .5rem;letter-spacing:.5px}}@media (max-width: 480px){.app-footer{padding:1rem .8rem}.app-footer p{font-size:.75rem;margin-bottom:.6rem}.app-footer nav{flex-direction:column;gap:.6rem}.app-footer nav a{font-size:.75rem;padding:.4rem .8rem;width:100%;max-width:200px;text-align:center;background:#faffd00d;border:1px solid rgba(250,255,208,.1)}}@media (max-width: 360px){.app-footer{padding:.8rem .6rem}.app-footer p{font-size:.7rem}.app-footer nav a{font-size:.7rem;padding:.3rem .6rem;max-width:160px}}.app-container{display:flex;flex-direction:column;min-height:100vh;background-color:#000;color:#fff;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif}.main-content{display:flex;flex-direction:column;background-color:#000;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover,.logo.react:hover{filter:drop-shadow(0 0 2em #faffd0aa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em;background-color:#111;border:1px solid #faffd0;border-radius:8px;color:#fff;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif}.read-the-docs{color:#888;font-family:Mokoto,system-ui,Avenir,Helvetica,Arial,sans-serif}.rig-character-container{display:flex;min-height:100vh;background-color:#1a1a1a;color:#fff}.rig-character-main{flex:1;text-align:center;padding-top:1rem;padding-right:1rem;overflow-y:auto;height:100vh}.rig-character-file-input{margin:1rem;padding:.5rem;background:#333;border:1px solid #555;border-radius:4px;color:#fff}.rig-character-instructions{background:#222;padding:1rem;border-radius:8px;border:1px solid #444;margin-bottom:1rem}.rig-character-instructions h4{margin:0 0 1rem;color:#fff}.rig-character-instructions p{margin:0;color:#ccc;font-size:.9rem}.rig-character-tool-controls{display:flex;gap:1rem;justify-content:center;margin-bottom:1rem}.rig-character-canvas-container{display:flex;justify-content:center;align-items:center;margin-bottom:1rem}.rig-character-canvas{border:2px solid #444;cursor:default;max-width:800px;max-height:600px;width:auto;height:auto;display:block;border-radius:8px;box-shadow:0 4px 8px #0000004d}.rig-character-canvas.drawing{cursor:crosshair}.rig-character-progress{background:#222;padding:1rem;border-radius:8px;border:1px solid #444;margin-bottom:1rem}.rig-character-progress h4{margin:0 0 1rem;color:#fff}.rig-character-parts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.rig-character-part-item{padding:1rem;border-radius:4px;border:2px solid;display:flex;justify-content:space-between;align-items:center}.rig-character-part-item.current{border-color:#ffc107;background-color:#333}.rig-character-part-item.completed{background-color:#222}.rig-character-part-item.not-drawn{border-color:#555;background-color:#111}.rig-character-part-item.completed[data-color="#FF6B6B"]{border-color:#ff6b6b}.rig-character-part-item.completed[data-color="#FF8E8E"]{border-color:#ff8e8e}.rig-character-part-item.completed[data-color="#4ECDC4"]{border-color:#4ecdc4}.rig-character-part-item.completed[data-color="#FFD93D"]{border-color:#ffd93d}.rig-character-part-item.completed[data-color="#00D4AA"]{border-color:#00d4aa}.rig-character-part-item.completed[data-color="#FFC107"]{border-color:#ffc107}.rig-character-part-item.completed[data-color="#00E6B8"]{border-color:#00e6b8}.rig-character-part-item.completed[data-color="#FFB300"]{border-color:#ffb300}.rig-character-part-item.completed[data-color="#00F7C7"]{border-color:#00f7c7}.rig-character-part-item.completed[data-color="#FF9F43"]{border-color:#ff9f43}.rig-character-part-item.completed[data-color="#6C5CE7"]{border-color:#6c5ce7}.rig-character-part-item.completed[data-color="#FF8A33"]{border-color:#ff8a33}.rig-character-part-item.completed[data-color="#7B68E8"]{border-color:#7b68e8}.rig-character-part-item.completed[data-color="#FF7A23"]{border-color:#ff7a23}.rig-character-part-item.completed[data-color="#8A75F9"]{border-color:#8a75f9}.rig-character-part-info{display:flex;align-items:center;gap:.5rem}.rig-character-part-indicator{width:12px;height:12px;border-radius:50%}.rig-character-part-name{font-weight:400}.rig-character-part-name.current{color:#ffc107;font-weight:700}.rig-character-part-name.completed{color:#fff}.rig-character-part-name.not-drawn{color:#888}.rig-character-part-name.not-drawn.current{color:#ffc107;font-weight:700}.rig-character-part-status{display:flex;gap:.5rem}.rig-character-part-points{font-size:.8rem;color:#ccc}.rig-character-part-status-text{font-size:.8rem;font-weight:400}.rig-character-part-status-text.current{color:#ffc107;font-weight:700}.rig-character-part-status-text.not-drawn{color:#888}.rig-character-action-buttons{display:flex;gap:1rem;justify-content:center}.rig-character-btn{padding:.5rem 1rem;color:#fff;border:none;border-radius:4px;cursor:pointer}.rig-character-btn.draw{background:#007bff}.rig-character-btn.draw.inactive{background:#333}.rig-character-btn.undo{background:#ffc107}.rig-character-btn.undo:disabled{background:#666;cursor:not-allowed}.rig-character-btn.reset{padding:.75rem 1.5rem;background:#dc3545}.rig-character-btn.generate{padding:.75rem 1.5rem;background:#28a745}.rig-character-btn.generate:disabled{background:#666;cursor:not-allowed}.rig-character-btn.merge{padding:.75rem 1.5rem;background:#007bff}.rig-character-btn.merge:disabled{background:#666;cursor:not-allowed}.rig-character-btn.remove{padding:.25rem .5rem;background:#dc3545;font-size:.8rem}.rig-character-btn.download{padding:.25rem .5rem;background:#007bff;font-size:.8rem}.rig-character-btn.download-merged{padding:.75rem 1.5rem;background:#28a745;font-size:1rem;margin-right:1rem}.rig-character-btn.copy-clipboard{padding:.75rem 1.5rem;background:#007bff;font-size:1rem}.rig-character-generated-section{background:#222;padding:1.5rem;border-radius:8px;border:1px solid #444;margin-top:1rem}.rig-character-generated-section h3{margin:0 0 1rem;color:#fff;text-align:center}.rig-character-generated-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:900px;margin:0 auto}.rig-character-generated-item{background:#333;padding:1rem;border-radius:8px;border:1px solid #555;text-align:center}.rig-character-generated-item h4{margin:0 0 .5rem;color:#ff9f43;font-size:1rem}.rig-character-generated-image-container{background:#444;border-radius:4px;padding:.5rem;margin-bottom:.5rem}.rig-character-generated-image{max-width:100%;max-height:150px;object-fit:contain;border-radius:4px}.rig-character-generated-dimensions{font-size:.8rem;color:#ccc;margin-bottom:.5rem}.rig-character-generated-position{font-size:.7rem;color:#888;margin-bottom:.5rem}.rig-character-generated-info{text-align:center;margin-top:1rem;padding:1rem;background:#333;border-radius:4px}.rig-character-generated-info p{margin:0;color:#ccc;font-size:.9rem}.rig-character-merged-section{background:#222;padding:1.5rem;border-radius:8px;border:1px solid #444;margin-top:1rem}.rig-character-merged-section h3{margin:0 0 1rem;color:#fff;text-align:center}.rig-character-merged-image-container{text-align:center;margin-bottom:1rem}.rig-character-merged-image{max-width:100%;max-height:400px;object-fit:contain;border-radius:8px;border:2px solid #444}.rig-character-merged-actions{text-align:center}.rig-character-merged-info{text-align:center;margin-top:1rem;padding:1rem;background:#333;border-radius:4px}.rig-character-merged-info p{margin:0;color:#ccc;font-size:.9rem}.rig-character-sidebar{width:300px;background-color:#2a2a2a;padding:1rem;border-left:2px solid #333;height:100vh;overflow-y:auto;position:sticky;top:0}.rig-character-sidebar h3{margin:0 0 1rem;text-align:center}.rig-character-sidebar-section{background-color:#333;padding:1rem;border-radius:8px;margin-bottom:1rem}.rig-character-sidebar-section:last-child{margin-bottom:0}.rig-character-sidebar-section h4{margin:0 0 .5rem}.rig-character-sidebar-list{margin:0;padding-left:1rem;font-size:.9rem;line-height:1.4}.rig-character-sidebar-list li{margin-bottom:.5rem}.rig-character-sidebar-list li:last-child{margin-bottom:0}.rig-character-sidebar-ul{margin:0;padding-left:1rem;font-size:.9rem}.rig-character-sidebar-ul li{margin-bottom:.25rem}.rig-character-sidebar-ul li:last-child{margin-bottom:0}.rig-character-sidebar-part{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem;padding:.25rem;border-radius:3px}.rig-character-sidebar-part.current{background-color:#007bff20}.rig-character-sidebar-part-indicator{width:12px;height:12px;border-radius:50%}.rig-character-sidebar-part-name{font-size:.9rem;font-weight:400}.rig-character-sidebar-part-name.current{color:#007bff;font-weight:700}.rig-character-sidebar-part-name.completed{color:#fff}.rig-character-sidebar-part-check{color:#28a745;font-size:.8rem}.rig-character-btn.save-character{padding:.75rem 1.5rem;background:#28a745;font-size:1rem;margin-right:1rem}.rig-character-btn.save-character:disabled{background:#666;cursor:not-allowed}.rig-character-save-status{text-align:center;margin-top:1rem;padding:1rem;background:#333;border-radius:4px}.rig-character-save-status p{margin:0;color:#ccc;font-size:.9rem}.rig-character-saved-section{background:#222;padding:1.5rem;border-radius:8px;border:1px solid #444;margin-bottom:1rem}.rig-character-saved-section h3{margin:0 0 1rem;color:#fff;text-align:center}.rig-character-saved-content{display:flex;flex-direction:column;gap:1rem}.rig-character-saved-base{text-align:center}.rig-character-saved-base h4{margin:0 0 .5rem;color:#ff9f43;font-size:1rem}.rig-character-saved-image{max-width:100%;max-height:200px;object-fit:contain;border-radius:8px;border:2px solid #444}.rig-character-saved-parts h4{margin:0 0 .5rem;color:#ff9f43;font-size:1rem}.rig-character-saved-parts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;max-width:600px;margin:0 auto}.rig-character-saved-part{background:#333;padding:.5rem;border-radius:4px;border:1px solid #555;text-align:center}.rig-character-saved-part-name{display:block;font-size:.7rem;color:#ccc;margin-bottom:.25rem}.rig-character-saved-part-image{max-width:100%;max-height:60px;object-fit:contain;border-radius:2px}.rig-character-saved-info{text-align:center;padding:.5rem;background:#333;border-radius:4px}.rig-character-saved-info p{margin:0;color:#ccc;font-size:.8rem}.rig-character-auth-notice{background:#333;padding:1rem;border-radius:8px;border:1px solid #ffc107;margin-bottom:1rem;text-align:center}.rig-character-auth-notice p{margin:0;color:#ffc107;font-size:.9rem;font-weight:700}.rig-character-pivot-section{margin-top:30px;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.rig-character-pivot-section h3{margin:0 0 10px;color:#333;font-size:20px}.rig-character-pivot-section p{margin:0 0 20px;color:#666;font-size:14px}.rig-character-btn.export-json{background:#6c5ce7;color:#fff}.rig-character-btn.export-json:hover{background:#5a4fd8}.rig-character-btn.pivot-editor-link{background:#00d4aa;color:#fff;text-decoration:none;display:inline-block}.rig-character-btn.pivot-editor-link:hover{background:#00b894;transform:translateY(-2px)}.rig-character-auto-rig-controls{margin:15px 0;padding:15px;background:#e8f5e8;border-radius:6px;border:1px solid #4caf50;text-align:center}.rig-character-btn.auto-rig{background:#4caf50;color:#fff;padding:10px 20px;font-size:14px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s ease}.rig-character-btn.auto-rig:hover{background:#45a049}.rig-character-auto-rig-info{margin:8px 0 0;font-size:12px;color:#2e7d32;font-style:italic}.rig-character-pivot-notice{margin:10px 0 0;padding:8px 12px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404}.rig-character-pivot-notice p{margin:0;font-size:12px}.rig-character-header-skeleton{margin:20px 0;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef;box-shadow:0 2px 4px #0000001a}.rig-character-header-skeleton h3{margin:0 0 10px;color:#333;font-size:20px}.rig-character-header-skeleton p{margin:0 0 20px;color:#666;font-size:14px}.rig-character-skeleton-notice{margin:10px 0;padding:10px 15px;background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;color:#856404}.rig-character-skeleton-notice p{margin:0;font-size:13px}.pivot-editor-page{max-width:1400px;margin:0 auto;padding:20px;background:#000;min-height:100vh;color:#fff}.pivot-editor-header{text-align:center;margin-bottom:30px;padding:30px;background:#1a1a1a;border-radius:12px;box-shadow:0 4px 6px #0000004d;border:1px solid #333}.pivot-editor-header h1{margin:0 0 10px;color:#fff;font-size:2.5rem;font-weight:700}.pivot-editor-header p{margin:0;color:#ccc;font-size:1.1rem}.pivot-editor-auth-notice{margin:20px 0;padding:15px 20px;background:#2d1b1b;border:1px solid #8b4513;border-radius:8px;color:gold;text-align:center}.pivot-editor-auth-notice p{margin:0;font-weight:600}.pivot-editor-character-status{margin:20px 0;padding:20px;background:#1a2e1a;border:1px solid #4caf50;border-radius:8px;color:#4caf50}.pivot-editor-character-status h3{margin:0 0 10px;color:#4caf50}.pivot-editor-character-status p{margin:0;font-weight:500}.pivot-editor-main{background:#1a1a1a;border-radius:12px;padding:30px;box-shadow:0 4px 6px #0000004d;border:1px solid #333}.pivot-editor-controls{display:flex;gap:15px;margin-bottom:25px;flex-wrap:wrap;justify-content:center}.pivot-editor-btn{padding:12px 24px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.pivot-editor-btn.auto-rig{background:#4caf50;color:#fff}.pivot-editor-btn.auto-rig:hover{background:#45a049;transform:translateY(-2px)}.pivot-editor-btn.save{background:#007bff;color:#fff}.pivot-editor-btn.save:hover{background:#0056b3;transform:translateY(-2px)}.pivot-editor-btn.save:disabled{background:#6c757d;cursor:not-allowed;transform:none}.pivot-editor-btn.export{background:#6c5ce7;color:#fff}.pivot-editor-btn.export:hover{background:#5a4fd8;transform:translateY(-2px)}.pivot-editor-btn.animate{background:#ff6b6b;color:#fff;text-decoration:none;display:inline-block}.pivot-editor-btn.animate:hover{background:#ff5252;transform:translateY(-2px)}.pivot-editor-btn.primary{background:#28a745;color:#fff}.pivot-editor-btn.primary:hover{background:#218838;transform:translateY(-2px)}.pivot-editor-save-status{margin:15px 0;padding:12px 16px;background:#1a2e1a;border:1px solid #4caf50;border-radius:6px;color:#4caf50;text-align:center}.pivot-editor-save-status p{margin:0;font-weight:500}.pivot-editor-tips{margin:25px 0;padding:20px;background:#1a1a1a;border-radius:8px;border-left:4px solid #007bff;border:1px solid #333}.pivot-editor-tips h4{margin:0 0 15px;color:#fff;font-size:16px}.pivot-editor-tips ul{margin:0;padding-left:20px}.pivot-editor-tips li{margin:8px 0;color:#ccc;line-height:1.4}.pivot-editor-empty{text-align:center;padding:60px 20px;background:#1a1a1a;border-radius:12px;box-shadow:0 4px 6px #0000004d;border:1px solid #333}.pivot-editor-empty h3{margin:0 0 15px;color:#fff;font-size:1.8rem}.pivot-editor-empty p{margin:0 0 30px;color:#ccc;font-size:1.1rem}.pivot-editor-loading{text-align:center;padding:60px 20px;background:#1a1a1a;border-radius:12px;box-shadow:0 4px 6px #0000004d;border:1px solid #333}.pivot-editor-loading h3{margin:0 0 15px;color:#fff;font-size:1.8rem}.pivot-editor-loading p{margin:0;color:#ccc;font-size:1.1rem}@media (max-width: 768px){.pivot-editor-page{padding:10px}.pivot-editor-header{padding:20px}.pivot-editor-header h1{font-size:2rem}.pivot-editor-controls{flex-direction:column;align-items:center}.pivot-editor-btn{width:100%;max-width:300px}.pivot-editor-main{padding:20px}}.pivot-editor{display:flex;gap:20px;margin:20px 0;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.editor-surface{flex:1;min-height:400px;background:linear-gradient(45deg,#f0f0f0 25%,transparent 25%),linear-gradient(-45deg,#f0f0f0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#f0f0f0 75%),linear-gradient(-45deg,transparent 75%,#f0f0f0 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px}.part-layer{transition:border-color .2s ease}.part-layer.selected{border:3px solid #00d4aa!important;box-shadow:0 0 0 4px #00d4aa33,0 4px 12px #00d4aa4d;z-index:10}.pivot-handle{transition:all .2s ease}.pivot-handle:hover{transform:scale(1.2);box-shadow:0 4px 8px #0006!important}.pivot-handle.dragging{transform:scale(1.3);box-shadow:0 6px 12px #00000080!important}.hierarchy-controls{width:300px;background:#fff;border-radius:8px;padding:20px;border:1px solid #e9ecef;box-shadow:0 2px 4px #0000001a}.hierarchy-controls h3{margin:0 0 20px;color:#333;font-size:18px;font-weight:600}.part-hierarchy-list{display:flex;flex-direction:column;gap:12px}.hierarchy-item{padding:12px;border:1px solid #e9ecef;border-radius:6px;background:#f8f9fa;transition:all .2s ease;cursor:pointer}.hierarchy-item:hover{background:#f0f0f0;border-color:#00d4aa;transform:translateY(-1px);box-shadow:0 2px 8px #00d4aa26}.hierarchy-item.selected{border-color:#00d4aa;background:#e6fffa;box-shadow:0 2px 8px #00d4aa4d}.part-info{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.part-name{font-weight:600;color:#333;font-size:14px}.pivot-coords{font-size:12px;color:#666;font-family:Courier New,monospace}.parent-select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;font-size:14px;color:#333;cursor:pointer;transition:border-color .2s ease}.parent-select:focus{outline:none;border-color:#00d4aa;box-shadow:0 0 0 2px #00d4aa33}.pivot-editor-placeholder{display:flex;align-items:center;justify-content:center;height:200px;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;color:#6c757d;font-style:italic}@media (max-width: 768px){.pivot-editor{flex-direction:column}.hierarchy-controls{width:100%}.editor-surface{min-height:300px}}.anim‑panel{max-width:980px;margin:40px auto;text-align:center;font-family:system-ui,sans-serif;color:#eee}canvas{background:#2a2a2a;border:1px solid #444;border-radius:6px;display:block;margin:0 auto 20px}.controls{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}button,input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;padding:8px 14px;border-radius:4px;background:#444;color:#fff;cursor:pointer;font-weight:600;transition:background .15s}button.on{background:#0cc4a9;color:#000}button:hover:not(.on){background:#555}input[type=range]{width:120px;height:6px;background:#555;margin-top:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#0cc4a9}.liveWrapper{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr auto;height:100vh}.stage{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr}.characterCol,.cameraCol{display:flex;align-items:center;justify-content:center;background:#000}.camFeed{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.panel{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;justify-content:center;background:#111;color:#ff0}.panel button.sel{background:#ff0;color:#000}.page{display:grid;grid-template-columns:1fr 1fr;height:100vh;background:#111;gap:8px;padding:8px}.left-column,.right-column{position:relative;background:#1e1e1e;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}.charCanvas{width:100%;height:100%}.webcam-feed,.pose-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.webcam-feed{object-fit:cover;transform:scaleX(-1)}.pose-overlay{pointer-events:none}@media (max-width:720px){.page{grid-template-columns:1fr;grid-template-rows:50vh 50vh}}.controls{padding:20px;color:#fff}.controls h2{margin:0 0 20px;color:#00d4aa;text-align:center}.pose-buttons{display:flex;flex-direction:column;gap:10px;margin-bottom:30px}.pose-buttons button{padding:12px 20px;border:none;border-radius:6px;background:#333;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.pose-buttons button:hover{background:#444}.pose-buttons button.active{background:#00d4aa;color:#000}.playback-controls{display:flex;flex-direction:column;gap:15px}.playback-controls button{padding:12px 20px;border:none;border-radius:6px;background:#007bff;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.playback-controls button:hover{background:#0056b3}.speed-control{display:flex;align-items:center;gap:10px;color:#ccc}.speed-control label{font-size:14px;min-width:50px}.speed-control input[type=range]{flex:1;height:6px;background:#333;border-radius:3px;outline:none}.speed-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#00d4aa;cursor:pointer}.speed-control span{font-size:12px;min-width:30px;text-align:right}
