.modal-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:var(--z-modal);background:#00000080}.sam-cutout-context-menu{position:fixed;z-index:calc(var(--z-modal) + 1);display:flex;gap:2px;padding:4px;border:1px solid var(--main-600);border-radius:999px;background:var(--main-900);box-shadow:0 4px 16px var(--components-shadow),0 0 0 1px #0000000d,inset 0 1px #ffffff0a}.sam-cutout-context-menu[hidden]{display:none}.sam-cutout-context-menu button{width:34px;height:34px;border:0;border-radius:999px;color:#fff;font-size:21px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.sam-cutout-context-menu button svg{display:block;width:22px;height:22px}.sam-cutout-context-menu__confirm{background:#198754}.sam-cutout-context-menu__cancel{background:#ba3434}.sam-cutout-context-menu button:hover{filter:brightness(1.14)}.modal-overlay.active{display:flex}.modal-overlay.help{display:flex;background:#0000}.modal-overlay .modal{color:var(--main-200);background:var(--main-900);font-size:var(--fontsize-normal);width:420px;max-width:90%;max-height:min(90vh,100dvh);border-radius:8px;box-shadow:0 10px 30px var(--shadow20);animation:fadeIn .25s ease-out;position:relative;opacity:.9;display:flex;flex-direction:column;min-height:0;overflow:hidden;box-sizing:border-box}.modal-overlay .modal-header{padding:16px 44px 16px 20px;font-size:var(--fontsize-medium);border-bottom:1px solid var(--main-500);flex-shrink:0}.modal-overlay .modal-body{color:var(--main-200);padding:20px;font-size:15px;line-height:1.5;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal-overlay .modal-body .help-menu-cmd{color:var(--blue-600);font-weight:400;white-space:nowrap}.modal-overlay .modal-body .help-menu-sep{color:var(--blue-300);font-weight:500;padding:0 .2em}.modal-overlay .close-btn{color:var(--main-200);position:absolute;top:10px;right:14px;z-index:2;font-size:22px;line-height:1;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border:none;background:none;flex-shrink:0}.modal-overlay .close-btn:hover{opacity:.6}.modal-overlay.loading .close-btn{display:none}@media(max-width:640px){.modal-overlay{padding:0;align-items:stretch;justify-content:stretch}.modal-overlay .modal{width:100%;max-width:100%;height:100%;max-height:100dvh;border-radius:0;opacity:1}.modal-overlay .loading-modal-progress{border-radius:0;margin-top:auto}.modal-overlay .modal-header{padding-top:calc(16px + env(safe-area-inset-top,0px))}.modal-overlay .modal-body{padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.modal-overlay .close-btn{top:calc(10px + env(safe-area-inset-top,0px));right:max(14px,env(safe-area-inset-right,0px))}}.modal-overlay .layer-comment-field{margin-bottom:14px}.modal-overlay .layer-comment-textarea{width:100%;min-height:140px;resize:vertical;box-sizing:border-box;padding:10px 12px;border:1px solid var(--main-500);border-radius:6px;background:var(--main-800);color:var(--main-200);font-family:inherit;font-size:14px;line-height:1.45}.modal-overlay .layer-comment-textarea:focus{outline:2px solid var(--blue-600);outline-offset:1px}.modal-overlay .layer-comment-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.modal-overlay .layer-comment-actions--with-delete{justify-content:space-between;align-items:center;flex-wrap:wrap}.modal-overlay .layer-comment-actions-right{display:flex;gap:8px;margin-left:auto}.modal-overlay .version-label-field-label{display:block;margin-bottom:8px;color:var(--main-200);font-size:14px;line-height:1.45}.modal-overlay .version-label-field{margin-bottom:14px}.modal-overlay .version-label-input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--main-500);border-radius:6px;background:var(--main-800);color:var(--main-200);font-family:inherit;font-size:14px;line-height:1.45}.modal-overlay .version-label-input:focus{outline:2px solid var(--blue-600);outline-offset:1px}.modal-overlay .version-label-actions{display:flex;gap:8px;justify-content:flex-end}.modal-overlay.loading .loading-modal-body{margin-bottom:16px;text-align:center;color:var(--main-300);font-size:14px;line-height:1.45}.modal-overlay.loading .loading-modal-thumb{display:block;max-width:200px;max-height:200px;width:auto;height:auto;object-fit:contain;margin:0 auto 8px;border-radius:8px;background:var(--main-800);box-shadow:0 2px 10px var(--shadow20);pointer-events:none;user-select:none}.modal-overlay .loading-modal-progress{display:none;flex-shrink:0;height:6px;width:100%;background:var(--main-700);overflow:hidden;border-radius:0 0 8px 8px}.modal-overlay.loading .loading-modal-progress{display:block}.modal-overlay .loading-modal-progress-bar{height:100%;width:0%;background:var(--blue-600);border-radius:0 2px 2px 0;transition:width .2s ease-out}.modal-overlay .loading-modal-progress.indeterminate .loading-modal-progress-bar{width:40%;transition:none;animation:loading-progress-indeterminate 1.8s ease-in-out infinite}@keyframes loading-progress-indeterminate{0%{transform:translate(-120%)}to{transform:translate(320%)}}.loading-spinner{width:32px;height:32px;border:3px solid var(--main-500);border-top-color:var(--blue-600);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}
