@import"https://fonts.googleapis.com/css2?family=Geist:wght@100;200;300;400;500;600;700;800;900&display=swap";html,body,#root{height:100%;margin:0;padding:0}:root{font-family:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:500;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:600;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:Geist,sans-serif;font-weight:500;letter-spacing:1px;overflow-x:hidden}h1{font-size:3rem;letter-spacing:4px;color:#faffd0;font-family:Geist,sans-serif;font-weight:800;margin:0;line-height:1.2}h2{font-size:1.5rem;margin-top:-3rem;font-family:Geist,sans-serif;font-weight:700;line-height:1.3}h3{font-size:1rem;color:#fff;font-family:Geist,sans-serif;font-weight:600;margin:0}button{border-radius:6px;border:2px solid #ffffff;padding:.5rem 1.5rem;font-size:.75rem;font-weight:600;font-family:Geist,sans-serif;background-color:#000;color:#fff;cursor:pointer;transition:all .25s ease;letter-spacing:1px;text-transform:uppercase;min-height:36px}button:hover{background-color:#fff;color:#000;border-color:#fff}button:focus,button:focus-visible{outline:2px solid #ff4444;outline-offset:2px}input,textarea,select{font-family:Geist,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:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;box-sizing:border-box}.homepage-container h1{font-size:3rem;margin:0;color:#faffd0;letter-spacing:4px;line-height:1.2;font-weight:800}.homepage-container h2{font-size:1.5rem;margin:0;color:#fff;font-weight:600;letter-spacing:2px;opacity:.9;line-height:1.4}.homepage-container button{padding:.6rem 2rem;font-size:1rem;background-color:#000;color:#fff;border:2px solid #ffffff;border-radius:6px;font-family:Geist,sans-serif;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .3s ease;min-height:36px}.homepage-container button:hover{background-color:#fff;color:#000;transform:translateY(-2px)}@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:Geist,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:Geist,sans-serif}.game-mode-subtitle{font-size:1.5em;color:#fff;margin:0;margin-top:-2rem;font-family:Geist,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}.game-mode-card:hover{transform:translateY(-5px);background:#faffd00d}.game-mode-card.selected{background:#faffd01a;border-color:#faffd0;transform:scale(1.02)}.mode-content{flex-grow:1;text-align:center}.mode-title{font-size:1.2rem;font-weight:700;margin-bottom:.5rem;color:#faffd0;font-family:Geist,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:Geist,sans-serif}.mode-description{font-size:.95rem;color:#fff;line-height:1.4;font-family:Geist,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:Geist,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:Geist,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:Geist,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:Geist,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:#000;padding:20px;font-family:Geist,monospace}.results-card{background:#000c;border:2px solid #faffd0;border-radius:16px;padding:40px;max-width:600px;width:100%;text-align:center;-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:900;margin:0 0 10px;letter-spacing:2px}.result-subtitle{font-size:18px;color:#ccc;margin:0 0 20px;font-weight:500}.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;font-weight:700}.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:Geist,monospace;font-size:16px;font-weight:700;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)}.action-button.secondary{background:transparent;border-color:#666;color:#ccc}.action-button.secondary:hover{border-color:#faffd0;color:#faffd0;transform:translateY(-2px)}.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;font-weight:700}.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:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif}.auth-title{font-size:1.5rem!important;margin-top:-.8rem!important;font-weight:700!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}.auth-form label{text-align:left;font-size:.8rem;margin-bottom:-.5rem;color:#faffd0;font-family:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:700;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:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:.9rem;font-weight:500;transition:all .3s ease}.auth-form input:focus{outline:none;border-color:#faffd0}.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:.6rem 1.2rem!important;font-size:.75rem!important;background-color:#000;color:#fff;border:2px solid #ffffff;border-radius:6px;font-family:Geist,sans-serif;font-weight:700;letter-spacing:1px!important;text-transform:uppercase;cursor:pointer;transition:all .3s ease;min-height:36px}.auth-primary-button:hover{background-color:#fff;color:#000}.auth-twitter-button{flex:1;min-width:140px;padding:.6rem 1.2rem!important;font-size:.75rem!important;background-color:#000!important;color:#fff!important;border:2px solid #ffffff!important;border-radius:6px;font-family:Geist,sans-serif;font-weight:700;letter-spacing:1px!important;text-transform:uppercase;cursor:pointer;transition:all .3s ease;min-height:36px}.auth-twitter-button:hover{background-color:#fff!important;color:#000!important;transform:translateY(-2px)}.auth-form button{padding:.6rem 1.5rem;font-size:.9rem;background-color:#000;color:#fff;border:2px solid #ffffff;border-radius:6px;font-family:Geist,sans-serif;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .3s ease;margin-top:.5rem;min-height:36px}.auth-form button:hover{background-color:#fff;color:#000}.auth-container h1{margin-bottom:2rem;font-size:2.5rem;color:#faffd0;font-family:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:800;letter-spacing:4px}.auth-container p{margin:1rem 0;font-size:1rem;color:#fff;font-family:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:500;opacity:.9}.auth-container .provider-buttons button,.auth-container .toggle-button-container button{margin:0rem;padding:.6rem 1.2rem;font-size:.75rem;background-color:#000;color:#fff;border:2px solid #ffffff;border-radius:6px;transition:all .3s ease;font-family:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:600;letter-spacing:1px;text-transform:uppercase;cursor:pointer;min-height:36px}.auth-container .provider-buttons button:hover,.auth-container .toggle-button-container button:hover{background-color:#fff;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:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:500}.auth-container .toggle-button{background-color:#000;border:2px solid #ffffff;color:#fff;font-family:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:600}.auth-container .toggle-button:hover{background-color:#fff;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:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:500}.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);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:Geist,sans-serif;font-size:1em;color:#faffd0;letter-spacing:4px;margin:0;text-align:left;flex-shrink:0;font-weight:700}.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:Geist,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:Geist,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:Geist,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:Geist,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:Geist,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:Geist,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:Geist,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:Geist,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:Geist,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:Geist,sans-serif;font-weight:500;letter-spacing:2px;text-transform:uppercase;transition:all .25s ease;cursor:pointer}.continue-game-button:hover{background-color:#000;color:#faffd0;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:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif}.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:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:800;letter-spacing:4px}.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:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:1rem;font-weight:600;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}.profile-details{background:#faffd005;padding:2rem;border-radius:16px;border:2px solid #faffd0;font-family:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif}.details-title{font-size:1.5em;color:#faffd0;margin-bottom:1.5rem;font-family:Geist,sans-serif;font-weight:700;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:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:.9rem}.detail-value{color:#fff;font-weight:700;font-family:Geist,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:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:.8rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;transition:all .25s ease}.copy-button:hover{background-color:#faffd0;color:#000}.wallet-address{font-family:Geist,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:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:700;letter-spacing:2px;text-transform:uppercase}.sprite-container{background:#faffd005;padding:2rem;border-radius:16px;border:2px solid #faffd0;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:Geist,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:Geist,sans-serif;font-weight:600;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:Geist,sans-serif}.regenerate-title{font-size:2.5rem;color:#faffd0;margin-bottom:1rem;text-align:center;font-weight:800}.regenerate-subtitle{font-size:1em;color:#faffd0b3;letter-spacing:2px;margin-bottom:3rem;max-width:600px;text-align:center;font-weight:600}.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;font-weight:700}.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:1rem 2rem;background-color:#000;color:#fff;border:2px solid #ffffff;border-radius:8px;font-family:Geist,sans-serif;font-size:1rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all .3s ease}.regenerate-button:hover:not(:disabled){background-color:#fff;color:#000;transform:translateY(-2px)}.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)}}.regenerate-button:hover{background-color:#fff;color:#000}.sprite-error{margin-top:10px;padding:10px;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;text-align:center}.error-message{color:#721c24;margin:0 0 10px;font-size:.9rem;line-height:1.4}.retry-button{background-color:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background-color .2s ease}.retry-button:hover{background-color:#c82333}.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:Geist,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}.mode-indicator-header .mode-icon{font-size:1.2rem}.mode-indicator-header .mode-name{color:#faffd0;font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:1px;font-family:Geist,sans-serif}.header-game-button{padding:.4rem .8rem;background-color:#000;color:#fff;border:1px solid #ffffff;border-radius:6px;cursor:pointer;font-family:Geist,sans-serif;font-size:.7rem;font-weight:600;transition:all .25s ease;text-transform:uppercase;letter-spacing:1px;min-height:32px}.header-game-button:hover{background-color:#fff;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:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:600}.header-logo a{font-family:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:1.5rem;color:#faffd0;font-weight:800;letter-spacing:2px}.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:Geist,sans-serif;font-weight:600}.header-nav span:hover{color:#faffd0}.profile-link{display:flex;align-items:center;text-decoration:none;background-color:#000;color:#fff;padding:.4rem 1.2rem;border-radius:6px;border:2px solid #ffffff;transition:all .3s ease;font-family:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:600;letter-spacing:1px;text-transform:uppercase;min-height:36px}.header-button{font-size:.8rem;color:#000}.profile-link:hover{background-color:#fff;color:#000;border-color:#fff}.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:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif}.app-footer p{margin:0 0 1rem;font-size:.9rem;color:#fff;font-family:Geist,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:#fff;text-decoration:none;padding:.3rem .6rem;border-radius:4px;transition:all .3s ease;font-family:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif;font-size:.9rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}.app-footer nav a:hover{background-color:#fff;color:#000;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:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif}.main-content{display:flex;flex-direction:column;background-color:#000;font-family:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}@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:Geist,system-ui,Avenir,Helvetica,Arial,sans-serif}.read-the-docs{color:#888;font-family:Geist,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}.new-pivot-maker{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;max-width:100%;width:100%;margin:0 auto;padding:20px;background:#000;min-height:100vh;color:#fff;box-sizing:border-box;overflow-x:hidden}.pivot-maker-header{grid-column:1 / -1;text-align:center;margin-bottom:20px;padding:30px;background:#1a1a1a;border-radius:12px;box-shadow:0 4px 6px #0000004d;border:1px solid #333}.pivot-maker-header h1{margin:0 0 10px;color:#fff;font-size:2.5rem;font-weight:700}.pivot-maker-header p{margin:0;color:#ccc;font-size:1.1rem}.character-selection{grid-column:1 / -1;margin-bottom:20px;padding:20px;background:#1a1a1a;border-radius:12px;box-shadow:0 4px 6px #0000004d;border:1px solid #333}.character-select-btn{padding:12px 20px;background:#333;border:2px solid #555;border-radius:8px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:200px;text-align:left}.character-select-btn:hover{background:#444;border-color:#00d4aa;transform:translateY(-2px)}.character-create-btn{padding:12px 20px;background:#00d4aa;border:2px solid #00d4aa;border-radius:8px;color:#000;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.character-create-btn:hover{background:#00b894;border-color:#00b894;transform:translateY(-2px)}.character-dropdown{margin-top:15px;background:#2a2a2a;border:1px solid #444;border-radius:8px;max-height:300px;overflow-y:auto}.character-option{padding:15px 20px;border-bottom:1px solid #444;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:space-between}.character-option:hover{background:#333}.character-option.selected{background:#00d4aa;color:#000}.character-name{font-weight:600;font-size:16px}.character-type{font-size:14px;color:#ccc;text-transform:capitalize}.character-option.selected .character-type{color:#333}.skeleton-status{font-size:18px;margin-left:10px}.create-character-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:30px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto}.modal-content h3{margin:0 0 20px;color:#fff;font-size:1.5rem;text-align:center}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#fff;font-weight:600}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px;background:#333;border:1px solid #555;border-radius:6px;color:#fff;font-size:16px;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#00d4aa;background:#2a2a2a}.form-group textarea{min-height:100px;resize:vertical}.checkbox-label{display:flex!important;align-items:center;gap:10px;cursor:pointer;margin-bottom:8px}.checkbox-label input[type=checkbox]{width:auto!important;margin:0;cursor:pointer}.checkbox-text{color:#fff;font-weight:600;cursor:pointer}.isometric-info{margin:8px 0 0;padding:10px;background:#2a2a2a;border:1px solid #00d4aa;border-radius:6px;color:#ccc;font-size:14px;line-height:1.4}.isometric-status-display{margin:20px 0;padding:20px;background:#1a1a1a;border:1px solid #333;border-radius:8px}.isometric-status-display h4{margin:0 0 15px;color:#00d4aa;font-size:1.1rem}.isometric-views{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:15px}.view-status{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#2a2a2a;border-radius:6px;border:1px solid #444}.view-label{color:#fff;font-weight:500;font-size:14px}.view-indicator{font-size:16px;font-weight:700}.view-indicator.ready{color:#00d4aa}.view-indicator.pending{color:orange}.generation-status{margin:10px 0 0;padding:10px;background:#2a2a2a;border:1px solid #ffa500;border-radius:6px;color:orange;font-weight:500}.generation-error{margin:10px 0 0;padding:10px;background:#2a2a2a;border:1px solid #ff6b6b;border-radius:6px;color:#ff6b6b;font-weight:500}.isometric-controls{display:flex;gap:10px;margin:15px 0;flex-wrap:wrap}.pivot-maker-btn.isometric-generate{background:#00d4aa;border:2px solid #00d4aa;color:#000;font-weight:600;padding:10px 16px;border-radius:6px;cursor:pointer;transition:all .3s ease}.pivot-maker-btn.isometric-generate:hover:not(:disabled){background:#00b894;border-color:#00b894;transform:translateY(-1px)}.pivot-maker-btn.isometric-generate:disabled{background:#555;border-color:#555;color:#888;cursor:not-allowed;transform:none}.isometric-generation-buttons{display:flex;gap:8px;margin-left:10px;flex-wrap:wrap}.pivot-maker-btn.isometric-view-btn{background:#00d4aa;border:2px solid #00d4aa;color:#000;font-weight:600;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:12px}.pivot-maker-btn.isometric-view-btn:hover:not(:disabled){background:#00b894;border-color:#00b894;transform:translateY(-1px)}.pivot-maker-btn.isometric-view-btn:disabled{background:#555;border-color:#555;color:#888;cursor:not-allowed;transform:none}.pivot-maker-btn.isometric-check{background:orange;border:2px solid #ffa500;color:#000;font-weight:600;padding:10px 16px;border-radius:6px;cursor:pointer;transition:all .3s ease}.pivot-maker-btn.isometric-check:hover{background:#ff8c00;border-color:#ff8c00;transform:translateY(-1px)}.modal-actions{display:flex;gap:15px;justify-content:center;margin-top:30px}.create-btn{padding:12px 24px;background:#00d4aa;border:none;border-radius:6px;color:#000;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.create-btn:hover:not(:disabled){background:#00b894;transform:translateY(-2px)}.create-btn:disabled{background:#666;cursor:not-allowed;transform:none}.cancel-btn{padding:12px 24px;background:#666;border:none;border-radius:6px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-btn:hover{background:#777;transform:translateY(-2px)}.pivot-maker-no-character{grid-column:1 / -1;text-align:center;padding:40px;background:#1a1a1a;border-radius:12px;border:2px dashed #666;color:#ccc;font-size:1.2rem}.pivot-maker-auth-notice{grid-column:1 / -1;margin:20px 0;padding:15px 20px;background:#2d1b1b;border:1px solid #8b4513;border-radius:8px;color:gold;text-align:center}.pivot-maker-main{background:#1a1a1a;border-radius:12px;padding:30px;box-shadow:0 4px 6px #0000004d;border:1px solid #333;min-width:0}.pivot-maker-upload{margin-bottom:20px}.pivot-maker-file-input{width:100%;padding:12px;background:#333;border:2px dashed #666;border-radius:8px;color:#fff;font-size:16px;cursor:pointer}.pivot-maker-file-input:hover{border-color:#00d4aa;background:#2a2a2a}.pivot-maker-upload-prompt{text-align:center;padding:40px;background:#2a2a2a;border-radius:8px;border:2px dashed #666}.pivot-maker-upload-prompt p{margin:0;color:#ccc;font-size:1.1rem}.pivot-maker-upload-prompt .upload-info{margin-top:8px;color:#00d4aa;font-size:.9rem;font-style:italic}.pivot-maker-controls{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px;flex-wrap:wrap}.pivot-maker-mode-controls,.pivot-maker-action-controls{display:flex;gap:10px;flex-wrap:wrap}.pivot-maker-btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;background:#444;color:#fff}.pivot-maker-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.pivot-maker-btn.active{background:#00d4aa;color:#000}.pivot-maker-btn.danger{background:#ff6b6b;color:#fff}.pivot-maker-btn.danger:hover{background:#ff5252}.pivot-maker-btn.export{background:#6c5ce7;color:#fff}.pivot-maker-btn.export:hover{background:#5a4fd8}.pivot-maker-btn.save{background:#4caf50;color:#fff}.pivot-maker-btn.save:hover{background:#45a049}.pivot-maker-btn.next{background:#ff9500;color:#fff}.pivot-maker-btn.next:hover{background:#e68500}.pivot-maker-btn.reset{background:#17a2b8;color:#fff}.pivot-maker-btn.reset:hover{background:#138496}.pivot-maker-btn:disabled{background:#666;cursor:not-allowed;transform:none}.pivot-maker-save-status{margin:15px 0;padding:12px 16px;background:#1a2e1a;border:1px solid #4caf50;border-radius:6px;color:#4caf50;text-align:center}.pivot-maker-instructions{margin:20px 0;padding:20px;background:#2a2a2a;border-radius:8px;border-left:4px solid #00d4aa}.pivot-maker-instructions h4{margin:0 0 15px;color:#fff}.pivot-maker-instructions-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}@media (max-width: 1000px){.pivot-maker-instructions-grid{grid-template-columns:1fr}}.instruction-mode{padding:15px;background:#1a1a1a;border-radius:6px;border:1px solid #444}.instruction-mode strong{color:#00d4aa;display:block;margin-bottom:8px}.instruction-mode p{margin:0;color:#ccc;font-size:14px;line-height:1.4}.connect-status{background:#2d1b1b;border:1px solid #ff6b6b;border-radius:6px;padding:12px;margin-top:10px}.connect-status p{margin:0;color:#ff6b6b;font-weight:600}.pivot-maker-canvas-container{margin:20px 0;text-align:center;background:#2a2a2a;border-radius:8px;padding:20px;width:100%;box-sizing:border-box;overflow:hidden}.pivot-maker-canvas{border:2px solid #333;border-radius:8px;cursor:crosshair;background:#fff;box-shadow:0 4px 8px #0003;max-width:100%;height:auto}.pivot-maker-canvas:hover{border-color:#00d4aa}.pivot-maker-skeleton-info{margin-top:30px}.skeleton-stats{margin-bottom:25px;padding:20px;background:#2a2a2a;border-radius:8px;border:1px solid #444}.skeleton-stats h3{margin:0 0 15px;color:#fff;text-align:center}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stat{text-align:center;padding:15px;background:#1a1a1a;border-radius:6px;border:1px solid #333}.stat-number{display:block;font-size:2rem;font-weight:700;color:#00d4aa;margin-bottom:5px}.stat-label{color:#ccc;font-size:14px}.pivot-list,.bone-list{margin-bottom:25px;padding:15px;background:#2a2a2a;border-radius:8px;border:1px solid #444}.pivot-list h4,.bone-list h4{margin:0 0 10px;color:#fff;font-size:14px}.pivot-items,.bone-items{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.pivot-item{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:3px 6px;background:#1a1a1a;border-radius:4px;border:1px solid #333;cursor:pointer;transition:all .2s ease;font-size:9px}.bone-item{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:#1a1a1a;border-radius:4px;border:1px solid #333;cursor:pointer;transition:all .2s ease;font-size:11px}.pivot-item:hover,.bone-item:hover{border-color:#00d4aa;background:#222}.pivot-item.selected{border-color:gold;background:#2a2416}.pivot-info{display:flex;flex-direction:row;align-items:center;gap:6px;flex:1}.pivot-id{background:#00d4aa;color:#000;padding:1px 3px;border-radius:2px;font-size:7px;font-weight:700;text-align:center;white-space:nowrap}.pivot-name-input{background:#333;border:1px solid #555;border-radius:3px;padding:2px 4px;color:#fff;font-size:9px;width:auto;flex-grow:1;min-width:30px;text-align:center;height:22px;min-height:0;line-height:1}.pivot-name-input:focus{outline:none;border-color:#00d4aa}.pivot-coords{color:#999;font-size:7px;font-family:monospace;white-space:nowrap}.pivot-remove-btn,.bone-remove-btn{background:#ff6b6b;border:none;border-radius:0;color:#fff;width:22px;height:22px;min-width:22px;min-height:22px;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;padding:0;line-height:1}.pivot-remove-btn:hover,.bone-remove-btn:hover{background:#ff5252}.bone-connection{color:#ccc;font-size:12px;font-weight:500}.next-steps{padding:20px;background:#1a2e1a;border:1px solid #4caf50;border-radius:8px;text-align:center}.next-steps p{margin:0 0 15px;color:#ccc}.pivot-maker-sidebar{background:#1a1a1a;border-radius:12px;padding:25px;box-shadow:0 4px 6px #0000004d;border:1px solid #333;height:fit-content;position:sticky;top:20px;min-width:0}.pivot-maker-sidebar h3{margin:0 0 20px;color:#fff;font-size:1.3rem}.tip-section{margin-bottom:25px;padding:15px;background:#2a2a2a;border-radius:8px;border-left:4px solid #00d4aa}.tip-section h4{margin:0 0 10px;color:#00d4aa;font-size:1rem}.tip-section ul{margin:0;padding-left:20px}.tip-section li{margin:6px 0;color:#ccc;line-height:1.4;font-size:14px}.tip-section strong{color:#fff}@media (max-width: 1200px){.new-pivot-maker{grid-template-columns:1fr;padding:15px}.pivot-maker-sidebar{position:static}}@media (max-width: 1024px){.new-pivot-maker{grid-template-columns:1fr;padding:10px}}@media (max-width: 768px){.new-pivot-maker{padding:10px;gap:15px}.pivot-maker-header{padding:15px}.pivot-maker-header h1{font-size:2rem}.pivot-maker-controls{flex-direction:column;gap:15px}.pivot-maker-mode-controls,.pivot-maker-action-controls{justify-content:center;flex-wrap:wrap}.pivot-maker-instructions-grid,.stats-grid{grid-template-columns:1fr}.pivot-maker-main{padding:15px}.pivot-maker-canvas{max-width:100%;height:auto}}@media (max-width: 480px){.new-pivot-maker{padding:5px;gap:10px}.pivot-maker-header{padding:10px}.pivot-maker-header h1{font-size:1.5rem}.pivot-maker-main{padding:10px}.character-selector{flex-direction:column;align-items:stretch}.character-select-btn,.character-create-btn{width:100%;text-align:center}.pivot-maker-btn{padding:8px 12px;font-size:12px}}.skeleton-cutter{max-width:1400px;margin:0 auto;padding:20px;background:linear-gradient(135deg,#000,#1a1a1a,#000);min-height:100vh;color:#fff}.skeleton-cutter-loading{text-align:center;padding:100px 20px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border-radius:12px;box-shadow:0 4px 6px #0000004d;border:1px solid #8B0000;margin:50px auto;max-width:600px}.skeleton-cutter-loading h2{margin:0 0 20px;color:#fff;font-size:2rem}.skeleton-cutter-loading p{margin:0 0 30px;color:#ccc;font-size:1.1rem}.skeleton-cutter-header{text-align:center;margin-bottom:30px;padding:30px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border-radius:12px;box-shadow:0 4px 6px #0000004d;border:1px solid #8B0000}.header-content{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto}.back-button{padding:10px 16px;background:linear-gradient(135deg,#8b0000,brown);border:1px solid #8B0000;border-radius:6px;color:#fff;text-decoration:none;font-size:14px;font-weight:600;transition:all .2s ease;display:flex;align-items:center;gap:6px;min-width:80px}.back-button:hover{background:linear-gradient(135deg,brown,#8b0000);border-color:#dc143c;transform:translateY(-1px);box-shadow:0 2px 4px #8b00004d}.header-text{flex:1;text-align:center}.skeleton-cutter-header h1{margin:0 0 10px;color:#fff;font-size:2.5rem;font-weight:700}.skeleton-cutter-header p{margin:0;color:#ccc;font-size:1.1rem}.character-selection{margin-bottom:30px;padding:20px;background:linear-gradient(135deg,#2a2a2a,#3a3a3a);border-radius:12px;box-shadow:0 4px 6px #0000004d;border:1px solid #8B0000}.character-selection-header{margin-bottom:20px;padding:15px 20px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border-radius:8px;border:1px solid #8B0000;display:flex;justify-content:center;align-items:center}.character-selector{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.character-select-btn{padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;background:linear-gradient(135deg,#8b0000,brown);color:#fff;display:flex;align-items:center;gap:8px}.character-select-btn:hover{background:linear-gradient(135deg,brown,#8b0000);transform:translateY(-2px);box-shadow:0 4px 8px #8b00004d}.character-dropdown{margin-top:15px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border-radius:8px;border:1px solid #8B0000;max-height:300px;overflow-y:auto}.character-option{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;border-bottom:1px solid #8B0000;cursor:pointer;transition:all .2s ease}.character-option:hover{background:linear-gradient(135deg,#2a2a2a,#3a3a3a)}.character-option.selected{background:linear-gradient(135deg,#8b0000,brown);border-left:4px solid #DC143C}.character-option:last-child{border-bottom:none}.character-name{font-weight:600;color:#fff}.character-type{font-size:12px;color:#ccc;text-transform:capitalize}.character-option.selected .character-type{color:#fff}.skeleton-status{color:#dc143c;font-size:16px}.loading-actions{margin-top:30px;display:flex;justify-content:center;gap:15px}.skeleton-cutter-main{background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border-radius:12px;padding:30px;box-shadow:0 4px 6px #0000004d;border:1px solid #8B0000}.skeleton-cutter-controls{display:flex;justify-content:space-between;gap:20px;margin-bottom:25px;flex-wrap:wrap}.cut-mode-controls,.display-controls,.action-controls{display:flex;gap:10px;flex-wrap:wrap}.skeleton-cutter-btn{padding:10px 18px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;background:linear-gradient(135deg,#8b0000,brown);color:#fff}.skeleton-cutter-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #8b00004d}.skeleton-cutter-btn.active{background:linear-gradient(135deg,#dc143c,#8b0000);color:#fff}.skeleton-cutter-btn.primary{background:linear-gradient(135deg,#8b0000,brown);color:#fff}.skeleton-cutter-btn.primary:hover{background:linear-gradient(135deg,brown,#8b0000)}.skeleton-cutter-btn.auto{background:linear-gradient(135deg,#8b0000,brown);color:#fff}.skeleton-cutter-btn.auto:hover{background:linear-gradient(135deg,brown,#8b0000)}.skeleton-cutter-btn.generate{background:linear-gradient(135deg,#8b0000,brown);color:#fff}.skeleton-cutter-btn.generate:hover{background:linear-gradient(135deg,brown,#8b0000)}.skeleton-cutter-btn.save{background:linear-gradient(135deg,#8b0000,brown);color:#fff}.skeleton-cutter-btn.save:hover{background:linear-gradient(135deg,brown,#8b0000)}.skeleton-cutter-btn.next{background:linear-gradient(135deg,#8b0000,brown);color:#fff}.skeleton-cutter-btn.next:hover{background:linear-gradient(135deg,brown,#8b0000)}.skeleton-cutter-btn:disabled{background:linear-gradient(135deg,#666,#777);cursor:not-allowed;transform:none;opacity:.6}.skeleton-cutter-save-status{display:inline-flex;align-items:center;padding:6px 10px;background:linear-gradient(135deg,#2a1a1a,#3a2a2a);border:1px solid #8B0000;border-radius:4px;color:#dc143c;font-size:11px;font-weight:500;margin-left:8px;white-space:normal;max-width:350px;word-wrap:break-word;line-height:1.2}.skeleton-cutter-instructions{margin:10px 0;padding:12px;background:linear-gradient(135deg,#2a2a2a,#3a3a3a);border-radius:8px;border-left:4px solid #8B0000}.skeleton-cutter-instructions h4{margin:0 0 8px;color:#fff;font-size:13px}.instructions-content p{margin:0 0 6px;color:#ccc;line-height:1.3;font-size:12px}.instructions-content ul{font-size:11px;margin:6px 0;padding-left:12px}.instructions-content li{margin:2px 0}.current-cut-status{background:linear-gradient(135deg,#2d1b1b,#3d2a2a);border:1px solid #8B0000;border-radius:6px;padding:10px;margin-top:10px}.current-cut-status p{margin:2px 0;color:#dc143c;font-weight:600;font-size:11px}.skeleton-cutter-canvas-container{margin:20px 0;text-align:center;background:linear-gradient(135deg,#2a2a2a,#3a3a3a);border-radius:8px;padding:20px}.skeleton-cutter-canvas{border:2px solid #8B0000;border-radius:8px;cursor:crosshair;background:#fff;box-shadow:0 4px 8px #0003;width:400px;height:400px;max-width:100%}.skeleton-cutter-canvas:hover{border-color:#dc143c}.skeleton-cutter-layout{display:grid;grid-template-columns:1fr 500px;gap:30px;margin-top:20px}.canvas-column,.cuts-column{display:flex;flex-direction:column}.cuts-list{margin:0;padding:20px;background:linear-gradient(135deg,#2a2a2a,#3a3a3a);border-radius:8px;border:1px solid #8B0000;height:fit-content}.cuts-list h3{margin:0 0 15px;color:#fff}.cuts-items{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.cut-item{display:flex;flex-direction:column;padding:12px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border-radius:6px;border:1px solid #8B0000;transition:all .2s ease;position:relative;min-height:120px}.cut-item:hover{border-color:#dc143c;background:linear-gradient(135deg,#2a2a2a,#3a3a3a)}.cut-item.redoing{border-color:#dc143c;background:linear-gradient(135deg,#2a2a2a,#3a3a3a);box-shadow:0 0 10px #dc143c4d}.cut-item.redoing .cut-name{color:#dc143c}.cut-preview{width:100%;height:80px;margin-bottom:8px;border-radius:4px;overflow:hidden;border:1px solid #8B0000;flex-shrink:0;display:flex;align-items:center;justify-content:center}.cut-preview-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2a2a2a,#3a3a3a)}.placeholder-text{color:#666;font-size:10px;text-align:center}.cut-preview img{width:100%;height:100%;object-fit:contain;background:linear-gradient(135deg,#2a2a2a,#3a3a3a)}.cut-info{flex:1;display:flex;flex-direction:column;gap:4px}.cut-name{font-weight:600;color:#fff;font-size:10px}.cut-size{color:#ccc;font-size:11px;font-family:monospace}.cut-pivots{color:#ccc;font-size:11px}.cut-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;margin-top:8px}.cut-remove-btn{background:linear-gradient(135deg,#8b0000,brown);border:none;border-radius:3px;color:#fff;width:16px;height:16px;min-width:16px;min-height:16px;max-width:16px;max-height:16px;padding:0;margin:0;cursor:pointer;font-size:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cut-remove-btn:hover{background:linear-gradient(135deg,brown,#8b0000)}.cut-redo-btn{background:linear-gradient(135deg,#8b0000,brown);border:none;border-radius:3px;color:#fff;width:16px;height:16px;min-width:16px;min-height:16px;max-width:16px;max-height:16px;padding:0;margin:0;cursor:pointer;font-size:8px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;flex-shrink:0}.cut-redo-btn:hover{background:linear-gradient(135deg,brown,#8b0000)}.cut-name-editing{display:flex;flex-direction:column;gap:6px;flex:1}.cut-name-input{padding:6px 8px;border:2px solid #8B0000;border-radius:3px;background:linear-gradient(135deg,#2a2a2a,#3a3a3a);color:#fff;font-size:12px;font-family:inherit;outline:none;transition:border-color .2s ease}.cut-name-input:focus{border-color:#dc143c}.cut-name-input::placeholder{color:#666}.cut-name-select{padding:6px 8px;border:2px solid #8B0000;border-radius:3px;background:linear-gradient(135deg,#2a2a2a,#3a3a3a);color:#fff;font-size:12px;font-family:inherit;outline:none;transition:border-color .2s ease;cursor:pointer;width:100%}.cut-name-select:focus{border-color:#dc143c}.cut-name-select option{background:linear-gradient(135deg,#2a2a2a,#3a3a3a);color:#fff;padding:4px}.cut-edit-buttons{display:flex;gap:4px}.cut-edit-btn{background:linear-gradient(135deg,#8b0000,brown);border:none;border-radius:3px;color:#fff;width:16px;height:16px;min-width:16px;min-height:16px;max-width:16px;max-height:16px;padding:0;margin:0;cursor:pointer;font-size:8px;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease;flex-shrink:0}.cut-edit-btn:hover{background:linear-gradient(135deg,brown,#8b0000)}.cut-edit-btn.save{background:linear-gradient(135deg,#8b0000,brown)}.cut-edit-btn.save:hover{background:linear-gradient(135deg,brown,#8b0000)}.cut-edit-btn.save:disabled{background:linear-gradient(135deg,#666,#777);cursor:not-allowed}.cut-edit-btn.cancel{background:linear-gradient(135deg,#8b0000,brown)}.cut-edit-btn.cancel:hover{background:linear-gradient(135deg,brown,#8b0000)}.cut-edit-btn.edit{background:linear-gradient(135deg,#8b0000,brown)}.cut-edit-btn.edit:hover{background:linear-gradient(135deg,brown,#8b0000)}.cut-name-display{display:flex;align-items:center;gap:6px}.cut-name-display .cut-name{flex:1}.cut-name-display .cut-edit-btn{opacity:0;transition:opacity .2s ease}.cut-item:hover .cut-name-display .cut-edit-btn{opacity:1}.cutting-mode-status{padding:8px 16px;background:linear-gradient(135deg,#2a1a1a,#3a2a2a);border:1px solid #8B0000;border-radius:6px;color:#dc143c;font-size:14px;font-weight:500;animation:pulse 2s infinite}.cutting-mode-status strong{color:#ff6b6b}@keyframes pulse{0%,to{border-color:#8b0000}50%{border-color:#dc143c}}.generated-parts{margin:30px 0;padding:25px;background:linear-gradient(135deg,#2a2a2a,#3a3a3a);border-radius:8px;border:1px solid #8B0000}.generated-parts h3{margin:0 0 20px;color:#fff;text-align:center}.parts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-bottom:25px}.part-item{background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border-radius:8px;padding:15px;border:1px solid #8B0000;text-align:center;transition:all .2s ease}.part-item:hover{border-color:#dc143c;transform:translateY(-2px)}.part-preview{width:100%;height:120px;background:#000;border-radius:6px;margin-bottom:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}.part-preview img{max-width:100%;max-height:100%;object-fit:contain}.part-info h4{margin:0 0 8px;color:#dc143c;font-size:16px}.part-info p{margin:4px 0;color:#ccc;font-size:12px}.next-steps{padding:15px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border:1px solid #8B0000;border-radius:8px;text-align:center;margin-bottom:20px}.next-steps h4{margin:0 0 8px;color:#dc143c;font-size:16px}.next-steps p{margin:0 0 12px;color:#ccc;font-size:13px}@media (max-width: 1200px){.skeleton-cutter-controls{flex-direction:column;align-items:center}.cut-mode-controls,.display-controls,.action-controls{justify-content:center}.skeleton-cutter-layout{grid-template-columns:1fr 450px;gap:20px}}@media (max-width: 768px){.skeleton-cutter{padding:10px}.skeleton-cutter-header{padding:20px}.header-content{flex-direction:column;gap:15px}.back-button{align-self:flex-start;min-width:70px;font-size:13px;padding:8px 12px}.header-text{text-align:center}.skeleton-cutter-header h1{font-size:2rem}.skeleton-cutter-main{padding:20px}.skeleton-cutter-controls{gap:10px}.cut-mode-controls,.display-controls,.action-controls{width:100%}.skeleton-cutter-btn{flex:1;min-width:0}.skeleton-cutter-layout{grid-template-columns:1fr;gap:20px}.cuts-items{grid-template-columns:repeat(2,1fr);gap:10px}.part-preview{height:100px}.cut-item{flex-direction:column;align-items:flex-start;gap:8px}}.name-input-dialog{margin:20px 0;padding:25px;background:linear-gradient(135deg,#2a2a2a,#3a3a3a);border:2px solid #8B0000;border-radius:8px;box-shadow:0 4px 12px #8b000033}.name-input-dialog h4{margin:0 0 15px;color:#dc143c;font-size:18px;text-align:center}.input-group{display:flex;flex-direction:column;gap:15px}.part-name-input{padding:12px 16px;border:2px solid #8B0000;border-radius:6px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a);color:#fff;font-size:16px;font-family:inherit;transition:border-color .2s ease;outline:none}.part-name-input:focus{border-color:#dc143c;box-shadow:0 0 0 3px #8b00001a}.part-name-input::placeholder{color:#888;font-style:italic}.input-buttons{display:flex;gap:10px;justify-content:center}.input-buttons .skeleton-cutter-btn{min-width:120px}.error-message{margin:15px 0;padding:15px 20px;background:linear-gradient(135deg,#2d1b1b,#3d2a2a);border:2px solid #8B0000;border-radius:8px;display:flex;justify-content:space-between;align-items:center;animation:slideDown .3s ease}.error-message p{margin:0;color:#dc143c;font-weight:600;flex:1}.error-close-btn{background:none;border:none;color:#dc143c;cursor:pointer;font-size:18px;font-weight:700;padding:4px 8px;border-radius:4px;transition:background-color .2s ease;margin-left:10px}.error-close-btn:hover{background:#8b00001a}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.skeleton-cutter-btn.character-selector{background:linear-gradient(135deg,#8b0000,brown);color:#fff;border:2px solid #8B0000;position:relative}.character-selector-container{position:relative;display:inline-block}.character-dropdown-overlay{position:absolute;top:100%;left:0;z-index:1000;margin-top:5px}.character-dropdown{background:linear-gradient(135deg,#1a1a1a,#2a2a2a);border:2px solid #8B0000;border-radius:6px;box-shadow:0 4px 12px #8b00004d;min-width:200px;max-width:250px;overflow:hidden}.universal-pivot-editor{max-width:1400px;margin:0 auto;padding:20px;background:#000;min-height:100vh;color:#fff}.universal-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}.universal-pivot-editor-header h1{margin:0 0 10px;color:#fff;font-size:2.5rem;font-weight:700}.universal-pivot-editor-header p{margin:0;color:#ccc;font-size:1.1rem}.universal-pivot-editor-auth-notice{margin:20px 0;padding:15px 20px;background:#2d1b1b;border:1px solid #8b4513;border-radius:8px;color:gold;text-align:center}.universal-pivot-editor-auth-notice p{margin:0;font-weight:600}.universal-pivot-editor-main{background:#1a1a1a;border-radius:12px;padding:30px;box-shadow:0 4px 6px #0000004d;border:1px solid #333}.universal-pivot-editor-type-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding:20px;background:#2a2a2a;border-radius:8px;border:1px solid #444}.character-type-selector{display:flex;align-items:center;gap:10px}.character-type-selector label{font-weight:600;color:#fff}.character-type-select{padding:8px 12px;background:#333;border:1px solid #555;border-radius:6px;color:#fff;font-size:14px;cursor:pointer}.character-type-select:focus{outline:none;border-color:#00d4aa;box-shadow:0 0 0 2px #00d4aa33}.character-info{display:flex;gap:20px;align-items:center}.part-count,.hierarchy-status{padding:6px 12px;background:#1a1a1a;border-radius:4px;font-size:12px;font-weight:600;color:#00d4aa;border:1px solid #333}.hierarchy-status{color:gold}.universal-pivot-editor-controls{display:flex;gap:15px;margin-bottom:25px;flex-wrap:wrap;justify-content:center}.universal-pivot-editor-btn{padding:12px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.universal-pivot-editor-btn.smart-hierarchy{background:#4caf50;color:#fff}.universal-pivot-editor-btn.smart-hierarchy:hover{background:#45a049;transform:translateY(-2px)}.universal-pivot-editor-btn.clear{background:#ff9500;color:#fff}.universal-pivot-editor-btn.clear:hover{background:#e68500;transform:translateY(-2px)}.universal-pivot-editor-btn.save{background:#007bff;color:#fff}.universal-pivot-editor-btn.save:hover{background:#0056b3;transform:translateY(-2px)}.universal-pivot-editor-btn.save:disabled{background:#6c757d;cursor:not-allowed;transform:none}.universal-pivot-editor-btn.export{background:#6c5ce7;color:#fff}.universal-pivot-editor-btn.export:hover{background:#5a4fd8;transform:translateY(-2px)}.universal-pivot-editor-btn.bundle{background:#00b894;color:#fff}.universal-pivot-editor-btn.bundle:hover{background:#00a085;transform:translateY(-2px)}.universal-pivot-editor-btn.download{background:#9c27b0;color:#fff}.universal-pivot-editor-btn.download:hover{background:#7b1fa2;transform:translateY(-2px)}.universal-pivot-editor-btn.debug{background:#e17055;color:#fff}.universal-pivot-editor-btn.debug:hover{background:#d63031;transform:translateY(-2px)}.universal-pivot-editor-btn.animate{background:#ff6b6b;color:#fff;text-decoration:none;display:inline-block}.universal-pivot-editor-btn.animate:hover{background:#ff5252;transform:translateY(-2px)}.universal-pivot-editor-btn.primary{background:#28a745;color:#fff}.universal-pivot-editor-btn.primary:hover{background:#218838;transform:translateY(-2px)}.universal-pivot-editor-btn.secondary{background:#6c757d;color:#fff}.universal-pivot-editor-btn.secondary:hover{background:#5a6268;transform:translateY(-2px)}.universal-pivot-editor-save-status{margin:15px 0;padding:12px 16px;background:#1a2e1a;border:1px solid #4caf50;border-radius:6px;color:#4caf50;text-align:center}.universal-pivot-editor-save-status p{margin:0;font-weight:500}.universal-pivot-editor-tips{margin:25px 0;padding:20px;background:#2a2a2a;border-radius:8px;border-left:4px solid #00d4aa;border:1px solid #444}.universal-pivot-editor-tips h4{margin:0 0 15px;color:#fff;font-size:16px}.tips-by-type ul{margin:0;padding-left:20px}.tips-by-type li{margin:8px 0;color:#ccc;line-height:1.4}.tips-by-type strong{color:#00d4aa}.universal-pivot-editor-empty{text-align:center;padding:60px 20px;background:#1a1a1a;border-radius:12px;box-shadow:0 4px 6px #0000004d;border:1px solid #333}.universal-pivot-editor-empty h3{margin:0 0 15px;color:#fff;font-size:1.8rem}.universal-pivot-editor-empty p{margin:0 0 30px;color:#ccc;font-size:1.1rem}.universal-pivot-editor-loading{text-align:center;padding:60px 20px;background:#1a1a1a;border-radius:12px;box-shadow:0 4px 6px #0000004d;border:1px solid #333}.universal-pivot-editor-loading h3{margin:0 0 15px;color:#fff;font-size:1.8rem}.universal-pivot-editor-loading p{margin:0;color:#ccc;font-size:1.1rem}@media (max-width: 1200px){.universal-pivot-editor-type-section{flex-direction:column;gap:15px;align-items:center}.character-info{flex-direction:column;gap:10px}}.universal-pivot-editor .character-selection{margin:20px 0;padding:20px;background:#1a1a1a;border-radius:8px;border:1px solid #333;position:relative}.universal-pivot-editor .character-selector{display:flex;justify-content:center}.universal-pivot-editor .character-select-btn{padding:12px 20px;background:#333;border:1px solid #555;border-radius:6px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.universal-pivot-editor .character-select-btn:hover{background:#444;border-color:#00d4aa;transform:translateY(-1px);box-shadow:0 2px 4px #0000004d}.universal-pivot-editor .character-dropdown{margin-top:10px;background:#2a2a2a;border:1px solid #444;border-radius:6px;max-height:200px;overflow-y:auto;box-shadow:0 4px 8px #0000004d;position:relative;z-index:1000}.universal-pivot-editor .character-dropdown::-webkit-scrollbar{width:8px}.universal-pivot-editor .character-dropdown::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px}.universal-pivot-editor .character-dropdown::-webkit-scrollbar-thumb{background:#666;border-radius:4px}.universal-pivot-editor .character-dropdown::-webkit-scrollbar-thumb:hover{background:#888}.universal-pivot-editor .character-option{padding:10px 16px;cursor:pointer;border-bottom:1px solid #444;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease;min-height:50px}.universal-pivot-editor .character-option:hover{background:#333}.universal-pivot-editor .character-option.selected{background:#00d4aa;color:#000}.universal-pivot-editor .character-option:last-child{border-bottom:none}.universal-pivot-editor .character-name{font-weight:600;color:inherit}.universal-pivot-editor .character-type{font-size:12px;color:#ccc;background:#444;padding:2px 6px;border-radius:4px}.universal-pivot-editor .character-option.selected .character-type{color:#000;background:#ffffff4d}.universal-pivot-editor .skeleton-status{font-size:14px;margin-left:8px}.universal-pivot-editor .global-indicator{font-size:12px;margin-left:8px;color:#00d4aa;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.universal-pivot-editor .status-icon{font-size:16px;padding:2px;border-radius:4px}.universal-pivot-editor .status-icon.cuts-ready{color:#4caf50}.universal-pivot-editor .status-icon.hierarchy-ready{color:#2196f3}.universal-pivot-editor .status-icon.needs-cuts{color:#ff9800}@media (max-width: 768px){.universal-pivot-editor{padding:10px}.universal-pivot-editor-header{padding:20px}.universal-pivot-editor-header h1{font-size:2rem}.universal-pivot-editor-controls{flex-direction:column;align-items:center}.universal-pivot-editor-btn{width:100%;max-width:300px}.universal-pivot-editor-main{padding:20px}.universal-pivot-editor-type-section{padding:15px}.character-type-selector{flex-direction:column;gap:8px;text-align:center}.empty-actions{flex-direction:column;align-items:center}.universal-pivot-editor .character-dropdown{max-height:150px;margin:10px 0}.universal-pivot-editor .character-option{padding:8px 12px;min-height:45px}.universal-pivot-editor .character-name{font-size:13px}.universal-pivot-editor .character-type{font-size:11px}}.pivot-editor{display:flex;gap:20px;margin:20px 0;padding:20px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.editor-surface{position:relative;width:100%;height:100%;border:2px solid #333;background:#000;overflow:hidden}.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:#000;color:#fff;border-radius:8px;padding:20px;border:1px solid #333;box-shadow:0 2px 4px #0000004d}.hierarchy-controls h3{margin:0 0 20px;color:#fff;font-size:18px;font-weight:600}.part-hierarchy-list{display:flex;flex-direction:column;gap:12px}.hierarchy-item{padding:12px;border:1px solid #333;border-radius:6px;background:#111;transition:all .2s ease;cursor:pointer}.hierarchy-item:hover{background:#151515;border-color:#00d4aa;transform:translateY(-1px);box-shadow:0 2px 8px #00d4aa26}.hierarchy-item.selected{border-color:#00d4aa;background:#0f1f1f;box-shadow:0 2px 8px #00d4aa4d}.part-info{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.part-color-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px;border:1px solid rgba(0,0,0,.3)}.part-name{font-weight:600;color:#fff;font-size:14px}.pivot-coords{font-size:12px;color:#ccc;font-family:Courier New,monospace}.parent-select{width:100%;padding:8px 12px;border:1px solid #555;border-radius:4px;background:#1a1a1a;font-size:14px;color:#fff;cursor:pointer;transition:border-color .2s ease,background-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}}.universal-animation{max-width:1400px;margin:0 auto;padding:20px;background:#000;min-height:100vh;color:#fff;padding:2rem;font-family:Geist,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.universal-animation-loading,.universal-animation-empty{text-align:center;padding:100px 20px;background:#1a1a1a;border-radius:12px;box-shadow:0 4px 6px #0000004d;border:1px solid #333;margin:50px auto;max-width:600px}.universal-animation-loading h2,.universal-animation-empty h2{margin:0 0 20px;color:#fff;font-size:2rem}.universal-animation-loading p,.universal-animation-empty p{margin:0 0 30px;color:#ccc;font-size:1.1rem}.empty-actions{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.universal-animation-header{text-align:center;margin-bottom:30px;padding:30px;background:#1a1a1a;border-radius:12px;box-shadow:0 4px 6px #0000004d;border:1px solid #333}.universal-animation-header h1{margin:0 0 10px;color:#fff;font-size:2.5rem;font-weight:700}.universal-animation-header p{color:#666;font-size:.9em;margin:0 0 15px}.header-actions{margin-top:15px;text-align:center}.header-actions .btn{display:inline-block;padding:12px 24px;font-size:16px;font-weight:600;text-decoration:none;border-radius:8px;transition:all .3s ease;box-shadow:0 4px 15px #0003}.header-actions .btn.primary{background:#fff;color:#000;border:2px solid #ffffff;padding:.8rem 1.5rem;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.header-actions .btn.primary:hover{background:#000;color:#fff;transform:translateY(-2px)}.universal-animation-main{background:#1a1a1a;border-radius:12px;padding:30px;box-shadow:0 4px 6px #0000004d;border:1px solid #333}.animation-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px;padding:25px;background:#2a2a2a;border-radius:8px;border:1px solid #444}.control-group{display:flex;flex-direction:column;gap:8px}.control-group label{font-weight:600;color:#fff;font-size:14px}.animation-select,.speed-slider,.amplitude-slider,.frequency-slider{padding:8px 12px;border:2px solid #444;border-radius:6px;background:#1a1a1a;color:#fff;font-size:14px;transition:border-color .2s ease}.animation-select:focus,.speed-slider:focus,.amplitude-slider:focus,.frequency-slider:focus{border-color:#00d4aa;outline:none}.animation-select{cursor:pointer}.speed-slider,.amplitude-slider,.frequency-slider{height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#444;border-radius:4px;cursor:pointer}.speed-slider::-webkit-slider-thumb,.amplitude-slider::-webkit-slider-thumb,.frequency-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:20px;width:20px;border-radius:50%;background:#00d4aa;cursor:pointer;border:2px solid #ffffff;box-shadow:0 2px 4px #0000004d}.speed-slider::-moz-range-thumb,.amplitude-slider::-moz-range-thumb,.frequency-slider::-moz-range-thumb{height:20px;width:20px;border-radius:50%;background:#00d4aa;cursor:pointer;border:2px solid #ffffff;box-shadow:0 2px 4px #0000004d}.play-controls{display:flex;gap:10px;grid-column:1 / -1;justify-content:center;margin-top:10px}.play-btn,.reset-btn{padding:12px 24px;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.play-btn{background:#4caf50;color:#fff;min-width:120px}.play-btn:hover{background:#45a049;transform:translateY(-2px)}.play-btn.playing{background:#ff9500;animation:pulse 1.5s infinite}.reset-btn{background:#666;color:#fff}.reset-btn:hover{background:#555;transform:translateY(-2px)}@keyframes pulse{0%,to{box-shadow:0 0 #ff9500b3}50%{box-shadow:0 0 0 10px #ff950000}}.animation-info{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:30px}.character-info,.animation-tips{padding:20px;background:#2a2a2a;border-radius:8px;border:1px solid #444}.character-info h3,.animation-tips h4{margin:0 0 15px;color:#00d4aa}.character-info p{margin:8px 0;color:#ccc}.animation-tips ul{margin:0;padding-left:20px;color:#ccc}.animation-tips li{margin:8px 0;line-height:1.4}.animation-tips strong{color:#fff}.animation-canvas-container{margin:30px 0;text-align:center;background:#2a2a2a;border-radius:8px;padding:20px}.animation-canvas{border:2px solid #333;border-radius:8px;background:#fff;box-shadow:0 4px 8px #0003;max-width:100%;height:auto}.next-steps{padding:25px;background:#1a2e1a;border:1px solid #4caf50;border-radius:8px;text-align:center}.next-steps h4{margin:0 0 10px;color:#4caf50}.next-steps p{margin:0 0 20px;color:#ccc}.next-actions{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.btn{padding:12px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.btn.primary{background:#4caf50;color:#fff}.btn.primary:hover{background:#45a049}.btn.secondary{background:#666;color:#fff}.btn.secondary:hover{background:#555}@media (max-width: 768px){.universal-animation{padding:10px}.universal-animation-header{padding:20px}.universal-animation-header h1{font-size:2rem}.universal-animation-main{padding:20px}.animation-controls{grid-template-columns:1fr;gap:15px;padding:20px}.animation-info{grid-template-columns:1fr;gap:20px}.next-actions{flex-direction:column;align-items:center}.btn{min-width:200px}.animation-canvas{max-width:100%;height:auto}.universal-animation .character-dropdown{max-height:150px;margin:10px 0}.universal-animation .character-option{padding:8px 12px;min-height:45px}.universal-animation .character-name{font-size:13px}.universal-animation .character-type{font-size:11px}}@media (max-width: 480px){.play-controls{flex-direction:column;align-items:center}.play-btn,.reset-btn{width:100%;max-width:200px}}.universal-animation .character-selection{margin:20px 0;padding:20px;background:#1a1a1a;border-radius:8px;border:1px solid #333;position:relative}.universal-animation .character-selector{display:flex;justify-content:center}.universal-animation .character-select-btn{padding:12px 20px;background:#333;border:1px solid #555;border-radius:6px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.universal-animation .character-select-btn:hover{background:#444;border-color:#00d4aa;transform:translateY(-1px);box-shadow:0 2px 4px #0000004d}.universal-animation .character-select-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.universal-animation .character-select-btn:disabled:hover{background:#333;border-color:#555;transform:none;box-shadow:none}.universal-animation .character-dropdown{margin-top:10px;background:#2a2a2a;border:1px solid #444;border-radius:6px;max-height:200px;overflow-y:auto;box-shadow:0 4px 8px #0000004d;position:relative;z-index:1000}.universal-animation .character-dropdown::-webkit-scrollbar{width:8px}.universal-animation .character-dropdown::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px}.universal-animation .character-dropdown::-webkit-scrollbar-thumb{background:#666;border-radius:4px}.universal-animation .character-dropdown::-webkit-scrollbar-thumb:hover{background:#888}.universal-animation .character-option{padding:10px 16px;cursor:pointer;border-bottom:1px solid #444;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s ease;min-height:50px}.universal-animation .character-option:hover{background:#333}.universal-animation .character-option.selected{background:#00d4aa;color:#000}.universal-animation .character-option:last-child{border-bottom:none}.universal-animation .character-name{font-weight:600;color:inherit}.universal-animation .character-type{font-size:12px;color:#ccc;background:#444;padding:2px 6px;border-radius:4px}.universal-animation .character-option.selected .character-type{color:#000;background:#ffffff4d}.universal-animation .skeleton-status{font-size:14px;margin-left:8px}.animation-manager{background:#333;padding:20px;border-radius:12px;box-shadow:0 4px 15px #0000001a;margin-top:20px}.animation-manager h3{color:#333;margin-top:0;margin-bottom:20px;font-size:1.2em;text-align:center}.animation-save-section,.animation-load-section{margin-bottom:20px;padding:15px;background:#fff;border-radius:8px;border:1px solid #dee2e6}.animation-save-section h4,.animation-load-section h4{color:#495057;margin-top:0;margin-bottom:15px;font-size:1em}.animation-save-controls{display:flex;gap:10px;align-items:center}.animation-name-input{flex:1;padding:10px 12px;border:2px solid #dee2e6;border-radius:6px;font-size:14px;transition:border-color .3s ease}.animation-name-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.animation-info{background:#e3f2fd;padding:10px;border-radius:6px;margin-top:10px;font-size:.9em;color:#1976d2}.animation-list{display:flex;flex-direction:column;gap:8px}.animation-item{display:flex;justify-content:space-between;align-items:center;padding:10px;background:#f8f9fa;border-radius:6px;border:1px solid #dee2e6}.animation-name{font-weight:600;color:#495057}.no-animations{text-align:center;color:#6c757d;font-style:italic;padding:20px}.part-controls-section{grid-column:1 / -1;background:#2a2a2a;border-radius:8px;padding:20px;border:1px solid #444;margin-top:20px}.part-controls-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.part-controls-toggle{background:#4a4a4a;border:1px solid #666;color:#fff;padding:8px 16px;border-radius:6px;cursor:pointer;font-weight:600;transition:all .2s ease}.part-controls-toggle:hover{background:#5a5a5a;border-color:#777}.reset-parts-btn{background:#3a3a3a;border:1px solid #555;color:#fff;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s ease}.reset-parts-btn:hover{background:#4a4a4a;border-color:#666}.part-controls-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;max-height:400px;overflow-y:auto}.part-control-card{background:#1a1a1a;border:1px solid #444;border-radius:6px;padding:12px;transition:all .2s ease}.part-control-card.enabled{border-color:#4a7c59;background:#1a2a1a}.part-control-card.disabled{border-color:#7c4a4a;background:#2a1a1a;opacity:.7}.part-control-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.part-toggle{background:none;border:none;cursor:pointer;font-size:16px;padding:2px;border-radius:3px;transition:all .2s ease}.part-toggle.enabled{color:#4a7c59}.part-toggle.disabled{color:#7c4a4a}.part-toggle:hover{background:#ffffff1a}.part-name{flex:1;font-weight:600;color:#fff;font-size:14px}.part-expand-btn{background:none;border:none;cursor:pointer;color:#ccc;font-size:12px;padding:2px 6px;border-radius:3px;transition:all .2s ease}.part-expand-btn:hover{background:#ffffff1a;color:#fff}.part-control-details{border-top:1px solid #444;padding-top:12px;margin-top:8px}.part-slider-group{margin-bottom:12px}.part-slider-group label{display:block;font-size:12px;color:#ccc;margin-bottom:4px;font-weight:500}.part-slider{width:100%;height:4px;border-radius:2px;background:#444;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.part-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#4a7c59;cursor:pointer;border:2px solid #ffffff}.part-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#4a7c59;cursor:pointer;border:2px solid #ffffff}.part-slider:disabled{opacity:.5;cursor:not-allowed}.part-slider:disabled::-webkit-slider-thumb{background:#7c4a4a}.part-slider:disabled::-moz-range-thumb{background:#7c4a4a}.part-control-actions{display:flex;gap:6px;margin-top:8px}.btn.small{padding:4px 8px;font-size:10px;border-radius:3px;background:#3a3a3a;border:1px solid #555;color:#fff;cursor:pointer;transition:all .2s ease}.btn.small:hover{background:#4a4a4a;border-color:#666}@media (max-width: 768px){.part-controls-grid{grid-template-columns:1fr}.part-controls-header{flex-direction:column;gap:10px;align-items:stretch}.part-controls-actions{flex-wrap:wrap}}.export-buttons{display:flex;flex-direction:column;gap:12px;margin-top:20px;padding:20px;background:#2a2a2a;border-radius:8px;border:1px solid #444}.export-buttons .btn.export{background:#f44;color:#fff;border:2px solid #ff4444;padding:.8rem 1.5rem;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.export-buttons .btn.export:hover{background:#fff;color:#f44;transform:translateY(-2px)}.export-buttons .btn.export.primary{background:#fff;color:#000;border:2px solid #ffffff;padding:.8rem 1.5rem;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.export-buttons .btn.export.primary:hover{background:#000;color:#fff;transform:translateY(-2px)}.next-actions .btn.secondary{background:#333;color:#fff;border:2px solid #333333;padding:.8rem 1.5rem;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block}.next-actions .btn.secondary:hover{background:#fff;color:#333;transform:translateY(-2px)}.export-section{margin-top:30px;padding:25px;background:#2a2a2a;border-radius:12px;border:1px solid #444}.export-section h4{margin:0 0 15px;color:#fff;font-size:1.3rem;font-weight:600}.export-section p{margin:0 0 20px;color:#ccc;font-size:1rem;line-height:1.5}.export-info{margin-top:20px;padding:20px;background:#333;border-radius:8px;border:1px solid #555}.export-info p{margin:0 0 15px;color:#fff;font-weight:600}.export-info ul{margin:0;padding-left:20px;color:#ccc}.export-info li{margin-bottom:8px;line-height:1.4}.part-controls-toggle-section{margin:1rem 0;text-align:center}.part-controls-toggle-section .btn{min-width:200px;padding:.6rem 1.5rem;font-size:.9rem;background-color:#333;color:#fff;border:2px solid #333333;border-radius:6px;font-family:Geist,sans-serif;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.part-controls-toggle-section .btn:hover{background-color:#fff;color:#333;transform:translateY(-2px)}.keyframe-editor{background:#1a1a1a;border-radius:12px;padding:20px;margin:20px 0;color:#fff;font-family:Geist,Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.keyframe-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #333}.keyframe-header h3{margin:0;color:#00d4ff;font-size:24px}.keyframe-controls{display:flex;gap:10px;align-items:center}.animation-name-input{background:#2a2a2a;border:1px solid #444;border-radius:6px;padding:8px 12px;color:#fff;font-size:14px;min-width:200px}.keyframe-layout{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.canvas-properties-section{display:flex;flex-direction:column;gap:15px}.canvas-info-section,.character-canvas-section{background:#2a2a2a;border-radius:8px;padding:15px}.canvas-container{display:flex;justify-content:center;margin-bottom:15px}.character-canvas{border:2px solid #444;border-radius:8px;background:#1a1a1a;cursor:crosshair}.character-canvas:hover{border-color:#00d4ff}.canvas-info{text-align:center;padding:20px;background:#1a1a1a;border-radius:8px;border:2px solid #444}.canvas-info h4{margin:0 0 10px;color:#00d4ff;font-size:18px}.canvas-info p{margin:5px 0;color:#ccc;font-size:14px}.part-selection h4{margin:0 0 10px;color:#00d4ff;font-size:16px}.part-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}.part-btn{background:#333;border:1px solid #555;border-radius:6px;padding:8px 12px;color:#fff;font-size:12px;cursor:pointer;transition:all .2s ease}.part-btn.selected{background:#00d4ff;border-color:#00d4ff;color:#000;font-weight:700}.keyframe-properties{margin-top:15px;padding-top:15px;border-top:1px solid #444}.keyframe-properties h4{margin:0 0 10px;color:#00d4ff;font-size:16px}.property-group{margin-bottom:12px}.property-group label{display:block;margin-bottom:5px;font-size:12px;color:#ccc}.property-slider{width:100%;height:6px;background:#444;border-radius:3px;outline:none;-webkit-appearance:none}.property-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#00d4ff;border-radius:50%;cursor:pointer}.property-slider::-moz-range-thumb{width:16px;height:16px;background:#00d4ff;border-radius:50%;cursor:pointer;border:none}.easing-select{width:100%;background:#333;border:1px solid #555;border-radius:4px;padding:6px 8px;color:#fff;font-size:12px}.timeline-section{background:#2a2a2a;border-radius:8px;padding:15px}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.timeline-header h4{margin:0;color:#00d4ff;font-size:16px}.timeline-controls{display:flex;flex-direction:column;gap:10px;width:100%}.time-display{font-size:14px;color:#00d4ff;font-weight:700;text-align:center}.time-slider{width:100%;height:6px;background:#333;border-radius:3px;outline:none;-webkit-appearance:none}.time-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#ff6b6b;border-radius:50%;cursor:pointer}.duration-control{display:flex;align-items:center;gap:10px}.duration-control label{font-size:12px;color:#ccc}.duration-slider{width:100px;height:4px;background:#444;border-radius:2px;outline:none;-webkit-appearance:none}.duration-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;background:#00d4ff;border-radius:50%;cursor:pointer}.timeline-container{background:#1a1a1a;border-radius:6px;padding:10px;margin-bottom:15px;position:relative;min-height:200px}.timeline-ruler{position:relative;height:20px;margin-bottom:10px;border-bottom:1px solid #444}.timeline-mark{position:absolute;top:0;font-size:10px;color:#888;transform:translate(-50%)}.timeline-mark:after{content:"";position:absolute;top:15px;left:50%;width:1px;height:5px;background:#444}.current-time-indicator{position:absolute;top:0;width:2px;height:100%;background:#ff6b6b;z-index:10;box-shadow:0 0 4px #ff6b6bcc}.keyframe-track{display:flex;align-items:center;margin-bottom:8px;height:20px}.track-label{width:80px;font-size:11px;color:#ccc;text-align:right;padding-right:10px}.track-content{flex:1;position:relative;height:100%;background:#333;border-radius:3px}.keyframe-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:#00d4ff;border-radius:50%;cursor:pointer;font-size:8px;display:flex;align-items:center;justify-content:center;color:#000;font-weight:700;transition:all .2s ease}.keyframe-marker:hover{background:#fff;transform:translate(-50%,-50%) scale(1.2)}.playback-controls{display:flex;gap:8px;justify-content:center}.playback-controls .btn{background:#333;border:1px solid #555;border-radius:4px;padding:6px 12px;color:#fff;font-size:12px;cursor:pointer;transition:all .2s ease}.playback-controls .btn:hover{background:#444;border-color:#666}.animation-templates{background:#2a2a2a;border-radius:8px;padding:15px;margin-top:20px}.animation-templates h4{margin:0 0 15px;color:#00d4ff;font-size:16px}.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.template-btn{background:#333;border:1px solid #555;border-radius:6px;padding:10px 15px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s ease;text-align:center}.template-btn:hover{background:#444;border-color:#00d4ff;transform:translateY(-2px)}.btn{background:#333;border:1px solid #555;border-radius:6px;padding:8px 16px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s ease}.btn:hover{background:#444;border-color:#666}.btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 1200px){.keyframe-layout{grid-template-columns:1fr}.timeline-section{order:-1}.canvas-properties-section{order:1}}@media (max-width: 768px){.keyframe-header{flex-direction:column;gap:15px;align-items:stretch}.keyframe-controls{flex-wrap:wrap}.part-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.template-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}}.keyframe-editor-page{min-height:100vh;background:#0a0a0a;color:#fff;font-family:Geist,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;padding:20px}.keyframe-editor-header{text-align:center;margin-bottom:30px}.keyframe-editor-header h1{margin:0 0 10px;color:#00d4ff;font-size:32px;font-weight:700}.keyframe-editor-header p{margin:0;color:#ccc;font-size:16px}.keyframe-editor-main{display:grid;grid-template-columns:400px 1fr;gap:20px;max-width:1400px;margin:0 auto;height:calc(100vh - 150px)}.canvas-section{display:flex;flex-direction:column;gap:20px}.canvas-container{display:flex;justify-content:center;align-items:center;background:#1a1a1a;border-radius:12px;padding:20px;border:2px solid #333}.character-canvas{border:2px solid #444;border-radius:8px;background:#0a0a0a;box-shadow:0 4px 20px #00000080}.canvas-info{text-align:center;background:#1a1a1a;border-radius:8px;padding:15px;border:1px solid #333}.canvas-info h3{margin:0 0 8px;color:#00d4ff;font-size:18px}.canvas-info p{margin:0;color:#ccc;font-size:14px}.controls-section{display:flex;flex-direction:column;gap:15px;overflow-y:auto;padding-right:10px;max-height:calc(100vh - 200px)}.header-controls{background:#1a1a1a;border-radius:8px;padding:15px;border:2px solid #333}.animation-name-input{width:100%;background:#2a2a2a;border:1px solid #444;border-radius:6px;padding:8px 12px;color:#fff;font-size:14px;margin-bottom:10px}.animation-name-input:focus{outline:none;border-color:#00d4ff;box-shadow:0 0 0 2px #00d4ff33}.header-buttons{display:flex;gap:10px;flex-wrap:wrap}.part-selection{background:#1a1a1a;border-radius:8px;padding:15px;border:2px solid #333}.part-selection h3{margin:0 0 15px;color:#00d4ff;font-size:18px}.part-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.part-btn{background:#333;border:1px solid #555;border-radius:6px;padding:10px 12px;color:#fff;font-size:12px;cursor:pointer;transition:all .2s ease;text-align:center}.part-btn:hover{background:#444;border-color:#666}.part-btn.selected{background:#00d4ff!important;border-color:#00d4ff!important;color:#000!important;font-weight:700!important;box-shadow:0 0 10px #00d4ff80!important;transform:scale(1.05)!important}.keyframe-properties{background:#1a1a1a;border-radius:8px;padding:12px;border:2px solid #333}.keyframe-properties h3{margin:0 0 10px;color:#00d4ff;font-size:16px}.property-group{margin-bottom:10px}.property-group label{display:block;margin-bottom:4px;font-size:12px;color:#ccc;font-weight:500}.property-slider{width:100%;height:6px;background:#444;border-radius:3px;outline:none;-webkit-appearance:none;cursor:pointer}.property-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#00d4ff;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0000004d}.property-slider::-moz-range-thumb{width:16px;height:16px;background:#00d4ff;border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 6px #0000004d}.easing-select{width:100%;background:#333;border:1px solid #555;border-radius:6px;padding:10px;color:#fff;font-size:14px}.timeline-section{background:#1a1a1a;border-radius:8px;padding:15px;border:2px solid #333}.timeline-section h3{margin:0 0 10px;color:#00d4ff;font-size:16px}.timeline-controls{margin-bottom:20px}.time-display{font-size:16px;color:#00d4ff;font-weight:700;text-align:center;margin-bottom:10px}.time-slider{width:100%;height:8px;background:#333;border-radius:4px;outline:none;-webkit-appearance:none;margin-bottom:15px}.time-slider::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:#ff6b6b;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #0000004d}.duration-control{display:flex;align-items:center;gap:15px}.duration-control label{font-size:14px;color:#ccc;min-width:80px}.duration-slider{flex:1;height:6px;background:#444;border-radius:3px;outline:none;-webkit-appearance:none}.duration-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:#00d4ff;border-radius:50%;cursor:pointer}.timeline-container{background:#0a0a0a;border-radius:8px;padding:15px;margin-bottom:20px;border:1px solid #333;min-height:200px}.timeline-ruler{position:relative;height:25px;margin-bottom:15px;border-bottom:1px solid #444}.timeline-mark{position:absolute;top:0;font-size:12px;color:#888;transform:translate(-50%)}.timeline-mark:after{content:"";position:absolute;top:20px;left:50%;width:1px;height:8px;background:#444}.current-time-indicator{position:absolute;top:0;width:3px;height:100%;background:#ff6b6b;z-index:10;box-shadow:0 0 8px #ff6b6bcc}.keyframe-track{display:flex;align-items:center;margin-bottom:10px;height:25px}.track-label{width:100px;font-size:12px;color:#ccc;text-align:right;padding-right:15px;font-weight:500}.track-content{flex:1;position:relative;height:100%;background:#333;border-radius:4px}.keyframe-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;background:#00d4ff;border-radius:50%;cursor:pointer;font-size:10px;display:flex;align-items:center;justify-content:center;color:#000;font-weight:700;transition:all .2s ease;box-shadow:0 2px 6px #0000004d}.keyframe-marker:hover{background:#fff;transform:translate(-50%,-50%) scale(1.3);box-shadow:0 4px 12px #0006}.playback-controls{display:flex;gap:10px;justify-content:center}.btn{background:#333;border:1px solid #555;border-radius:6px;padding:10px 16px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s ease;font-weight:500}.btn:hover{background:#444;border-color:#666;transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.primary{background:#00d4ff;border-color:#00d4ff;color:#000;font-weight:700}.btn.primary:hover{background:#fff;border-color:#fff}.btn.secondary{background:#666;border-color:#666}.btn.secondary:hover{background:#777;border-color:#777}.keyframe-editor-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:#0a0a0a;color:#fff}.keyframe-editor-loading h2{color:#00d4ff;margin-bottom:20px}.keyframe-editor-loading p{color:#ccc}@media (max-width: 1200px){.keyframe-editor-main{grid-template-columns:1fr;height:auto}.canvas-section{order:2}.controls-section{order:1}}@media (max-width: 768px){.keyframe-editor-page{padding:10px}.keyframe-editor-header h1{font-size:24px}.header-buttons{flex-direction:column}.part-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.duration-control{flex-direction:column;align-items:stretch;gap:10px}.track-label{width:80px;font-size:11px}}
