.admin-gateway-container{max-width:1200px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;height:100vh;overflow-y:auto;box-sizing:border-box}.admin-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.admin-header h2{margin:0 0 .5rem;color:#333;font-size:1.75rem}.admin-header p{margin:0;color:#666;font-size:.95rem}.back-btn{padding:.6rem 1.2rem;background:#6c757d;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.back-btn:hover{background:#5a6268;transform:translateY(-1px)}.admin-error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:1rem;border-radius:6px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.admin-tabs{display:flex;gap:.5rem;margin-bottom:2rem;border-bottom:2px solid #e0e0e0}.tab-button{padding:.75rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;color:#6c757d;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s;position:relative;bottom:-2px}.tab-button:hover{color:#667eea;background:#f8f9fa}.tab-button.active{color:#667eea;border-bottom-color:#667eea;font-weight:600}.error-close{background:transparent;border:none;color:#c33;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;line-height:1}.admin-actions{display:flex;gap:1rem;margin-bottom:2rem}.create-password-btn,.refresh-btn{padding:.75rem 1.5rem;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.create-password-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.create-password-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.refresh-btn{background:#f8f9fa;color:#333;border:1px solid #dee2e6}.refresh-btn:hover:not(:disabled){background:#e9ecef}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.create-form-container{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem;margin-bottom:2rem}.create-form-container h3{margin:0 0 1.5rem;color:#333;font-size:1.25rem}.create-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#555;font-size:.9rem}.form-group input[type=text],.form-group input[type=number]{padding:.6rem;border:1px solid #ced4da;border-radius:4px;font-size:.95rem;transition:border-color .2s}.form-group input[type=text]:focus,.form-group input[type=number]:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input[type=checkbox]{width:18px;height:18px;cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.generated-password{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#fff;border:1px solid #ced4da;border-radius:4px}.generated-password code{flex:1;font-family:Courier New,monospace;font-size:1rem;color:#667eea;font-weight:600}.regenerate-btn{padding:.5rem 1rem;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:background .2s}.regenerate-btn:hover{background:#5a6268}.form-actions{display:flex;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #dee2e6}.submit-btn,.cancel-btn{padding:.75rem 2rem;border:none;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:all .2s}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.cancel-btn{background:#f8f9fa;color:#333;border:1px solid #dee2e6}.cancel-btn:hover{background:#e9ecef}.password-type-selector{margin:1.5rem 0;padding:1.25rem;background:linear-gradient(135deg,#f0f4ff,#fff);border:2px solid #667eea;border-radius:8px;box-shadow:0 2px 8px #667eea1a}.password-type-selector h4{font-size:1rem;font-weight:700;margin:0 0 .5rem;color:#333}.password-type-selector .required{color:#dc3545;margin-left:4px}.password-type-selector .type-description{font-size:.85rem;color:#666;margin:.5rem 0 1rem;font-style:italic}.mode-options{display:flex;flex-direction:column;gap:10px}.mode-options label{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;transition:all .2s ease;background:#fff}.mode-options label:hover{background-color:#f8f9fa;border-color:#adb5bd}.mode-options label.selected{background-color:#eff2ff;border-color:#667eea;box-shadow:0 3px 12px #667eea33}.mode-options input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:#667eea;margin:0}.mode-options .type-label{font-size:.95rem;font-weight:600;color:#333;display:flex;align-items:center;gap:8px}.mode-options label.selected .type-label{color:#667eea}.mode-options .type-detail{font-size:.85rem;color:#999;margin-left:26px}.mode-options label.selected .type-detail{color:#667eea;font-weight:500}.mode-options span{color:#495057}.passwords-container{margin-top:2rem}.passwords-container h3{margin:0 0 1.5rem;color:#333;font-size:1.25rem}.loading,.no-passwords{text-align:center;padding:3rem;color:#6c757d;font-size:1rem}.passwords-list{display:flex;flex-direction:column;gap:1rem}.password-item{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:1.25rem;transition:all .2s}.password-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.password-item.expired{opacity:.7;border-color:#ffc107;background:#fffbf0}.password-item.exhausted{opacity:.6;border-color:#dc3545;background:#fff5f5}.password-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.password-main{display:flex;align-items:center;gap:.75rem;flex:1}.password-text{font-family:Courier New,monospace;font-size:1.1rem;color:#667eea;font-weight:600;padding:.5rem .75rem;background:#f8f9fa;border-radius:4px;cursor:pointer;transition:all .2s}.password-text:hover{background:#e9ecef;transform:scale(1.02)}.status-badge,.type-badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600}.status-badge.active{background:#d4edda;color:#155724}.status-badge.expired{background:#fff3cd;color:#856404}.status-badge.exhausted{background:#f8d7da;color:#721c24}.type-badge{text-transform:none}.type-badge.type-workshop{background:#dbeafe;color:#1e40af}.type-badge.type-consulting{background:#ede9fe;color:#6b21a8}.type-badge.type-admin{background:#fef3c7;color:#92400e}.delete-btn{padding:.5rem .75rem;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;transition:all .2s}.delete-btn:hover{background:#c82333;transform:scale(1.1)}.password-details{display:flex;flex-direction:column;gap:.5rem}.description,.session-code{margin:0;color:#555;font-size:.9rem}.session-code{font-family:Courier New,monospace;color:#667eea;font-weight:500}.meta-info{display:flex;gap:1.5rem;font-size:.85rem;color:#6c757d;padding-top:.5rem;border-top:1px solid #f0f0f0}.meta-info span{display:flex;align-items:center;gap:.25rem}.sessions-container{margin-top:2rem}.sessions-container h3{margin:0 0 1.5rem;color:#333;font-size:1.25rem}.no-sessions{text-align:center;padding:3rem;color:#6c757d;font-size:1rem}.sessions-list{display:flex;flex-direction:column;gap:1rem}.session-item{background:#fff;border:1px solid #dee2e6;border-radius:8px;padding:1.25rem;transition:all .2s}.session-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.session-main{display:flex;align-items:center;gap:.75rem;flex:1}.session-code-text{font-family:Courier New,monospace;font-size:1.1rem;color:#667eea;font-weight:600;padding:.5rem .75rem;background:#f8f9fa;border-radius:4px}.session-details{display:flex;flex-direction:column;gap:.5rem}.session-details p{margin:0;color:#555;font-size:.9rem}.session-details span{font-size:.85rem;color:#6c757d}@media(max-width:768px){.admin-gateway-container{padding:1rem}.admin-header{flex-direction:column;gap:1rem}.form-row{grid-template-columns:1fr}.meta-info{flex-direction:column;gap:.5rem}.admin-actions{flex-direction:column}.create-password-btn,.refresh-btn{width:100%}}.gateway-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:20px;position:fixed;inset:0;z-index:9999}.gateway-loading{text-align:center;color:#fff}.loading-spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.gateway-form{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:40px;box-shadow:0 20px 40px #0000001a;width:100%;max-width:600px;text-align:center;max-height:90vh;overflow-y:auto}.gateway-header{margin-bottom:30px}.gateway-title{font-size:2rem;font-weight:700;color:#333;margin:0 0 10px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gateway-subtitle{color:#666;font-size:1rem;margin:0;font-weight:400}.gateway-login-form,.form-group{margin-bottom:20px}.form-input{width:100%;padding:15px 20px;border:2px solid #e1e5e9;border-radius:12px;font-size:1rem;background:#f8f9fa;transition:all .3s ease;box-sizing:border-box}.form-input:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.form-input.error{border-color:#dc3545;background:#fff5f5}.form-input:disabled{opacity:.7;cursor:not-allowed}.error-message{background:#dc3545;color:#fff;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.9rem;font-weight:500}.submit-button{width:100%;padding:15px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.button-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin .8s linear infinite}.gateway-footer{border-top:1px solid #e1e5e9;padding-top:20px;margin-top:20px}.footer-text{color:#666;font-size:.9rem;margin:0}.gateway-intro-section{margin-top:30px;padding-top:30px;border-top:1px solid #e1e5e9;text-align:left}.intro-content h3{font-size:1.3rem;color:#333;margin:20px 0 12px;font-weight:600}.intro-content h3:first-child{margin-top:0}.intro-content p{color:#555;line-height:1.6;margin:10px 0;font-size:.95rem}.intro-content ul,.intro-content ol{color:#555;line-height:1.8;margin:12px 0;padding-left:24px}.intro-content li{margin:8px 0;font-size:.95rem}.intro-content li strong{color:#667eea;font-weight:600}.intro-footer{background:#f8f9fa;padding:16px;border-radius:10px;margin-top:20px}.intro-footer p{margin:0;color:#333;font-size:.95rem}.intro-footer strong{color:#667eea}.gateway-authenticated{height:100%;display:flex;flex-direction:column;overflow:hidden}.gateway-auth-header{display:flex;justify-content:space-between;align-items:center;padding:10px 20px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #e1e5e9;position:sticky;top:0;z-index:1000}.auth-status{display:flex;align-items:center;gap:8px}.auth-indicator{width:8px;height:8px;background:#28a745;border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.auth-text{color:#28a745;font-size:.9rem;font-weight:500}.auth-actions{display:flex;align-items:center;gap:10px}.admin-panel-button{padding:6px 14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s;display:flex;align-items:center;gap:4px}.admin-panel-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.logout-button{padding:6px 12px;background:#dc3545;color:#fff;border:none;border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.logout-button:hover{background:#c82333}.gateway-main-content{flex:1;display:flex;flex-direction:column;height:100%;overflow:hidden}@media(max-width:480px){.gateway-container{padding:10px}.gateway-form{padding:30px 20px;border-radius:15px}.gateway-title{font-size:1.5rem}.form-input,.submit-button{padding:12px 16px}}.session-modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:9999}.session-modal{background:#fff;border-radius:12px;padding:30px;max-width:600px;width:90%;box-shadow:0 10px 30px #0000004d}.session-modal h2{text-align:center;margin-bottom:10px;color:#2c3e50;font-size:24px}.session-modal p{text-align:center;color:#7f8c8d;margin-bottom:30px}.error-message{background-color:#fee;border:1px solid #fcc;color:#c33;padding:12px;border-radius:6px;margin-bottom:20px;text-align:center}.session-options{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:30px}@media(max-width:600px){.session-options{grid-template-columns:1fr}}.create-session,.join-session{border:2px solid #ecf0f1;border-radius:8px;padding:20px;text-align:center}.create-session h3,.join-session h3{margin-bottom:10px;color:#2c3e50;font-size:18px}.create-session p,.join-session p{color:#7f8c8d;font-size:14px;margin-bottom:20px}.create-btn,.join-btn{background-color:#3498db;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:16px;font-weight:600;transition:background-color .3s;width:100%}.create-btn:hover:not(:disabled),.join-btn:hover:not(:disabled){background-color:#2980b9}.create-btn:disabled,.join-btn:disabled{background-color:#bdc3c7;cursor:not-allowed}.input-group{display:flex;gap:10px;margin-bottom:16px}.input-group input{flex:1;padding:12px;border:2px solid #ecf0f1;border-radius:6px;font-size:16px;font-family:monospace;text-align:center;font-weight:700;letter-spacing:2px}.input-group input:focus{outline:none;border-color:#3498db}.session-name-input{width:100%;padding:12px;border:2px solid #ecf0f1;border-radius:6px;font-size:14px;margin-bottom:12px}.session-name-input:focus{outline:none;border-color:#3498db}.active-sessions{margin-top:30px;border-top:2px solid #ecf0f1;padding-top:20px}.active-sessions h3{margin-bottom:5px;color:#2c3e50;font-size:18px;text-align:center}.sessions-subtitle{color:#7f8c8d;font-size:13px;text-align:center;margin-bottom:15px}.sessions-list{display:flex;flex-direction:column;gap:12px;max-height:300px;overflow-y:auto;padding:5px}.sessions-list .loading{text-align:center;padding:20px;color:#7f8c8d}.session-item{background:#f8f9fa;border:2px solid #ecf0f1;border-radius:8px;padding:12px;transition:all .2s;display:flex;flex-direction:column;gap:8px}.session-item:hover{border-color:#3498db;box-shadow:0 2px 8px #3498db33}.session-item-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.session-item-name{font-weight:600;color:#2c3e50;font-size:14px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-item-code{font-family:monospace;font-weight:700;background-color:#e9ecef;padding:3px 8px;border-radius:4px;color:#495057;font-size:12px}.session-item-meta{display:flex;gap:15px;font-size:12px;color:#6c757d}.session-item-users,.session-item-time{display:flex;align-items:center;gap:4px}.session-item-join-btn{background-color:#28a745;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;transition:background-color .3s}.session-item-join-btn:hover:not(:disabled){background-color:#218838}.session-item-join-btn:disabled{background-color:#bdc3c7;cursor:not-allowed}.session-info-text{background-color:#f8f9fa;padding:20px;border-radius:8px;margin-top:20px}.session-info-text p{margin:8px 0;color:#495057;font-size:14px;text-align:left}.session-info{position:relative;width:100%;z-index:1000;margin-bottom:10px}.session-status{background:#fff;border-radius:8px;padding:12px 16px;box-shadow:0 2px 10px #0000001a;border:2px solid #e9ecef;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;max-width:800px;margin:0 auto}.session-code{font-family:monospace;font-weight:700;background-color:#e9ecef;padding:4px 8px;border-radius:4px;color:#495057;font-size:13px}.session-name-display{font-weight:600;color:#2c3e50;font-size:15px;padding:4px 8px;border-radius:4px;transition:background-color .2s;display:flex;align-items:center;gap:6px;cursor:pointer}.session-name-display:hover{background-color:#f8f9fa}.session-name-display .edit-icon{font-size:12px;opacity:.5;transition:opacity .2s}.session-name-display:hover .edit-icon{opacity:1}.session-name-edit{display:flex;align-items:center;gap:6px}.session-name-input-inline{padding:6px 10px;border:2px solid #3498db;border-radius:4px;font-size:14px;font-weight:600;min-width:200px}.session-name-input-inline:focus{outline:none;border-color:#2980b9}.save-name-btn,.cancel-name-btn{padding:4px 10px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s}.save-name-btn{background-color:#28a745;color:#fff}.save-name-btn:hover{background-color:#218838}.cancel-name-btn{background-color:#dc3545;color:#fff}.cancel-name-btn:hover{background-color:#c82333}.user-count{color:#28a745;font-weight:600}.connection-status{font-size:12px;font-weight:600}.connection-status.connected{color:#28a745}.connection-status.disconnected{color:#dc3545}.info-btn{background-color:#17a2b8;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;transition:background-color .3s}.info-btn:hover{background-color:#138496}.leave-btn{background-color:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;transition:background-color .3s}.leave-btn:hover{background-color:#c82333}.connection-guide-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10000;padding:20px}@media(max-width:768px){.session-status{flex-direction:column;align-items:flex-start;gap:8px}}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.editing-indicator{position:absolute;top:-8px;right:-8px;width:24px;height:24px;background:#ff6b6b;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1001;box-shadow:0 2px 8px #0000004d;border:2px solid white;animation:editingBounce 2s ease-in-out infinite}.editing-icon{font-size:12px;color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.editing-pulse{position:absolute;inset:-2px;border-radius:50%;border:2px solid #ff6b6b;animation:editingPulse 1.5s ease-out infinite}@keyframes editingBounce{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes editingPulse{0%{transform:scale(1);opacity:1}to{transform:scale(1.5);opacity:0}}.editing-indicator.sticky-note{top:-10px;right:-10px;width:20px;height:20px}.editing-indicator.sticky-note .editing-icon{font-size:10px}.editing-indicator.connection{position:relative;display:inline-flex;margin-left:4px;width:18px;height:18px;top:-2px}.editing-indicator.connection .editing-icon{font-size:8px}.editing-indicator:hover{transform:scale(1.2);cursor:help}.editing-indicator.theme-blue{background:#4dabf7}.editing-indicator.theme-green{background:#51cf66}.editing-indicator.theme-orange{background:#ff922b}.editing-indicator.theme-purple{background:#9775fa}@media(max-width:768px){.editing-indicator{width:20px;height:20px}.editing-indicator .editing-icon{font-size:10px}}.flow-node{padding:12px;border-radius:12px;border:2px solid #d1d5db;background:#fffffff2;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);min-width:150px;max-width:400px;container-type:inline-size;box-shadow:0 8px 32px #00000014,0 1px 2px #0000000d,inset 0 1px #fffc;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative;overflow:hidden;z-index:10}.flow-node.locked{cursor:not-allowed;opacity:.85;box-shadow:0 0 0 2px #ef44444d,0 8px 32px #00000014,0 1px 2px #0000000d,inset 0 1px #fffc}.flow-node.locked .node-content{opacity:.7}.flow-node.locked .node-textarea{background-color:#f3f4f6cc;cursor:not-allowed}.flow-node:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,#fff0,#fffc,#fff0);pointer-events:none}.flow-node.selected{border-color:#3b82f6;box-shadow:0 12px 48px #3b82f640,0 4px 16px #3b82f626,inset 0 1px #ffffffe6;transform:scale(1.02) translateZ(0)}.flow-node:hover{box-shadow:0 12px 40px #0000001f,0 2px 8px #00000014,inset 0 1px #ffffffd9;transform:translateY(-2px) translateZ(0)}.node-header{display:flex;align-items:center;gap:6px;margin-bottom:8px;padding-left:8px;border-left:4px solid #6b7280;flex-wrap:wrap}.layer-badge{font-size:11px;font-weight:700;color:#4b5563;text-transform:uppercase;letter-spacing:.5px}.frequency-badge{font-size:10px;color:#fff;padding:2px 6px;border-radius:4px;font-weight:600;white-space:nowrap;box-shadow:0 1px 2px #0003}.concept-tag{font-size:10px;background:#e5e7eb;color:#374151;padding:2px 6px;border-radius:4px;font-weight:500}.node-body{margin-bottom:8px;container-type:inline-size;container-name:body-container}.node-content{font-size:clamp(14px,8cqi,22px);line-height:1.4;color:#1f2937;word-break:keep-all;overflow-wrap:break-word;min-height:40px;text-align:center;display:flex;align-items:center;justify-content:center;font-weight:600;padding:8px}.node-textarea{width:100%;min-height:60px;padding:8px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;font-family:inherit;resize:vertical;outline:none;transition:border-color .2s}.node-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.node-footer{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding-top:8px;border-top:1px solid rgba(0,0,0,.08)}.source-tag,.basis-tag{font-size:11px;background:#f3f4f6;color:#6b7280;padding:4px 8px;border-radius:4px;display:block;text-align:center;line-height:1.4}.basis-tag{font-size:clamp(9px,2.5cqi,10px);background:#fef3c7;color:#92400e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flow-node.positive .node-header{border-left-color:#10b981}.flow-node.negative .node-header{border-left-color:#ef4444}.flow-node.neutral .node-header{border-left-color:#6b7280}.result-node{background:#fef2f2eb;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.behavior-node{background:#fef9e7eb;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.tangible-lever-node{background:#eff6ffeb;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.intangible-lever-node{background:#f5f3ffeb;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.custom-handle{width:12px;height:12px;background:#6b7280;border:2px solid white;transition:all .2s}.custom-handle:hover{background:#3b82f6;transform:scale(1.2)}.node-resizer-handle,.react-flow__resize-control.handle{width:16px!important;height:16px!important;border-radius:3px!important}@media(max-width:768px){.flow-node{min-width:140px;max-width:220px;padding:10px}.node-content,.node-textarea{font-size:13px}.layer-badge{font-size:10px}.custom-handle{width:16px;height:16px}}.mobile-gesture-guide-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mobile-gesture-guide{background:#fff;border-radius:16px;padding:24px;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;position:relative;animation:slideUp .4s ease-out}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.guide-close-button{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:#f3f4f6;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.guide-close-button:hover{background:#e5e7eb;transform:rotate(90deg)}.mobile-gesture-guide h2{font-size:24px;font-weight:700;margin:0 0 24px;color:#1f2937;text-align:center}.gesture-list{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.gesture-item{display:flex;align-items:center;gap:16px;padding:12px;background:#f9fafb;border-radius:12px;transition:transform .2s}.gesture-item:hover{transform:translate(4px);background:#f3f4f6}.gesture-icon{font-size:36px;width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;flex-shrink:0}.gesture-content h3{font-size:16px;font-weight:600;margin:0 0 4px;color:#374151}.gesture-content p{font-size:14px;margin:0;color:#6b7280}.gesture-tips{background:linear-gradient(135deg,#fef3c7,#fde68a);padding:16px;border-radius:12px;margin-bottom:24px}.gesture-tips h3{font-size:16px;font-weight:600;margin:0 0 12px;color:#92400e}.gesture-tips ul{margin:0;padding-left:20px;color:#78350f}.gesture-tips li{font-size:14px;line-height:1.6;margin-bottom:6px}.gesture-tips li:last-child{margin-bottom:0}.guide-action-button{width:100%;padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #667eea4d}.guide-action-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.guide-action-button:active{transform:translateY(0)}@media(max-width:480px){.mobile-gesture-guide{padding:20px;max-width:100%}.mobile-gesture-guide h2{font-size:20px;margin-bottom:20px}.gesture-icon{font-size:30px;width:50px;height:50px}.gesture-content h3{font-size:14px}.gesture-content p{font-size:12px}.gesture-tips h3{font-size:14px}.gesture-tips li{font-size:12px}}.mobile-gesture-guide::-webkit-scrollbar{width:6px}.mobile-gesture-guide::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.mobile-gesture-guide::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.mobile-gesture-guide::-webkit-scrollbar-thumb:hover{background:#9ca3af}.consulting-context-panel{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1rem;margin:1rem 0}.observation-section,.tone-section,.sentiment-section,.korean-culture-section{margin-bottom:1.5rem}.observation-section h4,.tone-section h4,.sentiment-section h4,.korean-culture-section h4{font-size:.95rem;font-weight:600;margin-bottom:.5rem;color:#495057}.observation-section textarea{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px;font-family:inherit;resize:vertical}.tone-section select,.sentiment-section select{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px}.sentiment-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.sentiment-grid label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.25rem;color:#6c757d}.checkbox-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1rem}.checkbox-grid label{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:4px;cursor:pointer}.checkbox-grid label:hover{background:#e9ecef}.checkbox-grid input[type=checkbox]{margin:0}.checkbox-grid span{font-size:.85rem;color:#495057}.korean-culture-section input[type=text]{width:100%;padding:.5rem;border:1px solid #ced4da;border-radius:4px}.left-panel,.left-panel *,.step,.step *,.step-title,.step-header,.step-header *,.step-content,.step-content *{writing-mode:horizontal-tb!important;text-orientation:mixed!important;direction:ltr!important;transform:none!important}.workshop-mode-header{text-align:center!important;margin-bottom:2rem!important;padding:1.5rem!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;border-radius:12px!important;color:#fff!important}.workshop-mode-header h2{margin:0 0 .5rem!important;font-size:1.5rem!important;font-weight:600!important}.workshop-mode-header p{margin:0!important;opacity:1!important;font-size:.95rem!important;color:#fff!important}.workflow-info{background-color:#e3f2fd!important;border:1px solid #bbdefb!important;border-radius:6px!important;padding:1rem!important;margin:1rem 0!important}.workflow-info h4{color:#1565c0!important;font-size:.95rem!important;font-weight:600!important;margin:0 0 .5rem!important}.workflow-info p{color:#1976d2!important;font-size:.85rem!important;margin:0!important;line-height:1.4!important}.workflow-info ul{margin:.5rem 0 0!important;padding-left:1.2rem!important}.workflow-info li{color:#1976d2!important;font-size:.85rem!important;margin:.2rem 0!important;line-height:1.3!important}.step-instructions{background-color:#f8f9fa!important;border:1px solid #dee2e6!important;border-radius:6px!important;padding:1rem!important;margin:1rem 0!important}.step-instructions h4{color:#495057!important;font-size:.95rem!important;font-weight:600!important;margin:0 0 .5rem!important}.step-instructions ol{margin:0!important;padding-left:1.2rem!important}.step-instructions li{color:#6c757d!important;font-size:.85rem!important;margin:.3rem 0!important;line-height:1.4!important}.workflow-complete{text-align:center!important;padding:1rem!important}.workflow-complete h4{color:#28a745!important;font-size:1.1rem!important;font-weight:600!important;margin:0 0 1rem!important}.completion-summary{display:flex!important;flex-direction:column!important;gap:.75rem!important;margin:1rem 0!important}.stage-summary{background-color:#d4edda!important;border:1px solid #c3e6cb!important;border-radius:6px!important;padding:.75rem!important;text-align:left!important}.stage-summary h5{color:#155724!important;font-size:.9rem!important;font-weight:600!important;margin:0 0 .3rem!important}.stage-summary p{color:#155724!important;font-size:.8rem!important;margin:0!important;line-height:1.3!important}.next-steps{background-color:#fff3cd!important;border:1px solid #ffeaa7!important;border-radius:6px!important;padding:1rem!important;margin-top:1rem!important;text-align:left!important}.next-steps h4{color:#856404!important;font-size:.95rem!important;font-weight:600!important;margin:0 0 .5rem!important}.next-steps ul{margin:0!important;padding-left:1.2rem!important}.next-steps li{color:#856404!important;font-size:.85rem!important;margin:.3rem 0!important;line-height:1.4!important}.left-panel .step-item{display:flex!important;flex-direction:column!important;width:100%!important;margin-bottom:1rem!important}.left-panel .step-header{display:flex!important;justify-content:space-between!important;align-items:center!important;min-height:60px!important;gap:1rem!important;padding:.8rem 1rem!important;cursor:pointer!important;border-left:5px solid #007bff!important;border-radius:8px 8px 0 0!important;width:100%!important;background-color:#f8f9fa!important}.left-panel .step-title{display:flex!important;flex-direction:row!important;align-items:center!important;writing-mode:horizontal-tb!important;text-orientation:mixed!important;direction:ltr!important;transform:none!important;flex:1!important;min-width:0!important;font-size:1.1rem!important;font-weight:600!important;color:#2c3e50!important;gap:.75rem!important;white-space:normal!important;word-wrap:break-word!important;word-break:keep-all!important;line-height:1.4!important;overflow-wrap:break-word!important}.left-panel .step-content{display:block!important;width:100%!important;padding:1rem!important;background-color:#fff!important;border:1px solid #e9ecef!important;border-top:none!important;border-radius:0 0 8px 8px!important;margin-top:0!important;overflow-y:auto!important;max-height:400px!important}.left-panel .step-icon,.left-panel .step-toggle{flex-shrink:0!important;width:24px!important;height:24px!important;display:flex!important;align-items:center!important;justify-content:center!important}.prompt-generator{padding:1rem;background-color:#f7f9fc;height:100%;box-sizing:border-box;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;font-family:inherit;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;min-height:0;flex:1}.step-item{background-color:#fff;border-radius:8px;border:1px solid #e0e6ed;transition:all .3s ease-in-out}.step-item.completed .step-header{border-left:5px solid #28a745}.step-item.open{box-shadow:0 4px 12px #00000014}.step-header{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;cursor:pointer;border-left:5px solid #007bff;border-radius:8px 8px 0 0;min-height:60px;gap:1rem;align-items:stretch}.step-title{display:flex;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:600;color:#2c3e50;flex:1;min-width:0;white-space:normal;word-wrap:break-word;word-break:keep-all;line-height:1.4;overflow-wrap:break-word}.step-icon{display:flex;align-items:center;justify-content:center;color:#007bff;flex-shrink:0;width:24px;height:24px}.step-item.completed .step-icon{color:#28a745}.step-toggle{font-size:1.2rem;font-weight:700;color:#7f8c8d;flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.step-content{padding:1rem;border-top:1px solid #e0e6ed;display:flex;flex-direction:column;gap:.8rem;word-wrap:break-word;word-break:keep-all;white-space:normal;line-height:1.6;width:100%;box-sizing:border-box}.step-content p{font-size:.9rem;color:#555;margin:.5rem 0 .2rem;line-height:1.6;word-wrap:break-word;word-break:keep-all;white-space:normal;max-width:100%;overflow-wrap:break-word}.step-content h4{font-size:1rem;font-weight:600;color:#2c3e50;margin:.5rem 0;word-wrap:break-word;word-break:keep-all;white-space:normal;line-height:1.4}.step-content ol,.step-content ul{margin:0;padding-left:1.5rem}.step-content li{margin:.3rem 0;font-size:.9rem;color:#555;line-height:1.4;word-wrap:break-word;word-break:keep-all;white-space:normal}.step-content textarea{width:100%;padding:.75rem;border:1px solid #dcdfe4;border-radius:4px;font-family:inherit;font-size:.9rem;box-sizing:border-box;resize:vertical;background-color:#fff;min-height:120px}.step-content .button-group{display:flex;gap:.5rem}.step-content button{flex-grow:1;padding:.75rem;border:none;border-radius:5px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;background-color:#007bff;color:#fff}.step-content button:hover{background-color:#0056b3;transform:translateY(-1px)}.step-content button:disabled{background-color:#6c757d;cursor:not-allowed;transform:none}.step-content button.btn-secondary{background-color:#6c757d;color:#fff}.step-content button.btn-secondary:hover{background-color:#545b62}.llm-links{margin:1rem 0}.llm-links h4{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#2c3e50}.llm-links .button-group{display:flex;gap:.5rem;flex-wrap:wrap}.btn-llm{flex:1;min-width:80px;padding:.6rem 1rem;border:2px solid #007bff;border-radius:5px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;background-color:#fff;color:#007bff;text-decoration:none}.btn-llm:hover{background-color:#007bff;color:#fff;transform:translateY(-1px)}.workshop-instructions{margin:1rem 0;padding:1rem;background-color:#f8f9fa;border-radius:5px;border-left:4px solid #007bff;word-wrap:break-word;word-break:keep-all;white-space:normal;line-height:1.5}.workshop-instructions h4{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#2c3e50;word-wrap:break-word;word-break:keep-all;white-space:normal;line-height:1.4}.workshop-instructions ol{margin:0;padding-left:1.5rem}.workshop-instructions li{margin:.3rem 0;font-size:.9rem;color:#555;line-height:1.4;word-wrap:break-word;word-break:keep-all;white-space:normal}.btn-primary{background-color:#007bff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:5px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .2s ease-in-out;width:100%;margin-top:.5rem}.btn-primary:hover{background-color:#0056b3;transform:translateY(-1px)}.btn-primary:disabled{background-color:#6c757d;cursor:not-allowed;transform:none}.left-panel .step-content h4{color:#2c3e50!important;font-size:1rem!important;font-weight:600!important;margin-bottom:.5rem!important;margin-top:1rem!important}.left-panel .step-content h4:first-child{margin-top:0!important}.left-panel .step-content p{color:#495057!important;font-size:.9rem!important;line-height:1.5!important;margin-bottom:1rem!important}.left-panel .step-content ol{padding-left:1.2rem!important;margin-bottom:1rem!important}.left-panel .step-content li{color:#495057!important;font-size:.9rem!important;line-height:1.4!important;margin-bottom:.3rem!important}.left-panel .button-group{display:flex!important;flex-direction:column!important;gap:.5rem!important;margin-top:1rem!important}.left-panel .btn-llm,.left-panel .btn-primary,.left-panel button{width:100%!important;padding:.6rem 1rem!important;border:none!important;border-radius:6px!important;font-size:.9rem!important;font-weight:500!important;cursor:pointer!important;transition:background-color .2s ease!important}.left-panel .btn-llm{background-color:#007bff!important;color:#fff!important}.left-panel .btn-llm:hover{background-color:#0056b3!important}.left-panel .btn-primary{background-color:#28a745!important;color:#fff!important}.left-panel .btn-primary:hover{background-color:#1e7e34!important}.left-panel textarea{width:100%!important;padding:.8rem!important;border:1px solid #ddd!important;border-radius:6px!important;font-size:.85rem!important;line-height:1.4!important;resize:vertical!important;margin-bottom:1rem!important}@media(max-width:768px){.llm-links .button-group{flex-direction:column}.btn-llm{flex:none;width:100%}.workshop-instructions{padding:.75rem}.workshop-instructions ol{padding-left:1.2rem}}.claude-chain-mode{display:flex!important;flex-direction:column!important;gap:1.5rem!important;padding:1rem!important;background-color:#fff!important;border-radius:8px!important;border:1px solid #e9ecef!important}.chain-intro{text-align:center!important;padding:1rem!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;border-radius:8px!important;color:#fff!important}.chain-intro h3{font-size:1.3rem!important;font-weight:700!important;margin:0 0 .5rem!important}.chain-intro p{font-size:.95rem!important;margin:0!important;opacity:.9!important}.chain-input-section{display:flex!important;flex-direction:column!important;gap:.5rem!important}.chain-input-section h4{color:#2c3e50!important;font-size:1rem!important;font-weight:600!important;margin:0!important}.chain-input-section textarea{width:100%!important;padding:1rem!important;border:2px solid #e9ecef!important;border-radius:8px!important;font-size:.9rem!important;line-height:1.5!important;resize:vertical!important;font-family:inherit!important;box-sizing:border-box!important}.chain-input-section textarea:focus{outline:none!important;border-color:#007bff!important;box-shadow:0 0 0 .2rem #007bff40!important}.chain-input-section textarea:disabled{background-color:#f8f9fa!important;color:#6c757d!important;cursor:not-allowed!important}.chain-progress-section{background-color:#f8f9fa!important;border:1px solid #dee2e6!important;border-radius:8px!important;padding:1rem!important}.chain-progress-section h4{color:#495057!important;font-size:1rem!important;font-weight:600!important;margin:0 0 1rem!important}.chain-progress-bar{position:relative!important;width:100%!important;height:20px!important;background-color:#e9ecef!important;border-radius:10px!important;overflow:hidden!important;margin-bottom:1rem!important}.chain-progress-fill{height:100%!important;background:linear-gradient(90deg,#007bff,#0056b3)!important;border-radius:10px!important;transition:width .3s ease!important}.chain-progress-text{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;font-size:.75rem!important;font-weight:600!important;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.3)!important}.chain-steps{display:flex!important;align-items:center!important;gap:1rem!important;margin-bottom:1rem!important}.chain-step{flex:1!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:.5rem!important;padding:.75rem!important;border-radius:8px!important;font-size:.9rem!important;font-weight:500!important;transition:all .3s ease!important;background-color:#e9ecef!important;color:#6c757d!important}.chain-step.active{background-color:#007bff!important;color:#fff!important;box-shadow:0 2px 4px #007bff4d!important}.chain-step.completed{background-color:#28a745!important;color:#fff!important}.chain-arrow{font-size:1.2rem!important;color:#6c757d!important;font-weight:700!important}.step-spinner{animation:spin 1s linear infinite!important}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.step-check{font-size:1.1rem!important;font-weight:700!important}.chain-error{background-color:#f8d7da!important;border:1px solid #f5c6cb!important;color:#721c24!important;padding:.75rem!important;border-radius:6px!important;font-size:.9rem!important}.chain-controls,.chain-start-controls{display:flex!important;flex-direction:column!important;gap:1rem!important}.chain-start-btn{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;border:none!important;padding:1rem 2rem!important;border-radius:8px!important;font-size:1rem!important;font-weight:600!important;cursor:pointer!important;transition:all .3s ease!important;box-shadow:0 4px 6px #0000001a!important}.chain-start-btn:hover:not(:disabled){transform:translateY(-2px)!important;box-shadow:0 6px 12px #00000026!important}.chain-start-btn:disabled{background:#6c757d!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}.chain-features{background-color:#e3f2fd!important;border:1px solid #bbdefb!important;border-radius:8px!important;padding:1rem!important}.chain-features h5{color:#1565c0!important;font-size:.95rem!important;font-weight:600!important;margin:0 0 .5rem!important}.chain-features ul{margin:0!important;padding-left:1.2rem!important}.chain-features li{color:#1976d2!important;font-size:.85rem!important;margin:.3rem 0!important;line-height:1.4!important}.chain-active-controls{display:flex!important;justify-content:center!important}.chain-stop-btn{background-color:#dc3545!important;color:#fff!important;border:none!important;padding:.75rem 1.5rem!important;border-radius:6px!important;font-size:.9rem!important;font-weight:500!important;cursor:pointer!important;transition:background-color .2s ease!important}.chain-stop-btn:hover{background-color:#c82333!important}.chain-reset-section{display:flex!important;justify-content:center!important}.chain-reset-btn{background-color:#6c757d!important;color:#fff!important;border:none!important;padding:.5rem 1rem!important;border-radius:6px!important;font-size:.85rem!important;font-weight:500!important;cursor:pointer!important;transition:background-color .2s ease!important}.chain-reset-btn:hover{background-color:#545b62!important}.chain-result-section{background-color:#d4edda!important;border:1px solid #c3e6cb!important;border-radius:8px!important;padding:1rem!important}.chain-result-section h4{color:#155724!important;font-size:1rem!important;font-weight:600!important;margin:0 0 1rem!important}.chain-result-box{background-color:#fff!important;border:1px solid #c3e6cb!important;border-radius:6px!important;padding:1rem!important;max-height:300px!important;overflow-y:auto!important}.chain-result-box pre{margin:0!important;font-size:.85rem!important;line-height:1.4!important;white-space:pre-wrap!important;word-wrap:break-word!important;color:#495057!important}.execution-mode-selector{background-color:#f8f9fa!important;border:1px solid #dee2e6!important;border-radius:8px!important;padding:1rem!important;margin:1rem 0!important}.execution-mode-selector h4{color:#495057!important;font-size:.95rem!important;font-weight:600!important;margin:0 0 .75rem!important}.mode-options{display:flex!important;flex-direction:column!important;gap:.5rem!important}.mode-options label{display:flex!important;align-items:center!important;gap:.5rem!important;cursor:pointer!important;padding:.5rem!important;border-radius:6px!important;transition:background-color .2s ease!important}.mode-options label:hover{background-color:#e9ecef!important}.mode-options input[type=radio]{margin:0!important;accent-color:#007bff!important}.mode-options span{color:#495057!important;font-size:.9rem!important;font-weight:500!important;line-height:1.4!important}.button-group{display:flex!important;gap:.5rem!important;margin-top:1rem!important;align-items:center!important}.button-group .btn-primary{flex:1!important;margin:0!important}.button-group .btn-secondary{flex:1!important;background-color:#6c757d!important;color:#fff!important;border:none!important;padding:.75rem 1rem!important;border-radius:5px!important;font-size:.95rem!important;font-weight:500!important;cursor:pointer!important;transition:all .2s ease-in-out!important;margin:0!important}.button-group .btn-secondary:hover:not(:disabled){background-color:#545b62!important;transform:translateY(-1px)!important}.button-group .btn-secondary:disabled{background-color:#adb5bd!important;cursor:not-allowed!important;transform:none!important}.auto-execution-panel{background-color:#e3f2fd!important;border:2px solid #2196f3!important;border-radius:8px!important;padding:1rem!important;margin:1rem 0!important}.auto-execution-panel h4{color:#1565c0!important;font-size:1rem!important;font-weight:600!important;margin:0 0 .75rem!important}.auto-execution-panel p{color:#1976d2!important;font-size:.9rem!important;margin:0 0 1rem!important;line-height:1.4!important}.auto-execution-panel textarea{width:100%!important;padding:1rem!important;border:2px solid #bbdefb!important;border-radius:8px!important;font-size:.9rem!important;line-height:1.5!important;resize:vertical!important;font-family:inherit!important;box-sizing:border-box!important;background-color:#fff!important;margin-bottom:1rem!important}.auto-execution-panel textarea:focus{outline:none!important;border-color:#2196f3!important;box-shadow:0 0 0 .2rem #2196f340!important}.chain-progress{margin-top:1rem!important;padding:1rem!important;background-color:#fff!important;border:1px solid #bbdefb!important;border-radius:8px!important}.progress-bar{position:relative!important;width:100%!important;height:24px!important;background-color:#e9ecef!important;border-radius:12px!important;overflow:hidden!important;margin-bottom:.75rem!important}.progress-fill{height:100%!important;background:linear-gradient(90deg,#4caf50,#2196f3)!important;border-radius:12px!important;transition:width .5s ease!important;box-shadow:0 2px 4px #0000001a!important}.progress-text{text-align:center!important;color:#1565c0!important;font-size:.9rem!important;font-weight:600!important;margin:0!important}.connection-status{padding:1rem!important;border-radius:8px!important;margin:1rem 0!important}.connection-status.success{background-color:#d4edda!important;border:1px solid #c3e6cb!important}.connection-status.warning{background-color:#fff3cd!important;border:1px solid #ffeaa7!important}.connection-status p{color:#155724!important;font-size:.9rem!important;font-weight:500!important;margin:0 0 1rem!important}.connection-status.warning p{color:#856404!important}.preview-box{background-color:#fff!important;border:1px solid #c3e6cb!important;border-radius:6px!important;padding:1rem!important;max-height:200px!important;overflow-y:auto!important}.preview-box strong{color:#155724!important;font-size:.9rem!important;font-weight:600!important;display:block!important;margin-bottom:.5rem!important}.preview-box pre{margin:0!important;font-size:.8rem!important;line-height:1.4!important;white-space:pre-wrap!important;word-wrap:break-word!important;color:#495057!important;font-family:Monaco,Menlo,Ubuntu Mono,monospace!important}.chain-execution-option{background-color:#fff8e1!important;border:2px solid #ffcc02!important;border-radius:8px!important;padding:1rem!important;margin-top:1rem!important}.chain-execution-option h4{color:#e65100!important;font-size:1rem!important;font-weight:600!important;margin:0 0 .5rem!important}.chain-execution-option p{color:#f57c00!important;font-size:.9rem!important;margin:0 0 1rem!important;line-height:1.4!important}.btn-chain{background:linear-gradient(135deg,#ff9800,#f57c00)!important;color:#fff!important;border:none!important;padding:.75rem 1.5rem!important;border-radius:8px!important;font-size:.95rem!important;font-weight:600!important;cursor:pointer!important;transition:all .3s ease!important;box-shadow:0 3px 6px #ff98004d!important;width:100%!important}.btn-chain:hover:not(:disabled){background:linear-gradient(135deg,#f57c00,#e65100)!important;transform:translateY(-2px)!important;box-shadow:0 5px 10px #ff980066!important}.btn-chain:disabled{background:#bdbdbd!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}.btn-primary{position:relative!important;overflow:hidden!important}.btn-primary:disabled{background-color:#6c757d!important;cursor:not-allowed!important;transform:none!important}@keyframes pulse{0%{box-shadow:0 0 #007bff66}70%{box-shadow:0 0 0 10px #007bff00}to{box-shadow:0 0 #007bff00}}.btn-primary:not(:disabled):active,.btn-chain:not(:disabled):active{animation:pulse 1.5s infinite!important}@media(max-width:768px){.auto-execution-panel{padding:.75rem!important;margin:.75rem 0!important}.auto-execution-panel textarea{padding:.75rem!important;font-size:.85rem!important}.chain-progress{padding:.75rem!important}.progress-bar{height:20px!important}.preview-box{max-height:150px!important;padding:.75rem!important}.chain-execution-option{padding:.75rem!important}.btn-chain{padding:.6rem 1rem!important;font-size:.9rem!important}}@media(max-width:768px){.mode-options{gap:.25rem!important}.mode-options label{padding:.4rem!important}.mode-options span{font-size:.85rem!important}.button-group{flex-direction:column!important;gap:.75rem!important}.button-group .btn-primary,.button-group .btn-secondary{width:100%!important;flex:none!important}}.analysis-textarea{width:100%!important;padding:1rem!important;border:2px solid #dee2e6!important;border-radius:8px!important;font-size:.9rem!important;line-height:1.5!important;resize:vertical!important;font-family:inherit!important;box-sizing:border-box!important;background-color:#fff!important;margin-bottom:1rem!important}.analysis-textarea:focus{outline:none!important;border-color:#007bff!important;box-shadow:0 0 0 .2rem #007bff40!important}.theory-content{padding:1rem!important}.theory-layers{display:flex!important;flex-direction:column!important;gap:1rem!important;margin-top:1rem!important}.layer{padding:1rem!important;border-left:4px solid #007bff!important;background-color:#f8f9fa!important;border-radius:0 8px 8px 0!important}.layer strong{display:block!important;color:#007bff!important;margin-bottom:.5rem!important;font-size:1rem!important}.layer p{margin:0!important;color:#6c757d!important;font-size:.9rem!important;line-height:1.4!important}.ai-tools-section{padding:1rem!important}.ai-tools-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important;gap:.75rem!important;margin-top:1rem!important}.btn-tool{padding:.75rem 1rem!important;border:2px solid #dee2e6!important;border-radius:8px!important;background-color:#fff!important;color:#495057!important;font-size:.9rem!important;font-weight:500!important;cursor:pointer!important;transition:all .2s ease!important;text-decoration:none!important}.btn-tool:hover{border-color:#007bff!important;color:#007bff!important;transform:translateY(-2px)!important;box-shadow:0 2px 8px #007bff26!important}@media(max-width:768px){.workshop-mode-header{padding:1rem!important;margin-bottom:1.5rem!important}.workshop-mode-header h2{font-size:1.25rem!important}.theory-layers{gap:.75rem!important}.layer{padding:.75rem!important}.ai-tools-grid{grid-template-columns:1fr!important;gap:.5rem!important}.btn-tool{padding:.6rem .8rem!important;font-size:.85rem!important}}.ai-tools-toolbar{background:linear-gradient(135deg,#f8f9fa,#e9ecef)!important;border:2px solid #dee2e6!important;border-radius:12px!important;padding:1.5rem!important;margin-bottom:2rem!important;box-shadow:0 2px 8px #0000000d!important}.ai-tools-toolbar h3{color:#495057!important;font-size:1.1rem!important;font-weight:600!important;margin:0 0 1rem!important;text-align:center!important}.ai-tools-toolbar .ai-tools-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))!important;gap:.75rem!important}.ai-tools-toolbar .btn-tool{display:flex!important;flex-direction:column!important;align-items:center!important;gap:.5rem!important;padding:.75rem .5rem!important;border:2px solid #dee2e6!important;border-radius:8px!important;background-color:#fff!important;color:#495057!important;font-size:.8rem!important;font-weight:500!important;cursor:pointer!important;transition:all .2s ease!important;text-decoration:none!important;min-height:70px!important}.ai-tools-toolbar .btn-tool:hover{border-color:#007bff!important;color:#007bff!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #007bff26!important;background-color:#f8f9ff!important}.tool-icon{font-size:1.2rem!important;line-height:1!important}.tool-name{font-size:.75rem!important;font-weight:500!important;text-align:center!important}.analysis-features{background-color:#f8f9fa!important;border-left:4px solid #28a745!important;border-radius:0 8px 8px 0!important;padding:1rem!important;margin:1rem 0!important}.analysis-features h4{color:#155724!important;font-size:.95rem!important;font-weight:600!important;margin:0 0 .75rem!important}.analysis-features ul{margin:0!important;padding-left:1.2rem!important}.analysis-features li{color:#495057!important;font-size:.85rem!important;line-height:1.4!important;margin-bottom:.4rem!important}.analysis-features li:last-child{margin-bottom:0!important}.report-notice{background-color:#fff3cd!important;border-left:4px solid #ffc107!important;border-radius:0 8px 8px 0!important;padding:1rem!important;margin:1rem 0!important}.report-notice h4{color:#856404!important;font-size:.95rem!important;font-weight:600!important;margin:0 0 .5rem!important}.report-notice p{color:#856404!important;font-size:.85rem!important;line-height:1.4!important;margin:0!important}@media(max-width:768px){.ai-tools-toolbar{padding:1rem!important;margin-bottom:1.5rem!important}.ai-tools-toolbar .ai-tools-grid{grid-template-columns:repeat(4,1fr)!important;gap:.5rem!important}.ai-tools-toolbar .btn-tool{padding:.5rem .25rem!important;min-height:60px!important}.tool-icon{font-size:1rem!important}.tool-name{font-size:.7rem!important}.analysis-features{padding:.75rem!important}.analysis-features li{font-size:.8rem!important}}.context-panel-section{margin:15px 0;padding:15px;background-color:#f9f9f9;border-radius:4px;border-left:4px solid #007acc}.context-panel-section h4{margin-top:0;color:#333;font-size:1rem;font-weight:600}.context-panel-section p{font-size:14px;color:#666;margin-bottom:10px}.copy-prompt-btn{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;margin-top:1rem;box-shadow:0 2px 8px #00000026}.copy-prompt-btn:hover:not(:disabled){background:linear-gradient(135deg,#1a252f,#2c3e50);transform:translateY(-2px);box-shadow:0 4px 12px #00000040}.copy-prompt-btn:disabled{background:#4a5568;color:#a0aec0;cursor:not-allowed;transform:none;box-shadow:none}.copy-prompt-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 4px #0003}.prompt-button-group{display:flex;flex-direction:column;gap:8px;margin-top:12px}.prompt-button-group .copy-prompt-btn{width:100%;text-align:left;padding:10px 16px;font-size:14px;margin-top:0}.prompt-button-group .copy-prompt-btn:hover:not(:disabled){transform:translate(4px);transition:transform .2s ease}.export-menu{display:flex;align-items:center;gap:8px}.export-button{padding:8px 16px;border:1px solid rgba(59,130,246,.5);border-radius:999px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.1);box-shadow:0 4px 16px #3b82f640}.export-button:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 6px 20px #3b82f659;border-color:#3b82f6b3}.export-button:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 16px #3b82f640}.export-error{position:fixed;bottom:24px;right:24px;padding:12px 20px;background:#ef4444e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:12px;color:#fff;font-size:14px;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease;z-index:9999}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.export-button{padding:8px 12px;font-size:16px}.export-button span:not(.spinner){display:none}}/*!
 * Quill Editor v2.0.2
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media(pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}@font-face{font-family:NanumGothic;src:url(/fonts/NanumGothic.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:NanumGothic;src:url(/fonts/NanumGothic.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}.report-editor{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden;font-family:NanumGothic,Noto Sans KR,Segoe UI,sans-serif}.editor-toolbar{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f9fafb;border-bottom:2px solid #e5e7eb;flex-shrink:0}.export-buttons{display:flex;gap:8px}.export-button{padding:6px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.export-button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.export-button:disabled{opacity:.5;cursor:not-allowed}.edit-toggle-button{padding:8px 16px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.edit-toggle-button:hover{background:#f9fafb;border-color:#9ca3af}.edit-toggle-button--active{background:#3b82f6;color:#fff;border-color:#3b82f6}.edit-toggle-button--active:hover{background:#2563eb;border-color:#2563eb}.editor-container{flex:1;display:flex;flex-direction:column;padding:0;background:#fff;border:2px solid #3b82f6;border-radius:8px;overflow:hidden;min-height:500px}.editor-container .ql-toolbar{background:#f3f4f6!important;border-bottom:2px solid #e5e7eb!important;padding:12px!important;flex-shrink:0;min-height:auto!important;height:auto!important;max-height:80px!important}.editor-container .ql-container{font-size:14px;font-family:NanumGothic,Noto Sans KR,Segoe UI,sans-serif;flex:1;background:#fff!important;border:none!important}.editor-container .ql-editor{flex:1;padding:20px;font-size:15px;line-height:1.8;min-height:400px}.editor-container .ql-editor.ql-blank:before{color:#9ca3af;font-style:normal}.report-viewer{flex:1;padding:24px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;overflow-y:auto;min-height:500px}.report-content{font-size:14px;line-height:1.7;color:#374151;font-family:NanumGothic,Noto Sans KR,Segoe UI,sans-serif}.report-content h1{font-size:24px;font-weight:700;margin-bottom:16px;color:#111827}.report-content h2{font-size:20px;font-weight:600;margin-bottom:12px;margin-top:24px;color:#1f2937}.report-content h3{font-size:16px;font-weight:600;margin-bottom:8px;margin-top:16px;color:#374151}.report-content p{margin-bottom:12px}.report-content ul,.report-content ol{margin-left:24px;margin-bottom:12px}.report-content li{margin-bottom:4px}.report-content strong{font-weight:600;color:#111827}.report-content em{font-style:italic;color:#4b5563}.report-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:350px;color:#9ca3af;text-align:center}.report-empty p{margin:4px 0;font-size:14px}.report-empty p:first-child{font-weight:500;color:#6b7280}@media(max-width:768px){.report-editor{padding:12px}.editor-container{min-height:300px}.editor-container .ql-editor{min-height:250px}.report-viewer{min-height:300px;padding:12px}}.session-info-panel{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;padding:24px;max-width:480px;max-height:90vh;overflow-y:auto;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.session-info-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:2px solid #f0f0f0;padding-bottom:16px}.session-info-header h3{margin:0;color:#333;font-size:20px;font-weight:600}.close-btn{background:#f5f5f5;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;color:#666;transition:all .2s}.close-btn:hover{background:#e0e0e0;color:#333}.session-details>div{margin-bottom:24px}.session-details h4{margin:0 0 12px;color:#444;font-size:16px;font-weight:600}.session-details h5{margin:0 0 8px;color:#555;font-size:14px;font-weight:600}.session-code-display{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8f9ff;border:2px solid #e3e7ff;border-radius:8px}.session-code-display .code{font-family:Courier New,monospace;font-size:24px;font-weight:700;color:#4338ca;letter-spacing:2px}.copy-btn{background:#4338ca;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:background .2s}.copy-btn:hover{background:#3730a3}.status-info{display:flex;gap:20px;flex-wrap:wrap}.status-info p{margin:0;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.label{font-weight:500;color:#6b7280;font-size:14px}.role.host{color:#dc2626;font-weight:600}.role:not(.host){color:#059669;font-weight:600}.user-count{color:#7c3aed;font-weight:600}.qr-code-container{text-align:center}.qr-code{border:2px solid #e5e7eb;border-radius:8px;padding:8px;background:#fff;max-width:200px}.qr-instruction{margin:12px 0 0;color:#6b7280;font-size:14px;line-height:1.5}.connection-urls{display:flex;flex-direction:column;gap:12px}.url-item{display:flex;flex-direction:column;gap:4px}.url-label{font-weight:500;color:#6b7280;font-size:14px}.url-display{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px}.url-display code{flex:1;font-family:Courier New,monospace;font-size:12px;color:#374151;background:none;word-break:break-all}.copy-btn-small{background:#6b7280;color:#fff;border:none;padding:4px 8px;border-radius:4px;cursor:pointer;font-size:10px;transition:background .2s;flex-shrink:0}.copy-btn-small:hover{background:#4b5563}.manual-tip{margin-top:4px;color:#4b5563;font-size:13px;line-height:1.5}.instructions ol{padding-left:20px;margin:0}.instructions li{margin-bottom:8px;line-height:1.5;color:#374151}.instructions strong{color:#111827}.tips{margin-top:16px;padding:16px;background:#fef3c7;border:1px solid #f59e0b;border-radius:8px}.tips ul{margin:8px 0 0;padding-left:20px}.tips li{margin-bottom:6px;color:#92400e;font-size:14px;line-height:1.4}@media(max-width:480px){.session-info-panel{padding:16px;max-width:95vw}.session-code-display{flex-direction:column;text-align:center;gap:8px}.session-code-display .code{font-size:20px}.status-info{flex-direction:column;gap:8px}.url-display{flex-direction:column;align-items:stretch;gap:8px}.url-display code{text-align:center}}.tab-buttons{display:flex;gap:8px;margin-left:16px}.tab-button{padding:8px 16px;border:none;border-radius:8px;background:#ffffff1a;color:#0f172ab3;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;border:1px solid transparent}.tab-button:hover{background:#fff3;color:#0f172ae6}.tab-button--active{background:#fffffff2;color:#0f172a;font-weight:600;border-color:#94a3b84d;box-shadow:0 2px 4px #0000001a}.culture-top-bar{position:sticky;top:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:14px 24px;background:#f8fafcbf;border-bottom:1px solid rgba(148,163,184,.35);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 22px 45px -28px #0f172a94}@supports not (backdrop-filter: blur(0)){.culture-top-bar{background:#f8fafc}}.top-bar-left,.top-bar-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.top-bar-title{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:600;color:#0f172a;margin:0}.mode-toggle-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 14px;border-radius:999px;border:1px solid;font-size:13px;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 6px 16px -12px #0006}.mode-toggle-button.mode-workshop{border-color:#3b82f666;background:linear-gradient(135deg,#3b82f626,#60a5fa1a);color:#1d4ed8}.mode-toggle-button.mode-workshop:hover{transform:translateY(-1px);background:linear-gradient(135deg,#3b82f638,#60a5fa26);box-shadow:0 10px 22px -15px #3b82f699}.mode-toggle-button.mode-consulting{border-color:#8b5cf666;background:linear-gradient(135deg,#8b5cf626,#a78bfa1a);color:#6d28d9}.mode-toggle-button.mode-consulting:hover{transform:translateY(-1px);background:linear-gradient(135deg,#8b5cf638,#a78bfa26);box-shadow:0 10px 22px -15px #8b5cf699}.glass-circle-button{width:34px;height:34px;border-radius:50%;border:1px solid rgba(59,130,246,.35);background:#3b82f61f;color:#1d4ed8;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 10px 22px -18px #3b82f6a6}.glass-circle-button:hover{transform:translateY(-1px);background:#3b82f62e;box-shadow:0 18px 30px -20px #3b82f68c}.glass-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.55);background:#ffffff59;color:#0f172a;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 8px 20px -18px #0f172acc;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.glass-button:hover{transform:translateY(-1px);background:#ffffff7a;box-shadow:0 20px 34px -24px #0f172aa6}.glass-button:active{transform:translateY(0)}.glass-button--accent{border-color:#10b98173;background:#d1fae599;color:#047857;box-shadow:0 12px 26px -22px #10b981d9}.glass-button--accent:hover{background:#d1fae5bf}.glass-button--danger{border-color:#ef444473;background:#fee2e299;color:#b91c1c;box-shadow:0 12px 26px -22px #ef4444d9}.glass-button--danger:hover{background:#fee2e2bf}.culture-map-flow-container{width:100%;height:100%;position:relative;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.layer-legend{background:#ffffffd1;padding:16px;border-radius:8px;box-shadow:0 24px 48px -30px #0f172a59;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);min-width:200px}.legend-title{font-size:14px;font-weight:700;margin-bottom:12px;color:#1f2937;border-bottom:2px solid #e5e7eb;padding-bottom:8px}.auto-layout-button{width:100%;padding:8px 12px;margin-bottom:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.auto-layout-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.auto-layout-button:active{transform:translateY(0)}.legend-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px}.legend-badge{font-size:10px;font-weight:600;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.3px;min-width:80px;text-align:center}.legend-item.result .legend-badge{background:#fee2e2;color:#991b1b}.legend-item.behavior .legend-badge{background:#fef3c7;color:#92400e}.legend-item.tangible .legend-badge{background:#dbeafe;color:#1e40af}.legend-item.intangible .legend-badge{background:#ede9fe;color:#5b21b6}.react-flow__node{cursor:grab;touch-action:none}.react-flow__node:active{cursor:grabbing}@media(hover:none)and (pointer:coarse){.react-flow__node{transform:scale(1);transition:transform .1s}.react-flow__node:active{transform:scale(1.05)}.auto-layout-button,.react-flow__controls-button{min-height:44px;min-width:44px}}.react-flow__edge{cursor:pointer}.react-flow__edge:hover{stroke-width:3px!important}.react-flow__minimap{border-radius:8px;overflow:hidden;border:1px solid #e5e7eb}.react-flow__controls{border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.react-flow__controls-button{background:#fff;border-bottom:1px solid #e5e7eb}.react-flow__controls-button:hover{background:#f3f4f6}@media(max-width:768px){.layer-legend{min-width:160px;padding:12px}.legend-title{font-size:12px}.legend-item{font-size:11px;padding:4px 0}.legend-badge{font-size:9px;padding:2px 6px;min-width:70px}.react-flow__minimap{width:120px!important;height:80px!important}.react-flow__controls{transform:scale(.9)}}.ai-generate-button{width:100%;padding:10px 12px;margin-bottom:12px;background:linear-gradient(135deg,#ec4899,#db2777);color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.ai-generate-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ec489966}.ai-generate-button:active{transform:translateY(0)}.ai-input-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:700px;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;z-index:10000;padding:24px;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}.ai-input-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.ai-input-header h3{font-size:20px;font-weight:700;color:#1f2937;margin:0}.ai-input-header button{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.ai-input-header button:hover{background:#f3f4f6;color:#1f2937}.ai-input-textarea{width:100%;min-height:300px;padding:16px;border:2px solid #e5e7eb;border-radius:8px;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.6;resize:vertical;transition:border-color .2s;box-sizing:border-box}.ai-input-textarea:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.ai-generate-submit{width:100%;padding:14px 20px;margin-top:16px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px #8b5cf64d}.ai-generate-submit:hover{transform:translateY(-2px);box-shadow:0 6px 12px #8b5cf666}.ai-generate-submit:active{transform:translateY(0)}.react-flow-context-menu{background:#fff;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;padding:8px;min-width:220px;animation:contextMenuFadeIn .15s ease-out}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-title{padding:8px 16px;font-size:13px;font-weight:700;color:#1f2937;border-bottom:1px solid #e5e7eb;margin-bottom:4px}.react-flow-context-menu button{width:100%;padding:10px 16px;background:none;border:none;text-align:left;cursor:pointer;border-radius:6px;font-size:14px;color:#374151;transition:all .15s;display:flex;align-items:center;gap:8px}.react-flow-context-menu button:hover{background:#f3f4f6;color:#1f2937}.react-flow-context-menu hr{margin:8px 0;border:none;border-top:1px solid #e5e7eb}@media print{.react-flow__controls,.react-flow__minimap,.layer-legend,.ai-input-panel,.react-flow-context-menu{display:none!important}}.video-splash-container{position:fixed;inset:0;z-index:9999;background:linear-gradient(135deg,#1e3a8a,#312e81);overflow:hidden}.skip-button{position:absolute;top:2rem;right:2rem;z-index:10;padding:.75rem 1.5rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:9999px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease}.skip-button:hover{background:#fff3;transform:translate(4px)}.split-screen{display:grid;grid-template-columns:1fr 1fr;height:100vh;width:100%}.video-section{position:relative;background:linear-gradient(135deg,#0f172a,#1e293b);overflow:hidden;display:flex;align-items:center;justify-content:center}.splash-video{width:100%;height:100%;object-fit:cover}.video-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e3a8a,#7c3aed);z-index:-1}.fallback-animation{position:relative;display:flex;align-items:center;justify-content:center}.fallback-circle{position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.3),transparent);filter:blur(60px)}.fallback-logo{position:relative;text-align:center;z-index:1}.fallback-logo h1{font-size:3rem;font-weight:900;color:#fff;margin-bottom:.5rem;text-shadow:0 0 30px rgba(139,92,246,.5)}.fallback-logo p{font-size:1.5rem;font-weight:600;background:linear-gradient(90deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.content-section{position:relative;background:linear-gradient(135deg,#312e81,#4c1d95);display:flex;align-items:center;justify-content:center;padding:3rem;overflow:hidden}.content-section:before{content:"";position:absolute;top:-50%;right:-50%;width:400px;height:400px;background:radial-gradient(circle,rgba(168,85,247,.2),transparent);border-radius:50%;filter:blur(80px);animation:float 6s ease-in-out infinite}.content-section:after{content:"";position:absolute;bottom:-50%;left:-50%;width:400px;height:400px;background:radial-gradient(circle,rgba(59,130,246,.2),transparent);border-radius:50%;filter:blur(80px);animation:float 8s ease-in-out infinite reverse}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(30px,30px)}}.content-slide{position:relative;z-index:1;text-align:center;max-width:500px}.feature-icon-wrapper{display:flex;justify-content:center;margin-bottom:2rem}.feature-icon{width:120px;height:120px;border-radius:24px;display:flex;align-items:center;justify-content:center;box-shadow:0 20px 40px #0000004d}.icon-emoji{font-size:4rem}.feature-title{font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:1rem;line-height:1.2}.feature-description{font-size:1.25rem;color:#fffc;line-height:1.6;margin-bottom:2rem}.progress-indicators{display:flex;gap:.75rem;justify-content:center;margin-top:2rem}.indicator{width:.5rem;height:.5rem;border-radius:9999px;background:#ffffff4d;transition:all .3s ease}.indicator.active{width:2rem;background:#fff}@media(max-width:1023px){.split-screen{grid-template-columns:1fr;grid-template-rows:60vh 40vh}.skip-button{top:1rem;right:1rem;padding:.5rem 1rem;font-size:.75rem}.content-section{padding:2rem}.feature-icon{width:90px;height:90px}.icon-emoji{font-size:3rem}.feature-title{font-size:2rem}.feature-description{font-size:1rem}.fallback-logo h1{font-size:2rem}.fallback-logo p{font-size:1.125rem}}@media(max-width:640px){.split-screen{grid-template-rows:50vh 50vh}.content-section{padding:1.5rem}.feature-icon{width:70px;height:70px}.icon-emoji{font-size:2.5rem}.feature-title{font-size:1.5rem}.feature-description{font-size:.875rem}}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-blue-500{--tw-gradient-from: #3b82f6;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(59, 130, 246, 0))}.to-cyan-500{--tw-gradient-to: #06b6d4}.from-purple-500{--tw-gradient-from: #a855f7;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(168, 85, 247, 0))}.to-pink-500{--tw-gradient-to: #ec4899}.from-orange-500{--tw-gradient-from: #f97316;--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(249, 115, 22, 0))}.to-red-500{--tw-gradient-to: #ef4444}:root{--font-sans: "Noto Sans KR", Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;--font-mono: "D2Coding", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-text: #2c3e50;--color-background: #f0f2f5;--color-primary: #3498db;--color-connecting: #2ecc71;--color-positive: #2980b9;--color-positive-bg: #eaf5fc;--color-negative: #c0392b;--color-negative-bg: #fbeeee;--color-neutral: #f39c12;--color-neutral-bg: #fef9e7;--color-connection-positive: #2980b9;--color-connection-negative: #c0392b;--color-connection-neutral: #34495e}.left-panel *{@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.left-panel * .session-info-btn:hover{background-color:#d1ecf1!important;border-color:#3b9bc9!important}.left-panel * .connection-guide-btn{background-color:#fff3cd!important;color:#856404!important;border:1px solid #ffeaa7!important}.left-panel * .connection-guide-btn:hover{background-color:#ffeaa7!important;border-color:#fdd835!important}.left-panel * .leave-session-btn{background-color:#f8d7da!important;color:#721c24!important;border:1px solid #f5c6cb!important}.left-panel * .leave-session-btn:hover{background-color:#f5c6cb!important;border-color:#f1b0b7!important}.left-panel * .debug-btn{background-color:#e2e3e5!important;color:#495057!important;border:1px solid #d6d8db!important;font-size:12px!important}.left-panel * .debug-btn:hover{background-color:#d6d8db!important;border-color:#c6c8ca!important}.left-panel * .connection-status-btn{background-color:#f8f9fa!important;color:#333!important;border:1px solid #d6d8db!important;font-size:12px!important;padding:6px 12px!important;border-radius:4px!important;font-weight:600!important;transition:all .2s ease!important;cursor:pointer!important}.left-panel * .connection-status-btn.connected{background-color:#d4edda!important;color:#155724!important;border-color:#c3e6cb!important}.left-panel * .connection-status-btn.connected:hover{background-color:#c3e6cb!important;border-color:#b3d7b9!important}.left-panel * .connection-status-btn.disconnected{background-color:#f8d7da!important;color:#721c24!important;border-color:#f5c6cb!important}.left-panel * .connection-status-btn.disconnected:hover{background-color:#f5c6cb!important;border-color:#f1b0b7!important}.left-panel * .app-body{display:flex;flex-grow:1;overflow:hidden}.left-panel * .left-panel{width:350px;background-color:#fafafa;padding:20px;border-right:1px solid #e8e8e8;overflow-y:auto;flex-shrink:0;box-sizing:border-box;display:flex;flex-direction:column;font-family:Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.left-panel * .main-content{flex-grow:1;display:flex;flex-direction:column;background-color:#e9ebee;position:relative;min-width:0}.left-panel * .tabs{padding:10px 20px;background-color:#fff;border-bottom:1px solid #d9d9d9;flex-shrink:0}.left-panel * .tabs button{padding:10px 20px;border:none;background:none;cursor:pointer;font-size:1rem;color:#595959;border-bottom:2px solid transparent}.left-panel * .tabs button.active{color:#1890ff;border-bottom:2px solid #1890ff;font-weight:600}.left-panel * .view-content{flex-grow:1;position:relative;overflow:hidden;width:100%;height:100%}.left-panel * .map-scroll-container{width:100%;height:100%;overflow:auto;position:relative}.left-panel * .board{flex-grow:1;position:relative;overflow:auto;cursor:default;background-color:#e9ebee;background-image:linear-gradient(rgba(0,0,0,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.08) 1px,transparent 1px);background-size:20px 20px}.left-panel * .board-content{position:relative;width:5000px;height:5000px;transform-origin:top left}.left-panel * .selection-box{position:absolute;border:1px dashed #007bff;background-color:#007bff1a;z-index:999;pointer-events:none}.left-panel * .export-button{padding:.5rem 1rem;font-size:.9rem;font-weight:700;color:#333;background-color:#fff;border:1px solid #ccc;border-radius:6px;cursor:pointer;transition:all .2s ease-in-out}.left-panel * .export-button:hover{background-color:#f5f5f5;border-color:#999}.left-panel * .left-panel *{box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word}.left-panel * .left-panel h2{margin-top:0;margin-bottom:15px;font-size:1.1rem;font-weight:600;color:#2c3e50;line-height:1.3}.left-panel * .left-panel h3{margin-top:20px;margin-bottom:10px;font-size:1rem;font-weight:500;color:#34495e;white-space:normal;word-wrap:break-word;line-height:1.3}.left-panel * .left-panel p{margin-bottom:10px;font-size:.9rem;line-height:1.4;color:#5a6c7d;white-space:normal;word-wrap:break-word}.left-panel * .left-panel ul{margin:10px 0;padding-left:20px}.left-panel * .left-panel li{margin-bottom:5px;font-size:.9rem;line-height:1.4;color:#5a6c7d;white-space:normal;word-wrap:break-word}.left-panel * .json-input{width:100%;padding:10px;font-family:Courier New,Courier,monospace;font-size:.9em;border:1px solid #ccc;border-radius:4px;resize:vertical}.left-panel * .left-panel button{width:100%;padding:10px 0;margin-top:10px;font-weight:700;font-size:1em;background:#1e88e5;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.left-panel * .left-panel button:hover{background-color:#1565c0}.left-panel * .analysis-report-container{width:100%;height:100%;overflow:auto}.left-panel * .culture-analysis-container{min-height:100vh;background:#f8f9fa;width:100%;max-width:100vw;overflow-x:auto;display:flex;flex-direction:column}.left-panel * .analysis-header{background:#fff;padding:1rem 2rem;border-bottom:1px solid #e9ecef;display:flex;align-items:center;gap:2rem;width:100%;box-sizing:border-box;flex-shrink:0}.left-panel * .back-to-map-btn{background:#6c757d;color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;transition:background .2s ease}.left-panel * .back-to-map-btn:hover{background:#5a6268}.left-panel * .analysis-header h1{margin:0;color:#2c3e50;font-size:1.5rem;font-weight:600}.left-panel * .culture-analysis-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.left-panel * .culture-analysis-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}@media(max-width:768px){.left-panel * .analysis-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem}.left-panel * .analysis-header h1{font-size:1.25rem}.left-panel * .back-to-map-btn{align-self:flex-start}}@media(max-width:1023px){.left-panel * .left-panel{display:none}.left-panel * .main-content{width:100%}}.left-panel * :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}.left-panel * *{margin:0;padding:0;box-sizing:border-box;word-wrap:break-word;word-break:keep-all;white-space:normal}.left-panel * html,.left-panel * body,.left-panel * #root{height:100%;width:100%;overflow:hidden}.left-panel * a{font-weight:500;color:#646cff;text-decoration:inherit}.left-panel * a:hover{color:#535bf2}.left-panel * body{min-width:320px;min-height:100vh;font-family:Pretendard,Noto Sans KR,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.left-panel * h1{font-size:3.2em;line-height:1.1}.left-panel * button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}.left-panel * button:hover{border-color:#646cff}.left-panel * button:focus,.left-panel * button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){.left-panel * :root{color:#213547;background-color:#fff}.left-panel * a:hover{color:#747bff}.left-panel * button{background-color:#f9f9f9}}
