:root{--color-background: #0d1b2a;--color-surface: #c0c7d1;--color-accent: #ff7a00;--radius: 10px;--shadow: 0 6px 18px rgba(0, 0, 0, .25);font-family:Segoe UI,Roboto,Helvetica,sans-serif}body{margin:0;background:var(--color-background);color:var(--color-surface);min-height:100vh}#app-root{min-height:100vh}.world-editor-page{display:flex;flex-direction:column;height:100vh;background:#1a1a1a;color:#e0e0e0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.world-editor-page__toolbar{display:flex;align-items:center;gap:10px;padding:10px 15px;background:#2a2a2a;border-bottom:1px solid #3a3a3a}.world-editor-page__toolbar-title{font-size:16px;font-weight:600;color:#4fc3f7;margin-right:auto}.world-editor-page__unsaved{color:#ff9800;margin-left:5px}.world-editor-page__toolbar-actions{display:flex;gap:5px;align-items:center}.world-editor-page__toolbar-btn{background:#3a3a3a;color:#e0e0e0;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.world-editor-page__toolbar-btn:hover:not(:disabled){background:#4a4a4a}.world-editor-page__toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.world-editor-page__toolbar-btn--primary{background:#4fc3f7;color:#000;font-weight:600}.world-editor-page__toolbar-btn--primary:hover{background:#6dd5ff}.world-editor-page__toolbar-btn--active{background:#4a9eff;color:#fff;box-shadow:0 0 0 2px #4a9eff4d}.world-editor-page__toolbar-btn--active:hover{background:#5aafff}.world-editor-page__toolbar-separator{width:1px;height:20px;background:#3a3a3a}.world-editor-page__authority-status{min-height:32px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 15px;color:#d7e7f4;background:#18313d;border-bottom:1px solid #2b5364;font-size:12px}.world-editor-page__authority-status[hidden]{display:none}.world-editor-page__authority-status[data-status=external-change],.world-editor-page__authority-status[data-status=conflict]{color:#fff0c2;background:#443516;border-bottom-color:#806522}.world-editor-page__authority-status[data-status=error],.world-editor-page__authority-status[data-status=unavailable]{color:#ffe1e1;background:#492323;border-bottom-color:#874040}.world-editor-page__authority-status[data-status=projection-diverged]{color:#fff0c2;background:#443516;border-bottom-color:#806522}.world-editor-page__authority-actions{display:flex;flex:0 0 auto;align-items:center;gap:6px}.world-editor-page__authority-action{flex:0 0 auto;border:1px solid currentColor;border-radius:4px;padding:4px 9px;color:inherit;background:transparent;cursor:pointer;font:inherit}.world-editor-page__authority-action:hover:not(:disabled){background:#ffffff1a}.world-editor-page__authority-action:disabled{opacity:.5;cursor:wait}.world-editor-page__content{display:flex;flex:1;overflow:hidden}.world-editor-page__sidebar{width:250px;background:#2a2a2a;border-right:1px solid #3a3a3a;overflow-y:auto}.world-editor-page__sidebar--right{border-right:none;border-left:1px solid #3a3a3a}.world-editor-page__canvas-area{flex:1;display:flex;align-items:center;justify-content:center;background:#1a1a1a;overflow:hidden}#world-editor-canvas{border:2px solid #4fc3f7;border-radius:4px;cursor:crosshair}.world-editor-page__status-bar{background:#2a2a2a;border-top:1px solid #3a3a3a}.status-bar{display:flex;align-items:center;gap:10px;padding:8px 15px;font-size:12px}.status-bar__section{display:flex;align-items:center;gap:5px}.status-bar__label{color:#888}.status-bar__value{color:#e0e0e0;font-weight:500}.status-bar__count{color:#888;font-size:11px}.status-bar__zone-indicator{width:12px;height:12px;border-radius:2px;border:1px solid #3a3a3a}.status-bar__separator{width:1px;height:16px;background:#3a3a3a}.status-bar__dirty{margin-left:auto;color:#ff9800;font-size:16px}.tool-palette{padding:15px}.tool-palette__section{margin-bottom:20px}.tool-palette__title{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;margin-bottom:10px}.tool-palette__tools{display:flex;flex-direction:column;gap:5px}.tool-palette__tool{display:flex;align-items:center;gap:10px;padding:10px;background:#3a3a3a;border:2px solid transparent;border-radius:4px;cursor:pointer;transition:all .2s;color:#e0e0e0;font-size:13px}.tool-palette__tool:hover{background:#4a4a4a}.tool-palette__tool.active{background:#4fc3f7;color:#000;border-color:#6dd5ff}.tool-palette__icon{font-size:18px}.tool-palette__label{flex:1}.tool-palette__brushes{display:flex;flex-direction:column;gap:5px}.tool-palette__brush{padding:8px;background:#3a3a3a;border:2px solid transparent;border-radius:4px;cursor:pointer;transition:all .2s;color:#e0e0e0;font-size:12px;text-align:center}.tool-palette__brush:hover{background:#4a4a4a}.tool-palette__brush.active{background:#4fc3f7;color:#000;border-color:#6dd5ff}.tool-palette__mapping{display:flex;flex-direction:column;gap:8px}.tool-palette__mapping-row{display:flex;align-items:center;gap:8px}.tool-palette__mapping-label{font-size:12px;color:#888;min-width:40px}.tool-palette__mapping-select{flex:1;padding:6px;background:#3a3a3a;border:1px solid #4a4a4a;border-radius:4px;color:#e0e0e0;font-size:12px}.layer-panel{padding:15px}.layer-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.layer-panel__title{font-size:12px;font-weight:600;color:#888;text-transform:uppercase}.layer-panel__add-layer{padding:6px 12px;background:#4fc3f7;color:#000;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s}.layer-panel__add-layer:hover{background:#6dd5ff}.layer-panel__list{display:flex;flex-direction:column;gap:10px}.layer-panel__layer{background:#3a3a3a;border:2px solid transparent;border-radius:4px;overflow:hidden;transition:all .2s}.layer-panel__layer.active{border-color:#4fc3f7}.layer-panel__layer.dragging{opacity:.5}.layer-panel__layer.drag-over{border-color:#ff9800;background:#ff98001a}.layer-panel__layer-title-row{display:flex;align-items:center;gap:8px;padding:10px 10px 5px;cursor:pointer;transition:background .2s}.layer-panel__layer-title-row:hover{background:#4a4a4a}.layer-panel__layer-actions-row{display:flex;align-items:center;padding:5px 10px 10px}.layer-panel__layer-header{display:flex;align-items:center;gap:8px;padding:10px;cursor:pointer;transition:background .2s}.layer-panel__layer-header:hover{background:#4a4a4a}.layer-panel__drag-handle{background:none;border:none;cursor:grab;font-size:14px;padding:0;color:#888;transition:color .2s}.layer-panel__drag-handle:hover{color:#e0e0e0}.layer-panel__drag-handle:active{cursor:grabbing}.layer-panel__layer-visibility{background:none;border:none;cursor:pointer;font-size:16px;padding:0;opacity:.7;transition:opacity .2s}.layer-panel__layer-visibility:hover{opacity:1}.layer-panel__layer-name{flex:1;font-size:13px;font-weight:500;color:#e0e0e0}.layer-panel__layer-actions{display:flex;gap:3px}.layer-panel__layer-action{padding:4px 6px;background:#4a4a4a;color:#e0e0e0;border:none;border-radius:3px;cursor:pointer;font-size:11px;transition:all .2s}.layer-panel__layer-action:hover:not(:disabled){background:#4fc3f7;color:#000}.layer-panel__layer-action:disabled{opacity:.3;cursor:not-allowed}.layer-panel__layer-action--add-zone{background:#4fc3f7;color:#000;font-weight:600}.layer-panel__layer-action--add-zone:hover:not(:disabled){background:#6dd5ff;color:#000}.layer-panel__zone-header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#2a2a2a;border-top:1px solid #3a3a3a}.layer-panel__zone-title{font-size:11px;color:#888;text-transform:uppercase;font-weight:600}.layer-panel__add-zone-btn{padding:4px 10px;background:#4fc3f7;color:#000;border:none;border-radius:3px;cursor:pointer;font-size:11px;font-weight:600;transition:all .2s}.layer-panel__add-zone-btn:hover{background:#6dd5ff}.layer-panel__zones{display:flex;flex-direction:column}.layer-panel__zone-empty{padding:15px 10px 15px 30px;font-size:12px;color:#666;font-style:italic;text-align:center;border-top:1px solid #2a2a2a}.layer-panel__zone{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 30px;cursor:pointer;transition:background .2s;border-top:1px solid #2a2a2a}.layer-panel__zone:hover{background:#4a4a4a}.layer-panel__zone.active{background:#4fc3f733}.layer-panel__zone-color{width:16px;height:16px;border-radius:3px;border:1px solid #2a2a2a}.layer-panel__zone-name{flex:1;font-size:12px;color:#e0e0e0}.layer-panel__zone-count{font-size:11px;color:#888}.layer-panel__zone-actions{display:flex;gap:3px;opacity:0;transition:opacity .2s}.layer-panel__zone:hover .layer-panel__zone-actions{opacity:1}.layer-panel__zone-action{padding:2px 4px;background:#4a4a4a;border:none;border-radius:2px;cursor:pointer;font-size:10px;transition:all .2s}.layer-panel__zone-action:hover{background:#4fc3f7}.world-editor-page__sidebar::-webkit-scrollbar{width:8px}.world-editor-page__sidebar::-webkit-scrollbar-track{background:#1a1a1a}.world-editor-page__sidebar::-webkit-scrollbar-thumb{background:#4a4a4a;border-radius:4px}.world-editor-page__sidebar::-webkit-scrollbar-thumb:hover{background:#5a5a5a}.layer-panel__zone-metadata-badge{font-size:10px;opacity:.7}.layer-panel__zone-enabled-toggle{width:16px;height:16px;cursor:pointer;margin:0;flex-shrink:0}.layer-panel__zone--disabled{opacity:.5}.layer-panel__zone--disabled .layer-panel__zone-name{color:#888;text-decoration:line-through}.layer-panel__zone--disabled .layer-panel__zone-color{opacity:.4;filter:grayscale(50%)}.layer-panel__zone--disabled:hover{background:#3a3a3a}.zone-editor-dialog{border:none;border-radius:8px;padding:0;background:#2a2a2a;color:#e0e0e0;box-shadow:0 10px 40px #00000080;max-width:600px;width:90%}.zone-editor-dialog::backdrop{background:#000000b3}.zone-editor-dialog__content{display:flex;flex-direction:column}.zone-editor-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #3a3a3a}.zone-editor-dialog__title{font-size:18px;font-weight:600;color:#4fc3f7;margin:0}.zone-editor-dialog__close{background:none;border:none;color:#888;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.zone-editor-dialog__close:hover{background:#3a3a3a;color:#e0e0e0}.zone-editor-dialog__body{padding:20px;display:flex;flex-direction:column;gap:20px;max-height:60vh;overflow-y:auto}.zone-editor-dialog__field{display:flex;flex-direction:column;gap:8px}.zone-editor-dialog__label{font-size:12px;font-weight:600;color:#888;text-transform:uppercase}.zone-editor-dialog__name{padding:10px;background:#3a3a3a;border:1px solid #4a4a4a;border-radius:4px;color:#e0e0e0;font-size:14px}.zone-editor-dialog__name:focus{outline:none;border-color:#4fc3f7}.zone-editor-dialog__color-picker{display:flex;flex-direction:column;gap:10px}.zone-editor-dialog__color-input{width:100%;height:50px;border:1px solid #4a4a4a;border-radius:4px;cursor:pointer;background:#3a3a3a}.zone-editor-dialog__color-text{padding:10px;background:#3a3a3a;border:1px solid #4a4a4a;border-radius:4px;color:#e0e0e0;font-size:14px;font-family:monospace}.zone-editor-dialog__color-text:focus{outline:none;border-color:#4fc3f7}.zone-editor-dialog__color-presets{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}.zone-editor-dialog__color-preset{width:100%;aspect-ratio:1;border:2px solid #3a3a3a;border-radius:4px;cursor:pointer;transition:all .2s}.zone-editor-dialog__color-preset:hover{border-color:#4fc3f7;transform:scale(1.1)}.zone-editor-dialog__metadata{display:flex;flex-direction:column;gap:8px}.zone-editor-dialog__metadata-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center}.zone-editor-dialog__metadata-key,.zone-editor-dialog__metadata-value{padding:8px;background:#3a3a3a;border:1px solid #4a4a4a;border-radius:4px;color:#e0e0e0;font-size:13px}.zone-editor-dialog__metadata-key:focus,.zone-editor-dialog__metadata-value:focus{outline:none;border-color:#4fc3f7}.zone-editor-dialog__metadata-remove{padding:6px 10px;background:#ff6b6b;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.zone-editor-dialog__metadata-remove:hover{background:#ff5252}.zone-editor-dialog__metadata-add{padding:8px 12px;background:#4fc3f7;color:#000;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s}.zone-editor-dialog__metadata-add:hover{background:#6dd5ff}.zone-editor-dialog__info{display:flex;flex-direction:column;gap:8px;padding:15px;background:#3a3a3a;border-radius:4px}.zone-editor-dialog__info-item{display:flex;justify-content:space-between;font-size:13px}.zone-editor-dialog__info-label{color:#888}.zone-editor-dialog__info-value{color:#e0e0e0;font-weight:500}.zone-editor-dialog__footer{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid #3a3a3a}.zone-editor-dialog__cancel,.zone-editor-dialog__save{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.zone-editor-dialog__cancel{background:#3a3a3a;color:#e0e0e0}.zone-editor-dialog__cancel:hover{background:#4a4a4a}.zone-editor-dialog__save{background:#4fc3f7;color:#000}.zone-editor-dialog__save:hover{background:#6dd5ff}.zone-editor-dialog__body::-webkit-scrollbar{width:8px}.zone-editor-dialog__body::-webkit-scrollbar-track{background:#2a2a2a}.zone-editor-dialog__body::-webkit-scrollbar-thumb{background:#4a4a4a;border-radius:4px}.zone-editor-dialog__body::-webkit-scrollbar-thumb:hover{background:#5a5a5a}.export-dialog{border:none;border-radius:8px;padding:0;background:#2a2a2a;color:#e0e0e0;box-shadow:0 10px 40px #00000080;max-width:600px;width:90%}.export-dialog::backdrop{background:#000000b3}.export-dialog__content{display:flex;flex-direction:column}.export-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #3a3a3a}.export-dialog__title{font-size:18px;font-weight:600;color:#4fc3f7;margin:0}.export-dialog__close{background:none;border:none;color:#888;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.export-dialog__close:hover{background:#3a3a3a;color:#e0e0e0}.export-dialog__body{padding:20px;display:flex;flex-direction:column;gap:20px;max-height:60vh;overflow-y:auto}.export-dialog__field{display:flex;flex-direction:column;gap:8px}.export-dialog__label{font-size:13px;font-weight:600;color:#e0e0e0;display:flex;align-items:center;gap:8px}.export-dialog__format{padding:10px;background:#3a3a3a;border:1px solid #4a4a4a;border-radius:4px;color:#e0e0e0;font-size:14px}.export-dialog__format:focus{outline:none;border-color:#4fc3f7}.export-dialog__hint{font-size:12px;color:#888;margin:0}.export-dialog__layers{display:flex;flex-direction:column;gap:8px;padding:10px;background:#3a3a3a;border-radius:4px}.export-dialog__layer-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.export-dialog__layer-checkbox input{cursor:pointer}.export-dialog__info{padding:15px;background:#3a3a3a;border-radius:4px}.export-dialog__info-item{display:flex;justify-content:space-between;font-size:13px}.export-dialog__info-label{color:#888}.export-dialog__info-value{color:#4fc3f7;font-weight:600}.export-dialog__footer{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid #3a3a3a}.export-dialog__cancel,.export-dialog__export{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.export-dialog__cancel{background:#3a3a3a;color:#e0e0e0}.export-dialog__cancel:hover{background:#4a4a4a}.export-dialog__export{background:#4fc3f7;color:#000}.export-dialog__export:hover{background:#6dd5ff}.export-dialog__body::-webkit-scrollbar{width:8px}.export-dialog__body::-webkit-scrollbar-track{background:#2a2a2a}.export-dialog__body::-webkit-scrollbar-thumb{background:#4a4a4a;border-radius:4px}.export-dialog__body::-webkit-scrollbar-thumb:hover{background:#5a5a5a}.keyboard-shortcuts-dialog{border:none;border-radius:8px;background:#2a2a2a;color:#e0e0e0;padding:0;max-width:700px;width:90%}.keyboard-shortcuts-dialog::backdrop{background:#000000b3}.keyboard-shortcuts-dialog__content{display:flex;flex-direction:column}.keyboard-shortcuts-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #3a3a3a}.keyboard-shortcuts-dialog__title{margin:0;font-size:18px;font-weight:600;color:#4fc3f7}.keyboard-shortcuts-dialog__close{background:none;border:none;color:#888;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;border-radius:4px;transition:all .2s}.keyboard-shortcuts-dialog__close:hover{background:#3a3a3a;color:#e0e0e0}.keyboard-shortcuts-dialog__body{padding:20px;max-height:60vh;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.keyboard-shortcuts-section{display:flex;flex-direction:column;gap:8px}.keyboard-shortcuts-section h3{margin:0 0 10px;font-size:14px;font-weight:600;color:#4fc3f7;text-transform:uppercase;letter-spacing:.5px}.keyboard-shortcut{display:flex;align-items:center;gap:12px;padding:8px;background:#1a1a1a;border-radius:4px}.keyboard-shortcut__key{background:#3a3a3a;color:#4fc3f7;padding:4px 8px;border-radius:4px;font-family:Courier New,monospace;font-size:12px;font-weight:600;min-width:60px;text-align:center;border:1px solid #4a4a4a}.keyboard-shortcut__desc{font-size:13px;color:#e0e0e0}.keyboard-shortcuts-dialog__footer{display:flex;justify-content:flex-end;padding:15px 20px;border-top:1px solid #3a3a3a}.keyboard-shortcuts-dialog__close-btn{background:#4fc3f7;color:#000;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.keyboard-shortcuts-dialog__close-btn:hover{background:#6dd5ff}.world-editor-tooltip{position:absolute;background:#2a2a2a;color:#e0e0e0;padding:8px 12px;border-radius:4px;font-size:12px;pointer-events:none;z-index:10000;box-shadow:0 2px 8px #0000004d;border:1px solid #3a3a3a;white-space:nowrap}.world-editor-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#2a2a2a}.tool-palette__tool--active{background:#4fc3f7!important;color:#000!important;border-color:#4fc3f7!important}.layer-panel__layer--active,.layer-panel__zone--active{background:#3a3a3a!important;border-left:3px solid #4fc3f7!important}.world-editor-progress{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#2a2a2a;padding:30px;border-radius:8px;box-shadow:0 4px 16px #00000080;z-index:10000;min-width:300px}.world-editor-progress__title{margin:0 0 15px;font-size:16px;font-weight:600;color:#4fc3f7;text-align:center}.world-editor-progress__bar{width:100%;height:8px;background:#1a1a1a;border-radius:4px;overflow:hidden}.world-editor-progress__fill{height:100%;background:linear-gradient(90deg,#4fc3f7,#6dd5ff);transition:width .3s ease}.world-editor-progress__text{margin-top:10px;font-size:13px;color:#888;text-align:center}.world-editor-minimap{position:absolute;bottom:20px;right:20px;width:200px;height:200px;background:#1a1a1a;border:2px solid #3a3a3a;border-radius:4px;overflow:hidden;box-shadow:0 2px 8px #0000004d}.world-editor-minimap__canvas{width:100%;height:100%}.world-editor-minimap__viewport{position:absolute;border:2px solid #4fc3f7;background:#4fc3f71a;pointer-events:none}.grid-dimension-dialog{border:none;border-radius:8px;background:#2a2a2a;color:#e0e0e0;padding:0;max-width:400px;width:90%}.grid-dimension-dialog::backdrop{background:#000000b3}.grid-dimension-dialog__content{display:flex;flex-direction:column}.grid-dimension-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid #3a3a3a}.grid-dimension-dialog__title{margin:0;font-size:18px;font-weight:600;color:#4fc3f7}.grid-dimension-dialog__body{padding:20px}.grid-dimension-dialog__field{margin-bottom:15px}.grid-dimension-dialog__label{display:block;font-size:13px;font-weight:600;color:#e0e0e0;margin-bottom:5px}.grid-dimension-dialog__input{width:100%;padding:10px;background:#3a3a3a;border:1px solid #4a4a4a;border-radius:4px;color:#e0e0e0;font-size:14px}.grid-dimension-dialog__input:focus{outline:none;border-color:#4fc3f7}.grid-dimension-dialog__hint{margin-top:5px;font-size:12px;color:#888}.grid-dimension-dialog__footer{display:flex;justify-content:flex-end;gap:10px;padding:15px 20px;border-top:1px solid #3a3a3a}.grid-dimension-dialog__cancel,.grid-dimension-dialog__apply{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s}.grid-dimension-dialog__cancel{background:#3a3a3a;color:#e0e0e0}.grid-dimension-dialog__cancel:hover{background:#4a4a4a}.grid-dimension-dialog__apply{background:#4fc3f7;color:#000}.grid-dimension-dialog__apply:hover{background:#6dd5ff}.layer-panel__header-buttons{display:flex;gap:5px}.layer-panel__presets-dropdown{position:relative}.layer-panel__add-preset{padding:6px 12px;background:#9c27b0;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s}.layer-panel__add-preset:hover{background:#ab47bc}.layer-panel__presets-menu{position:absolute;top:100%;right:0;margin-top:5px;background:#3a3a3a;border:1px solid #4a4a4a;border-radius:4px;box-shadow:0 4px 12px #0000004d;z-index:100;display:none;min-width:150px}.layer-panel__presets-menu.visible{display:block}.layer-panel__preset-option{display:block;width:100%;padding:10px 15px;background:none;border:none;color:#e0e0e0;font-size:13px;text-align:left;cursor:pointer;transition:background .2s}.layer-panel__preset-option:hover{background:#4a4a4a}.layer-panel__preset-option:first-child{border-radius:4px 4px 0 0}.layer-panel__preset-option:last-child{border-radius:0 0 4px 4px}.layer-panel__layer--preset{border-left:3px solid #9c27b0}.layer-panel__layer--preset.active{border-color:#4fc3f7;border-left-color:#9c27b0}.layer-panel__preset-badge{font-size:10px;padding:2px 6px;border-radius:3px;color:#fff;font-weight:600;text-transform:uppercase}.layer-panel__lock-icon{font-size:10px;margin-left:4px;opacity:.7}.layer-panel__layer-action--protected{opacity:.6}*{box-sizing:border-box}body{margin:0;padding:0;line-height:1.6}.jhl-simulator{height:100vh;display:flex;flex-direction:column;background:#0a0a0a;overflow:hidden}.jhl-mode{flex:1;min-height:0;overflow-y:auto}.jhl-mode[data-mode=programming]{height:100%;overflow-y:hidden}.jhl-mode[hidden]{display:none}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}button:focus,input:focus,select:focus,textarea:focus{outline:2px solid #2563eb;outline-offset:2px}@media print{.jhl-nav,.jhl-modal,.jhl-toast,.jhl-loading{display:none!important}}h1,h2,h3,h4,h5,h6,p,ul,ol,li,figure,figcaption,blockquote,dl,dd{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{border:none;background:none;font:inherit;cursor:pointer}input,textarea,select{font:inherit;color:inherit}img{max-width:100%;height:auto;display:block}table{border-collapse:collapse;border-spacing:0}:root{--jhl-space-1: .25rem;--jhl-space-2: .5rem;--jhl-space-3: .75rem;--jhl-space-4: 1rem;--jhl-space-5: 1.25rem;--jhl-space-6: 1.5rem;--jhl-space-8: 2rem;--jhl-space-10: 2.5rem;--jhl-space-12: 3rem;--jhl-space-16: 4rem;--jhl-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--jhl-font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--jhl-radius-sm: .25rem;--jhl-radius: .375rem;--jhl-radius-md: .5rem;--jhl-radius-lg: .75rem;--jhl-radius-xl: 1rem;--jhl-transition: all .2s ease-in-out;--jhl-white: #ffffff;--jhl-gray-50: #f8fafc;--jhl-gray-100: #f1f5f9;--jhl-gray-200: #e2e8f0;--jhl-gray-300: #cbd5e1;--jhl-gray-400: #94a3b8;--jhl-gray-500: #64748b;--jhl-gray-600: #475569;--jhl-gray-700: #334155;--jhl-gray-800: #1e293b;--jhl-gray-900: #0f172a}:root,html,html[data-theme=light]{--jhl-primary: #2563eb;--jhl-primary-hover: #1d4ed8;--jhl-primary-light: #dbeafe;--jhl-secondary: #64748b;--jhl-success: #16a34a;--jhl-success-hover: #15803d;--jhl-success-light: #dcfce7;--jhl-warning: #f59e0b;--jhl-warning-hover: #d97706;--jhl-warning-light: #fef3c7;--jhl-danger: #dc2626;--jhl-danger-hover: #b91c1c;--jhl-danger-light: #fee2e2;--jhl-bg-primary: #ffffff;--jhl-bg-secondary: #f8fafc;--jhl-bg-tertiary: #f1f5f9;--jhl-bg-elevated: #ffffff;--jhl-bg-hover: #f1f5f9;--jhl-bg-active: #e2e8f0;--jhl-text-primary: #0f172a;--jhl-text-secondary: #475569;--jhl-text-tertiary: #64748b;--jhl-text-muted: #94a3b8;--jhl-text-inverse: #ffffff;--jhl-border-primary: #e2e8f0;--jhl-border-secondary: #cbd5e1;--jhl-border-focus: #2563eb;--jhl-nav-bg: #ffffff;--jhl-nav-border: #e2e8f0;--jhl-nav-text: #475569;--jhl-nav-text-active: #2563eb;--jhl-nav-mode-bg: #f1f5f9;--jhl-nav-mode-active-bg: #ffffff;--jhl-card-bg: #ffffff;--jhl-card-border: #e2e8f0;--jhl-card-hover-border: #2563eb;--jhl-input-bg: #ffffff;--jhl-input-border: #cbd5e1;--jhl-input-text: #0f172a;--jhl-input-placeholder: #94a3b8;--jhl-code-bg: #f8fafc;--jhl-code-text: #1e293b;--jhl-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--jhl-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--jhl-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--jhl-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--jhl-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1)}html[data-theme=dark],html[data-theme=dark] body,body.dark-theme{--jhl-primary: #3b82f6;--jhl-primary-hover: #60a5fa;--jhl-primary-light: #1e3a5f;--jhl-success: #22c55e;--jhl-success-hover: #4ade80;--jhl-success-light: #14532d;--jhl-warning: #fbbf24;--jhl-warning-hover: #fcd34d;--jhl-warning-light: #713f12;--jhl-danger: #ef4444;--jhl-danger-hover: #f87171;--jhl-danger-light: #7f1d1d;--jhl-bg-primary: #0f172a;--jhl-bg-secondary: #1e293b;--jhl-bg-tertiary: #334155;--jhl-bg-elevated: #1e293b;--jhl-bg-hover: #334155;--jhl-bg-active: #475569;--jhl-text-primary: #f1f5f9;--jhl-text-secondary: #cbd5e1;--jhl-text-tertiary: #94a3b8;--jhl-text-muted: #64748b;--jhl-text-inverse: #0f172a;--jhl-border-primary: #334155;--jhl-border-secondary: #475569;--jhl-border-focus: #3b82f6;--jhl-nav-bg: #1e293b;--jhl-nav-border: #334155;--jhl-nav-text: #94a3b8;--jhl-nav-text-active: #f1f5f9;--jhl-nav-mode-bg: #334155;--jhl-nav-mode-active-bg: #475569;--jhl-card-bg: #1e293b;--jhl-card-border: #334155;--jhl-card-hover-border: #3b82f6;--jhl-input-bg: #1e293b;--jhl-input-border: #475569;--jhl-input-text: #f1f5f9;--jhl-input-placeholder: #64748b;--jhl-code-bg: #0f172a;--jhl-code-text: #e2e8f0;--jhl-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--jhl-shadow: 0 1px 3px 0 rgb(0 0 0 / .4), 0 1px 2px -1px rgb(0 0 0 / .3);--jhl-shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .3);--jhl-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .3);--jhl-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .4), 0 8px 10px -6px rgb(0 0 0 / .3)}html[data-theme=dark] .jhl-test-metric,html[data-theme=dark] .jhl-debug__timeline,html[data-theme=dark] .jhl-debug__controls,html[data-theme=dark] .jhl-debug__status,html[data-theme=dark] .jhl-debug__log{background:var(--jhl-card-bg)!important;color:var(--jhl-text-primary)!important}html[data-theme=dark] .jhl-debug__canvas-container,html[data-theme=dark] .jhl-editor__canvas-container{background:var(--jhl-bg-tertiary)!important}html[data-theme=dark] .jhl-editor__panel{background:var(--jhl-card-bg)!important;color:var(--jhl-text-primary)!important}html[data-theme=dark] .jhl-editor__toolbar{background:var(--jhl-card-bg)!important;border-color:var(--jhl-border-primary)!important}html[data-theme=dark] .jhl-analysis__main,html[data-theme=dark] .jhl-analysis__sidebar>*,html[data-theme=dark] .jhl-advanced__main,html[data-theme=dark] .jhl-advanced__sidebar>*{background:var(--jhl-card-bg)!important;color:var(--jhl-text-primary)!important}html[data-theme=dark] .jhl-color-swatch{border-color:#ffffff4d!important}html[data-theme=dark] canvas{border:1px solid var(--jhl-border-primary)}html,body{height:100%;margin:0;padding:0;overflow:hidden}body{font-family:var(--jhl-font-family);line-height:1.6}.jhl-mission-card__title,.jhl-tutorial-card h4{margin:0 0 var(--jhl-space-2) 0;font-size:1.25rem;font-weight:600;color:var(--jhl-text-primary)}.jhl-telemetry-section h4{margin:0 0 var(--jhl-space-4) 0;font-size:1.125rem;font-weight:600}.jhl-wheel h5{margin:0 0 var(--jhl-space-3) 0;font-size:1rem;font-weight:600;color:var(--jhl-text-primary)}.jhl-help-content h4{margin:var(--jhl-space-4) 0 var(--jhl-space-2) 0;font-size:1rem;font-weight:600}.jhl-testing__title{font-size:2rem;font-weight:700}.jhl-testing__subtitle{color:var(--jhl-text-secondary);margin:0 0 var(--jhl-space-6) 0}.jhl-sandbox__title{font-size:1.875rem;font-weight:700}.jhl-sandbox__subtitle{color:var(--jhl-text-secondary);margin:0}.jhl-control-section__title{margin:0 0 var(--jhl-space-3) 0;font-size:1rem;font-weight:600;color:var(--jhl-text-primary)}.jhl-code{font-family:var(--jhl-font-mono);font-size:.875rem;line-height:1.5}.jhl-test-log{font-family:var(--jhl-font-mono);font-size:.75rem;line-height:1.4}.jhl-sensor-reading__value{font-family:var(--jhl-font-mono);font-size:.875rem}.jhl-nav__mode-icon,.jhl-nav__help-icon,.jhl-nav__user-avatar{font-size:1.25rem;line-height:1}.jhl-hero__robot{font-size:8rem;line-height:1}.jhl-robot-indicator{font-size:2rem;line-height:1}.jhl-tutorial-card,.jhl-blocks-workspace__empty,.jhl-blockly-error,.jhl-hero--animated .jhl-hero__content,.jhl-score-display{text-align:center}.jhl-mission-objectives-summary{text-align:left}.jhl-objective-item .objective-status{text-align:right}.jhl-objectives__empty,.jhl-recent-projects__empty,.jhl-test-metric{text-align:center}@media(max-width:768px){.jhl-hero__title{font-size:2rem}.jhl-hero__subtitle{font-size:1rem}.jhl-section__title,.jhl-nav__title{font-size:1.25rem}}.jhl-analysis-layout,.jhl-advanced-layout{display:grid;grid-template-columns:1fr 350px;gap:var(--jhl-space-6);height:100%}.jhl-hero{display:grid;grid-template-columns:1fr auto;gap:var(--jhl-space-12);align-items:center;margin-bottom:var(--jhl-space-16);padding:var(--jhl-space-12) var(--jhl-space-8)}.jhl-wheel-data{display:grid;grid-template-columns:1fr 1fr;gap:var(--jhl-space-6)}.jhl-nav{display:flex;align-items:center;gap:var(--jhl-space-6)}.jhl-nav__modes{display:flex;gap:var(--jhl-space-2)}.jhl-nav__mode{display:flex;align-items:center;gap:var(--jhl-space-2)}.jhl-nav__user{display:flex;align-items:center;gap:var(--jhl-space-2)}.jhl-arena{display:flex;flex-direction:column}.jhl-arena__header{display:flex;justify-content:space-between;align-items:center}.jhl-mission__sidebar,.jhl-programming__sidebar,.jhl-analysis__sidebar,.jhl-advanced__sidebar{display:flex;flex-direction:column;gap:var(--jhl-space-6)}.jhl-controls,.jhl-program-selector,.jhl-program-actions,.jhl-test-actions,.jhl-export-actions{display:flex;flex-direction:column;gap:var(--jhl-space-3)}.jhl-label,.jhl-robot-status{display:flex;flex-direction:column;gap:var(--jhl-space-2)}.jhl-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--jhl-space-2)}.jhl-mission-info__score{display:flex;justify-content:space-between}.jhl-status-item,.jhl-metric{display:flex;justify-content:space-between;align-items:center}.jhl-blocks-list,.jhl-example-programs__list{display:flex;flex-direction:column;gap:var(--jhl-space-2)}.jhl-telemetry-grid{display:flex;flex-direction:column;gap:var(--jhl-space-6)}.jhl-wheel-metrics,.jhl-robot-telemetry{display:flex;flex-direction:column;gap:var(--jhl-space-2)}.jhl-robot-telemetry__item{display:flex;justify-content:space-between;align-items:center}.jhl-hero--animated{position:relative}.jhl-hero--animated .jhl-hero__content{position:relative;z-index:2}.jhl-hero__animation{position:relative}.jhl-hero__robot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.jhl-arena__viewport{position:relative}.jhl-robot-indicator{position:absolute}#blockly-workspace{position:relative}.jhl-modal__backdrop{position:absolute;inset:0}.jhl-modal__content{position:relative}.jhl-toast{position:fixed;top:var(--jhl-space-6);right:var(--jhl-space-6);z-index:1000}.jhl-loading{position:fixed;inset:0;z-index:1000}.jhl-mode{overflow-y:auto}.jhl-mode[data-mode=programming]{overflow-y:hidden}.jhl-hero--animated,.jhl-mission__arena,.jhl-blocks-workspace,.jhl-modal__content{overflow:hidden}.jhl-code{overflow-x:auto}.jhl-test-arena{overflow:hidden}.jhl-m-0{margin:0}.jhl-m-1{margin:var(--jhl-space-1)}.jhl-m-2{margin:var(--jhl-space-2)}.jhl-m-3{margin:var(--jhl-space-3)}.jhl-m-4{margin:var(--jhl-space-4)}.jhl-m-6{margin:var(--jhl-space-6)}.jhl-mb-0{margin-bottom:0}.jhl-mb-1{margin-bottom:var(--jhl-space-1)}.jhl-mb-2{margin-bottom:var(--jhl-space-2)}.jhl-mb-3{margin-bottom:var(--jhl-space-3)}.jhl-mb-4{margin-bottom:var(--jhl-space-4)}.jhl-mb-6{margin-bottom:var(--jhl-space-6)}.jhl-mb-8{margin-bottom:var(--jhl-space-8)}.jhl-mt-0{margin-top:0}.jhl-mt-1{margin-top:var(--jhl-space-1)}.jhl-mt-2{margin-top:var(--jhl-space-2)}.jhl-mt-3{margin-top:var(--jhl-space-3)}.jhl-mt-4{margin-top:var(--jhl-space-4)}.jhl-mt-6{margin-top:var(--jhl-space-6)}.jhl-ml-0{margin-left:0}.jhl-ml-1{margin-left:var(--jhl-space-1)}.jhl-ml-2{margin-left:var(--jhl-space-2)}.jhl-ml-3{margin-left:var(--jhl-space-3)}.jhl-ml-4{margin-left:var(--jhl-space-4)}.jhl-ml-6{margin-left:var(--jhl-space-6)}.jhl-mr-0{margin-right:0}.jhl-mr-1{margin-right:var(--jhl-space-1)}.jhl-mr-2{margin-right:var(--jhl-space-2)}.jhl-mr-3{margin-right:var(--jhl-space-3)}.jhl-mr-4{margin-right:var(--jhl-space-4)}.jhl-mr-6{margin-right:var(--jhl-space-6)}.jhl-mx-0{margin-left:0;margin-right:0}.jhl-mx-1{margin-left:var(--jhl-space-1);margin-right:var(--jhl-space-1)}.jhl-mx-2{margin-left:var(--jhl-space-2);margin-right:var(--jhl-space-2)}.jhl-mx-3{margin-left:var(--jhl-space-3);margin-right:var(--jhl-space-3)}.jhl-mx-4{margin-left:var(--jhl-space-4);margin-right:var(--jhl-space-4)}.jhl-mx-6{margin-left:var(--jhl-space-6);margin-right:var(--jhl-space-6)}.jhl-my-0{margin-top:0;margin-bottom:0}.jhl-my-1{margin-top:var(--jhl-space-1);margin-bottom:var(--jhl-space-1)}.jhl-my-2{margin-top:var(--jhl-space-2);margin-bottom:var(--jhl-space-2)}.jhl-my-3{margin-top:var(--jhl-space-3);margin-bottom:var(--jhl-space-3)}.jhl-my-4{margin-top:var(--jhl-space-4);margin-bottom:var(--jhl-space-4)}.jhl-my-6{margin-top:var(--jhl-space-6);margin-bottom:var(--jhl-space-6)}.jhl-p-0{padding:0}.jhl-p-1{padding:var(--jhl-space-1)}.jhl-p-2{padding:var(--jhl-space-2)}.jhl-p-3{padding:var(--jhl-space-3)}.jhl-p-4{padding:var(--jhl-space-4)}.jhl-p-6{padding:var(--jhl-space-6)}.jhl-px-0{padding-left:0;padding-right:0}.jhl-px-1{padding-left:var(--jhl-space-1);padding-right:var(--jhl-space-1)}.jhl-px-2{padding-left:var(--jhl-space-2);padding-right:var(--jhl-space-2)}.jhl-px-3{padding-left:var(--jhl-space-3);padding-right:var(--jhl-space-3)}.jhl-px-4{padding-left:var(--jhl-space-4);padding-right:var(--jhl-space-4)}.jhl-px-6{padding-left:var(--jhl-space-6);padding-right:var(--jhl-space-6)}.jhl-py-0{padding-top:0;padding-bottom:0}.jhl-py-1{padding-top:var(--jhl-space-1);padding-bottom:var(--jhl-space-1)}.jhl-py-2{padding-top:var(--jhl-space-2);padding-bottom:var(--jhl-space-2)}.jhl-py-3{padding-top:var(--jhl-space-3);padding-bottom:var(--jhl-space-3)}.jhl-py-4{padding-top:var(--jhl-space-4);padding-bottom:var(--jhl-space-4)}.jhl-py-6{padding-top:var(--jhl-space-6);padding-bottom:var(--jhl-space-6)}.jhl-gap-1{gap:var(--jhl-space-1)}.jhl-gap-2{gap:var(--jhl-space-2)}.jhl-gap-3{gap:var(--jhl-space-3)}.jhl-gap-4{gap:var(--jhl-space-4)}.jhl-gap-6{gap:var(--jhl-space-6)}.jhl-gap-8{gap:var(--jhl-space-8)}.jhl-gap-12{gap:var(--jhl-space-12)}@media(max-width:1024px){.jhl-mission-layout,.jhl-analysis-layout,.jhl-advanced-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.jhl-programming-layout{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}.jhl-nav__modes{order:1}.jhl-nav__brand{order:2}.jhl-nav__actions{order:3}}@media(max-width:768px){.jhl-nav{flex-direction:column;gap:var(--jhl-space-4)}.jhl-nav__modes{width:100%;justify-content:center}.jhl-hero{grid-template-columns:1fr;text-align:center}.jhl-mission-gallery,.jhl-tutorials{grid-template-columns:1fr}}.jhl-flex{display:flex}.jhl-flex-col{flex-direction:column}.jhl-flex-row{flex-direction:row}.jhl-items-center{align-items:center}.jhl-items-start{align-items:flex-start}.jhl-items-end{align-items:flex-end}.jhl-justify-center{justify-content:center}.jhl-justify-between{justify-content:space-between}.jhl-justify-start{justify-content:flex-start}.jhl-justify-end{justify-content:flex-end}.jhl-flex-1{flex:1}.jhl-flex-none{flex:none}.jhl-grid{display:grid}.jhl-grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.jhl-grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.jhl-grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.jhl-grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.jhl-grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.jhl-grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.jhl-grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.jhl-grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.jhl-grid-rows-3{grid-template-rows:repeat(3,minmax(0,1fr))}.jhl-grid-rows-4{grid-template-rows:repeat(4,minmax(0,1fr))}.jhl-gap{gap:var(--jhl-space-4)}.jhl-gap-x-1{column-gap:var(--jhl-space-1)}.jhl-gap-x-2{column-gap:var(--jhl-space-2)}.jhl-gap-x-3{column-gap:var(--jhl-space-3)}.jhl-gap-x-4{column-gap:var(--jhl-space-4)}.jhl-gap-x-6{column-gap:var(--jhl-space-6)}.jhl-gap-y-1{row-gap:var(--jhl-space-1)}.jhl-gap-y-2{row-gap:var(--jhl-space-2)}.jhl-gap-y-3{row-gap:var(--jhl-space-3)}.jhl-gap-y-4{row-gap:var(--jhl-space-4)}.jhl-gap-y-6{row-gap:var(--jhl-space-6)}.jhl-w-full{width:100%}.jhl-h-full{height:100%}.jhl-min-h-full{min-height:100%}.jhl-max-w-full{max-width:100%}.jhl-max-h-full{max-height:100%}.jhl-block{display:block}.jhl-inline{display:inline}.jhl-inline-block{display:inline-block}.jhl-hidden{display:none}[hidden],.jhl-modal[hidden],.jhl-toast[hidden]{display:none!important}.jhl-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--jhl-space-2);padding:var(--jhl-space-3) var(--jhl-space-6);border:none;border-radius:var(--jhl-radius);font-weight:500;text-decoration:none;cursor:pointer;transition:var(--jhl-transition);font-size:.875rem;line-height:1}.jhl-btn--primary{background:var(--jhl-primary);color:var(--jhl-white)}.jhl-btn--primary:hover{background:var(--jhl-primary-hover)}.jhl-btn--secondary{background:var(--jhl-bg-tertiary);color:var(--jhl-text-primary)}.jhl-btn--secondary:hover{background:var(--jhl-bg-hover)}.jhl-btn--success{background:var(--jhl-success);color:var(--jhl-white)}.jhl-btn--success:hover{background:var(--jhl-success-hover)}.jhl-btn--warning{background:var(--jhl-warning);color:var(--jhl-white)}.jhl-btn--warning:hover{background:var(--jhl-warning-hover)}.jhl-btn--danger{background:var(--jhl-danger);color:var(--jhl-white)}.jhl-btn--danger:hover{background:var(--jhl-danger-hover)}.jhl-btn--info{background:var(--jhl-primary);color:var(--jhl-white)}.jhl-btn--info:hover{background:var(--jhl-primary-hover)}.jhl-btn--small,.jhl-btn--sm{padding:var(--jhl-space-2) var(--jhl-space-3);font-size:.75rem}.jhl-btn--large{padding:var(--jhl-space-4) var(--jhl-space-8);font-size:1.125rem}.jhl-btn--block{width:100%}.jhl-btn:disabled{opacity:.5;cursor:not-allowed}.jhl-btn:focus{outline:2px solid var(--jhl-primary);outline-offset:2px}.jhl-nav__mode{display:flex;align-items:center;gap:var(--jhl-space-2);padding:var(--jhl-space-2) var(--jhl-space-4);border:none;background:transparent;border-radius:var(--jhl-radius);cursor:pointer;transition:var(--jhl-transition);font-weight:500;color:var(--jhl-nav-text)}.jhl-nav__mode:hover{background:var(--jhl-bg-hover);color:var(--jhl-text-primary)}.jhl-nav__mode--active{background:var(--jhl-nav-mode-active-bg);color:var(--jhl-nav-text-active);box-shadow:var(--jhl-shadow-sm)}.jhl-nav__mode:focus{outline:2px solid var(--jhl-primary);outline-offset:2px}.jhl-nav__mode-icon{font-size:1.25rem;line-height:1}.jhl-nav__help{padding:var(--jhl-space-2);border:none;background:var(--jhl-nav-mode-bg);border-radius:var(--jhl-radius);cursor:pointer;transition:var(--jhl-transition)}.jhl-nav__help:hover{background:var(--jhl-bg-hover)}.jhl-nav__help:focus{outline:2px solid var(--jhl-primary);outline-offset:2px}.jhl-nav__help-icon{font-size:1.25rem;line-height:1}.jhl-modal__close{padding:var(--jhl-space-2);border:none;background:transparent;font-size:1.5rem;cursor:pointer;color:var(--jhl-text-muted)}.jhl-modal__close:hover{color:var(--jhl-text-secondary)}.jhl-toast__close{padding:var(--jhl-space-1);border:none;background:transparent;cursor:pointer;color:var(--jhl-text-muted);font-size:1.25rem;line-height:1;pointer-events:auto;z-index:1}.jhl-toast__close:hover{color:var(--jhl-text-secondary)}.jhl-nav__lang-btn{display:flex;align-items:center;gap:var(--jhl-space-2);padding:var(--jhl-space-2) var(--jhl-space-3);border:1px solid var(--jhl-border-primary);background:var(--jhl-card-bg);border-radius:var(--jhl-radius);cursor:pointer;transition:var(--jhl-transition);font-size:.875rem;color:var(--jhl-text-primary)}.jhl-nav__lang-btn:hover{background:var(--jhl-bg-hover);border-color:var(--jhl-border-secondary)}.jhl-nav__lang-btn[aria-expanded=true] .jhl-nav__lang-arrow{transform:rotate(180deg)}.jhl-nav__lang-option{display:flex;align-items:center;gap:var(--jhl-space-2);padding:var(--jhl-space-2) var(--jhl-space-3);border:none;background:transparent;cursor:pointer;transition:var(--jhl-transition);font-size:.875rem;color:var(--jhl-text-primary);width:100%;text-align:left}.jhl-nav__lang-option:hover{background:var(--jhl-bg-hover)}.jhl-nav__lang-option:first-child{border-radius:var(--jhl-radius-md) var(--jhl-radius-md) 0 0}.jhl-nav__lang-option:last-child{border-radius:0 0 var(--jhl-radius-md) var(--jhl-radius-md)}.jhl-nav__lang-option--active{background:var(--jhl-primary-light);color:var(--jhl-primary)}.jhl-debug__view-toggle .jhl-btn{padding:var(--jhl-space-1) var(--jhl-space-2);font-size:.75rem;border-radius:var(--jhl-radius-sm);background:transparent;border:none;color:var(--jhl-text-secondary);cursor:pointer;transition:all .2s}.jhl-debug__view-toggle .jhl-btn:hover{background:var(--jhl-bg-hover)}.jhl-debug__view-toggle .jhl-btn--active{background:var(--jhl-primary);color:var(--jhl-white)}.tutorial-panel__footer .jhl-btn{flex:1}@media(max-width:768px){.jhl-testing__controls .jhl-btn,.jhl-export-actions .jhl-btn,.jhl-log-controls .jhl-btn{width:100%}.jhl-control-btn{padding:var(--jhl-space-2);font-size:1rem;min-height:40px}}html[data-theme=dark] .jhl-btn{color:var(--jhl-text-light)!important;background:#ffffff1a!important}html[data-theme=dark] .jhl-btn:hover{color:var(--jhl-text-vibrant)!important;background:#f5a62333!important}html[data-theme=dark] .jhl-btn--primary{background:var(--jhl-primary)!important;color:var(--jhl-white)!important}html[data-theme=dark] .jhl-btn--primary:hover{background:var(--jhl-primary-hover)!important;color:var(--jhl-white)!important}html[data-theme=dark] .jhl-btn--success{background:var(--jhl-success)!important;color:var(--jhl-white)!important}html[data-theme=dark] .jhl-btn--success:hover{background:var(--jhl-success-hover)!important}html[data-theme=dark] .jhl-btn--warning{background:var(--jhl-warning)!important;color:var(--jhl-white)!important}html[data-theme=dark] .jhl-btn--danger{background:var(--jhl-danger)!important;color:var(--jhl-white)!important}html[data-theme=dark] .jhl-btn--secondary{background:#ffffff14!important;color:var(--jhl-text-light)!important}html[data-theme=dark] .jhl-btn--secondary:hover{background:#f5a62326!important;color:var(--jhl-text-vibrant)!important}html[data-theme=dark] .jhl-nav__mode{color:var(--jhl-text-light)!important}html[data-theme=dark] .jhl-nav__mode:hover{color:var(--jhl-text-vibrant)!important;background:#f5a62326!important}html[data-theme=dark] .jhl-nav__mode--active{color:var(--jhl-text-vibrant)!important;background:#f5a62340!important}html[data-theme=dark] .jhl-nav__help{color:var(--jhl-text-light)!important}html[data-theme=dark] .jhl-nav__help:hover{color:var(--jhl-text-vibrant)!important}html[data-theme=dark] .jhl-debug__view-toggle .jhl-btn{color:var(--jhl-text-light)!important}html[data-theme=dark] .jhl-debug__view-toggle .jhl-btn:hover{color:var(--jhl-text-vibrant)!important}html[data-theme=dark] .jhl-debug__view-toggle .jhl-btn--active{color:var(--jhl-text-vibrant)!important;background:#f5a62340!important}html[data-theme=light] .jhl-btn{color:var(--jhl-text-secondary)!important;background:#0000000d!important}html[data-theme=light] .jhl-btn:hover{color:var(--jhl-warning-hover)!important}html[data-theme=light] .jhl-btn--secondary{color:var(--jhl-text-secondary)!important;background:#0000000d!important}html[data-theme=light] .jhl-btn--secondary:hover{color:var(--jhl-warning-hover)!important}html[data-theme=light] .jhl-nav__mode{color:var(--jhl-text-secondary)!important}html[data-theme=light] .jhl-nav__mode:hover{color:var(--jhl-warning-hover)!important;background:#c778001a!important}html[data-theme=light] .jhl-nav__mode--active{color:var(--jhl-warning-hover)!important;background:#c7780026!important}.jhl-label--inline{flex:1}.jhl-select,.jhl-input,.jhl-textarea{padding:var(--jhl-space-3);border:1px solid var(--jhl-input-border);border-radius:var(--jhl-radius);font-size:.875rem;transition:var(--jhl-transition);background:var(--jhl-input-bg);color:var(--jhl-input-text)}.jhl-select:focus,.jhl-input:focus,.jhl-textarea:focus{outline:none;border-color:var(--jhl-border-focus);box-shadow:0 0 0 3px #2563eb1a}.jhl-input--small,.jhl-select--full{width:100%}.jhl-input--warning{border-color:var(--jhl-warning);background-color:#fefbf3}.jhl-input--error{border-color:var(--jhl-danger);background-color:#fef2f2}.jhl-editor__form{display:flex;flex-direction:column;gap:var(--jhl-space-4)}.jhl-debug__speed-control .jhl-label{display:flex;flex-direction:column;gap:var(--jhl-space-2)}.jhl-toggle{position:relative;display:inline-block;width:48px;height:24px}.jhl-toggle input{opacity:0;width:0;height:0}.jhl-toggle__slider{position:absolute;cursor:pointer;inset:0;background-color:var(--jhl-border-secondary);transition:.3s;border-radius:24px}.jhl-toggle__slider:before{position:absolute;content:"";height:20px;width:20px;left:2px;bottom:2px;background-color:var(--jhl-white);transition:.3s;border-radius:50%;box-shadow:var(--jhl-shadow)}.jhl-toggle input:checked+.jhl-toggle__slider{background-color:var(--jhl-primary)}.jhl-toggle input:focus+.jhl-toggle__slider{box-shadow:0 0 1px var(--jhl-primary)}.jhl-toggle input:checked+.jhl-toggle__slider:before{transform:translate(24px)}.jhl-pid-controls{display:flex;flex-direction:column;gap:var(--jhl-space-6)}.jhl-pid-group h4{margin:0 0 var(--jhl-space-4) 0;font-size:1rem;font-weight:600}@media(max-width:768px){.jhl-filter-group{flex-direction:column;align-items:stretch}.jhl-filter-label{min-width:100%}}html[data-theme=dark] .jhl-label,html[data-theme=dark] .jhl-status-label{color:var(--jhl-text-vibrant-muted)!important}html[data-theme=dark] .jhl-input::placeholder,html[data-theme=dark] .jhl-select::placeholder,html[data-theme=dark] .jhl-textarea::placeholder{color:var(--jhl-text-muted)!important}html[data-theme=dark] .jhl-select,html[data-theme=dark] .jhl-input,html[data-theme=dark] .jhl-textarea{color:var(--jhl-text-light)!important;background:var(--jhl-input-bg)!important;border-color:var(--jhl-input-border)!important}html[data-theme=dark] .jhl-select:focus,html[data-theme=dark] .jhl-input:focus,html[data-theme=dark] .jhl-textarea:focus{border-color:var(--jhl-text-vibrant)!important;box-shadow:0 0 0 3px #f5a6231a!important}html[data-theme=dark] .jhl-select option{background:var(--jhl-card-bg)!important;color:var(--jhl-text-primary)!important}html[data-theme=light] .jhl-input,html[data-theme=light] .jhl-select,html[data-theme=light] .jhl-textarea{color:var(--jhl-text-primary)!important}.jhl-nav{background:var(--jhl-nav-bg);border-bottom:1px solid var(--jhl-nav-border);padding:var(--jhl-space-4) var(--jhl-space-6);display:flex;align-items:center;gap:var(--jhl-space-6);box-shadow:var(--jhl-shadow-sm);z-index:100;transition:background-color .3s ease,border-color .3s ease}.jhl-nav__brand{display:flex;align-items:center;gap:var(--jhl-space-3)}.jhl-nav__logo{font-size:2rem;line-height:1}.jhl-nav__title{margin:0;font-size:1.5rem;font-weight:700;color:var(--jhl-primary)}.jhl-nav__dot{color:#f33;font-weight:900}.jhl-nav__modes{display:flex;gap:var(--jhl-space-2);background:var(--jhl-nav-mode-bg);padding:var(--jhl-space-1);border-radius:var(--jhl-radius-lg);transition:background-color .3s ease}.jhl-nav__actions{display:flex;align-items:center;gap:var(--jhl-space-4)}.jhl-nav__user{display:flex;align-items:center;gap:var(--jhl-space-2);padding:var(--jhl-space-2) var(--jhl-space-3);background:var(--jhl-nav-mode-bg);border-radius:var(--jhl-radius-lg)}.jhl-nav__user-avatar{font-size:1.25rem;line-height:1}.jhl-nav__user-name{font-weight:500;color:var(--jhl-text-secondary)}.jhl-nav__lang{position:relative;margin-left:auto}.jhl-nav__gear-menu{position:relative;margin-right:var(--jhl-space-3)}.jhl-nav__edit-menu{position:relative}.jhl-nav__edit-btn{display:flex;align-items:center;gap:var(--jhl-space-2);padding:var(--jhl-space-2) var(--jhl-space-3);font-size:.875rem;font-weight:500;font-family:inherit;color:var(--jhl-text-primary);background:var(--jhl-nav-mode-bg);border:1px solid transparent;border-radius:var(--jhl-radius-md);cursor:pointer;transition:all .2s ease;white-space:nowrap}.jhl-nav__edit-btn:hover,.jhl-nav__edit-btn[aria-expanded=true]{background:var(--jhl-bg-hover);border-color:var(--jhl-border-secondary)}.jhl-nav__edit-btn[aria-expanded=true] .jhl-nav__edit-arrow{transform:rotate(180deg)}.jhl-nav__edit-arrow{font-size:.625rem;opacity:.6;transition:transform .2s ease}.jhl-nav__edit-dropdown{position:absolute;top:calc(100% + 4px);left:0;background:var(--jhl-bg-primary);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius-md);box-shadow:0 4px 12px #00000026;z-index:1000;min-width:160px;overflow:hidden}.jhl-nav__edit-dropdown[hidden]{display:none}.jhl-nav__edit-option{display:flex;align-items:center;gap:var(--jhl-space-2);width:100%;padding:var(--jhl-space-2) var(--jhl-space-3);font-size:.875rem;font-weight:500;font-family:inherit;color:var(--jhl-text-primary);background:transparent;border:none;text-align:left;cursor:pointer;transition:background .15s;white-space:nowrap}.jhl-nav__edit-option:hover{background:var(--jhl-bg-hover)}.jhl-nav__edit-option:focus{outline:2px solid var(--jhl-border-focus);outline-offset:-2px;background:var(--jhl-bg-hover)}.jhl-nav__edit-option:not(:last-child){border-bottom:1px solid var(--jhl-border-primary)}.jhl-nav__gear-btn{display:flex;align-items:center;justify-content:center;padding:var(--jhl-space-2);font-size:1rem;background:transparent;border:1px solid transparent;border-radius:var(--jhl-radius-md);cursor:pointer;transition:all .2s ease;color:var(--jhl-text-primary);min-width:36px;height:36px}.jhl-nav__gear-btn:hover{background:var(--jhl-bg-hover);border-color:var(--jhl-border-secondary);transform:rotate(90deg)}.jhl-nav__gear-btn[aria-expanded=true]{background:var(--jhl-bg-hover);border-color:var(--jhl-border-secondary)}.jhl-nav__gear-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--jhl-bg-primary);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius-md);box-shadow:0 4px 12px #00000026;z-index:1000;min-width:140px;overflow:hidden}.jhl-nav__gear-dropdown[hidden]{display:none}.jhl-nav__gear-option{display:block;width:100%;padding:var(--jhl-space-2) var(--jhl-space-3);font-size:.875rem;font-weight:500;font-family:inherit;color:var(--jhl-text-primary);background:transparent;border:none;text-align:left;cursor:pointer;transition:background .15s;white-space:nowrap}.jhl-nav__gear-option:hover{background:var(--jhl-bg-hover)}.jhl-nav__gear-option:focus{outline:2px solid var(--jhl-border-focus);outline-offset:-2px;background:var(--jhl-bg-hover)}.jhl-nav__gear-option:not(:last-child){border-bottom:1px solid var(--jhl-border-primary)}.jhl-nav__gear-submenu{position:relative}.jhl-nav__gear-option--submenu{position:relative;display:flex;align-items:center;justify-content:space-between}.jhl-nav__gear-submenu-dropdown{position:absolute;right:100%;top:0;min-width:200px;background:var(--jhl-bg-secondary);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius-sm);box-shadow:var(--jhl-shadow-md);z-index:1001;opacity:0;transform:translate(8px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.jhl-nav__gear-submenu:hover .jhl-nav__gear-submenu-dropdown{opacity:1;transform:translate(0);pointer-events:auto}.jhl-nav__gear-submenu-dropdown[hidden]{display:none}.jhl-nav__campaign-list{padding:var(--jhl-space-1)}.jhl-nav__campaign-option{display:block;width:100%;padding:var(--jhl-space-2) var(--jhl-space-3);border:none;background:none;color:var(--jhl-text-primary);text-align:left;cursor:pointer;border-radius:var(--jhl-radius-sm);font-size:var(--jhl-font-size-sm);line-height:1.4;transition:background-color .2s ease}.jhl-nav__campaign-option:hover{background:var(--jhl-bg-hover)}.jhl-nav__campaign-option:focus{outline:2px solid var(--jhl-border-focus);outline-offset:-2px;background:var(--jhl-bg-hover)}.jhl-nav__campaign-empty{padding:var(--jhl-space-2) var(--jhl-space-3);color:var(--jhl-text-secondary);font-size:var(--jhl-font-size-sm);font-style:italic;text-align:center}.jhl-nav__lang-icon{font-size:1rem;line-height:1}.jhl-nav__lang-code{font-weight:600;text-transform:uppercase}.jhl-nav__lang-arrow{font-size:.625rem;opacity:.6;transition:transform .2s ease}.jhl-nav__lang-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--jhl-card-bg);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius-md);box-shadow:var(--jhl-shadow-lg);min-width:120px;z-index:1000;overflow:hidden}.jhl-nav__lang-dropdown[hidden]{display:none}@media(max-width:1024px){.jhl-nav__modes{order:1}.jhl-nav__brand{order:2}.jhl-nav__actions{order:3}}@media(max-width:768px){.jhl-nav{flex-direction:column;gap:var(--jhl-space-4)}.jhl-nav__modes{width:100%;justify-content:center}}html[data-theme=dark] .jhl-nav__user-name{color:var(--jhl-text-light)!important}@media print{.jhl-nav{display:none!important}}.jhl-pill-menu{position:fixed;bottom:4px;left:4px;z-index:1000;font-family:var(--jhl-font-family);padding:16px}.jhl-pill-menu__toggle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:24px;border:none;background:var(--jhl-primary);color:var(--jhl-text-inverse);cursor:pointer;box-shadow:none;transition:opacity .4s ease,transform .2s ease,box-shadow .4s ease;font-size:18px;position:relative;overflow:hidden;opacity:.08}.jhl-pill-menu__toggle:hover{opacity:1;transform:translateY(-2px);box-shadow:var(--jhl-shadow-xl);background:var(--jhl-primary-hover)}.jhl-pill-menu:hover .jhl-pill-menu__toggle{opacity:1;box-shadow:var(--jhl-shadow-lg)}.jhl-pill-menu__toggle:active{opacity:1;transform:translateY(0);box-shadow:var(--jhl-shadow-md)}.jhl-pill-menu__toggle[aria-expanded=true]{opacity:1;box-shadow:var(--jhl-shadow-lg)}@keyframes pillToggleIntroGlow{0%{opacity:.08;box-shadow:none}20%{opacity:.9;box-shadow:0 0 12px 4px #4a9eff99}40%{opacity:.08;box-shadow:none}60%{opacity:.9;box-shadow:0 0 12px 4px #4a9eff99}80%{opacity:.08;box-shadow:none}to{opacity:.08;box-shadow:none}}.jhl-pill-menu__toggle--intro{animation:pillToggleIntroGlow 2.4s ease-out forwards}.jhl-pill-menu__toggle-icon{transition:opacity .2s ease,transform .2s ease}.jhl-pill-menu__toggle[aria-expanded=true] .jhl-pill-menu__toggle-icon--collapsed{opacity:0;transform:rotate(90deg)}.jhl-pill-menu__toggle[aria-expanded=false] .jhl-pill-menu__toggle-icon--expanded{opacity:0;transform:rotate(-90deg)}.jhl-pill-menu__toggle-icon--expanded{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.jhl-pill-menu__dropdown{position:absolute;bottom:60px;left:0;min-width:160px;background:var(--jhl-bg-elevated);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius-lg);box-shadow:var(--jhl-shadow-xl);padding:var(--jhl-space-1);opacity:0;visibility:hidden;transform:translateY(10px) scale(.95);transition:var(--jhl-transition);backdrop-filter:blur(8px);will-change:transform,opacity;backface-visibility:hidden}.jhl-pill-menu__dropdown[aria-hidden=false]{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.jhl-pill-menu__item{display:flex;align-items:center;gap:var(--jhl-space-2);width:100%;padding:var(--jhl-space-2) var(--jhl-space-3);border:none;background:transparent;color:var(--jhl-text-primary);cursor:pointer;border-radius:var(--jhl-radius);transition:var(--jhl-transition);font-size:14px;font-weight:500;text-align:left}.jhl-pill-menu__item:hover{background:var(--jhl-bg-hover);color:var(--jhl-text-primary)}.jhl-pill-menu__item:active{background:var(--jhl-bg-active);transform:scale(.98)}.jhl-pill-menu__item--active{background:var(--jhl-primary-light);color:var(--jhl-primary);font-weight:600}.jhl-pill-menu__item--active:hover{background:var(--jhl-primary-light);opacity:.8}.jhl-pill-menu__item-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}.jhl-pill-menu__item-label{flex:1}@media(max-width:768px){.jhl-pill-menu{bottom:0;left:0;padding:16px}.jhl-pill-menu__toggle{width:44px;height:44px;border-radius:22px}.jhl-pill-menu__dropdown{bottom:56px;min-width:140px}.jhl-pill-menu__item{padding:var(--jhl-space-2) var(--jhl-space-3);font-size:13px}}@keyframes pillMenuSlideUp{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.jhl-pill-menu__dropdown--animating{animation:pillMenuSlideUp .2s ease forwards}.jhl-pill-menu__toggle:focus-visible{outline:2px solid var(--jhl-border-focus);outline-offset:2px}.jhl-pill-menu__item:focus-visible{outline:2px solid var(--jhl-border-focus);outline-offset:-2px}.jhl-pill-menu__group{position:relative}.jhl-pill-menu__group-arrow{margin-left:auto;font-size:14px;opacity:.6;transition:opacity .15s ease}.jhl-pill-menu__group:hover .jhl-pill-menu__group-arrow,.jhl-pill-menu__group:has(.jhl-pill-menu__submenu--open) .jhl-pill-menu__group-arrow{opacity:1}.jhl-pill-menu__submenu{position:absolute;left:100%;bottom:0;min-width:140px;background:var(--jhl-bg-elevated);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius-lg);box-shadow:var(--jhl-shadow-xl);padding:var(--jhl-space-1);opacity:0;visibility:hidden;transform:translate(-4px);transition:opacity .15s ease,visibility .15s ease,transform .15s ease;pointer-events:none;margin-left:4px;backdrop-filter:blur(8px);will-change:transform,opacity;backface-visibility:hidden}.jhl-pill-menu__submenu--open{opacity:1;visibility:visible;transform:translate(0);pointer-events:auto}.jhl-pill-menu--prewarming .jhl-pill-menu__dropdown,.jhl-pill-menu--prewarming .jhl-pill-menu__submenu{visibility:visible;opacity:.001;pointer-events:none;animation:none;transition:none}.jhl-scripts-editor{display:flex;flex-direction:column;height:100vh;background:var(--jhl-bg-primary);color:var(--jhl-text-primary);font-family:var(--jhl-font-family);overflow:hidden}.jhl-scripts-editor__header{display:flex;align-items:center;justify-content:space-between;padding:var(--jhl-space-4) var(--jhl-space-8);border-bottom:1px solid var(--jhl-border-primary);background:var(--jhl-bg-elevated);min-height:64px;flex-shrink:0}.jhl-scripts-editor__title-section{display:flex;align-items:baseline;gap:var(--jhl-space-3)}.jhl-scripts-editor__title{font-size:20px;font-weight:600;margin:0;color:var(--jhl-text-primary)}.jhl-scripts-editor__campaign-info{font-size:14px;color:var(--jhl-text-secondary);margin:0}.jhl-scripts-editor__primary-action{background:var(--jhl-primary);color:var(--jhl-text-inverse);border:none;padding:var(--jhl-space-2) var(--jhl-space-4);border-radius:var(--jhl-radius);font-size:14px;font-weight:500;cursor:pointer;transition:var(--jhl-transition);display:flex;align-items:center;gap:var(--jhl-space-2)}.jhl-scripts-editor__primary-action:hover{background:var(--jhl-primary-hover)}.jhl-scripts-editor__primary-action:active{transform:translateY(1px)}.jhl-scripts-editor__primary-action:disabled{background:var(--jhl-text-muted);cursor:not-allowed;transform:none}.jhl-scripts-editor__content{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:var(--jhl-space-8);padding:var(--jhl-space-8);overflow:hidden;background:var(--jhl-bg-primary)}.jhl-scripts-editor__left-column,.jhl-scripts-editor__right-column{display:flex;flex-direction:column;min-height:0;background:var(--jhl-card-bg);border-radius:var(--jhl-radius-lg);border:1px solid var(--jhl-card-border);overflow:hidden}.jhl-scripts-editor__scripts-header{padding:var(--jhl-space-6) var(--jhl-space-6) var(--jhl-space-4);border-bottom:1px solid var(--jhl-border-secondary)}.jhl-scripts-editor__scripts-title{font-size:16px;font-weight:600;margin:0 0 var(--jhl-space-1) 0;color:var(--jhl-text-primary)}.jhl-scripts-editor__scripts-subtitle{font-size:13px;color:var(--jhl-text-secondary);margin:0}.jhl-scripts-editor__scripts-list{flex:1;overflow-y:auto;padding:var(--jhl-space-4) var(--jhl-space-6) var(--jhl-space-6)}.jhl-scripts-editor__right-column{display:flex;flex-direction:column}.jhl-scripts-editor__associations-header{padding:var(--jhl-space-6) var(--jhl-space-6) var(--jhl-space-4);border-bottom:1px solid var(--jhl-border-secondary)}.jhl-scripts-editor__associations-title{font-size:16px;font-weight:600;margin:0 0 var(--jhl-space-1) 0;color:var(--jhl-text-primary)}.jhl-scripts-editor__associations-subtitle{font-size:13px;color:var(--jhl-text-secondary);margin:0}.jhl-scripts-editor__associations-content{flex:1;display:flex;flex-direction:column;gap:var(--jhl-space-6);padding:var(--jhl-space-4) var(--jhl-space-6) var(--jhl-space-6);overflow-y:auto}.jhl-script-card{background:var(--jhl-bg-elevated);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius-md);padding:var(--jhl-space-4);margin-bottom:var(--jhl-space-3);transition:var(--jhl-transition);cursor:pointer}.jhl-script-card:hover{border-color:var(--jhl-card-hover-border);box-shadow:var(--jhl-shadow-md);transform:translateY(-1px)}.jhl-script-card--selected{border-color:var(--jhl-primary);background:var(--jhl-primary-light)}.jhl-script-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--jhl-space-2)}.jhl-script-card__title{font-size:15px;font-weight:600;margin:0;color:var(--jhl-text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jhl-script-card__title-input{width:100%;padding:var(--jhl-space-1) var(--jhl-space-2);border:1px solid var(--jhl-border-focus);border-radius:var(--jhl-radius-sm);font-size:15px;font-weight:600;font-family:inherit;background:var(--jhl-input-bg);color:var(--jhl-input-text)}.jhl-script-card__title-input:focus{outline:none;border-color:var(--jhl-border-focus);box-shadow:0 0 0 2px var(--jhl-primary-light)}.jhl-script-card__actions{display:flex;gap:var(--jhl-space-1);opacity:0;transition:var(--jhl-transition)}.jhl-script-card:hover .jhl-script-card__actions{opacity:1}.jhl-script-card__action{background:none;border:none;padding:var(--jhl-space-1);border-radius:var(--jhl-radius-sm);cursor:pointer;font-size:12px;color:var(--jhl-text-secondary);transition:var(--jhl-transition)}.jhl-script-card__action:hover{background:var(--jhl-bg-hover);color:var(--jhl-text-primary)}.jhl-script-card__action--danger:hover{background:var(--jhl-danger-light);color:var(--jhl-danger)}.jhl-script-card__meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--jhl-text-secondary)}.jhl-script-card__date{font-size:11px;color:var(--jhl-text-muted)}.jhl-script-card__entity-count{background:var(--jhl-primary-light);color:var(--jhl-primary);padding:var(--jhl-space-1) var(--jhl-space-2);border-radius:var(--jhl-radius-xl);font-size:11px;font-weight:500}.jhl-script-card__entity-count--zero{background:var(--jhl-bg-secondary);color:var(--jhl-text-muted)}.jhl-entity-section{background:var(--jhl-bg-elevated);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius-md);overflow:hidden}.jhl-entity-section__header{padding:var(--jhl-space-4) var(--jhl-space-5);background:var(--jhl-bg-secondary);border-bottom:1px solid var(--jhl-border-primary);display:flex;align-items:center;justify-content:space-between}.jhl-entity-section__title{font-size:14px;font-weight:600;margin:0;color:var(--jhl-text-primary)}.jhl-entity-section__count{background:var(--jhl-primary-light);color:var(--jhl-primary);padding:var(--jhl-space-1) var(--jhl-space-2);border-radius:var(--jhl-radius-xl);font-size:11px;font-weight:500}.jhl-entity-section__content{padding:var(--jhl-space-4) var(--jhl-space-5);min-height:120px;position:relative}.jhl-entity-section__drop-zone{min-height:80px;border:2px dashed var(--jhl-border-secondary);border-radius:var(--jhl-radius);padding:var(--jhl-space-4);transition:var(--jhl-transition);display:flex;flex-wrap:wrap;gap:var(--jhl-space-2);align-items:flex-start;align-content:flex-start}.jhl-entity-section__drop-zone--highlighted{border-color:var(--jhl-primary);background:var(--jhl-primary-light)}.jhl-entity-section__drop-zone--valid{border-color:var(--jhl-success);background:var(--jhl-success-light)}.jhl-entity-section__drop-zone--invalid{border-color:var(--jhl-danger);background:var(--jhl-danger-light)}.jhl-entity-section__empty{display:flex;align-items:center;justify-content:center;height:80px;color:var(--jhl-text-muted);font-size:13px;font-style:italic}.jhl-entity-chip{display:inline-flex;align-items:center;gap:var(--jhl-space-2);padding:var(--jhl-space-2) var(--jhl-space-3);background:var(--jhl-bg-secondary);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius-xl);font-size:12px;color:var(--jhl-text-primary);cursor:grab;transition:var(--jhl-transition);user-select:none;white-space:nowrap}.jhl-entity-chip:hover{background:var(--jhl-bg-hover);border-color:var(--jhl-primary);transform:translateY(-1px);box-shadow:var(--jhl-shadow-sm)}.jhl-entity-chip--dragging{opacity:.5;transform:rotate(2deg)}.jhl-entity-chip__label{font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis}.jhl-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--jhl-space-12) var(--jhl-space-6);color:var(--jhl-text-secondary)}.jhl-empty-state__icon{font-size:48px;margin-bottom:var(--jhl-space-4);opacity:.6}.jhl-empty-state__title{font-size:18px;font-weight:600;color:var(--jhl-text-primary);margin:0 0 var(--jhl-space-2) 0}.jhl-empty-state__description{font-size:14px;color:var(--jhl-text-secondary);line-height:1.5;margin:0 0 var(--jhl-space-6) 0;max-width:300px}.jhl-empty-state__actions{display:flex;gap:var(--jhl-space-3)}.jhl-empty-state--compact{padding:var(--jhl-space-8) var(--jhl-space-4)}.jhl-empty-state--compact .jhl-empty-state__icon{font-size:32px;margin-bottom:var(--jhl-space-3)}.jhl-empty-state--compact .jhl-empty-state__title{font-size:16px}.jhl-empty-state--compact .jhl-empty-state__description{font-size:13px;margin-bottom:var(--jhl-space-4)}.jhl-btn{display:inline-flex;align-items:center;gap:var(--jhl-space-2);padding:var(--jhl-space-2) var(--jhl-space-4);border:1px solid transparent;border-radius:var(--jhl-radius);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;transition:var(--jhl-transition);background:none;color:inherit}.jhl-btn:hover{transform:translateY(-1px)}.jhl-btn:active{transform:translateY(0)}.jhl-btn--primary{background:var(--jhl-primary);color:var(--jhl-text-inverse);border-color:var(--jhl-primary)}.jhl-btn--primary:hover{background:var(--jhl-primary-hover);border-color:var(--jhl-primary-hover)}.jhl-btn--secondary{background:var(--jhl-secondary);color:var(--jhl-text-inverse);border-color:var(--jhl-secondary)}.jhl-btn--outline{border-color:var(--jhl-primary);color:var(--jhl-primary)}.jhl-btn--outline:hover{background:var(--jhl-primary);color:var(--jhl-text-inverse)}.jhl-btn--ghost{color:var(--jhl-text-secondary)}.jhl-btn--ghost:hover{background:var(--jhl-bg-hover);color:var(--jhl-text-primary)}.jhl-btn--sm{padding:var(--jhl-space-1) var(--jhl-space-3);font-size:13px}.jhl-btn--xs{padding:var(--jhl-space-1) var(--jhl-space-2);font-size:12px}.jhl-btn--danger{color:var(--jhl-danger)}.jhl-btn--danger:hover{background:var(--jhl-danger-light);color:var(--jhl-danger)}.jhl-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.jhl-btn:disabled:hover{transform:none}@media(max-width:1024px){.jhl-scripts-editor__content{grid-template-columns:1fr;gap:var(--jhl-space-6);padding:var(--jhl-space-6)}.jhl-scripts-editor__header{padding:var(--jhl-space-4) var(--jhl-space-6)}}@media(max-width:768px){.jhl-scripts-editor__content{padding:var(--jhl-space-4);gap:var(--jhl-space-4)}.jhl-scripts-editor__header{padding:var(--jhl-space-3) var(--jhl-space-4);flex-direction:column;align-items:stretch;gap:var(--jhl-space-3)}.jhl-scripts-editor__title-section{justify-content:center}.jhl-scripts-editor__primary-action{align-self:center}}.jhl-scripts-editor__placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;padding:64px;color:#666}.jhl-scripts-editor__placeholder>div:first-child{font-size:48px;margin-bottom:16px}.jhl-scripts-editor__placeholder>div:nth-child(2){font-size:18px;font-weight:600;margin-bottom:8px;color:#1a1a1a}.jhl-scripts-editor__placeholder>div:last-child{color:#666;text-align:center;max-width:400px;line-height:1.6}.jhl-scripts-editor__layout{display:grid;grid-template-columns:1fr 1fr;gap:48px;height:100%}.jhl-scripts-editor__scripts-section,.jhl-scripts-editor__associations-section{display:flex;flex-direction:column;min-height:0}.jhl-scripts-editor__section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #e5e5e5}.jhl-scripts-editor__section-title{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.jhl-scripts-editor__section-subtitle{font-size:14px;color:#666;margin:16px 0 0}.jhl-scripts-editor__scripts-list,.jhl-scripts-editor__associations-content{flex:1;overflow-y:auto;min-height:0}.jhl-scripts-editor__empty-state{display:flex;align-items:center;justify-content:center;flex:1;padding:64px}.jhl-empty-state{text-align:center;max-width:400px}.jhl-empty-state--compact{max-width:300px}.jhl-empty-state__icon{font-size:48px;margin-bottom:32px;opacity:.6}.jhl-empty-state__title{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 16px}.jhl-empty-state__description{font-size:14px;color:#666;line-height:1.5;margin:0 0 32px}.jhl-empty-state__actions{display:flex;justify-content:center;gap:24px}.jhl-script-list__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}.jhl-script-list__title-section{display:flex;align-items:baseline;gap:24px}.jhl-script-list__title{font-size:18px;font-weight:600;color:#1a1a1a;margin:0}.jhl-script-list__count{font-size:12px;color:#666;background:#f5f5f5;padding:8px 16px;border-radius:6px}.jhl-script-list__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:32px}.jhl-script-list__empty{display:flex;align-items:center;justify-content:center;min-height:300px}.jhl-script-card{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:32px;transition:all .2s ease;display:flex;flex-direction:column;gap:24px}.jhl-script-card:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a;transform:translateY(-2px)}.jhl-script-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.jhl-script-card__title-section{flex:1;min-width:0}.jhl-script-card__title{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 16px;word-break:break-word}.jhl-script-card__title-input{width:100%;padding:8px 16px;border:1px solid #007bff;border-radius:6px;font-size:16px;font-weight:600;font-family:inherit;background:#fff;color:#1a1a1a}.jhl-script-card__title-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff33}.jhl-script-card__meta{display:flex;flex-direction:column;gap:8px}.jhl-script-card__date{font-size:11px;color:#666;display:flex;align-items:center;gap:8px}.jhl-script-card__date--updated{color:#007bff}.jhl-script-card__actions{display:flex;gap:8px;flex-shrink:0}.jhl-script-card__description{margin:0}.jhl-script-card__description p{font-size:14px;color:#666;line-height:1.4;margin:0}.jhl-script-card__footer{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid #f0f0f0}.jhl-script-card__associations{display:flex;align-items:center;gap:16px}.jhl-script-card__association-label{font-size:12px;color:#666;display:flex;align-items:center;gap:8px}.jhl-script-card__association-icon{font-size:14px}.jhl-script-card__association-count{font-size:12px;font-weight:600;color:#007bff;background:#007bff1a;padding:8px 16px;border-radius:6px;min-width:20px;text-align:center}.jhl-script-card__version{font-size:11px;color:#666}.jhl-script-card__version-label{background:#f5f5f5;padding:8px 16px;border-radius:6px}.jhl-script-card__entity-preview{margin-top:16px;padding-top:16px;border-top:1px solid #f0f0f0}.jhl-script-card__entity-list{display:flex;flex-wrap:wrap;gap:8px}.jhl-entity-associations-container{display:flex;flex-direction:column;height:100%;min-height:400px;padding:var(--jhl-space-4, 16px);background:var(--jhl-bg-elevated, #ffffff);border-radius:var(--jhl-radius-md, 8px);border:1px solid var(--jhl-border-primary, #e5e5e5)}.jhl-entity-associations{display:flex;flex-direction:column;height:100%;gap:var(--jhl-space-6, 24px)}.jhl-entity-associations__header{margin-bottom:var(--jhl-space-6, 24px)}.jhl-entity-associations__title{font-size:18px;font-weight:600;color:var(--jhl-text-primary, #1a1a1a);margin:0 0 var(--jhl-space-3, 12px) 0}.jhl-entity-associations__subtitle{font-size:14px;color:var(--jhl-text-secondary, #666);margin:0;line-height:1.5}.jhl-entity-associations__content{display:flex;flex-direction:column;gap:var(--jhl-space-8, 32px);flex:1;min-height:0}.jhl-entity-associations__section{display:flex;flex-direction:column;min-height:0;flex:1}.jhl-entity-associations__section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--jhl-space-4, 16px);padding-bottom:var(--jhl-space-3, 12px);border-bottom:1px solid var(--jhl-border-secondary, #e5e5e5)}.jhl-entity-associations__section-title{font-size:16px;font-weight:600;color:var(--jhl-text-primary, #1a1a1a);margin:0;display:flex;align-items:center;gap:var(--jhl-space-3, 12px)}.jhl-entity-associations__section-icon{font-size:18px}.jhl-entity-associations__section-count{font-size:12px;color:var(--jhl-text-secondary, #666);background:var(--jhl-bg-secondary, #f5f5f5);padding:var(--jhl-space-1, 4px) var(--jhl-space-3, 12px);border-radius:var(--jhl-radius-xl, 16px);font-weight:500}.jhl-entity-associations__drop-zone{min-height:120px;border:2px dashed var(--jhl-border-secondary, #e5e5e5);border-radius:var(--jhl-radius-md, 8px);padding:var(--jhl-space-6, 24px);transition:var(--jhl-transition, all .2s ease);position:relative;background:var(--jhl-bg-elevated, #ffffff);display:flex;flex-direction:column;gap:var(--jhl-space-4, 16px)}.jhl-entity-associations__drop-zone--unassigned,.jhl-entity-associations__drop-zone--script{background:var(--jhl-bg-elevated, #ffffff);border-color:var(--jhl-border-primary, #e5e5e5)}.jhl-entity-associations__drop-zone--highlighted{border-color:var(--jhl-primary, #007bff);background:var(--jhl-primary-light, rgba(0, 123, 255, .05))}.jhl-entity-associations__drop-zone--valid{border-color:var(--jhl-success, #28a745);background:var(--jhl-success-light, rgba(40, 167, 69, .05))}.jhl-entity-associations__drop-zone--invalid{border-color:var(--jhl-danger, #dc3545);background:var(--jhl-danger-light, rgba(220, 53, 69, .05))}.jhl-entity-associations__entity-list{display:flex;flex-wrap:wrap;gap:var(--jhl-space-3, 12px);min-height:40px;flex:1}.jhl-entity-associations__drop-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:var(--jhl-space-3, 12px);opacity:0;transition:var(--jhl-transition, all .2s ease);pointer-events:none;z-index:1}.jhl-entity-associations__drop-zone--highlighted .jhl-entity-associations__drop-hint{opacity:.7}.jhl-entity-associations__drop-hint-icon{font-size:24px}.jhl-entity-associations__drop-hint-text{font-size:12px;color:var(--jhl-text-secondary, #666);text-align:center;white-space:nowrap}.jhl-entity-associations__empty{display:flex;align-items:center;justify-content:center;gap:var(--jhl-space-3, 12px);min-height:80px;color:var(--jhl-text-secondary, #666);font-size:14px;padding:var(--jhl-space-4, 16px);text-align:center}.jhl-entity-associations__empty-icon{font-size:18px;opacity:.6}.jhl-entity-associations__scripts-container{display:flex;flex-direction:column;gap:var(--jhl-space-6, 24px);flex:1;overflow-y:auto;min-height:200px}.jhl-entity-associations__script-zone{border:1px solid var(--jhl-border-primary, #e5e5e5);border-radius:var(--jhl-radius-md, 8px);padding:var(--jhl-space-4, 16px);background:var(--jhl-bg-elevated, #ffffff)}.jhl-entity-associations__script-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--jhl-space-4, 16px);padding-bottom:var(--jhl-space-3, 12px);border-bottom:1px solid var(--jhl-border-secondary, #f0f0f0)}.jhl-entity-associations__script-title{font-size:14px;font-weight:600;color:var(--jhl-text-primary, #1a1a1a);margin:0;display:flex;align-items:center;gap:var(--jhl-space-3, 12px)}.jhl-entity-associations__script-icon{font-size:16px}.jhl-entity-associations__script-count{font-size:11px;color:var(--jhl-text-secondary, #666);background:var(--jhl-bg-secondary, #f5f5f5);padding:var(--jhl-space-1, 4px) var(--jhl-space-3, 12px);border-radius:var(--jhl-radius-sm, 4px);font-weight:500}.jhl-entity-associations__drag-overlay{position:fixed;inset:0;background:#0000001a;z-index:1000;display:flex;align-items:center;justify-content:center;pointer-events:none}.jhl-entity-associations__drag-preview{background:#fff;border:1px solid #e5e5e5;border-radius:12px;padding:24px 32px;box-shadow:0 8px 32px #00000026;display:flex;align-items:center;gap:16px}.jhl-entity-associations__drag-icon{font-size:18px}.jhl-entity-associations__drag-text{font-size:14px;font-weight:500;color:#1a1a1a}.jhl-entity-chip{display:inline-flex;align-items:center;gap:var(--jhl-space-2, 8px);padding:var(--jhl-space-2, 8px) var(--jhl-space-3, 12px);background:var(--jhl-bg-secondary, #f5f5f5);border:1px solid var(--jhl-border-primary, #e5e5e5);border-radius:var(--jhl-radius-xl, 16px);font-size:12px;color:var(--jhl-text-primary, #1a1a1a);cursor:grab;transition:var(--jhl-transition, all .2s ease);user-select:none;white-space:nowrap;position:relative;z-index:2}.jhl-entity-chip:hover{background:var(--jhl-bg-hover, #e9ecef);border-color:var(--jhl-primary, #007bff);transform:translateY(-1px);box-shadow:var(--jhl-shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}.jhl-entity-chip:active{cursor:grabbing;transform:scale(.95)}.jhl-entity-chip--dragging{opacity:.5;transform:rotate(2deg);z-index:1000}.jhl-entity-chip--unassigned{background:var(--jhl-bg-elevated, #ffffff);border-color:var(--jhl-border-secondary, #f0f0f0)}.jhl-entity-chip--assigned{background:var(--jhl-primary-light, rgba(0, 123, 255, .1));border-color:var(--jhl-primary, #007bff);color:var(--jhl-primary, #007bff)}.jhl-entity-chip--small{padding:var(--jhl-space-1, 4px) var(--jhl-space-2, 8px);font-size:11px}.jhl-entity-chip--more{background:var(--jhl-bg-secondary, #f5f5f5);border-color:var(--jhl-border-secondary, #f0f0f0);color:var(--jhl-text-secondary, #666);cursor:default}.jhl-entity-chip__icon{font-size:14px;flex-shrink:0}.jhl-entity-chip__label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.jhl-entity-chip__type{font-size:10px;color:var(--jhl-text-secondary, #666);background:var(--jhl-bg-elevated, #ffffff);padding:1px var(--jhl-space-1, 4px);border-radius:var(--jhl-radius-sm, 4px);margin-left:var(--jhl-space-1, 4px)}@media(max-width:768px){.jhl-scripts-editor__header{padding:32px}.jhl-scripts-editor__title{font-size:24px}.jhl-scripts-editor__content{padding:32px}.jhl-scripts-list{grid-template-columns:1fr}}@media(prefers-color-scheme:dark){.jhl-scripts-editor__placeholder>div:first-child{opacity:.8}}.jhl-script-card--droppable{position:relative;transition:all .2s ease}.jhl-script-card--droppable.jhl-script-card--drag-over{border-color:var(--jhl-primary);box-shadow:0 0 0 2px var(--jhl-primary-light);transform:translateY(-2px)}.jhl-script-card__drop-zone{margin-top:var(--jhl-space-3);padding:var(--jhl-space-3);border:2px dashed var(--jhl-border-secondary);border-radius:var(--jhl-radius-md);background:var(--jhl-bg-secondary);transition:all .2s ease;min-height:60px;display:flex;align-items:center;justify-content:center}.jhl-script-card__drop-zone--active{border-color:var(--jhl-primary);background:var(--jhl-primary-light);border-style:solid}.jhl-script-card__drop-hint{display:flex;align-items:center;gap:var(--jhl-space-2);color:var(--jhl-text-muted);font-size:12px;text-align:center}.jhl-script-card__drop-hint-icon{font-size:16px;opacity:.7}.jhl-script-card__drop-hint-text{font-weight:500}.jhl-script-card__entities{display:flex;flex-wrap:wrap;gap:var(--jhl-space-2);width:100%}.jhl-script-card .jhl-entity-chip{background:var(--jhl-primary-light);border:1px solid var(--jhl-primary);color:var(--jhl-primary);padding:var(--jhl-space-1) var(--jhl-space-2);border-radius:var(--jhl-radius-sm);font-size:11px;font-weight:500;display:flex;align-items:center;gap:var(--jhl-space-1);cursor:grab;transition:var(--jhl-transition)}.jhl-script-card .jhl-entity-chip:hover{background:var(--jhl-primary);color:var(--jhl-text-inverse);transform:translateY(-1px)}.jhl-script-card .jhl-entity-chip--dragging{opacity:.5;cursor:grabbing}.jhl-script-card .jhl-entity-chip__icon{font-size:10px}.jhl-script-card .jhl-entity-chip__label{font-size:10px;font-weight:600}.jhl-script-card--droppable.jhl-script-card--drag-over .jhl-script-card__drop-zone{border-color:var(--jhl-success);background:var(--jhl-success-light);border-style:solid;animation:pulse-drop-zone 1s ease-in-out infinite}@keyframes pulse-drop-zone{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.9}}.jhl-script-card--droppable:not(.jhl-script-card--drag-over) .jhl-script-card__drop-zone{opacity:.8}.jhl-script-card--droppable:hover .jhl-script-card__drop-zone{opacity:1;border-color:var(--jhl-border-primary)}.jhl-all-programs{display:flex;flex-direction:column;height:100%;background:var(--jhl-bg-primary, #f8f9fa);color:var(--jhl-text-primary, #1a1a1a);font-family:var(--jhl-font-family, system-ui, -apple-system, sans-serif)}.jhl-all-programs__header{display:flex;align-items:center;justify-content:space-between;padding:var(--jhl-space-4, 16px) var(--jhl-space-6, 24px);background:var(--jhl-bg-elevated, #ffffff);border-bottom:1px solid var(--jhl-border-primary, #e5e5e5);flex-shrink:0;gap:var(--jhl-space-4, 16px)}.jhl-all-programs__title{font-size:18px;font-weight:600;margin:0;color:var(--jhl-text-primary, #1a1a1a)}.jhl-all-programs__stats{display:flex;gap:var(--jhl-space-4, 16px);flex:1}.jhl-all-programs__stat{font-size:13px;color:var(--jhl-text-secondary, #666);background:var(--jhl-bg-secondary, #f5f5f5);padding:var(--jhl-space-1, 4px) var(--jhl-space-3, 12px);border-radius:var(--jhl-radius-sm, 4px)}.jhl-all-programs__stat strong{color:var(--jhl-text-primary, #1a1a1a)}.jhl-all-programs__filters{display:flex;flex-wrap:wrap;gap:var(--jhl-space-3, 12px);padding:var(--jhl-space-3, 12px) var(--jhl-space-6, 24px);background:var(--jhl-bg-secondary, #f5f5f5);border-bottom:1px solid var(--jhl-border-secondary, #e5e5e5)}.jhl-all-programs__filter{display:flex;align-items:center;gap:var(--jhl-space-2, 8px);font-size:13px;color:var(--jhl-text-secondary, #666);cursor:pointer;padding:var(--jhl-space-1, 4px) var(--jhl-space-2, 8px);border-radius:var(--jhl-radius-sm, 4px);transition:var(--jhl-transition, all .2s ease)}.jhl-all-programs__filter:hover{background:var(--jhl-bg-hover, #e9ecef)}.jhl-all-programs__filter input[type=checkbox]{accent-color:var(--jhl-primary, #007bff)}.jhl-all-programs__list{flex:1;overflow-y:auto;padding:var(--jhl-space-4, 16px) var(--jhl-space-6, 24px)}.jhl-all-programs__empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--jhl-text-muted, #999);font-size:14px;font-style:italic}.jhl-all-programs__group{margin-bottom:var(--jhl-space-6, 24px)}.jhl-all-programs__group-title{font-size:14px;font-weight:600;color:var(--jhl-text-primary, #1a1a1a);margin:0 0 var(--jhl-space-3, 12px) 0;padding-bottom:var(--jhl-space-2, 8px);border-bottom:1px solid var(--jhl-border-secondary, #e5e5e5);display:flex;align-items:center;gap:var(--jhl-space-2, 8px)}.jhl-all-programs__group-count{font-weight:400;color:var(--jhl-text-secondary, #666);font-size:12px}.jhl-all-programs__group-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--jhl-space-3, 12px)}.jhl-program-card{background:var(--jhl-bg-elevated, #ffffff);border:1px solid var(--jhl-border-primary, #e5e5e5);border-radius:var(--jhl-radius-md, 8px);padding:var(--jhl-space-3, 12px);transition:var(--jhl-transition, all .2s ease)}.jhl-program-card:hover{border-color:var(--jhl-primary, #007bff);box-shadow:var(--jhl-shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}.jhl-program-card__header{display:flex;align-items:flex-start;gap:var(--jhl-space-3, 12px)}.jhl-program-card__type{font-size:20px;flex-shrink:0}.jhl-program-card__info{flex:1;min-width:0}.jhl-program-card__name{font-size:14px;font-weight:600;color:var(--jhl-text-primary, #1a1a1a);margin-bottom:var(--jhl-space-1, 4px);word-break:break-word}.jhl-program-card__name em{font-weight:400;color:var(--jhl-text-secondary, #666)}.jhl-program-card__meta{display:flex;flex-wrap:wrap;gap:var(--jhl-space-2, 8px);font-size:11px;color:var(--jhl-text-secondary, #666)}.jhl-program-card__meta span{display:flex;align-items:center;gap:2px;background:var(--jhl-bg-secondary, #f5f5f5);padding:2px 6px;border-radius:var(--jhl-radius-sm, 4px)}.jhl-program-card__actions{display:flex;gap:var(--jhl-space-1, 4px);flex-shrink:0}.jhl-program-card__footer{display:flex;flex-wrap:wrap;gap:var(--jhl-space-3, 12px);margin-top:var(--jhl-space-3, 12px);padding-top:var(--jhl-space-2, 8px);border-top:1px solid var(--jhl-border-secondary, #f0f0f0)}.jhl-program-card__stat{font-size:11px;color:var(--jhl-text-muted, #999);display:flex;align-items:center;gap:4px}.jhl-program-details{display:flex;flex-direction:column;gap:var(--jhl-space-3, 12px)}.jhl-program-details__row{display:flex;gap:var(--jhl-space-3, 12px);font-size:14px}.jhl-program-details__row strong{min-width:100px;color:var(--jhl-text-secondary, #666);font-weight:500}.jhl-program-details__row code{background:var(--jhl-bg-secondary, #f5f5f5);padding:2px 6px;border-radius:var(--jhl-radius-sm, 4px);font-size:12px;word-break:break-all}.jhl-program-details__data{margin-top:var(--jhl-space-4, 16px)}.jhl-program-details__data strong{display:block;margin-bottom:var(--jhl-space-2, 8px);color:var(--jhl-text-secondary, #666);font-weight:500}.jhl-program-details__data pre{background:var(--jhl-bg-secondary, #f5f5f5);border:1px solid var(--jhl-border-secondary, #e5e5e5);border-radius:var(--jhl-radius-md, 8px);padding:var(--jhl-space-3, 12px);font-size:11px;overflow-x:auto;max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.jhl-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center}.jhl-modal--show{display:flex}.jhl-modal__dialog{position:relative;background:var(--jhl-bg-elevated, #ffffff);border-radius:var(--jhl-radius-lg, 12px);box-shadow:var(--jhl-shadow-lg, 0 10px 40px rgba(0, 0, 0, .2));max-width:500px;width:90%;max-height:90vh;display:flex;flex-direction:column}.jhl-modal__dialog--large{max-width:700px}.jhl-modal__content{display:flex;flex-direction:column;max-height:90vh}.jhl-modal__header{display:flex;align-items:center;gap:var(--jhl-space-3, 12px);padding:var(--jhl-space-4, 16px) var(--jhl-space-5, 20px);border-bottom:1px solid var(--jhl-border-primary, #e5e5e5)}.jhl-modal__icon{font-size:24px}.jhl-modal__title{flex:1;font-size:18px;font-weight:600;margin:0;color:var(--jhl-text-primary, #1a1a1a)}.jhl-modal__close{background:none;border:none;font-size:20px;color:var(--jhl-text-secondary, #666);cursor:pointer;padding:var(--jhl-space-1, 4px);border-radius:var(--jhl-radius-sm, 4px);transition:var(--jhl-transition, all .2s ease)}.jhl-modal__close:hover{background:var(--jhl-bg-hover, #e9ecef);color:var(--jhl-text-primary, #1a1a1a)}.jhl-modal__body{flex:1;overflow-y:auto;padding:var(--jhl-space-5, 20px)}.jhl-modal__footer{display:flex;justify-content:flex-end;gap:var(--jhl-space-3, 12px);padding:var(--jhl-space-4, 16px) var(--jhl-space-5, 20px);border-top:1px solid var(--jhl-border-primary, #e5e5e5)}.jhl-all-programs-modal .jhl-modal__dialog--fullscreen{max-width:90vw;width:1200px;max-height:90vh;height:80vh}.jhl-all-programs-modal .jhl-modal__content{height:100%;display:flex;flex-direction:column}.jhl-all-programs-modal .jhl-modal__body{flex:1;min-height:0;overflow:hidden}.jhl-all-programs-modal__body{padding:0!important;display:flex;flex-direction:column}.jhl-all-programs-modal .jhl-all-programs-container,.jhl-all-programs-modal .jhl-all-programs{flex:1;display:flex;flex-direction:column;min-height:0;height:100%}.jhl-all-programs-modal .jhl-all-programs__list{flex:1;overflow-y:auto;min-height:0}@media(max-width:1024px){.jhl-all-programs-modal .jhl-modal__dialog--fullscreen{max-width:95vw;width:100%;max-height:95vh;height:90vh}}@media(max-width:768px){.jhl-all-programs__group-items{grid-template-columns:1fr}.jhl-all-programs__header{flex-direction:column;align-items:flex-start}.jhl-all-programs__stats{flex-wrap:wrap}}.jhl-scripts-editor__header-actions{display:flex;align-items:center;gap:var(--jhl-space-3, 12px)}.jhl-script-workbench{display:flex;flex-direction:column;width:100%;height:min(72vh,760px);min-height:520px;background:var(--jhl-bg-primary, #111827);color:var(--jhl-text-primary, #f3f4f6)}.jhl-script-workbench__toolbar{display:flex;align-items:center;gap:var(--jhl-space-3, 12px);min-height:56px;padding:var(--jhl-space-2, 8px) var(--jhl-space-3, 12px);border-bottom:1px solid var(--jhl-border-primary, #334155);background:var(--jhl-bg-secondary, #182235)}.jhl-script-workbench__title{min-width:0;max-width:42ch;margin:0;overflow:hidden;color:var(--jhl-text-primary, #f8fafc);font-size:16px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.jhl-script-workbench__status{flex:0 1 auto;color:var(--jhl-text-secondary, #a8b3c7);font-size:13px;white-space:nowrap}.jhl-script-workbench__status[data-status=dirty]{color:#fbbf24}.jhl-script-workbench__status[data-status=stale],.jhl-script-workbench__status[data-status=error]{color:#fb7185}.jhl-script-workbench__spacer{flex:1}.jhl-script-workbench__editor{flex:1;min-height:0;overflow:hidden}.jhl-script-workbench__editor.jhl-editor{height:100%}@media(max-width:720px){.jhl-script-workbench{height:68vh;min-height:440px}.jhl-script-workbench__toolbar{flex-wrap:wrap}.jhl-script-workbench__title{max-width:calc(100% - 96px)}.jhl-script-workbench__status{order:3;width:100%;white-space:normal}}.jhl-events-editor{--event-accent: #53b8ff;--event-good: #3bc99a;--event-warn: #f0b44d;--event-danger: #ef6a73;position:relative;display:flex;flex-direction:column;width:100%;height:100%;min-height:0;overflow:hidden;color:var(--jhl-text-primary, #f3f6fa);background:var(--jhl-bg-primary, #111827);font-family:var(--jhl-font-family, "Segoe UI", sans-serif)}.jhl-events-editor button,.jhl-events-editor input,.jhl-events-editor select,.jhl-events-editor textarea{font:inherit}.jhl-events-editor button{min-height:34px;padding:7px 12px;border:1px solid var(--jhl-border-primary, #3a4658);border-radius:6px;color:var(--jhl-text-primary, #f3f6fa);background:var(--jhl-bg-secondary, #202a3a);cursor:pointer}.jhl-events-editor button:hover:not(:disabled){border-color:var(--event-accent);background:var(--jhl-bg-hover, #28364a)}.jhl-events-editor button:disabled{cursor:default;opacity:.42}.jhl-events-editor button.is-primary{border-color:#2587c9;color:#07131d;background:var(--event-accent);font-weight:700}.jhl-events-editor button.is-danger{color:var(--event-danger)}.jhl-events-editor input,.jhl-events-editor select,.jhl-events-editor textarea{box-sizing:border-box;width:100%;border:1px solid var(--jhl-border-primary, #3a4658);border-radius:5px;color:var(--jhl-text-primary, #f3f6fa);background:var(--jhl-bg-input, #111a29)}.jhl-events-editor input,.jhl-events-editor select{min-height:38px;padding:7px 9px}.jhl-events-editor textarea{padding:10px;resize:vertical}.jhl-events-editor__header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:24px;min-height:68px;padding:12px 20px;border-bottom:1px solid var(--jhl-border-primary, #334155);background:var(--jhl-bg-elevated, #182232)}.jhl-events-editor__header h1,.jhl-events-editor__header p{margin:0}.jhl-events-editor__header h1{font-size:21px;line-height:1.25}.jhl-events-editor__header p{margin-top:3px;color:var(--jhl-text-secondary, #a9b5c5);font-size:13px}.jhl-event-evidence{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;color:var(--jhl-text-secondary, #a9b5c5);font-size:12px;white-space:nowrap}.jhl-event-evidence strong{color:var(--event-good)}.jhl-event-evidence strong[data-state=warning]{color:var(--event-warn)}.jhl-event-evidence strong[data-state=error]{color:var(--event-danger)}.jhl-event-evidence code{max-width:80px;overflow:hidden;color:#d7e7f7;text-overflow:ellipsis}.jhl-event-evidence button{width:34px;min-height:32px;padding:0;font-size:18px}.jhl-event-migration{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:20px;padding:10px 20px;border-bottom:1px solid #6d5526;background:#2b2519}.jhl-event-migration div{display:grid;gap:2px}.jhl-event-migration strong{color:#ffd78b;font-size:13px}.jhl-event-migration span{color:#d7c49e;font-size:12px}.jhl-events-editor__workspace{display:grid;flex:1 1 auto;grid-template-columns:minmax(230px,272px) minmax(480px,1fr) minmax(280px,330px);min-height:0;overflow:hidden}.jhl-event-navigator,.jhl-event-composer,.jhl-event-inspector{min-width:0;min-height:0}.jhl-event-navigator{display:flex;flex-direction:column;border-right:1px solid var(--jhl-border-primary, #334155);background:var(--jhl-bg-secondary, #151f2e)}.jhl-event-navigator__views{display:grid;grid-template-columns:1fr 1fr;padding:0 10px;border-bottom:1px solid var(--jhl-border-primary, #334155)}.jhl-event-navigator__views button{min-height:38px;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--jhl-text-secondary, #a9b5c5);background:transparent;font-size:12px;font-weight:700}.jhl-event-navigator__views button.is-selected{border-bottom-color:var(--event-accent);color:var(--jhl-text-primary, #f3f7fb)}.jhl-event-navigator__views span{display:inline-grid;min-width:16px;min-height:16px;margin-left:3px;place-items:center;border-radius:8px;background:#334155;font-size:10px}.jhl-event-navigator__views span:empty{display:none}.jhl-event-navigator__tools{display:grid;gap:8px;padding:12px;border-bottom:1px solid var(--jhl-border-primary, #334155)}.jhl-event-navigator__tools button{color:var(--event-accent)}.jhl-event-rule-list{display:grid;align-content:start;gap:2px;padding:8px;overflow:auto}.jhl-event-rule-row{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;width:100%;min-height:58px;padding:9px 10px;border-color:transparent;text-align:left;background:transparent}.jhl-event-rule-row.is-selected{border-color:#3977a1;background:#20364a}.jhl-event-rule-row>span:last-child{display:grid;min-width:0;gap:4px}.jhl-event-rule-row strong,.jhl-event-rule-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jhl-event-rule-row strong{font-size:13px}.jhl-event-rule-row small{color:var(--jhl-text-secondary, #a9b5c5);font-size:11px}.jhl-event-rule-row__state{width:7px;height:7px;margin-top:6px;border-radius:50%;background:#758196}.jhl-event-rule-row__state[data-enabled=true]{background:var(--event-good);box-shadow:0 0 0 3px #3bc99a1f}.jhl-event-observation{display:grid;gap:9px;padding:11px 10px;border-bottom:1px solid rgb(79 96 119 / 45%)}.jhl-event-observation__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.jhl-event-observation__heading>div{display:grid;min-width:0;gap:3px}.jhl-event-observation__heading strong,.jhl-event-observation__heading small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jhl-event-observation__heading strong{font-size:13px}.jhl-event-observation__heading small,.jhl-event-observation__evidence{color:var(--jhl-text-secondary, #a9b5c5);font-size:10px}.jhl-event-observation__heading>span{flex:0 0 auto;padding:2px 5px;border:1px solid #397861;border-radius:4px;color:#76d6b2;font-size:9px;font-weight:700;text-transform:uppercase}.jhl-event-observation__heading>span[data-contract-status=untyped]{border-color:#8a6b35;color:#e4bb69}.jhl-event-observation__evidence{display:flex;flex-wrap:wrap;gap:4px 8px}.jhl-event-observation__evidence .is-stale{color:#efb064}.jhl-event-observation>button{justify-self:start;min-height:28px;padding:4px 9px;color:var(--event-accent);font-size:11px}.jhl-event-empty,.jhl-event-inspector__empty{margin:24px 12px;color:var(--jhl-text-secondary, #a9b5c5);font-size:13px}div.jhl-event-empty{display:grid;gap:5px}div.jhl-event-empty span{font-size:11px}.jhl-event-composer{overflow:auto;background:var(--jhl-bg-primary, #111827)}.jhl-event-composer__empty{display:grid;justify-items:start;gap:10px;max-width:420px;margin:72px auto;padding:0 24px}.jhl-event-composer__empty h2,.jhl-event-composer__empty p{margin:0}.jhl-event-composer__empty p{color:var(--jhl-text-secondary, #a9b5c5)}.jhl-event-composer__title{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px}.jhl-event-composer__title>div{flex:1 1 auto;min-width:0}.jhl-event-composer__title input{min-height:36px;padding:0;border:0;font-size:20px;font-weight:700;background:transparent}.jhl-event-composer__title p{margin:3px 0 0;color:var(--jhl-text-secondary, #a9b5c5);font-size:12px}.jhl-event-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px}.jhl-event-toggle input{width:17px;min-height:17px}.jhl-event-band{padding:18px 24px 22px;border-top:1px solid var(--jhl-border-primary, #334155)}.jhl-event-band>header{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:start;gap:10px;margin-bottom:14px}.jhl-event-band>header>span{display:grid;width:24px;height:24px;place-items:center;border:1px solid #3d7196;border-radius:50%;color:#8fd0ff;font-size:12px;font-weight:700}.jhl-event-band h2,.jhl-event-band p{margin:0}.jhl-event-band h2{font-size:14px}.jhl-event-band header p{margin-top:2px;color:var(--jhl-text-secondary, #a9b5c5);font-size:12px}.jhl-event-fields{display:grid;gap:12px;padding-left:36px}.jhl-event-fields--two{grid-template-columns:repeat(2,minmax(0,1fr))}.jhl-event-fields label,.jhl-event-library label{display:grid;gap:6px;color:var(--jhl-text-secondary, #a9b5c5);font-size:11px;font-weight:700;text-transform:uppercase}.jhl-event-condition-list{display:grid;gap:8px;padding-left:36px}.jhl-event-context-evidence{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px 36px;color:var(--jhl-text-secondary, #a9b5c5);font-size:11px}.jhl-event-context-evidence span{color:#8fd0ff;font-weight:700}.jhl-event-context-evidence[data-coverage=unavailable] span{color:#c2a96c}.jhl-event-condition{display:grid;grid-template-columns:minmax(130px,1fr) 92px minmax(110px,1fr) 34px;gap:7px}.jhl-event-condition button{width:34px;padding:0;color:var(--event-danger)}.jhl-event-add-condition{justify-self:start;color:var(--event-accent);background:transparent}.jhl-event-opaque-note,.jhl-event-action-empty{display:grid;gap:3px;margin-left:36px;padding:12px;border-left:3px solid var(--event-warn);color:#e8d5ae;background:#27241d;font-size:12px}.jhl-event-mode{display:inline-grid;grid-template-columns:repeat(2,minmax(72px,1fr));padding:2px;border:1px solid var(--jhl-border-primary, #3a4658);border-radius:6px;background:#111a29}.jhl-event-mode button{min-height:28px;padding:4px 10px;border:0;background:transparent}.jhl-event-mode button.is-active{color:#07131d;background:var(--event-accent)}.jhl-event-actions{display:grid;gap:7px;padding-left:36px}.jhl-event-action-row{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:10px;min-height:54px;padding:8px 10px;border:1px solid var(--jhl-border-primary, #344154);border-radius:6px;background:var(--jhl-bg-secondary, #192435)}.jhl-event-action-row.is-opaque{border-color:#695a36;background:#27241d}.jhl-event-action-row__index{color:#8290a3;font-family:var(--jhl-font-mono, Consolas, monospace);font-size:12px}.jhl-event-action-row__body{display:grid;min-width:0;gap:8px}.jhl-event-action-row__heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.jhl-event-action-row__heading>div:first-child{display:grid;min-width:0;gap:2px}.jhl-event-action-row strong{font-size:13px;text-transform:capitalize}.jhl-event-action-row small{overflow:hidden;color:var(--jhl-text-secondary, #a9b5c5);font-size:11px;text-overflow:ellipsis}.jhl-event-action-row__heading>div:first-child>small{white-space:normal}.jhl-event-action-row__tools{display:grid;grid-template-columns:30px 30px;gap:4px}.jhl-event-action-row__tools button{width:30px;min-height:30px;padding:0}.jhl-event-action-parameters{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:8px}.jhl-event-action-parameters.is-empty{color:#8290a3;font-size:11px}.jhl-event-action-parameter{display:grid;min-width:0;gap:4px}.jhl-event-action-parameter>span{display:flex;align-items:baseline;justify-content:space-between;gap:6px;color:var(--jhl-text-primary, #f4f7fb);font-size:11px;font-weight:650}.jhl-event-action-parameter>span small{color:#8290a3;font-family:var(--jhl-font-mono, Consolas, monospace);font-size:10px;font-weight:400;white-space:nowrap}.jhl-event-action-parameter input,.jhl-event-action-parameter select{width:100%;min-width:0;min-height:32px}.jhl-event-action-parameter input.is-expression{border-color:#5d557d;color:#d7c5ff;font-family:var(--jhl-font-mono, Consolas, monospace)}.jhl-event-action-parameter [aria-invalid=true]{border-color:var(--event-danger)}.jhl-event-action-diagnostic{color:#e8c77d!important;white-space:normal}.jhl-event-action-empty{border-left-color:#4c6881;color:var(--jhl-text-secondary, #a9b5c5);background:#172131}.jhl-event-library{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:8px;margin:12px 0 0 36px;padding-top:12px;border-top:1px dashed var(--jhl-border-primary, #344154)}.jhl-event-library label>small{color:#8290a3;font-size:10px;font-weight:400;text-transform:none}.jhl-event-inline-error{margin:8px 0 0 36px;color:var(--event-danger);font-size:12px}.jhl-event-code{height:360px;margin-left:36px;overflow:hidden;border:1px solid var(--jhl-border-primary, #344154);border-radius:6px;background:#0d1523}.jhl-event-code .jhl-editor{height:100%}.jhl-event-code .jhl-editor__results-panel{display:none!important}.jhl-event-code>textarea{height:100%;border:0;border-radius:0;font-family:var(--jhl-font-mono, Consolas, monospace)}.jhl-event-code-diagnostics{display:grid;gap:5px;margin:8px 0 0 36px}.jhl-event-code-diagnostic{display:flex;gap:8px;padding:7px 9px;border-left:3px solid #6f89ad;background:#121c2d;color:var(--jhl-text-secondary, #c2cede);font-size:12px}.jhl-event-code-diagnostic[data-severity=error]{border-color:var(--event-danger)}.jhl-event-code-diagnostic[data-severity=warning]{border-color:var(--event-warning, #e3a63a)}.jhl-event-composer__footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:10px 24px;border-top:1px solid var(--jhl-border-primary, #334155);background:#111827f5;backdrop-filter:blur(8px)}.jhl-event-composer__footer>span{color:var(--jhl-text-secondary, #a9b5c5);font-size:12px}.jhl-event-composer__footer>div{display:flex;gap:8px}.jhl-event-inspector{overflow:auto;border-left:1px solid var(--jhl-border-primary, #334155);background:var(--jhl-bg-secondary, #151f2e)}.jhl-event-preview,.jhl-event-runtime{padding:16px}.jhl-event-runtime{border-top:1px solid var(--jhl-border-primary, #334155)}.jhl-event-preview header,.jhl-event-runtime header{margin-bottom:10px}.jhl-event-preview h2,.jhl-event-preview p,.jhl-event-runtime h2{margin:0}.jhl-event-preview h2,.jhl-event-runtime h2{font-size:14px}.jhl-event-preview header p{margin-top:3px;color:var(--jhl-text-secondary, #a9b5c5);font-size:11px}.jhl-event-preview textarea{min-height:150px;font-family:var(--jhl-font-mono, Consolas, monospace);font-size:11px;line-height:1.5}.jhl-event-preview>button{width:100%;margin-top:8px;color:var(--event-accent)}.jhl-event-preview-result{display:grid;gap:5px;margin-top:10px;padding:10px;border-left:3px solid var(--event-warn);background:#27241d;font-size:12px}.jhl-event-preview-result[data-state=would-deliver]{border-left-color:var(--event-good);background:#142b27}.jhl-event-preview-result[data-state=not-matched]{border-left-color:#718096;background:#1c2532}.jhl-event-preview-result p{color:var(--jhl-text-secondary, #a9b5c5)}.jhl-event-preview-result code,.jhl-event-preview-result small{display:block;overflow-wrap:anywhere}.jhl-event-runtime dl{display:grid;gap:1px;margin:0;background:var(--jhl-border-primary, #334155)}.jhl-event-runtime dl>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:8px;padding:7px 8px;background:#192435}.jhl-event-runtime dt{color:var(--jhl-text-secondary, #a9b5c5);font-size:11px}.jhl-event-runtime dd{min-width:0;margin:0;overflow:hidden;font-size:11px;text-overflow:ellipsis}.jhl-event-runtime-list{display:grid;gap:1px;margin-top:12px}.jhl-event-runtime-list>div{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 0;border-bottom:1px solid var(--jhl-border-primary, #334155);font-size:11px}.jhl-event-runtime-list span{width:6px;height:6px;border-radius:50%;background:var(--event-danger)}.jhl-event-runtime-list span[data-success=true]{background:var(--event-good)}.jhl-event-runtime-list time,.jhl-event-runtime-list p{color:var(--jhl-text-secondary, #a9b5c5)}.jhl-event-evidence button.jhl-event-evidence__references{width:auto;min-width:34px;padding:0 8px;font-size:12px}.jhl-events-editor__dialog-overlay{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px;background:#030810b8}.jhl-events-editor__dialog{display:grid;width:min(760px,100%);max-height:min(760px,calc(100vh - 48px));overflow:hidden;border:1px solid var(--jhl-border-primary, #425169);border-radius:8px;background:var(--jhl-bg-primary, #111827);box-shadow:0 24px 70px #0000007a}.jhl-events-editor__dialog-header{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid var(--jhl-border-primary, #334155)}.jhl-events-editor__dialog-title,.jhl-event-references__summary{margin:0}.jhl-events-editor__dialog-title{font-size:17px}.jhl-event-references__summary{margin-top:3px;color:var(--jhl-text-secondary, #a9b5c5);font-size:12px}.jhl-events-editor__dialog-close{width:34px;min-height:34px;padding:0;font-size:20px}.jhl-events-editor__dialog-content{display:grid;gap:18px;padding:18px 20px 22px;overflow:auto}.jhl-event-references__section{display:grid;gap:8px}.jhl-event-references__heading{margin:0;color:#dbe7f4;font-size:12px;text-transform:uppercase}.jhl-event-references__coverage,.jhl-event-references__diagnostics{display:grid;gap:1px;margin:0;padding:0;list-style:none}.jhl-event-references__coverage-row,.jhl-event-references__diagnostic{display:flex;justify-content:space-between;gap:16px;padding:8px 10px;background:var(--jhl-bg-secondary, #192435);font-size:12px}.jhl-event-references__coverage-state[data-state=full]{color:var(--event-good)}.jhl-event-references__coverage-state[data-state=partial],.jhl-event-references__coverage-state[data-state=unavailable]{color:var(--event-warn)}.jhl-event-references__list{display:grid;gap:4px}.jhl-event-references__row{display:grid;width:100%;min-height:48px;padding:8px 10px;border:1px solid var(--jhl-border-primary, #344154);border-radius:6px;color:var(--jhl-text-primary, #f4f7fb);background:var(--jhl-bg-secondary, #192435);text-align:left}button.jhl-event-references__row:hover,button.jhl-event-references__row:focus-visible{border-color:var(--event-accent);background:#1c3045}.jhl-event-references__row[data-navigation=unavailable]{color:var(--jhl-text-secondary, #a9b5c5);cursor:default}.jhl-event-references__label,.jhl-event-references__detail{overflow-wrap:anywhere}.jhl-event-references__detail,.jhl-event-references__empty{color:var(--jhl-text-secondary, #a9b5c5);font-size:11px}.jhl-event-references__actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.jhl-event-references__action{min-height:30px;padding:4px 9px;border:1px solid var(--jhl-border-primary, #344154);border-radius:4px;color:var(--jhl-text-primary, #f4f7fb);background:transparent;font-size:12px}.jhl-event-references__action:hover,.jhl-event-references__action:focus-visible{border-color:var(--event-accent);background:#1c3045}.jhl-event-references__diagnostic{justify-content:start}.jhl-event-references__diagnostic-code{color:var(--event-warn);font-family:var(--jhl-font-mono, Consolas, monospace)}.jhl-event-review-bar{position:absolute;z-index:20;right:16px;bottom:16px;left:16px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 14px;border:1px solid #47789b;border-radius:7px;background:#1b3041;box-shadow:0 12px 35px #00000059}.jhl-event-review-bar[hidden]{display:none}.jhl-event-review-bar>div:first-child{display:grid;min-width:0;gap:3px}.jhl-event-review-bar>div:last-child{display:flex;flex:0 0 auto;gap:8px}.jhl-event-review-bar span,.jhl-event-review-bar small{color:#b9ccdb;font-size:11px}.jhl-event-review-bar small[data-severity=error]{color:#ff9aa1}.jhl-event-announcement{position:absolute;z-index:30;right:18px;top:78px;max-width:min(420px,calc(100% - 36px));padding:9px 12px;border:1px solid var(--event-good);border-radius:6px;background:#16352f;box-shadow:0 8px 24px #00000047;font-size:12px}.jhl-event-announcement:empty{display:none}.jhl-event-announcement[data-state=warning]{border-color:var(--event-warn);background:#332a19}.jhl-event-announcement[data-state=error]{border-color:var(--event-danger);background:#3b2026}@media(max-width:1180px){.jhl-events-editor__workspace{grid-template-columns:230px minmax(460px,1fr)}.jhl-event-inspector{display:grid;grid-column:1 / -1;grid-template-columns:1fr 1fr;max-height:330px;border-top:1px solid var(--jhl-border-primary, #334155);border-left:0}.jhl-event-runtime{border-top:0;border-left:1px solid var(--jhl-border-primary, #334155)}}@media(max-width:780px){.jhl-events-editor__header{align-items:flex-start;flex-direction:column;gap:8px}.jhl-event-evidence{flex-wrap:wrap;justify-content:flex-start;white-space:normal}.jhl-events-editor__workspace{display:block;overflow:auto}.jhl-event-navigator,.jhl-event-composer,.jhl-event-inspector{overflow:visible;border:0}.jhl-event-rule-list{max-height:260px}.jhl-event-inspector{display:block;max-height:none}.jhl-event-runtime{border-top:1px solid var(--jhl-border-primary, #334155);border-left:0}.jhl-event-fields--two,.jhl-event-library{grid-template-columns:1fr}.jhl-event-condition{grid-template-columns:minmax(0,1fr) 90px 34px}.jhl-event-condition [data-condition-value]{grid-column:1 / 3;grid-row:2}.jhl-event-condition button{grid-column:3;grid-row:1 / 3}.jhl-event-action-parameters{grid-template-columns:1fr}.jhl-event-composer__footer{align-items:stretch;flex-direction:column}.jhl-event-composer__footer>div{display:grid;grid-template-columns:repeat(3,1fr)}}.jhl-filter-group-editor{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;color:var(--jhl-text-primary, #ffffff);max-width:900px}.jhl-filter-group{background:#ffffff05;border-radius:6px;padding:12px 16px;margin-bottom:12px}.jhl-filter-group--top{border:1px solid rgba(59,130,246,.25);background:#3b82f608}.jhl-filter-group--nested{border:1px solid rgba(168,85,247,.25);background:#a855f708;margin-left:32px;margin-top:8px;margin-bottom:8px}.jhl-filter-group--warning{border-color:#fbbf244d;background:#fbbf2408}.jhl-filter-group__header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.jhl-filter-group__label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:#ffffff80;min-width:50px}.jhl-filter-group__mode-toggle{display:inline-flex;background:#ffffff0d;border-radius:4px;padding:2px;gap:2px}.jhl-filter-group__mode-btn{padding:4px 12px;background:transparent;border:none;border-radius:3px;color:#fff9;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.jhl-filter-group__mode-btn:hover{color:#fffc;background:#ffffff0d}.jhl-filter-group__mode-btn--active{background:#3b82f666;color:#fff}.jhl-filter-group__mode-btn--active:hover{background:#3b82f680}.jhl-filter-group__remove-btn{padding:4px;background:transparent;border:none;border-radius:3px;color:#fff6;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;margin-left:auto}.jhl-filter-group__remove-btn:hover{background:#ef444426;color:#ef4444}.jhl-filter-group__warning-icon{color:#fbbf24;font-size:14px;margin-left:auto}.jhl-filter-group__items{min-height:32px;display:flex;flex-direction:column;gap:6px}.jhl-filter-group__empty{display:flex;align-items:center;justify-content:center;padding:16px;background:#ffffff05;border:1px dashed rgba(255,255,255,.1);border-radius:4px;text-align:center}.jhl-filter-group__empty--warning{background:#fbbf240d;border-color:#fbbf244d}.jhl-filter-group__empty-icon{font-size:16px;margin-right:8px;opacity:.5}.jhl-filter-group__empty-text{font-size:13px;color:#ffffff80}.jhl-filter-group__empty--warning .jhl-filter-group__empty-text{color:#fbbf24}.jhl-filter-group__actions{display:flex;gap:8px;margin-top:10px}.jhl-filter-group__add-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:transparent;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff9;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.jhl-filter-group__add-btn:hover{background:#3b82f61a;border-color:#3b82f666;color:#60a5fa}.jhl-filter-group__add-btn--group:hover{background:#a855f71a;border-color:#a855f766;color:#c084fc}.jhl-filter-condition{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:4px;transition:all .15s ease}.jhl-filter-condition:hover{background:#ffffff0f;border-color:#fff3}.jhl-filter-condition--editable{flex-wrap:wrap}.jhl-filter-condition--error{background:#ef444414;border-color:#ef44444d}.jhl-filter-condition--error:hover{background:#ef44441f}.jhl-filter-condition__not{padding:2px 6px;background:#ef444426;border-radius:3px;color:#fca5a5;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.jhl-filter-condition__text{flex:1;font-size:13px;font-family:SF Mono,Consolas,monospace;color:#e2e8f0;display:flex;align-items:center;gap:6px}.jhl-filter-condition__field{color:#93c5fd;font-weight:500}.jhl-filter-condition__operator{color:#ffffff80;font-weight:400}.jhl-filter-condition__value{color:#a5f3fc}.jhl-filter-condition__incomplete{color:#fca5a5;font-style:italic}.jhl-filter-condition__error-icon{color:#fbbf24;font-size:14px;flex-shrink:0}.jhl-filter-condition__remove-btn{padding:3px;background:transparent;border:none;border-radius:3px;color:#ffffff4d;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;opacity:0}.jhl-filter-condition:hover .jhl-filter-condition__remove-btn{opacity:1}.jhl-filter-condition__remove-btn:hover{background:#ef444426;color:#ef4444}.jhl-filter-condition-dialog{position:fixed;inset:0;z-index:99999}.jhl-filter-condition-dialog__overlay{position:absolute;inset:0;background:#0009;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center}.jhl-filter-condition-dialog__content{background:#1e2530;border-radius:12px;padding:24px;width:90%;max-width:800px;box-shadow:0 25px 80px #00000080;border:1px solid rgba(255,255,255,.1)}.action-log{display:flex;flex-direction:column;height:100%;background:transparent;overflow:hidden;padding:0;color:var(--jhl-text-primary, #1a1a1a);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;width:100%;box-sizing:border-box}.action-log__filters{display:flex;gap:8px;padding:12px 16px;flex-wrap:wrap;border-bottom:1px solid var(--jhl-border-secondary, #f0f0f0);background:transparent}.action-log__search{flex:1;min-width:200px;padding:8px 12px;border:1px solid var(--jhl-border-primary, #e5e5e5);border-radius:var(--jhl-radius-sm, 4px);background:var(--jhl-bg-elevated, #ffffff);color:var(--jhl-text-primary, #1a1a1a);font-size:13px}.action-log__search::placeholder{color:var(--jhl-text-secondary, #666)}.action-log__search:focus{outline:none;border-color:var(--jhl-primary, #007bff)}.action-log__txn-filter{flex:0 1 250px;min-width:200px;padding:8px 12px;border:1px solid var(--jhl-border-primary, #e5e5e5);border-radius:var(--jhl-radius-sm, 4px);background:var(--jhl-bg-elevated, #ffffff);color:var(--jhl-text-primary, #1a1a1a);font-size:13px;font-family:Courier New,monospace}.action-log__txn-filter::placeholder{color:var(--jhl-text-secondary, #666);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.action-log__txn-filter:focus{outline:none;border-color:var(--jhl-primary, #007bff)}.action-log__status-filters{display:flex;gap:8px}.action-log__filter-btn{padding:6px 12px;border:1px solid rgba(255,255,255,.2);border-radius:var(--jhl-radius-sm, 4px);background:#6b7a99;color:#fff;font-size:13px;cursor:pointer;transition:all .2s}.action-log__filter-btn:hover{background:#7a8aaa;border-color:#ffffff4d}.action-log__filter-btn.active{border-color:currentColor;font-weight:500}.action-log__filter-btn--success.active{background:#10b9811a;border-color:#10b981;color:#10b981}.action-log__filter-btn--failure.active{background:#ef44441a;border-color:#ef4444;color:#ef4444}.action-log__filter-btn--blocked.active{background:#f59e0b1a;border-color:#f59e0b;color:#f59e0b}.action-log__actions{display:flex;gap:8px}.action-log__btn{padding:6px 12px;border:1px solid rgba(255,255,255,.2);border-radius:var(--jhl-radius-sm, 4px);background:#6b7a99;color:#fff;font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}.action-log__btn:hover{background:#7a8aaa;border-color:#ffffff4d}.action-log__entries{max-height:400px;overflow-y:auto;padding:var(--jhl-space-4, 16px) var(--jhl-space-6, 24px)}.action-log__entries::-webkit-scrollbar{width:8px}.action-log__entries::-webkit-scrollbar-track{background:var(--jhl-bg-secondary, #f5f5f5);border-radius:4px}.action-log__entries::-webkit-scrollbar-thumb{background:var(--jhl-border-primary, #e5e5e5);border-radius:4px}.action-log__entries::-webkit-scrollbar-thumb:hover{background:var(--jhl-border-hover, #d0d0d0)}.action-log__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--jhl-text-secondary, #666);text-align:center}.action-log__empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.action-log__empty-text{font-size:16px;font-weight:500;margin-bottom:8px;color:var(--jhl-text-primary, #1a1a1a)}.action-log__empty-hint{font-size:13px;opacity:.7}.action-log__entry{background:var(--jhl-bg-elevated, #ffffff);border-left:3px solid transparent;border:1px solid var(--jhl-border-primary, #e5e5e5);border-radius:var(--jhl-radius-md, 8px);padding:12px;margin-bottom:8px;transition:all .2s}.action-log__entry:hover{border-color:var(--jhl-card-hover-border, #007bff);box-shadow:var(--jhl-shadow-sm, 0 1px 3px rgba(0, 0, 0, .1))}.action-log__entry--success{border-left-color:#10b981}.action-log__entry--failure{border-left-color:#ef4444}.action-log__entry--blocked{border-left-color:#f59e0b}.action-log__entry--highlight{animation:highlight-pulse .5s ease-out}@keyframes highlight-pulse{0%{background:var(--jhl-bg-elevated, #ffffff);transform:scale(1)}50%{background:var(--jhl-primary-light, rgba(0, 123, 255, .1));transform:scale(1.02)}to{background:var(--jhl-bg-elevated, #ffffff);transform:scale(1)}}.action-log__entry-header{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none}.action-log__status-icon{font-size:14px;font-weight:700}.action-log__entry--success .action-log__status-icon{color:#10b981}.action-log__entry--failure .action-log__status-icon{color:#ef4444}.action-log__entry--blocked .action-log__status-icon{color:#f59e0b}.action-log__time{font-size:12px;color:var(--jhl-text-secondary, #666);font-family:Courier New,monospace}.action-log__event-type{font-size:13px;color:var(--jhl-primary, #007bff);font-weight:500}.action-log__txn-id{font-size:11px;color:var(--jhl-text-secondary, #666);font-family:Courier New,monospace;background:var(--jhl-bg-secondary, #f5f5f5);padding:2px 6px;border-radius:var(--jhl-radius-sm, 4px);cursor:pointer;transition:all .2s}.action-log__txn-id:hover{background:var(--jhl-primary-light, rgba(0, 123, 255, .1));color:var(--jhl-primary, #007bff)}.action-log__expand-icon{margin-left:auto;font-size:10px;color:var(--jhl-text-secondary, #666);transition:transform .2s}.action-log__entry-summary{font-size:13px;color:var(--jhl-text-primary, #1a1a1a);margin-top:8px;padding-left:22px}.action-log__entry-error{font-size:12px;color:#ef4444;margin-top:8px;padding:8px;background:#ef44441a;border-radius:var(--jhl-radius-sm, 4px);font-family:Courier New,monospace}.action-log__entry-blocked{font-size:12px;color:#f59e0b;margin-top:8px;padding:8px;background:#f59e0b1a;border-radius:var(--jhl-radius-sm, 4px);font-family:Courier New,monospace}.action-log__entry-details{margin-top:12px;padding-top:12px;border-top:1px solid var(--jhl-border-secondary, #f0f0f0);animation:expand-in .2s ease-out}@keyframes expand-in{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.action-log__detail-section{margin-bottom:12px}.action-log__detail-section:last-child{margin-bottom:0}.action-log__detail-label{font-size:11px;color:var(--jhl-text-secondary, #666);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.action-log__detail-value{font-size:13px;color:var(--jhl-text-primary, #1a1a1a)}.action-log__detail-code{font-size:12px;color:var(--jhl-text-primary, #1a1a1a);background:var(--jhl-bg-secondary, #f5f5f5);padding:8px;border-radius:var(--jhl-radius-sm, 4px);overflow-x:auto;font-family:Courier New,monospace;margin:0}.action-log__detail-txn{display:flex;align-items:center;gap:8px}.action-log__detail-txn code{font-size:12px;background:var(--jhl-bg-secondary, #f5f5f5);padding:4px 8px;border-radius:var(--jhl-radius-sm, 4px);font-family:Courier New,monospace}.action-log__copy-btn,.action-log__filter-txn-btn{padding:4px 8px;border:1px solid var(--jhl-border-primary, #e5e5e5);border-radius:var(--jhl-radius-sm, 4px);background:var(--jhl-bg-elevated, #ffffff);cursor:pointer;font-size:12px;transition:all .2s}.action-log__copy-btn:hover{background:var(--jhl-primary-light, rgba(0, 123, 255, .1));border-color:var(--jhl-primary, #007bff)}.action-log__filter-txn-btn:hover{background:var(--jhl-success-light, rgba(16, 185, 129, .1));border-color:#10b981}.action-log__copy-feedback{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--jhl-success, #10b981);color:#fff;padding:12px 24px;border-radius:var(--jhl-radius-md, 8px);font-size:14px;font-weight:500;box-shadow:var(--jhl-shadow-lg, 0 10px 25px rgba(0, 0, 0, .2));z-index:10000;animation:copy-feedback 2s ease-out forwards}@keyframes copy-feedback{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}10%{opacity:1;transform:translate(-50%,-50%) scale(1)}90%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.action-log__footer{display:flex;justify-content:space-between;align-items:center;padding:var(--jhl-space-4, 16px) var(--jhl-space-6, 24px);border-top:1px solid var(--jhl-border-secondary, #f0f0f0)}.action-log__count{font-size:12px;color:var(--jhl-text-secondary, #666)}.transaction-threads{display:flex;flex-direction:column;height:100%;background:transparent;overflow:hidden}.transaction-threads__filters{display:flex;gap:8px;padding:12px 16px;background:transparent;border-bottom:1px solid var(--jhl-border-secondary, #f0f0f0)}.transaction-threads__search{flex:1;padding:8px 12px;border:1px solid #dee2e6;border-radius:4px;font-size:14px;transition:border-color .2s;background:#fff}.transaction-threads__search:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.transaction-threads__actions{display:flex;gap:8px}.transaction-threads__btn{padding:6px 12px;background:#6b7a99;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}.transaction-threads__btn:hover{background:#7a8aaa;border-color:#ffffff4d}.transaction-threads__list{flex:1;overflow-y:auto;padding:0}.transaction-threads__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:#6c757d}.transaction-threads__empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.transaction-threads__empty-text{font-size:16px;font-weight:500;margin-bottom:8px}.transaction-threads__empty-hint{font-size:14px;opacity:.7}.transaction-threads__thread{margin-bottom:2px;background:#fff;border:none;border-radius:0;overflow:hidden;transition:all .2s}.transaction-threads__thread:hover{background:#f8f9fa}.transaction-threads__thread--success{border-left:4px solid #28a745}.transaction-threads__thread--failure{border-left:4px solid #dc3545}.transaction-threads__thread--blocked{border-left:4px solid #ffc107}.transaction-threads__thread--highlight{animation:threadHighlight .5s ease-out}.transaction-threads__thread:nth-child(4n+1),.transaction-threads__thread:nth-child(4n+2){background:#f8f9fa}.transaction-threads__thread:nth-child(4n+3),.transaction-threads__thread:nth-child(4n+4){background:#fff}.transaction-threads__thread:nth-child(4n+1):hover,.transaction-threads__thread:nth-child(4n+2):hover{background:#e9ecef}.transaction-threads__thread:nth-child(4n+3):hover,.transaction-threads__thread:nth-child(4n+4):hover{background:#f0f0f0}@keyframes threadHighlight{0%{background:#fff3cd}to{background:inherit}}0%{background:#fff3cd}100%{background:#fff}} .transaction-threads__thread-header{display:grid;grid-template-columns:20px auto 1fr auto;align-items:center;gap:12px;padding:10px 16px;background:inherit;cursor:pointer;user-select:none;transition:background .2s;min-height:44px}.transaction-threads__thread-header:hover{background:#00000008}.transaction-threads__expand-icon{font-size:10px;color:#6c757d;transition:transform .2s;justify-self:center}.transaction-threads__txn-id{font-family:Courier New,monospace;font-size:12px;font-weight:600;color:#667eea;padding:4px 8px;background:#667eea1a;border-radius:4px;cursor:pointer;transition:all .2s;white-space:nowrap}.transaction-threads__txn-id:hover{background:#667eea33}.transaction-threads__time{font-size:11px;color:#6c757d;font-family:Courier New,monospace;white-space:nowrap}.transaction-threads__event-count{font-size:11px;color:#6c757d;padding:4px 8px;background:#0000000d;border-radius:12px;font-weight:500;white-space:nowrap;justify-self:end}.transaction-threads__events{padding:4px 8px 8px;background:inherit}.transaction-threads__event{margin-bottom:4px;padding:8px 12px;background:#00000005;border-left:3px solid #dee2e6;border-radius:0;transition:all .2s}.transaction-threads__event:hover{background:#0000000a}.transaction-threads__event:nth-child(odd){background:#00000004}.transaction-threads__event:nth-child(2n){background:#00000009}.transaction-threads__event:nth-child(odd):hover{background:#0000000d}.transaction-threads__event:nth-child(2n):hover{background:#0000000f}.transaction-threads__event--success{border-left-color:#28a745}.transaction-threads__event--failure{border-left-color:#dc3545}.transaction-threads__event--blocked{border-left-color:#ffc107}.transaction-threads__event-header{display:grid;grid-template-columns:24px auto 1fr auto;align-items:center;gap:8px;margin-bottom:6px}.transaction-threads__event-icon{font-size:14px;justify-self:center}.transaction-threads__event-time{font-size:10px;color:#6c757d;font-family:Courier New,monospace;white-space:nowrap}.transaction-threads__event-type{font-size:10px;font-weight:600;text-transform:uppercase;color:#495057;padding:2px 6px;background:#fff9;border-radius:3px;white-space:nowrap}.transaction-threads__event-status{font-size:14px;justify-self:end}.transaction-threads__event-description{font-size:12px;color:#212529;line-height:1.6;padding-left:32px;word-wrap:break-word}.transaction-threads__event-details{margin-top:8px;font-size:12px}.transaction-threads__event-details summary{cursor:pointer;color:#667eea;font-weight:500;user-select:none}.transaction-threads__event-details summary:hover{text-decoration:underline}.transaction-threads__event-details-code{margin-top:8px;padding:8px;background:#fff;border:1px solid #dee2e6;border-radius:4px;font-family:Courier New,monospace;font-size:11px;color:#000;overflow-x:auto;max-height:200px;overflow-y:auto}.transaction-threads__footer{padding:8px 16px;background:#f8f9fa;border-top:1px solid #e9ecef;text-align:center}.transaction-threads__count{font-size:12px;color:#6c757d}.transaction-threads__copy-feedback{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);padding:12px 24px;background:#28a745;color:#fff;border-radius:8px;font-size:14px;font-weight:600;box-shadow:0 4px 12px #00000026;z-index:10000;animation:copyFeedback 2s ease-out forwards}@keyframes copyFeedback{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}10%{opacity:1;transform:translate(-50%,-50%) scale(1)}90%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.transaction-threads__list::-webkit-scrollbar{width:8px}.transaction-threads__list::-webkit-scrollbar-track{background:#f8f9fa}.transaction-threads__list::-webkit-scrollbar-thumb{background:#dee2e6;border-radius:4px}.transaction-threads__list::-webkit-scrollbar-thumb:hover{background:#adb5bd}.jhl-blackboard-editor{padding:24px;max-width:1200px;margin:0 auto;color:#e2e8f0;background:#1a202c;min-height:100vh}.jhl-blackboard-editor__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.jhl-blackboard-editor__title{font-size:24px;font-weight:600;margin:0;color:#f7fafc}.jhl-blackboard-editor__header-actions{display:flex;gap:8px;align-items:center}.jhl-blackboard-editor__refresh-btn{width:32px;height:32px;border-radius:6px;border:1px solid rgba(226,232,240,.2);background:#2d374880;color:#cbd5e0;cursor:pointer;font-size:16px;transition:all .2s;display:flex;align-items:center;justify-content:center}.jhl-blackboard-editor__refresh-btn:hover:not(:disabled){background:#4299e133;border-color:#4299e166;color:#63b3ed}.jhl-blackboard-editor__refresh-btn[data-action=refresh]:hover:not(:disabled){transform:rotate(90deg)}.jhl-blackboard-editor__refresh-btn[data-action=refresh]:active{transform:rotate(180deg)}.jhl-blackboard-editor__refresh-btn:disabled{cursor:default;opacity:.35}.jhl-blackboard-editor__evidence{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:10px 0 18px;color:#94a3b8;font-size:12px}.jhl-blackboard-editor__evidence code{color:#cbd5e1}.jhl-blackboard-editor__evidence[data-status=invalid]{color:#fca5a5}.jhl-blackboard-editor__diagnostics{margin-bottom:20px;border-left:3px solid #ef4444;background:#7f1d1d2e;padding:10px 12px;color:#fecaca;font-size:13px}.jhl-blackboard-editor__diagnostics>div+div{margin-top:6px}.jhl-blackboard-editor__help{width:32px;height:32px;border-radius:50%;border:1px solid rgba(226,232,240,.2);background:#2d374880;color:#cbd5e0;cursor:pointer;font-size:16px;transition:all .2s}.jhl-blackboard-editor__help:hover{background:#2d3748cc;border-color:#e2e8f04d}.jhl-blackboard-editor__section{margin-bottom:32px}.jhl-blackboard-editor__section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.jhl-blackboard-editor__section-header h3{font-size:16px;font-weight:500;margin:0;color:#cbd5e0}.jhl-blackboard-editor__add-btn{padding:8px 16px;border-radius:6px;border:1px solid rgba(66,153,225,.3);background:#4299e11a;color:#63b3ed;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.jhl-blackboard-editor__add-btn:hover{background:#4299e133;border-color:#4299e166}.jhl-blackboard-editor__variable-list{background:#1a202c80;border:1px solid rgba(226,232,240,.1);border-radius:8px;overflow-x:auto}.jhl-blackboard-editor__table{width:100%;border-collapse:collapse}.jhl-blackboard-editor__table thead{background:#2d374880}.jhl-blackboard-editor__table th{padding:12px 16px;text-align:left;font-size:12px;font-weight:500;color:#a0aec0;text-transform:uppercase;letter-spacing:.05em}.jhl-blackboard-editor__table tbody tr{border-top:1px solid rgba(226,232,240,.1);transition:background .2s}.jhl-blackboard-editor__table tbody tr:hover{background:#2d37484d}.jhl-blackboard-editor__table tbody tr[data-navigation-target=true]{outline:2px solid #38bdf8;outline-offset:-2px;background:#0e74903d}.jhl-blackboard-editor__table td{padding:12px 16px;font-size:14px}.jhl-blackboard-editor__var-name{font-family:Courier New,monospace;color:#f7fafc}.jhl-blackboard-editor__var-type{color:#9f7aea;font-size:13px}.jhl-blackboard-editor__var-default{color:#cbd5e0;font-family:Courier New,monospace;font-size:13px}.jhl-blackboard-editor__var-actions{display:flex;gap:8px}.jhl-blackboard-editor__icon-btn{padding:4px 8px;border:none;background:transparent;cursor:pointer;font-size:16px;opacity:.6;transition:opacity .2s}.jhl-blackboard-editor__icon-btn:hover{opacity:1}.jhl-blackboard-editor__empty{padding:64px 32px;text-align:center;background:#1a202c4d}.jhl-blackboard-editor__empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.jhl-blackboard-editor__empty-title{font-size:18px;font-weight:500;color:#f7fafc;margin-bottom:8px}.jhl-blackboard-editor__empty-text{font-size:14px;color:#a0aec0;margin-bottom:24px}.jhl-blackboard-editor__empty-btn{padding:10px 20px;border-radius:6px;border:1px solid rgba(66,153,225,.3);background:#4299e11a;color:#63b3ed;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.jhl-blackboard-editor__empty-btn:hover{background:#4299e133;border-color:#4299e166}.jhl-blackboard-editor__live-values{background:#1a202c80;border:1px solid rgba(226,232,240,.1);border-radius:8px;padding:16px}.jhl-blackboard-editor__live-row{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid rgba(226,232,240,.05)}.jhl-blackboard-editor__live-row:last-child{border-bottom:none}.jhl-blackboard-editor__live-name{flex:0 0 200px;font-family:Courier New,monospace;color:#f7fafc;font-size:14px}.jhl-blackboard-editor__live-value{flex:1;font-family:Courier New,monospace;color:#48bb78;font-size:14px}.jhl-blackboard-editor__live-change{flex:0 0 100px;text-align:right;font-size:12px;color:#a0aec0}.jhl-blackboard-editor__no-values{padding:32px;text-align:center;color:#a0aec0;font-size:14px}.jhl-blackboard-dialog{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center}.jhl-blackboard-dialog__overlay{position:absolute;inset:0;background:#000000b3}.jhl-blackboard-dialog__content{position:relative;background:#1a202c;border:1px solid rgba(226,232,240,.2);border-radius:12px;padding:24px;width:90%;max-width:500px;box-shadow:0 20px 25px -5px #00000080}.jhl-blackboard-dialog__title{font-size:20px;font-weight:600;color:#f7fafc;margin:0 0 24px}.jhl-blackboard-dialog__field{margin-bottom:20px}.jhl-blackboard-dialog__field label{display:block;font-size:14px;font-weight:500;color:#cbd5e0;margin-bottom:8px}.jhl-blackboard-dialog__field input,.jhl-blackboard-dialog__field select{width:100%;padding:10px 12px;background:#2d3748;border:1px solid rgba(226,232,240,.2);border-radius:6px;color:#e2e8f0;font-size:14px;font-family:inherit}.jhl-blackboard-dialog__field input:focus,.jhl-blackboard-dialog__field select:focus{outline:none;border-color:#4299e180;box-shadow:0 0 0 3px #4299e11a}.jhl-blackboard-dialog__field input:disabled,.jhl-blackboard-dialog__field select:disabled{opacity:.5;cursor:not-allowed}.jhl-blackboard-dialog__hint{margin-top:4px;font-size:12px;color:#a0aec0}.jhl-blackboard-dialog__error{padding:12px;background:#f565651a;border:1px solid rgba(245,101,101,.3);border-radius:6px;color:#fc8181;font-size:14px;margin-bottom:16px}.jhl-blackboard-dialog__actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.jhl-blackboard-dialog__btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.jhl-blackboard-dialog__btn--secondary{border:1px solid rgba(226,232,240,.2);background:transparent;color:#cbd5e0}.jhl-blackboard-dialog__btn--secondary:hover{background:#2d374880}.jhl-blackboard-dialog__btn--primary{border:1px solid rgba(66,153,225,.3);background:#4299e1;color:#fff}.jhl-blackboard-dialog__btn--primary:hover{background:#3182ce}.jhl-blackboard-editor__var-origin,.jhl-blackboard-editor__readonly{color:#94a3b8;font-size:12px}.jhl-blackboard-editor__runtime-evidence{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:-6px 0 18px;padding:10px 12px;border-left:3px solid #22c55e;background:#14532d2e;color:#bbf7d0;font-size:12px}.jhl-blackboard-editor__runtime-evidence[data-status=stale]{border-left-color:#f59e0b;background:#78350f33;color:#fde68a}.jhl-blackboard-editor__runtime-evidence[data-status=untracked]{border-left-color:#94a3b8;background:#33415547;color:#cbd5e1}.jhl-blackboard-editor__rebind-btn{border-color:#f59e0b8c;color:#fbbf24}.jhl-blackboard-editor__table{min-width:820px}.jhl-blackboard-editor__var-references{color:#7dd3fc;font-variant-numeric:tabular-nums;text-align:center}.jhl-blackboard-editor__live-change{flex-basis:220px}.jhl-blackboard-dialog__references{max-height:112px;overflow-y:auto;margin:-10px 0 20px;padding:10px 12px;border-left:3px solid #f59e0b;background:#78350f33;color:#fde68a;font-size:12px}.jhl-blackboard-dialog__references strong{display:block;margin-bottom:6px}.jhl-blackboard-dialog__references div+div{margin-top:4px}.jhl-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}.jhl-modal[hidden]{display:none!important}.jhl-modal__backdrop{position:absolute;inset:0;background:#00000080}.jhl-modal__content{position:relative;background:var(--jhl-white);border-radius:var(--jhl-radius-lg);box-shadow:var(--jhl-shadow-xl);max-width:500px;width:90%;max-height:90vh;overflow:hidden}.jhl-modal__header{display:flex;justify-content:space-between;align-items:center;padding:var(--jhl-space-6);border-bottom:1px solid var(--jhl-border-primary)}.jhl-modal__title{margin:0;font-size:1.25rem;font-weight:600;color:var(--jhl-text-primary)}.jhl-modal__body{padding:var(--jhl-space-6);color:var(--jhl-text-primary)}.jhl-modal__footer{display:flex;justify-content:flex-end;gap:var(--jhl-space-3);padding:var(--jhl-space-6);border-top:1px solid var(--jhl-border-primary)}.jhl-help-content h4{margin:var(--jhl-space-4) 0 var(--jhl-space-2) 0;font-size:1rem;font-weight:600;color:var(--jhl-primary)}.jhl-help-content h4:first-child{margin-top:0}.jhl-help-content p{margin:0 0 var(--jhl-space-3) 0;color:var(--jhl-gray-600);line-height:1.5}.jhl-diagnostics-results{max-height:60vh;overflow-y:auto}.jhl-diagnostic-system{margin-bottom:var(--jhl-space-4);padding:var(--jhl-space-4);border:1px solid var(--jhl-gray-200);border-radius:var(--jhl-radius)}.jhl-diagnostic-system h5{margin:0 0 var(--jhl-space-2) 0;font-size:1rem;font-weight:600}.jhl-diagnostic-system p{margin:var(--jhl-space-1) 0;font-size:.875rem}.jhl-diagnostics-actions{display:flex;justify-content:flex-end;gap:var(--jhl-space-3);margin-top:var(--jhl-space-6);padding-top:var(--jhl-space-4);border-top:1px solid var(--jhl-gray-200)}.jhl-toast{position:fixed;top:var(--jhl-space-6);right:var(--jhl-space-6);z-index:1000;background:var(--jhl-card-bg);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius-lg);box-shadow:var(--jhl-shadow-lg);padding:var(--jhl-space-4) var(--jhl-space-6);display:flex;align-items:center;gap:var(--jhl-space-4);max-width:400px}.jhl-toast[hidden]{display:none!important}.jhl-toast__content{flex:1;font-size:.875rem;color:var(--jhl-text-primary)}.jhl-loading{position:fixed;inset:0;z-index:1000;display:none;flex-direction:column;align-items:center;justify-content:center;background:var(--jhl-bg-secondary)}.jhl-loading:not([hidden]){display:flex}.jhl-loading__spinner{width:40px;height:40px;border:4px solid var(--jhl-border-primary);border-top:4px solid var(--jhl-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--jhl-space-4)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.jhl-loading__text{font-size:.875rem;color:var(--jhl-text-secondary)}.tutorial-panel__content{background:var(--jhl-card-bg);color:var(--jhl-text-primary);border-radius:var(--jhl-radius-lg);box-shadow:var(--jhl-shadow-lg);padding:var(--jhl-space-6)}.tutorial-step__hint{background:var(--jhl-warning-light);border:1px solid var(--jhl-warning);color:var(--jhl-text-primary);padding:var(--jhl-space-4);border-radius:var(--jhl-radius);margin:var(--jhl-space-4) 0}.jhl-status{padding:var(--jhl-space-1) var(--jhl-space-2);border-radius:var(--jhl-radius);font-size:.75rem;font-weight:600}.jhl-status--success{background:#dcfce7;color:#166534}.jhl-status--error{background:#fecaca;color:#991b1b}.jhl-status--warning{background:#fef3c7;color:#92400e}html[data-theme=dark] .jhl-modal__content,html[data-theme=dark] .tutorial-panel__content{background:var(--jhl-card-bg)!important;color:var(--jhl-text-primary)!important}@media print{.jhl-modal,.jhl-toast,.jhl-loading{display:none!important}}.jhl-mission-card{background:var(--jhl-card-bg);border:1px solid var(--jhl-card-border);border-radius:var(--jhl-radius-lg);padding:var(--jhl-space-6);cursor:pointer;transition:var(--jhl-transition);position:relative;overflow:hidden}.tutorial-card:hover:not(.tutorial-card--locked){border-color:var(--jhl-primary);transform:translateY(-2px);box-shadow:var(--jhl-shadow-lg)}.jhl-project-card{display:flex;align-items:center;gap:var(--jhl-space-4);padding:var(--jhl-space-4);border:1px solid var(--jhl-gray-200);border-radius:var(--jhl-radius);transition:var(--jhl-transition)}.jhl-project-card:hover{border-color:var(--jhl-primary);box-shadow:var(--jhl-shadow)}.jhl-project-card__icon{font-size:1.5rem;line-height:1}.jhl-project-card__info{flex:1}.jhl-project-card__info h4{margin:0 0 var(--jhl-space-1) 0;font-size:1rem;font-weight:600}.jhl-project-card__info p{margin:0;font-size:.875rem;color:var(--jhl-gray-600)}.jhl-comparison-empty,.jhl-objectives__empty,.jhl-recent-projects__empty{text-align:center;color:var(--jhl-gray-500);font-style:italic;padding:var(--jhl-space-8)}html[data-theme=dark] .jhl-mission-card__title{color:var(--jhl-text-vibrant)!important}html[data-theme=dark] .jhl-mission-card__description{color:var(--jhl-text-light)!important}html[data-theme=dark] .jhl-mission-card__objectives h5{color:var(--jhl-text-vibrant-muted)!important}html[data-theme=dark] .jhl-mission-card__objectives li{color:var(--jhl-text-light)!important}html[data-theme=dark] .jhl-mission-card__time{color:var(--jhl-text-muted)!important}html[data-theme=dark] .jhl-mission-card__score{color:var(--jhl-text-vibrant)!important}.jhl-welcome{max-width:1200px;margin:0 auto}.jhl-hero{display:grid;grid-template-columns:1fr auto;gap:var(--jhl-space-12);align-items:center;margin-bottom:var(--jhl-space-16);padding:var(--jhl-space-12) var(--jhl-space-8);background:linear-gradient(135deg,var(--jhl-primary) 0%,#3b82f6 100%);border-radius:var(--jhl-radius-xl);color:var(--jhl-white)}.jhl-hero--animated{position:relative;display:block;padding:0;min-height:280px;overflow:hidden;cursor:pointer}.jhl-hero__canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.jhl-hero--animated .jhl-hero__content{position:relative;z-index:2;padding:var(--jhl-space-12) var(--jhl-space-8);pointer-events:none}.jhl-hero--animated .jhl-hero__content button{pointer-events:auto}.jhl-hero--animated .jhl-hero__animation-controls{position:absolute;bottom:var(--jhl-space-4);right:var(--jhl-space-4);z-index:3}.jhl-hero__title{margin:0 0 var(--jhl-space-4) 0;font-size:3rem;font-weight:800;line-height:1.2}.jhl-hero__subtitle{margin:0 0 var(--jhl-space-8) 0;font-size:1.25rem;opacity:.9}.jhl-hero__visual{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--jhl-space-2)}.jhl-hero__animation{width:280px;height:160px;background:#0003;border-radius:12px;overflow:hidden;position:relative}.jhl-hero__robot{font-size:8rem;line-height:1;animation:float 3s ease-in-out infinite;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.jhl-hero__animation-controls{display:flex;gap:var(--jhl-space-2);align-items:center}.jhl-hero__animation-select{padding:4px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.3);background:#0000004d;color:#fff;font-size:.75rem;cursor:pointer}.jhl-hero__animation-select:hover{background:#0006;border-color:#ffffff80}.jhl-hero__animation-btn{padding:4px 8px;border-radius:6px;border:1px solid rgba(255,255,255,.3);background:#0000004d;color:#fff;font-size:.75rem;cursor:pointer;transition:all .2s ease}.jhl-hero__animation-btn:hover{background:#0006;border-color:#ffffff80}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.jhl-welcome__content{display:flex;flex-direction:column;gap:var(--jhl-space-12)}.jhl-section{background:var(--jhl-card-bg);border-radius:var(--jhl-radius-lg);padding:var(--jhl-space-8);box-shadow:var(--jhl-shadow);transition:background-color .3s ease}.jhl-section__title{margin:0 0 var(--jhl-space-6) 0;font-size:1.5rem;font-weight:700;color:var(--jhl-text-primary)}.jhl-mission-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--jhl-space-6)}.jhl-mission-card{background:var(--jhl-card-bg);border:1px solid var(--jhl-card-border);border-radius:var(--jhl-radius-lg);padding:var(--jhl-space-6);cursor:pointer;transition:var(--jhl-transition)}.jhl-mission-card:hover{border-color:var(--jhl-card-hover-border);box-shadow:var(--jhl-shadow-md);transform:translateY(-2px)}.jhl-mission-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--jhl-space-4)}.jhl-mission-card__thumbnail{font-size:2rem;line-height:1}.jhl-mission-card__meta{display:flex;flex-direction:column;gap:var(--jhl-space-2);align-items:flex-end}.jhl-mission-card__difficulty{padding:var(--jhl-space-1) var(--jhl-space-2);border-radius:var(--jhl-radius);font-size:.75rem;font-weight:600;text-transform:uppercase}.jhl-mission-card__difficulty--easy{background:#dcfce7;color:#166534}.jhl-mission-card__difficulty--medium{background:#fef3c7;color:#92400e}.jhl-mission-card__difficulty--hard{background:#fecaca;color:#991b1b}.jhl-mission-card__time{font-size:.875rem;color:var(--jhl-text-secondary)}.jhl-mission-card__title{margin:0 0 var(--jhl-space-2) 0;font-size:1.25rem;font-weight:600;color:var(--jhl-text-primary)}.jhl-mission-card__description{margin:0 0 var(--jhl-space-4) 0;color:var(--jhl-text-secondary);line-height:1.5}.jhl-mission-card__objectives h5{margin:0 0 var(--jhl-space-2) 0;font-size:.875rem;font-weight:600;color:var(--jhl-text-primary)}.jhl-mission-card__objectives ul{margin:0;padding-left:var(--jhl-space-4);font-size:.875rem;color:var(--jhl-text-secondary)}.jhl-mission-card__objectives li{margin-bottom:var(--jhl-space-1)}.jhl-mission-card__footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--jhl-space-6);padding-top:var(--jhl-space-4);border-top:1px solid var(--jhl-border-primary)}.jhl-mission-card__score{font-size:.875rem;font-weight:600;color:var(--jhl-primary)}.jhl-tutorials{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--jhl-space-6)}.jhl-tutorial-card{text-align:center;padding:var(--jhl-space-6);border:1px solid var(--jhl-card-border);border-radius:var(--jhl-radius-lg);transition:var(--jhl-transition);background:var(--jhl-card-bg)}.jhl-tutorial-card:hover{border-color:var(--jhl-card-hover-border);box-shadow:var(--jhl-shadow-md)}.jhl-tutorial-card__icon{font-size:3rem;line-height:1;margin-bottom:var(--jhl-space-4)}.jhl-tutorial-card h4{margin:0 0 var(--jhl-space-2) 0;font-size:1.25rem;font-weight:600;color:var(--jhl-text-primary)}.jhl-tutorial-card p{margin:0 0 var(--jhl-space-4) 0;color:var(--jhl-text-secondary)}.tutorial-panel__content{background:var(--jhl-card-bg);color:var(--jhl-text-primary)}.tutorial-step__hint{background:var(--jhl-warning-light);border-color:var(--jhl-warning);color:var(--jhl-text-primary)}html[data-theme=dark] .tutorial-panel__content{background:var(--jhl-card-bg)!important;color:var(--jhl-text-primary)!important}html[data-theme=dark] .tutorial-step__hint{background:var(--jhl-warning-light)!important;border-color:var(--jhl-warning)!important;color:var(--jhl-text-primary)!important}@media(max-width:768px){.jhl-hero{grid-template-columns:1fr;text-align:center}.jhl-hero__title{font-size:2rem}.jhl-mission-gallery,.jhl-tutorials{grid-template-columns:1fr}}.jhl-mission-layout{display:grid;grid-template-columns:1fr 350px;gap:var(--jhl-space-6);height:100%}.jhl-mission__arena{background:var(--jhl-white);border-radius:var(--jhl-radius-lg);box-shadow:var(--jhl-shadow);overflow:hidden}.jhl-arena{height:100%;display:flex;flex-direction:column}.jhl-arena__header{display:flex;justify-content:space-between;align-items:center;padding:var(--jhl-space-4) var(--jhl-space-6);border-bottom:1px solid var(--jhl-border-primary);background:var(--jhl-bg-tertiary)}.jhl-arena__title{margin:0;font-size:1.25rem;font-weight:600;color:var(--jhl-text-primary)}.jhl-arena__status{padding:var(--jhl-space-1) var(--jhl-space-3);background:var(--jhl-success);color:var(--jhl-white);border-radius:var(--jhl-radius);font-size:.875rem;font-weight:500}.jhl-arena__viewport{flex:1;position:relative;background:var(--jhl-bg-tertiary)}.jhl-arena__canvas{width:100%;height:100%;display:block}.jhl-arena__overlay{position:absolute;inset:0;pointer-events:none}.jhl-robot-indicator{position:absolute;font-size:2rem;line-height:1;transition:var(--jhl-transition)}.jhl-arena__status--running{background:var(--jhl-success)}.jhl-arena__status--paused{background:var(--jhl-warning)}.jhl-arena__status--ready{background:var(--jhl-secondary)}.jhl-mission__sidebar{display:flex;flex-direction:column;gap:var(--jhl-space-6)}.jhl-mission-panel,.jhl-control-panel,.jhl-status-panel{background:var(--jhl-card-bg);border-radius:var(--jhl-radius-lg);box-shadow:var(--jhl-shadow);padding:var(--jhl-space-6);transition:background-color .3s ease}.jhl-panel__title{margin:0 0 var(--jhl-space-4) 0;font-size:1.125rem;font-weight:600;color:var(--jhl-text-primary)}.jhl-mission-info__name{margin:0 0 var(--jhl-space-3) 0;font-size:1.25rem;font-weight:600;color:var(--jhl-text-primary)}.jhl-mission-info__score{display:flex;justify-content:space-between;margin-bottom:var(--jhl-space-4)}.jhl-score,.jhl-timer{font-size:.875rem;color:var(--jhl-text-secondary)}.jhl-score strong,.jhl-timer strong{color:var(--jhl-text-primary);font-weight:600}.jhl-controls{display:flex;flex-direction:column;gap:var(--jhl-space-3);margin-bottom:var(--jhl-space-6)}.jhl-program-selector{display:flex;flex-direction:column;gap:var(--jhl-space-3)}.jhl-label{display:flex;flex-direction:column;gap:var(--jhl-space-2);font-weight:500;color:var(--jhl-text-secondary)}.jhl-robot-status{display:flex;flex-direction:column;gap:var(--jhl-space-2)}.jhl-status-item{display:flex;justify-content:space-between;align-items:center}.jhl-status-label{font-size:.875rem;color:var(--jhl-text-secondary)}.jhl-status-value{font-size:.875rem;font-weight:500;color:var(--jhl-text-primary)}.jhl-objectives-list{list-style:none;padding:0;margin:0}.jhl-objective-item{display:flex;align-items:center;gap:8px;padding:8px 12px;margin-bottom:4px;background:var(--jhl-bg-tertiary);border-radius:var(--jhl-radius);font-size:.875rem;transition:all .3s ease;color:var(--jhl-text-primary)}.jhl-objective-item.completed{background:#dcfce7;border-left:3px solid #22c55e}.jhl-objective-item .objective-check{font-size:1rem}.jhl-objective-item .objective-text{flex:1}.jhl-objective-item .objective-points{font-weight:600;color:var(--jhl-primary);font-size:.75rem}.jhl-objective-item .objective-status{font-size:.75rem;color:var(--jhl-text-secondary);min-width:80px;text-align:right}.jhl-score-display{margin-top:12px;padding:12px;background:var(--jhl-primary);color:#fff;border-radius:var(--jhl-radius);text-align:center;font-size:1.1rem}.jhl-score-display strong{font-size:1.5rem}.jhl-mission-complete-content h2{margin:0 0 16px;font-size:1.5rem;color:var(--jhl-text-primary)}.jhl-mission-stars{font-size:2rem;margin-bottom:16px}.jhl-mission-score{font-size:2rem;margin-bottom:8px}.jhl-mission-score .score-value{font-weight:700;color:var(--jhl-primary)}.jhl-mission-score .score-max{color:var(--jhl-text-muted)}.jhl-mission-percentage{font-size:1.25rem;color:var(--jhl-text-secondary);margin-bottom:16px}.jhl-mission-objectives-summary{text-align:left;margin-bottom:24px}.jhl-mission-objectives-summary .objective-row{display:flex;justify-content:space-between;padding:8px;border-bottom:1px solid var(--jhl-border-primary);color:var(--jhl-text-primary)}.jhl-mission-objectives-summary .objective-row.completed{color:#22c55e}.jhl-mission-objectives-summary .objective-row.incomplete{color:var(--jhl-text-muted)}.jhl-mission-objectives-summary .points{font-weight:600}.jhl-objectives__empty{text-align:center;color:var(--jhl-gray-500);font-style:italic;padding:var(--jhl-space-8)}html[data-theme=dark] .jhl-mission__arena,html[data-theme=dark] .jhl-arena__viewport{background:var(--jhl-bg-tertiary)!important}@media(max-width:1024px){.jhl-mission-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}}.jhl-programming-layout{display:grid;grid-template-columns:250px 1fr 300px;gap:var(--jhl-space-6);height:100%;min-height:800px}.jhl-programming__palette,.jhl-programming__workspace,.jhl-programming__sidebar>*{background:var(--jhl-card-bg);border-radius:var(--jhl-radius-lg);box-shadow:var(--jhl-shadow);overflow:hidden;transition:background-color .3s ease}.jhl-programming__workspace{height:100%;min-height:600px;display:flex;flex-direction:column}.jhl-programming__palette{padding:var(--jhl-space-6)}.jhl-mode[data-mode=programming]{height:100%;min-height:800px;overflow-y:hidden}.jhl-program-control-panel{background:var(--jhl-card-bg);border-radius:var(--jhl-radius-lg);box-shadow:var(--jhl-shadow);padding:var(--jhl-space-6);transition:background-color .3s ease}.jhl-program-actions{display:flex;flex-direction:column;gap:var(--jhl-space-3)}.jhl-example-programs{margin-top:var(--jhl-space-6);padding-top:var(--jhl-space-4);border-top:1px solid var(--jhl-border-primary)}.jhl-example-programs__title{margin:0 0 var(--jhl-space-3) 0;font-size:1rem;font-weight:600;color:var(--jhl-text-secondary)}.jhl-example-programs__list{display:flex;flex-direction:column;gap:var(--jhl-space-2)}.program-status{padding:var(--jhl-space-2) var(--jhl-space-3);border-radius:var(--jhl-radius);font-size:.875rem;font-weight:500;margin-top:var(--jhl-space-3)}.program-status--info{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.program-status--success{background:#dcfce7;color:#166534;border:1px solid #86efac}.program-status--warning{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.program-status--error{background:#fecaca;color:#991b1b;border:1px solid #fca5a5}.execution-progress{width:100%;height:4px;background:var(--jhl-border-primary);border-radius:2px;overflow:hidden;margin:var(--jhl-space-3) 0}.execution-progress__bar{height:100%;background:var(--jhl-primary);border-radius:2px;transition:width .3s ease;width:0%}.robot-telemetry{display:flex;flex-direction:column;gap:var(--jhl-space-2);font-size:.875rem;color:var(--jhl-text-secondary);margin-top:var(--jhl-space-4)}.robot-telemetry__item{display:flex;justify-content:space-between;align-items:center}.robot-telemetry__label{font-weight:500}.robot-telemetry__value{font-family:var(--jhl-font-mono);color:var(--jhl-text-primary)}.execution-stats{background:var(--jhl-bg-tertiary);border-radius:var(--jhl-radius);padding:var(--jhl-space-4);margin-top:var(--jhl-space-4);font-size:.875rem;color:var(--jhl-text-secondary)}.execution-stats>div{margin-bottom:var(--jhl-space-2);display:flex;justify-content:space-between}.execution-stats>div:last-child{margin-bottom:0}.jhl-blocks-categories{display:flex;flex-direction:column;gap:var(--jhl-space-6)}.jhl-blocks-category h4{margin:0 0 var(--jhl-space-3) 0;font-size:1rem;font-weight:600;color:var(--jhl-text-secondary)}.jhl-blocks-list{display:flex;flex-direction:column;gap:var(--jhl-space-2)}.jhl-block{padding:var(--jhl-space-3);border-radius:var(--jhl-radius);cursor:grab;transition:var(--jhl-transition);font-size:.875rem;font-weight:500;text-align:center}.jhl-block:active{cursor:grabbing}.jhl-block--motion{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}.jhl-block--sensor{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.jhl-block--control{background:#dcfce7;color:#166534;border:1px solid #86efac}.jhl-block:hover{transform:translateY(-1px);box-shadow:var(--jhl-shadow-md)}.jhl-blocks-workspace{flex:1;padding:var(--jhl-space-6);height:100%;min-height:600px;background:var(--jhl-bg-tertiary);overflow:hidden;transition:background-color .3s ease}.jhl-blocks-workspace__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--jhl-text-tertiary)}.jhl-blocks-workspace__hint{margin-top:var(--jhl-space-4);padding:var(--jhl-space-3) var(--jhl-space-4);background:var(--jhl-primary);color:var(--jhl-white);border-radius:var(--jhl-radius);font-size:.875rem}.jhl-programming__sidebar{display:flex;flex-direction:column;gap:var(--jhl-space-6)}.jhl-code-preview,.jhl-test-panel{padding:var(--jhl-space-6)}.jhl-blockly-info h3{margin:0 0 var(--jhl-space-2) 0;color:var(--jhl-text-primary);font-size:1.125rem}.jhl-blockly-info p{margin:0;color:var(--jhl-text-secondary);font-size:.875rem}.jhl-blockly-error{padding:var(--jhl-space-6);text-align:center;background:var(--jhl-danger-light);border:1px solid var(--jhl-danger);border-radius:var(--jhl-radius);color:var(--jhl-danger)}.jhl-blockly-error h3{margin:0 0 var(--jhl-space-4) 0;color:var(--jhl-danger)}.jhl-blockly-error p{margin:0 0 var(--jhl-space-2) 0}#blockly-workspace{border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius);overflow:hidden;position:relative;height:100%!important;min-height:600px!important;transform:none!important}#blockly-workspace .blocklyDiv{position:relative!important;height:100%!important;width:100%!important}#blockly-workspace .blocklyToolboxDiv{position:absolute!important;left:0!important;top:0!important;bottom:0!important;height:100%!important;z-index:30!important}#blockly-workspace .blocklyFlyout{position:absolute!important;left:210px!important;top:0!important;width:220px!important;max-width:220px!important;z-index:25!important;pointer-events:auto!important}#blockly-workspace svg.blocklyFlyout{position:absolute!important;left:210px!important;top:0!important;width:220px!important;max-width:220px!important;z-index:25!important;pointer-events:auto!important}.jhl-programming__workspace{position:relative!important;transform:none!important}.jhl-code{background:var(--jhl-code-bg);color:var(--jhl-code-text);padding:var(--jhl-space-4);border-radius:var(--jhl-radius);font-family:var(--jhl-font-mono);font-size:.875rem;line-height:1.5;overflow-x:auto}.jhl-test-arena{margin:var(--jhl-space-4) 0;border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius);overflow:hidden}.jhl-test-canvas{width:100%;height:200px;display:block;background:var(--jhl-bg-tertiary)}.jhl-workspace-block{background:var(--jhl-card-bg);border:2px solid;border-radius:var(--jhl-radius);box-shadow:var(--jhl-shadow);cursor:move;min-width:200px;user-select:none}.jhl-workspace-block--motion{border-color:#3b82f6}.jhl-workspace-block--sensor{border-color:#f59e0b}.jhl-workspace-block--control{border-color:#16a34a}.jhl-workspace-block__header{display:flex;justify-content:space-between;align-items:center;padding:var(--jhl-space-3) var(--jhl-space-4);background:var(--jhl-bg-tertiary);border-bottom:1px solid var(--jhl-border-primary)}.jhl-workspace-block__label{font-weight:600;font-size:.875rem;color:var(--jhl-text-primary)}.jhl-workspace-block__remove{padding:var(--jhl-space-1);border:none;background:transparent;cursor:pointer;font-size:1.25rem;line-height:1;color:var(--jhl-text-muted);border-radius:var(--jhl-radius-sm)}.jhl-workspace-block__remove:hover{background:var(--jhl-bg-hover);color:var(--jhl-text-secondary)}.jhl-workspace-block__parameters{padding:var(--jhl-space-4);display:flex;flex-direction:column;gap:var(--jhl-space-3)}.jhl-workspace-block__param{display:flex;justify-content:space-between;align-items:center;gap:var(--jhl-space-3);font-size:.875rem}.jhl-workspace-block__param span{font-weight:500;color:var(--jhl-gray-700)}.jhl-workspace-block__param input{padding:var(--jhl-space-2);border:1px solid var(--jhl-gray-300);border-radius:var(--jhl-radius-sm);font-size:.875rem;width:80px}.jhl-blocks-workspace[data-drag-over=true]{background:#f0f9ff;border:2px dashed var(--jhl-primary)}.jhl-block[draggable=true]:hover{transform:translateY(-2px);box-shadow:var(--jhl-shadow-md)}@media(max-width:1024px){.jhl-programming-layout{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}}.jhl-config{min-height:100%;background:var(--jhl-bg-primary);padding:var(--jhl-space-6);display:flex;flex-direction:column;gap:var(--jhl-space-8)}.jhl-config__header{text-align:center;max-width:600px;margin:0 auto}.jhl-config__title{margin:0 0 var(--jhl-space-3) 0;font-size:2.5rem;font-weight:700;color:var(--jhl-text-primary);background:linear-gradient(135deg,var(--jhl-primary),var(--jhl-primary-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.jhl-config__description{margin:0;font-size:1.125rem;color:var(--jhl-text-secondary);line-height:1.6}.jhl-config__content{max-width:1200px;margin:0 auto;width:100%}.jhl-config__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--jhl-space-6);align-items:start}.jhl-config__section{background:var(--jhl-card-bg);border:1px solid var(--jhl-card-border);border-radius:var(--jhl-radius-xl);padding:var(--jhl-space-6);box-shadow:var(--jhl-shadow);transition:var(--jhl-transition);position:relative;overflow:hidden}.jhl-config__section:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--jhl-primary),var(--jhl-primary-hover));opacity:0;transition:opacity .3s ease}.jhl-config__section:hover{border-color:var(--jhl-card-hover-border);box-shadow:var(--jhl-shadow-md);transform:translateY(-2px)}.jhl-config__section:hover:before{opacity:1}.jhl-config__section-title{margin:0 0 var(--jhl-space-5) 0;font-size:1.375rem;font-weight:600;color:var(--jhl-text-primary);display:flex;align-items:center;gap:var(--jhl-space-2)}.jhl-config__section-description{margin:0 0 var(--jhl-space-4) 0;font-size:.875rem;color:var(--jhl-text-tertiary);line-height:1.5}.jhl-config__option{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--jhl-space-4);padding:var(--jhl-space-4);border-radius:var(--jhl-radius-lg);transition:var(--jhl-transition);border:1px solid transparent}.jhl-config__option:not(:last-child){border-bottom:1px solid var(--jhl-border-primary);margin-bottom:var(--jhl-space-1);padding-bottom:var(--jhl-space-4)}.jhl-config__option:hover{background:var(--jhl-bg-hover);border-color:var(--jhl-border-secondary)}.jhl-config__option-info{flex:1;display:flex;flex-direction:column;gap:var(--jhl-space-1)}.jhl-config__option-label{font-weight:600;color:var(--jhl-text-primary);font-size:1rem;line-height:1.4}.jhl-config__option-desc{font-size:.875rem;color:var(--jhl-text-tertiary);line-height:1.5}.jhl-config__option-status{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:var(--jhl-radius-sm);margin-top:var(--jhl-space-1)}.jhl-config__option-status--success{background:var(--jhl-success-light, rgba(72, 187, 120, .1));color:var(--jhl-success, #48bb78)}.jhl-config__option-status--warning{background:var(--jhl-warning-light, rgba(237, 137, 54, .1));color:var(--jhl-warning, #ed8936)}.jhl-config__option-status--error{background:var(--jhl-danger-light, rgba(245, 101, 101, .1));color:var(--jhl-danger, #f56565)}.jhl-config__option-status--info{background:var(--jhl-info-light, rgba(66, 153, 225, .1));color:var(--jhl-info, #4299e1)}.jhl-config__option-desc--success{color:var(--jhl-success, #48bb78)}.jhl-config__option-desc--warning{color:var(--jhl-warning, #ed8936)}.jhl-config__option-desc--error{color:var(--jhl-danger, #f56565)}.jhl-config__option-control{flex-shrink:0;display:flex;align-items:center;gap:var(--jhl-space-2)}.jhl-config__toggle{position:relative;display:inline-block;width:52px;height:28px}.jhl-config__toggle input{opacity:0;width:0;height:0}.jhl-config__toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--jhl-border-secondary);transition:.3s cubic-bezier(.4,0,.2,1);border-radius:28px;box-shadow:inset 0 2px 4px #0000001a}.jhl-config__toggle-slider:before{position:absolute;content:"";height:24px;width:24px;left:2px;bottom:2px;background-color:var(--jhl-white);transition:.3s cubic-bezier(.4,0,.2,1);border-radius:50%;box-shadow:var(--jhl-shadow)}.jhl-config__toggle input:checked+.jhl-config__toggle-slider{background-color:var(--jhl-primary)}.jhl-config__toggle input:checked+.jhl-config__toggle-slider:before{transform:translate(24px)}.jhl-config__toggle input:focus+.jhl-config__toggle-slider{box-shadow:0 0 0 3px #2563eb1a}.jhl-config__select{min-width:160px;padding:var(--jhl-space-3) var(--jhl-space-4);border:1px solid var(--jhl-input-border);border-radius:var(--jhl-radius-lg);background:var(--jhl-input-bg);color:var(--jhl-input-text);font-size:.875rem;font-weight:500;transition:var(--jhl-transition);cursor:pointer}.jhl-config__select:hover{border-color:var(--jhl-border-focus)}.jhl-config__select:focus{outline:none;border-color:var(--jhl-border-focus);box-shadow:0 0 0 3px #2563eb1a}.jhl-config__color-picker{width:48px;height:48px;border:3px solid var(--jhl-border-primary);border-radius:var(--jhl-radius-lg);cursor:pointer;transition:var(--jhl-transition);overflow:hidden}.jhl-config__color-picker:hover{border-color:var(--jhl-border-focus);transform:scale(1.05)}.jhl-config__color-picker:focus{outline:none;border-color:var(--jhl-border-focus);box-shadow:0 0 0 3px #2563eb1a}.jhl-config__data-list{display:flex;flex-direction:column;gap:var(--jhl-space-2);max-height:200px;overflow-y:auto;padding:var(--jhl-space-2);background:var(--jhl-bg-tertiary);border-radius:var(--jhl-radius-lg);border:1px solid var(--jhl-border-primary)}.jhl-config__data-item{display:flex;justify-content:space-between;align-items:center;padding:var(--jhl-space-3);background:var(--jhl-bg-primary);border-radius:var(--jhl-radius);border:1px solid var(--jhl-border-primary);transition:var(--jhl-transition)}.jhl-config__data-item:hover{border-color:var(--jhl-border-secondary);box-shadow:var(--jhl-shadow-sm)}.jhl-config__data-info{display:flex;flex-direction:column;gap:var(--jhl-space-1)}.jhl-config__data-name{font-weight:600;color:var(--jhl-text-primary);font-size:.875rem}.jhl-config__data-date{font-size:.75rem;color:var(--jhl-text-muted)}.jhl-config__empty{color:var(--jhl-text-muted);font-style:italic;text-align:center;padding:var(--jhl-space-6)}.jhl-config__data-actions{display:flex;gap:var(--jhl-space-2);margin-top:var(--jhl-space-4);flex-wrap:wrap}.jhl-config__data-actions-inline{display:flex;gap:var(--jhl-space-2)}.jhl-config__section--danger{border-color:var(--jhl-danger);background:var(--jhl-danger-light)}.jhl-config__section--danger:before{background:linear-gradient(90deg,var(--jhl-danger),var(--jhl-danger-hover));opacity:1}.jhl-config__section--danger .jhl-config__section-title{color:var(--jhl-danger)}@media(max-width:1024px){.jhl-config__grid{grid-template-columns:1fr;gap:var(--jhl-space-5)}.jhl-config__section{padding:var(--jhl-space-5)}}@media(max-width:768px){.jhl-config{padding:var(--jhl-space-4);gap:var(--jhl-space-6)}.jhl-config__title{font-size:2rem}.jhl-config__description{font-size:1rem}.jhl-config__grid{grid-template-columns:1fr;gap:var(--jhl-space-4)}.jhl-config__section{padding:var(--jhl-space-4)}.jhl-config__option{flex-direction:column;align-items:stretch;gap:var(--jhl-space-3)}.jhl-config__option-control{justify-content:flex-end}.jhl-config__data-actions{flex-direction:column}}@media(max-width:480px){.jhl-config,.jhl-config__section{padding:var(--jhl-space-3)}}html[data-theme=dark] .jhl-config__title{background:linear-gradient(135deg,var(--jhl-primary),#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}html[data-theme=dark] .jhl-config__section{background:var(--jhl-bg-elevated);border-color:var(--jhl-border-primary)}html[data-theme=dark] .jhl-config__toggle-slider:before{background-color:var(--jhl-bg-primary)}html[data-theme=dark] .jhl-config__data-list{background:var(--jhl-bg-secondary)}html[data-theme=dark] .jhl-config__data-item{background:var(--jhl-bg-elevated)}@media print{.jhl-config{background:#fff;color:#000}.jhl-config__section{border:1px solid #ccc;box-shadow:none;break-inside:avoid}.jhl-config__data-actions{display:none}}.jhl-config__option:focus-within{outline:2px solid var(--jhl-border-focus);outline-offset:2px}.jhl-config__robot-type:focus{outline:2px solid var(--jhl-border-focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){.jhl-config__section,.jhl-config__option,.jhl-config__toggle-slider,.jhl-config__toggle-slider:before,.jhl-config__robot-type{transition:none}.jhl-config__section:hover,.jhl-config__robot-type:hover{transform:none}}@media(prefers-contrast:high){.jhl-config__section{border-width:2px}.jhl-config__option{border-width:1px;border-style:solid;border-color:var(--jhl-border-secondary)}}.jhl-analysis-layout{display:grid;grid-template-columns:1fr 350px;gap:var(--jhl-space-6);height:100%}.jhl-analysis__main,.jhl-analysis__sidebar>*{background:var(--jhl-white);border-radius:var(--jhl-radius-lg);box-shadow:var(--jhl-shadow)}.jhl-replay-container{padding:var(--jhl-space-6);height:100%;display:flex;flex-direction:column}.jhl-replay-viewer{flex:1;display:flex;flex-direction:column}.jhl-replay-canvas{flex:1;width:100%;background:var(--jhl-bg-tertiary);border-radius:var(--jhl-radius);margin-bottom:var(--jhl-space-4)}.jhl-replay-controls{display:flex;align-items:center;gap:var(--jhl-space-3)}.jhl-replay-timeline{flex:1;margin:0 var(--jhl-space-4)}.jhl-replay-time{font-size:.875rem;color:var(--jhl-text-secondary);font-family:var(--jhl-font-mono)}.jhl-analysis__sidebar{display:flex;flex-direction:column;gap:var(--jhl-space-6)}.jhl-metrics-panel,.jhl-comparison-panel,.jhl-export-panel{padding:var(--jhl-space-6)}.jhl-metrics{display:flex;flex-direction:column;gap:var(--jhl-space-3)}.jhl-metric{display:flex;justify-content:space-between;align-items:center}.jhl-metric__label{font-size:.875rem;color:var(--jhl-text-secondary)}.jhl-metric__value{font-size:.875rem;font-weight:600;color:var(--jhl-text-primary)}.jhl-export-actions{display:flex;flex-direction:column;gap:var(--jhl-space-3)}.jhl-comparison-item{padding:var(--jhl-space-4);border:1px solid var(--jhl-gray-200);border-radius:var(--jhl-radius);margin-bottom:var(--jhl-space-3)}.jhl-comparison-item__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--jhl-space-2)}.jhl-comparison-item__title{font-weight:600;font-size:.875rem}.jhl-comparison-item__date{font-size:.75rem;color:var(--jhl-gray-500)}.jhl-comparison-item__metrics{display:flex;gap:var(--jhl-space-4);margin-bottom:var(--jhl-space-3);font-size:.875rem;color:var(--jhl-gray-600)}.jhl-comparison-empty{text-align:center;color:var(--jhl-gray-500);font-style:italic;padding:var(--jhl-space-8)}html[data-theme=dark] .jhl-analysis__main,html[data-theme=dark] .jhl-analysis__sidebar>*{background:var(--jhl-card-bg)!important;color:var(--jhl-text-primary)!important}@media(max-width:1024px){.jhl-analysis-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}}.jhl-mode--testing{padding:var(--jhl-space-6);background:var(--jhl-bg-secondary);min-height:100%}.jhl-testing-layout{max-width:1400px;margin:0 auto}.jhl-testing__header{background:var(--jhl-card-bg);padding:var(--jhl-space-6);border-radius:8px;box-shadow:var(--jhl-shadow);margin-bottom:var(--jhl-space-6)}.jhl-testing__title{font-size:2rem;font-weight:700;color:var(--jhl-text-primary);margin:0 0 var(--jhl-space-2) 0}.jhl-testing__subtitle{color:var(--jhl-text-secondary);margin:0 0 var(--jhl-space-6) 0;font-size:1.1rem}.jhl-testing__controls{display:flex;gap:var(--jhl-space-3);flex-wrap:wrap;margin-bottom:var(--jhl-space-4)}.jhl-progress-bar{width:100%;height:8px;background:var(--jhl-border-primary);border-radius:4px;overflow:hidden}.jhl-progress-bar__fill{height:100%;background:var(--jhl-primary);transition:width .3s ease}.jhl-testing__metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--jhl-space-4);margin-bottom:var(--jhl-space-6)}.jhl-test-metric{background:var(--jhl-white);padding:var(--jhl-space-4);border-radius:6px;text-align:center;box-shadow:var(--jhl-shadow-sm)}.jhl-test-metric__value{font-size:1.5rem;font-weight:700;margin-bottom:var(--jhl-space-1);color:var(--jhl-text-primary)}.jhl-test-metric__label{font-size:.75rem;color:var(--jhl-text-muted);text-transform:uppercase;letter-spacing:.5px}.jhl-testing__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--jhl-space-6);margin-bottom:var(--jhl-space-6)}.jhl-test-panel{background:var(--jhl-card-bg);border-radius:8px;box-shadow:var(--jhl-shadow);overflow:hidden}.jhl-test-panel__header{background:var(--jhl-bg-tertiary);padding:var(--jhl-space-4) var(--jhl-space-5);border-bottom:1px solid var(--jhl-border-primary);font-weight:600;display:flex;justify-content:space-between;align-items:center;color:var(--jhl-text-primary)}.jhl-test-panel__content{padding:var(--jhl-space-5);max-height:400px;overflow-y:auto}.jhl-test-status{display:inline-block;padding:var(--jhl-space-1) var(--jhl-space-2);border-radius:4px;font-size:.75rem;font-weight:500}.jhl-test-status--idle{background:var(--jhl-bg-tertiary);color:var(--jhl-text-secondary)}.jhl-test-status--running{background:#bee3f8;color:#2b6cb0}.jhl-test-status--success{background:#c6f6d5;color:#276749}.jhl-test-status--error{background:#fed7d7;color:#c53030}.jhl-test-case{border:1px solid var(--jhl-border-primary);border-radius:6px;margin-bottom:var(--jhl-space-3);overflow:hidden}.jhl-test-case__header{background:var(--jhl-bg-tertiary);padding:var(--jhl-space-3) var(--jhl-space-4);display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background-color .2s;color:var(--jhl-text-primary)}.jhl-test-case__header:hover{background:var(--jhl-bg-hover)}.jhl-test-case__content{padding:var(--jhl-space-4);display:none}.jhl-test-case__content.expanded{display:block}.jhl-test-log{font-family:var(--jhl-font-mono);font-size:.75rem;line-height:1.4;background:var(--jhl-code-bg);color:var(--jhl-code-text);padding:var(--jhl-space-4);border-radius:6px;max-height:300px;overflow-y:auto;white-space:pre-wrap}.jhl-test-log-entry{margin-bottom:4px;padding:2px 0}.jhl-test-log-entry--info{color:#63b3ed}.jhl-test-log-entry--success{color:#68d391}.jhl-test-log-entry--warning{color:#fbb6ce}.jhl-test-log-entry--error{color:#fc8181}.jhl-test-log-entry--debug{color:#a0aec0}.jhl-testing__export{background:var(--jhl-card-bg);padding:var(--jhl-space-6);border-radius:8px;box-shadow:var(--jhl-shadow)}.jhl-testing__export h3{margin:0 0 var(--jhl-space-2) 0;color:var(--jhl-text-primary)}.jhl-testing__export p{color:var(--jhl-text-secondary);margin:0 0 var(--jhl-space-4) 0}html[data-theme=dark] .jhl-test-metric{background:var(--jhl-card-bg)!important;color:var(--jhl-text-primary)!important}@media(max-width:768px){.jhl-testing__grid{grid-template-columns:1fr}.jhl-testing__controls{flex-direction:column}.jhl-testing__controls .jhl-btn{width:100%}.jhl-export-actions{flex-direction:column}.jhl-export-actions .jhl-btn{width:100%}}.jhl-sandbox-layout{display:flex;flex-direction:column;height:100%;background:var(--jhl-bg-secondary)}.jhl-sandbox__header{padding:var(--jhl-space-6);background:var(--jhl-card-bg);border-bottom:1px solid var(--jhl-border-primary);box-shadow:var(--jhl-shadow-sm)}.jhl-sandbox__title{font-size:1.875rem;font-weight:700;color:var(--jhl-text-primary);margin:0 0 var(--jhl-space-2) 0}.jhl-sandbox__subtitle{color:var(--jhl-text-secondary);margin:0;font-size:1rem}.jhl-sandbox__grid{display:grid;grid-template-columns:1fr 350px 300px;grid-template-rows:1fr;gap:var(--jhl-space-4);padding:var(--jhl-space-4);flex:1;overflow:hidden}.jhl-sandbox__canvas-container{position:relative;background:var(--jhl-card-bg);border-radius:var(--jhl-space-2);box-shadow:var(--jhl-shadow);overflow:hidden}.jhl-sandbox__canvas{display:block;width:100%;height:100%;border-radius:var(--jhl-space-2);image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}.jhl-sandbox__canvas-overlay{position:absolute;top:var(--jhl-space-2);left:var(--jhl-space-2);background:#000000b3;color:#fff;padding:var(--jhl-space-2) var(--jhl-space-3);border-radius:var(--jhl-space-1);font-family:var(--jhl-font-mono);font-size:.875rem}.jhl-sandbox__controls{background:var(--jhl-card-bg);border-radius:var(--jhl-space-2);box-shadow:var(--jhl-shadow);padding:var(--jhl-space-4);overflow-y:auto}.jhl-control-section{margin-bottom:var(--jhl-space-6)}.jhl-control-section:last-child{margin-bottom:0}.jhl-control-section__title{font-size:1.125rem;font-weight:600;color:var(--jhl-text-primary);margin:0 0 var(--jhl-space-3) 0;padding-bottom:var(--jhl-space-2);border-bottom:2px solid var(--jhl-border-primary)}.jhl-control-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--jhl-space-2);margin-bottom:var(--jhl-space-4)}.jhl-control-btn{background:var(--jhl-bg-tertiary);border:2px solid var(--jhl-border-secondary);border-radius:var(--jhl-space-2);padding:var(--jhl-space-3);font-size:1.25rem;font-weight:600;color:var(--jhl-text-primary);cursor:pointer;transition:all .2s ease;min-height:48px;display:flex;align-items:center;justify-content:center}.jhl-control-btn:hover{background:var(--jhl-bg-hover);border-color:var(--jhl-border-focus);transform:translateY(-1px)}.jhl-control-btn:active{transform:translateY(0)}.jhl-control-btn--primary{background:var(--jhl-primary);border-color:var(--jhl-primary);color:#fff}.jhl-control-btn--primary:hover{background:var(--jhl-primary-hover);border-color:var(--jhl-primary-hover)}.jhl-control-btn--danger{background:var(--jhl-danger);border-color:var(--jhl-danger);color:#fff}.jhl-control-btn--danger:hover{background:var(--jhl-danger-hover);border-color:var(--jhl-danger-hover)}.jhl-control-btn.active{animation:pulse .5s ease-in-out}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.jhl-control-params{display:flex;flex-direction:column;gap:var(--jhl-space-3)}.jhl-param-group{display:flex;flex-direction:column;gap:var(--jhl-space-1)}.jhl-param-label{font-size:.875rem;font-weight:500;color:var(--jhl-text-primary)}.jhl-param-slider{width:100%;height:6px;border-radius:3px;background:var(--jhl-border-primary);outline:none;-webkit-appearance:none}.jhl-param-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--jhl-primary);cursor:pointer;box-shadow:var(--jhl-shadow)}.jhl-param-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--jhl-primary);cursor:pointer;border:none;box-shadow:var(--jhl-shadow)}.jhl-param-value{font-family:var(--jhl-font-mono);font-size:.875rem;font-weight:600;color:var(--jhl-primary);text-align:center;padding:var(--jhl-space-1);background:var(--jhl-bg-tertiary);border-radius:var(--jhl-space-1);min-width:60px}.jhl-quick-commands,.jhl-status-panel{display:flex;flex-direction:column;gap:var(--jhl-space-2)}.jhl-status-item{display:flex;justify-content:space-between;align-items:center;padding:var(--jhl-space-2);background:var(--jhl-bg-tertiary);border-radius:var(--jhl-space-1)}.jhl-status-label{font-size:.875rem;font-weight:500;color:var(--jhl-text-secondary)}.jhl-status-value{font-family:var(--jhl-font-mono);font-size:.875rem;font-weight:600;color:var(--jhl-text-primary)}.jhl-sensor-readings{display:flex;flex-direction:column;gap:var(--jhl-space-2)}.jhl-sensor-item{display:flex;justify-content:space-between;align-items:center;padding:var(--jhl-space-2);background:var(--jhl-bg-tertiary);border-radius:var(--jhl-space-1);border-left:4px solid var(--jhl-primary)}.jhl-sensor-label{font-size:.875rem;font-weight:500;color:var(--jhl-text-secondary)}.jhl-sensor-value{font-family:var(--jhl-font-mono);font-size:.875rem;font-weight:600;color:var(--jhl-primary)}.jhl-sandbox__history{background:var(--jhl-card-bg);border-radius:var(--jhl-space-2);box-shadow:var(--jhl-shadow);padding:var(--jhl-space-4);display:flex;flex-direction:column;overflow:hidden}.jhl-history__title{font-size:1.125rem;font-weight:600;color:var(--jhl-text-primary);margin:0 0 var(--jhl-space-3) 0;padding-bottom:var(--jhl-space-2);border-bottom:2px solid var(--jhl-border-primary)}.jhl-history__log{flex:1;overflow-y:auto;margin-bottom:var(--jhl-space-3);max-height:400px}.jhl-history__entry{display:flex;flex-direction:column;gap:var(--jhl-space-1);padding:var(--jhl-space-2);margin-bottom:var(--jhl-space-2);border-radius:var(--jhl-space-1);font-size:.875rem}.jhl-history__entry--info{background:var(--jhl-bg-tertiary);border-left:4px solid var(--jhl-text-muted)}.jhl-history__entry--command{background:var(--jhl-primary);background:linear-gradient(135deg,#2563eb1a,#2563eb0d);border-left:4px solid var(--jhl-primary)}.jhl-history__time{font-family:var(--jhl-font-mono);font-size:.75rem;color:var(--jhl-text-muted);font-weight:500}.jhl-history__command{color:var(--jhl-text-primary);font-weight:500}.jhl-history__controls{display:flex;gap:var(--jhl-space-2);padding-top:var(--jhl-space-2);border-top:1px solid var(--jhl-border-primary)}html[data-theme=dark] .jhl-sandbox__canvas-container{background:var(--jhl-bg-tertiary)!important}@media(max-width:1200px){.jhl-sandbox__grid{grid-template-columns:1fr 300px;grid-template-rows:1fr auto}.jhl-sandbox__history{grid-column:1 / -1;max-height:200px}}@media(max-width:768px){.jhl-sandbox__grid{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:var(--jhl-space-2)}.jhl-sandbox__canvas-container{height:300px}.jhl-control-grid{grid-template-columns:repeat(3,1fr);gap:var(--jhl-space-1)}.jhl-control-btn{padding:var(--jhl-space-2);font-size:1rem;min-height:40px}}.jhl-mode--logs{padding:var(--jhl-space-6);background:var(--jhl-bg-secondary);min-height:100%}.jhl-logs-layout{max-width:1400px;margin:0 auto}.jhl-logs__header{background:var(--jhl-card-bg);padding:var(--jhl-space-6);border-radius:var(--jhl-radius-lg);box-shadow:var(--jhl-shadow);margin-bottom:var(--jhl-space-6)}.jhl-logs__title{font-size:2rem;font-weight:700;color:var(--jhl-text-primary);margin:0 0 var(--jhl-space-2) 0}.jhl-logs__subtitle{color:var(--jhl-text-secondary);margin:0;font-size:1.1rem}.jhl-logs__controls{background:var(--jhl-card-bg);padding:var(--jhl-space-4);border-radius:var(--jhl-radius-lg);box-shadow:var(--jhl-shadow);margin-bottom:var(--jhl-space-4)}.jhl-log-controls{display:flex;gap:var(--jhl-space-3);align-items:center;flex-wrap:wrap}.jhl-log-control-toggle{display:flex;align-items:center;gap:var(--jhl-space-2);padding:var(--jhl-space-2) var(--jhl-space-3);background:var(--jhl-bg-tertiary);border-radius:var(--jhl-radius);cursor:pointer;user-select:none}.jhl-log-control-toggle input[type=checkbox]{cursor:pointer}.jhl-log-control-toggle span{font-size:.875rem;font-weight:500;color:var(--jhl-text-primary)}.jhl-logs__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--jhl-space-4);margin-bottom:var(--jhl-space-4)}.jhl-log-stat{background:var(--jhl-card-bg);padding:var(--jhl-space-4);border-radius:var(--jhl-radius-lg);text-align:center;box-shadow:var(--jhl-shadow-sm);border-left:4px solid var(--jhl-text-muted)}.jhl-log-stat--debug{border-left-color:#94a3b8}.jhl-log-stat--info{border-left-color:#3b82f6}.jhl-log-stat--warn{border-left-color:#f59e0b}.jhl-log-stat--error{border-left-color:#dc2626}.jhl-log-stat__value{font-size:1.5rem;font-weight:700;margin-bottom:var(--jhl-space-1);color:var(--jhl-text-primary)}.jhl-log-stat__label{font-size:.75rem;color:var(--jhl-text-muted);text-transform:uppercase;letter-spacing:.5px}.jhl-logs__filters{background:var(--jhl-card-bg);padding:var(--jhl-space-4);border-radius:var(--jhl-radius-lg);box-shadow:var(--jhl-shadow);margin-bottom:var(--jhl-space-4)}.jhl-filter-group{display:flex;gap:var(--jhl-space-3);align-items:flex-end;flex-wrap:wrap}.jhl-filter-label{display:flex;flex-direction:column;gap:var(--jhl-space-1);flex:1;min-width:150px}.jhl-filter-label span{font-size:.875rem;font-weight:500;color:var(--jhl-text-primary)}.jhl-filter-select,.jhl-filter-input{padding:var(--jhl-space-2) var(--jhl-space-3);border:1px solid var(--jhl-input-border);border-radius:var(--jhl-radius);font-size:.875rem;transition:var(--jhl-transition);background:var(--jhl-input-bg);color:var(--jhl-input-text)}.jhl-filter-select:focus,.jhl-filter-input:focus{outline:none;border-color:var(--jhl-primary);box-shadow:0 0 0 3px #2563eb1a}.jhl-logs__viewer{background:var(--jhl-code-bg);border-radius:var(--jhl-radius-lg);box-shadow:var(--jhl-shadow);padding:var(--jhl-space-4);margin-bottom:var(--jhl-space-4);max-height:600px;overflow-y:auto;font-family:var(--jhl-font-mono);font-size:.875rem;line-height:1.6}.jhl-log-empty{text-align:center;padding:var(--jhl-space-12);color:var(--jhl-text-muted)}.jhl-log-empty p{margin:0 0 var(--jhl-space-2) 0;font-size:1rem}.jhl-log-empty__hint{font-size:.875rem;color:var(--jhl-text-muted)}.jhl-log-entry{display:grid;grid-template-columns:auto auto auto 1fr;gap:var(--jhl-space-3);padding:var(--jhl-space-2);margin-bottom:var(--jhl-space-1);border-radius:var(--jhl-radius);transition:background-color .2s}.jhl-log-entry:hover{background:#ffffff0d}.jhl-log-entry--debug{border-left:3px solid #94a3b8}.jhl-log-entry--info{border-left:3px solid #3b82f6}.jhl-log-entry--warn{border-left:3px solid #f59e0b}.jhl-log-entry--error{border-left:3px solid #dc2626}.jhl-log-entry__timestamp{color:var(--jhl-text-muted);font-size:.75rem}.jhl-log-entry__level{font-weight:600;font-size:.75rem;padding:2px 6px;border-radius:3px;text-transform:uppercase}.jhl-log-entry--debug .jhl-log-entry__level{background:#94a3b833;color:#94a3b8}.jhl-log-entry--info .jhl-log-entry__level{background:#3b82f633;color:#3b82f6}.jhl-log-entry--warn .jhl-log-entry__level{background:#f59e0b33;color:#f59e0b}.jhl-log-entry--error .jhl-log-entry__level{background:#dc262633;color:#dc2626}.jhl-log-entry__category{color:var(--jhl-text-muted);font-size:.75rem;text-transform:uppercase;font-weight:500}.jhl-log-entry__message{color:var(--jhl-code-text);word-break:break-word}.jhl-log-entry__data{grid-column:1 / -1;margin:var(--jhl-space-2) 0 0 0;padding:var(--jhl-space-2);background:#0000004d;border-radius:var(--jhl-radius);color:var(--jhl-code-text);font-size:.75rem;overflow-x:auto}.jhl-logs__export{background:var(--jhl-card-bg);padding:var(--jhl-space-6);border-radius:var(--jhl-radius-lg);box-shadow:var(--jhl-shadow)}.jhl-export__title{font-size:1.25rem;font-weight:600;color:var(--jhl-text-primary);margin:0 0 var(--jhl-space-2) 0}.jhl-export__description{color:var(--jhl-text-secondary);margin:0 0 var(--jhl-space-4) 0}.jhl-export-actions{display:flex;gap:var(--jhl-space-3);flex-wrap:wrap}.jhl-logs__viewer::-webkit-scrollbar{width:8px}.jhl-logs__viewer::-webkit-scrollbar-track{background:#0003;border-radius:4px}.jhl-logs__viewer::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.jhl-logs__viewer::-webkit-scrollbar-thumb:hover{background:#ffffff80}@media(max-width:768px){.jhl-logs__stats{grid-template-columns:repeat(2,1fr)}.jhl-filter-group{flex-direction:column;align-items:stretch}.jhl-filter-label{min-width:100%}.jhl-log-controls{flex-direction:column;align-items:stretch}.jhl-log-controls .jhl-btn{width:100%}.jhl-export-actions{flex-direction:column}.jhl-export-actions .jhl-btn{width:100%}.jhl-log-entry{grid-template-columns:1fr;gap:var(--jhl-space-1)}}.jhl-mode--entity-library{display:flex;flex-direction:column;overflow:hidden!important;overflow-y:hidden!important;height:100%}.jhl-entity-library-container{flex:1;min-height:0;height:100%;display:flex;flex-direction:column}.jhl-entity-library-container entity-library-page{flex:1;min-height:0;height:100%}.jhl-mode--entity-editor{display:flex;flex-direction:column;overflow:hidden!important;overflow-y:hidden!important;height:100%}.jhl-entity-editor-container{flex:1;min-height:0;height:100%;display:flex;flex-direction:column}.jhl-entity-editor-container entity-editor-page{flex:1;min-height:0;height:100%}.jhl-mode--synth-workspace{display:flex;flex-direction:column;overflow:hidden!important;overflow-y:hidden!important;height:100%}.jhl-synth-workspace-container{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.jhl-synth-workspace-container synth-workspace{position:absolute;inset:0}html[data-theme=dark] .blocklyToolboxDiv,html[data-theme=dark] .blocklyToolboxContents,html[data-theme=dark] .blocklyTreeRoot,html[data-theme=dark] .blocklyTreeRow{background-color:#2d2d2d!important}html[data-theme=dark] .blocklyTreeRowContentContainer{background-color:transparent!important}html[data-theme=dark] .blocklyToolboxCategory,html[data-theme=dark] div.blocklyToolboxCategory,html[data-theme=dark] .blocklyToolboxDiv .blocklyToolboxCategory,html[data-theme=dark] .blocklyToolboxDiv div.blocklyToolboxCategory,html[data-theme=dark] .blocklyToolboxContents .blocklyToolboxCategory,html[data-theme=dark] .blocklyToolboxContents div.blocklyToolboxCategory{background-color:#2d2d2d!important;background:#2d2d2d!important;color:#fff!important}html[data-theme=dark] .blocklyTreeLabel{color:#fff!important}html[data-theme=dark] .blocklyToolboxCategory:hover,html[data-theme=dark] div.blocklyToolboxCategory:hover,html[data-theme=dark] .blocklyTreeRow:hover{background-color:#3d3d3d!important;background:#3d3d3d!important}html[data-theme=dark] .blocklyToolboxCategory[aria-selected=true],html[data-theme=dark] div.blocklyToolboxCategory[aria-selected=true],html[data-theme=dark] .blocklyTreeRow.blocklyTreeSelected{background-color:#4a4a4a!important;background:#4a4a4a!important}html[data-theme=dark] .blocklyFlyout{background-color:#252526!important}html[data-theme=dark] .blocklyFlyoutBackground{fill:#252526!important}html[data-theme=dark] .blocklyScrollbarBackground{fill:#1e1e1e!important}html[data-theme=dark] .blocklyScrollbarHandle{fill:#4a4a4a!important}.blocklyMainBackground{fill:#f8fafc!important}html[data-theme=dark] .blocklyMainBackground{fill:#1e293b!important}html[data-theme=dark] .blocklyMainWorkspaceScrollbar{fill:#334155!important}.jhl-click__blockly-panel{display:flex;flex-direction:column;background:var(--jhl-card-bg);border-radius:var(--jhl-radius-lg);box-shadow:var(--jhl-shadow);overflow:hidden}.jhl-click__blockly-header{display:flex;justify-content:space-between;align-items:center;padding:var(--jhl-space-4);background:var(--jhl-bg-secondary);border-bottom:1px solid var(--jhl-border-primary)}.jhl-click__blockly-header span{font-weight:600;font-size:.875rem;color:var(--jhl-text-primary)}.jhl-click__blockly-workspace{flex:1;position:relative;min-height:400px;background:var(--jhl-bg-primary)}.jhl-click__blockly-workspace .blocklyFlyout{position:absolute!important;transition:none!important}html[data-theme=dark] .jhl-click__blockly-panel{background:var(--jhl-bg-primary)}html[data-theme=dark] .jhl-click__blockly-header{background:var(--jhl-bg-tertiary);border-color:var(--jhl-border-primary)}.blockly-executing{filter:drop-shadow(0 0 8px #2563eb)!important;animation:blockly-pulse 1s ease-in-out infinite alternate!important}.blockly-error{filter:drop-shadow(0 0 8px #dc2626)!important;animation:blockly-error-pulse .5s ease-in-out 3 alternate!important}@keyframes blockly-pulse{0%{filter:drop-shadow(0 0 8px #2563eb)}to{filter:drop-shadow(0 0 12px #3b82f6)}}@keyframes blockly-error-pulse{0%{filter:drop-shadow(0 0 8px #dc2626)}to{filter:drop-shadow(0 0 12px #ef4444)}}.jhl-blockly-info{padding:var(--jhl-space-4);background:var(--jhl-bg-tertiary);border-radius:var(--jhl-radius);margin-bottom:var(--jhl-space-4)}.jhl-blockly-info h3{margin:0 0 var(--jhl-space-2) 0;color:var(--jhl-text-primary);font-size:1rem;font-weight:600}.jhl-blockly-info p{margin:0;color:var(--jhl-text-secondary);font-size:.875rem;line-height:1.5}.jhl-click__blockly-workspace .blocklyZoom,.jhl-click__blockly-workspace svg.blocklyZoom,.blocklyZoom,.blocklyWorkspace .blocklyZoom,.injectionDiv .blocklyZoom,svg.blocklyZoom{position:absolute!important;inset:20px 20px auto auto!important;transform:scale(.8)!important;z-index:100!important}.jhl-click__blockly-workspace .blocklyTrash,.jhl-click__blockly-workspace svg.blocklyTrash,.blocklyTrash,.blocklyWorkspace .blocklyTrash,.injectionDiv .blocklyTrash,svg.blocklyTrash{position:absolute!important;inset:140px 20px auto auto!important;transform:scale(.8)!important;z-index:100!important}.jhl-click__blockly-workspace .blocklyZoom>*,.blocklyZoom>*,svg.blocklyZoom>*{position:relative!important}.jhl-click__blockly-workspace [class*=blocklyZoom],[class*=blocklyZoom]{position:absolute!important;inset:20px 20px auto auto!important}.jhl-click__blockly-workspace svg[class*=zoom],svg[class*=zoom]{position:absolute!important;inset:20px 20px auto auto!important}.jhl-click__blockly-workspace{flex:1;position:relative;min-height:400px;background:var(--jhl-bg-primary);overflow:hidden}.jhl-click__blockly-workspace>div:not(.jhc-block-palette){position:absolute!important;inset:0}.jhl-click__blockly-workspace .injectionDiv{overflow:hidden!important}.jhl-click__blockly-workspace .blocklyScrollbarVertical,.jhl-click__blockly-workspace .blocklyScrollbarHorizontal{display:none!important}.jhl-click__blockly-workspace[data-zoomed=true] .injectionDiv{overflow:auto!important}.jhl-click__blockly-workspace[data-zoomed=true] .blocklyScrollbarVertical,.jhl-click__blockly-workspace[data-zoomed=true] .blocklyScrollbarHorizontal{display:block!important}.jhl-click__blockly-workspace .injectionDiv{position:absolute!important;inset:0}.sr-only-focusable:focus,.sr-only-focusable:active{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}:focus{outline:2px solid var(--jhl-primary, #007acc);outline-offset:2px}:focus-visible{outline:3px solid var(--jhl-primary, #007acc);outline-offset:2px;box-shadow:0 0 0 4px #007acc40}.using-mouse :focus:not(:focus-visible){outline:none;box-shadow:none}button:focus-visible,.jhl-btn:focus-visible{outline:3px solid var(--jhl-primary, #007acc);outline-offset:2px;box-shadow:0 0 0 4px #007acc4d}.tool-button:focus-visible{outline:3px solid var(--jhl-primary, #007acc);outline-offset:2px;box-shadow:0 0 12px #007acc80}.asset-thumbnail:focus-visible{outline:3px solid var(--jhl-primary, #007acc);outline-offset:2px;transform:scale(1.05);z-index:10}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--jhl-primary, #007acc);outline-offset:0;border-color:var(--jhl-primary, #007acc)}.asset-category-header:focus-visible,.property-section-header:focus-visible{outline:3px solid var(--jhl-primary, #007acc);outline-offset:-3px;background:var(--jhl-bg-hover, #2a2a2a)}.jhl-editor-v2__tab:focus-visible{outline:3px solid var(--jhl-primary, #007acc);outline-offset:2px}.jhl-editor-v2__sidebar-toggle:focus-visible{outline:3px solid var(--jhl-primary, #007acc);outline-offset:2px}[data-editor-v2=canvas]:focus-visible{outline:4px solid var(--jhl-primary, #007acc);outline-offset:-4px}.skip-link{position:absolute;top:-100px;left:50%;transform:translate(-50%);padding:12px 24px;background:var(--jhl-primary, #007acc);color:#fff;text-decoration:none;font-weight:600;border-radius:0 0 8px 8px;z-index:10000;transition:top .2s ease}.skip-link:focus{top:0}@media(prefers-contrast:high){.asset-browser,.property-panel,.tool-palette{border-width:2px}:focus-visible{outline-width:4px;outline-style:solid;outline-color:currentColor}button,.jhl-btn{border:2px solid currentColor}.jhl-btn--primary{background:#06c;color:#fff;border-color:#fff}.jhl-btn--secondary{background:transparent;color:currentColor;border-color:currentColor}.tool-button{border:2px solid currentColor}.tool-button.active{background:#06c;color:#fff;border-color:#fff}.asset-thumbnail{border:2px solid currentColor}.asset-thumbnail.selected{border-color:#06c;background:#0066cc4d}input,select,textarea{border:2px solid currentColor}.asset-category-header,.property-section-header{border-bottom:2px solid currentColor}::selection{background:#06c;color:#fff}::-webkit-scrollbar-thumb{background:currentColor}.jhl-editor-v2__canvas-info{border-top:2px solid currentColor}.jhl-editor-v2__toolbar{border-bottom:2px solid currentColor}}.high-contrast-mode{--jhl-primary: #0066cc;--jhl-border-primary: currentColor}.high-contrast-mode button,.high-contrast-mode .jhl-btn{border:2px solid currentColor}.high-contrast-mode :focus-visible{outline-width:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.asset-thumbnail:hover,.tool-button:hover{transform:none}.asset-thumbnail.loading .asset-thumbnail-image-container:after,.jhl-editor-v2__canvas-container.loading:after{animation:none}}.reduced-motion *,.reduced-motion *:before,.reduced-motion *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}[data-editor-v2=asset-browser]:focus-within{box-shadow:inset 0 0 0 2px var(--jhl-primary, #007acc)}[data-editor-v2=property-panel]:focus-within{box-shadow:inset 0 0 0 2px var(--jhl-primary, #007acc)}.jhl-editor-v2__toolbar:focus-within{box-shadow:inset 0 0 0 2px var(--jhl-primary, #007acc)}.tool-button[aria-pressed=true]:before{content:"Active: ";position:absolute;left:-9999px}[aria-expanded=true] .asset-category-chevron,[aria-expanded=true] .property-section-chevron{transform:rotate(0)}[aria-expanded=false] .asset-category-chevron,[aria-expanded=false] .property-section-chevron{transform:rotate(-90deg)}@media(pointer:coarse){button,.jhl-btn,.tool-button,.asset-thumbnail,.jhl-editor-v2__tab,.jhl-editor-v2__sidebar-toggle{min-width:44px;min-height:44px}.asset-category-header,.property-section-header,input,select{min-height:44px}}.low-contrast-warning{position:relative}.low-contrast-warning:after{content:"\26a0\fe0f";position:absolute;top:0;right:0;font-size:12px}@media print{a[href]:after{content:" (" attr(href) ")"}*{color:#000!important;background:#fff!important}button,.jhl-btn,.tool-palette,.jhl-editor-v2__tab-bar{display:none!important}}:root{--sl-color-primary-50: var(--jhl-primary-light);--sl-color-primary-600: var(--jhl-primary);--sl-color-primary-700: var(--jhl-primary-hover);--sl-color-success-600: var(--jhl-success);--sl-color-success-700: var(--jhl-success-hover);--sl-color-danger-600: var(--jhl-danger);--sl-color-danger-700: var(--jhl-danger-hover);--sl-color-warning-600: var(--jhl-warning);--sl-color-warning-700: var(--jhl-warning-hover);--sl-color-neutral-0: var(--jhl-bg-primary);--sl-color-neutral-50: var(--jhl-bg-secondary);--sl-color-neutral-100: var(--jhl-bg-tertiary);--sl-color-neutral-200: var(--jhl-border-primary);--sl-color-neutral-300: var(--jhl-border-secondary);--sl-color-neutral-600: var(--jhl-text-secondary);--sl-color-neutral-700: var(--jhl-text-primary);--sl-color-neutral-900: var(--jhl-text-primary);--sl-font-sans: var(--jhl-font-family);--sl-font-mono: var(--jhl-font-mono);--sl-border-radius-small: var(--jhl-radius-sm);--sl-border-radius-medium: var(--jhl-radius);--sl-border-radius-large: var(--jhl-radius-lg);--sl-border-radius-pill: 999px;--sl-shadow-x-small: var(--jhl-shadow-sm);--sl-shadow-small: var(--jhl-shadow);--sl-shadow-medium: var(--jhl-shadow-md);--sl-shadow-large: var(--jhl-shadow-lg);--sl-focus-ring-color: var(--jhl-border-focus);--sl-focus-ring-width: 3px;--sl-focus-ring-alpha: .2;--sl-input-background-color: var(--jhl-input-bg);--sl-input-border-color: var(--jhl-input-border);--sl-input-color: var(--jhl-input-text);--sl-input-placeholder-color: var(--jhl-input-placeholder)}sl-split-panel{--divider-width: 8px;--divider-hit-area: 16px;--min: 200px}sl-split-panel::part(divider){background-color:var(--jhl-border-primary);transition:background-color .2s ease}sl-split-panel::part(divider):hover{background-color:var(--jhl-primary)}sl-split-panel::part(divider):active{background-color:var(--jhl-primary-hover)}sl-split-panel::part(divider):after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:32px;background-color:var(--jhl-text-muted);border-radius:2px;opacity:.5;transition:opacity .2s ease}sl-split-panel::part(divider):hover:after{opacity:1;background-color:var(--jhl-white)}sl-split-panel[vertical]::part(divider):after{width:32px;height:4px}sl-button::part(base){font-family:var(--jhl-font-family);font-weight:500;transition:var(--jhl-transition)}sl-button[variant=primary]::part(base){background-color:var(--jhl-primary);border-color:var(--jhl-primary)}sl-button[variant=primary]::part(base):hover{background-color:var(--jhl-primary-hover);border-color:var(--jhl-primary-hover)}sl-button[variant=success]::part(base){background-color:var(--jhl-success);border-color:var(--jhl-success)}sl-button[variant=success]::part(base):hover{background-color:var(--jhl-success-hover);border-color:var(--jhl-success-hover)}sl-button[variant=danger]::part(base){background-color:var(--jhl-danger);border-color:var(--jhl-danger)}sl-button[variant=danger]::part(base):hover{background-color:var(--jhl-danger-hover);border-color:var(--jhl-danger-hover)}sl-button[variant=warning]::part(base){background-color:var(--jhl-warning);border-color:var(--jhl-warning)}sl-button[variant=warning]::part(base):hover{background-color:var(--jhl-warning-hover);border-color:var(--jhl-warning-hover)}sl-button[variant=neutral]::part(base){background-color:var(--jhl-bg-tertiary);border-color:var(--jhl-border-primary);color:var(--jhl-text-primary)}sl-button[variant=neutral]::part(base):hover{background-color:var(--jhl-bg-hover);border-color:var(--jhl-border-secondary)}sl-button[disabled]::part(base){opacity:.5;cursor:not-allowed}sl-button[size=small]::part(base){font-size:.75rem;padding:var(--jhl-space-1) var(--jhl-space-2)}sl-select::part(combobox){background-color:var(--jhl-input-bg);border-color:var(--jhl-input-border);color:var(--jhl-input-text);font-family:var(--jhl-font-family);transition:var(--jhl-transition)}sl-select::part(combobox):hover{border-color:var(--jhl-border-secondary)}sl-select::part(combobox):focus{border-color:var(--jhl-border-focus);box-shadow:0 0 0 3px #2563eb1a}sl-select::part(display-input){color:var(--jhl-input-text)}sl-select::part(listbox){background-color:var(--jhl-bg-elevated);border-color:var(--jhl-border-primary);box-shadow:var(--jhl-shadow-lg)}sl-select::part(popup){z-index:99999!important}sl-option::part(base){color:var(--jhl-text-primary);transition:var(--jhl-transition)}sl-option::part(base):hover{background-color:var(--jhl-bg-hover)}sl-option[aria-selected=true]::part(base){background-color:var(--jhl-primary-light);color:var(--jhl-primary)}sl-icon{color:currentColor}sl-tooltip::part(body){background-color:var(--jhl-gray-800);color:var(--jhl-white);font-family:var(--jhl-font-family);font-size:.75rem;padding:var(--jhl-space-2) var(--jhl-space-3);border-radius:var(--jhl-radius);box-shadow:var(--jhl-shadow-lg)}html[data-theme=dark]{--sl-color-neutral-0: var(--jhl-bg-primary);--sl-color-neutral-50: var(--jhl-bg-secondary);--sl-color-neutral-100: var(--jhl-bg-tertiary);--sl-color-neutral-200: var(--jhl-border-primary);--sl-color-neutral-300: var(--jhl-border-secondary);--sl-color-neutral-600: var(--jhl-text-tertiary);--sl-color-neutral-700: var(--jhl-text-secondary);--sl-color-neutral-900: var(--jhl-text-primary);--sl-input-background-color: var(--jhl-input-bg);--sl-input-border-color: var(--jhl-input-border);--sl-input-color: var(--jhl-input-text)}html[data-theme=dark] sl-split-panel::part(divider){background-color:var(--jhl-border-primary)}html[data-theme=dark] sl-split-panel::part(divider):hover{background-color:var(--jhl-primary)}html[data-theme=dark] sl-button[variant=neutral]::part(base){background-color:var(--jhl-bg-tertiary);border-color:var(--jhl-border-primary);color:var(--jhl-text-primary)}html[data-theme=dark] sl-button[variant=neutral]::part(base):hover{background-color:var(--jhl-bg-hover)}html[data-theme=dark] sl-select::part(combobox){background-color:var(--jhl-input-bg);border-color:var(--jhl-input-border);color:var(--jhl-input-text)}html[data-theme=dark] sl-select::part(listbox){background-color:var(--jhl-bg-elevated);border-color:var(--jhl-border-primary)}html[data-theme=dark] sl-option::part(base){color:var(--jhl-text-primary)}html[data-theme=dark] sl-option::part(base):hover{background-color:var(--jhl-bg-hover)}html[data-theme=dark] sl-option[aria-selected=true]::part(base){background-color:var(--jhl-primary-light);color:var(--jhl-primary)}html[data-theme=dark] sl-tooltip::part(body){background-color:var(--jhl-gray-700)}sl-button:focus-visible::part(base),sl-select:focus-visible::part(combobox){outline:2px solid var(--jhl-border-focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){sl-split-panel::part(divider),sl-button::part(base),sl-select::part(combobox),sl-option::part(base){transition:none}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.jhl-mode--click{overflow:hidden}.jhl-mode--click:not([hidden]){display:flex;flex-direction:column}.jhl-click-layout{display:flex;flex-direction:column;position:relative;flex:1;width:100%;overflow:hidden;background:var(--jhl-bg-secondary);min-height:0;padding-left:10px}.jhl-click__runtime-readiness{position:absolute;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:12px;padding:24px;color:#eef2ff;background:radial-gradient(circle at center,#312e81c7,#0f172aeb);backdrop-filter:blur(3px);pointer-events:auto}.jhl-click__runtime-readiness[hidden]{display:none}.jhl-click__runtime-readiness[data-state=failed]{color:#fee2e2;background:#450a0af0}.jhl-click__runtime-copy{display:grid;gap:3px}.jhl-click__runtime-copy strong{font-size:.95rem;letter-spacing:.01em}.jhl-click__runtime-copy span{color:#eef2ffc7;font-size:.78rem}.jhl-click__runtime-spinner{width:22px;height:22px;border:3px solid rgba(199,210,254,.3);border-top-color:#a5b4fc;border-radius:50%;animation:jhl-click-runtime-spin .8s linear infinite}@keyframes jhl-click-runtime-spin{to{transform:rotate(360deg)}}.jhl-click-layout:not(:empty){opacity:1;visibility:visible}.jhl-click__split-panel{flex:1;display:grid;grid-template-columns:50% 8px 1fr;min-height:0;overflow:hidden}.jhl-click-layout--vertical .jhl-click__split-panel{grid-template-columns:1fr;grid-template-rows:60% 8px 1fr}.jhl-click__resizer{background:var(--jhl-border-primary);cursor:col-resize;transition:background .2s;position:relative}.jhl-click-layout--vertical .jhl-click__resizer{cursor:row-resize;width:100%;height:8px}.jhl-click__resizer:hover{background:var(--jhl-border-focus)}.jhl-click__map-panel{display:flex;flex-direction:column;height:100%;min-height:300px;background:var(--jhl-bg-primary);overflow:hidden}.jhl-click-layout--vertical .jhl-click__map-panel{width:100%;min-height:250px}.jhl-click__execution-controls{display:flex;align-items:center;gap:var(--jhl-space-2);flex:0 0 auto}.jhl-click__canvas-container{flex:1;position:relative;overflow:hidden;background:var(--jhl-bg-tertiary)}.jhl-click__canvas-container canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block}.jhl-click__canvas-overlay{position:absolute;z-index:20;pointer-events:auto}.jhl-click__canvas-overlay--top-left{top:12px;left:12px}.jhl-click__canvas-overlay--top-left .jhl-click__execution-controls{display:flex;align-items:center;gap:8px;background:#1e1e28e6;padding:8px 12px;border-radius:8px;box-shadow:0 2px 8px #0000004d}.jhl-click__canvas-overlay--top-right{top:12px;right:12px}.jhl-click__canvas-overlay--top-right .jhl-click__zoom-controls{display:flex;align-items:center;gap:4px;background:#1e1e28e6;padding:6px 8px;border-radius:6px;box-shadow:0 2px 8px #0000004d}.jhl-click__canvas-overlay--bottom-center{bottom:12px;left:50%;transform:translate(-50%)}.jhl-click__canvas-overlay--bottom-center .jhl-click__mission-select{min-width:200px}.jhl-click__canvas-overlay--bottom-center .jhl-click__select{background:#1e1e28e6;border:1px solid rgba(255,255,255,.2);color:#fff;font-weight:500;padding:8px 32px 8px 12px;border-radius:6px;box-shadow:0 2px 8px #0000004d}.jhl-click__canvas-overlay--top-center{bottom:60px;left:50%;transform:translate(-50%);z-index:100}.jhl-click__canvas-overlay--top-center [data-click=score-display-container]{display:flex;justify-content:center}.jhl-click__canvas-overlay--bottom-center .jhl-click__select:hover{border-color:#fff6}.jhl-click__canvas-overlay--bottom-center .jhl-click__select:focus{outline:2px solid var(--jhl-border-focus);outline-offset:2px}.jhl-click__canvas-overlay--bottom-center .jhl-click__select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23fff' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.jhl-click__blockly-panel{display:flex;flex-direction:column;height:100%;min-height:300px;min-width:300px;background:var(--jhl-bg-primary);overflow:hidden}.jhl-click-layout--vertical .jhl-click__blockly-panel{min-height:200px;min-width:0;width:100%}.jhl-click__palette-container{flex-shrink:0;border-bottom:1px solid var(--jhl-border-primary);background:var(--jhl-bg-secondary);max-height:200px;overflow-y:auto}.jhl-click__blockly-workspace{flex:1;position:relative;overflow:hidden;min-height:400px;background:#fff}.jhl-click__blockly-workspace>div:not(.jhc-block-palette){position:absolute!important;top:0;left:0;width:100%!important;height:100%!important}.jhl-click__blockly-workspace .injectionDiv{position:absolute!important;top:0;left:0;width:100%!important;height:100%!important}.jhl-click__blockly-workspace .blocklyFlyout{position:absolute!important}.jhl-click__blockly-workspace .blocklyFlyout{transition:none!important}html[data-theme=dark] .jhl-click-layout{background:var(--jhl-bg-secondary)}html[data-theme=dark] .jhl-click__toolbar{background:var(--jhl-bg-primary);border-color:var(--jhl-border-primary)}html[data-theme=dark] .jhl-click__map-panel,html[data-theme=dark] .jhl-click__blockly-panel{background:var(--jhl-bg-primary)}html[data-theme=dark] .jhl-click__map-header{background:var(--jhl-bg-tertiary);border-color:var(--jhl-border-primary)}html[data-theme=dark] .jhl-click__canvas-container{background:var(--jhl-bg-tertiary)}@media(max-width:768px){.jhl-click__toolbar{flex-wrap:wrap;padding:var(--jhl-space-2)}.jhl-click__toolbar-left,.jhl-click__toolbar-center,.jhl-click__toolbar-right{flex:1 1 100%;justify-content:center}.jhl-click__mission-select{min-width:100%}.jhl-click__split-panel{grid-template-columns:1fr!important;grid-template-rows:50% 8px 1fr!important}.jhl-click__resizer{cursor:row-resize!important}sl-split-panel[data-click=split-panel]{--min: 150px}}.jhl-click__toolbar sl-button:focus-visible,.jhl-click__zoom-controls sl-button:focus-visible{outline:2px solid var(--jhl-border-focus);outline-offset:2px}.jhl-click__resizer:focus{outline:2px solid var(--jhl-border-focus);outline-offset:-2px;background:var(--jhl-border-focus)}.jhl-click__resizer:focus-visible{outline:2px solid var(--jhl-border-focus);outline-offset:-2px;background:var(--jhl-border-focus)}@media(prefers-reduced-motion:reduce){.jhl-click__canvas-container canvas{transition:none}}.jhl-click__canvas-container--loading{display:flex;align-items:center;justify-content:center}.jhl-click__canvas-container--loading:after{content:"Loading...";font-size:.875rem;color:var(--jhl-text-muted)}.jhl-click__blockly-workspace--loading{display:flex;align-items:center;justify-content:center}.jhl-click__blockly-workspace--loading:after{content:"Loading Blockly...";font-size:.875rem;color:var(--jhl-text-muted)}.jhl-click__gear-menu{position:relative;display:inline-block}.jhl-click__gear-btn{font-size:1rem;padding:var(--jhl-space-2) var(--jhl-space-2);min-width:36px;border-radius:50%;transition:transform .2s ease}.jhl-click__gear-btn:hover{transform:rotate(90deg)}.jhl-click__gear-btn[aria-expanded=true]{background:var(--jhl-bg-secondary);border-color:var(--jhl-border-focus)}.jhl-click__gear-dropdown{position:absolute;top:100%;right:0;margin-top:var(--jhl-space-1);background:var(--jhl-bg-primary);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius-md);box-shadow:0 4px 12px #00000026;z-index:1000;min-width:140px;overflow:hidden}.jhl-click__gear-dropdown[hidden]{display:none}.jhl-click__gear-option{display:block;width:100%;padding:var(--jhl-space-2) var(--jhl-space-3);font-size:.875rem;font-weight:500;font-family:inherit;color:var(--jhl-text-primary);background:transparent;border:none;text-align:left;cursor:pointer;transition:background .15s;white-space:nowrap}.jhl-click__gear-option:hover{background:var(--jhl-bg-secondary)}.jhl-click__gear-option:focus{outline:2px solid var(--jhl-border-focus);outline-offset:-2px;background:var(--jhl-bg-secondary)}.jhl-click__gear-option:not(:last-child){border-bottom:1px solid var(--jhl-border-primary)}html[data-theme=dark] .jhl-click__gear-dropdown{background:var(--jhl-bg-primary);border-color:var(--jhl-border-primary);box-shadow:0 4px 12px #0000004d}html[data-theme=dark] .jhl-click__gear-option{color:var(--jhl-text-primary)}html[data-theme=dark] .jhl-click__gear-option:hover,html[data-theme=dark] .jhl-click__gear-option:focus{background:var(--jhl-bg-secondary)}.jhl-click__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--jhl-space-1);padding:var(--jhl-space-2) var(--jhl-space-3);font-size:.875rem;font-weight:500;font-family:inherit;line-height:1.4;color:var(--jhl-text-primary);background:var(--jhl-bg-tertiary);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius-md);cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;white-space:nowrap}.jhl-click__btn:hover:not(:disabled){background:var(--jhl-bg-secondary);border-color:var(--jhl-border-focus)}.jhl-click__btn:focus-visible{outline:2px solid var(--jhl-border-focus);outline-offset:2px}.jhl-click__btn:disabled{opacity:.5;cursor:not-allowed}.jhl-click__btn--success{color:#fff;background:#22c55e;border-color:#16a34a}.jhl-click__btn--success:hover:not(:disabled){background:#16a34a;border-color:#15803d}.jhl-click__btn--danger{color:#fff;background:#ef4444;border-color:#dc2626}.jhl-click__btn--danger:hover:not(:disabled){background:#dc2626;border-color:#b91c1c}.jhl-click__btn--small{padding:var(--jhl-space-1) var(--jhl-space-2);font-size:.75rem;min-width:28px}.jhl-click__select{display:block;width:100%;padding:var(--jhl-space-2) var(--jhl-space-3);padding-right:var(--jhl-space-6);font-size:.875rem;font-family:inherit;line-height:1.4;color:var(--jhl-text-primary);background:var(--jhl-bg-tertiary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius-md);cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}.jhl-click__select:hover{border-color:var(--jhl-border-focus)}.jhl-click__select:focus{outline:2px solid var(--jhl-border-focus);outline-offset:2px}html[data-theme=dark] .jhl-click__select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23aaa' d='M6 8L1 3h10z'/%3E%3C/svg%3E")}.jhl-click__select--small{padding:var(--jhl-space-1) var(--jhl-space-2);font-size:.75rem;min-width:120px}.jhl-click__resizer--active{background:var(--jhl-border-focus)!important}.jhl-click__layout-toggle-menu{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:4px;background:var(--jhl-bg-primary);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius-md);box-shadow:0 2px 8px #00000026;padding:6px;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:100}.jhl-click__resizer:hover .jhl-click__layout-toggle-menu,.jhl-click__layout-toggle-menu:hover{opacity:1;visibility:visible}.jhl-click__layout-toggle-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:6px;background:var(--jhl-bg-tertiary);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius-sm);cursor:pointer;transition:all .15s ease;color:var(--jhl-text-secondary)}.jhl-click__layout-toggle-btn:hover{background:var(--jhl-bg-secondary);border-color:var(--jhl-border-focus);color:var(--jhl-text-primary);transform:scale(1.05)}.jhl-click__layout-toggle-btn:focus{outline:2px solid var(--jhl-border-focus);outline-offset:2px}.jhl-click__layout-toggle-btn:active{transform:scale(.95)}.jhl-click__layout-toggle-btn--active{background:var(--jhl-border-focus);border-color:var(--jhl-border-focus);color:#fff}.jhl-click__layout-toggle-btn--active:hover{background:var(--jhl-border-focus);border-color:var(--jhl-border-focus);color:#fff;transform:scale(1.02)}.jhl-click-layout--vertical .jhl-click__layout-toggle-menu{flex-direction:row;gap:4px}html[data-theme=dark] .jhl-click__layout-toggle-menu{background:var(--jhl-bg-primary);border-color:var(--jhl-border-primary);box-shadow:0 2px 8px #0000004d}html[data-theme=dark] .jhl-click__layout-toggle-btn{background:var(--jhl-bg-tertiary);border-color:var(--jhl-border-primary);color:var(--jhl-text-secondary)}html[data-theme=dark] .jhl-click__layout-toggle-btn:hover{background:var(--jhl-bg-secondary);border-color:var(--jhl-border-focus);color:var(--jhl-text-primary)}.jhl-click__countdown-timer{display:flex;align-items:center;justify-content:center;padding:4px 10px;background:linear-gradient(180deg,#1a1a2e,#0f0f1a);border:1px solid #2d2d44;border-radius:4px;box-shadow:inset 0 1px #ffffff0d,0 2px 4px #0003;min-width:70px}.jhl-click__countdown-timer[hidden]{display:none}.jhl-click__countdown-timer .countdown-display{font-family:Courier New,Consolas,Monaco,monospace;font-size:1rem;font-weight:700;letter-spacing:1px;color:#0f8;text-shadow:0 0 8px rgba(0,255,136,.8),0 0 16px rgba(0,255,136,.4);line-height:1}.jhl-click__countdown-timer--warning .countdown-display{color:#fa0;text-shadow:0 0 10px rgba(255,170,0,.8),0 0 20px rgba(255,170,0,.4),0 0 30px rgba(255,170,0,.2)}.jhl-click__countdown-timer--critical .countdown-display{color:#f36;text-shadow:0 0 10px rgba(255,51,102,.8),0 0 20px rgba(255,51,102,.4),0 0 30px rgba(255,51,102,.2);animation:timerPulse .5s ease-in-out infinite}.jhl-click__countdown-timer--expired .countdown-display{color:#f04;text-shadow:0 0 15px rgba(255,0,68,1),0 0 30px rgba(255,0,68,.6);animation:timerBlink .3s ease-in-out infinite}.jhl-click__countdown-timer--success{border-color:#0f8;box-shadow:inset 0 1px #ffffff0d,0 2px 8px #00ff884d,0 0 15px #0f83}.jhl-click__countdown-timer--success .countdown-display{color:#0f8;text-shadow:0 0 15px rgba(0,255,136,1),0 0 30px rgba(0,255,136,.6);animation:timerSuccess 1s ease-in-out infinite}@keyframes timerPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}@keyframes timerBlink{0%,to{opacity:1}50%{opacity:.4}}@keyframes timerSuccess{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.02)}}html[data-theme=dark] .jhl-click__countdown-timer{background:linear-gradient(180deg,#0a0a14,#050508);border-color:#1a1a2e}html[data-theme=light] .jhl-click__countdown-timer{background:linear-gradient(180deg,#2a2a3e,#1a1a2e);border-color:#3d3d54}.jhl-click__modal{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:none;align-items:center;justify-content:center}.jhl-click__modal[aria-hidden=false]{display:flex}.jhl-click__modal-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;backdrop-filter:blur(2px)}.jhl-click__modal-content{position:relative;background:var(--jhl-color-surface);border-radius:12px;box-shadow:0 10px 25px #0003;max-width:90vw;max-height:90vh;width:700px;display:flex;flex-direction:column;overflow:hidden;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.jhl-click__modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--jhl-color-border);background:var(--jhl-color-surface-variant)}.jhl-click__modal-header h2{margin:0;font-size:20px;font-weight:600;color:var(--jhl-color-text-primary)}.jhl-click__modal-close{background:none;border:none;font-size:24px;color:var(--jhl-color-text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.jhl-click__modal-close:hover{background:var(--jhl-color-surface);color:var(--jhl-color-text-primary)}.jhl-click__modal-close:focus{outline:2px solid var(--jhl-color-primary);outline-offset:2px}.jhl-click__modal-body{flex:1;overflow-y:auto;padding:0}@media(max-width:768px){.jhl-click__modal-content{width:95vw;height:95vh;max-width:none;max-height:none;border-radius:8px}.jhl-click__modal-header{padding:16px 20px}.jhl-click__modal-header h2{font-size:18px}}.block-palette{display:flex;flex-direction:column;height:100%;background:var(--jhl-bg-primary);border-bottom:1px solid var(--jhl-border-primary)}.block-palette__tabs{display:flex;gap:2px;padding:var(--jhl-space-2);background:var(--jhl-bg-tertiary);border-bottom:1px solid var(--jhl-border-primary);flex-shrink:0;overflow-x:auto;scrollbar-width:thin}.block-palette__tab{display:flex;align-items:center;gap:var(--jhl-space-1);padding:var(--jhl-space-2) var(--jhl-space-3);font-size:.6875rem;font-weight:500;font-family:inherit;color:var(--jhl-text-secondary);background:transparent;border:1px solid transparent;border-radius:var(--jhl-radius-md);cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap;min-height:36px}.block-palette__tab:hover{background:var(--jhl-bg-hover, #3d4a5c);color:var(--jhl-text-primary);border-color:var(--jhl-border-secondary);transform:translateY(-1px)}.block-palette__tab--active{background:var(--jhl-primary, #3b82f6);color:#fff;border-color:var(--jhl-primary, #3b82f6);box-shadow:0 2px 8px #3b82f666;font-weight:600}.block-palette__tab:focus-visible{outline:2px solid var(--jhl-border-focus);outline-offset:2px}.block-palette__tab-icon,.block-palette__tab-name{display:none}@media(min-width:600px){.block-palette__tab-name{display:inline}}.block-palette__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:var(--jhl-space-2);padding:var(--jhl-space-2);overflow-y:auto;flex:1;min-height:80px;max-height:200px}@media(min-width:500px){.block-palette__grid{grid-template-columns:repeat(auto-fill,minmax(99px,1fr))}}@media(min-width:700px){.block-palette__grid{grid-template-columns:repeat(auto-fill,minmax(108px,1fr))}}.block-palette__button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--jhl-space-1);padding:var(--jhl-space-2);min-height:63px;min-width:63px;font-family:inherit;font-size:.75rem;color:var(--jhl-text-primary);background:var(--jhl-bg-tertiary);border:2px solid transparent;border-radius:var(--jhl-radius-md);cursor:grab;transition:transform .1s,box-shadow .15s,border-color .15s,background .15s;position:relative;overflow:hidden}.block-palette__button:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:hsl(var(--block-hue, 160),60%,45%)}.block-palette__button:hover:not(:disabled){background:var(--jhl-bg-secondary);border-color:hsl(var(--block-hue, 160),60%,45%);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.block-palette__button:active:not(:disabled){cursor:grabbing;transform:translateY(0)}.block-palette__button:focus-visible{outline:2px solid var(--jhl-border-focus);outline-offset:2px}.block-palette__button-content{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%}.block-palette__preview{display:flex;align-items:center;justify-content:center;width:100%;max-height:36px;overflow:hidden}.block-palette__preview svg{max-width:100%;max-height:36px;transform:scale(.54);transform-origin:center}.block-palette__icon{font-size:1.25rem;line-height:1}.block-palette__name{font-size:.625rem;font-weight:500;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.block-palette__defaults{font-size:.625rem;color:var(--jhl-text-muted);font-family:var(--jhl-font-mono)}.block-palette__button--disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.5)}.block-palette__button--disabled:hover{transform:none;box-shadow:none;border-color:transparent;background:var(--jhl-bg-tertiary)}.block-palette__button--disabled:after{content:"\1f512";position:absolute;top:var(--jhl-space-1);right:var(--jhl-space-1);font-size:.625rem}.block-palette__invalid-marker{position:absolute;top:-4px;right:-4px;width:16px;height:16px;background:#ef4444;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;font-weight:700;box-shadow:0 1px 3px #0000004d}.block-palette__drag-ghost{position:fixed;pointer-events:none;z-index:10000;opacity:.85;transform:translate(-50%,-50%);background:#fff;border-radius:var(--jhl-radius-md);box-shadow:0 4px 16px #00000040;padding:var(--jhl-space-2);min-width:80px;border:2px solid transparent;transition:border-color .1s,box-shadow .1s}.block-palette__drag-ghost--valid{border-color:#22c55e;box-shadow:0 4px 16px #22c55e4d}.block-palette__drag-ghost--invalid{border-color:#ef4444;box-shadow:0 4px 16px #ef44444d}.block-palette__drag-ghost-content{display:flex;flex-direction:column;align-items:center;gap:var(--jhl-space-1)}.block-palette__drag-ghost-icon{font-size:1.5rem}.block-palette__drag-ghost-name{font-size:.75rem;font-weight:500;color:var(--jhl-text-primary)}.block-palette__drag-ghost-svg{display:flex;align-items:center;justify-content:center}.block-palette__drag-ghost-preview{max-width:120px;max-height:60px}.block-palette__drop-zone--active{outline:2px dashed #22c55e;outline-offset:-2px;background:#22c55e0d}.block-palette--loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100px;gap:var(--jhl-space-3)}.block-palette__loading-spinner{width:24px;height:24px;border:3px solid var(--jhl-border-primary);border-top-color:var(--jhl-primary);border-radius:50%;animation:block-palette-spin .8s linear infinite}@keyframes block-palette-spin{to{transform:rotate(360deg)}}.block-palette__loading-text{font-size:.875rem;color:var(--jhl-text-muted)}.block-palette--error{display:flex;align-items:center;justify-content:center;min-height:100px}.block-palette__error-message{display:flex;flex-direction:column;align-items:center;gap:var(--jhl-space-2);text-align:center;padding:var(--jhl-space-4)}.block-palette__error-icon{font-size:1.5rem}.block-palette__error-text{font-size:.875rem;color:#ef4444;max-width:200px}.block-palette__error-retry{margin-top:var(--jhl-space-2);padding:var(--jhl-space-2) var(--jhl-space-4);font-size:.8125rem;font-weight:500;font-family:inherit;color:var(--jhl-text-primary);background:var(--jhl-bg-tertiary);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius-md);cursor:pointer;transition:background .15s,border-color .15s}.block-palette__error-retry:hover{background:var(--jhl-bg-secondary);border-color:var(--jhl-border-secondary)}.block-palette__error-retry:focus-visible{outline:2px solid var(--jhl-border-focus);outline-offset:2px}html[data-theme=dark] .block-palette{background:var(--jhl-bg-primary)}html[data-theme=dark] .block-palette__tabs{background:var(--jhl-bg-tertiary);border-bottom-color:var(--jhl-border-primary)}html[data-theme=dark] .block-palette__tab{color:var(--jhl-text-secondary)}html[data-theme=dark] .block-palette__tab:hover{background:var(--jhl-bg-hover, #3d4a5c);color:var(--jhl-text-primary);border-color:var(--jhl-border-secondary);transform:translateY(-1px)}html[data-theme=dark] .block-palette__tab--active{background:var(--jhl-primary, #3b82f6);color:#fff;border-color:var(--jhl-primary, #3b82f6);box-shadow:0 2px 8px #3b82f666}html[data-theme=dark] .block-palette__button{background:var(--jhl-bg-tertiary);color:var(--jhl-text-primary)}html[data-theme=dark] .block-palette__button:hover:not(:disabled){background:var(--jhl-bg-secondary)}html[data-theme=dark] .block-palette__button:before{opacity:.9}html[data-theme=dark] .block-palette__name{color:var(--jhl-text-primary)}html[data-theme=dark] .block-palette__defaults{color:var(--jhl-text-tertiary)}html[data-theme=dark] .block-palette__button--disabled{opacity:.4}html[data-theme=dark] .block-palette__invalid-marker{background:#f87171;box-shadow:0 1px 3px #00000080}html[data-theme=dark] .block-palette__drag-ghost{background:var(--jhl-bg-secondary);color:var(--jhl-text-primary);box-shadow:0 4px 16px #00000080}html[data-theme=dark] .block-palette__drag-ghost--valid{border-color:#4ade80;box-shadow:0 4px 16px #4ade804d}html[data-theme=dark] .block-palette__drag-ghost--invalid{border-color:#f87171;box-shadow:0 4px 16px #f871714d}html[data-theme=dark] .block-palette__drop-zone--active{outline-color:#4ade80;background:#4ade801a}html[data-theme=dark] .block-palette--loading:after{color:var(--jhl-text-muted)}html[data-theme=dark] .block-palette--error{color:#f87171}html[data-theme=dark] .block-palette__error-message{color:var(--jhl-text-primary)}@media(pointer:coarse){.block-palette__tab{min-height:44px;min-width:44px}.block-palette__button{min-height:54px;min-width:54px}}@media(prefers-contrast:high){.block-palette__button,.block-palette__tab--active{border:2px solid var(--jhl-text-primary)}}@media(prefers-reduced-motion:reduce){.block-palette__button,.block-palette__tab,.block-palette__drag-ghost{transition:none}}.jhl-mode--campaigns{display:flex;flex-direction:column;height:100%;overflow:hidden}.jhl-campaign-editor-container{flex:1;display:flex;flex-direction:column;height:100%;min-height:0}.campaign-editor{display:flex;flex-direction:column;height:100%;flex:1;min-height:0;background:var(--jhl-bg-secondary, #1a1a2e);color:var(--jhl-text-primary, #e0e0e0)}.campaign-editor__toolbar{display:flex;gap:.5rem;padding:.75rem 1rem;background:var(--jhl-bg-tertiary, #16213e);border-bottom:1px solid var(--jhl-border, #2a2a4a);align-items:center}.campaign-editor__toolbar-separator{width:1px;height:24px;background:var(--jhl-border, #2a2a4a);margin:0 .5rem}.campaign-editor__mode-indicator{color:var(--jhl-primary, #4a9eff);font-size:.875rem;font-weight:500;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.campaign-editor__status{margin-left:auto;color:var(--jhl-warning, #f0ad4e);font-size:.875rem}.campaign-editor__main{display:flex;flex:1;overflow:hidden}.campaign-editor__sidebar{width:300px;background:var(--jhl-bg-tertiary, #16213e);border-right:1px solid var(--jhl-border, #2a2a4a);overflow-y:auto;padding:1rem}.campaign-editor__element-palette{width:250px;background:var(--jhl-bg-tertiary, #16213e);border-left:1px solid var(--jhl-border, #2a2a4a);overflow-y:auto;padding:1rem}.campaign-editor__section{margin-bottom:1.5rem}.campaign-editor__section--properties{background:#4a9eff0d;border-radius:8px;padding:1rem;border:1px solid rgba(74,158,255,.2)}.campaign-editor__section h3{font-size:.875rem;font-weight:600;margin-bottom:.75rem;color:var(--jhl-text-secondary, #a0a0a0);text-transform:uppercase;letter-spacing:.05em}.campaign-editor__section label{display:block;margin-bottom:.75rem;font-size:.875rem}.campaign-editor__section input[type=text],.campaign-editor__section input[type=number],.campaign-editor__section select{width:100%;padding:.5rem;margin-top:.25rem;background:var(--jhl-bg-primary, #0f0f23);border:1px solid var(--jhl-border, #2a2a4a);border-radius:4px;color:var(--jhl-text-primary, #e0e0e0);font-size:.875rem;transition:border-color .15s}.campaign-editor__section input:focus,.campaign-editor__section select:focus{outline:none;border-color:var(--jhl-primary, #4a9eff)}.campaign-editor__checkbox-label{display:flex!important;align-items:center;gap:.5rem}.campaign-editor__checkbox-label input[type=checkbox]{width:16px;height:16px;margin:0}.campaign-editor__button-row{display:flex;gap:.5rem;margin-top:1rem}.campaign-editor__hint-text{font-size:.75rem;color:var(--jhl-text-secondary, #a0a0a0);margin-top:.5rem}.campaign-editor__transition-preview{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--jhl-bg-primary, #0f0f23);border-radius:4px;margin-bottom:1rem;font-family:monospace;font-size:.875rem}.campaign-editor__transition-from,.campaign-editor__transition-to{padding:.25rem .5rem;background:var(--jhl-bg-tertiary, #16213e);border-radius:4px}.campaign-editor__transition-arrow{color:var(--jhl-text-secondary, #a0a0a0);font-size:1.25rem}.campaign-editor__exit-select{border-width:2px!important}.campaign-editor__graph{flex:1;position:relative;overflow:hidden;background:linear-gradient(var(--jhl-border, #2a2a4a) 1px,transparent 1px),linear-gradient(90deg,var(--jhl-border, #2a2a4a) 1px,transparent 1px);background-size:20px 20px;background-color:var(--jhl-bg-primary, #0f0f23)}.campaign-editor__element-palette-content h3{font-size:.875rem;font-weight:600;margin-bottom:1rem;color:var(--jhl-text-secondary, #a0a0a0);text-transform:uppercase;letter-spacing:.05em}.element-palette__grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:1.5rem}.element-palette__item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--jhl-bg-primary, #0f0f23);border:2px solid var(--jhl-border, #2a2a4a);border-radius:8px;cursor:grab;transition:all .15s;user-select:none}.element-palette__item:hover:not(.element-palette__item--disabled){border-color:var(--jhl-primary, #4a9eff);transform:translateY(-1px);box-shadow:0 4px 12px #0003}.element-palette__item:active:not(.element-palette__item--disabled){cursor:grabbing;transform:translateY(0)}.element-palette__item--disabled{opacity:.5;cursor:not-allowed;border-color:var(--jhl-border, #2a2a4a)}.element-palette__item--dragging{opacity:.7;transform:scale(.95);border-color:var(--jhl-primary, #4a9eff);box-shadow:0 4px 12px #4a9eff4d}.element-preview{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:1.25rem;flex-shrink:0}.element-preview--entrypoint{background:#48bb78;color:#fff}.element-preview--exitpoint{background:#f56565;color:#fff}.element-preview--checkpoint{background:#9f7aea;color:#fff}.element-preview--gate{background:#f0ad4e;color:#fff}.element-preview--note{background:#4a9eff;color:#fff}.element-palette__label{font-size:.875rem;font-weight:500;color:var(--jhl-text-primary, #e0e0e0)}.element-palette__hint{padding:1rem;background:#4a9eff0d;border-radius:8px;border:1px solid rgba(74,158,255,.2)}.element-palette__hint p{font-size:.75rem;color:var(--jhl-text-secondary, #a0a0a0);margin:0 0 .5rem;line-height:1.4}.element-palette__hint p:last-child{margin-bottom:0}.campaign-editor__svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.campaign-editor__nodes,.campaign-editor__control-elements{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.campaign-editor__empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--jhl-text-secondary, #a0a0a0);font-size:1.125rem}.campaign-editor__hint{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);padding:.5rem 1rem;background:#000c;border-radius:4px;font-size:.75rem;color:var(--jhl-text-secondary, #a0a0a0);white-space:nowrap}.campaign-node{position:absolute;width:180px;background:var(--jhl-bg-tertiary, #16213e);border:2px solid var(--jhl-border, #2a2a4a);border-radius:8px;cursor:move;user-select:none;transition:all .2s cubic-bezier(.4,0,.2,1);pointer-events:auto;transform-origin:center;will-change:transform,box-shadow}.campaign-node:hover{border-color:var(--jhl-primary, #4a9eff);transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #0000004d}.campaign-node--selected{border-color:var(--jhl-primary, #4a9eff);box-shadow:0 0 0 3px #4a9eff4d,0 8px 24px #0006;transform:scale(1.05);animation:nodeSelectedPulse 2s ease-in-out infinite}@keyframes nodeSelectedPulse{0%,to{box-shadow:0 0 0 3px #4a9eff4d,0 8px 24px #0006}50%{box-shadow:0 0 0 5px #4a9eff33,0 12px 32px #00000080}}.campaign-node--entry{border-color:var(--jhl-success, #48bb78);box-shadow:0 0 15px #48bb7833}.campaign-node--entry.campaign-node--selected{border-color:var(--jhl-success, #48bb78);box-shadow:0 0 0 3px #48bb784d,0 8px 24px #0006;animation:entryNodePulse 2s ease-in-out infinite}@keyframes entryNodePulse{0%,to{box-shadow:0 0 0 3px #48bb784d,0 8px 24px #0006}50%{box-shadow:0 0 0 5px #48bb7833,0 12px 32px #00000080}}.campaign-node--connecting-source{border-color:var(--jhl-primary, #4a9eff);box-shadow:0 0 0 3px #4a9eff80;animation:connectingSourceNodePulse 1s ease-in-out infinite}@keyframes connectingSourceNodePulse{0%,to{box-shadow:0 0 0 3px #4a9eff80,0 0 20px #4a9eff4d;transform:scale(1)}50%{box-shadow:0 0 0 6px #4a9eff4d,0 0 30px #4a9eff80;transform:scale(1.02)}}.campaign-node--connecting-target{cursor:pointer;animation:connectingTargetNodePulse 1s ease-in-out infinite}.campaign-node--connecting-target:hover{border-color:var(--jhl-success, #48bb78);box-shadow:0 0 0 3px #48bb7880,0 0 25px #48bb7866}@keyframes connectingTargetNodePulse{0%,to{box-shadow:0 0 15px #ffc1074d}50%{box-shadow:0 0 25px #ffc10780}}@keyframes pulse-border{0%,to{box-shadow:0 0 0 3px #4a9eff80}50%{box-shadow:0 0 0 6px #4a9eff33}}.campaign-node__header{padding:.75rem;font-weight:600;font-size:.875rem;border-bottom:1px solid var(--jhl-border, #2a2a4a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.campaign-node__type{padding:.5rem .75rem;font-size:.75rem;color:var(--jhl-text-secondary, #a0a0a0);text-transform:capitalize}.campaign-node__badge{position:absolute;top:-8px;right:-8px;padding:.125rem .5rem;background:var(--jhl-success, #48bb78);color:#fff;font-size:.625rem;font-weight:600;border-radius:4px;text-transform:uppercase}.campaign-node__badge--entry{background:var(--jhl-success, #48bb78);right:-8px}.campaign-node__badge--exit{background:var(--jhl-danger, #f56565);right:-8px;top:-8px}.campaign-node__badge--entry+.campaign-node__badge--exit{top:14px}.campaign-node--exit{border-color:var(--jhl-danger, #f56565)}.campaign-node--exit.campaign-node--selected{border-color:var(--jhl-danger, #f56565);box-shadow:0 0 0 3px #f565654d,0 4px 12px #0000004d}.campaign-node--entry.campaign-node--exit{border-color:var(--jhl-warning, #f0ad4e)}.campaign-node--entry.campaign-node--exit.campaign-node--selected{border-color:var(--jhl-warning, #f0ad4e);box-shadow:0 0 0 3px #f0ad4e4d,0 4px 12px #0000004d}.campaign-node__connector{position:absolute;width:14px;height:14px;background:var(--jhl-bg-primary, #0f0f23);border:2px solid var(--jhl-border, #2a2a4a);border-radius:50%;cursor:crosshair;transition:all .15s}.campaign-node__connector--out{right:-7px;top:50%;transform:translateY(-50%)}.campaign-node__connector:hover{background:var(--jhl-primary, #4a9eff);border-color:var(--jhl-primary, #4a9eff);transform:translateY(-50%) scale(1.3)}.campaign-transition--hitarea{stroke:transparent;stroke-width:20;fill:none;pointer-events:stroke;cursor:pointer}.campaign-transition--line{stroke-width:2;fill:none;pointer-events:none;transition:all .2s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.campaign-transition--selected{stroke-width:4!important;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));animation:selectedTransitionPulse 2s ease-in-out infinite}@keyframes selectedTransitionPulse{0%,to{stroke-width:4;opacity:1}50%{stroke-width:5;opacity:.8}}.campaign-transition-group:hover .campaign-transition--line{stroke-width:3;filter:drop-shadow(0 3px 6px rgba(0,0,0,.25));animation:transitionHover .3s ease-in-out}@keyframes transitionHover{0%{stroke-width:2}to{stroke-width:3}}.campaign-transition__label{font-size:11px;font-weight:500;pointer-events:none;text-anchor:middle;dominant-baseline:middle;text-shadow:0 1px 2px rgba(0,0,0,.8);transition:all .2s ease;opacity:.9}.campaign-transition__label--selected{font-size:12px;font-weight:600;opacity:1;animation:labelPulse 2s ease-in-out infinite}@keyframes labelPulse{0%,to{opacity:1}50%{opacity:.7}}.campaign-transition-group:hover .campaign-transition__label{font-size:12px;opacity:1}.campaign-transition--connecting{stroke:var(--jhl-primary, #4a9eff);stroke-width:2;stroke-dasharray:8 4;fill:none;pointer-events:none;animation:connectingLineDash .8s linear infinite;filter:drop-shadow(0 2px 4px rgba(74,158,255,.3))}@keyframes connectingLineDash{to{stroke-dashoffset:-12}}.campaign-transition--mission_to_control .campaign-transition--line{stroke-width:2.5;stroke-dasharray:5,3;animation:missionToControlFlow 2s ease-in-out infinite}@keyframes missionToControlFlow{0%,to{stroke-dashoffset:0}50%{stroke-dashoffset:-8}}.campaign-transition--control_to_mission .campaign-transition--line{stroke-width:2.5;stroke-dasharray:3,5;animation:controlToMissionFlow 2s ease-in-out infinite}@keyframes controlToMissionFlow{0%,to{stroke-dashoffset:0}50%{stroke-dashoffset:-8}}.campaign-transition--control_to_control .campaign-transition--line{stroke-width:3;stroke-dasharray:8,4;opacity:.9;animation:controlToControlFlow 1.5s ease-in-out infinite}@keyframes controlToControlFlow{0%,to{stroke-dashoffset:0;opacity:.9}50%{stroke-dashoffset:-12;opacity:.7}}.campaign-transition--mission_to_mission .campaign-transition--line{stroke-dasharray:none}.campaign-connecting-line{stroke:var(--jhl-primary, #4a9eff);stroke-width:2;stroke-dasharray:5,5;opacity:.7;fill:none;pointer-events:none;animation:connectingElementLine 1s ease-in-out infinite;filter:drop-shadow(0 2px 4px rgba(74,158,255,.2))}@keyframes connectingElementLine{0%,to{stroke-dashoffset:0;opacity:.7}50%{stroke-dashoffset:-10;opacity:.9}}@keyframes dash{to{stroke-dashoffset:-12}}.campaign-context-menu{position:fixed;z-index:10000;min-width:180px;background:var(--jhl-bg-tertiary, #16213e);border:1px solid var(--jhl-border, #2a2a4a);border-radius:8px;box-shadow:0 8px 24px #0006;padding:.5rem 0;animation:contextMenuFadeIn .15s ease-out}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.campaign-context-menu__item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 1rem;background:none;border:none;color:var(--jhl-text-primary, #e0e0e0);font-size:.875rem;text-align:left;cursor:pointer;transition:background .1s}.campaign-context-menu__item:hover:not(.campaign-context-menu__item--disabled){background:#4a9eff26}.campaign-context-menu__item--disabled{opacity:.5;cursor:not-allowed}.campaign-context-menu__item--disabled:hover{background:none}.campaign-context-menu__item--critical{color:var(--jhl-danger, #f56565)}.campaign-context-menu__item--critical:hover:not(.campaign-context-menu__item--disabled){background:#f5656526}.campaign-context-menu__separator{height:1px;background:var(--jhl-border, #2a2a4a);margin:.5rem 0}.campaign-editor__validation{padding:.75rem 1rem;background:var(--jhl-bg-tertiary, #16213e);border-top:1px solid var(--jhl-border, #2a2a4a);max-height:150px;overflow-y:auto}.campaign-validation__success{color:var(--jhl-success, #48bb78);font-size:.875rem}.campaign-validation__error{color:var(--jhl-danger, #f56565);font-size:.875rem;margin-bottom:.25rem}.campaign-validation__warning{color:var(--jhl-warning, #f0ad4e);font-size:.875rem;margin-bottom:.25rem}.campaign-editor__campaign-select{min-width:200px;padding:.5rem;background:var(--jhl-bg-primary, #0f0f23);border:1px solid var(--jhl-border, #2a2a4a);border-radius:4px;color:var(--jhl-text-primary, #e0e0e0);font-size:.875rem;cursor:pointer}.campaign-editor__campaign-select:focus{outline:none;border-color:var(--jhl-primary, #4a9eff)}.campaign-editor__mission-select{width:100%;padding:.5rem;background:var(--jhl-bg-primary, #0f0f23);border:1px solid var(--jhl-border, #2a2a4a);border-radius:4px;color:var(--jhl-text-primary, #e0e0e0);font-size:.875rem;cursor:pointer}.campaign-editor__mission-select:focus{outline:none;border-color:var(--jhl-primary, #4a9eff)}.campaign-editor__section-divider{height:1px;background:var(--jhl-border, #2a2a4a);margin:1rem 0}.campaign-editor__section h4{font-size:.8rem;font-weight:500;margin-bottom:.5rem;color:var(--jhl-text-secondary, #a0a0a0)}.campaign-editor__toast{position:fixed;bottom:20px;right:20px;padding:.75rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:500;z-index:10000;animation:toast-slide-in .3s ease-out;box-shadow:0 4px 12px #0000004d}.campaign-editor__toast--success{background:var(--jhl-success, #48bb78);color:#fff}.campaign-editor__toast--error{background:var(--jhl-danger, #f56565);color:#fff}.campaign-editor__toast--warning{background:var(--jhl-warning, #f0ad4e);color:#1a1a2e}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.campaign-editor__status--saved{color:var(--jhl-success, #48bb78)}.campaign-editor__status--saving{color:var(--jhl-warning, #f0ad4e)}.campaign-editor__progress-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .2s ease-out}.campaign-editor__progress-dialog{background:var(--jhl-bg-tertiary, #16213e);border:1px solid var(--jhl-border, #2a2a4a);border-radius:12px;padding:2rem;min-width:400px;max-width:500px;box-shadow:0 8px 32px #00000080;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.campaign-editor__progress-title{font-size:1.25rem;font-weight:600;color:var(--jhl-text-primary, #e0e0e0);margin:0 0 1.5rem;text-align:center}.campaign-editor__progress-phase{font-size:1rem;color:var(--jhl-primary, #4a9eff);margin-bottom:.5rem;text-align:center;font-weight:500}.campaign-editor__progress-message{font-size:.875rem;color:var(--jhl-text-secondary, #a0a0a0);margin-bottom:1.5rem;text-align:center;min-height:1.25rem}.campaign-editor__progress-bar-container{width:100%;height:8px;background:var(--jhl-bg-primary, #0f0f23);border-radius:4px;overflow:hidden;margin-bottom:.75rem}.campaign-editor__progress-bar{height:100%;background:linear-gradient(90deg,var(--jhl-primary, #4a9eff),var(--jhl-success, #48bb78));border-radius:4px;transition:width .3s ease-out}.campaign-editor__progress-percent{font-size:.875rem;color:var(--jhl-text-secondary, #a0a0a0);text-align:center;font-weight:500}.campaign-editor__toolbar [data-action=export-all]{background:linear-gradient(135deg,var(--jhl-primary, #4a9eff),var(--jhl-success, #48bb78));border:none;color:#fff;font-weight:600}.campaign-editor__toolbar [data-action=export-all]:hover:not(:disabled){background:linear-gradient(135deg,#5aafff,#58cb88);transform:translateY(-1px);box-shadow:0 4px 12px #4a9eff4d}.campaign-editor__toolbar [data-action=export-all]:disabled{background:var(--jhl-bg-tertiary, #16213e);color:var(--jhl-text-secondary, #a0a0a0);cursor:not-allowed}.campaign-control-element{position:absolute;cursor:move;user-select:none;transition:all .2s cubic-bezier(.4,0,.2,1);pointer-events:auto;border:2px solid;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:.75rem;font-weight:500;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);transform-origin:center;will-change:transform,box-shadow}.campaign-control-element:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #0000004d;z-index:10}.campaign-control-element--selected{box-shadow:0 0 0 3px #4a9eff99,0 8px 24px #0006;transform:scale(1.05);animation:selectedPulse 2s ease-in-out infinite}@keyframes selectedPulse{0%,to{box-shadow:0 0 0 3px #4a9eff99,0 8px 24px #0006}50%{box-shadow:0 0 0 5px #4a9eff66,0 12px 32px #00000080}}.campaign-control-element--entrypoint{border-radius:50%;background:linear-gradient(135deg,#48bb78,#38a169);border-color:#38a169;box-shadow:0 0 20px #48bb784d}.campaign-control-element--entrypoint:hover{box-shadow:0 0 30px #48bb7880,0 8px 20px #0000004d;background:linear-gradient(135deg,#4fd1c7,#48bb78)}.campaign-control-element--exitpoint{border-radius:50%;background:linear-gradient(135deg,#f56565,#e53e3e);border-color:#e53e3e;box-shadow:0 0 20px #f565654d}.campaign-control-element--exitpoint:hover{box-shadow:0 0 30px #f5656580,0 8px 20px #0000004d;background:linear-gradient(135deg,#fc8181,#f56565)}.campaign-control-element--checkpoint{background:linear-gradient(135deg,#9f7aea,#805ad5);border-color:#805ad5;transform:rotate(45deg);box-shadow:0 0 20px #9f7aea4d;transition:all .2s cubic-bezier(.4,0,.2,1)}.campaign-control-element--checkpoint:hover{transform:rotate(45deg) translateY(-2px) scale(1.02);box-shadow:0 0 30px #9f7aea80,0 8px 20px #0000004d;background:linear-gradient(135deg,#b794f6,#9f7aea)}.campaign-control-element--checkpoint .campaign-control-element__icon,.campaign-control-element--checkpoint .campaign-control-element__type{transform:rotate(-45deg);transition:transform .2s ease}.campaign-control-element--gate{background:linear-gradient(135deg,#f0ad4e,#ed8936);border-color:#ed8936;clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);box-shadow:0 0 20px #f0ad4e4d}.campaign-control-element--gate:hover{box-shadow:0 0 30px #f0ad4e80,0 8px 20px #0000004d;background:linear-gradient(135deg,#fbb040,#f0ad4e);animation:gatePulse 1.5s ease-in-out infinite}@keyframes gatePulse{0%,to{transform:translateY(-2px) scale(1.02)}50%{transform:translateY(-2px) scale(1.05)}}.campaign-control-element--note{background:linear-gradient(135deg,#4a9eff,#3182ce);border-color:#3182ce;border-radius:8px;box-shadow:0 0 20px #4a9eff4d}.campaign-control-element--note:hover{box-shadow:0 0 30px #4a9eff80,0 8px 20px #0000004d;background:linear-gradient(135deg,#63b3ed,#4a9eff)}.campaign-control-element__icon{font-size:1.25rem;margin-bottom:.25rem;transition:all .2s ease;animation:iconFloat 3s ease-in-out infinite}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.campaign-control-element__type{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;opacity:.9;transition:opacity .2s ease}.campaign-control-element:hover .campaign-control-element__type{opacity:1}.campaign-control-element__text{font-size:.75rem;margin:.25rem;padding:.25rem;background:#fff3;border-radius:4px;min-height:1rem;max-width:100px;word-wrap:break-word;outline:none;transition:all .2s ease}.campaign-control-element__text:hover{background:#ffffff4d;transform:scale(1.02)}.campaign-control-element__text--editing{background:#ffffffe6;color:#333;text-shadow:none;box-shadow:0 0 0 2px #4a9eff99;animation:editingPulse 1s ease-in-out infinite}@keyframes editingPulse{0%,to{box-shadow:0 0 0 2px #4a9eff99}50%{box-shadow:0 0 0 4px #4a9eff66}}.campaign-control-element--dragging{opacity:.8;transform:scale(1.1) rotate(5deg);z-index:1000;box-shadow:0 12px 32px #0006;animation:draggingWobble .3s ease-in-out infinite alternate}@keyframes draggingWobble{0%{transform:scale(1.1) rotate(5deg)}to{transform:scale(1.1) rotate(-5deg)}}.campaign-editor__graph--drop-target{background-color:#4a9eff1a!important;animation:dropTargetPulse 1s ease-in-out infinite}@keyframes dropTargetPulse{0%,to{background-color:#4a9eff1a!important}50%{background-color:#4a9eff33!important}}.campaign-control-element--appearing{animation:elementAppear .5s cubic-bezier(.34,1.56,.64,1)}@keyframes elementAppear{0%{opacity:0;transform:scale(.3) rotate(180deg)}to{opacity:1;transform:scale(1) rotate(0)}}.campaign-control-element--disappearing{animation:elementDisappear .3s ease-in forwards}@keyframes elementDisappear{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.3) rotate(-180deg)}}.campaign-control-element--connecting-source{box-shadow:0 0 0 3px #4caf50cc;animation:connectingSourcePulse 1s ease-in-out infinite}@keyframes connectingSourcePulse{0%,to{box-shadow:0 0 0 3px #4caf50cc,0 0 20px #4caf5066;transform:scale(1)}50%{box-shadow:0 0 0 6px #4caf5066,0 0 30px #4caf5099;transform:scale(1.05)}}.campaign-control-element--connecting-target{box-shadow:0 0 0 3px #ffc107cc;animation:connectingTargetPulse 1s ease-in-out infinite}@keyframes connectingTargetPulse{0%,to{box-shadow:0 0 0 3px #ffc107cc,0 0 20px #ffc10766;transform:scale(1)}50%{box-shadow:0 0 0 6px #ffc10766,0 0 30px #ffc10799;transform:scale(1.05)}}.campaign-control-element--entrypoint:hover .campaign-control-element__icon{animation:rocketLaunch .6s ease-in-out}@keyframes rocketLaunch{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.campaign-control-element--exitpoint:hover .campaign-control-element__icon{animation:flagWave .8s ease-in-out}@keyframes flagWave{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}.campaign-control-element--checkpoint:hover .campaign-control-element__icon{animation:checkpointSpin 1s ease-in-out}@keyframes checkpointSpin{0%{transform:rotate(-45deg) scale(1)}50%{transform:rotate(-45deg) scale(1.2)}to{transform:rotate(-45deg) scale(1)}}.campaign-control-element--gate:hover .campaign-control-element__icon{animation:gateOpen .5s ease-in-out}@keyframes gateOpen{0%,to{transform:scaleX(1)}50%{transform:scaleX(1.3)}}.campaign-control-element--note:hover .campaign-control-element__icon{animation:noteWrite 1s ease-in-out}@keyframes noteWrite{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.campaign-control-element{backface-visibility:hidden;perspective:1000px}@media(prefers-reduced-motion:reduce){.campaign-control-element,.campaign-control-element__icon,.campaign-control-element__type,.campaign-control-element__text{animation:none!important;transition:none!important}.campaign-control-element:hover{transform:none!important}}.campaign-editor__property-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--jhl-border, #2a2a4a)}.campaign-editor__property-icon{width:32px;height:32px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#fff;flex-shrink:0}.campaign-editor__property-section{margin-bottom:1.5rem;padding:1rem;background:var(--jhl-bg-primary, #0f0f23);border-radius:6px;border:1px solid var(--jhl-border, #2a2a4a)}.campaign-editor__property-section h4{margin:0 0 1rem;font-size:.875rem;font-weight:600;color:var(--jhl-text-primary, #e0e0e0);text-transform:uppercase;letter-spacing:.05em}.campaign-editor__property-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.campaign-editor__property-field{display:flex;flex-direction:column;gap:.25rem}.campaign-editor__property-field--full{grid-column:1 / -1}.campaign-editor__property-field--checkbox{flex-direction:row;align-items:center;gap:.5rem}.campaign-editor__property-field span{font-size:.75rem;font-weight:500;color:var(--jhl-text-secondary, #a0a0a0);text-transform:uppercase;letter-spacing:.05em}.campaign-editor__readonly{background:var(--jhl-bg-tertiary, #16213e)!important;color:var(--jhl-text-secondary, #a0a0a0)!important;cursor:not-allowed}.campaign-editor__number-input{font-family:monospace}.campaign-editor__textarea{min-height:60px;resize:vertical;font-family:inherit}.campaign-editor__textarea--large{min-height:100px}.campaign-editor__select{background:var(--jhl-bg-secondary, #1a1a2e);border:1px solid var(--jhl-border, #2a2a4a);border-radius:4px;color:var(--jhl-text-primary, #e0e0e0);padding:.5rem;font-size:.875rem}.campaign-editor__connection-info{display:flex;flex-direction:column;gap:1rem}.campaign-editor__connection-group{display:flex;flex-direction:column;gap:.5rem}.campaign-editor__connection-label{font-size:.75rem;font-weight:600;color:var(--jhl-text-secondary, #a0a0a0);text-transform:uppercase;letter-spacing:.05em}.campaign-editor__connection-list{display:flex;flex-wrap:wrap;gap:.25rem}.campaign-editor__connection-item{background:var(--jhl-bg-tertiary, #16213e);color:var(--jhl-text-primary, #e0e0e0);padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-family:monospace;border:1px solid var(--jhl-border, #2a2a4a)}.campaign-editor__connection-empty{color:var(--jhl-text-secondary, #a0a0a0);font-style:italic;font-size:.75rem}.campaign-editor__property-info{background:var(--jhl-bg-tertiary, #16213e);padding:.75rem;border-radius:4px;border-left:3px solid var(--jhl-primary, #4a9eff)}.campaign-editor__property-info p{margin:0 0 .5rem;font-size:.75rem;color:var(--jhl-text-secondary, #a0a0a0);line-height:1.4}.campaign-editor__property-info p:last-child{margin-bottom:0}.campaign-editor__validation-status{margin-top:.5rem}.campaign-editor__warning{color:var(--jhl-warning, #f0ad4e);font-size:.75rem;font-weight:500}.campaign-editor__success{color:var(--jhl-success, #48bb78);font-size:.75rem;font-weight:500}@media(max-width:1200px){.campaign-editor__property-grid{grid-template-columns:1fr}}.control-element__text-container{position:relative;flex:1;display:flex;align-items:center;justify-content:center;padding:4px;min-height:40px}.control-element__text{font-size:.75rem;line-height:1.2;text-align:center;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;max-width:100%;cursor:pointer;padding:2px 4px;border-radius:3px;transition:background-color .15s;user-select:none}.control-element__text:hover{background-color:#ffffff1a}.control-element__text--empty{color:#ffffff80;font-style:italic}.control-element__text--editing{display:none!important}.control-element__text--blue{color:#fff}.control-element__text--yellow{color:#1a1a1a}.control-element__text--green,.control-element__text--orange,.control-element__text--purple{color:#fff}.control-element__text-input{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;box-shadow:0 4px 12px #0000004d;font-size:.75rem;line-height:1.2;text-align:center}.control-element__text-input:focus{border-color:var(--jhl-primary, #4a9eff)!important;box-shadow:0 0 0 2px #4a9eff4d,0 4px 12px #0000004d}.campaign-control-element--note[data-note-color=yellow]{background-color:#f0d000!important}.campaign-control-element--note[data-note-color=green]{background-color:#48bb78!important}.campaign-control-element--note[data-note-color=orange]{background-color:#f0ad4e!important}.campaign-control-element--note[data-note-color=purple]{background-color:#9f7aea!important}.campaign-control-element--note{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:6px;box-sizing:border-box}.campaign-control-element--note .control-element__icon{font-size:1rem;margin-bottom:4px;flex-shrink:0}.campaign-control-element--note .control-element__label{font-size:.6rem;margin-top:auto;flex-shrink:0}.campaign-editor__element-preview{display:flex;align-items:center;gap:8px;padding:8px 12px;border:2px solid;border-radius:6px;margin-bottom:12px;background:#ffffff1a}.campaign-editor__element-icon{font-size:18px;line-height:1}.campaign-editor__element-type{font-weight:600;color:var(--jhl-text-primary, #ffffff)}.campaign-editor__readonly-field{background:#ffffff0d!important;color:var(--jhl-text-secondary, #cccccc)!important;cursor:not-allowed!important}.campaign-editor__connection-info{margin:16px 0;padding:12px;background:#ffffff0d;border-radius:6px;border-left:3px solid var(--jhl-accent, #ff7a00)}.campaign-editor__connection-info h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--jhl-text-primary, #ffffff)}.campaign-editor__connection-stats{display:flex;gap:16px}.campaign-editor__connection-stat{display:flex;align-items:center;gap:4px}.campaign-editor__connection-label{font-size:12px;color:var(--jhl-text-secondary, #cccccc)}.campaign-editor__connection-count{font-weight:600;color:var(--jhl-accent, #ff7a00);background:#ff7a001a;padding:2px 6px;border-radius:3px;font-size:11px}.campaign-editor__section--properties textarea{width:100%;min-height:60px;padding:8px;border:1px solid var(--jhl-border, #444);border-radius:4px;background:var(--jhl-bg-primary, #0f0f23);color:var(--jhl-text-primary, #ffffff);font-family:inherit;font-size:13px;resize:vertical}.campaign-editor__section--properties textarea:focus{outline:none;border-color:var(--jhl-accent, #ff7a00);box-shadow:0 0 0 2px #ff7a0033}.campaign-editor__section--properties textarea::placeholder{color:var(--jhl-text-secondary, #888)}.campaign-editor__button-row{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--jhl-border, #444)}.campaign-editor__button-row .jhl-btn{flex:1;font-size:12px;padding:6px 12px}@media(max-width:768px){.campaign-editor__connection-stats{flex-direction:column;gap:8px}.campaign-editor__button-row{flex-direction:column}.campaign-editor__button-row .jhl-btn{flex:none}}.campaign-editor__control-elements{position:relative;pointer-events:none}.campaign-control-element{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid;border-radius:8px;cursor:pointer;pointer-events:all;user-select:none;transition:all .15s ease;box-shadow:0 2px 8px #0003;font-size:12px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5)}.campaign-control-element:hover{transform:scale(1.05);box-shadow:0 4px 12px #0000004d}.campaign-control-element--selected{box-shadow:0 0 0 3px #4a9eff99,0 4px 12px #0000004d;transform:scale(1.02)}.campaign-control-element__icon{font-size:18px;line-height:1;margin-bottom:2px}.campaign-control-element__type{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;opacity:.9}.campaign-control-element__text{margin-top:4px;padding:2px 4px;font-size:10px;font-weight:500;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#0003;border-radius:3px;cursor:text}.campaign-control-element__text--editing{background:#ffffffe6;color:#333;text-shadow:none;outline:2px solid var(--jhl-accent, #ff7a00);white-space:normal;word-wrap:break-word}.campaign-control-element--entrypoint,.campaign-control-element--exitpoint{border-radius:50%}.campaign-control-element--checkpoint{border-radius:8px;transform:rotate(45deg)}.campaign-control-element--checkpoint .campaign-control-element__icon,.campaign-control-element--checkpoint .campaign-control-element__type,.campaign-control-element--checkpoint .campaign-control-element__text{transform:rotate(-45deg)}.campaign-control-element--gate{clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);border-radius:0}.campaign-control-element--note{border-radius:4px;padding:4px}.campaign-control-element--note .campaign-control-element__text{margin-top:2px;background:transparent;white-space:normal;word-wrap:break-word;max-height:40px;overflow-y:auto}.campaign-control-element--dragging{opacity:.7;transform:scale(.95);z-index:1000}.campaign-control-element--connecting-source{box-shadow:0 0 0 3px #4caf5099;animation:pulse-green 1s infinite}.campaign-control-element--connecting-target{box-shadow:0 0 0 3px #ffc10799;animation:pulse-yellow 1s infinite}@keyframes pulse-green{0%,to{box-shadow:0 0 0 3px #4caf5099}50%{box-shadow:0 0 0 6px #4caf504d}}@keyframes pulse-yellow{0%,to{box-shadow:0 0 0 3px #ffc10799}50%{box-shadow:0 0 0 6px #ffc1074d}}@media(max-width:768px){.campaign-control-element{font-size:10px}.campaign-control-element__icon{font-size:14px}.campaign-control-element__type,.campaign-control-element__text{font-size:8px}}.entity-editor-page{display:flex;flex-direction:column;height:100%;min-height:0;flex:1;background:var(--bg-primary, #1a1a1a);color:var(--text-primary, #e0e0e0);font-family:var(--font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:14px}.entity-editor-content{display:flex;flex:1;overflow:hidden}.entity-editor-sidebar{width:280px;border-right:1px solid var(--border-color, #333);overflow-y:auto}.entity-editor-sidebar.hidden{display:none}.entity-editor-main{flex:2;display:flex;flex-direction:column;overflow:hidden;border-right:1px solid var(--border-color, #333)}.entity-editor-form-panel{width:400px;min-width:350px;max-width:500px;height:100%;overflow-y:auto;padding:16px;resize:horizontal;overflow-x:hidden;box-sizing:border-box}.entity-editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--bg-secondary, #252525);border-bottom:1px solid var(--border-color, #333);gap:12px;flex-wrap:wrap}.toolbar-left,.toolbar-center,.toolbar-right{display:flex;align-items:center;gap:6px}.toolbar-center.shape-tools{flex:1;justify-content:center}.toolbar-btn{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--btn-bg, #333);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);cursor:pointer;transition:background .2s;font-size:12px}.toolbar-btn:hover{background:var(--btn-hover-bg, #444)}.toolbar-btn .btn-icon{font-size:14px}.toolbar-btn .btn-text{font-size:11px}.toolbar-separator{width:1px;height:20px;background:var(--border-color, #444);margin:0 2px}.namespace-select{padding:4px 8px;background:var(--input-bg, #2a2a2a);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);min-width:100px;font-size:11px}.entity-editor-toolbar .tool-group,.tool-group{display:flex;flex-direction:row!important;gap:2px;background:var(--bg-tertiary, #1e1e1e);border-radius:4px;padding:2px;border:1px solid var(--border-color, #333)}.tool-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:3px;color:var(--text-secondary, #888);cursor:pointer;transition:all .15s ease}.tool-btn:hover{background:var(--hover-bg, #333);color:var(--text-primary, #e0e0e0)}.tool-btn.active{background:var(--accent-color, #4a9eff);color:#fff}.tool-btn .tool-icon{width:16px;height:16px;fill:currentColor}.brush-size-group{display:flex;gap:2px;background:var(--bg-tertiary, #1e1e1e);border-radius:4px;padding:2px;border:1px solid var(--border-color, #333)}.brush-size-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:3px;cursor:pointer;transition:all .15s ease;color:var(--text-secondary, #888)}.brush-size-btn:hover{background:var(--hover-bg, #333)}.brush-size-btn.active{background:var(--accent-color, #4a9eff)}.brush-preview{background:currentColor;border-radius:1px;opacity:.8}.brush-preview.size-1{width:4px;height:4px}.brush-preview.size-2{width:6px;height:6px}.brush-preview.size-3{width:8px;height:8px}.brush-preview.size-4{width:10px;height:10px}.brush-size-btn.active .brush-preview{background:#fff}.grid-size-group{display:flex;gap:1px;background:var(--bg-tertiary, #1e1e1e);border-radius:4px;padding:2px;border:1px solid var(--border-color, #333)}.grid-size-btn{padding:4px 8px;background:transparent;border:none;border-radius:3px;color:var(--text-secondary, #888);cursor:pointer;font-size:10px;font-weight:500;transition:all .15s ease}.grid-size-btn:hover{background:var(--hover-bg, #333);color:var(--text-primary, #e0e0e0)}.grid-size-btn.active{background:var(--accent-color, #4a9eff);color:#fff;font-weight:600}.action-group{display:flex;gap:2px;background:var(--bg-tertiary, #1e1e1e);border-radius:4px;padding:2px;border:1px solid var(--border-color, #333)}.action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:3px;color:var(--text-secondary, #888);cursor:pointer;transition:all .15s ease}.action-btn:hover{background:var(--hover-bg, #333);color:var(--text-primary, #e0e0e0)}.action-btn:disabled{opacity:.4;cursor:not-allowed}.action-btn .action-icon{width:14px;height:14px;fill:currentColor}.entity-editor-statusbar{padding:6px 16px;background:var(--bg-secondary, #252525);border-top:1px solid var(--border-color, #333);font-size:12px;min-height:28px}.entity-editor-statusbar.status-success{color:var(--success-color, #4caf50)}.entity-editor-statusbar.status-error{color:var(--error-color, #f44336)}.entity-editor-statusbar.status-info{color:var(--info-color, #2196f3)}.entity-list-container{display:flex;flex-direction:column;height:100%}.entity-list-header{padding:12px;border-bottom:1px solid var(--border-color, #333)}.entity-list-title{font-weight:600;margin-bottom:8px}.entity-list-controls{display:flex;gap:8px}.entity-list-search{flex:1;padding:6px 8px;background:var(--input-bg, #2a2a2a);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0)}.entity-list-filter{padding:6px;background:var(--input-bg, #2a2a2a);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0)}.entity-list-create{padding:6px 12px;background:var(--accent-color, #4a9eff);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600}.entity-list{flex:1;overflow-y:auto}.entity-list-empty{padding:24px;text-align:center;color:var(--text-secondary, #888)}.entity-list-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-bottom:1px solid var(--border-color, #333);cursor:pointer;transition:background .2s}.entity-list-item:hover{background:var(--hover-bg, #2a2a2a)}.entity-list-item.selected{background:var(--selected-bg, #333);border-left:3px solid var(--accent-color, #4a9eff)}.entity-thumbnail{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary, #2a2a2a);border-radius:4px;font-size:20px}.entity-info{flex:1;min-width:0}.entity-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-meta{display:flex;gap:8px;font-size:12px;color:var(--text-secondary, #888)}.entity-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s}.entity-list-item:hover .entity-actions{opacity:1}.entity-actions button{padding:4px 8px;background:transparent;border:none;cursor:pointer;opacity:.7;transition:opacity .2s}.entity-actions button:hover{opacity:1}.entity-form{max-width:600px;width:100%;min-height:min-content;display:flex;flex-direction:column;height:100%}.entity-form-tabs{display:flex;gap:0;background:var(--bg-secondary, #252525);border-bottom:1px solid var(--border-color, #333);flex-wrap:wrap;flex-shrink:0}.entity-form-tab{padding:8px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary, #888);cursor:pointer;transition:all .15s ease;font-size:12px;font-weight:500;white-space:nowrap}.entity-form-tab:hover{background:var(--hover-bg, #2a2a2a);color:var(--text-primary, #e0e0e0);border-bottom-color:var(--border-color, #444)}.entity-form-tab.active{background:var(--bg-tertiary, #2a2a2a);border-bottom-color:var(--accent-color, #4a9eff);color:var(--text-primary, #e0e0e0)}.entity-form-tab .tab-icon{display:none}.entity-form-tab .tab-label{color:inherit}.entity-form-content{flex:1;overflow-y:auto;overflow-x:hidden}.entity-form-tab-panel{display:none}.entity-form-tab-panel[style*="display: block"]{display:block}.tab-content-wrapper{padding:16px}.form-section{margin-bottom:24px;background:var(--bg-secondary, #252525);border-radius:8px;overflow:hidden}.form-section-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-tertiary, #2a2a2a);font-weight:600}.section-toggle{background:transparent;border:none;color:var(--text-secondary, #888);cursor:pointer;padding:4px}.form-section.collapsed .form-fields{display:none}.form-fields{padding:16px;display:flex;flex-direction:column;gap:16px}.form-field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:13px;color:var(--text-secondary, #aaa)}.field-input{display:flex;gap:8px}.field-input input,.field-input select{flex:1;padding:8px 12px;background:var(--input-bg, #1a1a1a);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0)}.field-input input:focus,.field-input select:focus{outline:none;border-color:var(--accent-color, #4a9eff)}.field-unit{display:flex;align-items:center;padding:0 8px;background:var(--bg-tertiary, #2a2a2a);border:1px solid var(--border-color, #444);border-left:none;border-radius:0 4px 4px 0;color:var(--text-secondary, #888);font-size:12px}.field-error{font-size:12px;color:var(--error-color, #f44336);min-height:16px}.form-field.has-error .field-input input,.form-field.has-error .field-input select{border-color:var(--error-color, #f44336)}.browse-button{padding:8px 16px;background:var(--btn-bg, #333);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);cursor:pointer}.reset-button{padding:8px 16px;background:var(--btn-bg, #333);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);cursor:pointer;align-self:flex-start}.form-field-tags .field-input{flex-wrap:wrap;position:relative}.tags-container{display:flex;flex-wrap:wrap;gap:6px;width:100%;margin-bottom:8px}.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:var(--accent-color, #4a9eff);border-radius:12px;font-size:12px;color:#fff}.tag-remove{background:transparent;border:none;color:#fff;cursor:pointer;padding:0 2px;opacity:.7}.tag-remove:hover{opacity:1}.tag-input{flex:1;min-width:100px}.tag-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary, #252525);border:1px solid var(--border-color, #444);border-radius:4px;max-height:150px;overflow-y:auto;z-index:10}.tag-suggestion{padding:8px 12px;cursor:pointer}.tag-suggestion:hover{background:var(--hover-bg, #333)}.keyvalue-container{display:flex;flex-direction:column;gap:8px}.keyvalue-row{display:flex;gap:8px}.kv-key,.kv-value{flex:1;padding:8px 12px;background:var(--input-bg, #1a1a1a);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0)}.kv-remove{padding:8px 12px;background:transparent;border:1px solid var(--border-color, #444);border-radius:4px;color:var(--error-color, #f44336);cursor:pointer}.add-keyvalue{padding:8px 16px;background:transparent;border:1px dashed var(--border-color, #444);border-radius:4px;color:var(--text-secondary, #888);cursor:pointer;align-self:flex-start}.add-keyvalue:hover{border-color:var(--accent-color, #4a9eff);color:var(--accent-color, #4a9eff)}.entity-editor-main .panel-header{padding:10px 12px;background:var(--bg-tertiary, #2a2a2a);font-weight:600;font-size:13px;border-bottom:1px solid var(--border-color, #333)}.entity-editor-main .integrated-shape-editor-container{flex:1;overflow:hidden}.entity-editor-form-panel.hidden{display:none}.preview-section,.grid-editor-section{background:var(--bg-secondary, #252525);border-radius:8px;overflow:hidden}.panel-header{padding:10px 12px;background:var(--bg-tertiary, #2a2a2a);font-weight:600;font-size:13px}.entity-preview-canvas,.grid-editor-canvas{display:block;width:100%;background:#1a1a1a}.grid-editor-controls{padding:12px;display:flex;flex-direction:column;gap:8px;border-bottom:1px solid var(--border-color, #333)}.grid-controls-row{display:flex;align-items:center;gap:8px}.grid-controls-row label{font-size:12px;color:var(--text-secondary, #aaa)}.grid-controls-row select{flex:1;padding:4px 8px;background:var(--input-bg, #1a1a1a);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:12px}.btn-clear-layer{padding:6px 12px;background:var(--btn-bg, #333);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);cursor:pointer;font-size:12px}.btn-clear-layer:hover{background:var(--btn-hover-bg, #444)}.grid-controls-buttons{display:flex;gap:8px}.grid-controls-buttons button{padding:6px 12px;background:var(--btn-bg, #333);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);cursor:pointer;font-size:12px;transition:background .2s,border-color .2s}.grid-controls-buttons button:hover{background:var(--btn-hover-bg, #444);border-color:var(--accent-color, #4a9eff)}.btn-auto-shape,.btn-invert-shape{font-weight:700;min-width:32px;text-align:center}.layer-visibility-controls{display:flex;flex-direction:column;gap:6px;padding:8px 12px;border-bottom:1px solid var(--border-color, #333)}.layer-visibility-row{display:flex;align-items:center;gap:8px}.layer-visibility-row input[type=checkbox]{width:14px;height:14px;cursor:pointer}.layer-visibility-row label{flex:1;font-size:12px;color:var(--text-secondary, #aaa);cursor:pointer;display:flex;align-items:center;gap:6px}.layer-color-indicator{width:12px;height:12px;border-radius:2px;border:1px solid rgba(255,255,255,.3)}.layer-color-indicator.hitbox{background:#ff0000b3}.layer-color-indicator.collision_box{background:#00ff00b3}.layer-color-indicator.body{background:#0000ffb3}.layer-visibility-row.active label{color:var(--text-primary, #e0e0e0);font-weight:600}.layer-visibility-row .layer-grid-size{width:60px;flex-shrink:0;padding:2px 4px;background:var(--input-bg, #1a1a1a);border:1px solid var(--border-color, #444);border-radius:3px;color:var(--text-primary, #e0e0e0);font-size:11px;cursor:pointer}.layer-visibility-row .layer-grid-size:hover{border-color:var(--accent-color, #4a9eff)}.layer-visibility-row .layer-grid-size:focus{outline:none;border-color:var(--accent-color, #4a9eff)}.form-field-toggle .field-label{display:flex;align-items:center;gap:8px;cursor:pointer}.form-field-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer}@media(max-width:1600px){.entity-editor-form-panel{width:350px;min-width:300px}}@media(max-width:1400px){.entity-editor-form-panel{width:320px;min-width:280px}}@media(max-width:1200px){.entity-editor-form-panel{width:300px;min-width:250px}}@media(max-width:900px){.entity-editor-content{flex-direction:column}.entity-editor-sidebar{width:100%;max-height:200px;border-right:none;border-bottom:1px solid var(--border-color, #333)}.entity-editor-main{flex:1;border-right:none;border-bottom:1px solid var(--border-color, #333)}.entity-editor-form-panel{width:100%;max-width:none;min-width:auto;border-left:none;resize:none}}.integrated-shape-editor{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary, #252525)}.integrated-shape-controls{padding:16px;border-bottom:1px solid var(--border-color, #333);flex-shrink:0;background:var(--bg-tertiary, #2a2a2a)}.section-title{font-size:12px;font-weight:600;color:var(--text-primary, #e0e0e0);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.grid-granularity-section{margin-bottom:20px}.grid-size-buttons{display:flex;gap:4px}.grid-size-btn{flex:1;padding:8px 12px;background:var(--btn-bg, #333);border:2px solid var(--border-color, #444);border-radius:6px;color:var(--text-secondary, #aaa);cursor:pointer;font-size:11px;font-weight:500;transition:all .2s ease;text-align:center}.grid-size-btn:hover{background:var(--btn-hover-bg, #444);border-color:var(--accent-color, #4a9eff);color:var(--text-primary, #e0e0e0)}.grid-size-btn.active{background:var(--accent-color, #4a9eff);border-color:var(--accent-color, #4a9eff);color:#fff;font-weight:600}.layer-controls-section{margin-bottom:20px}.layer-control-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:6px;margin-bottom:4px;transition:all .2s ease;border:1px solid transparent}.layer-control-row:hover{background:var(--hover-bg, #333)}.layer-control-row.shape-row.active{background:var(--selected-bg, #3a3a3a);border-color:var(--accent-color, #4a9eff);box-shadow:0 0 0 1px var(--accent-color, #4a9eff)}.modern-checkbox{display:flex;align-items:center;flex:1}.modern-checkbox input[type=checkbox]{display:none}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:var(--text-secondary, #aaa);transition:color .2s ease}.checkbox-label:hover{color:var(--text-primary, #e0e0e0)}.checkbox-custom{width:16px;height:16px;border:2px solid var(--border-color, #444);border-radius:3px;background:var(--input-bg, #1a1a1a);position:relative;transition:all .2s ease;flex-shrink:0}.checkbox-custom:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0;transition:opacity .2s ease}.modern-checkbox input[type=checkbox]:checked+.checkbox-label .checkbox-custom{background:var(--accent-color, #4a9eff);border-color:var(--accent-color, #4a9eff)}.modern-checkbox input[type=checkbox]:checked+.checkbox-label .checkbox-custom:after{opacity:1}.modern-checkbox input[type=checkbox]:checked+.checkbox-label{color:var(--text-primary, #e0e0e0)}.layer-icon{font-size:14px;flex-shrink:0}.layer-color-dot{width:12px;height:12px;border-radius:3px;border:1px solid rgba(255,255,255,.3);flex-shrink:0}.layer-color-dot.hitbox{background:#f00c;box-shadow:0 0 4px #ff00004d}.layer-color-dot.collision_box{background:#0f0c;box-shadow:0 0 4px #00ff004d}.layer-color-dot.body{background:#0064ffcc;box-shadow:0 0 4px #0064ff4d}.layer-name,.option-name{flex:1;font-weight:500}.layer-select-btn{width:24px;height:24px;border:2px solid var(--border-color, #444);border-radius:50%;background:var(--btn-bg, #333);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative}.layer-select-btn:hover{border-color:var(--accent-color, #4a9eff);background:var(--btn-hover-bg, #444)}.layer-select-btn.active{border-color:var(--accent-color, #4a9eff);background:var(--accent-color, #4a9eff)}.select-indicator{width:8px;height:8px;border-radius:50%;background:var(--text-secondary, #888);transition:background .2s ease}.layer-select-btn.active .select-indicator{background:#fff}.display-options-section{margin-bottom:20px}.display-option{margin-bottom:8px}.tools-section{margin-bottom:0}.tool-buttons{display:flex;gap:8px}.modern-tool-btn{flex:1;padding:10px 12px;background:var(--btn-bg, #333);border:2px solid var(--border-color, #444);border-radius:6px;color:var(--text-secondary, #aaa);cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:4px}.modern-tool-btn:hover{background:var(--btn-hover-bg, #444);border-color:var(--accent-color, #4a9eff);color:var(--text-primary, #e0e0e0)}.modern-tool-btn:active{transform:translateY(1px)}.tool-icon{font-size:16px}.tool-name{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.integrated-shape-canvas-container{flex:1;padding:8px;display:flex;justify-content:center;align-items:center;background:#1a1a1a;overflow:auto;min-height:200px}.integrated-shape-canvas{display:block;border:2px solid var(--border-color, #444);border-radius:8px;cursor:crosshair;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;box-shadow:0 4px 12px #0000004d}.premium-shape-editor{display:flex;flex-direction:column;height:100%;background:var(--bg-primary, #1a1a1a);color:var(--text-primary, #e0e0e0);font-family:var(--font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);overflow:hidden}.shape-editor-content{display:flex;flex:1;overflow:hidden}.layers-panel{width:240px;background:var(--bg-secondary, #252525);border-right:1px solid var(--border-color, #333);display:flex;flex-direction:column;overflow:hidden}.panel-tabs{display:flex;background:var(--bg-tertiary, #2a2a2a);border-bottom:1px solid var(--border-color, #333);flex-shrink:0}.panel-tab{flex:1;padding:10px 16px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary, #888);cursor:pointer;transition:all .15s ease;font-size:13px;font-weight:500}.panel-tab:hover{background:var(--hover-bg, #333);color:var(--text-primary, #e0e0e0)}.panel-tab.active{background:var(--bg-secondary, #252525);border-bottom-color:var(--accent-color, #4a9eff);color:var(--text-primary, #e0e0e0)}.panel-tab-content{flex:1;display:flex;flex-direction:column;overflow:hidden}.panel-header{padding:12px 16px 8px;border-bottom:1px solid var(--border-color, #333);background:var(--bg-tertiary, #2a2a2a);flex-shrink:0}.panel-header h3{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text-primary, #e0e0e0)}.panel-header h4{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-primary, #e0e0e0)}.layer-stats{font-size:11px;color:var(--text-secondary, #888)}.layers-list{flex:1;overflow-y:auto;padding:8px}.layer-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;margin-bottom:4px;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.layer-item.clickable-layer{cursor:pointer;user-select:none}.layer-item:hover{background:var(--hover-bg, #2a2a2a)}.layer-item.active{background:var(--selected-bg, #333);border-color:var(--accent-color, #4a9eff);box-shadow:0 0 0 1px var(--accent-color, #4a9eff)}.layer-item.asset-layer{background:var(--bg-tertiary, #2a2a2a);border-color:var(--border-color, #444)}.layer-visibility-indicator{width:12px;height:12px;border-radius:50%;background:var(--bg-tertiary, #333);border:2px solid var(--border-color, #555);flex-shrink:0;transition:all .15s ease;cursor:pointer}.layer-visibility-indicator:hover{transform:scale(1.1);border-color:var(--accent-color, #4a9eff)}.layer-visibility-indicator.visible{background:var(--accent-color, #4a9eff);border-color:var(--accent-color, #4a9eff);box-shadow:0 0 6px #4a9eff80}.layer-item:hover .layer-visibility-indicator{border-color:var(--accent-color, #4a9eff)}.layer-visibility{flex-shrink:0}.layer-info{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.layer-icon,.asset-icon{font-size:16px;flex-shrink:0}.layer-color-indicator{width:14px;height:14px;border-radius:3px;border:1px solid rgba(255,255,255,.2);flex-shrink:0;box-shadow:0 1px 3px #0000004d}.layer-color-indicator.hitbox{background:linear-gradient(135deg,#f44,#c00)}.layer-color-indicator.collision_box{background:linear-gradient(135deg,#4f4,#0c0)}.layer-color-indicator.body{background:linear-gradient(135deg,#48f,#06c)}.layer-name{font-size:13px;font-weight:500;color:var(--text-primary, #e0e0e0);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-cell-count{font-size:10px;color:var(--text-secondary, #888);background:var(--bg-primary, #1a1a1a);padding:2px 6px;border-radius:10px;min-width:20px;text-align:center}.layer-auto-btn{width:24px;height:24px;background:transparent;border:1px solid var(--border-color, #444);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;color:var(--text-secondary, #888);font-size:12px;flex-shrink:0;margin-left:4px}.layer-auto-btn:hover{background:var(--accent-color, #4a9eff);border-color:var(--accent-color, #4a9eff);color:#fff;transform:scale(1.1)}.layer-auto-btn:active{transform:scale(.95)}.layer-actions{flex-shrink:0}.layer-select-btn{width:28px;height:28px;background:transparent;border:1px solid var(--border-color, #444);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);color:var(--text-secondary, #888)}.layer-select-btn:hover{background:var(--hover-bg, #333);border-color:var(--accent-color, #4a9eff);color:var(--text-primary, #e0e0e0)}.layer-select-btn.active{background:var(--accent-color, #4a9eff);border-color:var(--accent-color, #4a9eff);color:#fff}.layer-select-btn svg{width:14px;height:14px;fill:currentColor}.premium-checkbox{position:relative;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:4px}.premium-checkbox input[type=checkbox]{display:none}.checkmark{width:24px;height:24px;background:var(--input-bg, #1a1a1a);border:2px solid var(--border-color, #555);border-radius:6px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.checkmark:after{content:"";position:absolute;left:7px;top:3px;width:6px;height:11px;border:solid white;border-width:0 2.5px 2.5px 0;transform:rotate(45deg);opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1)}.premium-checkbox:hover .checkmark{border-color:var(--accent-color, #4a9eff);background:var(--hover-bg, #2a2a2a)}.premium-checkbox input[type=checkbox]:checked+.checkmark{background:var(--accent-color, #4a9eff);border-color:var(--accent-color, #4a9eff);box-shadow:0 2px 8px #4a9eff66}.premium-checkbox input[type=checkbox]:checked+.checkmark:after{opacity:1}.display-options{padding:12px 16px;border-bottom:1px solid var(--border-color, #333);flex-shrink:0;background:var(--bg-tertiary, #2a2a2a)}.display-toggles{display:flex;flex-direction:column;gap:12px}.display-toggles.horizontal{flex-direction:row;flex-wrap:wrap;gap:12px}.premium-toggle{display:flex;align-items:center;gap:12px;cursor:pointer}.premium-toggle.compact{gap:6px}.premium-toggle.compact .toggle-slider{width:28px;height:16px}.premium-toggle.compact .toggle-slider:after{width:10px;height:10px;top:1px;left:1px}.premium-toggle.compact input[type=checkbox]:checked+.toggle-slider:after{left:13px}.premium-toggle.compact .toggle-label{font-size:11px}.visual-form-container{flex:1;overflow-y:auto;padding:0}.premium-toggle input[type=checkbox]{display:none}.toggle-slider{width:36px;height:20px;background:var(--bg-primary, #1a1a1a);border:2px solid var(--border-color, #444);border-radius:20px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1)}.toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;background:var(--text-secondary, #888);border-radius:50%;transition:all .2s cubic-bezier(.4,0,.2,1)}.premium-toggle input[type=checkbox]:checked+.toggle-slider{background:var(--accent-color, #4a9eff);border-color:var(--accent-color, #4a9eff)}.premium-toggle input[type=checkbox]:checked+.toggle-slider:after{left:18px;background:#fff}.toggle-label{font-size:12px;font-weight:500;color:var(--text-primary, #e0e0e0)}.canvas-area{flex:1;display:flex;flex-direction:column;background:var(--bg-primary, #1a1a1a);overflow:hidden}.canvas-container{flex:1;display:flex;align-items:flex-start;justify-content:center;padding:8px;position:relative;overflow:auto}.shape-editor-canvas{display:block;border:2px solid var(--border-color, #444);border-radius:12px;cursor:crosshair;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;box-shadow:0 8px 32px #0006;transition:box-shadow .2s cubic-bezier(.4,0,.2,1);flex-shrink:0}.shape-editor-canvas:hover{box-shadow:0 12px 48px #0009}.canvas-overlay{position:absolute;inset:8px 8px 40px;pointer-events:none;z-index:10}.selection-info{position:absolute;top:20px;left:20px;background:#000c;color:#fff;padding:8px 12px;border-radius:6px;font-size:11px;font-weight:500;backdrop-filter:blur(8px)}.status-bar{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;background:var(--bg-secondary, #252525);border-top:1px solid var(--border-color, #333);font-size:11px;color:var(--text-secondary, #888);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace}.status-left,.status-right{display:flex;align-items:center;gap:8px}.separator{color:var(--border-color, #444)}#cursor-position,#canvas-info,#active-layer-info,#zoom-info{font-weight:500}@media(max-width:1200px){.layers-panel{width:200px}.entity-editor-toolbar{padding:4px 8px;gap:8px}.toolbar-center.shape-tools{gap:4px}}@media(max-width:900px){.shape-editor-content{flex-direction:column}.layers-panel{width:100%;max-height:200px;border-right:none;border-bottom:1px solid var(--border-color, #333)}.entity-editor-toolbar{flex-wrap:wrap}.toolbar-center.shape-tools{order:3;width:100%;justify-content:flex-start}}.entity-capability-ui{margin-top:16px;padding:16px;background:var(--bg-secondary, #252525);border:1px solid var(--border-color, #333);border-radius:4px}.capability-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.capability-title{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #e0e0e0)}.capability-add-button{padding:6px 12px;background:var(--accent-color, #4a9eff);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:500;transition:background .2s}.capability-add-button:hover{background:var(--accent-hover, #3a8eef)}.capability-empty-message{padding:16px;text-align:center;color:var(--text-secondary, #888);font-size:13px;font-style:italic}.capabilities-list{display:flex;flex-direction:column;gap:12px}.capability-item{padding:12px;background:var(--bg-tertiary, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:4px}.capability-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.capability-name{font-weight:600;font-size:14px;color:var(--text-primary, #e0e0e0)}.capability-remove-button{width:24px;height:24px;padding:0;background:var(--error-color, #f44336);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:18px;line-height:1;transition:background .2s}.capability-remove-button:hover{background:var(--error-hover, #d32f2f)}.capability-description{margin-bottom:8px;padding:8px;background:var(--bg-secondary, #252525);border-left:3px solid var(--accent-color, #4a9eff);border-radius:2px;color:var(--text-secondary, #888);font-size:12px}.capability-state-editors{display:flex;flex-direction:column;gap:8px}.state-property-editor{display:flex;align-items:center;justify-content:space-between;gap:12px}.state-property-label{flex:1;font-size:13px;color:var(--text-primary, #e0e0e0);cursor:help}.state-property-input{flex:0 0 auto;padding:4px 8px;background:var(--input-bg, #1a1a1a);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:13px}.state-property-input[type=checkbox]{width:18px;height:18px;cursor:pointer}.state-property-input[type=number]{width:100px}.state-property-input[type=text]{width:150px}.capability-add-dialog{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000}.capability-add-dialog-content{width:90%;max-width:500px;max-height:80vh;background:var(--bg-primary, #1a1a1a);border:1px solid var(--border-color, #333);border-radius:8px;padding:24px;overflow-y:auto}.capability-add-dialog-content h3{margin:0 0 16px;font-size:18px;color:var(--text-primary, #e0e0e0)}.capability-add-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.capability-add-item{width:100%;padding:12px;background:var(--bg-secondary, #252525);border:1px solid var(--border-color, #333);border-radius:4px;color:var(--text-primary, #e0e0e0);cursor:pointer;text-align:left;transition:background .2s,border-color .2s}.capability-add-item:hover{background:var(--bg-tertiary, #2a2a2a);border-color:var(--accent-color, #4a9eff)}.capability-add-item-name{font-weight:600;font-size:14px;margin-bottom:4px}.capability-add-item-description{font-size:12px;color:var(--text-secondary, #888)}.capability-add-cancel{width:100%;padding:8px 16px;background:var(--btn-bg, #333);border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);cursor:pointer;font-size:14px;transition:background .2s}.capability-add-cancel:hover{background:var(--btn-hover-bg, #444)}.robot-config-panel{padding:16px;background:var(--jhl-color-surface);border-radius:8px;border:1px solid var(--jhl-color-border);font-family:var(--jhl-font-family);max-width:600px;margin:0 auto}.robot-config-section{margin-bottom:24px}.robot-config-section:last-child{margin-bottom:0}.robot-config-title{font-size:18px;font-weight:600;color:var(--jhl-color-text-primary);margin:0 0 16px;display:flex;align-items:center;gap:8px}.robot-config-subtitle{font-size:16px;font-weight:500;color:var(--jhl-color-text-primary);margin:0 0 12px}.robot-config-label{font-size:14px;font-weight:500;color:var(--jhl-color-text-secondary);display:block;margin-bottom:4px}.robot-count-control{background:var(--jhl-color-surface-variant);padding:16px;border-radius:6px;border:1px solid var(--jhl-color-border-light)}.robot-count-slider{width:100%;height:6px;border-radius:3px;background:var(--jhl-color-border);outline:none;margin:8px 0;cursor:pointer;-webkit-appearance:none;appearance:none}.robot-count-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--jhl-color-primary);cursor:pointer;border:2px solid var(--jhl-color-surface);box-shadow:0 2px 4px #0000001a}.robot-count-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--jhl-color-primary);cursor:pointer;border:2px solid var(--jhl-color-surface);box-shadow:0 2px 4px #0000001a}.robot-count-labels{display:flex;justify-content:space-between;font-size:12px;color:var(--jhl-color-text-tertiary);margin-top:4px}.robot-count-display{font-weight:600;color:var(--jhl-color-primary);background:var(--jhl-color-primary-light);padding:2px 8px;border-radius:12px;font-size:14px}.robot-configs-container{display:flex;flex-direction:column;gap:12px}.robot-config-item{background:var(--jhl-color-surface-variant);border:1px solid var(--jhl-color-border-light);border-radius:8px;padding:16px;transition:border-color .2s ease}.robot-config-item:hover{border-color:var(--jhl-color-border)}.robot-config-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.robot-config-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.robot-config-name{font-size:16px;font-weight:500;color:var(--jhl-color-text-primary);margin:0;flex:1}.robot-config-toggle{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.robot-config-toggle input{opacity:0;width:0;height:0}.robot-config-toggle-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--jhl-color-border);transition:.2s;border-radius:24px}.robot-config-toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.2s;border-radius:50%;box-shadow:0 1px 3px #0003}.robot-config-toggle input:checked+.robot-config-toggle-slider{background-color:var(--jhl-color-success)}.robot-config-toggle input:checked+.robot-config-toggle-slider:before{transform:translate(20px)}.robot-config-details{display:flex;flex-direction:column;gap:12px}.robot-config-row{display:flex;align-items:center;gap:12px}.robot-config-row .robot-config-label{min-width:100px;margin-bottom:0}.robot-config-color-input{width:40px;height:32px;border:1px solid var(--jhl-color-border);border-radius:4px;cursor:pointer;background:none;padding:0}.robot-config-color-input::-webkit-color-swatch-wrapper{padding:0}.robot-config-color-input::-webkit-color-swatch{border:none;border-radius:3px}.robot-config-position{display:flex;gap:8px;align-items:center}.robot-config-number-input{width:60px;height:32px;border:1px solid var(--jhl-color-border);border-radius:4px;padding:0 8px;font-size:14px;text-align:center;background:var(--jhl-color-surface);color:var(--jhl-color-text-primary)}.robot-config-number-input:focus{outline:none;border-color:var(--jhl-color-primary);box-shadow:0 0 0 2px var(--jhl-color-primary-light)}.robot-config-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}.robot-config-button{padding:8px 16px;border-radius:6px;border:1px solid transparent;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.robot-config-button--primary{background:var(--jhl-color-primary);color:#fff;border-color:var(--jhl-color-primary)}.robot-config-button--primary:hover{background:var(--jhl-color-primary-dark);border-color:var(--jhl-color-primary-dark)}.robot-config-button--secondary{background:var(--jhl-color-surface);color:var(--jhl-color-text-primary);border-color:var(--jhl-color-border)}.robot-config-button--secondary:hover{background:var(--jhl-color-surface-variant);border-color:var(--jhl-color-border-dark)}.robot-config-button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:600px){.robot-config-panel{padding:12px;margin:0;border-radius:0;border-left:none;border-right:none}.robot-config-row{flex-direction:column;align-items:flex-start;gap:8px}.robot-config-row .robot-config-label{min-width:auto}.robot-config-actions{justify-content:stretch}.robot-config-button{flex:1;justify-content:center}.robot-config-header{flex-wrap:wrap}.robot-config-position{width:100%;justify-content:space-between}.robot-config-number-input{flex:1;min-width:0}}@media(prefers-color-scheme:dark){.robot-config-panel{background:var(--jhl-color-surface-dark, #1a1a1a);border-color:var(--jhl-color-border-dark, #333)}.robot-config-section{background:var(--jhl-color-surface-variant-dark, #222)}.robot-config-item{background:var(--jhl-color-surface-variant-dark, #222);border-color:var(--jhl-color-border-light-dark, #444)}.robot-config-number-input{background:var(--jhl-color-surface-dark, #1a1a1a);border-color:var(--jhl-color-border-dark, #333);color:var(--jhl-color-text-primary-dark, #fff)}}.robot-config-button:focus,.robot-config-number-input:focus,.robot-config-color-input:focus,.robot-count-slider:focus{outline:2px solid var(--jhl-color-primary);outline-offset:2px}.robot-config-toggle:focus-within .robot-config-toggle-slider{box-shadow:0 0 0 2px var(--jhl-color-primary-light)}.robot-config-item{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.asset-browser-theme-filter-select{flex:1;padding:6px 28px 6px 10px;border:1px solid var(--border-color, #444);border-radius:4px;background:var(--input-bg, #2d2d2d);color:var(--text-color, #fff);font-size:13px;outline:none;cursor:pointer;transition:border-color .2s,background-color .2s;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M2 4l4 4 4-4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.property-input-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:28px}:root{--editor-asset-browser-width: 280px;--editor-asset-browser-min-width: 160px;--editor-asset-browser-max-width: 600px;--editor-property-panel-width: 320px;--editor-sidebar-collapsed-width: 48px;--editor-header-height: 60px;--editor-toolbar-height: 48px;--editor-tab-bar-height: 44px;--editor-transition-speed: .3s;--editor-transition-easing: cubic-bezier(.4, 0, .2, 1)}.jhl-mode--editor.jhl-mode--editor-v2{padding:0!important;overflow:hidden!important;height:100vh!important;min-height:100vh!important;max-height:100vh!important;position:fixed!important;inset:0!important;width:100vw!important}.jhl-editor-v2-layout{display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr;width:100vw;height:100vh;max-height:100vh;overflow:hidden;background:var(--jhl-bg-secondary);position:absolute;inset:0}.jhl-editor-v2__asset-browser{grid-column:1;grid-row:1;display:flex;flex-direction:column;background:var(--jhl-card-bg);border-right:1px solid var(--jhl-border-primary);position:relative;min-width:var(--editor-asset-browser-min-width);max-width:var(--editor-asset-browser-max-width);height:100vh;overflow:hidden;transition:width var(--editor-transition-speed) var(--editor-transition-easing),transform var(--editor-transition-speed) var(--editor-transition-easing)}.jhl-editor-v2__asset-browser.resizing{transition:none}.jhl-editor-v2__resize-handle{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;z-index:10;background:transparent}.jhl-editor-v2__resize-handle:hover,.jhl-editor-v2__resize-handle.active{background:var(--jhl-primary);opacity:.5}.jhl-editor-v2__resize-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:32px;border-radius:2px;background:var(--jhl-border-primary);opacity:0;transition:opacity .2s}.jhl-editor-v2__resize-handle:hover:after,.jhl-editor-v2__resize-handle.active:after{opacity:1;background:var(--jhl-primary)}.jhl-editor-v2__canvas-area{grid-column:2;grid-row:1;display:flex;flex-direction:column;min-width:0;height:100vh;background:var(--jhl-bg-tertiary);overflow:hidden}.jhl-editor-v2__toolbar{display:flex;align-items:center;gap:var(--jhl-space-2);padding:var(--jhl-space-2) var(--jhl-space-3);background:var(--jhl-card-bg);border-bottom:1px solid var(--jhl-border-primary);min-height:var(--editor-toolbar-height);flex-wrap:wrap;flex-shrink:0}.jhl-editor__mode-switch{display:flex;gap:2px;background:var(--jhl-bg-tertiary);border-radius:var(--jhl-radius);padding:2px}.jhl-editor__mode-switch .jhl-btn{border-radius:calc(var(--jhl-radius) - 2px);padding:6px 12px;font-size:13px;transition:all .15s ease}.jhl-editor__mode-switch .jhl-btn .mode-label{margin-left:4px}.jhl-editor__mode-switch .jhl-btn--active{background:var(--jhl-primary);color:#fff;box-shadow:0 1px 3px #0003}.jhl-editor__mode-switch .jhl-btn:not(.jhl-btn--active):hover{background:var(--jhl-bg-secondary)}.level-editor-toolbar{display:flex;align-items:center;gap:4px;animation:slideIn .2s ease}.level-editor-toolbar .tool-label{margin-left:4px;font-size:12px}.level-editor-toolbar .jhl-btn{background:var(--jhl-tertiary-container, #f3e5f5);color:var(--jhl-on-tertiary-container, #4a148c);border:1px solid var(--jhl-tertiary, #9c27b0)}.level-editor-toolbar .jhl-btn:hover{background:var(--jhl-tertiary, #9c27b0);color:#fff}.level-editor-toolbar .jhl-btn--active{background:var(--jhl-tertiary, #9c27b0);color:#fff;box-shadow:0 2px 4px #9c27b04d}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.editor-mode--level{--editor-accent: var(--jhl-tertiary, #9c27b0)}.editor-mode--map{--editor-accent: var(--jhl-secondary, #ff9800)}.jhl-editor__tool-separator{width:1px;height:24px;background:var(--jhl-border-primary);margin:0 var(--jhl-space-1)}.jhl-editor__zoom-display{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:4px 8px;font-size:12px;font-weight:500;color:var(--jhl-text-secondary);background:var(--jhl-bg-tertiary);border-radius:var(--jhl-radius);user-select:none}.jhl-editor__compact-menu{position:relative}.jhl-editor__compact-menu>summary{display:inline-flex;align-items:center;gap:6px;list-style:none;cursor:pointer;user-select:none}.jhl-editor__compact-menu>summary::-webkit-details-marker{display:none}.jhl-editor__compact-menu[open]>summary{background:var(--jhl-bg-hover);color:var(--jhl-text-primary)}.jhl-editor__compact-menu-value{min-width:36px;color:var(--jhl-text-secondary);font-variant-numeric:tabular-nums}.jhl-editor__compact-menu-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:1200;display:flex;min-width:210px;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius);background:var(--jhl-card-bg);box-shadow:var(--jhl-shadow-lg)}.jhl-editor__compact-menu--right .jhl-editor__compact-menu-panel{right:0;left:auto}.jhl-editor__compact-menu-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.jhl-editor__compact-menu-item{display:flex;width:100%;align-items:center;gap:8px;padding:7px 9px;border:0;border-radius:var(--jhl-radius);background:transparent;color:var(--jhl-text-primary);font:inherit;text-align:left;cursor:pointer}.jhl-editor__compact-menu-item:hover,.jhl-editor__compact-menu-item:focus-visible{background:var(--jhl-bg-hover)}.jhl-editor__compact-menu-item[aria-pressed=true]{background:var(--jhl-primary);color:var(--jhl-white)}.jhl-editor__compact-menu-field{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px;color:var(--jhl-text-primary);font-size:.8125rem}.jhl-editor-v2__canvas-container{flex:1;position:relative;overflow:hidden}.jhl-editor-v2__canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block}.jhl-editor-v2__canvas-info{display:flex;justify-content:space-between;padding:var(--jhl-space-2) var(--jhl-space-3);background:var(--jhl-card-bg);border-top:1px solid var(--jhl-border-primary);font-size:.75rem;color:var(--jhl-text-tertiary);font-family:var(--jhl-font-mono);flex-shrink:0}.jhl-editor-v2__sidebar-toggle{display:none;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius);background:var(--jhl-card-bg);color:var(--jhl-text-secondary);cursor:pointer;transition:all .2s ease;flex-shrink:0}.jhl-editor-v2__sidebar-toggle:hover{background:var(--jhl-bg-hover);color:var(--jhl-text-primary)}.jhl-editor-v2__sidebar-toggle:focus{outline:2px solid var(--jhl-primary);outline-offset:2px}.jhl-editor-v2__sidebar-toggle-icon{font-size:1rem;transition:transform .2s ease}.jhl-editor-v2__asset-browser.collapsed{width:var(--editor-sidebar-collapsed-width)}.jhl-editor-v2__asset-browser.collapsed .asset-browser-content{opacity:0;visibility:hidden}.jhl-editor-v2__asset-browser.collapsed .jhl-editor-v2__sidebar-toggle-icon{transform:rotate(180deg)}.jhl-editor-v2__combos-panel{grid-column:1;grid-row:1;display:flex;flex-direction:column;background:var(--jhl-card-bg);border-right:1px solid var(--jhl-border-primary);position:relative;min-width:var(--editor-asset-browser-min-width);max-width:var(--editor-asset-browser-max-width);width:var(--editor-asset-browser-width);height:100vh;overflow:hidden;transition:width var(--editor-transition-speed) var(--editor-transition-easing),transform var(--editor-transition-speed) var(--editor-transition-easing)}.combos-panel-content,.combos-panel-split{display:flex;flex-direction:column;height:100%;overflow:hidden}.combos-panel-list{flex:1;min-height:200px;overflow:hidden;border-bottom:1px solid var(--jhl-border-primary)}.combos-panel-detail{flex:1;min-height:200px;overflow:hidden}.combos-panel-list combos-list,.combos-panel-detail combo-detail{display:block;width:100%;height:100%}.jhl-editor-v2__sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--jhl-space-3);border-bottom:1px solid var(--jhl-border-primary);background:var(--jhl-bg-tertiary);flex-shrink:0}.jhl-editor-v2__sidebar-title{margin:0;font-size:.875rem;font-weight:600;color:var(--jhl-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jhl-editor-v2__tab-bar{display:none;background:var(--jhl-card-bg);border-top:1px solid var(--jhl-border-primary);padding:var(--jhl-space-1)}.jhl-editor-v2__tab-bar-inner{display:flex;gap:var(--jhl-space-1)}.jhl-editor-v2__tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--jhl-space-1);padding:var(--jhl-space-2) var(--jhl-space-3);border:none;border-radius:var(--jhl-radius);background:transparent;color:var(--jhl-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.jhl-editor-v2__tab:hover{background:var(--jhl-bg-hover);color:var(--jhl-text-primary)}.jhl-editor-v2__tab.active{background:var(--jhl-primary);color:var(--jhl-white)}.jhl-editor-v2__tab-icon{font-size:1rem}.jhl-editor-v2__tab-label{display:none}@media(max-width:1200px)and (min-width:769px){:root{--editor-asset-browser-width: 240px;--editor-asset-browser-min-width: 140px;--editor-asset-browser-max-width: 400px;--editor-property-panel-width: 280px}.jhl-editor-v2__sidebar-toggle{display:flex}.jhl-editor-v2-layout{grid-template-columns:auto 1fr}.jhl-editor-v2__canvas-area{height:100vh}.jhl-editor-v2__asset-browser{width:var(--editor-asset-browser-width)}.jhl-editor-v2__asset-browser.collapsed{width:var(--editor-sidebar-collapsed-width)}.jhl-editor-v2__asset-browser.collapsed .jhl-editor-v2__sidebar-title{display:none}.jhl-editor-v2__asset-browser .asset-thumbnail-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}}@media(max-width:768px){.jhl-editor-v2-layout{grid-template-columns:1fr;grid-template-rows:1fr auto}.jhl-editor-v2__asset-browser{position:fixed;top:0;left:0;right:0;bottom:var(--editor-tab-bar-height);width:100%!important;z-index:200;transform:translateY(100%);border:none;transition:transform var(--editor-transition-speed) var(--editor-transition-easing)}.jhl-editor-v2__asset-browser.mobile-visible{transform:translateY(0)}.jhl-editor-v2__combos-panel{position:fixed;top:0;left:0;right:0;bottom:var(--editor-tab-bar-height);width:100%!important;z-index:200;transform:translateY(100%);border:none;transition:transform var(--editor-transition-speed) var(--editor-transition-easing)}.jhl-editor-v2__combos-panel.mobile-visible{transform:translateY(0)}.jhl-editor-v2__canvas-area{grid-column:1;grid-row:1;height:100vh}.jhl-editor-v2__tab-bar{display:block;grid-column:1;grid-row:2;position:sticky;bottom:0;z-index:100}@media(min-width:400px){.jhl-editor-v2__tab-label{display:inline}}.jhl-editor-v2__sidebar-toggle,.jhl-editor-v2__resize-handle{display:none!important}.jhl-editor-v2__toolbar{padding:var(--jhl-space-1) var(--jhl-space-2);gap:var(--jhl-space-1);overflow-x:auto;flex-wrap:nowrap}.jhl-editor-v2__asset-browser .asset-thumbnail-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}}.jhl-editor-v2__canvas-container{container-type:size;container-name:canvas-container}.jhl-editor-v2__canvas{image-rendering:pixelated;image-rendering:crisp-edges}.jhl-editor-v2__canvas-container.loading:after{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:3px solid var(--jhl-border-primary);border-top-color:var(--jhl-primary);border-radius:50%;animation:canvas-loading-spin .8s linear infinite}@keyframes canvas-loading-spin{to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.jhl-editor-v2__asset-browser .asset-thumbnail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px;padding:8px}@container (max-width: 200px){.asset-thumbnail-grid{grid-template-columns:repeat(2,1fr)}}@container (min-width: 201px) and (max-width: 300px){.asset-thumbnail-grid{grid-template-columns:repeat(3,1fr)}}@container (min-width: 301px){.asset-thumbnail-grid{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}}.jhl-editor-v2__tab:focus-visible,.jhl-editor-v2__sidebar-toggle:focus-visible{outline:2px solid var(--jhl-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.jhl-editor-v2__asset-browser,.jhl-editor-v2__property-panel,.jhl-editor-v2__sidebar-toggle-icon,.jhl-editor-v2__canvas-container.loading:after{transition:none;animation:none}}@media(prefers-contrast:high){.jhl-editor-v2__tab.active{outline:2px solid currentColor}.jhl-editor-v2__sidebar-toggle{border-width:2px}}html[data-theme=dark] .jhl-editor-v2__canvas-container{background:var(--jhl-bg-tertiary)}html[data-theme=dark] .jhl-editor-v2__toolbar,html[data-theme=dark] .jhl-editor-v2__canvas-info,html[data-theme=dark] .jhl-editor-v2__tab-bar{background:var(--jhl-card-bg);border-color:var(--jhl-border-primary)}.jhl-editor-v2__context-menu{position:absolute;z-index:1000;background:var(--jhl-card-bg);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius);box-shadow:0 2px 8px #00000026;min-width:160px;padding:4px 0}.jhl-editor-v2__context-menu-list{list-style:none;margin:0;padding:0}.jhl-editor-v2__context-menu-item{padding:8px 12px;font-size:.875rem;color:var(--jhl-text-primary);cursor:pointer;transition:background-color .2s}.jhl-editor-v2__context-menu-item:hover{background-color:var(--jhl-bg-hover)}.jhl-editor__mission-menu-wrapper{position:relative;display:inline-block}.jhl-editor__mission-menu{display:none;position:absolute;top:100%;left:0;z-index:1000;min-width:180px;background:var(--jhl-card-bg);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius);box-shadow:0 2px 8px #00000026;padding:4px 0;margin-top:4px}.jhl-editor__mission-menu.open{display:block!important}.jhl-editor__mission-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--jhl-text-primary);font-size:.875rem;text-align:left;cursor:pointer;transition:background-color .2s;position:relative}.jhl-editor__mission-menu-item:hover{background-color:var(--jhl-bg-hover)}.jhl-editor__mission-menu-item:focus{outline:2px solid var(--jhl-primary);outline-offset:-2px}.jhl-editor__mission-menu-item .menu-icon{font-size:1rem;flex-shrink:0}.jhl-editor__menu-separator{margin:4px 0;border:none;border-top:1px solid var(--jhl-border-primary)}.jhl-editor__mission-menu-item:has(+.jhl-editor__load-menu):after{content:"\25b8";position:absolute;right:8px;opacity:.6}.jhl-editor__load-menu{display:none;position:absolute;top:0;left:100%;z-index:1001;min-width:200px;max-height:300px;overflow-y:auto;background:var(--jhl-card-bg);border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius);box-shadow:0 2px 8px #00000026;padding:4px 0;margin-left:4px}.jhl-editor__load-menu.open{display:block!important}.property-panel-content{flex:1;overflow-y:auto;min-height:0}.level-editor-info-panel{max-width:100%;overflow-x:hidden;word-wrap:break-word}.entity-properties-list{max-width:100%;overflow-x:hidden}.entity-properties-list .property-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px solid var(--jhl-border-primary);word-wrap:break-word}.entity-properties-list .property-label{font-weight:500;color:var(--jhl-text-secondary);font-size:12px;flex-shrink:0;min-width:60px;max-width:100px;overflow:hidden;text-overflow:ellipsis}.entity-properties-list .property-value{color:var(--jhl-text-primary);font-size:12px;text-align:right;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word}.delete-entity-btn{max-width:100%!important;box-sizing:border-box!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.jhl-property-group{flex-shrink:0;padding:var(--jhl-space-3);border-top:1px solid var(--jhl-border-primary);background:var(--jhl-bg-tertiary)}.jhl-property-header{margin:0 0 var(--jhl-space-2) 0;font-size:.875rem;font-weight:600;color:var(--jhl-text-primary)}.jhl-property-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--jhl-space-2)}.jhl-property-row input{width:100px;padding:4px 8px;border:1px solid var(--jhl-border-primary);border-radius:var(--jhl-radius);background:var(--jhl-bg-secondary);color:var(--jhl-text-primary)}.jhl-property-help-text{font-size:.75rem;color:var(--jhl-text-secondary);margin-top:4px}.jhl-gate-palette-panel{position:absolute;top:calc(var(--editor-toolbar-height) + 12px);left:12px;width:240px;max-height:calc(100vh - var(--editor-toolbar-height) - 80px);background:var(--jhl-card-bg);border:1px solid var(--jhl-border-primary);border-radius:10px;box-shadow:0 4px 24px #00000040,0 1px 4px #0000001a;z-index:50;overflow:hidden;opacity:0;transform:translate(-12px) scale(.96);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.jhl-gate-palette-panel.visible{display:block!important;opacity:1;transform:translate(0) scale(1);pointer-events:auto}.jhl-gate-palette-panel__header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:linear-gradient(135deg,#38bdf81f,#8b5cf614);border-bottom:1px solid var(--jhl-border-primary);user-select:none}.jhl-gate-palette-panel__title{font-size:13px;font-weight:600;color:var(--jhl-text-primary);letter-spacing:.3px}.jhl-gate-palette-panel__close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:6px;background:transparent;color:var(--jhl-text-secondary);font-size:14px;cursor:pointer;transition:background .15s,color .15s;line-height:1}.jhl-gate-palette-panel__close:hover{background:#ffffff1a;color:var(--jhl-text-primary)}.jhl-gate-palette-panel__close:focus-visible{outline:2px solid var(--jhl-primary);outline-offset:1px}.jhl-gate-palette-panel__body{overflow-y:auto;max-height:calc(100vh - var(--editor-toolbar-height) - 140px);scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.jhl-gate-palette-panel__body::-webkit-scrollbar{width:5px}.jhl-gate-palette-panel__body::-webkit-scrollbar-track{background:transparent}.jhl-gate-palette-panel__body::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.jhl-gate-palette-panel__body::-webkit-scrollbar-thumb:hover{background:#ffffff40}@media(prefers-reduced-motion:reduce){.jhl-gate-palette-panel{transition:none}}@media(max-width:768px){.jhl-gate-palette-panel{display:none!important}}.jhl-action-nodes-panel-container{position:absolute;top:calc(var(--editor-toolbar-height) + 12px);left:264px;width:200px;background:var(--jhl-card-bg);border:1px solid var(--jhl-border-primary);border-radius:10px;box-shadow:0 4px 24px #00000040,0 1px 4px #0000001a;z-index:50;overflow:hidden;opacity:0;transform:translate(-12px) scale(.96);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.jhl-action-nodes-panel-container.visible{display:block!important;opacity:1;transform:translate(0) scale(1);pointer-events:auto}.jhl-action-nodes-panel-container__header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:linear-gradient(135deg,#38bdf81f,#8b5cf614);border-bottom:1px solid var(--jhl-border-primary);user-select:none}.jhl-action-nodes-panel-container__title{font-size:13px;font-weight:600;color:var(--jhl-text-primary)}.jhl-action-nodes-panel-container__close{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--jhl-text-secondary);font-size:13px;cursor:pointer;border-radius:4px;transition:background .15s,color .15s;padding:0}.jhl-action-nodes-panel-container__close:hover{background:#ffffff1a;color:var(--jhl-text-primary)}.jhl-action-nodes-panel-container__close:focus-visible{outline:2px solid var(--jhl-primary);outline-offset:1px}.jhl-action-nodes-panel-container__body{overflow-y:auto;max-height:calc(100vh - var(--editor-toolbar-height) - 140px)}@media(prefers-reduced-motion:reduce){.jhl-action-nodes-panel-container{transition:none}}@media(max-width:768px){.jhl-action-nodes-panel-container{display:none!important}}.jhl-editor-v2__inspector-dock{grid-column:3;grid-row:1;width:var(--editor-property-panel-width);height:100vh;overflow:hidden;min-width:0}.jhl-editor-v2-layout.inspector-docked-open{grid-template-columns:auto 1fr var(--editor-property-panel-width)}.jhl-editor__tool-group--right{margin-left:auto}.floating-window.floating-window--inspector-docked{position:relative;inset:auto;width:100%!important;height:100%!important;max-width:none;max-height:none;border:0;border-left:1px solid var(--jhl-border-primary);border-radius:0;box-shadow:none;z-index:auto!important}.floating-window--inspector-docked .floating-window__header{cursor:default}.floating-window--inspector-docked .floating-window__resize{display:none}@media(max-width:768px){.jhl-editor-v2-layout.inspector-docked-open{grid-template-columns:auto 1fr}.jhl-editor-v2__inspector-dock{display:none}}.jhl-hiiri-preview-panel{position:absolute;top:0;right:0;width:320px;height:100%;background:#1a1a2e;border-left:1px solid #333;z-index:40;overflow:hidden;opacity:0;transform:translate(12px);transition:opacity .2s ease,transform .2s ease;pointer-events:none}.jhl-hiiri-preview-panel.visible{display:flex!important;flex-direction:column;opacity:1;transform:translate(0);pointer-events:auto}@media(prefers-reduced-motion:reduce){.jhl-hiiri-preview-panel{transition:none}}@media(max-width:768px){.jhl-hiiri-preview-panel{display:none!important}}.editor-library-section{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.editor-library-section[hidden]{display:none!important}.editor-library-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:0 0 auto;background:#151b29;border-bottom:1px solid #4b5568}.editor-library-tab{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:7px;align-items:center;min-width:0;padding:9px 10px 8px;border:0;border-bottom:3px solid transparent;color:#9daabd;background:#202c3d;font:inherit;text-align:left;cursor:pointer}.editor-library-tab+.editor-library-tab{border-left:1px solid #465269}.editor-library-tab__icon{grid-row:1 / span 2;font-size:15px}.editor-library-tab__label{overflow:hidden;font-size:11px;font-weight:800;letter-spacing:.06em;line-height:1.1;text-overflow:ellipsis;text-transform:uppercase}.editor-library-tab__source{overflow:hidden;font-size:8px;line-height:1.2;opacity:.78;text-overflow:ellipsis;white-space:nowrap}.editor-library-tab:hover{color:#f8fafc;background:#2a374b}.editor-library-tab:focus-visible{position:relative;z-index:1;outline:2px solid #f8fafc;outline-offset:-3px}.editor-library-tab--entities.editor-library-tab--active{color:#fff;background:#3730a3;border-bottom-color:#a5b4fc}.editor-library-tab--assets.editor-library-tab--active{color:#fff;background:#243754;border-bottom-color:#f59e0b}.editor-library-tab--mission-objects .editor-library-tab__label{font-size:9px}.editor-library-tab--mission-objects.editor-library-tab--active{color:#fff7ed;background:#7c2d12;border-bottom-color:#fb923c}.editor-library-section--entities{--color-surface: #29265f;--color-item-bg: #37338a;--color-hover: #4540a8;--color-selected-bg: #514bc2;--color-preview-bg: #1e1b4b;--color-group-header: #312e81;--color-input-bg: #1e1b4b;--color-border: #6366f1;--color-accent: #a5b4fc;--color-badge-bg: #4338ca;--color-text: #f4f5ff;--color-text-muted: #c7d2fe;background:#29265f;border-bottom:2px solid #6366f1}.editor-library-section--assets{background:var(--jhl-card-bg, #1e293b)}.editor-library-section--mission-objects{color:#ffedd5;background:linear-gradient(180deg,#431f15,#2e1a18)}.mission-objects-browser-content{flex:1;min-height:0;overflow-y:auto}.mission-objects-browser{padding:12px}.mission-objects-browser__intro{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;padding:10px;color:#fed7aa;background:#7c2d128c;border:1px solid #9a4b25;border-radius:6px;font-size:11px}.mission-objects-browser__intro strong{color:#fff7ed;font-size:12px}.mission-objects-browser__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:9px}.mission-object-card{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;padding:10px 7px;color:#fff7ed;background:#6b2d19;border:2px solid transparent;border-radius:7px;font:inherit;text-align:center;cursor:grab}.mission-object-card:hover{background:#873b1d;border-color:#fb923c}.mission-object-card:focus-visible,.mission-object-card[aria-pressed=true]{outline:none;background:#9a431f;border-color:#fdba74}.mission-object-card--dragging{opacity:.55}.mission-object-card__preview{position:relative;display:flex;align-items:center;justify-content:center;width:58px;height:58px;background:#271613;border-radius:6px}.mission-object-card__preview img{position:relative;z-index:1;max-width:48px;max-height:48px;object-fit:contain}.mission-object-card__preview-fallback{position:absolute;inset:0;display:grid;place-items:center;font-size:28px;opacity:.55}.mission-object-card__preview-fallback[hidden]{display:none}.mission-object-card__marker{position:absolute;right:-3px;bottom:-3px;display:grid;place-items:center;width:20px;height:20px;color:#431407;background:#fb923c;border:2px solid #fff7ed;border-radius:50%;font-size:13px;font-weight:800}.mission-object-card__name{font-size:11px;font-weight:800}.mission-object-card__description{color:#fed7aa;font-size:9px;line-height:1.25}.entity-browser-content{flex:1;min-height:0;overflow:hidden}.editor-library-section__loading{padding:14px;color:#91a4bd;font-size:12px}.asset-browser{display:flex;flex-direction:column;background:var(--jhl-card-bg, #1e293b);border-right:1px solid var(--border-color, #333);height:100%;overflow:hidden}.jhl-editor-v2__asset-browser .asset-browser,.jhl-editor-v2__asset-browser .asset-browser-content,.jhl-editor-v2__asset-browser .asset-browser-categories{background:var(--jhl-card-bg, #1e293b)}.asset-browser-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.asset-browser-search{padding:8px;border-bottom:1px solid var(--border-color, #333);flex-shrink:0}.asset-browser-search-input{width:100%;padding:8px 12px;border:1px solid var(--border-color, #444);border-radius:4px;background:var(--input-bg, #2d2d2d);color:var(--text-color, #fff);font-size:14px;outline:none;transition:border-color .2s}.asset-browser-search-input:focus{border-color:var(--accent-color, #007acc)}.asset-browser-search-input::placeholder{color:var(--text-muted, #888)}.asset-browser-categories{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.asset-browser-categories::-webkit-scrollbar{width:8px}.asset-browser-categories::-webkit-scrollbar-track{background:var(--jhl-card-bg, #1e293b)}.asset-browser-categories::-webkit-scrollbar-thumb{background:var(--border-color, #444);border-radius:4px}.asset-browser-categories::-webkit-scrollbar-thumb:hover{background:var(--text-muted, #666)}.asset-category{border-bottom:1px solid var(--border-color, #333)}.asset-category-header{display:flex;align-items:center;padding:10px 12px;cursor:pointer;user-select:none;background:var(--jhl-bg-tertiary, #334155);transition:background-color .2s}.asset-category-header:hover{background:var(--jhl-bg-hover, #3d4a5c)}.asset-category-header:focus{outline:2px solid var(--accent-color, #007acc);outline-offset:-2px}.asset-category-icon{font-size:16px;margin-right:8px}.asset-category-name{flex:1;font-weight:500;color:var(--text-color, #fff)}.asset-category-count{padding:2px 8px;border-radius:10px;background:var(--badge-bg, #444);color:var(--text-muted, #aaa);font-size:12px;margin-right:8px}.asset-category-chevron{color:var(--text-muted, #888);font-size:10px;transition:transform .2s}.asset-category-content{padding:8px;background:var(--jhl-card-bg, #1e293b)}.asset-thumbnail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:8px}.asset-thumbnail{display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:6px;background:var(--thumbnail-bg, #2d2d2d);cursor:pointer;transition:all .2s;border:2px solid transparent}.asset-thumbnail:hover{background:var(--thumbnail-hover, #363636);transform:translateY(-2px)}.asset-thumbnail:focus{outline:none;border-color:var(--accent-color, #007acc)}.asset-thumbnail.selected{border-color:var(--accent-color, #007acc);background:var(--thumbnail-selected, #1a3a5c)}.asset-thumbnail-image-container{width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin-bottom:4px;position:relative;background:var(--image-container-bg, #222);border-radius:4px;overflow:hidden}.asset-thumbnail-image{max-width:100%;max-height:100%;object-fit:contain;opacity:0;transition:opacity .3s}.asset-thumbnail.loaded .asset-thumbnail-image{opacity:1}.asset-thumbnail.loading .asset-thumbnail-image-container:after{content:"";position:absolute;width:20px;height:20px;border:2px solid var(--accent-color, #007acc);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.asset-thumbnail-placeholder{font-size:24px;opacity:.6;font-family:"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji",sans-serif;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.asset-thumbnail.failed .asset-thumbnail-placeholder{color:var(--error-color, #ff6b6b)}.asset-thumbnail-name{font-size:11px;color:var(--text-muted, #aaa);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}@media(max-width:1200px){.asset-thumbnail-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.asset-thumbnail-image-container{width:40px;height:40px}}@media(max-width:768px){.asset-thumbnail-grid{grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:6px}.asset-thumbnail{padding:6px}.asset-thumbnail-image-container{width:36px;height:36px}.asset-thumbnail-name{font-size:10px}}@media(prefers-contrast:high){.asset-thumbnail{border:2px solid var(--text-color, #fff)}.asset-thumbnail.selected{border-color:var(--accent-color, #007acc);background:var(--accent-color, #007acc)}.asset-category-header:focus{outline-width:3px}}@media(prefers-reduced-motion:reduce){.asset-thumbnail,.asset-thumbnail-image,.asset-category-chevron{transition:none}.asset-thumbnail:hover{transform:none}.asset-thumbnail.loading .asset-thumbnail-image-container:after{animation:none}}.asset-thumbnail-theme-badge{position:absolute;top:2px;right:2px;padding:1px 4px;font-size:8px;font-weight:600;text-transform:uppercase;color:var(--badge-text-color, #fff);background:var(--theme-badge-bg, rgba(0, 122, 204, .85));border-radius:3px;line-height:1.2;pointer-events:none;z-index:1;max-width:28px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-thumbnail.cross-theme{border-color:var(--cross-theme-border, rgba(0, 122, 204, .3))}.asset-thumbnail.cross-theme:hover{border-color:var(--cross-theme-border-hover, rgba(0, 122, 204, .5))}.asset-thumbnail-theme-badge[title*=kenney]{background:var(--theme-kenney-bg, rgba(76, 175, 80, .85))}.asset-thumbnail-theme-badge[title*=space]{background:var(--theme-space-bg, rgba(103, 58, 183, .85))}.asset-thumbnail-theme-badge[title*=adventure]{background:var(--theme-adventure-bg, rgba(255, 152, 0, .85))}.asset-thumbnail-theme-badge[title*=military]{background:var(--theme-military-bg, rgba(96, 125, 139, .85))}.asset-thumbnail-theme-badge[title*=racing]{background:var(--theme-racing-bg, rgba(244, 67, 54, .85))}.asset-thumbnail-theme-badge[title*=default]{background:var(--theme-default-bg, rgba(158, 158, 158, .85))}@media(max-width:1200px){.asset-thumbnail-theme-badge{font-size:7px;padding:1px 3px;max-width:24px}}@media(max-width:768px){.asset-thumbnail-theme-badge{font-size:6px;padding:0 2px;max-width:20px}}@media(prefers-contrast:high){.asset-thumbnail-theme-badge{background:var(--accent-color, #007acc);border:1px solid var(--text-color, #fff)}}.asset-theme-group{margin-bottom:12px}.asset-theme-group:last-child{margin-bottom:0}.asset-theme-subheader{display:flex;align-items:center;padding:6px 8px;margin-bottom:8px;background:var(--theme-subheader-bg, rgba(255, 255, 255, .05));border-radius:4px;border-left:3px solid var(--accent-color, #007acc)}.asset-theme-subheader-name{flex:1;font-size:12px;font-weight:500;color:var(--text-color, #fff)}.asset-theme-subheader-count{padding:2px 6px;border-radius:8px;background:var(--badge-bg, #444);color:var(--text-muted, #aaa);font-size:10px}.asset-theme-group[data-theme-id=kenney] .asset-theme-subheader{border-left-color:var(--theme-kenney-bg, #4caf50)}.asset-theme-group[data-theme-id=space] .asset-theme-subheader{border-left-color:var(--theme-space-bg, #673ab7)}.asset-theme-group[data-theme-id=adventure] .asset-theme-subheader{border-left-color:var(--theme-adventure-bg, #ff9800)}.asset-theme-group[data-theme-id=military] .asset-theme-subheader{border-left-color:var(--theme-military-bg, #607d8b)}.asset-theme-group[data-theme-id=racing] .asset-theme-subheader{border-left-color:var(--theme-racing-bg, #f44336)}.asset-theme-group[data-theme-id=default] .asset-theme-subheader{border-left-color:var(--theme-default-bg, #9e9e9e)}.asset-theme-group[data-theme-id=builtin] .asset-theme-subheader{border-left-color:var(--theme-builtin-bg, #795548)}.asset-theme-group[data-theme-id=common] .asset-theme-subheader{border-left-color:var(--theme-common-bg, #9e9e9e)}@media(max-width:768px){.asset-theme-subheader{padding:4px 6px;margin-bottom:6px}.asset-theme-subheader-name{font-size:11px}.asset-theme-subheader-count{font-size:9px;padding:1px 4px}}@media(prefers-contrast:high){.asset-theme-subheader{background:var(--panel-bg, #1e1e1e);border:1px solid var(--border-color, #444);border-left-width:4px}}.asset-browser-theme-filter{padding:8px;border-bottom:1px solid var(--border-color, #333);flex-shrink:0;display:flex;align-items:center;gap:8px}.asset-browser-theme-filter-label{font-size:12px;color:var(--text-muted, #aaa);white-space:nowrap}.asset-browser-theme-filter-select{flex:1;padding:6px 28px 6px 10px;border:1px solid var(--border-color, #444);border-radius:4px;background:var(--input-bg, #2d2d2d);color:var(--text-color, #fff);font-size:13px;outline:none;cursor:pointer;transition:border-color .2s,background-color .2s;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M2 4l4 4 4-4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.asset-browser-theme-filter-select:hover{border-color:var(--border-hover, #555);background-color:var(--input-hover-bg, #363636)}.asset-browser-theme-filter-select:focus{border-color:var(--accent-color, #007acc)}.asset-browser-theme-filter-select option{background:var(--input-bg, #2d2d2d);color:var(--text-color, #fff);padding:8px}.asset-browser-theme-filter-select option[data-theme-id]{padding-left:24px}@media(max-width:768px){.asset-browser-theme-filter{padding:6px;gap:6px}.asset-browser-theme-filter-label{font-size:11px}.asset-browser-theme-filter-select{font-size:12px;padding:5px 24px 5px 8px}}@media(prefers-contrast:high){.asset-browser-theme-filter-select{border-width:2px}.asset-browser-theme-filter-select:focus{outline:2px solid var(--accent-color, #007acc);outline-offset:2px}}@media(prefers-reduced-motion:reduce){.asset-browser-theme-filter-select{transition:none}}.property-sprite-override-container{display:flex;flex-direction:column;gap:8px}.property-input-sprite-override{width:100%;padding:6px 10px;border:1px solid var(--border-color, #444);border-radius:4px;background:var(--input-bg, #2d2d2d);color:var(--text-color, #fff);font-size:13px;outline:none;cursor:pointer;transition:border-color .2s,background-color .2s}.property-input-sprite-override:hover{border-color:var(--border-hover, #555);background-color:var(--input-hover-bg, #363636)}.property-input-sprite-override:focus{border-color:var(--accent-color, #007acc)}.property-input-sprite-override option{background:var(--input-bg, #2d2d2d);color:var(--text-color, #fff);padding:8px}.property-input-sprite-override optgroup{font-weight:600;color:var(--text-muted, #aaa);background:var(--category-header-bg, #252525);padding:4px 8px}.property-sprite-override-preview{display:flex;align-items:center;gap:8px;padding:8px;background:var(--thumbnail-bg, #2d2d2d);border-radius:4px;min-height:48px}.property-sprite-override-preview-image{width:40px;height:40px;object-fit:contain;border-radius:4px;background:var(--image-container-bg, #222)}.property-sprite-override-preview-label{font-size:12px;color:var(--text-color, #fff);flex:1}.property-sprite-override-preview-none{font-size:12px;color:var(--text-muted, #888);font-style:italic}.property-sprite-override-preview-unknown{font-size:11px;color:var(--text-muted, #888);font-family:monospace;word-break:break-all}.property-sprite-override-placeholder{font-size:12px;color:var(--text-muted, #888);font-style:italic}@media(max-width:768px){.property-input-sprite-override{font-size:12px;padding:5px 8px}.property-sprite-override-preview{padding:6px;min-height:40px}.property-sprite-override-preview-image{width:32px;height:32px}.property-sprite-override-preview-label{font-size:11px}}@media(prefers-contrast:high){.property-input-sprite-override{border-width:2px}.property-input-sprite-override:focus{outline:2px solid var(--accent-color, #007acc);outline-offset:2px}.property-sprite-override-preview{border:1px solid var(--border-color, #444)}}@media(prefers-reduced-motion:reduce){.property-input-sprite-override{transition:none}}.asset-browser-context-menu{position:fixed;z-index:10000;min-width:180px;background:var(--panel-bg, #252525);border:1px solid var(--border-color, #444);border-radius:6px;box-shadow:0 4px 12px #0006;padding:4px 0;font-size:13px}.asset-browser-context-menu-item{padding:8px 16px;cursor:pointer;color:var(--text-color, #fff);transition:background-color .15s;white-space:nowrap}.asset-browser-context-menu-item:hover{background:var(--accent-color, #007acc)}.asset-browser-context-menu-item:active{background:var(--accent-color-dark, #005a9e)}.asset-browser-context-menu-separator{height:1px;background:var(--border-color, #444);margin:4px 8px}@media(prefers-contrast:high){.asset-browser-context-menu{border-width:2px}.asset-browser-context-menu-item:hover{outline:2px solid var(--text-color, #fff);outline-offset:-2px}}@media(prefers-reduced-motion:reduce){.asset-browser-context-menu-item{transition:none}}.asset-thumbnail-variant-badge{position:absolute;bottom:2px;left:2px;font-size:8px;padding:1px 4px;color:var(--badge-text-color, #fff);background:var(--variant-badge-bg, rgba(255, 152, 0, .85));border-radius:3px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40px;cursor:pointer;pointer-events:auto;z-index:2;transition:background .15s ease}.asset-thumbnail-variant-badge:hover{background:var(--variant-badge-hover-bg, rgba(255, 152, 0, 1))}.asset-thumbnail-variant-badge.variant-selected{background:var(--variant-badge-selected-bg, rgba(76, 175, 80, .9))}.asset-thumbnail.has-variants{border-color:var(--variant-border-color, rgba(255, 152, 0, .4))}.asset-thumbnail.has-variants:hover{border-color:var(--variant-border-hover-color, rgba(255, 152, 0, .7))}.asset-variant-popup{background:var(--popup-bg, #2d2d2d);border:1px solid var(--popup-border, #555);border-radius:6px;padding:8px;min-width:180px;max-width:320px;max-height:400px;overflow-y:auto;box-shadow:0 4px 16px #0006;font-size:12px;color:var(--text-color, #ddd)}.asset-variant-popup__style{margin-bottom:8px}.asset-variant-popup__style:last-child{margin-bottom:0}.asset-variant-popup__style-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #aaa);margin-bottom:4px;padding-bottom:2px;border-bottom:1px solid var(--popup-divider, #444)}.asset-variant-popup__state-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:4px}.asset-variant-popup__state-item{display:flex;flex-direction:column;align-items:center;padding:4px;border:1px solid transparent;border-radius:4px;cursor:grab;transition:background .1s ease,border-color .1s ease}.asset-variant-popup__state-item:hover{background:var(--popup-item-hover, #3a3a3a);border-color:var(--accent-color, #007acc)}.asset-variant-popup__state-item.selected{background:var(--popup-item-selected, rgba(0, 122, 204, .2));border-color:var(--accent-color, #007acc)}.asset-variant-popup__state-item:focus-visible{outline:2px solid var(--accent-color, #007acc);outline-offset:1px}.asset-variant-popup__preview{width:40px;height:40px;object-fit:contain;border-radius:2px}.asset-variant-popup__state-label{font-size:9px;color:var(--text-muted, #aaa);text-align:center;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:56px}@media(max-width:1200px){.asset-thumbnail-variant-badge{font-size:7px;padding:1px 3px;max-width:32px}}@media(max-width:768px){.asset-thumbnail-variant-badge{font-size:6px;padding:0 2px;max-width:24px}}@media(prefers-contrast:high){.asset-thumbnail-variant-badge{background:var(--accent-color, #007acc);border:1px solid var(--text-color, #fff)}.asset-variant-popup{border:2px solid var(--text-color, #fff)}.asset-variant-popup__state-item:hover{border-color:var(--text-color, #fff)}}@media(prefers-reduced-motion:reduce){.asset-thumbnail-variant-badge,.asset-variant-popup__state-item{transition:none}}.tool-palette{display:flex;flex-direction:column;gap:16px;padding:12px;background:var(--panel-bg, #1e1e1e);border-right:1px solid var(--border-color, #333);min-width:80px;overflow-y:auto}.tool-group{display:flex;flex-direction:column;gap:8px}.tool-group-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted, #888);padding:0 4px}.tool-group-buttons{display:flex;flex-direction:column;gap:4px}.tool-palette-separator{height:1px;background:var(--border-color, #333);margin:4px 0}.tool-button{display:flex;align-items:center;gap:8px;padding:10px 12px;border:2px solid transparent;border-radius:8px;background:var(--button-bg, #2d2d2d);color:var(--text-color, #fff);cursor:pointer;transition:all .15s ease;font-size:14px;text-align:left;position:relative}.tool-button:hover{background:var(--button-hover, #363636);transform:translate(2px)}.tool-button:focus{outline:none;border-color:var(--accent-color, #007acc)}.tool-button:focus-visible{outline:2px solid var(--accent-color, #007acc);outline-offset:2px}.tool-button.active{background:var(--accent-color, #007acc);border-color:var(--accent-color-light, #1a8cff);box-shadow:0 0 12px #007acc66}.tool-button.active:hover{background:var(--accent-color-hover, #0088e6)}.tool-button.disabled,.tool-button:disabled{opacity:.4;cursor:not-allowed;transform:none}.tool-button.disabled:hover,.tool-button:disabled:hover{background:var(--button-bg, #2d2d2d);transform:none}.tool-button-icon{font-size:20px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tool-button-name{flex:1;font-weight:500}.tool-button-shortcut{font-size:10px;padding:2px 6px;border-radius:4px;background:var(--shortcut-bg, rgba(255, 255, 255, .1));color:var(--text-muted, #aaa);font-family:monospace;font-weight:600}.tool-button.active .tool-button-shortcut{background:#fff3;color:var(--text-color, #fff)}.tool-group-actions .tool-button{background:var(--action-button-bg, #252525)}.tool-group-actions .tool-button:hover:not(.disabled){background:var(--action-button-hover, #303030)}.tool-button[title]{position:relative}.tool-button:after{content:attr(title);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:6px 10px;background:var(--tooltip-bg, #333);color:var(--tooltip-color, #fff);font-size:12px;white-space:nowrap;border-radius:4px;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:1000;pointer-events:none;box-shadow:0 2px 8px #0000004d}.tool-button:hover:after{opacity:1;visibility:visible}@media(max-width:1200px){.tool-palette{min-width:70px;padding:8px}.tool-button{padding:8px 10px}.tool-button-icon{font-size:18px;width:24px;height:24px}.tool-button-name{font-size:13px}}@media(max-width:768px){.tool-palette{flex-direction:row;flex-wrap:wrap;min-width:auto;border-right:none;border-bottom:1px solid var(--border-color, #333);padding:8px;gap:8px}.tool-group{flex-direction:row;align-items:center;gap:4px}.tool-group-label{display:none}.tool-group-buttons{flex-direction:row;gap:4px}.tool-palette-separator{width:1px;height:32px;margin:0 4px}.tool-button{padding:8px;flex-direction:column;gap:2px}.tool-button-name{font-size:10px}.tool-button-shortcut{display:none}.tool-button:after{left:50%;top:calc(100% + 8px);transform:translate(-50%)}}@media(prefers-contrast:high){.tool-button{border:2px solid var(--text-color, #fff)}.tool-button.active{background:var(--accent-color, #007acc);border-color:var(--text-color, #fff)}.tool-button:focus{outline-width:3px}}@media(prefers-reduced-motion:reduce){.tool-button{transition:none}.tool-button:hover{transform:none}.tool-button:after{transition:none}}.property-panel{display:flex;flex-direction:column;height:100%;background:var(--panel-bg, #1e1e1e);border-left:1px solid var(--border-color, #333);overflow:hidden;min-width:250px}.property-panel-header{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--border-color, #333);background:var(--header-bg, #252525);flex-shrink:0}.property-panel-header-icon{font-size:18px}.property-panel-header-title{font-weight:600;color:var(--text-color, #fff);flex:1}.property-panel-header-id{font-size:12px;color:var(--text-muted, #888);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.property-panel-preview{display:flex;justify-content:center;align-items:center;padding:16px;border-bottom:1px solid var(--border-color, #333);background:var(--preview-bg, #1a1a1a);flex-shrink:0}.property-panel-preview-sprite{width:64px;height:64px;border-radius:8px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000004d}.property-panel-preview-icon{font-size:32px}.property-panel-sections{flex:1;overflow-y:auto;overflow-x:hidden;min-height:0}.property-section{border-bottom:1px solid var(--border-color, #333)}.property-section-header{display:flex;align-items:center;padding:10px 12px;cursor:pointer;user-select:none;background:var(--section-header-bg, #252525);transition:background-color .2s}.property-section-header:hover{background:var(--section-header-hover, #2a2a2a)}.property-section-header:focus{outline:2px solid var(--accent-color, #007acc);outline-offset:-2px}.property-section-icon{font-size:14px;margin-right:8px}.property-section-title{flex:1;font-weight:500;font-size:13px;color:var(--text-color, #fff)}.property-section-chevron{color:var(--text-muted, #888);font-size:10px;transition:transform .2s}.property-section-content{padding:8px 12px;background:var(--section-content-bg, #1a1a1a)}.property-row{display:flex;align-items:center;gap:8px;padding:6px 0}.property-label{flex:0 0 80px;font-size:12px;color:var(--text-muted, #aaa);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.property-editor{flex:1;min-width:0}.property-input{width:100%;padding:6px 8px;border:1px solid var(--border-color, #444);border-radius:4px;background:var(--input-bg, #2d2d2d);color:var(--text-color, #fff);font-size:13px;outline:none;transition:border-color .2s}.property-input:focus{border-color:var(--accent-color, #007acc)}.property-input:disabled,.property-input[readonly]{opacity:.6;cursor:not-allowed}.property-input-readonly{background:var(--input-bg-readonly, #252525);font-style:italic;color:var(--text-muted, #aaa)}.property-input::placeholder{color:var(--text-muted, #666)}.property-input-number{text-align:right;font-family:monospace}.property-color-container{display:flex;gap:8px;align-items:center}.property-input-color{width:32px;height:32px;padding:2px;cursor:pointer;border-radius:4px}.property-input-color-text{flex:1;font-family:monospace;text-transform:uppercase}.property-input-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L2 4h8z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:28px}.property-checkbox-container{display:flex;align-items:center}.property-input-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-color, #007acc)}.property-range-container{display:flex;gap:8px;align-items:center}.property-input-range{flex:1;height:6px;cursor:pointer;-webkit-appearance:none;appearance:none;background:var(--input-bg, #1e1e2e);border-radius:3px;outline:none;margin:0;padding:0}.property-input-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent-color, #007acc);cursor:pointer;border:none}.property-input-range::-webkit-slider-thumb:hover{background:#339af0}.property-input-range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent-color, #007acc);cursor:pointer;border:none}.property-input-range::-moz-range-thumb:hover{background:#339af0}.property-input-range::-moz-range-track{height:6px;background:var(--input-bg, #1e1e2e);border-radius:3px;border:none}.property-range-value{min-width:32px;text-align:right;font-size:12px;font-family:monospace;color:var(--text-muted, #aaa)}.property-input-text{resize:vertical;min-height:60px;font-family:inherit}@media(max-width:1200px){.property-panel{min-width:220px}.property-label{flex:0 0 70px;font-size:11px}.property-input{font-size:12px;padding:5px 6px}}@media(max-width:768px){.property-panel{min-width:auto;border-left:none;border-top:1px solid var(--border-color, #333)}.property-row{flex-direction:column;align-items:stretch;gap:4px}.property-label{flex:none}}@media(prefers-contrast:high){.property-input{border:2px solid var(--text-color, #fff)}.property-input:focus{border-color:var(--accent-color, #007acc);outline:2px solid var(--accent-color, #007acc)}.property-section-header:focus{outline-width:3px}}@media(prefers-reduced-motion:reduce){.property-input,.property-section-header,.property-section-chevron{transition:none}}.property-z-order-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px 0}.property-z-order-button{padding:8px 12px;border:1px solid var(--border-color, #444);border-radius:4px;background:var(--button-bg, #2d2d2d);color:var(--text-color, #fff);font-size:11px;cursor:pointer;transition:background-color .2s,border-color .2s;text-align:center;white-space:nowrap}.property-z-order-button:hover{background:var(--button-hover-bg, #3d3d3d);border-color:var(--accent-color, #007acc)}.property-z-order-button:active{background:var(--button-active-bg, #4d4d4d)}.property-z-order-button:focus{outline:2px solid var(--accent-color, #007acc);outline-offset:-2px}.property-panel-debug{flex-shrink:0;border-top:1px solid var(--border-color, #333);background:var(--panel-bg-dark, #1a1a1a);max-height:250px;overflow-y:auto}.property-debug-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--header-bg, #252525);border-bottom:1px solid var(--border-color, #333)}.property-debug-header-icon{font-size:14px}.property-debug-header-title{font-weight:500;font-size:12px;color:var(--text-muted, #aaa);text-transform:uppercase;letter-spacing:.5px}.property-debug-content{padding:8px 12px;font-family:monospace;font-size:11px}.property-debug-empty{padding:8px 0;text-align:center;color:var(--text-muted, #666);font-style:italic}.property-debug-row{display:flex;justify-content:space-between;padding:2px 0;gap:8px}.property-debug-label{color:var(--text-muted, #888);flex-shrink:0}.property-debug-value{color:var(--text-color, #fff);text-align:right;overflow:hidden;text-overflow:ellipsis}.property-debug-separator{height:1px;background:var(--border-color, #444);margin:6px 0}.drag-ghost-preview{position:fixed;pointer-events:none;z-index:10000;opacity:.7;transform:translate(-50%,-50%)}.drag-ghost-preview>div{background:#6496ff80;border:2px dashed #0066cc;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#06c;font-weight:500}.editor-canvas.drag-over{outline:2px dashed #0066cc;outline-offset:-2px}.asset-thumbnail.dragging{opacity:.5;transform:scale(.95)}.canvas-drop-highlight{position:absolute;pointer-events:none;border:2px dashed #00cc66;background:#00cc661a;border-radius:4px}.snap-indicator{position:absolute;pointer-events:none;background:#0066cc4d;border:1px solid #0066cc}.snap-indicator.horizontal{height:1px;width:100%}.snap-indicator.vertical{width:1px;height:100%}.grid-snap-preview{position:absolute;pointer-events:none;width:8px;height:8px;background:#06c;border-radius:50%;transform:translate(-50%,-50%);opacity:.7}@media(prefers-color-scheme:dark){.drag-ghost-preview>div{background:#6496ff66;border-color:#48f;color:#8bf}.editor-canvas.drag-over{outline-color:#48f}.canvas-drop-highlight{border-color:#4c8;background:#44cc8826}}.editor-context-menu{position:fixed;z-index:10000;min-width:180px;background:var(--bg-secondary, #2d2d2d);border:1px solid var(--border-color, #444);border-radius:6px;box-shadow:0 4px 12px #0000004d;padding:4px 0;font-family:var(--font-family, system-ui, -apple-system, sans-serif);font-size:13px;user-select:none}.context-menu-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;cursor:pointer;color:var(--text-primary, #e0e0e0);transition:background-color .1s ease}.context-menu-item:hover:not(.disabled){background:var(--accent-color, #4a9eff);color:#fff}.context-menu-item.disabled{color:var(--text-muted, #666);cursor:default}.context-menu-item.disabled:hover{background:transparent}.context-menu-label{flex:1}.context-menu-shortcut{margin-left:24px;font-size:11px;color:var(--text-muted, #888)}.context-menu-item:hover:not(.disabled) .context-menu-shortcut{color:#ffffffb3}.context-menu-separator{height:1px;background:var(--border-color, #444);margin:4px 8px}@media(prefers-color-scheme:light){.editor-context-menu{background:#fff;border-color:#ddd;box-shadow:0 4px 12px #00000026}.context-menu-item{color:#333}.context-menu-item.disabled{color:#999}.context-menu-shortcut{color:#666}.context-menu-separator{background:#ddd}}.floating-window{position:fixed;z-index:55000;display:flex;flex-direction:column;min-width:200px;min-height:150px;background:#1e1e1ef2;border:1px solid var(--border-color, #444);border-radius:8px;box-shadow:0 8px 24px #0006;font-family:var(--font-family, system-ui, -apple-system, sans-serif);font-size:12px;color:var(--text-primary, #e0e0e0);backdrop-filter:blur(8px);overflow:hidden}.floating-window--dragging{opacity:.9;cursor:move}.floating-window--resizing{user-select:none}.floating-window--collapsed{min-height:auto}.floating-window__header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#0000004d;border-bottom:1px solid var(--border-color, #444);cursor:move;user-select:none;flex-shrink:0}.floating-window__icon{margin-right:8px;font-size:14px}.floating-window__title{flex:1;font-weight:600;font-size:13px;color:var(--text-primary, #fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.floating-window__controls{display:flex;gap:4px;margin-left:8px}.floating-window__btn{width:24px;height:24px;padding:0;border:none;background:transparent;color:var(--text-muted, #888);font-size:16px;line-height:1;cursor:pointer;border-radius:4px;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.floating-window__btn:hover{background:#ffffff1a;color:var(--text-primary, #fff)}.floating-window__close:hover{background:#ff50504d;color:#ff6b6b}.floating-window__content{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px;min-height:0}.floating-window__resize{position:absolute;z-index:10}.floating-window__resize--se{right:0;bottom:0;width:16px;height:16px;cursor:se-resize;background:linear-gradient(135deg,transparent 50%,var(--border-color, #555) 50%,var(--border-color, #555) 60%,transparent 60%,transparent 70%,var(--border-color, #555) 70%,var(--border-color, #555) 80%,transparent 80%);opacity:.6;transition:opacity .15s ease}.floating-window__resize--sw{left:0;bottom:0;width:16px;height:16px;cursor:sw-resize}.floating-window__resize--ne{right:0;top:0;width:16px;height:16px;cursor:ne-resize}.floating-window__resize--nw{left:0;top:0;width:16px;height:16px;cursor:nw-resize}.floating-window__resize--e{right:0;top:16px;bottom:16px;width:6px;cursor:e-resize}.floating-window__resize--w{left:0;top:16px;bottom:16px;width:6px;cursor:w-resize}.floating-window__resize--n{top:0;left:16px;right:16px;height:6px;cursor:n-resize}.floating-window__resize--s{bottom:0;left:16px;right:16px;height:6px;cursor:s-resize}.floating-window__resize--se:hover{opacity:1}.floating-window__content::-webkit-scrollbar{width:8px}.floating-window__content::-webkit-scrollbar-track{background:transparent}.floating-window__content::-webkit-scrollbar-thumb{background:var(--border-color, #555);border-radius:4px}.floating-window__content::-webkit-scrollbar-thumb:hover{background:var(--text-muted, #666)}.floating-window[data-dock-preview=left],.floating-window[data-dock-preview=right],.floating-window[data-dock-preview=top],.floating-window[data-dock-preview=bottom]{border-color:var(--accent-color, #4a9eff);box-shadow:0 0 20px #4a9eff4d}[data-theme=light] .floating-window{background:#fffffff2;border-color:#ddd;color:#333}[data-theme=light] .floating-window__header{background:#0000000d;border-color:#ddd}[data-theme=light] .floating-window__title{color:#333}[data-theme=light] .floating-window__btn{color:#666}[data-theme=light] .floating-window__btn:hover{background:#0000001a;color:#333}.property-window__multi{text-align:center;padding:24px 12px;color:var(--text-muted, #888)}.property-window__multi-count{font-size:14px;font-weight:600;margin:0 0 8px;color:var(--text-primary, #e0e0e0)}.property-window__multi-hint{font-size:12px;margin:0;opacity:.7}.property-window__section{margin-bottom:8px}.property-window__section-header{display:flex;align-items:center;padding:8px 10px;background:#ffffff0d;border-radius:4px;cursor:pointer;user-select:none;transition:background .15s ease}.property-window__section-header:hover{background:#ffffff1a}.property-window__section-icon{margin-right:8px;font-size:14px}.property-window__section-title{flex:1;font-weight:500;font-size:12px}.property-window__section-arrow{font-size:10px;color:var(--text-muted, #888)}.property-window__section-content{padding:8px 0}.property-window__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:4px 0;gap:8px}.property-window__row--full{flex-direction:column;align-items:stretch}.property-window__label{flex-shrink:0;font-size:11px;color:var(--text-muted, #888);min-width:70px}.property-window__input,.property-window__select{flex:1;min-width:0;padding:4px 8px;background:#0000004d;border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:12px;font-family:inherit}.property-window__input:focus,.property-window__select:focus{outline:none;border-color:var(--accent-color, #4a9eff)}.property-window__input[type=number]{width:80px;flex:none;text-align:right}.property-window__textarea{width:100%;min-height:60px;padding:8px;background:#0000004d;border:1px solid var(--border-color, #444);border-radius:4px;color:var(--text-primary, #e0e0e0);font-size:12px;font-family:inherit;resize:vertical}.property-window__textarea:focus{outline:none;border-color:var(--accent-color, #4a9eff)}.property-window__color{width:60px;height:28px;padding:2px;background:#0000004d;border:1px solid var(--border-color, #444);border-radius:4px;cursor:pointer}.property-window__checkbox{width:16px;height:16px;cursor:pointer}.property-window__range{flex:1;height:6px;cursor:pointer;-webkit-appearance:none;appearance:none;background:var(--input-bg, #1e1e2e);border-radius:3px;outline:none;margin:0 6px 0 0;padding:0}.property-window__range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent-color, #4a9eff);cursor:pointer;border:none}.property-window__range::-webkit-slider-thumb:hover{background:#6ab0ff}.property-window__range::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent-color, #4a9eff);cursor:pointer;border:none}.property-window__range::-moz-range-thumb:hover{background:#6ab0ff}.property-window__range::-moz-range-track{height:6px;background:var(--input-bg, #1e1e2e);border-radius:3px;border:none}.property-window__range-value{min-width:32px;text-align:right;font-size:11px;font-family:monospace;color:var(--text-muted, #888)}[data-theme=light] .property-window__section-header{background:#0000000d}[data-theme=light] .property-window__section-header:hover{background:#0000001a}[data-theme=light] .property-window__input,[data-theme=light] .property-window__select,[data-theme=light] .property-window__textarea{background:#fffc;border-color:#ddd;color:#333}.property-window__help{flex:0 0 100%;padding-left:78px;color:var(--text-muted, #888);font-size:10px;line-height:1.35}:root{--editor-primary-color: #007bff;--editor-secondary-color: #6c757d;--editor-success-color: #28a745;--editor-warning-color: #ffc107;--editor-danger-color: #dc3545;--editor-light-bg: #f8f9fa;--editor-white-bg: #ffffff;--editor-border-color: #e9ecef;--editor-text-primary: #2c3e50;--editor-text-secondary: #6c757d;--editor-shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--editor-shadow-md: 0 4px 8px rgba(0, 0, 0, .15);--editor-shadow-lg: 0 8px 16px rgba(0, 0, 0, .2);--editor-border-radius: 8px;--editor-border-radius-sm: 6px;--editor-transition: all .2s ease}.blocks-editor{display:flex;flex-direction:column;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--editor-light-bg);color:var(--editor-text-primary);overflow:hidden}.editor-content{flex:1;display:flex;flex-direction:column;gap:16px;padding:16px;overflow:hidden;min-height:0}.authority-state{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #b7791f;border-radius:6px;background:#fffaf0;color:#744210}.authority-state[hidden]{display:none}.authority-state-message{min-width:0;font-size:14px;line-height:1.4}.authority-state-action{flex:0 0 auto;min-height:34px;padding:6px 12px;border:1px solid currentColor;border-radius:4px;background:transparent;color:inherit;font:inherit;font-weight:600;cursor:pointer}.authority-state-action:focus-visible{outline:2px solid #005fcc;outline-offset:2px}.manager-section{background:var(--editor-white-bg);border-radius:var(--editor-border-radius);box-shadow:var(--editor-shadow-sm);overflow:hidden;flex:0 0 auto;max-height:250px}.set-section,.palette-section{display:flex;flex-direction:column;background:var(--editor-white-bg);border-radius:var(--editor-border-radius);box-shadow:var(--editor-shadow-sm);overflow:hidden;flex:1;min-height:200px}.section-title{margin:0;padding:16px 20px;font-size:18px;font-weight:600;color:var(--editor-text-primary);background:var(--editor-light-bg);border-bottom:1px solid var(--editor-border-color)}.palette-container,.set-container,.manager-container{flex:1;min-height:0;overflow:hidden}.palette-container,.set-container{display:flex;flex-direction:column}@media(max-width:1024px){.editor-content{gap:12px;padding:12px}.manager-section{max-height:200px}.palette-section{min-height:180px}.set-section{min-height:150px}.section-title{padding:12px 16px;font-size:16px}}@media(max-width:768px){.blocks-editor{height:100vh;height:100dvh}.editor-content{gap:8px;padding:8px}.manager-section{max-height:150px}.palette-section{min-height:150px}.set-section{min-height:120px}.section-title{padding:10px 12px;font-size:14px}}@media(max-width:480px){.editor-content{padding:6px;gap:6px}.editor-title{font-size:18px}.editor-subtitle{font-size:12px}.section-title{padding:8px 10px;font-size:13px}.manager-section{max-height:120px}.palette-section{min-height:120px}.set-section{min-height:100px}}@media(max-width:768px)and (orientation:landscape){.editor-content{flex-direction:row;gap:8px}.manager-section{flex:0 0 200px;max-height:none}.set-section{flex:1;min-height:0}.palette-section{flex:1;max-height:none;min-height:0}}@media(prefers-color-scheme:dark){:root{--editor-light-bg: #1a1a1a;--editor-white-bg: #2d2d2d;--editor-border-color: #404040;--editor-text-primary: #ffffff;--editor-text-secondary: #b0b0b0;--editor-shadow-sm: 0 2px 4px rgba(0, 0, 0, .3);--editor-shadow-md: 0 4px 8px rgba(0, 0, 0, .4);--editor-shadow-lg: 0 8px 16px rgba(0, 0, 0, .5)}.blocks-editor,.section-title{background:var(--editor-light-bg);color:var(--editor-text-primary)}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media(prefers-contrast:high){:root{--editor-border-color: #000000;--editor-shadow-sm: 0 2px 4px rgba(0, 0, 0, .5);--editor-shadow-md: 0 4px 8px rgba(0, 0, 0, .6);--editor-shadow-lg: 0 8px 16px rgba(0, 0, 0, .7)}.manager-section,.set-section,.palette-section{border:2px solid var(--editor-border-color)}.section-title{border-bottom-width:2px}}.blocks-editor:focus-within{outline:none}@print{.blocks-editor {height: auto; background: white; color: black;} .editor-content {display: block;} .manager-section,.set-section,.palette-section {break-inside: avoid; margin-bottom: 20px;} .section-title {background: white; border-bottom: 1px solid black;}}.blocks-editor.loading{pointer-events:none}.blocks-editor.loading:after{content:"";position:fixed;inset:0;background:#fffc;z-index:10000}.blocks-editor.error{background:#fef2f2}.blocks-editor *{transition:var(--editor-transition)}.blocks-editor ::-webkit-scrollbar{width:8px;height:8px}.blocks-editor ::-webkit-scrollbar-track{background:var(--editor-light-bg);border-radius:4px}.blocks-editor ::-webkit-scrollbar-thumb{background:var(--editor-secondary-color);border-radius:4px}.blocks-editor ::-webkit-scrollbar-thumb:hover{background:var(--editor-text-primary)}.blocks-editor *{scrollbar-width:thin;scrollbar-color:var(--editor-secondary-color) var(--editor-light-bg)}.blocks-palette-area{display:flex;flex-direction:column;height:100%;background:#f8f9fa;border-radius:8px;overflow:hidden;transition:all .2s ease}.blocks-palette-area.can-remove-block{position:relative;background-color:#ef44440d;border:2px dashed #ef4444;border-radius:8px}.blocks-palette-area.can-remove-block:before{content:"Drop here to remove block from set";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#ef4444;color:#fff;padding:12px 24px;border-radius:6px;font-weight:500;z-index:1000;pointer-events:none;font-size:14px}.category-tabs{display:flex;background:#fff;border-bottom:1px solid #e9ecef;overflow-x:auto;scrollbar-width:thin}.category-tab{display:flex;align-items:center;gap:6px;padding:8px 12px;border:none;background:transparent;cursor:pointer;transition:all .2s ease;white-space:nowrap;font-size:12px;color:#6c757d;border-bottom:2px solid transparent}.category-tab:hover{background:#f8f9fa;color:#495057}.category-tab.active{color:var(--category-color, #007bff);border-bottom-color:var(--category-color, #007bff);background:#fff}.category-tab:focus{outline:2px solid #007bff;outline-offset:-2px}.category-icon{font-size:14px}.category-name{font-weight:500}.block-grid{flex:1;padding:12px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;align-content:start}.no-blocks{grid-column:1 / -1;text-align:center;color:#6c757d;font-style:italic;padding:20px}.palette-block{display:flex;flex-direction:column;padding:8px;background:#fff;border:1px solid #e9ecef;border-radius:6px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.palette-block:hover{border-color:var(--block-color, #007bff);box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.palette-block:focus{outline:2px solid #007bff;outline-offset:2px}.palette-block.focused{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.palette-block.can-add-to-set{border-color:#28a745}.palette-block.can-add-to-set:hover{border-color:#28a745;box-shadow:0 2px 4px #28a74533}.palette-block.clicked{transform:scale(.95);background:#e3f2fd}.palette-block.dragging{opacity:.5;transform:scale(.95);transition:all .2s ease}.block-preview{display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:6px;height:32px}.block-icon{font-size:18px;z-index:2}.block-color-bar{position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:0 0 3px 3px}.block-info{text-align:center}.block-name{font-size:11px;font-weight:500;color:#495057;line-height:1.2;margin-bottom:2px}.block-category{font-size:9px;color:#6c757d;text-transform:uppercase;letter-spacing:.5px}@media(max-width:768px){.block-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:6px;padding:8px}.palette-block{padding:6px}.category-tab{padding:6px 8px;font-size:11px}.category-icon{font-size:12px}}@media(prefers-reduced-motion:reduce){.palette-block,.category-tab{transition:none}.palette-block.clicked{transform:none}}.palette-block.focused{outline:3px solid #007bff;outline-offset:2px;z-index:10}.category-tab:focus-visible{outline:3px solid #007bff;outline-offset:2px}@media(prefers-contrast:high){.palette-block{border-width:2px}.palette-block:hover,.palette-block:focus{border-width:3px}}.block-set-area{display:flex;flex-direction:column;height:100%;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;overflow:hidden}.set-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 20px;border-bottom:1px solid #e9ecef;box-shadow:0 2px 4px #0000001a}.set-info{display:flex;flex-direction:column;gap:4px}.set-id{font-size:24px;font-weight:700;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.2)}.set-name{font-size:16px;opacity:.9;font-weight:500}.set-stats{font-size:14px;opacity:.8;margin-top:4px}.no-set-selected{font-size:18px;color:#6c757d;text-align:center;font-style:italic}.block-shelf{flex:1;padding:20px;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;align-content:start;background:#fff;position:relative}.block-shelf.drag-over{background:#e3f2fd;border:2px dashed #2196f3;border-radius:8px;transition:all .2s ease}.block-shelf.can-add-block{background-color:#10b9810d;border-color:#10b981}.block-shelf.drag-over:after{content:"Drop block here to add to set";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#2196f3e6;color:#fff;padding:12px 24px;border-radius:6px;font-weight:500;pointer-events:none;z-index:10}.block-shelf.drag-over.can-add-block:after{content:"Drop block here to add to set";background:#10b981}.set-block{background:#fff;border:2px solid var(--block-color, #6c757d);border-radius:12px;padding:16px 12px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;min-height:120px;box-shadow:0 2px 4px #0000001a}.set-block:hover,.set-block.hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;border-color:var(--block-color, #6c757d);background:#f8f9fa}.set-block:focus{outline:2px solid #007bff;outline-offset:2px}.set-block.focused{outline:2px solid #007bff;outline-offset:2px}.set-block.dragging{opacity:.5;transform:scale(.95) rotate(2deg);z-index:1000}.set-block.removing{animation:removeBlock .3s ease-out forwards}@keyframes removeBlock{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1);background-color:#fef2f2;border-color:#ef4444}to{transform:scale(.8);opacity:0}}.set-block:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.block-icon{font-size:32px;line-height:1;margin-bottom:4px}.block-name{font-size:14px;font-weight:600;text-align:center;color:#495057;line-height:1.2;word-break:break-word}.remove-hint{font-size:11px;color:#6c757d;text-align:center;opacity:0;transition:opacity .2s ease;position:absolute;bottom:4px;left:50%;transform:translate(-50%);background:#ffffffe6;padding:2px 6px;border-radius:4px;white-space:nowrap}.set-block:hover .remove-hint,.set-block.hover .remove-hint{opacity:1}.empty-state,.empty-set-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#6c757d;text-align:center;padding:40px 20px}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.6}.empty-message{font-size:18px;font-weight:500;margin-bottom:8px}@media(max-width:768px){.block-shelf{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;padding:16px}.set-block{min-height:100px;padding:12px 8px}.block-icon{font-size:28px}.block-name{font-size:13px}.set-header{padding:12px 16px}.set-id{font-size:20px}.set-name{font-size:14px}}@media(max-width:480px){.block-shelf{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;padding:12px}.set-block{min-height:90px;padding:10px 6px}.block-icon{font-size:24px}.block-name{font-size:12px}}@media(prefers-reduced-motion:reduce){.set-block,.remove-hint{transition:none}.set-block:hover,.set-block.hover{transform:none}}.set-block.focused{outline:3px solid #007bff;outline-offset:2px;z-index:10}.set-block:focus-visible{outline:3px solid #007bff;outline-offset:2px}@media(prefers-contrast:high){.set-block{border-width:3px}.set-header{background:#000;color:#fff}.block-shelf{background:#fff}}.block-set-manager{display:flex;flex-direction:column;height:100%;background:#f8f9fa;border-radius:8px;overflow:hidden}.set-manager-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#fff;border-bottom:1px solid #e9ecef;box-shadow:0 2px 4px #0000000d}.manager-title{margin:0;font-size:18px;font-weight:600;color:#2c3e50}.create-set-button{display:flex;align-items:center;gap:8px;padding:10px 16px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #007bff33}.create-set-button:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 8px #007bff4d}.create-set-button:active{transform:translateY(0);box-shadow:0 2px 4px #007bff33}.create-set-button .plus-icon{font-size:16px;line-height:1}.create-set-button .button-text{font-weight:500}.set-list{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.set-item{display:flex;align-items:center;padding:16px;background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;outline:none}.set-item:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff26;transform:translateY(-1px)}.set-item:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff40}.set-item.selected{border-color:#007bff;background:#f8f9ff;box-shadow:0 2px 8px #007bff33}.set-item.selected:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#007bff;border-radius:0 4px 4px 0}.set-content{flex:1;display:flex;flex-direction:column;gap:8px}.set-main-info{display:flex;align-items:center;gap:12px}.set-id{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;font-weight:600;color:#007bff;background:#e7f3ff;padding:4px 8px;border-radius:4px;border:1px solid #b3d9ff}.set-name{font-size:16px;font-weight:500;color:#2c3e50}.set-meta{display:flex;align-items:center;gap:16px;font-size:12px;color:#6c757d}.block-count{font-weight:500}.set-date{font-style:italic}.delete-set-button{padding:8px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:#dc3545;transition:all .2s ease;opacity:.7}.delete-set-button:hover{background:#f8d7da;opacity:1;transform:scale(1.1)}.delete-set-button:active{transform:scale(.95)}.delete-set-button .delete-icon{font-size:16px;line-height:1}.empty-sets-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:#6c757d;flex:1}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.6}.empty-message{font-size:18px;font-weight:500;margin-bottom:8px;color:#495057}.empty-hint{font-size:14px;opacity:.8}.delete-confirmation-dialog{position:fixed;inset:0;z-index:10000}.dialog-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:20px}.dialog-content{background:#fff;border-radius:8px;padding:24px;max-width:400px;width:100%;box-shadow:0 10px 25px #0003;animation:dialogSlideIn .2s ease-out}@keyframes dialogSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-content h3{margin:0 0 16px;font-size:20px;font-weight:600;color:#2c3e50}.dialog-content p{margin:0 0 12px;font-size:14px;line-height:1.5;color:#495057}.dialog-content .warning{color:#dc3545;font-weight:500;margin-bottom:20px}.dialog-buttons{display:flex;gap:12px;justify-content:flex-end}.dialog-buttons button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.cancel-button{background:#6c757d;color:#fff}.cancel-button:hover{background:#545b62}.delete-button{background:#dc3545;color:#fff}.delete-button:hover{background:#c82333}@media(max-width:768px){.set-manager-header{padding:12px 16px}.manager-title{font-size:16px}.create-set-button{padding:8px 12px;font-size:13px}.set-item{padding:12px}.set-main-info{flex-direction:column;align-items:flex-start;gap:6px}.set-meta{gap:12px}.dialog-content{margin:20px;padding:20px}}@media(prefers-reduced-motion:reduce){.set-item,.create-set-button,.delete-set-button,.dialog-content{transition:none;animation:none}.create-set-button:hover,.set-item:hover{transform:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.set-item.focused{outline:3px solid #007bff;outline-offset:2px;z-index:10}.set-item:focus-visible{outline:3px solid #007bff;outline-offset:2px}.create-set-button:focus-visible,.delete-set-button:focus-visible,.dialog-buttons button:focus-visible{outline:3px solid #007bff;outline-offset:2px}@media(prefers-contrast:high){.set-item,.set-item.selected{border-width:3px}.set-id{border-width:2px}}.drag-ghost{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--block-color, #6366f1);color:#fff;border-radius:6px;box-shadow:0 4px 12px #00000026;font-size:14px;font-weight:500;pointer-events:none;z-index:10000;opacity:.9;transform:rotate(2deg);transition:transform .1s ease}.drag-ghost .ghost-icon{font-size:16px;line-height:1}.drag-ghost .ghost-name{white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}body.dragging,body.dragging *{cursor:grabbing!important}body.dragging-from-palette .blocks-palette-area,body.dragging-from-set .block-set-area{opacity:.8}.valid-drop-zone{background-color:#10b9811a!important;border:2px dashed #10b981!important;border-radius:8px;transition:all .2s ease}.invalid-drop-zone{background-color:#ef44441a!important;border:2px dashed #ef4444!important;border-radius:8px;transition:all .2s ease}.adding-block{position:relative}.adding-block:before{content:"Drop to add block";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#10b981;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;z-index:1000;pointer-events:none}.removing-block{position:relative}.removing-block:before{content:"Drop to remove block";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#f59e0b;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;z-index:1000;pointer-events:none}.palette-block.dragging,.set-block.dragging{opacity:.5;transform:scale(.95);transition:all .2s ease}body.dragging .palette-block:not(.dragging){opacity:.6}body.dragging .set-block:not(.dragging){opacity:.6}.valid-drop-zone{animation:pulse-valid 1.5s ease-in-out infinite}.invalid-drop-zone{animation:pulse-invalid 1.5s ease-in-out infinite}@keyframes pulse-valid{0%,to{border-color:#10b981;background-color:#10b9811a}50%{border-color:#059669;background-color:#10b98126}}@keyframes pulse-invalid{0%,to{border-color:#ef4444;background-color:#ef44441a}50%{border-color:#dc2626;background-color:#ef444426}}.drag-feedback{box-shadow:0 4px 12px #00000026;border-radius:6px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.drag-feedback-success{background-color:#10b981!important}.drag-feedback-warning{background-color:#f59e0b!important}.drag-feedback-error{background-color:#ef4444!important}@media(max-width:768px){.drag-ghost{font-size:12px;padding:6px 10px}.drag-ghost .ghost-name{max-width:100px}.adding-block:before,.removing-block:before{font-size:11px;padding:3px 6px}}@media(prefers-contrast:high){.valid-drop-zone{border-width:3px;background-color:#10b98133}.invalid-drop-zone{border-width:3px;background-color:#ef444433}.drag-ghost{box-shadow:0 4px 12px #0000004d}}@media(prefers-reduced-motion:reduce){.drag-ghost{transform:none;transition:none}.valid-drop-zone,.invalid-drop-zone{animation:none}.palette-block.dragging,.set-block.dragging{transition:none}}@media(max-width:320px){.blocks-editor{font-size:14px}.section-title{font-size:12px;padding:6px 8px}}@media(min-width:768px)and (max-width:1024px)and (orientation:landscape){.editor-content{flex-direction:row}.manager-section{flex:0 0 250px;max-height:none}.set-section{flex:1;min-height:0}.palette-section{flex:1;max-height:none;min-height:0}}@media(min-width:1200px){.editor-content{gap:20px;padding:20px}.manager-section{max-height:300px}.palette-section,.set-section{min-height:250px}}@media(min-width:1600px){.editor-content{max-width:1400px;margin:0 auto}}.blocks-editor *:focus-visible{outline:2px solid var(--editor-primary-color);outline-offset:2px;border-radius:4px}@media(prefers-contrast:more){:root{--editor-primary-color: #0056b3;--editor-secondary-color: #495057;--editor-border-color: #495057}}@media(prefers-reduced-motion:reduce){.blocks-editor *,.blocks-editor *:before,.blocks-editor *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.blocks-editor{font-size:12pt;line-height:1.4}.manager-section,.set-section,.palette-section{page-break-inside:avoid;margin-bottom:1cm}.section-title{page-break-after:avoid;font-weight:700}}:root{--recipe-bg-primary: #1a1a1a;--recipe-bg-secondary: #252525;--recipe-bg-tertiary: #2d3748;--recipe-bg-hover: rgba(255, 255, 255, .05);--recipe-bg-active: rgba(59, 130, 246, .1);--recipe-border-default: #333;--recipe-border-hover: #444;--recipe-border-focus: #4a9eff;--recipe-border-accent: rgba(59, 130, 246, .5);--recipe-text-primary: #ffffff;--recipe-text-secondary: #e0e0e0;--recipe-text-muted: #888;--recipe-text-hint: #8b95a5;--recipe-text-disabled: #666;--recipe-accent-primary: #4a9eff;--recipe-accent-primary-hover: #3a8eef;--recipe-accent-success: #51cf66;--recipe-accent-success-hover: #40c057;--recipe-accent-error: #ff6b6b;--recipe-accent-warning: #ffd43b;--recipe-shadow-focus: 0 0 0 2px rgba(74, 158, 255, .2);--recipe-shadow-dialog: 0 25px 80px rgba(0, 0, 0, .5);--recipe-shadow-button: 0 4px 12px rgba(59, 130, 246, .4);--recipe-spacing-xs: 4px;--recipe-spacing-sm: 8px;--recipe-spacing-md: 12px;--recipe-spacing-lg: 16px;--recipe-spacing-xl: 20px;--recipe-spacing-2xl: 24px;--recipe-radius-sm: 4px;--recipe-radius-md: 6px;--recipe-radius-lg: 8px;--recipe-radius-xl: 12px;--recipe-radius-2xl: 16px;--recipe-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--recipe-font-size-xs: 11px;--recipe-font-size-sm: 12px;--recipe-font-size-base: 13px;--recipe-font-size-md: 14px;--recipe-font-size-lg: 16px;--recipe-font-size-xl: 18px;--recipe-font-size-2xl: 20px;--recipe-font-size-3xl: 24px;--recipe-transition-fast: .15s ease;--recipe-transition-default: .2s ease;--recipe-transition-slow: .3s ease}.recipe-editor-container{display:flex;flex-direction:column;height:100%;padding:var(--recipe-spacing-2xl);gap:var(--recipe-spacing-2xl);overflow-y:auto;background:var(--recipe-bg-primary);color:var(--recipe-text-secondary);font-family:var(--recipe-font-family)}.recipe-editor-header{display:flex;align-items:center;gap:var(--recipe-spacing-lg);flex-wrap:wrap}.recipe-editor-title{font-size:var(--recipe-font-size-3xl);font-weight:600;color:var(--recipe-text-primary);margin:0}.section{background:var(--recipe-bg-secondary);border:1px solid var(--recipe-border-default);border-radius:var(--recipe-radius-lg);padding:var(--recipe-spacing-xl)}.section-title{font-size:var(--recipe-font-size-lg);font-weight:600;color:var(--recipe-text-primary);margin:0 0 var(--recipe-spacing-lg) 0;display:flex;align-items:center;gap:var(--recipe-spacing-sm)}.section-title-icon{font-size:var(--recipe-font-size-xl)}.form-group{display:flex;flex-direction:column;gap:var(--recipe-spacing-md);margin-bottom:var(--recipe-spacing-lg)}.form-group:last-child{margin-bottom:0}.form-label{font-size:var(--recipe-font-size-base);color:var(--recipe-text-muted);font-weight:500}.form-input,.form-select{padding:var(--recipe-spacing-sm) var(--recipe-spacing-md);background:var(--recipe-bg-primary);border:1px solid var(--recipe-border-default);border-radius:var(--recipe-radius-md);color:var(--recipe-text-secondary);font-size:var(--recipe-font-size-md);transition:border-color var(--recipe-transition-default),box-shadow var(--recipe-transition-default)}.form-textarea{resize:vertical;min-height:80px;font-family:inherit;line-height:1.5}.form-input:hover,.form-select:hover{border-color:var(--recipe-border-hover)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--recipe-border-focus);box-shadow:var(--recipe-shadow-focus)}.form-hint{font-size:var(--recipe-font-size-sm);color:var(--recipe-text-hint);margin-top:var(--recipe-spacing-xs)}.form-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--recipe-spacing-md)}.form-row .form-group{margin-bottom:0}.btn{padding:var(--recipe-spacing-sm) var(--recipe-spacing-lg);border:none;border-radius:var(--recipe-radius-md);font-size:var(--recipe-font-size-md);font-weight:500;cursor:pointer;transition:all var(--recipe-transition-default);display:inline-flex;align-items:center;gap:var(--recipe-spacing-md)}.btn-primary{background:var(--recipe-accent-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--recipe-accent-primary-hover)}.btn-primary:disabled{background:var(--recipe-border-default);color:var(--recipe-text-disabled);cursor:not-allowed}.btn-secondary{background:var(--recipe-border-default);color:var(--recipe-text-secondary)}.btn-secondary:hover:not(:disabled){background:var(--recipe-border-hover)}.btn-success{background:var(--recipe-accent-success);color:#fff}.btn-success:hover:not(:disabled){background:var(--recipe-accent-success-hover)}.btn-success:disabled{background:var(--recipe-border-default);color:var(--recipe-text-disabled);cursor:not-allowed}.recipe-selector{display:flex;align-items:center;gap:var(--recipe-spacing-md);flex-wrap:wrap}.recipe-selector label{font-size:var(--recipe-font-size-md);color:var(--recipe-text-muted)}.recipe-selector select{padding:var(--recipe-spacing-sm) var(--recipe-spacing-md);background:var(--recipe-bg-secondary);border:1px solid var(--recipe-border-default);border-radius:var(--recipe-radius-md);color:var(--recipe-text-secondary);font-size:var(--recipe-font-size-md);min-width:200px;cursor:pointer;transition:border-color var(--recipe-transition-default)}.recipe-selector select:hover{border-color:var(--recipe-accent-primary)}.recipe-selector select:focus{outline:none;border-color:var(--recipe-accent-primary);box-shadow:var(--recipe-shadow-focus)}.actions-list{display:flex;flex-direction:column;gap:var(--recipe-spacing-sm)}.action-card{display:flex;align-items:center;gap:var(--recipe-spacing-md);padding:var(--recipe-spacing-md) var(--recipe-spacing-lg);background:var(--recipe-bg-primary);border:1px solid var(--recipe-border-default);border-radius:var(--recipe-radius-md);transition:all var(--recipe-transition-default)}.action-card:hover{border-color:var(--recipe-accent-primary)}.action-card-number{font-size:var(--recipe-font-size-md);font-weight:600;color:var(--recipe-text-muted);min-width:24px}.action-card-icon{font-size:var(--recipe-font-size-xl)}.action-card-summary{flex:1;font-size:var(--recipe-font-size-md);color:var(--recipe-text-secondary)}.action-card-actions{display:flex;gap:var(--recipe-spacing-xs)}.action-card-btn{background:transparent;border:none;padding:var(--recipe-spacing-md);cursor:pointer;border-radius:var(--recipe-radius-sm);transition:all var(--recipe-transition-default);font-size:var(--recipe-font-size-md)}.action-card-btn:hover{background:#ffffff1a}.action-card-btn--delete:hover{background:#ef444433}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:48px;text-align:center}.empty-state-icon{font-size:64px;margin-bottom:var(--recipe-spacing-lg)}.empty-state h2{color:var(--recipe-text-secondary);margin:0 0 var(--recipe-spacing-sm) 0}.empty-state p{color:var(--recipe-text-muted);margin:0 0 var(--recipe-spacing-2xl) 0}.empty-actions{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:#ffffff08;border:1px dashed rgba(255,255,255,.1);border-radius:var(--recipe-radius-lg);gap:var(--recipe-spacing-md)}.empty-actions-icon{font-size:32px;opacity:.6}.empty-actions-text{font-size:var(--recipe-font-size-md);color:var(--recipe-text-muted)}.bake-section{display:flex;align-items:center;gap:var(--recipe-spacing-lg);padding:var(--recipe-spacing-xl);background:linear-gradient(135deg,#51cf661a,#4a9eff1a);border:1px solid rgba(81,207,102,.3);border-radius:var(--recipe-radius-lg)}.bake-info{flex:1}.bake-info h3{margin:0 0 var(--recipe-spacing-xs) 0;font-size:var(--recipe-font-size-lg);color:var(--recipe-accent-success)}.bake-info p{margin:0;font-size:var(--recipe-font-size-base);color:var(--recipe-text-muted)}.status-message{padding:var(--recipe-spacing-md) var(--recipe-spacing-lg);border-radius:var(--recipe-radius-md);font-size:var(--recipe-font-size-md);display:flex;align-items:center;gap:var(--recipe-spacing-sm)}.status-message--success{background:#51cf6626;border:1px solid rgba(81,207,102,.3);color:var(--recipe-accent-success)}.status-message--error{background:#ff6b6b26;border:1px solid rgba(255,107,107,.3);color:var(--recipe-accent-error)}.dialog-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn var(--recipe-transition-fast)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.dialog{background:#1e2530;border-radius:var(--recipe-radius-2xl);box-shadow:var(--recipe-shadow-dialog);width:90%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;animation:slideUp var(--recipe-transition-slow);border:1px solid rgba(255,255,255,.1)}@keyframes slideUp{0%{transform:translateY(30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--recipe-spacing-2xl) var(--recipe-spacing-2xl) var(--recipe-spacing-xl);border-bottom:1px solid rgba(255,255,255,.08)}.dialog-title{font-size:var(--recipe-font-size-2xl);font-weight:600;margin:0 0 var(--recipe-spacing-xs);color:var(--recipe-text-primary)}.dialog-subtitle{font-size:var(--recipe-font-size-md);color:var(--recipe-text-hint);margin:0}.dialog-content{flex:1;overflow-y:auto;padding:var(--recipe-spacing-2xl)}.dialog-footer{display:flex;gap:var(--recipe-spacing-md);justify-content:flex-end;padding:var(--recipe-spacing-xl) var(--recipe-spacing-2xl);border-top:1px solid rgba(255,255,255,.08);background:#0003;border-radius:0 0 var(--recipe-radius-2xl) var(--recipe-radius-2xl)}.close-btn{background:transparent;border:none;padding:var(--recipe-spacing-sm);cursor:pointer;color:var(--recipe-text-hint);border-radius:var(--recipe-radius-lg);transition:all var(--recipe-transition-default);display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#ffffff1a;color:var(--recipe-text-primary)}.action-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--recipe-spacing-md)}.action-type-card{display:flex;flex-direction:column;align-items:center;gap:var(--recipe-spacing-sm);padding:var(--recipe-spacing-xl) var(--recipe-spacing-lg);background:var(--recipe-bg-hover);border:1px solid rgba(255,255,255,.1);border-radius:var(--recipe-radius-xl);cursor:pointer;transition:all var(--recipe-transition-default)}.action-type-card:hover{border-color:var(--recipe-border-accent);background:var(--recipe-bg-active)}.action-type-card.selected{border-color:var(--recipe-accent-primary);background:#3b82f626}.action-type-icon{font-size:28px}.action-type-label{font-size:var(--recipe-font-size-md);font-weight:500;color:var(--recipe-text-primary)}.action-type-desc{font-size:var(--recipe-font-size-sm);color:var(--recipe-text-hint);text-align:center}.lifecycle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--recipe-spacing-sm)}.lifecycle-card{display:flex;align-items:center;gap:10px;padding:var(--recipe-spacing-md);background:var(--recipe-bg-hover);border:1px solid rgba(255,255,255,.1);border-radius:var(--recipe-radius-lg);cursor:pointer;transition:all var(--recipe-transition-default)}.lifecycle-card:hover{border-color:var(--recipe-border-accent);background:var(--recipe-bg-active)}.lifecycle-card.selected{border-color:var(--recipe-accent-primary);background:#3b82f626}.lifecycle-icon{font-size:var(--recipe-font-size-2xl)}.lifecycle-info{flex:1}.lifecycle-label{font-size:var(--recipe-font-size-base);font-weight:500;color:var(--recipe-text-primary)}.lifecycle-desc{font-size:var(--recipe-font-size-xs);color:var(--recipe-text-hint)}.action-summary{padding:var(--recipe-spacing-md) var(--recipe-spacing-lg);background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:var(--recipe-radius-lg);margin-top:var(--recipe-spacing-lg)}.action-summary strong{color:var(--recipe-accent-primary)}.action-summary code{background:#0000004d;padding:2px 6px;border-radius:var(--recipe-radius-sm);font-family:monospace;font-size:var(--recipe-font-size-base)}.zone-ingredient-form{display:flex;flex-direction:column;gap:var(--recipe-spacing-lg)}.combos-list{display:flex;flex-direction:column;gap:var(--recipe-spacing-sm)}.combo-card{display:flex;align-items:center;gap:var(--recipe-spacing-md);padding:var(--recipe-spacing-md) var(--recipe-spacing-lg);background:var(--recipe-bg-primary);border:1px solid var(--recipe-border-default);border-radius:var(--recipe-radius-md);cursor:pointer;transition:all var(--recipe-transition-default)}.combo-card:hover{border-color:var(--recipe-accent-primary);background:var(--recipe-bg-hover)}.combo-card.selected{border-color:var(--recipe-accent-primary);background:var(--recipe-bg-active)}.combo-card-icon{font-size:var(--recipe-font-size-xl)}.combo-card-info{flex:1}.combo-card-name{font-size:var(--recipe-font-size-md);font-weight:500;color:var(--recipe-text-primary)}.combo-card-meta{font-size:var(--recipe-font-size-sm);color:var(--recipe-text-muted)}.combo-detail{display:flex;flex-direction:column;gap:var(--recipe-spacing-lg)}.combo-detail-section{background:var(--recipe-bg-secondary);border:1px solid var(--recipe-border-default);border-radius:var(--recipe-radius-lg);padding:var(--recipe-spacing-lg)}.combo-detail-title{font-size:var(--recipe-font-size-md);font-weight:600;color:var(--recipe-text-primary);margin:0 0 var(--recipe-spacing-md) 0}.combo-detail-content{font-size:var(--recipe-font-size-base);color:var(--recipe-text-secondary)}.combo-detail-content code{background:var(--recipe-bg-primary);padding:2px 6px;border-radius:var(--recipe-radius-sm);font-family:monospace;font-size:var(--recipe-font-size-sm)}.combo-detail-readonly{opacity:.8;pointer-events:none}.combos-list-panel-content::-webkit-scrollbar{width:10px}.combos-list-panel-content::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px;margin:4px 0}.combos-list-panel-content::-webkit-scrollbar-thumb{background:#555;border-radius:4px;border:2px solid #1a1a1a}.combos-list-panel-content::-webkit-scrollbar-thumb:hover{background:#666}.combo-detail-panel-content::-webkit-scrollbar{width:10px}.combo-detail-panel-content::-webkit-scrollbar-track{background:#1a1a1a;border-radius:4px;margin:4px 0}.combo-detail-panel-content::-webkit-scrollbar-thumb{background:#555;border-radius:4px;border:2px solid #1a1a1a}.combo-detail-panel-content::-webkit-scrollbar-thumb:hover{background:#666}.text-muted{color:var(--recipe-text-muted)}.text-success{color:var(--recipe-accent-success)}.text-error{color:var(--recipe-accent-error)}.text-primary{color:var(--recipe-text-primary)}.mt-sm{margin-top:var(--recipe-spacing-sm)}.mt-md{margin-top:var(--recipe-spacing-md)}.mt-lg{margin-top:var(--recipe-spacing-lg)}.mb-sm{margin-bottom:var(--recipe-spacing-sm)}.mb-md{margin-bottom:var(--recipe-spacing-md)}.mb-lg{margin-bottom:var(--recipe-spacing-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--recipe-spacing-sm)}.gap-md{gap:var(--recipe-spacing-md)}.gap-lg{gap:var(--recipe-spacing-lg)}.timeline-view{--seq-base: #1e1e2e;--seq-mantle: #181825;--seq-crust: #11111b;--seq-surface0: #313244;--seq-surface1: #45475a;--seq-surface2: #585b70;--seq-overlay0: #6c7086;--seq-overlay1: #7f849c;--seq-text: #cdd6f4;--seq-subtext0: #a6adc8;--seq-subtext1: #bac2de;--seq-blue: #89b4fa;--seq-lavender: #b4befe;--seq-mauve: #cba6f7;--seq-red: #f38ba8;--seq-peach: #fab387;--seq-green: #a6e3a1;--seq-teal: #94e2d5;--seq-yellow: #f9e2af;--seq-accent: var(--seq-blue);--seq-trigger-color: var(--seq-peach);--seq-duration-color: var(--seq-mauve);--seq-playhead-color: var(--seq-red);--seq-grid-color: var(--seq-surface2);--seq-error-color: var(--seq-red);--seq-success-color: var(--seq-green);--seq-header-width: 150px;--seq-inspector-width: 240px;--seq-topbar-height: 48px;--seq-lane-height: 40px;--seq-axis-height: 32px;--seq-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--seq-font-mono: "SF Mono", Monaco, Inconsolata, "Courier New", monospace;--seq-shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--seq-shadow-md: 0 2px 8px rgba(0, 0, 0, .4)}.timeline-view{display:flex;flex-direction:column;height:100%;width:100%;background:var(--seq-base);color:var(--seq-text);font-family:var(--seq-font);overflow:hidden}.timeline-main-area{display:flex;flex-direction:row;flex:1;overflow:hidden}.timeline-top-bar{display:flex;flex-direction:row;align-items:center;gap:12px;padding:6px 12px;background:var(--seq-surface0);border-bottom:1px solid var(--seq-surface2);min-height:var(--seq-topbar-height);flex-shrink:0}.transport-bar{display:inline-flex;align-items:center;gap:8px;padding:4px 8px}.transport-btn-group{display:inline-flex;align-items:center;border-radius:6px;overflow:hidden;border:1px solid var(--seq-surface2);background:var(--seq-surface1)}.transport-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;padding:0;margin:0;border:none;border-right:1px solid var(--seq-surface2);background:transparent;color:var(--seq-text);cursor:pointer;transition:color .15s ease,background .15s ease}.transport-btn:last-child{border-right:none}.transport-btn svg{width:14px;height:14px}.transport-btn:hover{color:var(--seq-accent);background:#89b4fa1a}.transport-btn:active{background:#89b4fa2e}.transport-btn.playing,.transport-btn.loop-active{color:var(--seq-accent);background:#89b4fa26}.transport-time{font-family:var(--seq-font-mono);font-size:.85rem;padding:3px 8px;background:var(--seq-surface0);color:var(--seq-subtext1);border-radius:4px;letter-spacing:.5px;min-width:7em;text-align:center}.snap-controls{display:inline-flex;align-items:center;gap:8px;padding:2px 6px;border-radius:6px;background:var(--seq-surface1)}.snap-controls .snap-toggle{--sl-color-primary-600: var(--seq-accent);font-size:.8rem;color:var(--seq-subtext0)}.snap-controls .snap-resolution{min-width:80px;font-size:.8rem}.timeline-add-track{margin-left:auto;--sl-color-neutral-700: var(--seq-surface2);font-size:.8rem}.timeline-history-btn{inline-size:30px;block-size:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--seq-surface2);border-radius:4px;background:transparent;color:var(--seq-text);font:inherit;font-size:1.1rem;cursor:pointer}.timeline-history-btn:hover:not(:disabled){color:var(--seq-accent);background:#89b4fa1a}.timeline-history-btn:disabled{opacity:.35;cursor:default}.seq-authority-banner,.seq-action-migration-banner,.seq-retirement-banner{display:flex;align-items:center;gap:12px;min-block-size:36px;padding:6px 12px;border-bottom:1px solid var(--seq-yellow);background:var(--seq-surface0);color:var(--seq-text);font-size:.8rem}.seq-authority-banner>span,.seq-action-migration-banner>span,.seq-retirement-banner>span{flex:1}.seq-authority-banner[data-status=stale],.seq-authority-banner[data-status=unavailable],.seq-action-migration-banner[data-status=rejected],.seq-retirement-banner[data-status=stale],.seq-retirement-banner[data-status=unavailable],.seq-retirement-banner[data-status=blocked]{border-bottom-color:var(--seq-red)}.seq-authority-action,.seq-action-migration-action,.seq-retirement-action,.seq-retirement-cancel{border:1px solid var(--seq-accent);border-radius:4px;padding:4px 10px;background:transparent;color:var(--seq-accent);font:inherit;cursor:pointer}.seq-retirement-cancel{border-color:var(--seq-border);color:var(--seq-text-muted)}.timeline-save{--sl-color-primary-600: var(--seq-accent);font-size:.8rem}.unsaved-indicator{color:var(--seq-peach);font-size:.75rem;line-height:1;flex-shrink:0}.timeline-area{display:flex;flex-direction:column;flex:1;position:relative;overflow:hidden}.timeline-track-area{position:relative;flex:1;overflow-y:auto;overflow-x:hidden}.track-row-wrapper{position:relative}.track-row-wrapper:hover .track-remove-btn{opacity:1;pointer-events:auto}.track-remove-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);opacity:0;pointer-events:none;transition:opacity .15s ease;color:var(--seq-subtext0);font-size:.85rem;z-index:2}.track-remove-btn:hover{color:var(--seq-red)}.track-row{display:flex;flex-direction:row;border-bottom:1px solid var(--seq-surface2)}.track-left-column{display:flex;flex-direction:column;width:var(--seq-header-width);min-width:var(--seq-header-width);max-width:var(--seq-header-width);flex-shrink:0}.track-header{width:100%;background:var(--seq-surface1);display:flex;align-items:center;padding:0 10px;gap:8px;box-sizing:border-box;cursor:pointer;transition:background .15s ease;min-height:var(--seq-lane-height)}.track-header:hover{background:var(--seq-surface2)}.track-add-type-btn{opacity:0;transition:opacity .2s ease;cursor:pointer;font-size:1.2rem;color:var(--seq-accent);margin-left:auto;margin-right:8px}.track-header:hover .track-add-type-btn{opacity:1}.track-add-type-btn:hover{color:var(--seq-text)}.track-row.disabled .track-header:hover{background:var(--seq-surface1)}.track-name{font-weight:600;font-size:.85rem;color:var(--seq-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-lane{flex:1;position:relative;height:var(--seq-lane-height);background:var(--seq-surface0);overflow:hidden;cursor:col-resize}.track-row.disabled{opacity:.4}.empty-lane-hint{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--seq-subtext0);font-style:italic;font-size:.8rem;pointer-events:none}.seq-event-trigger{background:var(--seq-trigger-color)}.seq-event-duration{background:#cba6f78c;border:1px solid var(--seq-duration-color);border-radius:3px;display:flex;align-items:center}.seq-event-duration.synth-clip{background:#89b4fa73;border-color:var(--seq-blue)}.seq-event-duration.sample-clip{background:#a6e3a166;border-color:var(--seq-green)}.seq-event.selected{outline:2px solid var(--seq-accent);outline-offset:-1px;z-index:1}.seq-event:hover{filter:brightness(1.25)}.event-type-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;color:var(--seq-text);padding:0 4px;pointer-events:none}.seq-event-trigger .event-type-label{display:none}.resize-handle{position:absolute;top:0;width:6px;height:100%;cursor:ew-resize;opacity:0;transition:opacity .15s ease}.resize-handle.left{left:0}.resize-handle.right{right:0}.seq-event-duration:hover .resize-handle{opacity:1}.inspector-panel{width:var(--seq-inspector-width);min-width:var(--seq-inspector-width);max-width:var(--seq-inspector-width);background:var(--seq-surface0);border-left:1px solid var(--seq-surface2);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.inspector-content{padding:12px;display:flex;flex-direction:column;gap:12px}.inspector-placeholder{display:flex;align-items:center;justify-content:center;height:100%;min-height:120px;color:var(--seq-subtext0);font-size:.85rem;font-style:italic;text-align:center}.inspector-field-group{display:flex;flex-direction:column;gap:4px}.inspector-label{text-transform:uppercase;font-size:.7rem;font-weight:600;color:var(--seq-overlay1);letter-spacing:.5px}.inspector-field{--sl-input-background-color: var(--seq-surface1);--sl-input-border-color: var(--seq-surface2);--sl-input-color: var(--seq-text);--sl-input-font-size-medium: .85rem;--sl-input-height-medium: 32px}.inspector-error{color:var(--seq-error-color);font-size:.78rem;padding:2px 0;min-height:0}.inspector-data-section{margin-top:8px;border-top:1px solid var(--seq-surface2);padding-top:8px}.inspector-section-label{text-transform:uppercase;font-size:.7rem;font-weight:600;color:var(--seq-overlay1);letter-spacing:.5px;margin-bottom:6px}.inspector-data-row{display:flex;flex-direction:row;justify-content:space-between;align-items:baseline;padding:3px 0;gap:8px;font-size:.8rem;border-bottom:1px solid rgba(69,71,90,.4)}.inspector-data-row:last-child{border-bottom:none}.inspector-data-key{color:var(--seq-subtext0);font-weight:500;white-space:nowrap;flex-shrink:0}.inspector-data-value{color:var(--seq-text);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#313244eb;color:var(--seq-text);padding:10px 24px;border-radius:8px;font-size:.85rem;font-weight:600;letter-spacing:.3px;z-index:1000;box-shadow:var(--seq-shadow-md);border:1px solid var(--seq-surface2);pointer-events:none;transition:opacity .3s ease,transform .3s ease}.timeline-view{--sl-color-primary-600: var(--seq-accent);--sl-color-primary-500: #9dc2fb;--sl-color-primary-700: #6fa0f5;--sl-color-neutral-0: var(--seq-surface0);--sl-color-neutral-50: var(--seq-surface0);--sl-color-neutral-100: var(--seq-surface1);--sl-color-neutral-200: var(--seq-surface1);--sl-color-neutral-300: var(--seq-surface2);--sl-color-neutral-400: var(--seq-overlay0);--sl-color-neutral-500: var(--seq-overlay0);--sl-color-neutral-600: var(--seq-overlay1);--sl-color-neutral-700: var(--seq-surface2);--sl-color-neutral-800: var(--seq-surface1);--sl-color-neutral-900: var(--seq-surface0);--sl-color-neutral-1000: var(--seq-base);--sl-input-background-color: var(--seq-surface1);--sl-input-background-color-hover: var(--seq-surface2);--sl-input-background-color-focus: var(--seq-surface1);--sl-input-border-color: var(--seq-surface2);--sl-input-border-color-hover: var(--seq-overlay0);--sl-input-border-color-focus: var(--seq-accent);--sl-input-color: var(--seq-text);--sl-input-placeholder-color: var(--seq-subtext0);--sl-input-font-size-medium: .85rem;--sl-input-height-medium: 32px;--sl-input-focus-ring-color: rgba(137, 180, 250, .3);--sl-panel-background-color: var(--seq-surface0);--sl-panel-border-color: var(--seq-surface2);--sl-transition-fast: .15s;--sl-transition-medium: .25s}.timeline-view sl-button[variant=primary]::part(base){background:var(--seq-accent);border-color:var(--seq-accent);color:var(--seq-base)}.timeline-view sl-button[variant=primary]::part(base):hover{background:#9dc2fb;border-color:#9dc2fb}.timeline-view sl-icon-button::part(base){color:var(--seq-text);transition:color .15s ease,transform .15s ease}.timeline-view sl-icon-button::part(base):hover{color:var(--seq-accent)}.timeline-view sl-switch{--sl-color-primary-600: var(--seq-accent)}.timeline-view sl-select::part(combobox){background:var(--seq-surface1);border-color:var(--seq-surface2);color:var(--seq-text)}.timeline-view sl-select::part(combobox):hover{border-color:var(--seq-overlay0)}.timeline-view sl-select::part(listbox){background:var(--seq-surface0);border-color:var(--seq-surface2)}.timeline-view sl-input::part(base){background:var(--seq-surface1);border-color:var(--seq-surface2);color:var(--seq-text)}.timeline-view sl-input::part(base):hover{border-color:var(--seq-overlay0)}.timeline-view sl-input::part(base):focus-within{border-color:var(--seq-accent);box-shadow:0 0 0 3px #89b4fa4d}.timeline-view sl-input::part(input){color:var(--seq-text)}.timeline-view *:focus-visible{outline:2px solid var(--seq-accent);outline-offset:2px}.timeline-view sl-icon-button:focus-visible::part(base){outline:2px solid var(--seq-accent);outline-offset:2px}.timeline-view sl-button:focus-visible::part(base){outline:2px solid var(--seq-accent);outline-offset:2px}.timeline-view sl-switch:focus-visible::part(control){outline:2px solid var(--seq-accent);outline-offset:2px}.timeline-view sl-select:focus-visible::part(combobox){outline:2px solid var(--seq-accent);outline-offset:2px}.timeline-view sl-input:focus-visible::part(base){outline:2px solid var(--seq-accent);outline-offset:2px}.transport-btn{transition:color .15s ease,background .15s ease}.transport-btn:hover{color:var(--seq-accent)}.track-row{transition:background .15s ease}.track-row:hover{background:#45475a40}.event-lane:hover{background:#313244d9}.seq-event{transition:filter .15s ease,outline .15s ease}.timeline-add-track::part(base),.timeline-save::part(base){transition:background .15s ease,border-color .15s ease,transform .15s ease}.timeline-add-track:hover::part(base),.timeline-save:hover::part(base){transform:translateY(-1px)}.snap-controls:hover{background:#45475ab3}.event-lane.snap-enabled{background-image:repeating-linear-gradient(to right,rgba(88,91,112,.3) 0px,rgba(88,91,112,.3) 1px,transparent 1px,transparent var(--grid-spacing))}.snap-guide{position:absolute;top:0;width:1px;height:100%;background:var(--seq-accent);opacity:.5;pointer-events:none;display:none;z-index:2}.playhead-handle{position:absolute;top:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--seq-playhead-color, #f38ba8);cursor:grab;transition:border-top-color .15s ease;z-index:11}.playhead-handle:hover{border-top-color:#f5a0b8}.playhead-handle.dragging{cursor:grabbing;border-top-color:#f7b8c8}.track-type-bar{width:4px;min-width:4px;align-self:stretch;border-radius:0;flex-shrink:0}.track-type-bar--instrument{background:#5b8def}.track-type-bar--sample{background:#4eca68}.track-type-bar--synth{background:#e8a838}.track-type-bar--chord{background:#b48eda}.track-patch-select{width:100%;max-width:200px;height:28px;padding:2px 6px;background:var(--seq-surface0);border:1px solid var(--seq-surface2);border-radius:4px;color:var(--seq-text);font-family:var(--seq-font);font-size:.8rem;cursor:pointer;flex-shrink:0}.track-patch-select:hover{border-color:var(--seq-overlay0)}.track-patch-select:focus{outline:2px solid var(--seq-accent);outline-offset:1px;border-color:var(--seq-accent)}.track-patch-select:disabled{opacity:.5;cursor:not-allowed}.track-patch-select option{background:var(--seq-surface0);color:var(--seq-text)}.track-patch-row{width:100%;background:var(--seq-surface1);padding:6px 10px;box-sizing:border-box;border-top:1px solid var(--seq-surface2);display:flex;align-items:center}.track-type-dialog::part(panel){background:#1e1e2e;border:1px solid #45475a;color:#cdd6f4}.track-type-dialog::part(header){background:#1e1e2e;color:#cdd6f4}.track-type-dialog::part(close-button){color:#a6adc8}.track-type-dialog::part(close-button):hover{color:#cdd6f4}.type-option{display:flex;align-items:center;gap:14px;padding:16px 20px;border:2px solid #45475a;border-radius:10px;background:#313244;color:#cdd6f4;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .1s ease;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.type-option:hover{border-color:#6c7086;background:#45475a;transform:translateY(-1px)}.type-option:active{transform:translateY(0)}.type-option.active{border-color:#89b4fa;background:#89b4fa1a}.zone-toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.zone-toast{background:#000000d9;color:#fff;padding:12px 20px;border-radius:6px;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-shadow:0 4px 12px #0000004d;max-width:300px;word-wrap:break-word;opacity:0;transform:translate(100px);transition:all .3s ease}.zone-toast-show{opacity:1;transform:translate(0)}.zone-toast-hide{opacity:0;transform:translate(100px)}.zone-toast-info{border-left:4px solid #3b82f6}.zone-toast-success{border-left:4px solid #10b981}.zone-toast-warning{border-left:4px solid #f59e0b}.zone-toast-error{border-left:4px solid #ef4444}
