.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000}.modal.show{display:block}.modal-inner{display:flex;flex-direction:column;overflow:hidden;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--color-background);width:90%;max-width:960px;max-height:90vh;border-radius:8px;box-shadow:0 4px 6px rgba(0,0,0,.1);z-index:2}.modal-inner.modal-wide{max-width:1440px;width:95%}.modal-inner.modal-fullscreen{max-width:100vw;width:100vw;height:100vh;max-height:100vh;top:0;left:0;transform:none;border-radius:0;position:fixed}.modal-inner.modal-fullscreen .modal-header{position:absolute;top:0;right:0;z-index:100;background:0 0;border:none;padding:.5rem}.modal-inner.modal-fullscreen .modal-header .modal-title{display:none}.modal-inner.modal-fullscreen .modal-close{background:rgba(0,0,0,.6);border:1px solid rgba(0,240,255,.3);color:rgba(0,240,255,.8);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;transition:.2s}.modal-inner.modal-fullscreen .modal-close:hover{background:rgba(0,240,255,.15);color:#00f0ff;border-color:#00f0ff}.modal-inner.modal-fullscreen .modal-scroll{height:100vh;max-height:100vh}.light-mode .modal-inner.modal-fullscreen .modal-close{background:rgba(255,255,255,.8);border-color:rgba(0,136,170,.3);color:rgba(0,136,170,.8)}.light-mode .modal-inner.modal-fullscreen .modal-close:hover{background:rgba(0,136,170,.1);color:#08a;border-color:#08a}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:2001}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);z-index:1;cursor:pointer}.modal-container{background-color:var(--color-panel);border-radius:12px;width:1100px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 4px 23px rgba(0,0,0,.2);box-sizing:border-box}.modal-header{display:grid;grid-template-columns:40fr 0.5fr;align-items:center;justify-content:space-between;padding:.5rem 1.5rem .5rem 2rem;background-color:var(--color-background);color:var(--color-primary);border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0}.modal-subheader{display:inline;justify-content:space-between;align-items:center;padding:.7rem 1.5rem}.modal-close{background:0 0;border:none;font-size:xx-large;color:var(--color-text);opacity:.7;cursor:pointer;padding:0;transition:opacity .2s}.modal-close:hover{opacity:1}.modal-description{padding:.8rem 1rem 0;flex-grow:1}.modal-content{padding:.5rem 1.5rem 10px;overflow-y:auto;height:calc(90vh);flex-grow:1;background-clip:border-box;border:6px solid transparent;margin-bottom:0;box-sizing:border-box}.modal-scroll{max-height:90vh;overflow-y:auto;padding:0 1rem 1rem}.modal-x{position:absolute;top:1rem;right:1rem;background:0 0;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text);padding:.5rem;line-height:1;z-index:3}.modal-content::-webkit-scrollbar,.modal-scroll::-webkit-scrollbar{width:6px;height:6px}.modal-content::-webkit-scrollbar-track,.modal-scroll::-webkit-scrollbar-track{background:0 0;margin:4px 0;border-radius:6px}.modal-content::-webkit-scrollbar-thumb,.modal-scroll::-webkit-scrollbar-thumb{background-color:rgba(155,155,155,.5);border-radius:6px;transition:background-color .2s}.modal-content::-webkit-scrollbar-thumb:hover,.modal-scroll::-webkit-scrollbar-thumb:hover{background-color:rgba(155,155,155,.7)}.modal-footer{display:flex;justify-content:flex-end;align-items:center;padding:.6rem 2rem .6rem 0;border-top:1px solid var(--color-border);background:var(--color-background);gap:1rem}.modal-inner.modal-with-footer{display:flex;flex-direction:column}.modal-inner.modal-with-footer .modal-scroll{flex:1;min-height:0;overflow-y:auto}.modal-footer-slot{flex-shrink:0;border-top:1px solid var(--color-border);background:var(--color-background)}.section{margin-bottom:2rem;padding:1rem;border:1px solid var(--color-border);border-radius:.5rem}.section-title{font-size:1.25rem;font-weight:700;color:var(--color-primary);margin-bottom:.5rem}.section-description{color:var(--color-text);margin-bottom:1rem}.modal-button-container{display:flex;justify-content:space-between;gap:10px;width:100%;margin-top:20px}.modal-button-container .button{flex:1;min-width:0;padding:10px;text-align:center;white-space:nowrap;font-size:.9em;display:flex;justify-content:center;align-items:center}#buttons-container{display:flex;gap:.875rem!important}.btn{font-weight:500;padding:.5rem 1.5rem;border-radius:.25rem;cursor:pointer;border:none;font-size:.875rem;font-family:"Space Grotesk",Arial,Helvetica,sans-serif}.btn.slim{padding:.2em .4em}.btn.primary{background:#00f0ff;color:#0a0e1a;width:fit-content}.btn:disabled{cursor:not-allowed}.btn-ok{background:#00f0ff;color:#0a0e1a;display:inline-flex;align-items:center;gap:.5rem;transition:background .3s ease-in-out}.btn-ok>svg{max-width:20px}.btn-ok:hover{background:#00c4cc}.btn-ok:active{background:#09a}.btn-cancel{background:0 0;color:var(--color-accent);border:.15rem solid var(--color-accent);transition:background .3s ease-in-out,color .3s ease-in-out}.btn-cancel:hover{background:var(--color-accent);color:var(--color-text)}.btn-cancel:active{background:#ff2d7b;color:var(--color-text)}.light-mode .btn-cancel:hover{background:var(--color-accent);color:var(--color-background)}.light-mode .btn-cancel:active{background:#ff2d7b;color:var(--color-background)}.btn-field{background:#00f0ff;color:#0a0e1a;width:fit-content}.btn-field:disabled{background:rgba(232,236,244,.3);cursor:not-allowed}.editor-toolbar{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;border-radius:6px;background-color:rgba(30,30,30,.95);border-bottom:1px solid var(--color-border)}.light-mode .editor-toolbar{background-color:rgba(240,240,240,.95)}.toolbar-group{display:flex;align-items:center;gap:.5rem;padding:0 .5rem;border-right:1px solid var(--color-border)}.toolbar-group:last-child{border-right:none}.toolbar-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:.4rem;background:0 0;border:1px solid transparent;border-radius:4px;color:var(--color-text);opacity:.7;cursor:pointer;transition:.2s}.toolbar-button svg{width:18px;height:18px}.toolbar-button:hover{opacity:1;background-color:rgba(255,255,255,.1)}.toolbar-button:active{transform:translateY(1px)}.toolbar-button.active{background-color:rgba(255,255,255,.15);border-color:var(--color-border);opacity:1}.toolbar-button:disabled{opacity:.3;cursor:not-allowed}.toolbar-button:disabled:hover{background-color:transparent}input[type=range]{width:100%;cursor:pointer;height:4px;-webkit-appearance:none;appearance:none;background:var(--color-border);border-radius:2px;outline:0;transition:.2s}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--color-primary);border-radius:50%;cursor:pointer;transition:.2s}input[type=range]::-moz-range-thumb{width:16px;height:16px;background:var(--color-primary);border-radius:50%;cursor:pointer;border:none;transition:.2s}.range-value{min-width:3em;text-align:right}.light-mode input[type=range]::-webkit-slider-thumb{background:rgba(232,236,244,.5)}.light-mode input[type=range]::-moz-range-thumb{background:rgba(232,236,244,.5)}@media (max-width:1280px){.modal-container{width:95%;min-width:unset;max-width:95%}.section{overflow-x:auto}}@media (max-width:768px){.modal-header{padding-left:1.1rem;text-wrap:nowrap}.modal-content{padding:.5rem;overflow-y:auto;flex-grow:1}.modal-footer{padding:var(--spacing-sm)!important}.section{margin-bottom:1.5rem;padding:1rem;border:1px solid var(--color-border);border-radius:.5rem}#buttons-container{margin:0 auto}.btn{padding:.5rem 1.7rem}}@media (max-width:540px){.modal-header h2{font-size:var(--font-size-normal);margin:0}#buttons-container{max-height:50px}.btn{text-wrap:wrap;font-size:var(--font-size-small)}.btn-upload{margin:0 auto;gap:.5rem;align-items:center}.btn-upload>svg{width:20px}}.loading{width:calc(100% - 4rem);max-width:1200px;min-height:50px;border-radius:12px;background:var(--color-border);position:relative;overflow:hidden;margin:2rem auto;opacity:0;animation:.5s ease-out .5s forwards fadeIn}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.loading::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,var(--color-background),var(--color-border),var(--color-background));animation:2s 250ms infinite shimmer;background-size:200% 100%}@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.confirm-dialog-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;transition:opacity .2s}.confirm-dialog-backdrop.visible{opacity:1}.confirm-dialog{background:var(--color-panel);border:1px solid var(--color-border);border-radius:8px;max-width:450px;width:90%;box-shadow:0 4px 20px rgba(0,0,0,.3);transform:scale(.95);transition:transform .2s}.confirm-dialog-backdrop.visible .confirm-dialog{transform:scale(1)}.confirm-dialog-header{display:flex;align-items:center;gap:.75em;padding:1em 1.25em;border-bottom:1px solid var(--color-border)}.confirm-dialog-icon{font-size:1.5em}.confirm-dialog-title{font-size:1.1em;font-weight:600;color:var(--color-text)}.confirm-dialog-body{padding:1.25em;color:var(--color-text);line-height:1.6;font-size:.95em}.confirm-dialog-body ul{margin:.75em 0;padding-left:1.5em}.confirm-dialog-body p{margin:0}.confirm-dialog-footer{display:flex;justify-content:flex-end;gap:.75em;padding:1em 1.25em;border-top:1px solid var(--color-border)}.modal-overlay .modal-content{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(0,240,255,.08);box-shadow:0 10px 40px rgba(0,0,0,.5),0 0 30px rgba(0,240,255,.05)}