.niconico-page__credits{position:fixed;top:20px;left:20px;background:#fffffff2;padding:.75rem 1rem;border-radius:8px;box-shadow:0 4px 12px #0003;z-index:20;font-size:.85rem;line-height:1.5;color:#333;pointer-events:none;white-space:nowrap}.niconico-page__credits>div{margin:0}.niconico-page{min-height:100vh;background:linear-gradient(135deg,#0d31a0,#4d72db);padding:2rem 1rem;position:relative;overflow:hidden}.niconico-page:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 15% 25%,rgba(255,255,255,.15) 0%,rgba(255,255,255,.15) .8%,transparent .8%),radial-gradient(circle at 85% 15%,rgba(255,255,255,.1) 0%,rgba(255,255,255,.1) 1.2%,transparent 1.2%),radial-gradient(circle at 45% 55%,rgba(255,255,255,.12) 0%,rgba(255,255,255,.12) .6%,transparent .6%),radial-gradient(circle at 75% 70%,rgba(255,255,255,.08) 0%,rgba(255,255,255,.08) 1%,transparent 1%),radial-gradient(circle at 25% 80%,rgba(255,255,255,.1) 0%,rgba(255,255,255,.1) .7%,transparent .7%),radial-gradient(circle at 60% 35%,rgba(255,255,255,.13) 0%,rgba(255,255,255,.13) .9%,transparent .9%),radial-gradient(circle at 90% 85%,rgba(255,255,255,.09) 0%,rgba(255,255,255,.09) 1.1%,transparent 1.1%),radial-gradient(circle at 35% 10%,rgba(255,255,255,.11) 0%,rgba(255,255,255,.11) .8%,transparent .8%),radial-gradient(circle at 10% 60%,rgba(255,255,255,.14) 0%,rgba(255,255,255,.14) .5%,transparent .5%),radial-gradient(circle at 70% 45%,rgba(255,255,255,.07) 0%,rgba(255,255,255,.07) 1.3%,transparent 1.3%),radial-gradient(circle at 22% 42%,rgba(255,255,255,.11) 0%,rgba(255,255,255,.11) .9%,transparent .9%),radial-gradient(circle at 67% 18%,rgba(255,255,255,.13) 0%,rgba(255,255,255,.13) .7%,transparent .7%),radial-gradient(circle at 38% 72%,rgba(255,255,255,.09) 0%,rgba(255,255,255,.09) 1.1%,transparent 1.1%),radial-gradient(circle at 82% 52%,rgba(255,255,255,.12) 0%,rgba(255,255,255,.12) .6%,transparent .6%),radial-gradient(circle at 12% 88%,rgba(255,255,255,.08) 0%,rgba(255,255,255,.08) 1%,transparent 1%),radial-gradient(circle at 55% 8%,rgba(255,255,255,.14) 0%,rgba(255,255,255,.14) .8%,transparent .8%),radial-gradient(circle at 92% 38%,rgba(255,255,255,.1) 0%,rgba(255,255,255,.1) 1.2%,transparent 1.2%),radial-gradient(circle at 28% 15%,rgba(255,255,255,.07) 0%,rgba(255,255,255,.07) .9%,transparent .9%),radial-gradient(circle at 73% 62%,rgba(255,255,255,.15) 0%,rgba(255,255,255,.15) .5%,transparent .5%),radial-gradient(circle at 8% 35%,rgba(255,255,255,.11) 0%,rgba(255,255,255,.11) 1.3%,transparent 1.3%),radial-gradient(circle at 48% 92%,rgba(255,255,255,.13) 0%,rgba(255,255,255,.13) .7%,transparent .7%),radial-gradient(circle at 95% 68%,rgba(255,255,255,.09) 0%,rgba(255,255,255,.09) .8%,transparent .8%),radial-gradient(circle at 32% 28%,rgba(255,255,255,.12) 0%,rgba(255,255,255,.12) 1.1%,transparent 1.1%),radial-gradient(circle at 78% 5%,rgba(255,255,255,.08) 0%,rgba(255,255,255,.08) .6%,transparent .6%),radial-gradient(circle at 18% 48%,rgba(255,255,255,.14) 0%,rgba(255,255,255,.14) .9%,transparent .9%),radial-gradient(circle at 62% 78%,rgba(255,255,255,.1) 0%,rgba(255,255,255,.1) 1%,transparent 1%),radial-gradient(circle at 5% 12%,rgba(255,255,255,.07) 0%,rgba(255,255,255,.07) 1.2%,transparent 1.2%),radial-gradient(circle at 88% 22%,rgba(255,255,255,.15) 0%,rgba(255,255,255,.15) .7%,transparent .7%),radial-gradient(circle at 42% 58%,rgba(255,255,255,.11) 0%,rgba(255,255,255,.11) .5%,transparent .5%),radial-gradient(circle at 68% 88%,rgba(255,255,255,.13) 0%,rgba(255,255,255,.13) 1.3%,transparent 1.3%),radial-gradient(circle at 25% 3%,rgba(255,255,255,.09) 0%,rgba(255,255,255,.09) .8%,transparent .8%),radial-gradient(circle at 52% 68%,rgba(255,255,255,.12) 0%,rgba(255,255,255,.12) .9%,transparent .9%),radial-gradient(circle at 97% 48%,rgba(255,255,255,.08) 0%,rgba(255,255,255,.08) 1.1%,transparent 1.1%),radial-gradient(circle at 35% 82%,rgba(255,255,255,.14) 0%,rgba(255,255,255,.14) .6%,transparent .6%),radial-gradient(circle at 80% 32%,rgba(255,255,255,.1) 0%,rgba(255,255,255,.1) .7%,transparent .7%),radial-gradient(circle at 15% 52%,rgba(255,255,255,.07) 0%,rgba(255,255,255,.07) 1%,transparent 1%),radial-gradient(circle at 58% 12%,rgba(255,255,255,.15) 0%,rgba(255,255,255,.15) 1.2%,transparent 1.2%),radial-gradient(circle at 3% 72%,rgba(255,255,255,.11) 0%,rgba(255,255,255,.11) .8%,transparent .8%),radial-gradient(circle at 85% 58%,rgba(255,255,255,.13) 0%,rgba(255,255,255,.13) .5%,transparent .5%),radial-gradient(circle at 40% 38%,rgba(255,255,255,.09) 0%,rgba(255,255,255,.09) .9%,transparent .9%),radial-gradient(circle at 72% 92%,rgba(255,255,255,.12) 0%,rgba(255,255,255,.12) 1.3%,transparent 1.3%),radial-gradient(circle at 20% 65%,rgba(255,255,255,.08) 0%,rgba(255,255,255,.08) .7%,transparent .7%),radial-gradient(circle at 63% 25%,rgba(255,255,255,.14) 0%,rgba(255,255,255,.14) 1.1%,transparent 1.1%),radial-gradient(circle at 93% 75%,rgba(255,255,255,.1) 0%,rgba(255,255,255,.1) .6%,transparent .6%),radial-gradient(circle at 30% 95%,rgba(255,255,255,.07) 0%,rgba(255,255,255,.07) .8%,transparent .8%),radial-gradient(circle at 77% 42%,rgba(255,255,255,.15) 0%,rgba(255,255,255,.15) 1%,transparent 1%),radial-gradient(circle at 10% 22%,rgba(255,255,255,.11) 0%,rgba(255,255,255,.11) 1.2%,transparent 1.2%),radial-gradient(circle at 50% 75%,rgba(255,255,255,.13) 0%,rgba(255,255,255,.13) .9%,transparent .9%),radial-gradient(circle at 87% 8%,rgba(255,255,255,.09) 0%,rgba(255,255,255,.09) .5%,transparent .5%),radial-gradient(circle at 27% 55%,rgba(255,255,255,.12) 0%,rgba(255,255,255,.12) .7%,transparent .7%);background-size:100% 100%;background-repeat:no-repeat;pointer-events:none;z-index:0}.niconico-page__container{max-width:1000px;margin:0 auto;position:relative;z-index:1}.niconico-page__header{text-align:center;margin-bottom:3rem;color:#fff}.niconico-page__title{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.niconico-page__title-logo{width:90%;max-width:675px;height:auto;object-fit:contain;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.3))}.niconico-page__description{font-size:1.1rem;opacity:.95;margin:0}.niconico-page__intro-wrapper{position:relative;max-width:1000px;margin:0 auto}.niconico-page__content{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 10px 40px #0003;position:relative;z-index:1}.niconico-page__iframe-container{position:absolute;top:9rem;left:50%;transform:translate(-50%);z-index:20;pointer-events:auto}.niconico-page__iframe-spacer{width:312px;height:210px;margin:0 auto 1.5rem}.video-info{margin-bottom:1.5rem;text-align:center}.video-title{font-size:1.5rem;font-weight:700;color:#333;margin:0 0 .5rem}.video-id{font-size:.9rem;color:#666;margin:0;font-family:monospace}.error-message{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:1rem;margin-bottom:1.5rem;color:#856404;text-align:center;font-weight:500}.video-wrapper{display:flex;justify-content:center;align-items:center;margin-bottom:1.5rem}.video-wrapper iframe{display:block}.video-controls{text-align:center;display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.reload-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1.5rem 3rem;font-size:1.65rem;font-weight:700;border-radius:75px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.reload-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.reload-button:active{transform:translateY(0);box-shadow:0 2px 10px #667eea66}.error-button{background:linear-gradient(135deg,#ffc107,#ff9800);color:#fff;border:none;padding:1rem 2rem;font-size:1.1rem;font-weight:700;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #ffc10766}.error-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ffc10799}.error-button:active{transform:translateY(0);box-shadow:0 2px 10px #ffc10766}@media (max-width: 768px){.niconico-page{padding:1rem .5rem}.niconico-page__title{font-size:2rem}.niconico-page__title-logo{max-width:675px}.niconico-page__description{font-size:1rem}.niconico-page__content{padding:1.5rem;border-radius:12px}.video-title{font-size:1.2rem}.reload-button,.error-button{padding:1.3125rem 2.25rem;font-size:1.5rem}}@media (max-width: 480px){.niconico-page__title{font-size:1.75rem}.niconico-page__title-logo{max-width:450px}.niconico-page__content{padding:1rem}.video-title{font-size:1.1rem}.video-controls{flex-direction:column;gap:.75rem}.reload-button,.error-button{width:100%;padding:1.5rem}}.niconico-page__characters{position:fixed;top:0;left:0;width:100vw;height:100vh;overflow:visible;z-index:10;pointer-events:none}.niconico-page__character-container{width:100%;height:100%;position:relative}.niconico-page__character-container canvas{width:100%!important;height:100%!important;pointer-events:none!important}.niconico-page__character-labels{position:absolute;bottom:15px;left:20px;display:flex;justify-content:flex-start;gap:12px;pointer-events:none;z-index:10}.niconico-page__character-label{font-weight:700;color:#333;background:#ffffffe6;padding:.6rem 1.2rem;border-radius:30px;box-shadow:0 3px 12px #00000026;text-align:center;display:flex;flex-direction:column;gap:.15rem;cursor:pointer;pointer-events:auto;transition:all .3s ease}.niconico-page__character-label:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00000040}.niconico-page__character-label:active{transform:translateY(-1px);box-shadow:0 3px 12px #0003}.niconico-page__character-label--aru{background:#fb736a}.niconico-page__character-label--bii{background:#67c7f9}.niconico-page__character-label--sayo{background:#c5c5c5}.niconico-page__character-label--miko{background:#ffc9c9}.niconico-page__character-label-line1{font-size:var(--line1-font-size, 1.125rem);line-height:1;text-align:center}.niconico-page__character-label-line2{font-size:var(--line2-font-size, 1.425rem);line-height:1.2;text-align:center}.niconico-page__random-section{position:fixed;bottom:20px;right:20px;text-align:center;z-index:20;pointer-events:auto}@media (max-width: 768px){.niconico-page__character-labels{left:15px;gap:9px;bottom:12px}.niconico-page__random-section{bottom:15px;right:15px}}@media (max-width: 480px){.niconico-page__character-labels{flex-direction:row;flex-wrap:wrap;gap:9px;bottom:8px;left:10px}.niconico-page__random-section{bottom:10px;right:10px}.niconico-page__credits{top:10px;left:10px;font-size:.75rem;padding:.5rem .75rem}}@media (max-width: 840px){.niconico-page__character-labels{gap:6px;bottom:8px;left:8px}.niconico-page__random-section{bottom:8px;right:8px}}@media (max-width: 768px){.niconico-page__credits{font-size:.8rem;padding:.6rem .85rem}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;margin:0;padding:0}#root{width:100%;min-height:100vh}.app-container{width:100%;height:100%;display:flex;flex-direction:column}.main-content{width:100%;flex:1;display:flex;flex-direction:row;min-height:0}.view-area{width:70%;height:100%;position:relative}.ui-panel{width:30%;height:100%;background-color:#1a1a1a;border-left:1px solid #333;overflow-y:auto}.timeline-panel{width:100%;height:300px;background-color:#1a1a1a;border-top:1px solid #333;overflow-y:auto;flex-shrink:0}.ui-panel-content{padding:20px;color:#fff}.ui-panel-content h2{margin-bottom:16px;font-size:18px;font-weight:600}.ui-panel-content p{color:#999;font-size:14px}.avatar-selector{margin-bottom:24px;padding:16px;background-color:#2a2a2a;border-radius:8px}.avatar-selector label{display:block;font-size:16px;font-weight:600;margin-bottom:12px;color:#fff}.avatar-select{width:100%;padding:10px 12px;background-color:#333;color:#fff;border:1px solid #444;border-radius:6px;cursor:pointer;font-size:14px;outline:none;transition:all .2s}.avatar-select:hover:not(:disabled){background-color:#444;border-color:#555}.avatar-select:focus{border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e233}.avatar-select:disabled{opacity:.5;cursor:not-allowed}.animation-selector{margin-bottom:24px}.animation-selector h3{font-size:16px;font-weight:600;margin-bottom:12px;color:#fff}.category-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.category-tab{padding:8px 16px;background-color:#2a2a2a;color:#999;border:1px solid #333;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.category-tab:hover:not(:disabled){background-color:#333;border-color:#555}.category-tab.active{background-color:#4a90e2;color:#fff;border-color:#4a90e2}.category-tab:disabled{opacity:.5;cursor:not-allowed}.animation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.animation-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 8px;background-color:#2a2a2a;border:2px solid #333;border-radius:8px;cursor:pointer;transition:all .2s}.animation-card:hover:not(:disabled){background-color:#333;border-color:#555;transform:translateY(-2px)}.animation-card.selected{background-color:#3a4a5a;border-color:#4a90e2}.animation-card:disabled{opacity:.5;cursor:not-allowed}.animation-emoji{font-size:32px;margin-bottom:8px}.animation-name{font-size:12px;color:#ccc;text-align:center;word-break:break-word}.no-animations{grid-column:1 / -1;text-align:center;padding:24px;color:#666;font-size:14px}.playback-controls{margin-bottom:24px;padding:16px;background-color:#2a2a2a;border-radius:8px}.playback-controls h3{font-size:16px;font-weight:600;margin-bottom:12px;color:#fff}.control-buttons{display:flex;gap:8px;margin-bottom:16px}.control-btn{flex:1;padding:12px;background-color:#333;color:#fff;border:1px solid #444;border-radius:6px;cursor:pointer;font-size:18px;transition:all .2s}.control-btn:hover:not(:disabled){background-color:#444;border-color:#555}.control-btn:disabled{opacity:.5;cursor:not-allowed}.play-btn:hover:not(:disabled){background-color:#2a7a2a}.pause-btn:hover:not(:disabled){background-color:#7a7a2a}.stop-btn:hover:not(:disabled){background-color:#7a2a2a}.seekbar-container{display:flex;align-items:center;gap:8px;margin-bottom:16px}.time-display{font-size:12px;color:#999;min-width:40px;text-align:center}.seekbar{flex:1;height:6px;border-radius:3px;background-color:#444;outline:none;cursor:pointer;-webkit-appearance:none}.seekbar::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background-color:#4a90e2;cursor:pointer}.seekbar::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background-color:#4a90e2;cursor:pointer;border:none}.seekbar:disabled{opacity:.5;cursor:not-allowed}.control-row{display:flex;gap:16px;align-items:center}.loop-control,.speed-control{flex:1}.loop-control label,.speed-control label{display:flex;align-items:center;gap:8px;font-size:14px;color:#ccc}.toggle-btn{padding:6px 12px;background-color:#333;color:#999;border:1px solid #444;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s;min-width:48px}.toggle-btn:hover:not(:disabled){background-color:#444}.toggle-btn.active{background-color:#4a90e2;color:#fff;border-color:#4a90e2}.toggle-btn:disabled{opacity:.5;cursor:not-allowed}.speed-select{padding:6px 12px;background-color:#333;color:#fff;border:1px solid #444;border-radius:4px;cursor:pointer;font-size:12px;outline:none}.speed-select:hover:not(:disabled){background-color:#444}.speed-select:disabled{opacity:.5;cursor:not-allowed}.error-message{padding:12px;background-color:#7a2a2a;border:1px solid #aa3a3a;border-radius:6px;color:#faa;font-size:14px;margin-top:16px}.loading-message{padding:12px;background-color:#2a4a7a;border:1px solid #3a5aaa;border-radius:6px;color:#acf;font-size:14px;margin-top:16px;text-align:center}.camera-controls{margin-bottom:24px;padding:16px;background-color:#2a2a2a;border-radius:8px}.camera-controls-header h3{font-size:16px;font-weight:600;margin-bottom:12px;color:#fff}.camera-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}.preset-button{padding:10px;background-color:#333;color:#ccc;border:1px solid #444;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.preset-button:hover{background-color:#444;border-color:#555}.preset-button.active{background-color:#4a90e2;color:#fff;border-color:#4a90e2}.reset-button{width:100%;padding:10px;background-color:#333;color:#ccc;border:1px solid #444;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.reset-button:hover{background-color:#7a2a2a;color:#fff}.timeline-container{padding:16px;background-color:transparent;border-radius:0;height:100%}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.timeline-header h3{font-size:16px;font-weight:600;color:#fff}.timeline-actions{display:flex;gap:8px}.timeline-button{padding:6px 12px;background-color:#333;color:#ccc;border:1px solid #444;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.timeline-button:hover{background-color:#444;border-color:#555}.timeline-controls{display:flex;align-items:center;gap:12px;margin-bottom:12px}.play-pause-button{width:40px;height:40px;background-color:#4a90e2;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:18px;transition:all .2s;display:flex;align-items:center;justify-content:center}.play-pause-button:hover{background-color:#5aa0f2;transform:scale(1.05)}.timeline-track{position:relative;height:40px;background-color:#1a1a1a;border-radius:6px;cursor:pointer;margin-bottom:12px;border:1px solid #333}.timeline-progress{position:absolute;top:0;left:0;height:100%;background-color:#4a90e2;border-radius:6px;opacity:.3;pointer-events:none}.timeline-playhead{position:absolute;top:50%;transform:translate(-50%,-50%);width:3px;height:80%;background-color:#4a90e2;pointer-events:none}.timeline-playhead:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);width:12px;height:12px;background-color:#4a90e2;border-radius:50%;box-shadow:0 0 8px #4a90e2cc}.speed-slider{width:100%;height:6px;border-radius:3px;background-color:#444;outline:none;cursor:pointer;-webkit-appearance:none;margin:8px 0}.speed-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background-color:#4a90e2;cursor:pointer}.speed-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background-color:#4a90e2;cursor:pointer;border:none}.speed-labels{display:flex;justify-content:space-between;font-size:11px;color:#666;margin-top:4px}.background-controls{margin-bottom:24px;padding:16px;background-color:#2a2a2a;border-radius:8px}.background-controls .control-title{font-size:16px;font-weight:600;margin-bottom:12px;color:#fff}.background-buttons{display:flex;gap:8px}.background-button{flex:1;padding:10px;background-color:#333;color:#ccc;border:1px solid #444;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.background-button:hover{background-color:#444;border-color:#555}.background-button.active{background-color:#4a90e2;color:#fff;border-color:#4a90e2}.view-controls{position:absolute;top:20px;right:20px;display:flex;gap:8px;z-index:10}.view-control-button{padding:10px 16px;background-color:#2a2a2ae6;color:#ccc;border:1px solid #444;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.view-control-button:hover{background-color:#444444e6;border-color:#555;color:#fff}.view-control-button:active{transform:scale(.98)}.export-controls{margin-bottom:24px;padding:16px;background-color:#2a2a2a;border-radius:8px}.export-controls h3{font-size:16px;font-weight:600;margin-bottom:12px;color:#fff}.export-controls-content{display:flex;flex-direction:column;gap:12px}.export-format{display:flex;flex-direction:column;gap:8px}.export-format label{font-size:14px;color:#ccc}.format-buttons{display:flex;gap:8px}.format-button{flex:1;padding:8px 16px;background-color:#333;color:#999;border:1px solid #444;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s}.format-button:hover:not(:disabled){background-color:#444;border-color:#555}.format-button.active{background-color:#4a90e2;color:#fff;border-color:#4a90e2}.format-button:disabled{opacity:.5;cursor:not-allowed}.export-button{width:100%;padding:12px;background-color:#4a90e2;color:#fff;border:1px solid #4a90e2;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.export-button:hover:not(:disabled){background-color:#5aa0f2;border-color:#5aa0f2}.export-button:disabled{opacity:.5;cursor:not-allowed;background-color:#666;border-color:#666}.export-message{padding:10px;border-radius:6px;font-size:13px;text-align:center;animation:fadeIn .3s ease-in}.export-message.success{background-color:#2a7a2a;border:1px solid #3a9a3a;color:#afa}.export-message.error{background-color:#7a2a2a;border:1px solid #aa3a3a;color:#faa}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.timeline-button:disabled{opacity:.3;cursor:not-allowed}.timeline-button.undo-button:hover:not(:disabled){background-color:#5a4a90;border-color:#6a5aa0;color:#fff}.timeline-button.redo-button:hover:not(:disabled){background-color:#5a4a90;border-color:#6a5aa0;color:#fff}.timeline-button kbd{display:inline-block;padding:2px 4px;margin-left:4px;background-color:#ffffff1a;border-radius:3px;font-size:10px;font-family:monospace;color:#999}.timeline-button:hover kbd{color:#ccc}.ui-panel-tabs{display:flex;gap:0;background-color:#1a1a1a;border-bottom:1px solid #333;padding:0 20px}.tab-button{flex:1;padding:14px 20px;background-color:transparent;color:#999;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.tab-button:hover{color:#ccc;background-color:#ffffff0d}.tab-button.active{color:#4a90e2;border-bottom-color:#4a90e2;background-color:#4a90e21a}.bone-mapping-editor{display:flex;flex-direction:column;gap:20px;padding:16px 0}.bone-mapping-header{display:flex;flex-direction:column;gap:12px}.bone-mapping-header h2{font-size:18px;font-weight:600;color:#fff;margin:0}.bone-mapping-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-preset,.btn-export,.btn-import{flex:1;min-width:120px;padding:8px 12px;background-color:#333;color:#ccc;border:1px solid #444;border-radius:6px;cursor:pointer;font-size:13px;transition:all .2s}.btn-preset:hover{background-color:#4a90e2;border-color:#4a90e2;color:#fff}.btn-export:hover,.btn-import:hover{background-color:#444;border-color:#555;color:#fff}.bone-mapping-content{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:start}.bone-mapping-list{display:flex;flex-direction:column;gap:12px}.bone-list-title{font-size:14px;font-weight:600;color:#ccc;margin:0;padding-bottom:8px;border-bottom:1px solid #333}.bone-list-container{display:flex;flex-direction:column;gap:4px;max-height:500px;overflow-y:auto;padding:4px;background-color:#1a1a1a;border-radius:6px;border:1px solid #333}.bone-list-container::-webkit-scrollbar{width:6px}.bone-list-container::-webkit-scrollbar-track{background-color:#1a1a1a;border-radius:3px}.bone-list-container::-webkit-scrollbar-thumb{background-color:#444;border-radius:3px}.bone-list-container::-webkit-scrollbar-thumb:hover{background-color:#555}.bone-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background-color:#2a2a2a;border:1px solid #333;border-radius:4px;cursor:pointer;transition:all .2s;font-size:13px}.bone-item:hover{background-color:#333;border-color:#444}.bone-item.selected{background-color:#3a4a5a;border-color:#4a90e2;box-shadow:0 0 0 2px #4a90e24d}.bone-item.mapped{background-color:#2a3a2a;border-color:#3a5a3a}.bone-item.mapped:hover{background-color:#3a4a3a;border-color:#4a6a4a}.bone-item.unmapped{color:#999}.bone-name{font-weight:500;color:#ccc}.bone-item.unmapped .bone-name{color:#999}.bone-item.mapped .bone-name{color:#8fc98f}.bone-status{font-size:11px;color:#8fc98f;font-weight:600}.bone-mapping-controls{display:flex;flex-direction:column;gap:8px;padding-top:32px}.btn-map,.btn-unmap{padding:10px 16px;background-color:#333;color:#ccc;border:1px solid #444;border-radius:6px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s;white-space:nowrap}.btn-map:hover:not(:disabled){background-color:#2a7a2a;border-color:#3a9a3a;color:#fff}.btn-unmap:hover:not(:disabled){background-color:#7a2a2a;border-color:#aa3a3a;color:#fff}.btn-map:disabled,.btn-unmap:disabled{opacity:.3;cursor:not-allowed}@media (max-width: 1200px){.bone-mapping-content{grid-template-columns:1fr;gap:20px}.bone-mapping-controls{flex-direction:row;padding-top:0}}
