.shepherd-button,.shepherd-button:not(:disabled):hover{color:#ffffffbf}.shepherd-button.shepherd-button-secondary{background:#f1f2f3;color:#000000bf}.shepherd-button.shepherd-button-secondary:not(:disabled):hover{background:#d6d9db;color:#000000bf}.shepherd-button:disabled{cursor:not-allowed}.shepherd-footer{border-bottom-left-radius:5px;border-bottom-right-radius:5px;display:flex;justify-content:flex-end;padding:0 .75rem .75rem}.shepherd-footer .shepherd-button:last-child{margin-right:0}.shepherd-cancel-icon{font-weight:400;margin:0;padding:0}.shepherd-has-title .shepherd-content .shepherd-cancel-icon{color:#808080bf}.shepherd-has-title .shepherd-content .shepherd-cancel-icon:hover{color:#000000bf}.shepherd-title{display:flex;flex:1 0 auto;font-size:1rem}.shepherd-header{align-items:center;border-top-left-radius:5px;border-top-right-radius:5px;display:flex;justify-content:flex-end;line-height:2em;padding:.75rem .75rem 0}.shepherd-has-title .shepherd-content .shepherd-header{background:#e6e6e6;padding:1em}.shepherd-text{font-size:1rem;line-height:1.3em}.shepherd-text p{margin-top:0}.shepherd-text p:last-child{margin-bottom:0}.shepherd-element{background:#fff;border:none;border-radius:5px;box-shadow:0 1px 4px #0003;margin:0;max-width:400px;opacity:0;outline:none;padding:0;transition:opacity .3s,visibility .3s;visibility:hidden;width:100%;z-index:9999}.shepherd-enabled.shepherd-element{opacity:1;visibility:visible}.shepherd-element[data-popper-reference-hidden]:not(.shepherd-centered){opacity:0;pointer-events:none;visibility:hidden}.shepherd-element,.shepherd-element *,.shepherd-element :after,.shepherd-element :before{box-sizing:border-box}.shepherd-arrow,.shepherd-arrow:before{height:16px;position:absolute;width:16px;z-index:-1}.shepherd-arrow:before{background:#fff;content:"";transform:rotate(45deg)}.shepherd-element[data-popper-placement^=top]>.shepherd-arrow{bottom:-8px}.shepherd-element[data-popper-placement^=bottom]>.shepherd-arrow{top:-8px}.shepherd-element[data-popper-placement^=left]>.shepherd-arrow{right:-8px}.shepherd-element[data-popper-placement^=right]>.shepherd-arrow{left:-8px}.shepherd-element.shepherd-centered>.shepherd-arrow{opacity:0}.shepherd-element.shepherd-has-title[data-popper-placement^=bottom]>.shepherd-arrow:before{background-color:#e6e6e6}.shepherd-target-click-disabled.shepherd-enabled.shepherd-target,.shepherd-target-click-disabled.shepherd-enabled.shepherd-target *{pointer-events:none}.shepherd-modal-overlay-container{height:0;left:0;opacity:0;overflow:hidden;pointer-events:none;position:fixed;top:0;transition:all .3s ease-out,height 0s .3s,opacity .3s 0s;width:100vw;z-index:9997}.shepherd-modal-overlay-container.shepherd-modal-is-visible{height:100vh;opacity:.5;transform:translateZ(0);transition:all .3s ease-out,height 0s 0s,opacity .3s 0s}.shepherd-modal-overlay-container.shepherd-modal-is-visible path{pointer-events:all}.tutorial-container{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-width:90vw;position:fixed;width:600px;z-index:1000}.tutorial-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e0e0e0;border-radius:12px 12px 0 0;padding:20px}.tutorial-header h2{color:#fff;font-size:1.5rem}.close-button{background:#fff3;border:2px solid #fff;font-weight:700;height:32px;transition:all .3s ease;width:32px}.close-button:hover{background:#fff;color:#667eea}.tutorial-content{flex:1 1;overflow-y:auto}.tutorial-step{border-bottom:1px solid #f0f0f0;margin-bottom:30px}.tutorial-step:last-child{padding-bottom:0}.tutorial-step h3{color:#333;font-size:1.2rem;margin-bottom:15px;padding-left:25px;position:relative}.tutorial-step h3:before{align-items:center;background:#667eea;border-radius:50%;color:#fff;content:counter(step-counter);counter-increment:step-counter;display:flex;font-size:.8rem;height:20px;justify-content:center;left:0;position:absolute;top:50%;transform:translateY(-50%);width:20px}.tutorial-content{counter-reset:step-counter}.tutorial-step p{color:#555;line-height:1.6;margin-bottom:15px}.tutorial-image{border-radius:8px;box-shadow:0 4px 12px #0000001a;height:auto;max-width:400px}.tutorial-tips{background:#f0f9ff;border:1px solid #3b82f6;border-radius:8px;margin:15px 0;padding:15px}.tips-header{align-items:center;color:#1e40af;display:flex;font-size:1rem;font-weight:600;margin:0 0 10px}.tips-list{list-style:none;margin:0;padding-left:20px}.tip-item{color:#1e40af;line-height:1.6;margin-bottom:8px;padding-left:20px;position:relative}.tip-item:last-child{margin-bottom:0}.tip-item:before{color:#3b82f6;content:"•";font-size:1.2rem;font-weight:700;left:0;position:absolute}.tutorial-video-link{background:#667eea;border-radius:6px}.tutorial-video-link:hover{background:#764ba2;box-shadow:0 4px 12px #667eea66}.tutorial-content::-webkit-scrollbar{width:8px}.tutorial-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.tutorial-content::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.tutorial-content::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width:640px){.tutorial-container{max-height:90vh;width:95vw}.tutorial-content,.tutorial-header{padding:15px}.tutorial-image{max-width:100%}}.tutorial-image-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:8px 0 12px}.tutorial-step .tutorial-image{border-radius:6px;display:block;height:auto;object-fit:contain;width:100%}.image-count-2{grid-template-columns:repeat(2,1fr)}.image-count-3{grid-template-columns:repeat(3,1fr)}.tutorial-video-section{margin:16px 0}.tutorial-video-container{border-radius:8px;box-shadow:0 4px 12px #00000026;height:0;overflow:hidden;padding-bottom:56.25%;position:relative;width:100%}.tutorial-video-iframe{border:none;height:100%;left:0;position:absolute;top:0;width:100%}.tutorial-video-link{background:#ff6b6b;border-radius:25px;box-shadow:0 2px 8px #ff6b6b4d;color:#fff;font-weight:500;padding:10px 20px;transition:all .3s ease}.tutorial-video-link:hover{background:#ff5252;box-shadow:0 4px 16px #ff6b6b66;color:#fff;text-decoration:none;transform:translateY(-2px)}:root{--primary-blue:#3288e6;--primary-blue-hover:#2176c7;--secondary-gray:#4c4c4c;--secondary-gray-hover:#333;--light-blue:#2196f3;--google-blue:#4285f4;--border-color:#e0e0e0;--text-color:#333;--text-muted:#666;--background-white:#fff;--background-light:#f9f9f9;--warning-orange:#ff9800;--success-green:#4caf50;--error-red:#d8000c;--error-bg:#ffbaba;--shadow-light:0 2px 10px #0000001a;--shadow-medium:0 4px 12px #00000026;--shadow-heavy:0 8px 30px #00000040;--z-canvas:1;--z-ui-elements:50;--z-panels:100;--z-buttons:200;--z-overlays:1000;--z-modals:10000;--z-tutorials:30000;--spacing-xs:5px;--spacing-sm:10px;--spacing-md:15px;--spacing-lg:20px;--spacing-xl:30px;--spacing-xxl:40px;--panel-width-small:320px;--panel-width-normal:350px;--panel-width-large:400px;--panel-max-height:calc(100% - 240px)}.container{height:100vh}.canvas-container{background-color:#f0f0f0;z-index:var(--z-canvas)}.dimensions-box{background:var(--background-white);border:1px solid var(--border-color);box-shadow:var(--shadow-light);padding:var(--spacing-sm);right:var(--spacing-xxl);top:var(--spacing-xxl);z-index:var(--z-ui-elements)}.dimensions-box .title{border-bottom:1px solid var(--border-color);margin-bottom:var(--spacing-xs);padding:0 0 var(--spacing-xs) 0}.controls-panel{background:var(--background-white);border:1px solid var(--border-color);bottom:10px!important;bottom:var(--spacing-sm)!important;box-shadow:var(--shadow-light);left:10px!important;left:var(--spacing-sm)!important;max-height:calc(100vh - 80px)!important;overflow-y:auto!important;position:absolute!important;right:auto!important;top:10px!important;top:var(--spacing-sm)!important;width:320px!important;width:var(--panel-width-small)!important;z-index:100;z-index:var(--z-panels)}.controls-panel.large-width{width:400px!important;width:var(--panel-width-large)!important}.controls-panel.normal-width{width:350px!important;width:var(--panel-width-normal)!important}.controls-panel.collapsed{height:50px!important;max-height:50px!important;overflow:hidden!important}.controls-panel::-webkit-scrollbar{background:#f5f5f5;width:12px}.controls-panel::-webkit-scrollbar-thumb{background:#c8c8c8;border:2px solid #f5f5f5;border-radius:8px}.controls-panel::-webkit-scrollbar-thumb:hover{background:#999}.controls-panel::-webkit-scrollbar-track{background:#f5f5f5;border-radius:8px}.controls-panel{scrollbar-color:#c8c8c8 #f5f5f5;scrollbar-width:auto}.controls-panel>:last-child{margin-bottom:20px!important}.panel-title{background:#fff;background:var(--background-white);border-bottom:1px solid var(--border-color);color:#333;color:var(--text-color);padding:var(--spacing-md) 0}.panel-title.blue-bg{background-color:#3288e6;background-color:var(--primary-blue);color:#fff}.panel-title.google-blue-bg{background:#4285f4;background:var(--google-blue);color:#fff}.panel-title-row{background:var(--background-white);border-bottom:1px solid var(--border-color);color:var(--text-color);padding:12px var(--spacing-md)}.panel-title-row .panel-title{background:#0000;border:none;padding:0;text-align:left}.panel-toggle-button{color:var(--text-color);right:50px!important;top:var(--spacing-sm)}.panel-toggle-button:hover{background:#ddd;box-shadow:0 4px 12px #00000026;box-shadow:var(--shadow-medium)}.panel-toggle-button.dark{background-color:#4c4c4c;background-color:var(--secondary-gray);color:#fff}.panel-toggle-button.dark:hover{background-color:#333;background-color:var(--secondary-gray-hover)}.panel-section{border-top:1px solid #e0e0e0;border-top:1px solid var(--border-color);padding:15px;padding:var(--spacing-md)}.panel-section:first-child{border-top:none}.panel-section.no-border{border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--border-color);padding:10px;padding:var(--spacing-sm)}.section-header{margin-bottom:10px;margin-bottom:var(--spacing-sm)}.section-header h4{color:#333;color:var(--text-color);font-size:15px;font-weight:700}.section-content p{font-size:13px;line-height:1.5;margin-bottom:10px;margin-bottom:var(--spacing-sm)}.section-content ul{line-height:1.5;margin:0;padding-left:18px}.section-content li{font-size:13px;margin:4px 0}.section-toggle{background:none;border:none;border-bottom:1px solid var(--border-color);padding:12px var(--spacing-md);text-align:left;width:100%}.section-toggle:after{transition:transform .3s ease}.section-toggle.collapsed:after{transform:rotate(-90deg)}.input-group{margin:15px 0 25px;margin:var(--spacing-md) 0 25px 0}.input-group label{color:var(--text-color);margin-bottom:var(--spacing-sm)}.input-group input[type=range]{background:var(--border-color);outline:none}.input-group input[type=range]::-webkit-slider-thumb{background:var(--light-blue)}.input-group input[type=range]::-moz-range-thumb{background:#2196f3;background:var(--light-blue);border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}.input-group input[type=range].blue-thumb::-webkit-slider-thumb{background:#3288e6;background:var(--primary-blue)}.value-display{gap:10px;gap:var(--spacing-sm)}.value-display .slider{-webkit-appearance:none;background:#444;border-radius:3px;height:6px;outline:none}.value-display .slider::-webkit-slider-thumb{-webkit-appearance:none;background:#2196f3;background:var(--light-blue);border-radius:50%;cursor:pointer;height:16px;width:16px}.value-display .value{background-color:var(--light-blue);font-weight:700}.value-display .value.dark{background-color:#444}.value-display .value.rounded{border-radius:50px}.action-button{background:var(--secondary-gray);margin-top:var(--spacing-sm)}.action-button:hover{background:var(--secondary-gray-hover)}.action-button.blue,.action-button.primary{background:#3288e6;background:var(--primary-blue)}.action-button.blue:hover,.action-button.primary:hover{background:#2176c7;background:var(--primary-blue-hover)}.action-button.google-blue{background:#4285f4;background:var(--google-blue)}.action-button.google-blue:hover{background:#3367d6}.action-button.green{background:#4caf50;background:var(--success-green)}.action-button.green:hover{background:#45a049}.action-button.rounded{border-radius:8px;font-weight:600}.action-button.round{border-radius:4px}.buttons-container{background:var(--background-white);border-top:1px solid var(--border-color);padding:var(--spacing-md)}.buttons-container .action-button:first-child{margin-top:0}.buttons-container.sticky{bottom:0;box-shadow:0 -2px 5px #0000000d;margin:0 -15px -15px;margin:0 calc(var(--spacing-md)*-1) calc(var(--spacing-md)*-1);position:sticky}.preset-button,.sub-button{background-color:#eee;border:1px solid #ccc;border-radius:4px;color:#333;color:var(--text-color);cursor:pointer;font-size:13px;margin-right:8px;padding:6px 10px;transition:background-color .2s ease}.preset-button:hover,.sub-button:hover{background-color:#ddd}.preset-button{background-color:#3a7bd5;border-color:#3a7bd5;border-radius:6px;color:#fff;font-size:14px;padding:6px 12px}.preset-button:hover{background-color:#2a5ca0}.loading-box{padding:var(--spacing-md) 25px}.error-box,.loading-box{z-index:1000;z-index:var(--z-overlays)}.error-box{background:var(--error-bg);border-radius:4px;box-shadow:0 2px 10px #0000001a;box-shadow:var(--shadow-light);color:var(--error-red);font-weight:700;padding:10px 16px;padding:var(--spacing-sm) 16px;text-align:center;top:50%;transform:translate(-50%,-50%)}.tutorial-overlay{z-index:var(--z-tutorials)}.tutorial-container{border-radius:var(--spacing-sm);box-shadow:var(--shadow-heavy);z-index:calc(var(--z-tutorials) + 1)!important}.badge{border-radius:999px;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;white-space:nowrap}.badge--warn,.badge-warn{background:#ff9800;background:var(--warning-orange);color:#fff}.badge--ok,.badge-ok{background:#4caf50;background:var(--success-green);color:#fff}.badge--info,.badge-info{background:#2196f3;background:var(--light-blue);color:#fff}.iteration-badge{box-shadow:0 1px 4px #0000001f;padding:4px 10px;padding:4px var(--spacing-sm)}.note{background:#f6f6f6;border:1px solid #e8e8e8;border-radius:6px;color:#333;color:var(--text-color);font-size:12px;line-height:1.4;margin-top:8px;padding:6px 10px;padding:6px var(--spacing-sm)}.note--error,.note-error{background:#ffeaea;border-color:#ffb4b4;color:#b00020}.info-box{background:var(--background-light);border-left:4px solid var(--primary-blue);margin-bottom:var(--spacing-md);padding:var(--spacing-sm) 12px}.section-description{color:#666;color:var(--text-muted);font-size:13px;line-height:1.5;margin-bottom:12px}.panel-description{color:#555;font-size:12px;line-height:1.5;margin:6px 12px 12px}.estimated-time-box{background-color:#f4f4f4;border-radius:6px;color:#444;font-size:12px;margin:8px 12px;padding:6px 12px}.tip-list{font-size:13px;line-height:1.5;margin:0;padding-left:18px}.tip-list li{margin:6px 0}.tooltip{background:var(--primary-blue)}.tooltip-text{box-shadow:0 4px 12px #00000026;box-shadow:var(--shadow-medium);color:var(--text-color);margin-top:var(--spacing-xs);z-index:200;z-index:calc(var(--z-panels) + 100)}.progress-bar-container{background-color:#f0f0f0;border-radius:5px;height:10px;height:var(--spacing-sm);margin-top:10px;margin-top:var(--spacing-sm);position:relative;width:100%}.progress-bar{background-color:#4caf50;background-color:var(--success-green);border-radius:5px;height:100%;transition:width .3s ease}.progress-text{color:#333;color:var(--text-color);font-size:12px;position:absolute;right:0;top:-18px}.material-button{transition:all .2s ease}.legend{border:1px solid var(--border-color);bottom:var(--spacing-lg);box-shadow:0 4px 12px #00000026;box-shadow:var(--shadow-medium);left:var(--spacing-lg);padding:var(--spacing-sm) 12px}.alerts-stack{align-items:center;display:flex;flex-direction:column;gap:8px;left:50%;position:fixed;top:20px;transform:translateX(-50%);z-index:1000}.size-warning{background-color:var(--warning-orange);box-shadow:0 2px 10px #0000001a;box-shadow:var(--shadow-light);padding:var(--spacing-md)}.info-item{margin:10px 0}.info-item strong{display:block;margin-bottom:5px}.info-item ul{margin:5px 0;padding-left:20px}.info-item li{margin-bottom:3px}.cutting-steps{margin-top:6px}.step-item{margin-bottom:4px}.step-item,.step-number{align-items:center;display:flex}.step-number{border-radius:50%;color:#fff;font-size:11px;font-weight:700;height:18px;justify-content:center;margin-right:8px;width:18px}.step-desc{font-size:12px}.step-note{background:#f5f5f5;border-radius:3px;color:#666;color:var(--text-muted);font-size:11px;font-style:italic;margin-top:6px;padding:5px}.size-input{align-items:center;display:flex;margin-top:6px}.size-input label{font-size:13px;width:60px}.size-input input{font-size:13px;margin-left:6px;padding:3px;width:80px}.collapse-icon{color:var(--text-muted);cursor:pointer}.hidden{display:none!important}.invisible{visibility:hidden!important}.text-center{text-align:center!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.font-bold{font-weight:700!important}.uppercase{text-transform:uppercase!important}.no-margin{margin:0!important}.no-padding{padding:0!important}@media (max-width:768px){.controls-panel{bottom:10px;bottom:var(--spacing-sm);max-height:40vh;top:auto}.controls-panel,.dimensions-box{left:10px;left:var(--spacing-sm);right:10px;right:var(--spacing-sm);width:auto}.tutorial-container{padding:20px!important;padding:var(--spacing-lg)!important;width:95vw!important}}[data-page=needle-felt] .panel-title{color:#fff}[data-page=needle-felt] .action-button,[data-page=needle-felt] .panel-title{background:#4285f4;background:var(--google-blue)}[data-page=needle-felt] .action-button:hover{background:#3367d6}[data-page=hot-wire] .panel-title{background-color:#3288e6;background-color:var(--primary-blue);color:#fff}[data-page=hot-wire] .action-button{background:#3288e6;background:var(--primary-blue)}[data-page=hot-wire] .action-button:hover{background:#2176c7;background:var(--primary-blue-hover)}body{background-color:#fff;color:#000;font-family:Arial,sans-serif;font-size:13px;line-height:24px;margin:0;overscroll-behavior:none;padding:0}a{color:#3288e6;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}#info{box-sizing:border-box;padding:10px;pointer-events:none;position:absolute;text-align:center;top:0;-webkit-user-select:none;user-select:none;width:100%;z-index:1}#panel{left:0;overflow-y:auto;width:300px}#panel,#viewer-container{bottom:0;position:absolute;top:0}#viewer-container{height:100%;left:300px;overflow:auto;right:0;width:calc(100% - 300px)}#inputWrapper{position:relative}#filterInput{background-color:#000;border:1px solid #555;color:#fff;font-weight:400;padding:8px;width:100%}#keywordChips{background-color:#f0f0f0;border-radius:5px;display:none;margin-top:5px;opacity:0;padding:10px;transition:opacity .3s ease-in-out}.chip{align-items:center;background-color:#e0e0e0;border-radius:20px;cursor:pointer;display:inline-flex;font-size:12px;letter-spacing:.5px;margin:2px;padding:5px 10px;transition:background-color .3s ease}.chip img{height:30px;margin-right:5px;width:30px}#keywordChips .chip.selected{background-color:#3288e6;color:#fff}.item-keywords .chip{background-color:#f0f0f0;color:#333;cursor:default}.button-style{margin:0 5px}.card{cursor:move;font-size:.9375rem;transition:all .3s ease;-webkit-user-select:none;user-select:none}.card:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-2px)}.card.dragging{box-shadow:0 5px 15px #0003;opacity:.7;transform:scale(.95)}.viewer-item{padding:10px}.cover img{display:block;height:auto;width:100%}.title{color:#444;font-size:1.1rem;font-weight:700;margin:8px 0}.item-keywords{display:flex;flex-wrap:wrap;gap:5px}#viewer-container.dragover{background-color:#3288e60d;border:2px dashed #3288e6!important}#drag-overlay{background-color:#0000001a;bottom:0;display:none;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1001}#drag-drop-message{color:#888;font-size:18px;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.item-wrapper{height:100%;overflow:hidden;position:relative;width:100%}.item-wrapper iframe{border:none;height:100%;width:100%}.close-button{background-color:#00000080;border-radius:50%;font-size:16px;height:20px;line-height:1;padding:0;position:absolute;right:5px;top:5px;width:20px;z-index:10}.iframe-wrapper{transition:border-color .3s,transform .2s}.iframe-wrapper.selected{border-color:#3288e6;box-shadow:0 0 8px #3288e699}.iframe-wrapper.full-screen{height:100%!important}.wrapper-title{border-radius:4px;color:#333;font-size:16px}.select-button{border-radius:4px;font-size:14px;transition:background-color .2s}.select-button:hover{background-color:#3288e633}.duplicate-warning{animation:fadeInOut 3s ease-in-out}.controls-panel{z-index:50}.panel-title{padding:15px 0;text-align:center}.panel-title,.section-toggle{border-bottom:1px solid #e0e0e0}.section-toggle{align-items:center;cursor:pointer;display:flex;font-size:14px;padding:12px 15px}.section-toggle:after{content:"▼";font-size:12px;margin-left:auto}.input-group input[type=range]{-webkit-appearance:none;background:#e0e0e0;border-radius:3px;height:6px;margin-bottom:8px;width:100%}.input-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#2196f3;border-radius:50%;cursor:pointer;height:16px;width:16px}.value-display .slider{flex:1 1;margin-right:10px}.value-display .value{background-color:#444;width:30px}.error-box,.loading-box{border-radius:4px;box-shadow:0 2px 10px #0003;font-weight:700;padding:10px 16px;z-index:999}.loading-box{animation:fadeInOut 1.5s ease-in-out infinite alternate}@keyframes fadeInOut{0%{opacity:.7}to{opacity:1}}.error-box{background:#ffbaba;color:#d8000c}.tutorial-container{background:#fffffff7;border-radius:10px;box-shadow:0 8px 30px #00000040;font-size:15px;left:50%;line-height:1.6;max-height:80%;max-width:800px;padding:24px 32px;position:absolute;top:50%;transform:translate(-50%,-50%);width:60%;z-index:100}.input-group input[type=range],.value-display .slider{-webkit-appearance:none;background:#444;border-radius:3px;flex:1 1;height:6px;margin-right:10px}.value-display .value{background-color:#2196f3;border-radius:3px;color:#fff;font-size:14px;min-width:30px;padding:2px 6px;text-align:center}.material-switch{display:flex;gap:8px;margin-bottom:8px}.material-button{border:none;border-radius:8px;cursor:pointer;font-weight:600;opacity:.9;padding:6px 12px}.material-button.selected{opacity:1;outline:2px solid #222}.wood-btn{background:#b98f71;color:#fff}.acrylic-btn{background:#bfe3ff;color:#0b3a5b}.material-caption{color:#555;font-size:12px;margin-bottom:12px}.legend{background:#ffffffe6;border:1px solid #e0e0e0;border-radius:6px;bottom:20px;box-shadow:0 2px 6px #00000026;font-size:12px;left:20px;padding:10px 12px;position:absolute;z-index:120}.legend-row{align-items:center;display:flex;margin:4px 0;white-space:nowrap}.legend .swatch{border:1px solid #0003;border-radius:3px;display:inline-block;height:14px;margin-right:8px;width:14px}.panel-title{align-items:center;display:flex;gap:8px}.section-header{gap:8px}.section-content{padding-top:4px}.action-button{font-weight:600}.animated-arrow-container{left:-320px;pointer-events:none;position:fixed;top:50%;transform:translateY(-50%);z-index:2001}.animated-arrow{animation:pulse-arrow 2s infinite;height:50px;position:relative;width:180px}.arrow-line{background-color:#ff6b35;border-radius:4px;box-shadow:0 0 20px #ff6b3599;height:8px;right:0;width:140px}.arrow-head,.arrow-line{position:absolute;top:50%;transform:translateY(-50%)}.arrow-head{border-bottom:20px solid #0000;border-right:35px solid #ff6b35;border-top:20px solid #0000;filter:drop-shadow(0 0 15px rgba(255,107,53,.7));height:0;left:0;width:0}.arrow-text{background-color:#ff6b35e6;border-radius:20px;box-shadow:0 4px 12px #0000004d;color:#fff;font-size:16px;font-weight:700;left:50%;padding:8px 16px;position:absolute;top:-50px;transform:translateX(-50%);white-space:nowrap}@keyframes pulse-arrow{0%{opacity:1;scale:1;transform:translateY(-50%) translateX(0)}50%{opacity:.8;scale:1.1;transform:translateY(-50%) translateX(-20px)}to{opacity:1;scale:1;transform:translateY(-50%) translateX(0)}}.clickable-region{cursor:pointer}.clickable-region:hover{outline:2px solid orange}.correct-region{outline:2px solid green}.wrong-region{outline:2px solid red}.error-box,.loading-box{padding:10px 20px;top:20px}.driver-active *,.driver-active .driver-overlay{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;background-color:#fff;border-radius:5px;box-shadow:0 1px 10px #0006;box-sizing:border-box;color:#2d2d2d;margin:0;max-width:300px;min-width:250px;padding:15px;position:fixed;right:0;top:0;z-index:1000000000}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,Apple Color Emoji,Helvetica,Arial,sans-serif}.driver-popover-title{zoom:1;display:block;font:19px/normal sans-serif;font-weight:700;line-height:1.5;margin:0;position:relative}.driver-popover-close-btn{all:unset;color:#d2d2d2;cursor:pointer;font-size:18px;font-weight:500;height:28px;position:absolute;right:0;text-align:center;top:0;transition:color;transition-duration:.2s;width:32px;z-index:1}.driver-popover-close-btn:focus,.driver-popover-close-btn:hover{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{zoom:1;font:14px/normal sans-serif;font-weight:400;line-height:1.5;margin-bottom:0}.driver-popover-footer{zoom:1;align-items:center;display:flex;justify-content:space-between;margin-top:15px;text-align:right}.driver-popover-progress-text{zoom:1;color:#727272;font-size:13px;font-weight:400}.driver-popover-footer button{zoom:1;all:unset;background-color:#fff;border:1px solid #ccc;border-radius:3px;box-sizing:border-box;color:#2d2d2d;cursor:pointer;display:inline-block;font:12px/normal sans-serif;line-height:1.3;outline:0;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:focus,.driver-popover-footer button:hover{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{border:5px solid #fff;content:"";position:absolute}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{border-bottom-color:#0000;border-right-color:#0000;border-top-color:#0000;left:100%}.driver-popover-arrow-side-right{border-bottom-color:#0000;border-left-color:#0000;border-top-color:#0000;right:100%}.driver-popover-arrow-side-top{border-bottom-color:#0000;border-left-color:#0000;border-right-color:#0000;top:100%}.driver-popover-arrow-side-bottom{border-left-color:#0000;border-right-color:#0000;border-top-color:#0000;bottom:100%}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start,.driver-popover-arrow-side-top.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end,.driver-popover-arrow-side-top.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{margin-top:-5px;top:50%}.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center,.driver-popover-arrow-side-top.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}.canvas-container{background:#f0f0f0}.instruction-box{max-width:500px}.alternative-button{background:linear-gradient(135deg,#007bff,#0056b3);margin:8px 0;padding:15px 20px;position:relative;text-align:left;transition:all .3s ease;width:100%}.alternative-button:hover{box-shadow:0 6px 20px #007bff4d;transform:translateY(-2px)}.button-subtitle{color:#fffc}.feedback{background-color:#d32f2f1a;border-left:4px solid #d32f2f;color:#d32f2f;font-weight:700;margin-top:12px;padding:8px 12px}.error-box,.loading-box{align-items:center;bottom:400px;box-shadow:0 0 10px #0003;display:flex;flex-direction:column;font-size:14px;height:auto;justify-content:center;min-height:3px;padding:8px 16px;top:400px;transform:translateX(-50%);width:300px}.overhang-marker{cursor:pointer;transition:all .3s ease}.overhang-marker:hover{transform:scale(1.2)}.overhang-marker.high-risk{animation:pulse-red 2s infinite}.overhang-marker.medium-risk{animation:pulse-orange 2s infinite}@keyframes pulse-red{0%{box-shadow:0 0 0 0 #ff0000b3}70%{box-shadow:0 0 0 10px #f000}to{box-shadow:0 0 0 0 #f000}}@keyframes pulse-orange{0%{box-shadow:0 0 0 0 #ff8800b3}70%{box-shadow:0 0 0 8px #f800}to{box-shadow:0 0 0 0 #f800}}@media (max-width:768px){.instruction-box{bottom:20px;left:20px;max-width:none;padding:15px 20px;right:20px;transform:none}.instruction-box h3{font-size:16px}.instruction-box p{font-size:14px}.action-button{font-size:14px;padding:8px 16px}.alternative-button{padding:12px 15px}.button-subtitle{font-size:11px}}.overhang-info{background:#000000d9;border-radius:10px;bottom:20px;box-shadow:0 4px 12px #0006;color:#fff;font-size:15px;max-width:260px;padding:16px 20px;position:absolute;right:20px;z-index:100}.overhang-info h4{font-size:14px;margin:0 0 5px}.overhang-info .legend-item{align-items:center;display:flex;margin:3px 0}.overhang-info .legend-color{border-radius:50%;height:16px;margin-right:10px;width:16px}.overhang-info .legend-color.high{background-color:red}.overhang-info .legend-color.medium{background-color:#f80}.overhang-info .legend-color.low{background-color:#0f0}.canvas-container{background:#f5f5f5;height:100vh;position:relative}.instruction-box{background:#fff;border-radius:12px;bottom:40px;box-shadow:0 4px 20px #00000026;font-size:16px;left:50%;max-height:70vh;max-width:600px;overflow-y:auto;padding:20px 30px;position:absolute;text-align:center;transform:translateX(-50%);z-index:10}.instruction-box h3{color:#2c3e50;font-size:18px;margin-top:0}.instruction-box p{color:#34495e;line-height:1.5;margin:12px 0}.instruction-box ul{margin:10px 0;padding-left:20px;text-align:left}.instruction-box li{color:#34495e;margin:5px 0}.size-display{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;margin:15px 0;padding:15px;text-align:left}.size-info{background:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;color:#856404;font-size:16px;margin-bottom:10px;padding:10px}.constraint-info{background:#e7f3ff;border:1px solid #b8daff;border-radius:6px;color:#004085;padding:10px}.constraint-info ul{margin:8px 0;padding-left:20px}.constraint-info li{font-size:14px;margin:4px 0}.workflow-selection{grid-gap:12px;display:grid;gap:12px;margin:20px 0;max-width:100%}.workflow-option{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:10px;cursor:pointer;display:flex;padding:12px 16px;text-align:left;transition:all .3s ease}.workflow-option:hover{border-color:#3288e6;box-shadow:0 4px 12px #3288e633;transform:translateY(-2px)}.workflow-option.selected{background:#f0f7ff;border-color:#3288e6}.workflow-option.compatible{border-left:4px solid #28a745}.workflow-option.incompatible{border-left:4px solid #dc3545}.workflow-icon{font-size:24px;margin-right:12px;min-width:40px;text-align:center}.workflow-info{flex:1 1}.workflow-info strong{color:#2c3e50;display:block;margin-bottom:4px}.workflow-description{color:#6c757d;font-size:13px;line-height:1.3}.compatibility-hint{font-size:20px;margin-left:10px}.analysis-summary{background:#f8f9fa;border-radius:8px;margin:15px 0;padding:15px;text-align:left}.feasible-section,.problematic-section{margin-bottom:15px}.feasible-section h4{color:#28a745;font-size:16px;margin:0 0 8px}.problematic-section h4{color:#dc3545;font-size:16px;margin:0 0 8px}.problematic-section ul{margin:0;padding-left:20px}.problematic-section li{color:#666;margin:4px 0}.analysis-results{background:#f8f9fa;border-radius:8px;margin:15px 0;padding:15px;text-align:left}.analysis-results h4{font-size:16px;margin:15px 0 8px}.analysis-results h4:first-child{margin-top:0}.analysis-results ul{margin:8px 0;padding-left:20px}.analysis-results li{line-height:1.4;margin:8px 0}.action-button{background-color:#007bff;border-radius:8px;font-size:15px;margin:10px 5px;padding:10px 20px;transition:background-color .3s ease}.action-button:hover{background-color:#0056b3}.action-button:disabled{background-color:#6c757d}.solution-button{position:relative;text-align:left}.button-subtitle{color:#666;font-size:12px;font-weight:400;margin-top:5px}.feedback{background-color:#e3f2fd;border-left:4px solid #2196f3;border-radius:6px;color:#1565c0;font-size:14px;margin-top:15px;padding:12px 16px;text-align:left;white-space:pre-line}.completion-summary{background:#f8f9fa;border:2px solid #28a745;border-radius:8px;margin:15px 0;padding:15px;text-align:left}.completion-summary h4{color:#28a745;font-size:16px;margin:0 0 10px}.completion-summary ul{margin:0;padding-left:20px}.completion-summary li{color:#495057;margin:8px 0}.error-box,.loading-box{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;font-size:16px;left:50%;padding:20px 30px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:10}.loading-box{background:#e3f2fd;border-left:4px solid #2196f3;color:#1976d2}.error-box{background:#ffebee;border-left:4px solid #f44336;color:#c62828}.highlight-pulse{animation:keyword-pulse 4s ease-in-out}@keyframes keyword-pulse{0%{background-color:inherit;transform:scale(1)}25%{background-color:#ffeb3b;transform:scale(1.05)}50%{background-color:#ffc107;transform:scale(1.1)}75%{background-color:#ffeb3b;transform:scale(1.05)}to{background-color:inherit;transform:scale(1)}}.cameleon-tutorial-popover{background:linear-gradient(145deg,#fff,#f8f9fa)!important;border:2px solid #3288e6!important;border-radius:12px!important;box-shadow:0 10px 30px #3288e64d!important}.cameleon-tutorial-popover .driver-popover-title{color:#1a365d!important;font-size:18px!important;font-weight:700!important}.cameleon-tutorial-popover .driver-popover-description{color:#2d3748!important;line-height:1.5!important;white-space:pre-line!important}.cameleon-tutorial-popover .driver-popover-btn{background:#3288e6!important;border:none!important;border-radius:8px!important;color:#fff!important;font-weight:500!important;padding:8px 16px!important;transition:background-color .2s ease!important}.cameleon-tutorial-popover .driver-popover-btn:hover{background:#2872d1!important}@media (max-width:768px){.instruction-box{bottom:20px;left:20px;max-height:60vh;max-width:none;padding:15px 20px;right:20px;transform:none}.instruction-box h3{font-size:16px}.instruction-box p{font-size:14px}.action-button{font-size:14px;padding:8px 16px}.workflow-option{padding:10px 12px}.workflow-icon{font-size:20px;margin-right:8px;min-width:32px}.solution-button{padding:10px 12px}.button-subtitle{font-size:11px}.size-display{padding:12px}.constraint-info,.size-info{font-size:14px;padding:8px}}.step-indicator{background:#ffffffe6;border-radius:6px;color:#666;font-size:12px;padding:8px 12px;position:absolute;right:20px;top:20px;z-index:10}.constraint-visualization{background:#000c;border-radius:8px;color:#fff;font-size:13px;left:20px;max-width:250px;padding:15px;position:absolute;top:20px;z-index:10}.constraint-visualization h4{color:#ffeb3b;font-size:14px;margin:0 0 8px}.constraint-item{align-items:center;display:flex;justify-content:space-between;margin:4px 0}.constraint-item .machine{font-weight:500}.constraint-item .limit{color:#ccc;font-size:11px}.workflow-option.selected:before{align-items:center;background:#3288e6;border-radius:50%;color:#fff;content:"✓";display:flex;font-size:12px;font-weight:700;height:20px;justify-content:center;position:absolute;right:8px;top:8px;width:20px}.workflow-option{position:relative}.model-loader-container{display:flex;flex-direction:column;height:100vh;min-height:100vh;overflow:hidden;position:relative}#buttonContainer{background-color:#f5f5f5;border-bottom:1px solid #ddd;display:flex;gap:10px;justify-content:center;padding:10px;z-index:10}.button-style{background-color:#3288e6;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;margin-left:10px;margin-top:10px;padding:10px 15px;text-align:center;transition:background-color .3s ease,opacity .3s ease;width:120px}.button-style:disabled{background-color:#ccc;cursor:not-allowed}#viewport-container{display:flex;flex-wrap:wrap;gap:10px;height:calc(100vh - 100px);max-height:calc(100vh - 100px);overflow:hidden;padding:10px;position:relative}.iframe-wrapper{border:1px solid #ddd;flex:1 1;height:100%;max-height:100%;min-width:300px;overflow:hidden;position:relative;transition:border-color .3s,opacity .3s}.iframe-wrapper.selected{border-color:blue;box-shadow:0 0 5px #0000ff4d}.iframe-wrapper.full-screen{height:100vh!important;width:100%!important}.iframe-model{border:none;height:100%;pointer-events:auto;width:100%}.select-button{background:#fffc;border:1px solid #aaa;cursor:pointer;padding:5px 10px;position:absolute;right:10px;top:10px;transition:opacity .3s ease;z-index:5}.select-button:hover:not(:disabled){background:#c8c8ffcc}.select-button:disabled{cursor:not-allowed}.wrapper-title{background:#fffc;font-family:sans-serif;font-size:22px;left:50%;padding:5px 10px;pointer-events:none;position:absolute;top:10px;transform:translateX(-50%);z-index:5}.controls-bar{background-color:#fffc;border-top:1px solid #ddd;bottom:0;box-sizing:border-box;color:#333;font-family:Arial,sans-serif;font-size:12px;height:30px;padding:5px 10px;pointer-events:none;position:fixed;z-index:100}.controls-bar,.loading-overlay{align-items:center;display:flex;left:0;width:100%}.loading-overlay{background-color:#ffffffd9;cursor:wait;height:100%;justify-content:center;position:absolute;top:0;z-index:1000}.loading-content{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:column;max-width:80%;padding:30px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:5px solid #f3f3f3;border-radius:50%;border-top-color:#3288e6;height:50px;margin-bottom:20px;width:50px}.loading-text{color:#333;font-size:16px;margin-top:10px;max-width:300px}.loading-instructions{background-color:#f5f5f5cc;border:1px solid #ddd;border-radius:4px;color:#555;font-size:12px;margin-top:20px;padding:6px 10px;white-space:nowrap}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.empty-model-container{align-items:center;background-color:#f9f9f9;border:1px solid #ddd;border-radius:4px;box-sizing:border-box;color:#666;display:flex;flex:1 0 100%;font-size:16px;height:100%;justify-content:center;position:relative;width:100%}.shepherd-button{background:#3288e6;border:0;border-radius:3px;color:#fff;cursor:pointer;margin-right:.5rem;padding:.5rem 1.5rem;transition:all .5s ease}.shepherd-button:not(:disabled):hover{background:#196fcc}.shepherd-cancel-icon{background:#0000;border:none;color:#808080bf;cursor:pointer;font-size:2em;transition:color .5s ease}.shepherd-cancel-icon:hover{color:#000000bf}.shepherd-title{color:#000000bf;font-size:1.1em;font-weight:400;margin:0;padding:0}.shepherd-text{color:#000000bf;font-size:1em;line-height:1.5em;padding:.75em}.shepherd-content{border-radius:5px;outline:none;padding:0}.shepherd-element{z-index:9999!important}.shepherd-modal-overlay-container{z-index:9998!important}.panel-toggle-button:hover{background:#2176c7;box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}.container{font-family:Arial,sans-serif;margin:0;overflow:hidden;padding:0;position:relative}.canvas-container,.container{height:100%;left:0;top:0;width:100%}.canvas-container{position:absolute;z-index:1}.dimensions-box{background:#fff;border:1px solid #e0e0e0;border-radius:5px;box-shadow:0 2px 10px #0000001a;font-size:14px;padding:10px;position:absolute;right:40px;top:40px;width:280px;z-index:50}.dimensions-box .title{border-bottom:1px solid #e0e0e0;font-size:16px;font-weight:700;margin-bottom:5px;padding:0 0 5px}.dimensions-box div:not(.title){font-size:16px;font-weight:700;padding:2px 0}.info-box{background:#f9f9f9;border-left:4px solid #3288e6;font-size:13px;line-height:1.5;margin-bottom:15px;padding:10px 12px}.input-group{margin-bottom:25px;margin-top:15px}.input-group label{color:#333;display:block;font-size:14px;font-weight:400;margin-bottom:10px}.value-display{align-items:center;display:flex}.input-group input[type=range],.slider{-webkit-appearance:none;background:#e0e0e0;border-radius:3px;flex:1 1;height:6px;margin-right:10px;outline:none}.input-group input[type=range]::-webkit-slider-thumb,.slider::-webkit-slider-thumb{-webkit-appearance:none;background:#3288e6;border-radius:50%;cursor:pointer;height:16px;width:16px}.input-group input[type=range]::-moz-range-thumb,.slider::-moz-range-thumb{background:#3288e6;border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}.input-group input[type=range]:disabled,.slider:disabled{cursor:not-allowed;opacity:.5}.input-group input[type=range]:disabled::-webkit-slider-thumb,.slider:disabled::-webkit-slider-thumb{background:#aaa;cursor:not-allowed}.value{background-color:#3288e6;border-radius:3px;color:#fff;font-size:14px;min-width:30px;padding:2px 6px;text-align:center}.panel-content{max-height:calc(80vh - 60px);overflow-y:auto;padding:15px}.parameter-section{border-bottom:1px solid #f0f0f0;margin-bottom:15px}.section-header{align-items:center;cursor:pointer;display:flex;justify-content:space-between;padding:10px 0}.section-header h4{color:#3288e6;font-size:14px;margin:0;text-transform:uppercase}.section-toggle{color:#666;font-size:12px}.buttons-container{background:#fff;border-top:1px solid #e0e0e0;bottom:0;box-shadow:0 -2px 5px #0000000d;margin:0 -15px -15px;padding:15px;position:sticky}.loading-box{animation:pulse 1.5s ease-in-out infinite alternate;background:#000000b3;border-radius:5px;color:#fff;font-size:16px;font-weight:700;left:50%;padding:15px 25px;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:999}@keyframes pulse{0%{opacity:.7}to{opacity:1}}.error-box{background-color:#ff0000b3;color:#fff;left:50%;max-width:80%;padding:10px 15px;top:10px;transform:translateX(-50%);z-index:999}#mold-color-scale,.error-box{border-radius:5px;font-size:14px;position:absolute}#mold-color-scale{background-color:#fff;border:1px solid #e0e0e0;bottom:40px;box-shadow:0 2px 10px #0000001a;color:#333;padding:15px;right:40px;z-index:50}#mold-color-scale strong{display:block;font-size:16px;margin-bottom:10px}#mold-color-scale #close-scale{color:#999;cursor:pointer;font-size:16px;position:absolute;right:10px;top:10px}#mold-color-scale div[style*="display: flex"]{align-items:center;margin:8px 0}#mold-color-scale div[style*="width: 20px"]{border-radius:3px;height:20px;margin-right:10px;width:20px}#show-color-scale{background-color:#3288e6;border:none;border-radius:4px;bottom:40px;box-shadow:0 2px 5px #0003;color:#fff;cursor:pointer;font-size:14px;padding:8px 15px;position:absolute;right:40px;z-index:50}.size-warning{background-color:#ff9800;border-radius:5px;box-shadow:0 2px 10px #0003;color:#fff;font-size:14px;left:50%;line-height:1.4;max-width:80%;padding:15px;position:fixed;top:20px;transform:translateX(-50%);z-index:1000}.size-warning button{background:#0000;border:none;color:#fff;cursor:pointer;font-size:20px;position:absolute;right:10px;top:10px}.tutorial-overlay{background:#00000059;inset:0;position:fixed;z-index:30000}.tutorial-container{left:50%!important;max-height:80vh;overflow-y:auto;position:fixed!important;top:50%!important;transform:translate(-50%,-50%)!important;width:min(800px,90vw);z-index:30001!important}.tutorial-header{align-items:center;background-color:#3288e6;border-radius:5px 5px 0 0;color:#fff;display:flex;justify-content:space-between;padding:15px}.tutorial-header h2{font-size:18px;margin:0}.close-button{background:none;border:none;color:#fff;cursor:pointer;font-size:18px}.tutorial-content{padding:20px}.tutorial-step{border-bottom:1px solid #eee;margin-bottom:25px;padding-bottom:20px}.tutorial-step:last-child{border-bottom:none;margin-bottom:0}.tutorial-step h3{color:#3288e6;font-size:16px;margin-top:0}.tutorial-image{border:1px solid #e0e0e0;border-radius:4px;cursor:pointer;margin:15px 0;max-height:300px;object-fit:contain;transition:transform .2s;width:100%}.tutorial-image:hover{transform:scale(1.02)}.tutorial-video-link{color:#3288e6;display:inline-block;font-weight:700;margin-top:10px;text-decoration:none}.tutorial-video-link:hover{text-decoration:underline}.analysis-btn{background:#4caf50;margin-top:10px}.analysis-popup{background:#fff;border-radius:5px;box-shadow:0 0 20px #0003;left:50%;padding:20px;position:fixed;top:50%;transform:translate(-50%,-50%);width:300px;z-index:1000}.popup-buttons{display:flex;margin-top:15px}.popup-buttons button{flex:1 1;margin:0 5px}.score-good{color:green}.parameter-group{border-bottom:1px solid #f0f0f0;margin-bottom:15px;padding-bottom:15px}.parameter-group:last-child{border-bottom:none}.section-title{color:#3288e6;font-size:14px;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.tooltip{background:#3288e6;border-radius:50%;color:#fff;cursor:help;display:inline-block;font-size:12px;font-weight:700;height:16px;line-height:16px;margin-left:6px;position:relative;text-align:center;width:16px}.tooltip-text{word-wrap:break-word;background:#fff;border:1px solid #ddd;border-radius:5px;bottom:auto;box-shadow:0 3px 10px #00000026;color:#333;font-size:13px;left:50%;line-height:1.5;margin-top:5px;padding:12px;position:absolute;top:100%;transform:translateX(-50%);visibility:hidden;white-space:normal;width:240px;z-index:1000}.tooltip:hover .tooltip-text{visibility:visible}.tooltip.right-edge .tooltip-text{left:auto;right:0;transform:none}.tooltip.left-edge .tooltip-text{left:0;transform:none}.tooltip-text strong{color:#3288e6;display:block;margin-bottom:5px}.score-warning{color:orange}.score-bad{color:red}.controls-panel{background:#fff;border:1px solid #e0e0e0;border-radius:5px;box-shadow:0 2px 10px #0000001a;left:auto;max-height:80vh;overflow:hidden;padding:0;position:absolute;right:40px;top:200px;width:300px;z-index:20000}.controls-panel.collapsed{height:50px;max-height:50px}.collapse-icon{color:#666;font-size:12px;margin-left:auto}.action-button{background:#4c4c4c;border:none;border-radius:0;color:#fff;cursor:pointer;font-size:14px;font-weight:400;margin-top:10px;padding:12px;text-align:center;text-transform:uppercase;transition:background .2s ease;width:100%}.action-button:first-child{margin-top:0}.action-button:hover{background:#333}.action-button:disabled{background:#888;cursor:not-allowed}.panel-toggle-button{background:#eee;border:1px solid #ccc;border-radius:4px;color:#333;cursor:pointer;font-weight:700;padding:6px 12px;position:absolute;right:10px;top:10px;transition:all .3s ease;z-index:1000}.iteration-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;line-height:1;padding:4px 8px;white-space:nowrap}.badge--warn{background:#ff9800;color:#fff}.panel-title-row{align-items:center;background:#fff;border-bottom:1px solid #e0e0e0;color:#333;display:flex;gap:8px;justify-content:space-between;padding:12px 15px}.panel-title{background:#0000;border:none;font-size:18px;font-weight:700;margin:0;text-align:left}
/*# sourceMappingURL=main.3e56abbf.css.map*/