.notikz-tool-palette{align-items:center;animation:palette-slide-up .5s ease-out;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:hsla(0,0%,100%,.98);border:1px solid rgba(115,3,192,.25);border-radius:20px;bottom:20px;box-shadow:0 8px 32px rgba(115,3,192,.2),0 2px 8px rgba(0,0,0,.1),inset 0 1px 0 hsla(0,0%,100%,.9);display:flex;left:50%;max-width:90vw;min-width:320px;position:fixed;transform:translateX(-50%);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1002}@keyframes palette-slide-up{0%{opacity:0;transform:translateX(-50%) translateY(30px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.tool-palette-content{align-items:center;display:flex;gap:16px;padding:12px 16px;width:100%}.palette-section,.palette-zoom{align-items:center;display:flex;gap:12px}.palette-zoom{flex:1;min-width:180px}.palette-label{color:#7303c0;font-size:.95em;font-weight:600;text-shadow:0 1px 2px hsla(0,0%,100%,.8);white-space:nowrap}.palette-zoom-slider{-webkit-appearance:none;appearance:none;background:linear-gradient(90deg,#d1c4e9,#b39ddb 50%,#9575cd);border-radius:8px;box-shadow:inset 0 2px 4px rgba(0,0,0,.1),0 1px 2px hsla(0,0%,100%,.5);cursor:pointer;flex:1;height:10px;outline:none;transition:all .3s ease}.palette-zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#fff;border:3px solid #9c27b0;border-radius:50%;box-shadow:0 4px 12px rgba(156,39,176,.4),0 0 0 3px hsla(0,0%,100%,.9);cursor:pointer;height:24px;transition:all .3s ease;width:24px}.palette-zoom-slider::-webkit-slider-thumb:hover{border-color:#ba68c8;box-shadow:0 6px 16px rgba(156,39,176,.5),0 0 0 4px hsla(0,0%,100%,.95);transform:scale(1.15)}.palette-zoom-slider::-moz-range-thumb{background:#fff;border:3px solid #9c27b0;border-radius:50%;box-shadow:0 4px 12px rgba(156,39,176,.4),0 0 0 3px hsla(0,0%,100%,.9);cursor:pointer;height:24px;width:24px}.zoom-value-display{backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(156,39,176,.08),rgba(126,87,194,.08));border:1px solid hsla(0,0%,100%,.5);border-radius:12px;box-shadow:0 2px 6px rgba(156,39,176,.08),inset 0 1px 0 hsla(0,0%,100%,.6);color:#7e57c2;display:none;font-size:.85em;font-weight:700;min-width:40px;padding:6px 10px;text-align:center}.zoom-value-display:after{content:none}.palette-separator{background:linear-gradient(180deg,transparent,rgba(115,3,192,.3),transparent);height:24px;width:1px}.palette-tools{gap:8px}.palette-tool{align-items:center;border:none;border-radius:50%;cursor:pointer;display:flex;height:44px;justify-content:center;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:44px}.palette-tool:before{background:linear-gradient(135deg,hsla(0,0%,100%,.2),transparent 50%);border-radius:50%;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.palette-piano-toggle{background:#7303c0;box-shadow:0 4px 12px rgba(0,0,0,.2)}.palette-piano-toggle:hover{background:linear-gradient(135deg,#5a5a5a,#444);box-shadow:0 6px 16px rgba(0,0,0,.3);transform:translateY(-2px)}.palette-piano-toggle.active{background:linear-gradient(135deg,#7303c0,#9c27b0);box-shadow:0 4px 15px rgba(115,3,192,.5),inset 0 1px 0 hsla(0,0%,100%,.3)}.palette-ai-toggle{background:#7303c0;box-shadow:0 4px 15px rgba(156,39,176,.4)}.palette-ai-toggle .tool-icon{background-image:url(https://notikz.ru/appn/icons/white_ai_logo.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));height:34px;transition:all .4s cubic-bezier(.34,1.56,.64,1);width:34px}.palette-ai-toggle:hover{background:linear-gradient(135deg,#ff4bc8,#ba68c8);box-shadow:0 6px 20px rgba(156,39,176,.6);transform:translateY(-2px)}.palette-ai-toggle:active{transform:translateY(0)}.tool-icon{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));font-size:20px;transition:transform .3s ease}.palette-piano-toggle.active .tool-icon{transform:rotate(180deg)}.notikz-tool-palette.zooming .palette-zoom-slider{animation:zoom-pulse .4s ease}@keyframes zoom-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.zoom-tooltip{background:rgba(115,3,192,.9);border-radius:6px;bottom:calc(100% + 10px);box-shadow:0 2px 8px rgba(0,0,0,.3);color:#fff;font-size:12px;font-weight:600;opacity:0;padding:6px 10px;pointer-events:none;transition:opacity .2s ease;white-space:nowrap;z-index:1003}.zoom-tooltip,.zoom-tooltip:after{position:absolute;transform:translateX(-50%)}.zoom-tooltip:after{border:5px solid transparent;border-top-color:rgba(115,3,192,.9);content:"";left:50%;top:100%}@media (max-width:768px){.notikz-tool-palette{border-radius:16px;bottom:15px;min-width:280px}.tool-palette-content{gap:10px;padding:10px 12px}.palette-zoom{min-width:140px}.palette-label{display:none}.palette-tool{height:40px;width:40px}.tool-icon{font-size:18px}.palette-zoom-slider{height:6px}.palette-zoom-slider::-webkit-slider-thumb{height:20px;width:20px}.zoom-value-display{font-size:.8em;min-width:45px;padding:3px 6px}}@media (max-width:480px){.notikz-tool-palette{min-width:260px}.palette-zoom{min-width:120px}.palette-tool{height:36px;width:36px}.tool-icon{font-size:16px}.palette-separator{height:20px}.zoom-value-display{display:none}}@media (min-width:769px) and (max-width:1024px){.notikz-tool-palette{min-width:380px}}.dark-theme .notikz-tool-palette{background:rgba(40,40,40,.95)!important;border:1px solid rgba(115,3,192,.5)!important;box-shadow:0 8px 32px rgba(115,3,192,.25),0 0 20px rgba(115,3,192,.15),0 0 40px rgba(115,3,192,.1),inset 0 1px 0 hsla(0,0%,100%,.1)!important;color:#fff!important}.dark-theme .palette-label,.dark-theme .zoom-value-display{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.5)!important}.dark-theme .palette-zoom-slider{background:linear-gradient(90deg,#4a148c,#7b1fa2 50%,#9c27b0)!important;box-shadow:inset 0 2px 4px rgba(0,0,0,.3),0 1px 2px hsla(0,0%,100%,.1)!important}.dark-theme .palette-zoom-slider::-webkit-slider-thumb{background:#fff!important;border:3px solid #9c27b0!important;box-shadow:0 4px 12px rgba(156,39,176,.6),0 0 0 3px hsla(0,0%,100%,.1)!important}.dark-theme .palette-tool:not(.palette-theme-toggle){background:#7303c0!important;box-shadow:0 4px 15px rgba(115,3,192,.5)!important}.dark-theme .palette-tool:not(.palette-theme-toggle):hover{background:linear-gradient(135deg,#7303c0,#9c27b0)!important;box-shadow:0 6px 20px rgba(115,3,192,.7)!important}.dark-theme .palette-theme-toggle{background:#7303c0!important;box-shadow:0 4px 15px rgba(255,152,0,.5)!important}.dark-theme .palette-theme-toggle:hover{background:linear-gradient(135deg,#ff9800,#ff5722)!important;box-shadow:0 6px 20px rgba(255,152,0,.7)!important}.dark-theme body{background-color:#1a1a1a!important;color:#fff!important}.dark-theme .app-container{background:rgba(30,30,30,.95)!important;box-shadow:0 8px 32px rgba(115,3,192,.2),0 0 20px rgba(115,3,192,.15),0 0 40px rgba(115,3,192,.1)!important;color:#fff!important}.dark-theme .card{background:rgba(40,40,40,.9)!important;box-shadow:0 2px 8px rgba(156,39,176,.15)!important;color:#fff!important}.dark-theme .card-header{background:linear-gradient(90deg,#7303c0,#9c27b0)!important;color:#fff!important}.dark-theme svg path:not([fill=none]){fill:#fff!important;stroke:#fff!important}.dark-theme svg line,.dark-theme svg rect:not([fill=none]){stroke:#fff!important}.dark-theme svg text{fill:#fff!important}.dark-theme .answer-container{background:rgba(45,45,45,.9)!important;border-color:#7303c0!important;color:#fff!important}.dark-theme .answer-title.title-success{background:linear-gradient(135deg,#7303c0,#9c27b0)!important;color:#fff!important}.dark-theme .btn--accent,.dark-theme .btn--primary,.dark-theme .btn-primary{background:#7303c0!important;border-color:#9c27b0!important;color:#fff!important}.dark-theme #help,.dark-theme #help-question,.dark-theme .score-item{background:rgba(45,45,45,.9)!important;color:#fff!important}.dark-theme .piano-container,.dark-theme .piano-scroll-container{background-color:#2d2d2d!important;color:#fff!important}.dark-theme .piano-key.white{background-color:#fff!important;border:1px solid #ccc!important;color:#000!important}.dark-theme .piano-key.black{background-color:#222!important}.dark-theme .piano-key.white.pressed{background-color:#ddd!important;color:#000!important}.dark-theme .piano-key.black.pressed{background-color:#555!important}.dark-theme .zoom-tooltip{background:rgba(115,3,192,.9)!important;color:#fff!important}.dark-theme .palette-separator{background:linear-gradient(180deg,transparent,hsla(0,0%,100%,.2),transparent)!important}.welcome-guide-modal{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:hsla(0,0%,100%,.95);border-radius:16px;box-shadow:0 8px 32px rgba(115,3,192,.25),0 0 20px rgba(115,3,192,.15),0 0 40px rgba(115,3,192,.1);left:50%;max-width:90vw;min-width:300px;opacity:0;padding:24px;position:fixed;top:50%;transform:translate(-50%,-50%);transition:all .3s ease;visibility:hidden;z-index:9999}.box.py-3.contents{background:hsla(0,0%,100%,.97);border:1px solid rgba(115,3,192,.08);border-radius:12px;box-shadow:0 10px 30px rgba(115,3,192,.06);color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.7;margin:2rem auto;max-width:900px;padding:1rem}.box.py-3.contents p{color:#444;font-size:1.1rem;margin-bottom:1.5rem}h2{border-bottom:2px solid rgba(115,3,192,.2);color:#7303c0;font-size:1rem;font-weight:600;margin:2.5rem 0 1.5rem}.box.py-3.contents ol,.box.py-3.contents ul{margin:1.5rem 0;padding-left:1.8rem}.box.py-3.contents li{margin-bottom:.5rem}.box.py-3.contents code{background:rgba(115,3,192,.08);border-radius:4px;color:#7303c0;font-family:SF Mono,monospace;padding:.2rem .5rem}.dark-theme .box.py-3.contents{background:rgba(30,30,40,.95);border-color:rgba(115,3,192,.2);box-shadow:0 10px 30px rgba(0,0,0,.2);color:#e0e0e0}.dark-theme .box.py-3.contents p{color:#d0d0d0}.dark-theme .box.py-3.contents h2{border-bottom-color:rgba(186,104,200,.3);color:#ba68c8}.dark-theme .box.py-3.contents code{background:rgba(115,3,192,.15);color:#e1bee7}.dark-theme .container{background-color:#1a1a2e}.dark-theme .d-flex.flex-wrap.gap-2.mb-4{background:rgba(40,40,60,.9);border:1px solid rgba(115,3,192,.3);border-radius:12px;padding:15px}.dark-theme .btn-success{background:linear-gradient(135deg,#2e7d32,#1b5e20);border-color:#4caf50;color:#fff!important}.dark-theme .btn-primary{background:linear-gradient(135deg,#7303c0,#9c27b0)!important;border-color:#ba68c8!important;color:#fff!important}.dark-theme .btn-secondary{background:linear-gradient(135deg,#455a64,#37474f);border-color:#607d8b;color:#fff!important}.dark-theme .btn-danger{background:linear-gradient(135deg,#d32f2f,#b71c1c);border-color:#f44336;color:#fff!important}.dark-theme .btn-warning{background:linear-gradient(135deg,#f57c00,#e65100);border-color:#ff9800;color:#fff!important}.dark-theme .editor-container{background:rgba(30,30,45,.95);border:1px solid rgba(115,3,192,.4);border-radius:12px;padding:10px}.dark-theme .tox-tinymce{background:#2d2d3e!important;border-color:rgba(115,3,192,.4)!important}.dark-theme .tox-menubar,.dark-theme .tox-statusbar,.dark-theme .tox-toolbar__primary{background:rgba(40,40,60,.9)!important;border-color:rgba(115,3,192,.3)!important}.dark-theme .tox-mbtn__select-label,.dark-theme .tox-statusbar__path-item,.dark-theme .tox-tbtn__icon-wrap{color:#e0e0e0!important}.dark-theme #music-question-modal .modal-content,.dark-theme #swipe-zone,.dark-theme .modal-body,.dark-theme .modal-content{background:#1a1a2e;border:2px solid rgba(115,3,192,.5);border-radius:16px}.dark-theme .music-question-preview{background:rgba(45,45,65,.8);border:2px solid rgba(115,3,192,.5);border-radius:16px}.dark-theme #music-question-modal .modal-header{background:linear-gradient(90deg,#7303c0,#9c27b0);border-bottom:2px solid rgba(186,104,200,.5)}.dark-theme #music-question-modal h2{color:#fff!important;text-shadow:0 2px 4px rgba(0,0,0,.3)}.dark-theme #music-question-modal .btn-close{background:#ff5722;border:none;color:#fff}.dark-theme #music-question-modal .modal-body{background:#2d2d3e}.dark-theme .music-question-block{background:rgba(40,40,60,.9);border:1px solid rgba(115,3,192,.3);border-radius:12px;margin-bottom:20px;padding:20px}.dark-theme .music-question-text{background:rgba(115,3,192,.15);border-left:4px solid #9c27b0;border-radius:8px;color:#e1bee7!important;font-weight:600;padding:10px}.dark-theme .question-svg circle{fill:#7303c0!important;stroke:#e1bee7!important}.dark-theme .question-svg text{fill:#fff!important}.dark-theme .d-flex.justify-content-center.align-items-center.p-4{background:rgba(45,45,65,.8);border:1px solid rgba(115,3,255,.2);border-radius:12px}.dark-theme .question-mark-container{background:rgba(30,30,45,.7);border:2px solid rgba(115,3,192,.4);border-radius:50%;box-shadow:0 0 20px rgba(115,3,192,.3);padding:15px}.dark-theme #tiny-render-preview .abcjs-notehead{fill:#e1bee7!important;stroke:#e1bee7!important}.dark-theme #tiny-render-preview.row{background:rgba(30,30,45,.9);border:1px solid rgba(115,3,192,.3);border-radius:16px;margin-top:20px;padding:20px}.dark-theme p[style*="color: rgb(255, 255, 255)"]{color:#e0e0e0!important}.dark-theme div[style*="color: rgb(255, 255, 255)"]{color:#d0d0d0!important}.dark-theme button[onclick*=renderTinyContent]:before{color:#4caf50!important}.dark-theme button[onclick*=saveTinyContent]:before{color:#9c27b0!important}.dark-theme button[onclick*=clearTinyContent]:before{color:#f44336!important}.dark-theme ::-webkit-scrollbar{width:10px}.dark-theme ::-webkit-scrollbar-track{background:rgba(40,40,60,.8)}.dark-theme ::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#7303c0,#9c27b0);border-radius:5px}.dark-theme ::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#9c27b0,#ba68c8)}.palette-help-toggle{background:linear-gradient(135deg,#7303c0,#9c27b0)!important;box-shadow:0 4px 15px rgba(156,39,176,.4)!important}.palette-help-toggle:hover{animation:help-pulse 1.5s infinite;background:linear-gradient(135deg,#9c27b0,#ba68c8)!important;box-shadow:0 6px 20px rgba(156,39,176,.6)!important;transform:translateY(-2px) scale(1.05)}.palette-help-toggle:active{transform:translateY(0) scale(.95)}.help-icon{color:#fff;font-size:20px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3);transition:all .3s ease}.palette-help-toggle:hover .help-icon{transform:rotate(15deg) scale(1.2)}@keyframes help-pulse{0%,to{box-shadow:0 6px 20px rgba(156,39,176,.6)}50%{box-shadow:0 6px 25px rgba(156,39,176,.9)}}.dark-theme .palette-help-toggle{background:linear-gradient(135deg,#7303c0,#9c27b0)!important;box-shadow:0 4px 15px rgba(115,3,192,.5),0 0 0 1px hsla(0,0%,100%,.1)!important}.dark-theme .palette-help-toggle:hover{background:linear-gradient(135deg,#8a35c9,#ba68c8)!important;box-shadow:0 6px 25px rgba(115,3,192,.7),0 0 0 2px hsla(0,0%,100%,.15)!important}.notikz-tool-palette.collapsed{opacity:0!important;pointer-events:none!important;transform:translateX(-50%) translateY(120%)!important;transition:opacity .4s ease,transform .4s ease}.notikz-tool-palette{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);transition:opacity .4s ease,transform .4s ease,bottom .3s ease}.palette-float-button{align-items:center;background:linear-gradient(135deg,#7303c0,#9c27b0);border:none;border-radius:50%;bottom:20px;box-shadow:0 4px 20px rgba(115,3,192,.5);color:#fff;cursor:pointer;display:flex;font-size:22px;font-weight:700;height:48px;justify-content:center;position:fixed;right:20px;transition:transform .3s ease,box-shadow .3s ease;user-select:none;width:48px;z-index:1003}.palette-float-button:hover{box-shadow:0 6px 28px rgba(115,3,192,.7);transform:scale(1.1)}.palette-float-button:active{transform:scale(.9)}.dark-theme .palette-float-button{background:linear-gradient(135deg,#4a148c,#7b1fa2);box-shadow:0 4px 20px rgba(115,3,192,.7)}.dark-theme .palette-float-button:hover{box-shadow:0 6px 28px rgba(115,3,192,.9)}@media (max-width:768px){.palette-float-button{bottom:15px;font-size:20px;height:44px;right:15px;width:44px}}@media (max-width:480px){.palette-float-button{bottom:12px;font-size:18px;height:40px;right:12px;width:40px}}.palette-collapse-toggle{background:rgba(115,3,192,.08);box-shadow:0 2px 8px rgba(0,0,0,.1)}.palette-collapse-toggle:hover{background:rgba(115,3,192,.15);box-shadow:0 4px 15px rgba(115,3,192,.25);transform:translateY(-2px)}.palette-collapse-toggle:active{transform:translateY(0)}.collapse-icon{font-size:18px;transition:transform .3s ease}.palette-collapse-toggle:hover .collapse-icon{transform:translateY(2px)}.dark-theme .palette-collapse-toggle{background:rgba(115,3,192,.15)}.dark-theme .palette-collapse-toggle:hover{background:rgba(115,3,192,.3)}