.asset-card-preview{width:100%;height:200px;display:flex;align-items:center;justify-content:center;background-color:var(--color-neutral-100);border-bottom:1px solid var(--color-neutral-200);overflow:hidden}.asset-preview-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain}.asset-preview-placeholder{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);color:var(--color-neutral-400)}.empty-state-info{margin-top:var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-neutral-500);text-align:center}.animation-editor{display:flex;flex-direction:column;gap:var(--spacing-4);padding:var(--spacing-4);background:var(--color-neutral-50);border-radius:var(--radius-md);border:1px solid var(--color-neutral-200)}.animation-editor-tabs{display:flex;gap:var(--spacing-2);border-bottom:2px solid var(--color-neutral-200)}.animation-editor-tab{padding:var(--spacing-2) var(--spacing-4);background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;font-size:var(--font-sm);font-weight:500;color:var(--color-neutral-600);transition:all .2s ease;position:relative}.animation-editor-tab:hover{color:var(--color-neutral-900);background:var(--color-neutral-100)}.animation-editor-tab--active{color:var(--color-primary-600);border-bottom-color:var(--color-primary-500);background:#fff}.animation-editor-tab--completed:after{content:"✓";margin-left:var(--spacing-1);color:var(--color-success-500);font-weight:700}.animation-editor-content{display:flex;flex-direction:column;gap:var(--spacing-4)}.animation-editor-instructions{font-size:var(--font-sm);color:var(--color-neutral-600);padding:var(--spacing-3);background:var(--color-primary-50);border-left:3px solid var(--color-primary-500);border-radius:var(--radius-sm)}.animation-frame-selection{display:flex;flex-direction:column;gap:var(--spacing-3)}.animation-frame-selection-header{display:flex;justify-content:space-between;align-items:center}.animation-frame-selection-title{font-size:var(--font-sm);font-weight:600;color:var(--color-neutral-700)}.animation-frame-selection-clear{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-xs);background:transparent;color:var(--color-error-600);border:1px solid var(--color-error-300);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.animation-frame-selection-clear:hover{background:var(--color-error-50);border-color:var(--color-error-500)}.animation-frame-badges{display:flex;gap:var(--spacing-2);flex-wrap:wrap}.animation-frame-badge{position:relative;width:48px;height:48px;border:2px solid var(--color-neutral-300);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-neutral-100);display:flex;align-items:center;justify-content:center}.animation-frame-badge-number{position:absolute;top:2px;left:2px;width:16px;height:16px;background:var(--color-primary-500);color:#fff;font-size:var(--font-xs);font-weight:700;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;z-index:10}.animation-frame-badge-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;image-rendering:pixelated}.animation-frame-badge-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-neutral-400);font-size:var(--font-xs)}.animation-editor-canvas-container{position:relative;border:2px solid var(--color-neutral-300);border-radius:var(--radius-md);overflow:auto;background:var(--color-neutral-100);max-height:400px}.animation-editor-canvas{display:block;cursor:crosshair;image-rendering:pixelated}.animation-editor-canvas--complete{cursor:not-allowed;opacity:.7}.animation-editor-actions{display:flex;gap:var(--spacing-2);justify-content:flex-end}.animation-editor-button{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-sm);border-radius:var(--radius-sm);border:1px solid var(--color-neutral-300);background:#fff;color:var(--color-neutral-700);cursor:pointer;transition:all .2s ease}.animation-editor-button:hover{background:var(--color-neutral-50);border-color:var(--color-neutral-400)}.animation-editor-button--danger{color:var(--color-error-600);border-color:var(--color-error-300)}.animation-editor-button--danger:hover{background:var(--color-error-50);border-color:var(--color-error-500)}.animation-editor-progress{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2);background:var(--color-neutral-100);border-radius:var(--radius-sm);font-size:var(--font-xs);color:var(--color-neutral-600)}.animation-editor-progress-bar{flex:1;height:4px;background:var(--color-neutral-200);border-radius:var(--radius-sm);overflow:hidden}.animation-editor-progress-fill{height:100%;background:var(--color-success-500);transition:width .3s ease}.animation-editor-empty{padding:var(--spacing-8);text-align:center;color:var(--color-neutral-500);font-size:var(--font-sm)}.animation-editor-empty-icon{font-size:var(--font-4xl);margin-bottom:var(--spacing-2)}.portrait-uploader{width:100%}.portrait-uploader__container{display:flex;gap:var(--spacing-4);align-items:flex-start}.portrait-uploader__dropzone{flex:1;min-height:120px;border:2px dashed var(--color-neutral-600);border-radius:var(--radius-md);background-color:var(--color-neutral-800);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-4);cursor:pointer;transition:all .2s ease;position:relative}.portrait-uploader__dropzone:hover{border-color:var(--color-primary-500);background-color:var(--color-neutral-750)}.portrait-uploader__dropzone--dragging{border-color:var(--color-primary-400);background-color:var(--color-primary-900);opacity:.8}.portrait-uploader__dropzone--has-file{border-color:var(--color-success-500);background-color:var(--color-success-950)}.portrait-uploader__input{display:none}.portrait-uploader__icon{width:32px;height:32px;color:var(--color-neutral-400)}.portrait-uploader__text{font-size:var(--font-sm);color:var(--color-neutral-300);text-align:center;word-break:break-word}.portrait-uploader__check{width:20px;height:20px;color:var(--color-success-500);position:absolute;top:var(--spacing-2);right:var(--spacing-2)}.portrait-uploader__preview-container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2)}.portrait-uploader__preview{width:120px;height:120px;border:2px solid var(--color-neutral-600);border-radius:var(--radius-md);overflow:hidden;background-color:var(--color-neutral-800);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md)}.portrait-uploader__preview-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;image-rendering:pixelated}.portrait-uploader__clear-button{display:flex;align-items:center;gap:var(--spacing-1)}@media (max-width: 768px){.portrait-uploader__container{flex-direction:column}.portrait-uploader__preview{width:100px;height:100px}}.stat-container-editor{display:flex;flex-direction:column;gap:var(--spacing-4)}.stat-container-editor__header{display:flex;flex-direction:column;gap:var(--spacing-2)}.stat-container-editor h3{margin:0;font-size:var(--font-lg);font-weight:600;color:var(--color-neutral-900)}.stat-mode-info{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background-color:var(--color-primary-50);border-radius:var(--border-radius-md);border:1px solid var(--color-primary-200)}.stat-mode-badge{font-size:var(--font-xs);font-weight:600;color:var(--color-primary-700);background-color:var(--color-primary-100);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--border-radius-sm);text-transform:uppercase;letter-spacing:.5px}.stat-mode-details{font-size:var(--font-sm);color:var(--color-primary-800)}.stat-mode-details strong{font-weight:600}.stat-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.stat-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);background-color:var(--color-neutral-50);border-radius:var(--border-radius-md);border:1px solid var(--color-neutral-200)}.stat-label{font-size:var(--font-sm);font-weight:500;color:var(--color-neutral-700);cursor:pointer}.stat-input{width:100px;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-sm);border:1px solid var(--color-neutral-300);border-radius:var(--border-radius-sm);background-color:var(--color-white);color:var(--color-neutral-900);transition:border-color .2s ease}.stat-input:hover:not(:disabled){border-color:var(--color-primary-400)}.stat-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.stat-input:disabled{background-color:var(--color-neutral-100);color:var(--color-neutral-500);cursor:not-allowed}.empty-state{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-6);text-align:center;background-color:var(--color-neutral-50);border:1px dashed var(--color-neutral-300);border-radius:var(--border-radius-md)}.empty-state p{margin:0;font-size:var(--font-sm);color:var(--color-neutral-600)}.empty-state-hint{font-size:var(--font-xs);color:var(--color-neutral-500)}.stat-mode-toggle{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-4);background-color:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-4)}.radio-label{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-sm);font-weight:500;color:var(--color-neutral-700);cursor:pointer;padding:var(--spacing-2);border-radius:var(--border-radius-sm);transition:background-color .2s ease}.radio-label:hover{background-color:var(--color-neutral-100)}.radio-label input[type=radio]{cursor:pointer;width:16px;height:16px}.radio-label span{flex:1}.level-based-controls{display:flex;flex-direction:column;gap:var(--spacing-4);padding:var(--spacing-4);background-color:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-4)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-3)}.form-field{display:flex;flex-direction:column;gap:var(--spacing-2)}.form-field label{font-size:var(--font-sm);font-weight:600;color:var(--color-neutral-700)}.level-input,.class-select{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-sm);border:1px solid var(--color-neutral-300);border-radius:var(--border-radius-sm);background-color:var(--color-white);color:var(--color-neutral-900);transition:border-color .2s ease}.level-input:hover,.class-select:hover{border-color:var(--color-primary-400)}.level-input:focus,.class-select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.stat-grid-warning{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-3);background-color:var(--color-warning-50);border:1px solid var(--color-warning-300);border-radius:var(--border-radius-md)}.stat-grid-warning p{margin:0;font-size:var(--font-sm);color:var(--color-warning-800);font-weight:500}.warning-hint{font-size:var(--font-xs);color:var(--color-warning-700);font-weight:400}@media (max-width: 640px){.stat-row{grid-template-columns:1fr;gap:var(--spacing-2)}.stat-input{width:100%}.form-row{grid-template-columns:1fr}}.item-picker{display:flex;flex-direction:column;gap:var(--spacing-4)}.item-picker-search{display:flex;gap:var(--spacing-2);align-items:center}.item-picker-types{display:flex;flex-wrap:wrap;gap:var(--spacing-2);align-items:center}.type-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-700)}.type-chip{padding:var(--spacing-1) var(--spacing-3);border:1px solid var(--color-neutral-300);background-color:#fff;color:var(--color-neutral-700);border-radius:var(--border-radius-full);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease}.type-chip:hover{background-color:var(--color-neutral-50);border-color:var(--color-neutral-400)}.type-chip.active{background-color:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500)}.item-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-3);max-height:400px;overflow-y:auto;padding:var(--spacing-2)}.item-card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3);border:1px solid var(--color-neutral-200);background-color:#fff;border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease}.item-card:hover{border-color:var(--color-primary-500);background-color:var(--color-primary-50);transform:translateY(-2px);box-shadow:var(--shadow-md)}.item-card-sprite{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.no-sprite-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:var(--color-neutral-100);border-radius:var(--border-radius-sm)}.no-sprite-placeholder span{font-size:var(--font-size-xs);color:var(--color-neutral-500);text-align:center}.item-card-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-900);text-align:center;word-break:break-word}.item-card-type{font-size:var(--font-size-xs);color:var(--color-neutral-600);text-align:center}.drop-table-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.drop-table-form__help-text{display:block;margin-top:var(--spacing-1);color:var(--color-neutral-500);font-size:var(--font-sm)}.drop-table-form__entries-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}.drop-table-form__empty-state{padding:var(--spacing-6);text-align:center;background-color:var(--color-neutral-100);border-radius:var(--radius-md);border:1px dashed var(--color-neutral-300)}.drop-table-form__empty-state p{margin:0;color:var(--color-neutral-600)}.drop-table-form__empty-state .text-muted{margin-top:var(--spacing-2);font-size:var(--font-sm);color:var(--color-neutral-500)}.drop-table-form__entries-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.drop-table-form__entry{padding:var(--spacing-3);background-color:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--radius-md)}.drop-table-form__entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--color-neutral-200)}.drop-table-form__entry-item-id{font-weight:600;color:var(--color-neutral-700);font-family:var(--font-mono);font-size:var(--font-sm)}.drop-table-form__entry-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-3)}.drop-table-form__actions{display:flex;justify-content:flex-end;gap:var(--spacing-2);margin-top:var(--spacing-4);padding-top:var(--spacing-4);border-top:1px solid var(--color-neutral-200)}.enemy-rewards-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.enemy-rewards-form__title{margin:0;font-size:var(--font-lg);font-weight:600;color:var(--color-neutral-900)}.enemy-rewards-form__help-text{display:block;margin-top:calc(var(--spacing-1) * -1);margin-bottom:var(--spacing-3);font-size:var(--font-xs);color:var(--color-neutral-500)}.enemy-rewards-form__info{margin-top:var(--spacing-2);padding:var(--spacing-3);background-color:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--border-radius-md);font-size:var(--font-sm);color:var(--color-neutral-700)}.enemy-rewards-form__info strong{font-weight:600;color:var(--color-neutral-900)}.enemy-rewards-form__drop-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}.tabs{display:flex;flex-direction:column;gap:var(--spacing-4);width:100%}.tabs__buttons{display:flex;gap:var(--spacing-2);border-bottom:2px solid var(--color-neutral-200);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.tabs__buttons::-webkit-scrollbar{display:none}.tabs__button{position:relative;padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-sm);font-weight:500;color:var(--color-neutral-600);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .2s ease;white-space:nowrap;margin-bottom:-2px}.tabs__button:hover:not(.tabs__button--active){color:var(--color-neutral-900);background-color:var(--color-neutral-50)}.tabs__button--active{color:var(--color-primary-600);border-bottom-color:var(--color-primary-600);font-weight:600}.tabs__button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--border-radius-sm)}.tabs__button--error{position:relative}.tabs__button--error:after{content:"";position:absolute;top:var(--spacing-2);right:var(--spacing-2);width:6px;height:6px;background-color:var(--color-error-500);border-radius:50%;box-shadow:0 0 0 2px var(--color-white)}.tabs__content{display:flex;flex-direction:column;gap:var(--spacing-4);padding:var(--spacing-4) 0;min-height:200px}.tabs__panel{display:flex;flex-direction:column;gap:var(--spacing-4);animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 640px){.tabs__button{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-xs)}.tabs__content{padding:var(--spacing-3) 0}}.form-group{display:flex;flex-direction:column;gap:var(--spacing-2);margin-bottom:var(--spacing-4)}.label{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-sm);font-weight:600;color:var(--color-neutral-700)}.label-badge{margin-left:var(--spacing-2);font-size:var(--font-xs);font-weight:var(--font-weight-normal);color:var(--color-primary-700);background:var(--color-primary-50);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--border-radius-sm);border:1px solid var(--color-primary-200)}.input{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-sm);border:1px solid var(--color-neutral-300);border-radius:var(--border-radius-sm);background-color:var(--color-white);color:var(--color-neutral-900);transition:border-color .2s ease}.input:hover{border-color:var(--color-primary-400)}.input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.input:disabled,.input-readonly{background-color:var(--color-neutral-100);color:var(--color-neutral-500);cursor:not-allowed}.form-help{display:block;margin-top:var(--spacing-1);font-size:var(--font-xs);color:var(--color-neutral-600)}.characters-view__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.characters-view__toolbar-right{display:flex;gap:var(--spacing-3);align-items:center}.characters-view__filter-group{display:flex;gap:var(--spacing-2)}.characters-view__filter-button{padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-neutral-300);background:#fff;color:var(--color-neutral-700);border-radius:var(--border-radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:all .2s ease;display:flex;align-items:center;gap:var(--spacing-1)}.characters-view__filter-button:hover{background:var(--color-neutral-50);border-color:var(--color-neutral-400)}.characters-view__filter-button--active{background:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500)}.characters-view__filter-button--active:hover{background:var(--color-primary-600);border-color:var(--color-primary-600)}.characters-view__filter-icon{width:14px;height:14px}.characters-view__sprite-container{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.characters-view__no-sprite{font-size:var(--font-size-xs);color:var(--color-neutral-500)}.characters-view__template-badge{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--border-radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);background-color:var(--color-warning-100);color:var(--color-warning-700)}.characters-view__template-badge-icon{width:12px;height:12px}.characters-view__form-group{margin-top:var(--spacing-4)}.characters-view__checkbox-label{display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer}.characters-view__checkbox-icon{transition:color .2s ease}.characters-view__checkbox-icon--active{color:var(--color-warning-500)}.characters-view__checkbox-icon--inactive{color:var(--color-neutral-400)}.characters-view__help-text{display:block;margin-top:var(--spacing-1);color:var(--color-neutral-600);font-size:var(--font-size-xs)}.characters-view__spinner{margin:0 auto}.dialog-editor{display:flex;height:100vh}.dialog-tree-wrapper{flex:1;display:flex;flex-direction:column;height:100%;border-right:1px solid var(--color-neutral-300)}.dialog-tree-toolbar{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) var(--spacing-4);border-bottom:1px solid var(--color-neutral-300);background:#fff}.dialog-tree-toolbar-actions{display:flex;align-items:center;gap:var(--spacing-3)}.dialog-tree-toolbar-entry-selector{display:flex;align-items:center;gap:var(--spacing-2)}.dialog-tree-toolbar-label{font-size:var(--font-sm);color:var(--color-neutral-700);font-weight:var(--font-weight-medium)}.dialog-tree-toolbar-select{padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:var(--font-sm);background:#fff;cursor:pointer}.dialog-tree-toolbar-select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 2px var(--color-primary-100)}.dialog-tree-toolbar-title{font-size:var(--font-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900)}.dialog-tree-toolbar-hint{font-size:var(--font-xs);font-weight:var(--font-weight-normal);color:var(--color-neutral-500);font-style:italic}.dialog-tree-toolbar-button{padding:var(--spacing-1) var(--spacing-3);background:var(--color-primary-600);color:#fff;border-radius:var(--radius-md);font-size:var(--font-sm);border:none;cursor:pointer}.dialog-tree-toolbar-button:hover:not(:disabled){background:var(--color-primary-700)}.dialog-tree-toolbar-button:disabled{background:var(--color-neutral-400);cursor:not-allowed;opacity:.6}.dialog-tree-container{flex:1;height:100%}.dialog-node{padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-lg);border:2px solid;box-shadow:var(--shadow-md);cursor:pointer;min-width:200px;background:#fff}.dialog-node--selected{box-shadow:0 0 0 2px var(--color-primary-500)}.dialog-node--simple{border-color:var(--color-primary-500);background:var(--color-primary-50)}.dialog-node--choice{border-color:#9333ea;background:#f3e8ff}.dialog-node--sequence{border-color:var(--color-success-500);background:var(--color-success-50)}.dialog-node--conditional{border-color:#eab308;background:#fef9c3}.dialog-node__header{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-1)}.dialog-node__icon{font-size:var(--font-xl)}.dialog-node__title{font-weight:var(--font-weight-semibold);font-size:var(--font-sm)}.dialog-node__id{font-size:var(--font-xs);color:var(--color-neutral-600)}.dialog-node__message{font-size:var(--font-xs);color:var(--color-neutral-700);margin-top:var(--spacing-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dialog-node__tags{display:flex;gap:var(--spacing-1);margin-top:var(--spacing-2);flex-wrap:wrap}.dialog-node__tag{font-size:var(--font-xs);background:var(--color-neutral-200);padding:var(--spacing-0-5) var(--spacing-2);border-radius:var(--radius-sm)}.dialog-node__badges{display:flex;gap:var(--spacing-2);margin-top:var(--spacing-2);font-size:var(--font-xs)}.dialog-node__badge--entry{background:var(--color-success-200);color:var(--color-success-800);padding:var(--spacing-0-5) var(--spacing-2);border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold)}.dialog-node__badge--one-time{background:var(--color-error-200);color:var(--color-error-800);padding:var(--spacing-0-5) var(--spacing-2);border-radius:var(--radius-sm)}.dialog-node__badge--choices{background:var(--color-primary-200);color:var(--color-primary-800);padding:var(--spacing-0-5) var(--spacing-2);border-radius:var(--radius-sm)}.dialog-tree-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-neutral-500);text-align:center}.dialog-tree-empty__icon{font-size:4rem;margin-bottom:var(--spacing-4)}.dialog-tree-empty__title{font-size:var(--font-lg);margin-bottom:var(--spacing-2)}.dialog-tree-empty__subtitle{font-size:var(--font-sm)}.editor-panel{width:400px;padding:var(--spacing-4);background:var(--color-neutral-50);overflow-y:auto;border-left:1px solid var(--color-neutral-300)}.node-editor-panel{width:450px;min-width:450px;background:var(--color-neutral-50);display:flex;flex-direction:column;height:100%;overflow:hidden}.editor-panel h2{font-size:var(--font-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-2)}.editor-panel p{font-size:var(--font-sm);color:var(--color-neutral-600);margin-bottom:var(--spacing-4)}.empty-selection{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-neutral-500);text-align:center}.text-muted{color:var(--color-neutral-500);font-size:var(--font-sm)}.loading-container{display:flex;align-items:center;justify-content:center;height:100vh}.loading-text{color:var(--color-neutral-500);font-size:var(--font-base)}.node-editor{padding:var(--spacing-4)}.node-editor__header{margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--color-neutral-300)}.node-editor__header h2{font-size:var(--font-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-2);color:var(--color-neutral-900)}.node-editor__description{font-size:var(--font-sm);color:var(--color-neutral-600);margin:0}.node-editor__section{margin-bottom:var(--spacing-6)}.node-editor__section-title{font-size:var(--font-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-3);color:var(--color-neutral-800)}.node-editor__field{margin-bottom:var(--spacing-3)}.node-editor__label{display:block;font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-700);margin-bottom:var(--spacing-1)}.node-editor__value{font-size:var(--font-sm);color:var(--color-neutral-900);padding:var(--spacing-2);background:var(--color-neutral-100);border-radius:var(--radius-md)}.node-editor__message{font-size:var(--font-sm);color:var(--color-neutral-900);padding:var(--spacing-3);background:var(--color-neutral-100);border-radius:var(--radius-md);line-height:1.6;white-space:pre-wrap}.node-editor__badge{display:inline-block;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-weight:var(--font-weight-medium)}.node-editor__badge--type{background:var(--color-primary-100);color:var(--color-primary-800);text-transform:capitalize}.node-editor__choices{display:flex;flex-direction:column;gap:var(--spacing-2)}.node-editor__choice{padding:var(--spacing-3);background:#fff;border:1px solid var(--color-neutral-300);border-radius:var(--radius-md)}.node-editor__choice-text{font-size:var(--font-sm);color:var(--color-neutral-900);margin-bottom:var(--spacing-1)}.node-editor__choice-next{font-size:var(--font-xs);color:var(--color-primary-600);font-weight:var(--font-weight-medium)}.node-editor__list{display:flex;flex-direction:column;gap:var(--spacing-2)}.node-editor__list-item{padding:var(--spacing-2);background:var(--color-neutral-100);border-radius:var(--radius-sm);font-size:var(--font-sm);color:var(--color-neutral-800)}.node-editor__subsection{margin-bottom:var(--spacing-3)}.node-editor__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.node-editor__tag{padding:var(--spacing-1) var(--spacing-3);background:var(--color-neutral-200);border-radius:var(--radius-full);font-size:var(--font-xs);color:var(--color-neutral-700)}.node-editor__footer{margin-top:var(--spacing-6);padding-top:var(--spacing-4);border-top:1px solid var(--color-neutral-300)}.node-editor__meta{font-size:var(--font-xs);color:var(--color-neutral-500)}.node-editor-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4);border-bottom:1px solid var(--color-neutral-300);background:#fff}.node-editor-actions{display:flex;gap:var(--spacing-2)}.node-editor-delete-button{padding:var(--spacing-2) var(--spacing-4);background:#fff;color:var(--color-error-600);border:1px solid var(--color-error-300);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-sm);font-weight:var(--font-weight-medium)}.node-editor-delete-button:hover{background:var(--color-error-50);border-color:var(--color-error-400)}.node-editor-title{font-size:var(--font-xl);font-weight:var(--font-weight-bold)}.node-editor-save-button{padding:var(--spacing-2) var(--spacing-4);background:var(--color-primary-600);color:#fff;border-radius:var(--radius-md);border:none;cursor:pointer;font-size:var(--font-sm);font-weight:var(--font-weight-medium)}.node-editor-save-button:hover{background:var(--color-primary-700)}.node-editor-save-button:disabled{background:var(--color-neutral-400);cursor:not-allowed}.node-editor-section{border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);padding:var(--spacing-4);margin-bottom:var(--spacing-4);background:#fff}.node-editor-section-title{font-weight:var(--font-weight-semibold);font-size:var(--font-lg);margin-bottom:var(--spacing-4)}.node-editor-field{margin-bottom:var(--spacing-4)}.node-editor-field:last-child{margin-bottom:0}.node-editor-label{display:block;font-size:var(--font-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-1);color:var(--color-neutral-900)}.node-editor-input,.node-editor-textarea,.node-editor-select{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:var(--font-sm);box-sizing:border-box}.node-editor-input:focus,.node-editor-textarea:focus,.node-editor-select:focus{outline:2px solid var(--color-primary-500);border-color:var(--color-primary-500)}.node-editor-input--readonly{background:var(--color-neutral-100);cursor:not-allowed}.node-editor-textarea{font-family:inherit;resize:vertical}.node-editor-hint{font-size:var(--font-xs);color:var(--color-neutral-500);margin-top:var(--spacing-1)}.node-editor-checkbox-field{display:flex;align-items:center;gap:var(--spacing-2)}.node-editor-checkbox{width:16px;height:16px;border-radius:var(--radius-sm);cursor:pointer}.node-editor-checkbox-label{font-size:var(--font-sm);cursor:pointer}.node-editor-placeholder{font-size:var(--font-sm);color:var(--color-neutral-500);font-style:italic}.node-editor-placeholder-count{font-size:var(--font-xs);color:var(--color-neutral-600);margin-top:var(--spacing-2)}.node-editor-empty-selection{text-align:center;color:var(--color-neutral-500);margin-top:80px}.condition-builder{margin-top:var(--spacing-4)}.condition-builder-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3)}.condition-builder-title{font-weight:var(--font-weight-medium);font-size:var(--font-sm)}.condition-builder-add-button{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-sm);background:var(--color-primary-600);color:#fff;border-radius:var(--radius-md);border:none;cursor:pointer}.condition-builder-add-button:hover{background:var(--color-primary-700)}.condition-builder-empty{font-size:var(--font-sm);color:var(--color-neutral-500);font-style:italic}.condition-item{border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);padding:var(--spacing-4);margin-bottom:var(--spacing-3);background:#fff}.condition-item-header{display:flex;justify-content:space-between;align-items:flex-start}.condition-item-content{flex:1;min-width:0}.condition-item-field{margin-bottom:var(--spacing-3)}.condition-item-field:last-child{margin-bottom:0}.condition-item-label{display:block;font-size:var(--font-xs);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-1)}.condition-item-input,.condition-item-select{width:100%;padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-sm);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);box-sizing:border-box}.condition-item-input:focus,.condition-item-select:focus{outline:2px solid var(--color-primary-500);border-color:var(--color-primary-500)}.condition-item-remove-button{margin-left:var(--spacing-2);color:var(--color-error-600);background:none;border:none;font-size:var(--font-sm);cursor:pointer;padding:var(--spacing-1)}.condition-item-remove-button:hover{color:var(--color-error-800)}.condition-item-negate{display:flex;align-items:center;gap:var(--spacing-2);padding-top:var(--spacing-2);margin-top:var(--spacing-3);border-top:1px solid var(--color-neutral-200)}.condition-item-checkbox{width:16px;height:16px;border-radius:var(--radius-sm);cursor:pointer}.condition-item-checkbox-label{font-size:var(--font-xs);font-weight:var(--font-weight-medium);cursor:pointer}.condition-item-preview{margin-top:var(--spacing-2);padding:var(--spacing-2);background:var(--color-neutral-50);border-radius:var(--radius-md);font-size:var(--font-xs);font-family:Courier New,monospace}.effect-builder{margin-top:var(--spacing-4)}.effect-builder-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-3)}.effect-builder-title-section{flex:1}.effect-builder-title{font-weight:var(--font-weight-medium);font-size:var(--font-sm)}.effect-builder-description{font-size:var(--font-xs);color:var(--color-neutral-600)}.effect-builder-add-button{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-sm);background:var(--color-success-600);color:#fff;border-radius:var(--radius-md);border:none;cursor:pointer}.effect-builder-add-button:hover{background:var(--color-success-700)}.effect-builder-empty{font-size:var(--font-sm);color:var(--color-neutral-500);font-style:italic}.effect-item{border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);padding:var(--spacing-4);margin-bottom:var(--spacing-3);background:#fff}.effect-item-header{display:flex;justify-content:space-between;align-items:flex-start}.effect-item-content{flex:1;min-width:0}.effect-item-field{margin-bottom:var(--spacing-3)}.effect-item-field:last-child{margin-bottom:0}.effect-item-label{display:block;font-size:var(--font-xs);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-1)}.effect-item-input,.effect-item-select,.effect-item-textarea{width:100%;padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-sm);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);box-sizing:border-box}.effect-item-input:focus,.effect-item-select:focus,.effect-item-textarea:focus{outline:2px solid var(--color-primary-500);border-color:var(--color-primary-500)}.effect-item-textarea{font-family:Courier New,monospace;resize:vertical}.effect-item-remove-button{margin-left:var(--spacing-2);color:var(--color-error-600);background:none;border:none;font-size:var(--font-sm);cursor:pointer;padding:var(--spacing-1)}.effect-item-remove-button:hover{color:var(--color-error-800)}.effect-item-preview{margin-top:var(--spacing-2);padding:var(--spacing-2);background:var(--color-neutral-50);border-radius:var(--radius-md);font-size:var(--font-xs);font-family:Courier New,monospace}.dialog-list-sidebar{width:280px;min-width:280px;border-right:1px solid var(--color-neutral-300);background:var(--color-neutral-50);display:flex;flex-direction:column;height:100%}.dialog-list-header{padding:var(--spacing-4);border-bottom:1px solid var(--color-neutral-300);background:#fff}.dialog-list-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3)}.dialog-list-title{font-size:var(--font-lg);font-weight:var(--font-weight-bold)}.dialog-list-new-button{padding:var(--spacing-1) var(--spacing-3);background:var(--color-primary-600);color:#fff;border-radius:var(--radius-md);font-size:var(--font-sm);border:none;cursor:pointer}.dialog-list-new-button:hover{background:var(--color-primary-700)}.dialog-list-search{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:var(--font-sm);margin-bottom:var(--spacing-2);box-sizing:border-box}.dialog-list-search:focus{outline:2px solid var(--color-primary-500);border-color:var(--color-primary-500)}.dialog-list-tag-filter{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:var(--font-sm);box-sizing:border-box}.dialog-list-tag-filter:focus{outline:2px solid var(--color-primary-500);border-color:var(--color-primary-500)}.dialog-list-items{flex:1;overflow-y:auto}.dialog-list-empty,.dialog-list-loading{padding:var(--spacing-4);text-align:center;color:var(--color-neutral-500);font-size:var(--font-sm)}.dialog-list-item{padding:var(--spacing-3);border-bottom:1px solid var(--color-neutral-200);cursor:pointer;transition:background .15s}.dialog-list-item:hover{background:#fff}.dialog-list-item--selected{background:var(--color-primary-50);border-left:4px solid var(--color-primary-600)}.dialog-list-item-content{display:flex;justify-content:space-between;align-items:flex-start}.dialog-list-item-main{flex:1;min-width:0}.dialog-list-item-name{font-weight:var(--font-weight-medium);font-size:var(--font-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-list-item-id{font-size:var(--font-xs);color:var(--color-neutral-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialog-list-item-tags{display:flex;gap:var(--spacing-1);margin-top:var(--spacing-1);flex-wrap:wrap}.dialog-list-item-tag{font-size:var(--font-xs);background:var(--color-neutral-200);padding:var(--spacing-0-5) var(--spacing-1-5);border-radius:var(--radius-sm)}.dialog-list-item-menu-button{margin-left:var(--spacing-2);color:var(--color-neutral-500);background:none;border:none;padding:var(--spacing-1) var(--spacing-2);cursor:pointer}.dialog-list-item-menu-button:hover{color:var(--color-neutral-700)}.dialog-list-item-menu{position:relative}.dialog-list-item-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}.dialog-list-item-menu-dropdown{position:absolute;right:0;margin-top:var(--spacing-1);background:#fff;border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:20;font-size:var(--font-sm);min-width:140px}.dialog-list-item-menu-option{display:block;width:100%;text-align:left;padding:var(--spacing-2) var(--spacing-4);background:none;border:none;cursor:pointer}.dialog-list-item-menu-option:hover{background:var(--color-neutral-100)}.dialog-list-item-menu-option--delete{color:var(--color-error-600)}.dialog-list-item-menu-option--delete:hover{background:var(--color-error-50)}.dialog-list-footer{padding:var(--spacing-4);border-top:1px solid var(--color-neutral-300);background:#fff;font-size:var(--font-xs);color:var(--color-neutral-600)}.create-dialog-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:50}.create-dialog-modal{background:#fff;border-radius:var(--radius-lg);padding:var(--spacing-6);width:100%;max-width:500px}.create-dialog-modal-title{font-size:var(--font-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-4)}.create-dialog-modal-form{display:flex;flex-direction:column;gap:var(--spacing-4)}.create-dialog-modal-field{display:flex;flex-direction:column}.create-dialog-modal-label{display:block;font-size:var(--font-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-1)}.create-dialog-modal-input,.create-dialog-modal-textarea,.create-dialog-modal-select{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);box-sizing:border-box}.create-dialog-modal-input:focus,.create-dialog-modal-textarea:focus,.create-dialog-modal-select:focus{outline:2px solid var(--color-primary-500);border-color:var(--color-primary-500)}.create-dialog-modal-hint{font-size:var(--font-xs);color:var(--color-neutral-500);margin-top:var(--spacing-1)}.create-dialog-modal-actions{display:flex;gap:var(--spacing-2);justify-content:flex-end;margin-top:var(--spacing-6)}.create-dialog-modal-cancel{padding:var(--spacing-2) var(--spacing-4);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);background:#fff;cursor:pointer}.create-dialog-modal-cancel:hover{background:var(--color-neutral-100)}.create-dialog-modal-submit{padding:var(--spacing-2) var(--spacing-4);background:var(--color-primary-600);color:#fff;border-radius:var(--radius-md);border:none;cursor:pointer}.create-dialog-modal-submit:hover{background:var(--color-primary-700)}.create-dialog-modal-error{background:var(--color-error-50);color:var(--color-error-700);padding:var(--spacing-3);border-radius:var(--radius-md);margin-bottom:var(--spacing-4);font-size:var(--font-sm)}.conversation-list-sidebar{width:280px;min-width:280px;border-right:1px solid var(--color-neutral-300);background:var(--color-neutral-50);display:flex;flex-direction:column;height:100%}.conversation-list-header{padding:var(--spacing-4);border-bottom:1px solid var(--color-neutral-300);background:#fff}.conversation-list-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3)}.conversation-list-title{font-size:var(--font-lg);font-weight:var(--font-weight-bold)}.conversation-list-new-button{padding:var(--spacing-1) var(--spacing-3);background:var(--color-primary-600);color:#fff;border-radius:var(--radius-md);font-size:var(--font-sm);border:none;cursor:pointer}.conversation-list-new-button:hover{background:var(--color-primary-700)}.conversation-list-search{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:var(--font-sm);margin-bottom:var(--spacing-2);box-sizing:border-box}.conversation-list-search:focus{outline:2px solid var(--color-primary-500);border-color:var(--color-primary-500)}.conversation-list-tag-filter{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:var(--font-sm);box-sizing:border-box}.conversation-list-tag-filter:focus{outline:2px solid var(--color-primary-500);border-color:var(--color-primary-500)}.conversation-list-items{flex:1;overflow-y:auto}.conversation-list-empty{padding:var(--spacing-4);text-align:center;color:var(--color-neutral-500);font-size:var(--font-sm)}.conversation-list-item{padding:var(--spacing-3);border-bottom:1px solid var(--color-neutral-200);cursor:pointer;transition:background .15s}.conversation-list-item:hover{background:#fff}.conversation-list-item--selected{background:var(--color-primary-50);border-left:4px solid var(--color-primary-600)}.conversation-list-item-content{display:flex;justify-content:space-between;align-items:flex-start}.conversation-list-item-main{flex:1;min-width:0}.conversation-list-item-name{font-weight:var(--font-weight-medium);font-size:var(--font-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-list-item-id{font-size:var(--font-xs);color:var(--color-neutral-500);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-list-item-stats{font-size:var(--font-xs);color:var(--color-neutral-600);margin-top:var(--spacing-1)}.conversation-list-item-tags{display:flex;gap:var(--spacing-1);margin-top:var(--spacing-1);flex-wrap:wrap}.conversation-list-item-tag{font-size:var(--font-xs);background:var(--color-neutral-200);padding:var(--spacing-0-5) var(--spacing-1-5);border-radius:var(--radius-sm)}.conversation-list-item-menu{position:relative}.conversation-list-item-menu-button{margin-left:var(--spacing-2);color:var(--color-neutral-500);background:none;border:none;padding:var(--spacing-1) var(--spacing-2);cursor:pointer}.conversation-list-item-menu-button:hover{color:var(--color-neutral-700)}.conversation-list-item-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10}.conversation-list-item-menu-dropdown{position:absolute;right:0;margin-top:var(--spacing-1);background:#fff;border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:20;font-size:var(--font-sm);min-width:140px}.conversation-list-item-menu-option{display:block;width:100%;text-align:left;padding:var(--spacing-2) var(--spacing-4);background:none;border:none;cursor:pointer}.conversation-list-item-menu-option:hover{background:var(--color-neutral-100)}.conversation-list-item-menu-option--delete{color:var(--color-error-600)}.conversation-list-item-menu-option--delete:hover{background:var(--color-error-50)}.conversation-list-footer{padding:var(--spacing-4);border-top:1px solid var(--color-neutral-300);background:#fff;font-size:var(--font-xs);color:var(--color-neutral-600)}.choice-editor{margin-top:var(--spacing-2)}.choice-editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3)}.choice-editor-count{font-size:var(--font-sm);color:var(--color-neutral-600)}.choice-editor-add-button{padding:var(--spacing-1) var(--spacing-3);background:var(--color-primary-600);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-sm);cursor:pointer}.choice-editor-add-button:hover{background:var(--color-primary-700)}.choice-editor-empty{font-size:var(--font-sm);color:var(--color-neutral-500);font-style:italic;padding:var(--spacing-4);text-align:center;background:var(--color-neutral-50);border-radius:var(--radius-md)}.choice-editor-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.choice-item{border:1px solid var(--color-neutral-300);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.choice-item-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2) var(--spacing-3);background:var(--color-neutral-50);border-bottom:1px solid var(--color-neutral-200)}.choice-item-number{font-weight:var(--font-weight-semibold);font-size:var(--font-sm);color:var(--color-neutral-700)}.choice-item-controls{display:flex;gap:var(--spacing-1)}.choice-item-move-button{padding:var(--spacing-1) var(--spacing-2);background:var(--color-neutral-200);border:none;border-radius:var(--radius-sm);font-size:var(--font-sm);cursor:pointer;color:var(--color-neutral-700)}.choice-item-move-button:hover:not(:disabled){background:var(--color-neutral-300)}.choice-item-move-button:disabled{opacity:.4;cursor:not-allowed}.choice-item-remove-button{padding:var(--spacing-1) var(--spacing-2);background:var(--color-error-100);border:none;border-radius:var(--radius-sm);font-size:var(--font-base);cursor:pointer;color:var(--color-error-600);line-height:1}.choice-item-remove-button:hover{background:var(--color-error-200)}.choice-item-body{padding:var(--spacing-3)}.choice-item-field{margin-bottom:var(--spacing-3)}.choice-item-field:last-child{margin-bottom:0}.choice-item-label{display:block;font-size:var(--font-xs);font-weight:var(--font-weight-medium);color:var(--color-neutral-700);margin-bottom:var(--spacing-1)}.choice-item-input,.choice-item-select{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:var(--font-sm);box-sizing:border-box}.choice-item-input:focus,.choice-item-select:focus{outline:2px solid var(--color-primary-500);border-color:var(--color-primary-500)}.choice-item-navigation{display:flex;gap:var(--spacing-2);align-items:center}.choice-item-section{margin-top:var(--spacing-3);padding-top:var(--spacing-3);border-top:1px solid var(--color-neutral-200)}.choice-item-section-toggle{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2);background:var(--color-neutral-50);border:none;border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-700);cursor:pointer;text-align:left}.choice-item-section-toggle:hover{background:var(--color-neutral-100)}.choice-item-section-toggle-icon{font-size:var(--font-xs);color:var(--color-neutral-500)}.choice-item-section-content{margin-top:var(--spacing-3);padding-left:var(--spacing-2)}.editor-tabs{display:flex;border-bottom:1px solid var(--color-neutral-300);background:#fff;padding:0 var(--spacing-4)}.editor-tab{padding:var(--spacing-3) var(--spacing-4);background:none;border:none;border-bottom:2px solid transparent;font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-600);cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:var(--spacing-2)}.editor-tab:hover{color:var(--color-neutral-900);background:var(--color-neutral-50)}.editor-tab--active{color:var(--color-primary-600);border-bottom-color:var(--color-primary-600)}.editor-tab-badge{background:var(--color-neutral-200);color:var(--color-neutral-700);font-size:var(--font-xs);padding:var(--spacing-0-5) var(--spacing-2);border-radius:var(--radius-full);min-width:20px;text-align:center}.editor-tab--active .editor-tab-badge{background:var(--color-primary-100);color:var(--color-primary-700)}.node-editor-tabbed{display:flex;flex-direction:column;height:100%}.node-editor-header-left{display:flex;flex-direction:column;gap:var(--spacing-1)}.node-editor-id{font-size:var(--font-xs);color:var(--color-neutral-500);font-family:monospace}.node-editor-tab-content{flex:1;overflow-y:auto}.node-editor-tab-panel{padding:var(--spacing-4)}.node-editor-logic-section{margin-bottom:var(--spacing-6)}.node-editor-logic-section:last-child{margin-bottom:0}.node-editor-subsection-title{font-size:var(--font-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-800);margin-bottom:var(--spacing-2)}.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:grab}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.formula-node-editor{border:2px solid var(--color-neutral-300);border-radius:var(--radius-md);padding:var(--spacing-3);margin-bottom:var(--spacing-2);background-color:var(--color-neutral-50);transition:border-color .2s ease}.formula-node-editor--operation{border-color:var(--color-primary-500)}.formula-node-editor--stat{border-color:var(--color-success-500)}.formula-node-editor--constant{border-color:#f97316}.formula-node-editor__header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-3)}.formula-node-editor__type-selector{flex:1;padding:var(--spacing-2);border:1px solid var(--color-neutral-300);border-radius:var(--radius-sm);background-color:var(--color-white);font-size:var(--font-size-sm);font-weight:600;color:var(--color-neutral-900);cursor:pointer;transition:border-color .2s ease}.formula-node-editor__type-selector:hover{border-color:var(--color-primary-500)}.formula-node-editor__type-selector:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.formula-node-editor__delete-btn{width:28px;height:28px;padding:0;border:1px solid var(--color-error-500);border-radius:var(--radius-sm);background-color:var(--color-white);color:var(--color-error-500);font-size:20px;font-weight:700;line-height:1;cursor:pointer;transition:all .2s ease}.formula-node-editor__delete-btn:hover{background-color:var(--color-error-500);color:var(--color-white)}.formula-node-editor__delete-btn:focus{outline:none;box-shadow:0 0 0 3px #ef444433}.formula-node-editor__content{display:flex;flex-direction:column;gap:var(--spacing-3)}.formula-node-editor__field{display:flex;flex-direction:column;gap:var(--spacing-1)}.formula-node-editor__label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-neutral-700)}.formula-node-editor__select,.formula-node-editor__input{padding:var(--spacing-2);border:1px solid var(--color-neutral-300);border-radius:var(--radius-sm);background-color:var(--color-white);font-size:var(--font-size-sm);color:var(--color-neutral-900);transition:border-color .2s ease}.formula-node-editor__select:hover,.formula-node-editor__input:hover{border-color:var(--color-primary-400)}.formula-node-editor__select:focus,.formula-node-editor__input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.formula-node-editor__input[type=number]{max-width:200px}.formula-node-editor__radio-group{display:flex;gap:var(--spacing-4)}.formula-node-editor__radio-label{display:flex;align-items:center;gap:var(--spacing-1);font-size:var(--font-size-sm);color:var(--color-neutral-700);cursor:pointer}.formula-node-editor__radio-label input[type=radio]{width:16px;height:16px;cursor:pointer}.formula-node-editor__operands{display:flex;flex-direction:column;gap:var(--spacing-3);padding-left:var(--spacing-2);border-left:2px solid var(--color-neutral-200)}.formula-node-editor__operand{display:flex;flex-direction:column;gap:var(--spacing-2)}.formula-node-editor .formula-node-editor{margin-left:0;margin-bottom:0}.formula-node-editor:focus-within{box-shadow:0 0 0 3px #3b82f61a}.formula-node-editor__empty-state{padding:var(--spacing-4);text-align:center;color:var(--color-neutral-500);font-size:var(--font-size-sm);font-style:italic}.formula-template-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1050;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.formula-template-modal{background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);width:95%;max-width:1200px;max-height:85vh;display:flex;flex-direction:column;animation:slideUp .25s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.formula-template-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4);border-bottom:2px solid var(--color-neutral-200)}.formula-template-modal__title{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-xl);font-weight:700;color:var(--color-neutral-900)}.formula-template-modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background-color:transparent;color:var(--color-neutral-600);cursor:pointer;border-radius:var(--radius-sm);transition:all .15s}.formula-template-modal__close:hover{background-color:var(--color-neutral-100);color:var(--color-neutral-900)}.formula-template-modal__search{position:relative;padding:var(--spacing-4);border-bottom:1px solid var(--color-neutral-200)}.formula-template-modal__search-icon{position:absolute;left:calc(var(--spacing-4) + var(--spacing-3));top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-neutral-400);pointer-events:none}.formula-template-modal__search-input{width:100%;padding:var(--spacing-3) var(--spacing-3) var(--spacing-3) calc(var(--spacing-3) + 24px);border:2px solid var(--color-neutral-300);border-radius:var(--radius-md);font-size:var(--font-base);color:var(--color-neutral-900);background-color:var(--color-white);transition:all .15s}.formula-template-modal__search-input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.formula-template-modal__content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4);padding:var(--spacing-4);overflow-y:auto;flex:1}.formula-template-modal__list{display:flex;flex-direction:column;gap:var(--spacing-4)}.formula-template-modal__category{display:flex;flex-direction:column;gap:var(--spacing-2)}.formula-template-modal__category-title{font-size:var(--font-sm);font-weight:700;color:var(--color-neutral-700);text-transform:uppercase;letter-spacing:.5px;padding-bottom:var(--spacing-1);border-bottom:2px solid var(--color-neutral-200)}.formula-template-modal__item{display:flex;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-3);border:2px solid var(--color-neutral-200);border-radius:var(--radius-md);background-color:var(--color-white);text-align:left;cursor:pointer;transition:all .15s}.formula-template-modal__item:hover{border-color:var(--color-primary-400);background-color:var(--color-primary-50);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.formula-template-modal__item--selected{border-color:var(--color-primary-500);background-color:var(--color-primary-100);box-shadow:var(--shadow-md)}.formula-template-modal__item-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2)}.formula-template-modal__item-name{font-size:var(--font-base);font-weight:600;color:var(--color-neutral-900)}.formula-template-modal__item-tags{display:flex;gap:var(--spacing-1);flex-wrap:wrap}.formula-template-modal__tag{font-size:var(--font-xs);padding:2px 6px;background-color:var(--color-neutral-200);color:var(--color-neutral-700);border-radius:var(--radius-sm);font-weight:500}.formula-template-modal__item-description{font-size:var(--font-sm);color:var(--color-neutral-600);line-height:1.4;margin:0}.formula-template-modal__empty{display:flex;align-items:center;justify-content:center;padding:var(--spacing-8);color:var(--color-neutral-500);font-size:var(--font-base);text-align:center}.formula-template-modal__preview{display:flex;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-4);background-color:var(--color-neutral-50);border:2px solid var(--color-neutral-200);border-radius:var(--radius-md);height:-moz-fit-content;height:fit-content;position:sticky;top:0}.formula-template-modal__preview-title{font-size:var(--font-sm);font-weight:700;color:var(--color-neutral-700);text-transform:uppercase;letter-spacing:.5px;margin:0}.formula-template-modal__preview-content{display:flex;flex-direction:column;gap:var(--spacing-3)}.formula-template-modal__preview-content h4{font-size:var(--font-lg);font-weight:700;color:var(--color-neutral-900);margin:0}.formula-template-modal__preview-description{font-size:var(--font-sm);color:var(--color-neutral-600);line-height:1.5;margin:0}.formula-template-modal__preview-formula{padding:var(--spacing-4);background-color:var(--color-white);border:2px solid var(--color-primary-300);border-radius:var(--radius-md);font-family:Monaco,Menlo,Courier New,monospace;font-size:var(--font-lg);font-weight:600;color:var(--color-primary-700);overflow-x:auto;line-height:1.6}.formula-template-modal__preview-formula code{white-space:pre-wrap;word-break:break-all}.formula-template-modal__insert-btn{padding:var(--spacing-3) var(--spacing-4);background-color:var(--color-primary-600);color:var(--color-white);border:none;border-radius:var(--radius-md);font-size:var(--font-base);font-weight:600;cursor:pointer;transition:all .15s}.formula-template-modal__insert-btn:hover{background-color:var(--color-primary-700);transform:translateY(-1px);box-shadow:var(--shadow-md)}.formula-template-modal__insert-btn:active{transform:translateY(0);box-shadow:none}@media (max-width: 768px){.formula-template-modal{width:95%;max-height:90vh}.formula-template-modal__content{grid-template-columns:1fr}.formula-template-modal__preview{position:static}}.formula-text-input{display:flex;flex-direction:column;gap:var(--spacing-3)}.formula-text-input__bar{display:flex;align-items:stretch;background-color:var(--color-white);border:2px solid var(--color-neutral-300);border-radius:var(--radius-md);overflow:hidden;transition:all .2s ease;box-shadow:var(--shadow-sm)}.formula-text-input__bar:focus-within{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a,var(--shadow-md)}.formula-text-input__bar-label{display:flex;align-items:center;padding:0 var(--spacing-4);background-color:var(--color-neutral-100);border-right:2px solid var(--color-neutral-300);font-size:var(--font-sm);font-weight:600;color:var(--color-neutral-700);min-width:80px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.formula-text-input__template-link{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background-color:var(--color-primary-50);border:2px solid var(--color-primary-300);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:600;color:var(--color-primary-700);cursor:pointer;transition:all .15s;white-space:nowrap}.formula-text-input__template-link:hover{background-color:var(--color-primary-100);border-color:var(--color-primary-500);color:var(--color-primary-800);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.formula-text-input__template-link:active{transform:translateY(0);box-shadow:none}.formula-text-input__field{position:relative;flex:1;display:flex;align-items:center;min-height:52px}.formula-text-input__input{position:absolute;top:0;left:0;width:100%;height:100%;padding:var(--spacing-3) var(--spacing-4);font-family:Monaco,Menlo,Courier New,monospace;font-size:var(--font-lg);color:transparent;background-color:transparent;border:none;outline:none;z-index:2;caret-color:var(--color-primary-600);transition:all .15s ease}.formula-text-input__input--focused{color:var(--color-neutral-900);background-color:var(--color-white)}.formula-text-input__input::-moz-placeholder{color:var(--color-neutral-400);font-size:var(--font-base)}.formula-text-input__input::placeholder{color:var(--color-neutral-400);font-size:var(--font-base)}.formula-text-input__input--error{color:transparent}.formula-text-input__input--error.formula-text-input__input--focused{color:var(--color-error-700);background-color:#ef44440d}.formula-text-input__highlight{position:absolute;top:0;left:0;width:100%;height:100%;padding:var(--spacing-3) var(--spacing-4);font-family:Monaco,Menlo,Courier New,monospace;font-size:var(--font-lg);color:var(--color-neutral-900);pointer-events:none;white-space:pre-wrap;word-break:break-word;line-height:1.6;z-index:1;overflow:hidden}.formula-text-input__token-number{color:#d97706;font-weight:600}.formula-text-input__token-stat{color:#059669;font-weight:600;background-color:#0596691a;padding:2px 4px;border-radius:3px}.formula-text-input__token-error{color:var(--color-error-600);font-weight:500}.formula-text-input__token-operator{color:#dc2626;font-weight:700;font-size:1.1em}.formula-text-input__token-paren{color:var(--color-primary-600);font-weight:700;font-size:1.1em}.formula-text-input__token-whitespace{color:transparent}.formula-text-input__autocomplete{position:absolute;top:calc(100% + var(--spacing-2));left:0;right:0;background-color:var(--color-white);border:2px solid var(--color-primary-500);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);z-index:1000;max-height:320px;overflow-y:auto;animation:slideDown .15s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.formula-text-input__autocomplete-header{padding:var(--spacing-2) var(--spacing-3);background-color:var(--color-primary-50);border-bottom:1px solid var(--color-primary-200);font-size:var(--font-xs);font-weight:600;color:var(--color-primary-700);text-transform:uppercase;letter-spacing:.5px}.formula-text-input__autocomplete-item{display:flex;align-items:center;gap:var(--spacing-3);width:100%;padding:var(--spacing-3) var(--spacing-3);border:none;background-color:transparent;text-align:left;cursor:pointer;transition:all .15s;border-left:3px solid transparent}.formula-text-input__autocomplete-item:hover,.formula-text-input__autocomplete-item--selected{background-color:var(--color-primary-50);border-left-color:var(--color-primary-500)}.formula-text-input__autocomplete-item:active{background-color:var(--color-primary-100)}.formula-text-input__autocomplete-id{font-family:Monaco,Menlo,Courier New,monospace;font-size:var(--font-sm);font-weight:700;color:var(--color-primary-700);background-color:var(--color-primary-100);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);min-width:100px}.formula-text-input__autocomplete-name{font-size:var(--font-sm);color:var(--color-neutral-700);font-weight:500}.formula-text-input__autocomplete-highlight{background-color:var(--color-warning-200);color:var(--color-warning-900);font-weight:700;padding:0 2px;border-radius:2px}.formula-text-input__error{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3);font-size:var(--font-sm);color:var(--color-error-700);background-color:#ef44441a;border:2px solid var(--color-error-500);border-radius:var(--radius-md);animation:shake .3s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.formula-text-input__error-icon{font-size:var(--font-lg);flex-shrink:0}.formula-text-input__error-text{font-weight:500;line-height:1.4}.formula-text-input__success{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-sm);color:var(--color-success-700);background-color:#10b9811a;border:1px solid var(--color-success-300);border-radius:var(--radius-md)}.formula-text-input__success-icon{font-size:var(--font-base);font-weight:700;color:var(--color-success-600)}.formula-text-input__success-text{font-weight:500}.formula-text-input__help{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-3);font-size:var(--font-sm);color:var(--color-neutral-600);background-color:var(--color-neutral-50);border-radius:var(--radius-md);border:1px solid var(--color-neutral-200);line-height:1.5}.formula-text-input__help-row{display:flex;align-items:baseline;gap:var(--spacing-2);flex-wrap:wrap}.formula-text-input__help strong{color:var(--color-neutral-800);font-weight:600;white-space:nowrap}.formula-text-input__help code{font-family:Monaco,Menlo,Courier New,monospace;font-size:var(--font-xs);background-color:var(--color-neutral-200);padding:2px 6px;border-radius:3px;color:var(--color-neutral-800);font-weight:600}.formula-builder{display:flex;flex-direction:column;gap:var(--spacing-6);padding:var(--spacing-4);background-color:var(--color-neutral-50);border-radius:var(--radius-md);border:1px solid var(--color-neutral-200)}.formula-builder__mode-toggle{display:flex;gap:var(--spacing-1);background-color:var(--color-neutral-100);padding:var(--spacing-1);border-radius:var(--radius-md);border:1px solid var(--color-neutral-300)}.formula-builder__mode-button{padding:var(--spacing-2) var(--spacing-4);background-color:transparent;color:var(--color-neutral-700);border:none;border-radius:var(--radius-sm);font-size:var(--font-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.formula-builder__preview{padding:var(--spacing-4);background-color:var(--color-white);border-radius:var(--radius-sm);border:1px solid var(--color-neutral-300)}.formula-builder__preview-content{padding:var(--spacing-3);background-color:var(--color-neutral-100);border-radius:var(--radius-sm);font-family:Monaco,Menlo,Courier New,monospace;font-size:var(--font-base);color:var(--color-neutral-900);min-height:40px;display:flex;align-items:center}.formula-test-modal-content{display:flex;flex-direction:column;gap:var(--spacing-5)}.formula-info{padding:var(--spacing-3);background-color:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--border-radius-md);display:flex;flex-direction:column;gap:var(--spacing-2)}.formula-info .info-row{display:flex;gap:var(--spacing-2);font-size:var(--font-size-sm)}.formula-info .info-row strong{min-width:120px;color:var(--color-neutral-700);font-weight:var(--font-weight-semibold)}.formula-info .info-row span{color:var(--color-neutral-900)}.stat-section{display:flex;flex-direction:column;gap:var(--spacing-3)}.section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-700);margin:0;padding-bottom:var(--spacing-2);border-bottom:1px solid var(--color-neutral-200)}.stat-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-3)}.empty-state{padding:var(--spacing-8) var(--spacing-4);text-align:center;color:var(--color-neutral-500);font-size:var(--font-size-sm)}.test-result{padding:var(--spacing-4);border-radius:var(--border-radius-lg);margin-top:var(--spacing-2)}.test-result.success{background-color:var(--color-success-50);border:1px solid var(--color-success-200);color:var(--color-success-900)}.test-result.error{background-color:var(--color-error-50);border:1px solid var(--color-error-200);color:var(--color-error-900)}.test-result h4{margin:0 0 var(--spacing-2) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.test-result .breakdown{margin:0;font-size:var(--font-size-sm);font-family:var(--font-family-mono, monospace);opacity:.9}.test-result .result-section{margin-top:var(--spacing-3);padding-top:var(--spacing-3);border-top:1px solid var(--color-success-200)}.test-result .result-section:first-of-type{margin-top:var(--spacing-2);padding-top:0;border-top:none}.test-result .result-section strong{display:block;margin-bottom:var(--spacing-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-success-800)}.test-result .formula-string{margin:0;font-size:var(--font-size-sm);font-family:var(--font-family-mono, monospace);color:var(--color-success-900)}.test-result .application-info{margin:0;font-size:var(--font-size-sm);color:var(--color-success-900)}.test-result .final-result{margin:var(--spacing-2) 0 0 0;padding:var(--spacing-2);background-color:var(--color-success-100);border-radius:var(--border-radius-md);font-size:var(--font-size-sm);color:var(--color-success-900)}.modal-footer-actions{display:flex;justify-content:flex-end;gap:var(--spacing-3);width:100%}.react-tabs{-webkit-tap-highlight-color:transparent}.react-tabs__tab-list{border-bottom:1px solid #aaa;margin:0 0 10px;padding:0}.react-tabs__tab{display:inline-block;border:1px solid transparent;border-bottom:none;bottom:-1px;position:relative;list-style:none;padding:6px 12px;cursor:pointer}.react-tabs__tab--selected{background:#fff;border-color:#aaa;color:#000;border-radius:5px 5px 0 0}.react-tabs__tab--disabled{color:GrayText;cursor:default}.react-tabs__tab:focus{outline:none}.react-tabs__tab:focus:after{content:"";position:absolute;height:5px;left:-4px;right:-4px;bottom:-5px;background:#fff}.react-tabs__tab-panel{display:none}.react-tabs__tab-panel--selected{display:block}.selectorLine{display:flex;flex-direction:row;align-items:center;place-content:space-between;padding:2.5px 10px;gap:10px}.selectorLine input{flex-grow:2}.selected{background-color:var(--selected-line-colour)}.layer-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}.layer-icon.tile svg{color:#4f46e5;stroke-width:1.5}.layer-icon.object svg{color:#059669;stroke-width:1.5}.button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background-color:#3b82f6;color:#fff;border:none;border-radius:.375rem;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.button:hover{background-color:#2563eb}.button.secondary{background-color:#fff;border:1px solid #d1d5db;color:#374151}.button.secondary:hover{background-color:#f3f4f6;border-color:#9ca3af}.button.primary{background-color:#3b82f6;border:1px solid transparent;color:#fff}.button.primary:hover{background-color:#2563eb}.layerSelectorMenu{display:flex;gap:10px;padding:10px}.layerSelector{box-shadow:#32325d1a 0 0 0 1px inset,#32325d33 0 6px 15px,#0000001a 0 2px 2px,#3297d34d 0 0 0 1px}.panel{padding-top:6px;padding-bottom:6px;margin-top:.25rem;margin-bottom:.25rem;border-radius:4px;border-width:1px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid #000000;background-color:var(--default-background-colour);width:200px;z-index:100;position:absolute}.creationLayerPanel{display:flex;flex-direction:row;align-items:center;padding-left:10px;padding-right:10px;gap:10px}.creationLayerPanel .header-icon{height:25px}.tabs{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:600px;margin:2rem auto;margin-top:0}.propertyBox{display:flex;flex-direction:column;gap:.6rem;margin-bottom:2rem;padding:.5rem}.propertyRow{display:grid;grid-template-columns:1fr 1fr;gap:1rem;width:100%}.propertyRow>*{min-width:0;flex:1}.propertyLine{display:flex;flex-direction:column;gap:.5rem}.propertyLine label{font-size:.875rem;color:#4b5563;font-weight:500}.customPropertyLine{display:grid;grid-template-columns:1fr 1fr auto;gap:.75rem;align-items:center;margin-bottom:.6rem}.customPropertyLine>*{min-width:0;flex:1}.select{padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;transition:all .2s ease;width:100%}.title2{font-size:16px;font-weight:500;color:#111827;margin:0}.modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #e5e7eb;background-color:#f9fafb}.form-content{display:grid;grid-template-columns:100px 1fr;width:600px;align-items:center}.preview{max-height:300px;overflow-y:auto}.formInput{display:flex;flex-direction:column;gap:.5rem}.flex-column{flex-direction:column}.flex-horizontal{flex-direction:row;align-items:center}.input{padding:.4rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;transition:all .2s ease}.input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}select.input{background-color:#fff;cursor:pointer}input[type=checkbox]{width:1rem;height:1rem;border-radius:4px;border:1px solid #cbd5e1;cursor:pointer}.input.error{border:1px solid red}.error-message{color:red;font-size:.9em;margin-left:10px;margin-bottom:10px;margin-top:-8px;display:block}label{font-size:.875rem;color:#4b5563;font-weight:500}.file-upload{position:relative;margin-bottom:1rem}.file-upload input[type=file]{display:none}.upload-label{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#e9ecef;border:2px dashed #ced4da;border-radius:6px;cursor:pointer;transition:all .2s ease}.upload-label:hover{background:#dee2e6;border-color:#adb5bd}.upload-label span{font-size:.9rem;color:#495057}.tilesetEditor{border-radius:4px;padding:10px;box-shadow:#32325d1a 0 0 0 1px inset,#32325d33 0 6px 15px,#0000001a 0 2px 2px,#3297d34d 0 0 0 1px}.tilesetEditorPanel{border:1px solid grey;border-radius:4px;padding:10px;height:300px;overflow-y:scroll;position:relative}.react-tabs__tab-list{display:flex;overflow-x:auto;overflow-y:hidden;border-bottom:1px solid #e2e8f0;background:#f8fafc;border-top-left-radius:8px;border-top-right-radius:8px}.react-tabs__tab{padding:1rem 1.5rem;border:none;background:none;font-size:.95rem;color:#64748b;cursor:pointer;transition:all .2s ease;position:relative}.react-tabs__tab:hover{color:#0f172a}.react-tabs__tab--selected{color:#2563eb;font-weight:500}.react-tabs__tab--selected:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#2563eb}.mapCanvasWrapper{max-height:800px;width:99.9%;height:100%;position:relative;overflow-y:auto}.layer{position:absolute;top:0;left:0}:root{--selected-line-colour: #3B82F6;--default-background-colour: #ffffff;--gray-2: #cfcfcf --default-shadow: rgba(50, 50, 93, .1) 0 0 0 1px inset, rgba(50, 50, 93, .2) 0 6px 15px 0, rgba(0, 0, 0, .1) 0 2px 2px 0, rgba(50, 151, 211, .3) 0 0 0 1px}.mapEditor{height:100%;background-color:var(--default-background-colour)}.mapEditor .container{display:flex;height:100%;padding:0 16px 16px}.mapEditor .container .leftPanel{flex:1.25}.mapEditor .container .map{flex:3}.mapEditor .container .rightPanel{flex:1;max-width:400px}.menu{display:flex;flex-direction:row;gap:25px;margin-bottom:2px}.iconGroup{gap:5px}.formContent{display:grid;grid-template-columns:100px 1fr;width:600px;align-items:center}.import-modal{min-height:300px}.formContent{display:grid;grid-template-columns:100px 1fr;width:800px;align-items:center}.status-icon{position:absolute;right:-30px;top:50%;transform:translateY(-50%)}.status-icon.success{color:#28a745}.first-step{background:#f8f9fa;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000000d;display:flex;flex-direction:column}.first-step-arrow{color:#007bff;place-self:center}.second-third-step{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center}.step-arrow{color:#007bff;place-self:center}.step-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.step-number{width:32px;height:32px;background:#007bff;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.step-header h2{font-size:1.2rem;color:#333;margin:0}.map-loader{background-color:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000001a}.map-loader-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.map-loader-header svg{color:#4b5563}.map-loader-header h2{font-size:16px;font-weight:500;color:#111827;margin:0}.map-select-wrapper{position:relative;width:100%}.map-select{width:100%;padding:8px 36px 8px 12px;border:1px solid #e5e7eb;border-radius:6px;background-color:#f9fafb;font-size:14px;color:#374151;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:all .2s ease}.map-select:hover{border-color:#d1d5db;background-color:#f3f4f6}.map-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.select-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none}.map-importer{max-width:1200px;margin:0 auto;padding:2rem;background:#fff;min-height:100vh}.tileset-list{display:flex;flex-direction:column;gap:1rem}.tileset-item{display:flex;gap:1rem;background:#fff;padding:1rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.tileset-info{flex:1}.tileset-path{font-size:.85rem;color:#666;margin-bottom:.5rem;word-break:break-all}.tileset-preview{width:80px;height:80px;border-radius:4px;overflow:hidden}.tileset-preview img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.asset-mapping{background:#fff;padding:1rem;border-radius:8px;box-shadow:0 1px 3px #0000001a}.importer-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.asset-card{background-color:#fff;border-radius:.5rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.asset-image-container{position:relative;aspect-ratio:1}.asset-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.delete-button{position:absolute;top:.5rem;right:.5rem;padding:.5rem;background-color:#ef4444;border:none;border-radius:9999px;cursor:pointer;opacity:0;transition:opacity .2s}.asset-card:hover .delete-button{opacity:1}.delete-button svg{color:#fff}.asset-info{padding:1rem}.asset-name{font-weight:500;color:#111827;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-type{font-size:.875rem;color:#6b7280;margin:.25rem 0}.asset-dimensions{font-size:.875rem;color:#6b7280;margin:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:600px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:18px;font-weight:500;color:#111827}.modal-close{background:none;border:none;padding:4px;cursor:pointer;color:#6b7280;border-radius:4px;transition:all .2s ease}.modal-close:hover{background-color:#f3f4f6;color:#374151}.modal-content{padding:20px}.asset-manager{padding:1.5rem}.filter-section{margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between}.filter-group{display:flex;align-items:center;gap:1rem}.filter-select{background-color:#fff;border:1px solid #d1d5db;border-radius:.375rem;padding:.5rem .75rem;font-size:14px}.asset-form{display:flex;flex-direction:column;gap:1rem}.form-group label{font-size:14px;font-weight:500;color:#374151}.form-group input,.form-group select{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.file-input{padding:.5rem;border:1px dashed #d1d5db;border-radius:.375rem;background-color:#f9fafb}.preview-section{margin-top:1rem}.preview-container{margin-top:.5rem;border:1px solid #d1d5db;border-radius:.375rem;padding:.5rem;background-color:#f9fafb}.preview-container img{max-width:100%;height:auto;display:block}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;margin-top:1.5rem}.asset-category{margin-bottom:2rem}.category-title{font-size:1.25rem;font-weight:600;color:#111827;margin-bottom:1rem}.nav{background-color:#fff;box-shadow:0 1px 3px #0000001a}.nav-container{margin:0 auto;padding:0 .3rem}.nav-content{display:flex;align-items:center;height:4rem}.nav-links{display:flex;gap:2rem}.nav-link{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:500;color:#374151;text-decoration:none;transition:background-color .2s}.nav-link:hover{background-color:#f3f4f6}.nav-link.active{background-color:#dbeafe;color:#1d4ed8}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#1e3a8a,#3730a3);display:flex;align-items:center;justify-content:center}.loading-content{text-align:center}.compass-container{position:relative;width:96px;height:96px}.outer-ring{position:absolute;top:0;right:0;bottom:0;left:0;border:4px solid rgba(191,219,254,.2);border-radius:50%;animation:spin 3s linear infinite}.compass-wrapper{position:relative;padding:16px;animation:spin 2s linear infinite}.compass-icon{color:#bfdbfe}.decorative-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-top:2px solid rgba(96,165,250,.3);border-radius:50%;animation:spin 4s linear infinite}.loading-text{margin-top:32px}.loading-text h2{color:#bfdbfe;font-size:24px;font-weight:700;margin:0 0 16px}.loading-dots{display:flex;justify-content:center;gap:4px}.dot{width:8px;height:8px;background-color:#60a5fa;border-radius:50%}.dot:nth-child(1){animation:bounce .6s infinite;animation-delay:-.3s}.dot:nth-child(2){animation:bounce .6s infinite;animation-delay:-.15s}.dot:nth-child(3){animation:bounce .6s infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.character-picker{display:flex;flex-direction:column;gap:var(--spacing-4);max-height:500px;overflow-y:auto}.character-picker-search{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3);border-bottom:1px solid var(--color-neutral-200)}.character-picker-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-2);padding:0 var(--spacing-3);align-items:center}.tag-label{font-size:var(--font-xs);color:var(--color-neutral-600);font-weight:var(--font-weight-semibold)}.tag-chip{padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--color-neutral-300);background:#fff;border-radius:var(--radius-full);font-size:var(--font-xs);cursor:pointer;transition:all .2s}.tag-chip:hover{border-color:var(--color-primary-400)}.tag-chip.active{background:var(--color-primary-500);color:#fff;border-color:var(--color-primary-600)}.character-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--spacing-3);padding:var(--spacing-3)}.character-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3);border:2px solid var(--color-neutral-200);border-radius:var(--radius-md);background:#fff;cursor:pointer;transition:all .2s}.character-card:hover{border-color:var(--color-primary-500);box-shadow:var(--shadow-md);transform:translateY(-2px)}.character-card-sprite{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--color-neutral-100);border-radius:var(--radius-sm)}.no-sprite-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:var(--font-xs);color:var(--color-neutral-500)}.character-card-name{font-size:var(--font-sm);font-weight:var(--font-weight-semibold);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.character-card-badge{position:absolute;top:var(--spacing-1);right:var(--spacing-1);background:var(--color-warning-500);color:#fff;border-radius:var(--radius-full);padding:var(--spacing-1)}.character-card-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-1);justify-content:center}.mini-tag{font-size:10px;padding:2px 6px;background:var(--color-neutral-200);border-radius:var(--radius-sm);color:var(--color-neutral-700)}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8);text-align:center;color:var(--color-neutral-500);grid-column:1 / -1}.text-muted{color:var(--color-neutral-500);font-size:var(--font-sm);margin-top:var(--spacing-2)}.spinner{width:32px;height:32px;border:3px solid var(--color-neutral-200);border-top-color:var(--color-primary-500);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:var(--spacing-3)}.npc-modal-content{display:flex;flex-direction:column;gap:var(--spacing-4)}.npc-modal-tabs{display:flex;gap:var(--spacing-2);border-bottom:2px solid var(--color-neutral-200)}.tab-button{padding:var(--spacing-3) var(--spacing-4);border:none;background:transparent;cursor:pointer;font-size:var(--font-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-600);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.tab-button:hover{color:var(--color-primary-500)}.tab-button.active{color:var(--color-primary-600);border-bottom-color:var(--color-primary-600);font-weight:var(--font-weight-semibold)}.tab-content{min-height:300px}.npc-form{display:flex;flex-direction:column;gap:1rem;padding:1rem 0}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:var(--font-sm, .875rem);font-weight:500;color:var(--color-neutral-200, #e4e4e7)}.form-group small{font-size:var(--font-xs, .75rem);color:var(--color-neutral-400, #a1a1aa);font-style:italic}.form-row{flex-direction:row;gap:1rem}.form-row>div{flex:1}.sprite-preview{min-height:100px;background-color:var(--color-neutral-800, #27272a);border:1px solid var(--color-neutral-700, #3f3f46);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--color-neutral-500, #71717a)}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-neutral-700, #3f3f46)}.scene-editor-container{display:flex;flex-direction:column;height:100vh;width:100vw}.scene-selector{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;background-color:var(--color-neutral-750, #333333);border-bottom:1px solid var(--color-neutral-600, #52525b)}.scene-selector label{color:var(--color-neutral-200, #e5e5e5);font-size:var(--font-sm, .875rem)}.scene-selector select{padding:.5rem;background-color:var(--color-neutral-700, #404040);color:var(--color-neutral-200, #e5e5e5);border:1px solid var(--color-neutral-600, #52525b);border-radius:4px;min-width:200px}.save-scene-btn{padding:.5rem 1rem;background-color:var(--color-primary-500, #3b82f6);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500}.save-scene-btn:hover{background-color:var(--color-primary-600, #2563eb)}.save-scene-btn.unsaved{background-color:var(--color-warning-500, #f59e0b)}.save-scene-btn.unsaved:hover{background-color:var(--color-warning-600, #d97706)}.map-editor-wrapper{flex:1;overflow:hidden}.loading{display:flex;align-items:center;justify-content:center;height:100vh;color:var(--color-neutral-100, #f4f4f5);font-size:var(--font-lg, 1.125rem)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;color:var(--color-neutral-400, #a1a1aa);font-size:var(--font-lg, 1.125rem);gap:.5rem}.empty-state .hint{font-size:var(--font-sm, .875rem);color:var(--color-neutral-500, #71717a)}.error-banner{padding:1rem;background-color:var(--color-error-50, #fef2f2);border:1px solid var(--color-error-300, #fca5a5);color:var(--color-error-700, #b91c1c);margin:.5rem 1rem;border-radius:4px}.scene-selector .btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:500;font-size:var(--font-sm, .875rem)}.scene-selector .btn-secondary{background-color:var(--color-neutral-600, #52525b);color:var(--color-neutral-100, #f5f5f5)}.scene-selector .btn-secondary:hover{background-color:var(--color-neutral-500, #737373)}.scene-selector .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.save-scene-btn:disabled{opacity:.5;cursor:not-allowed}.encounter-button{padding:.5rem 1rem;background-color:var(--color-neutral-700, #404040);color:var(--color-neutral-100, #f5f5f5);border:1px solid var(--color-neutral-600, #52525b);border-radius:4px;cursor:pointer;font-weight:500;display:flex;align-items:center;gap:.5rem}.encounter-button:hover{background-color:var(--color-neutral-600, #52525b);border-color:var(--color-neutral-500, #737373)}.encounter-button:disabled{opacity:.5;cursor:not-allowed}.warp-info{padding:var(--spacing-3, .75rem);background-color:var(--color-neutral-100, #f4f4f5);border-radius:var(--radius-md, .375rem);margin-bottom:var(--spacing-4, 1rem)}.warp-info p{margin:0;font-size:var(--font-sm, .875rem)}.current-map-info{margin-top:var(--spacing-3, .75rem);padding-top:var(--spacing-3, .75rem);border-top:1px solid var(--color-neutral-200, #e4e4e7)}.form-text{display:block;margin-top:var(--spacing-1, .25rem);font-size:var(--font-xs, .75rem);color:var(--color-neutral-600, #52525b)}.form-group{margin-bottom:var(--spacing-4, 1rem)}.form-group label{display:block;margin-bottom:var(--spacing-2, .5rem);font-weight:500;font-size:var(--font-sm, .875rem)}.required{color:var(--color-error-500, #ef4444)}.alert{padding:var(--spacing-3, .75rem);border-radius:var(--radius-md, .375rem);margin-bottom:var(--spacing-4, 1rem)}.alert-error{background-color:var(--color-error-50, #fef2f2);color:var(--color-error-700, #b91c1c);border:1px solid var(--color-error-300, #fca5a5)}.text-muted{color:var(--color-neutral-600, #52525b)}.modal-footer .btn{padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;font-weight:500;font-size:var(--font-sm, .875rem);margin-left:.5rem}.modal-footer .btn-danger{background-color:var(--color-error-500, #ef4444);color:#fff}.modal-footer .btn-danger:hover{background-color:var(--color-error-600, #dc2626)}.modal-footer .btn-secondary{background-color:var(--color-neutral-600, #52525b);color:#fff}.modal-footer .btn-secondary:hover{background-color:var(--color-neutral-500, #71717a)}.modal-footer .btn-primary{background-color:var(--color-primary-500, #3b82f6);color:#fff}.modal-footer .btn-primary:hover{background-color:var(--color-primary-600, #2563eb)}.encounter-modal-content{display:flex;flex-direction:column;gap:var(--spacing-4);min-height:500px;max-height:70vh}.encounter-loading{padding:var(--spacing-8);text-align:center;color:var(--color-neutral-500)}.encounter-empty-state{padding:var(--spacing-8);text-align:center}.encounter-empty-state p{margin:var(--spacing-2) 0;color:var(--color-neutral-600)}.encounter-empty-state .hint{font-size:var(--font-sm);color:var(--color-neutral-500)}.encounter-tabs{display:flex;flex-wrap:wrap;gap:var(--spacing-2);border-bottom:2px solid var(--color-neutral-600);padding-bottom:var(--spacing-1)}.encounter-tab{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background-color:transparent;border:1px solid transparent;border-radius:var(--radius-md) var(--radius-md) 0 0;cursor:pointer;transition:all .2s;color:var(--color-neutral-400);font-size:var(--font-sm);font-weight:500;position:relative;flex:1 1 auto;min-width:100px;justify-content:center}.encounter-tab:hover{background-color:var(--color-neutral-750);color:var(--color-neutral-200)}.encounter-tab.active{background-color:var(--color-neutral-750);border-color:var(--color-neutral-500);border-bottom-color:var(--color-neutral-750);color:var(--color-neutral-100);margin-bottom:-2px;padding-bottom:calc(var(--spacing-2) + 2px)}.tab-icon{font-size:var(--font-base)}.tab-label{white-space:nowrap}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--spacing-1);background-color:var(--color-primary-600);color:var(--color-neutral-100);font-size:var(--font-xs);font-weight:600;border-radius:var(--radius-full)}.encounter-tab-content{display:flex;flex-direction:column;gap:var(--spacing-3);flex:1;overflow:hidden}.encounter-help-text{margin:0;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-sm);color:var(--color-neutral-300);background-color:var(--color-neutral-750);border-left:3px solid var(--color-primary-500);border-radius:var(--radius-sm)}.encounter-filters{display:flex;gap:var(--spacing-3);align-items:center}.encounter-search{position:relative;display:flex;align-items:center;flex:1}.search-icon{position:absolute;left:var(--spacing-3);color:var(--color-neutral-500);pointer-events:none}.search-input{width:100%;padding:var(--spacing-2) var(--spacing-10) var(--spacing-2) var(--spacing-8);background-color:var(--color-neutral-750);border:1px solid var(--color-neutral-600);border-radius:var(--radius-md);color:var(--color-neutral-100);font-size:var(--font-sm);transition:border-color .2s}.search-input:focus{outline:none;border-color:var(--color-primary-500)}.search-input::-moz-placeholder{color:var(--color-neutral-400)}.search-input::placeholder{color:var(--color-neutral-400)}.search-clear{position:absolute;right:var(--spacing-3);width:20px;height:20px;display:flex;align-items:center;justify-content:center;background-color:var(--color-neutral-700);border:none;border-radius:var(--radius-full);color:var(--color-neutral-300);cursor:pointer;font-size:var(--font-xs);transition:all .2s}.search-clear:hover{background-color:var(--color-neutral-600);color:var(--color-neutral-100)}.show-selected-toggle{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background-color:var(--color-neutral-750);border:1px solid var(--color-neutral-600);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-sm);color:var(--color-neutral-300);white-space:nowrap;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.show-selected-toggle:hover{background-color:var(--color-neutral-700);border-color:var(--color-primary-500);color:var(--color-neutral-100)}.show-selected-toggle input[type=checkbox]{cursor:pointer}.encounter-split-view{display:flex;gap:var(--spacing-3);overflow:hidden;flex:1}.enemy-section{flex:1;display:flex;flex-direction:column;gap:var(--spacing-2);min-width:0}.enemy-section.full-width{flex:1 1 100%}.section-title{margin:0;padding:var(--spacing-2);font-size:var(--font-sm);font-weight:600;color:var(--color-neutral-300);background-color:var(--color-neutral-750);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px}.selected-section .section-title{background-color:var(--color-primary-900);color:var(--color-primary-300)}.enemy-list{display:flex;flex-direction:column;gap:var(--spacing-1);overflow-y:auto;max-height:400px;padding:var(--spacing-1)}.enemy-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2);background-color:var(--color-neutral-750);border:1px solid var(--color-neutral-600);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s}.enemy-item:hover{background-color:var(--color-neutral-700);border-color:var(--color-neutral-500);transform:translate(2px)}.enemy-item.selected{background-color:var(--color-primary-900);border-color:var(--color-primary-600)}.enemy-item.selected:hover{background-color:var(--color-primary-850);border-color:var(--color-primary-500)}.enemy-checkbox{cursor:pointer;width:16px;height:16px;flex-shrink:0}.enemy-sprite-small{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background-color:var(--color-neutral-850);border-radius:var(--radius-sm);padding:var(--spacing-1);flex-shrink:0}.enemy-no-sprite-small{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:var(--font-sm);color:var(--color-neutral-500);background-color:var(--color-neutral-800);border-radius:var(--radius-sm)}.enemy-name-compact{font-size:var(--font-sm);color:var(--color-neutral-200);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.enemy-item.selected .enemy-name-compact{color:var(--color-primary-100);font-weight:500}.empty-section{padding:var(--spacing-8) var(--spacing-4);text-align:center;color:var(--color-neutral-500)}.empty-section p{margin:var(--spacing-1) 0;font-size:var(--font-sm)}.empty-section .hint{font-size:var(--font-xs);color:var(--color-neutral-600)}.encounter-no-results{padding:var(--spacing-8);text-align:center;color:var(--color-neutral-500);font-size:var(--font-sm)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--spacing-3);padding-top:var(--spacing-4);border-top:1px solid var(--color-neutral-600)}.enemy-list::-webkit-scrollbar{width:8px}.enemy-list::-webkit-scrollbar-track{background:var(--color-neutral-750);border-radius:var(--radius-sm)}.enemy-list::-webkit-scrollbar-thumb{background:var(--color-neutral-500);border-radius:var(--radius-sm)}.enemy-list::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}.starting-party-section{background-color:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--border-radius-lg);padding:var(--spacing-6)}.section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-4)}.section-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);margin:0}.section-description{font-size:var(--font-size-sm);color:var(--color-neutral-600);margin-top:var(--spacing-1)}.party-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.party-member-card{display:flex;gap:var(--spacing-4);padding:var(--spacing-4);background-color:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--border-radius-md);align-items:center}.party-member-sprite{width:64px;height:64px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.no-sprite{font-size:var(--font-size-xs);color:var(--color-neutral-500);text-align:center}.party-member-info{flex:1}.party-member-name{font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);margin-bottom:var(--spacing-2)}.party-member-fields{display:flex;gap:var(--spacing-3)}.field-group{flex:1}.field-group--small{flex:0 0 120px}.field-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-700);margin-bottom:var(--spacing-1)}.party-member-actions{display:flex;gap:var(--spacing-2);align-items:center}.main-character-toggle{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-neutral-300);background-color:#fff;border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease;font-size:var(--font-size-sm);color:var(--color-neutral-700)}.main-character-toggle:hover{background-color:var(--color-neutral-50);border-color:var(--color-neutral-400)}.main-character-toggle.active{background-color:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500)}.main-character-toggle.active:hover{background-color:var(--color-primary-600);border-color:var(--color-primary-600)}.main-label{font-weight:var(--font-weight-medium)}.starting-inventory-section{background-color:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--border-radius-lg);padding:var(--spacing-6)}.inventory-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.inventory-item-card{display:flex;gap:var(--spacing-4);padding:var(--spacing-4);background-color:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--border-radius-md);align-items:center}.inventory-item-sprite{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.inventory-item-info{min-width:200px}.inventory-item-name{font-weight:var(--font-weight-semibold);color:var(--color-neutral-900)}.inventory-item-type{font-size:var(--font-size-sm);color:var(--color-neutral-600);margin-top:var(--spacing-1)}.inventory-item-fields{display:flex;gap:var(--spacing-3);flex:1}.inventory-item-actions{display:flex;gap:var(--spacing-2)}.scene-picker{display:flex;flex-direction:column;gap:var(--spacing-4)}.scene-picker-search{display:flex;gap:var(--spacing-2);align-items:center}.scene-picker-list{display:flex;flex-direction:column;gap:var(--spacing-2);max-height:400px;overflow-y:auto;padding:var(--spacing-2)}.scene-card{display:flex;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-3);border:1px solid var(--color-neutral-200);background-color:#fff;border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease;text-align:left}.scene-card:hover{border-color:var(--color-primary-500);background-color:var(--color-primary-50);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.scene-card-name{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900)}.scene-card-badge{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--border-radius-sm);white-space:nowrap}.scene-card-badge--warning{background-color:var(--color-warning-100);color:var(--color-warning-800);border:1px solid var(--color-warning-300)}.scene-card-description{font-size:var(--font-size-sm);color:var(--color-neutral-600)}.dialog-picker{display:flex;flex-direction:column;gap:var(--spacing-4)}.dialog-picker-search{display:flex;gap:var(--spacing-2);align-items:center}.dialog-picker-list{display:flex;flex-direction:column;gap:var(--spacing-2);max-height:400px;overflow-y:auto;padding:var(--spacing-2)}.dialog-card{display:flex;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-3);border:1px solid var(--color-neutral-200);background-color:#fff;border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease;text-align:left}.dialog-card:hover{border-color:var(--color-primary-500);background-color:var(--color-primary-50);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.dialog-card-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900)}.dialog-card-text{font-size:var(--font-size-sm);color:var(--color-neutral-600);line-height:1.4}.loading-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-8);gap:var(--spacing-2)}.text-muted{color:var(--color-neutral-600);font-size:var(--font-size-sm)}.starting-location-section{background-color:#fff;border:1px solid var(--color-neutral-200);border-radius:var(--border-radius-lg);padding:var(--spacing-6)}.location-fields{display:flex;flex-direction:column;gap:var(--spacing-4)}.field-row{display:flex;flex-direction:column;gap:var(--spacing-2)}.field-row label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-700)}.field-with-button{display:flex;gap:var(--spacing-2);align-items:center}.selected-item{flex:1;padding:var(--spacing-2) var(--spacing-3);background-color:var(--color-neutral-50);border:1px solid var(--color-neutral-200);border-radius:var(--border-radius-md);font-size:var(--font-size-sm)}.selected-item .placeholder{color:var(--color-neutral-500);font-style:italic}.warning-message{padding:var(--spacing-3);background-color:#fef3c7;border:1px solid #fcd34d;border-radius:var(--border-radius-md);color:#b45309;font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.warning-message p{margin:0}.start-game-view{padding:var(--spacing-6)}.start-game-content{display:flex;flex-direction:column;gap:var(--spacing-6);margin-top:var(--spacing-6)}.start-game-view__error{background-color:var(--color-error-50);color:var(--color-error-700);padding:var(--spacing-3) var(--spacing-4);border-radius:var(--border-radius-md);border:1px solid var(--color-error-200);margin-bottom:var(--spacing-4)}.subtitle{font-size:var(--font-size-sm);color:var(--color-neutral-600);margin-top:var(--spacing-1)}.stat-grid-editor{max-height:400px;overflow-y:auto;border:1px solid var(--color-neutral-200);border-radius:var(--border-radius-md);padding:var(--spacing-2);gap:var(--spacing-3);display:flex;flex-direction:column}.stat-grid-level{border:1px solid var(--color-neutral-200);border-radius:var(--border-radius-sm);padding:var(--spacing-3);background:var(--color-neutral-50)}.stat-grid-level-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--color-neutral-200)}.stat-grid-level-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-neutral-700)}.form-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}:root{--color-primary-50: #f0f9ff;--color-primary-100: #e0f2fe;--color-primary-200: #bae6fd;--color-primary-300: #7dd3fc;--color-primary-400: #38bdf8;--color-primary-500: #0ea5e9;--color-primary-600: #0284c7;--color-primary-700: #0369a1;--color-primary-800: #075985;--color-primary-900: #0c4a6e;--color-neutral-50: #fafafa;--color-neutral-100: #f5f5f5;--color-neutral-200: #e5e5e5;--color-neutral-300: #d4d4d4;--color-neutral-400: #a3a3a3;--color-neutral-500: #737373;--color-neutral-600: #525252;--color-neutral-700: #404040;--color-neutral-750: #333333;--color-neutral-800: #262626;--color-neutral-850: #1f1f1f;--color-neutral-900: #171717;--color-success-50: #f0fdf4;--color-success-500: #22c55e;--color-success-600: #16a34a;--color-success-700: #15803d;--color-warning-50: #fffbeb;--color-warning-300: #fcd34d;--color-warning-500: #f59e0b;--color-warning-600: #d97706;--color-warning-700: #b45309;--color-warning-800: #92400e;--color-error-50: #fef2f2;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-error-700: #b91c1c;--spacing-1: .25rem;--spacing-2: .5rem;--spacing-3: .75rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-8: 2rem;--spacing-10: 2.5rem;--spacing-12: 3rem;--spacing-16: 4rem;--spacing-20: 5rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-xs: var(--font-size-xs);--font-sm: var(--font-size-sm);--font-base: var(--font-size-base);--font-lg: var(--font-size-lg);--font-xl: var(--font-size-xl);--font-2xl: var(--font-size-2xl);--font-3xl: var(--font-size-3xl);--font-4xl: var(--font-size-4xl);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--border-radius-sm: .25rem;--border-radius-md: .375rem;--border-radius-lg: .5rem;--border-radius-xl: .75rem;--border-radius-2xl: 1rem;--border-radius-full: 9999px;--radius-sm: var(--border-radius-sm);--radius-md: var(--border-radius-md);--radius-lg: var(--border-radius-lg);--radius-xl: var(--border-radius-xl);--radius-2xl: var(--border-radius-2xl);--radius-full: var(--border-radius-full);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-index-dropdown: 1000;--z-index-sticky: 1020;--z-index-fixed: 1030;--z-index-modal-backdrop: 1040;--z-index-modal: 1050;--z-index-popover: 1060;--z-index-tooltip: 1070}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-neutral-900);background-color:var(--color-neutral-50)}h1,h2,h3,h4,h5,h6{line-height:var(--line-height-tight);font-weight:var(--font-weight-semibold)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}a{color:inherit;text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border-radius:var(--border-radius-md);transition:all var(--transition-fast);white-space:nowrap;outline:none}.button:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.button:disabled{opacity:.5;cursor:not-allowed}.button-primary{background-color:var(--color-primary-600);color:#fff}.button-primary:hover:not(:disabled){background-color:var(--color-primary-700)}.button-primary:active:not(:disabled){background-color:var(--color-primary-800)}.button-secondary{background-color:var(--color-neutral-200);color:var(--color-neutral-900)}.button-secondary:hover:not(:disabled){background-color:var(--color-neutral-300)}.button-danger{background-color:var(--color-error-600);color:#fff}.button-danger:hover:not(:disabled){background-color:var(--color-error-700)}.button-ghost{background-color:transparent;color:var(--color-neutral-700)}.button-ghost:hover:not(:disabled){background-color:var(--color-neutral-100)}.button-icon{padding:var(--spacing-2);border-radius:var(--border-radius-md)}.button-sm{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs)}.button-lg{padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-base)}.input{width:100%;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-neutral-900);background-color:#fff;border:1px solid var(--color-neutral-300);border-radius:var(--border-radius-md);outline:none;transition:all var(--transition-fast)}.input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #0ea5e91a}.input:disabled{background-color:var(--color-neutral-100);cursor:not-allowed}.input::-moz-placeholder{color:var(--color-neutral-400)}.input::placeholder{color:var(--color-neutral-400)}.input-error{border-color:var(--color-error-500)}.input-error:focus{box-shadow:0 0 0 3px #ef44441a}.textarea{width:100%;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-neutral-900);background-color:#fff;border:1px solid var(--color-neutral-300);border-radius:var(--border-radius-md);outline:none;transition:all var(--transition-fast);resize:vertical;min-height:80px}.textarea:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #0ea5e91a}.select{width:100%;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-neutral-900);background-color:#fff;border:1px solid var(--color-neutral-300);border-radius:var(--border-radius-md);outline:none;transition:all var(--transition-fast);cursor:pointer}.select:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #0ea5e91a}.label{display:block;margin-bottom:var(--spacing-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-700)}.badge{display:inline-flex;align-items:center;padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--border-radius-full)}.badge-primary{background-color:var(--color-primary-100);color:var(--color-primary-700)}.badge-success{background-color:var(--color-success-50);color:var(--color-success-700)}.badge-warning{background-color:var(--color-warning-50);color:var(--color-warning-700)}.badge-error{background-color:var(--color-error-50);color:var(--color-error-700)}.badge-neutral{background-color:var(--color-neutral-200);color:var(--color-neutral-700)}.badge-secondary{background-color:var(--color-neutral-100);color:var(--color-neutral-600)}.icon{width:20px;height:20px;flex-shrink:0}.icon-sm{width:16px;height:16px}.icon-lg{width:24px;height:24px}.avatar{width:40px;height:40px;border-radius:var(--border-radius-full);overflow:hidden;background-color:var(--color-neutral-200);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-medium);color:var(--color-neutral-700)}.avatar-sm{width:32px;height:32px;font-size:var(--font-size-sm)}.avatar-lg{width:48px;height:48px;font-size:var(--font-size-lg)}.avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.spinner{width:20px;height:20px;border:2px solid var(--color-neutral-300);border-top-color:var(--color-primary-600);border-radius:var(--border-radius-full);animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.divider{height:1px;background-color:var(--color-neutral-200);border:none}.divider-vertical{width:1px;height:auto;background-color:var(--color-neutral-200)}.form-help-text{font-size:var(--font-size-sm);color:var(--color-neutral-600);margin-top:var(--spacing-1)}.form-group{margin-bottom:var(--spacing-4)}.form-group-inline{display:flex;gap:var(--spacing-3);align-items:flex-end}.form-error{margin-top:var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-error-600)}.form-help{margin-top:var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-neutral-500)}.card{background-color:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-neutral-200)}.card-header{padding:var(--spacing-4) var(--spacing-5);border-bottom:1px solid var(--color-neutral-200)}.card-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900)}.card-body{padding:var(--spacing-5)}.card-footer{padding:var(--spacing-4) var(--spacing-5);border-top:1px solid var(--color-neutral-200);display:flex;justify-content:flex-end;gap:var(--spacing-3)}.table-container{overflow-x:auto;border-radius:var(--border-radius-lg);border:1px solid var(--color-neutral-200);background-color:#fff}.table{width:100%;border-collapse:collapse}.table thead{background-color:var(--color-neutral-50);border-bottom:1px solid var(--color-neutral-200)}.table th{padding:var(--spacing-3) var(--spacing-4);text-align:left;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-neutral-700);text-transform:uppercase;letter-spacing:.05em}.table td{padding:var(--spacing-3) var(--spacing-4);border-top:1px solid var(--color-neutral-200);font-size:var(--font-size-sm);color:var(--color-neutral-900)}.table tbody tr{transition:background-color var(--transition-fast)}.table tbody tr:hover{background-color:var(--color-neutral-50)}.table-actions{display:flex;gap:var(--spacing-2);justify-content:flex-end}.dropdown{position:relative;display:inline-block}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:var(--spacing-2);min-width:180px;background-color:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--color-neutral-200);padding:var(--spacing-2);z-index:var(--z-index-dropdown);opacity:0;visibility:hidden;transform:translateY(-8px);transition:all var(--transition-fast)}.dropdown-menu.active{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{display:flex;align-items:center;gap:var(--spacing-2);width:100%;padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-neutral-700);border-radius:var(--border-radius-md);transition:all var(--transition-fast);text-align:left}.dropdown-item:hover{background-color:var(--color-neutral-100);color:var(--color-neutral-900)}.dropdown-divider{height:1px;margin:var(--spacing-2) 0;background-color:var(--color-neutral-200)}.modal-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;z-index:var(--z-index-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--spacing-4);opacity:0;visibility:hidden;transition:all var(--transition-base)}.modal-backdrop.active{opacity:1;visibility:visible}.modal{background-color:#fff;border-radius:var(--border-radius-xl);box-shadow:var(--shadow-xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;transform:scale(.95);transition:transform var(--transition-base)}.modal-backdrop.active .modal{transform:scale(1)}.modal-header{padding:var(--spacing-5);border-bottom:1px solid var(--color-neutral-200);display:flex;align-items:center;justify-content:space-between}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900)}.modal-body{padding:var(--spacing-5)}.modal-footer{padding:var(--spacing-5);border-top:1px solid var(--color-neutral-200);display:flex;justify-content:flex-end;gap:var(--spacing-3)}.alert{padding:var(--spacing-4);border-radius:var(--border-radius-lg);display:flex;gap:var(--spacing-3);align-items:flex-start}.alert-info{background-color:var(--color-primary-50);color:var(--color-primary-900);border:1px solid var(--color-primary-200)}.alert-success{background-color:var(--color-success-50);color:var(--color-success-700);border:1px solid var(--color-success-500)}.alert-warning{background-color:var(--color-warning-50);color:var(--color-warning-700);border:1px solid var(--color-warning-500)}.alert-error{background-color:var(--color-error-50);color:var(--color-error-700);border:1px solid var(--color-error-500)}.validation-error-list{margin:var(--spacing-2) 0 0 0;padding-left:var(--spacing-5);list-style-type:disc}.validation-error-list li{margin-bottom:var(--spacing-1)}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-4);background-color:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-4)}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:var(--spacing-3)}.toolbar-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.search-input{min-width:280px}.empty-state{padding:var(--spacing-12) var(--spacing-6);text-align:center}.empty-state-icon{width:64px;height:64px;margin:0 auto var(--spacing-4);color:var(--color-neutral-400)}.empty-state-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);margin-bottom:var(--spacing-2)}.empty-state-description{font-size:var(--font-size-sm);color:var(--color-neutral-500);margin-bottom:var(--spacing-4)}.asset-uploader{display:flex;flex-direction:column;gap:var(--spacing-4)}.asset-uploader-inputs{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3)}.asset-uploader-dropzone{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-4);border:2px dashed var(--color-neutral-300);border-radius:var(--border-radius-lg);background-color:var(--color-neutral-50);cursor:pointer;transition:all var(--transition-fast)}.asset-uploader-dropzone:hover{border-color:var(--color-primary-400);background-color:var(--color-primary-50)}.asset-uploader-dropzone.dragging{border-color:var(--color-primary-500);background-color:var(--color-primary-100)}.asset-uploader-dropzone.has-file{border-color:var(--color-success-500);background-color:var(--color-success-50)}.asset-uploader-icon{width:20px;height:20px;color:var(--color-neutral-400);flex-shrink:0}.asset-uploader-dropzone.has-file .asset-uploader-icon{color:var(--color-success-600)}.asset-uploader-text{flex:1;font-size:var(--font-size-sm);color:var(--color-neutral-600)}.asset-uploader-dropzone.has-file .asset-uploader-text{color:var(--color-success-700);font-weight:var(--font-weight-medium)}.asset-uploader-check{width:20px;height:20px;color:var(--color-success-600);flex-shrink:0}.asset-uploader-preview{padding:var(--spacing-4);border:1px solid var(--color-neutral-200);border-radius:var(--border-radius-lg);background-color:var(--color-neutral-50);max-height:300px;overflow:auto}.asset-uploader-preview img{max-width:100%;height:auto;image-rendering:pixelated;display:block}.app-layout{display:flex;min-height:100vh;background-color:var(--color-neutral-50)}.sidebar{width:260px;background-color:#fff;border-right:1px solid var(--color-neutral-200);display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;z-index:var(--z-index-fixed)}.sidebar-header{padding:var(--spacing-4);border-bottom:1px solid var(--color-neutral-200)}.sidebar-logo{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary-600);display:flex;align-items:center;gap:var(--spacing-2)}.sidebar-nav{flex:1;overflow-y:auto;padding:var(--spacing-4)}.sidebar-nav-item{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-700);border-radius:var(--border-radius-lg);transition:all var(--transition-fast);margin-bottom:var(--spacing-1)}.sidebar-nav-item:hover{background-color:var(--color-neutral-100);color:var(--color-neutral-900)}.sidebar-nav-item.active{background-color:var(--color-primary-50);color:var(--color-primary-700)}.sidebar-nav-item.active .icon{color:var(--color-primary-600)}.sidebar-nav-item.disabled{opacity:.5;cursor:not-allowed}.sidebar-nav-item.disabled:hover{background-color:transparent;color:var(--color-neutral-700)}.sidebar-project-section{padding:var(--spacing-4);border-bottom:2px solid var(--color-neutral-300);background-color:var(--color-neutral-50)}.sidebar-resources-section{flex:1;overflow-y:auto}.sidebar-section-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-neutral-500);letter-spacing:.05em;margin-bottom:var(--spacing-3);padding:0 var(--spacing-2)}.sidebar-project-selector{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3);background-color:#fff;border:1px solid var(--color-neutral-300);border-radius:var(--border-radius-lg);cursor:pointer;transition:all var(--transition-fast);margin-bottom:var(--spacing-3)}.sidebar-project-selector:hover{border-color:var(--color-primary-400);box-shadow:0 0 0 3px var(--color-primary-50)}.sidebar-project-info{display:flex;align-items:flex-start;gap:var(--spacing-2);flex:1;min-width:0}.sidebar-project-details{display:flex;flex-direction:column;gap:var(--spacing-1);flex:1;min-width:0}.sidebar-project-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-project-description{font-size:var(--font-size-xs);color:var(--color-neutral-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-no-project{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-3);background-color:var(--color-neutral-100);border:1px solid var(--color-neutral-200);border-radius:var(--border-radius-lg);margin-bottom:var(--spacing-3)}.sidebar-manage-projects-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-primary-600);background-color:#fff;border:1px solid var(--color-primary-300);border-radius:var(--border-radius-md);transition:all var(--transition-fast);cursor:pointer}.sidebar-manage-projects-btn:hover{background-color:var(--color-primary-50);border-color:var(--color-primary-400)}.sidebar-footer{padding:var(--spacing-4);border-top:1px solid var(--color-neutral-200)}.main-content{flex:1;margin-left:260px;display:flex;flex-direction:column}.topbar{height:64px;background-color:#fff;border-bottom:1px solid var(--color-neutral-200);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-6);position:sticky;top:0;z-index:var(--z-index-sticky)}.topbar-left{display:flex;align-items:center;gap:var(--spacing-4)}.topbar-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900)}.topbar-right{display:flex;align-items:center;gap:var(--spacing-4)}.user-menu{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2);border-radius:var(--border-radius-lg);transition:background-color var(--transition-fast);cursor:pointer}.user-menu:hover{background-color:var(--color-neutral-100)}.user-info{text-align:right}.user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-neutral-900);display:block}.user-email{font-size:var(--font-size-xs);color:var(--color-neutral-500);display:block}.content-area{flex:1;padding:var(--spacing-6);overflow-y:auto}.page-header{margin-bottom:var(--spacing-6)}.page-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-neutral-900);margin-bottom:var(--spacing-2)}.page-description{font-size:var(--font-size-base);color:var(--color-neutral-600)}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-50) 0%,var(--color-neutral-50) 100%);padding:var(--spacing-4)}.auth-card{width:100%;max-width:420px;background-color:#fff;border-radius:var(--border-radius-xl);box-shadow:var(--shadow-xl);padding:var(--spacing-8)}.auth-header{text-align:center;margin-bottom:var(--spacing-8)}.auth-logo{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary-600);margin-bottom:var(--spacing-2);display:flex;align-items:center;justify-content:center;gap:var(--spacing-2)}.auth-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900);margin-bottom:var(--spacing-2)}.auth-description{font-size:var(--font-size-sm);color:var(--color-neutral-600)}.auth-form{margin-bottom:var(--spacing-6)}.auth-footer{text-align:center;font-size:var(--font-size-sm);color:var(--color-neutral-600)}.auth-footer a{color:var(--color-primary-600);font-weight:var(--font-weight-medium);transition:color var(--transition-fast)}.auth-footer a:hover{color:var(--color-primary-700)}.data-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-4);margin-bottom:var(--spacing-4)}.data-card{background-color:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--color-neutral-200);padding:var(--spacing-4);transition:all var(--transition-fast)}.data-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-300)}.data-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--spacing-3)}.data-card-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-neutral-900)}.data-card-actions{display:flex;gap:var(--spacing-1)}.data-card-body{display:flex;flex-direction:column;gap:var(--spacing-2)}.data-card-field{display:flex;justify-content:space-between;font-size:var(--font-size-sm)}.data-card-label{color:var(--color-neutral-600);font-weight:var(--font-weight-medium)}.data-card-value{color:var(--color-neutral-900)}@media (max-width: 768px){.sidebar{transform:translate(-100%);transition:transform var(--transition-base)}.sidebar.mobile-open{transform:translate(0)}.main-content{margin-left:0}.topbar-title{font-size:var(--font-size-xl)}.content-area{padding:var(--spacing-4)}.user-info{display:none}.data-grid{grid-template-columns:1fr}}.tag-list{display:flex;flex-wrap:wrap;gap:var(--spacing-1);align-items:center}.tag-input-container{display:flex;flex-direction:column;gap:var(--spacing-2)}.tag-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-2);min-height:var(--spacing-8);padding:var(--spacing-2);border:1px solid var(--color-neutral-300);border-radius:var(--border-radius-md);background-color:var(--color-neutral-50)}.tag-badges:empty{display:none}.tag-input-row{display:flex;gap:var(--spacing-2);align-items:flex-start}.tag-input-row .input{flex:1}.tag-removable{display:inline-flex;align-items:center;gap:var(--spacing-1);cursor:default}.tag-remove-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--spacing-4);height:var(--spacing-4);padding:0;margin-left:var(--spacing-1);border:none;background:transparent;color:currentColor;font-size:var(--font-size-lg);line-height:1;cursor:pointer;opacity:.7;transition:opacity .2s}.tag-remove-btn:hover{opacity:1}.tag-remove-btn:focus{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--border-radius-sm)}.formula-apply-to{display:flex;align-items:center;gap:var(--spacing-2)}.formula-operation-badge{display:inline-flex;align-items:center;justify-content:center;width:var(--spacing-5);height:var(--spacing-5);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-neutral-700);background-color:var(--color-neutral-100);border-radius:var(--border-radius-full)}.radio-group{display:flex;gap:var(--spacing-4)}.radio-label{display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-neutral-700)}.radio-label input[type=radio]{width:var(--spacing-4);height:var(--spacing-4);cursor:pointer}.radio-label span{-webkit-user-select:none;-moz-user-select:none;user-select:none}.form-help-text{margin-top:var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-neutral-600)}.formula-builder{display:flex;flex-direction:column;gap:var(--spacing-6);padding:var(--spacing-4);background-color:var(--color-neutral-50);border-radius:var(--border-radius-md);border:1px solid var(--color-neutral-200)}.formula-builder__header{display:flex;justify-content:flex-end;padding-bottom:var(--spacing-3);border-bottom:1px solid var(--color-neutral-200)}.formula-mode-toggle{display:flex;gap:var(--spacing-1);background-color:var(--color-neutral-100);padding:var(--spacing-1);border-radius:var(--border-radius-md);border:1px solid var(--color-neutral-300)}.formula-builder__mode-button{padding:var(--spacing-2) var(--spacing-4);background-color:transparent;color:var(--color-neutral-700);border:none;border-radius:var(--border-radius-sm);font-size:var(--font-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.formula-builder__mode-button:hover{background-color:var(--color-neutral-200);color:var(--color-neutral-900)}.formula-builder__mode-button--active{background-color:var(--color-white);color:var(--color-primary-600);box-shadow:var(--shadow-sm)}.formula-builder__mode-button--active:hover{background-color:var(--color-white);color:var(--color-primary-600)}.formula-builder__section-title{font-size:var(--font-lg);font-weight:600;color:var(--color-neutral-900);margin:0 0 var(--spacing-3) 0;padding-bottom:var(--spacing-2);border-bottom:2px solid var(--color-neutral-300)}.formula-node{border:2px solid var(--color-neutral-300);border-left-width:4px;border-radius:var(--border-radius-md);padding:var(--spacing-3);margin-bottom:var(--spacing-2);background-color:var(--color-white);transition:all .2s ease;box-shadow:var(--shadow-sm)}.formula-node:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.formula-node:focus-within{box-shadow:0 0 0 3px #3b82f61a}.formula-node-operation{border-left-color:var(--color-primary-500)}.formula-node-stat{border-left-color:var(--color-success-500)}.formula-node-constant{border-left-color:var(--color-warning-500)}.formula-node-children{display:flex;flex-direction:column;gap:var(--spacing-3);margin-left:var(--spacing-4);padding-left:var(--spacing-4);border-left:2px dashed var(--color-neutral-300);margin-top:var(--spacing-3)}.formula-node .formula-node{margin-left:0}.formula-operator-badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-1) var(--spacing-3);background-color:var(--color-primary-500);color:var(--color-white);border-radius:var(--border-radius-md);font-size:var(--font-sm);font-weight:600;font-family:Monaco,Menlo,Courier New,monospace;box-shadow:var(--shadow-sm);min-width:32px}.formula-operator-badge--add{background-color:var(--color-primary-500)}.formula-operator-badge--subtract{background-color:var(--color-primary-600)}.formula-operator-badge--multiply{background-color:var(--color-success-600)}.formula-operator-badge--divide{background-color:var(--color-warning-600)}.formula-operator-badge--min,.formula-operator-badge--max{background-color:var(--color-neutral-600)}.formula-preview{padding:var(--spacing-4);background-color:var(--color-white);border-radius:var(--border-radius-sm);border:1px solid var(--color-neutral-300)}.formula-builder__preview-content{padding:var(--spacing-3);background-color:var(--color-neutral-100);border-radius:var(--border-radius-sm);font-family:Monaco,Menlo,Courier New,monospace;font-size:var(--font-base);color:var(--color-neutral-900);min-height:40px;display:flex;align-items:center;line-height:1.6;white-space:pre-wrap;word-break:break-word}.formula-test-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-3);padding:var(--spacing-4);background-color:var(--color-neutral-50);border-radius:var(--border-radius-md);border:1px solid var(--color-neutral-200)}.formula-test-inputs__field{display:flex;flex-direction:column;gap:var(--spacing-2)}.formula-test-inputs__label{font-size:var(--font-sm);font-weight:600;color:var(--color-neutral-700)}.formula-test-inputs__input{padding:var(--spacing-2);border:1px solid var(--color-neutral-300);border-radius:var(--border-radius-sm);background-color:var(--color-white);font-size:var(--font-sm);color:var(--color-neutral-900);transition:border-color .2s ease}.formula-test-inputs__input:hover{border-color:var(--color-primary-400)}.formula-test-inputs__input:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #3b82f61a}.formula-builder__editor{flex:1}.formula-builder__alert{display:flex;gap:var(--spacing-3);padding:var(--spacing-3);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-3);font-size:var(--font-sm);line-height:1.5;align-items:flex-start}.formula-builder__alert--error{background-color:#ef44441a;border:1px solid var(--color-error-500);color:var(--color-error-700)}.formula-builder__alert--error .icon-sm{color:var(--color-error-500);flex-shrink:0;margin-top:2px}.formula-builder__alert--warning{background-color:#fbbf241a;border:1px solid var(--color-warning-500);color:var(--color-warning-800)}.formula-builder__alert--warning .icon-sm{color:var(--color-warning-600);flex-shrink:0;margin-top:2px}.formula-builder__empty-state{padding:var(--spacing-8) var(--spacing-4);text-align:center;color:var(--color-neutral-500);font-size:var(--font-sm);font-style:italic;border:2px dashed var(--color-neutral-300);border-radius:var(--border-radius-md);background-color:var(--color-neutral-50)}@media (max-width: 768px){.formula-builder{padding:var(--spacing-3);gap:var(--spacing-4)}.formula-node{padding:var(--spacing-2)}.formula-node-children{margin-left:var(--spacing-2);padding-left:var(--spacing-2)}.formula-test-inputs{grid-template-columns:1fr;padding:var(--spacing-3)}.formula-operator-badge{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-xs);min-width:28px}.formula-builder__preview-content{font-size:var(--font-sm)}}@media (max-width: 480px){.formula-builder__mode-button{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-xs)}.formula-builder__section-title{font-size:var(--font-base)}}.formula-node:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.formula-operator-badge:focus-visible{outline:2px solid var(--color-white);outline-offset:2px}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.formula-node{animation:slideIn .2s ease-out}@media print{.formula-builder__header,.formula-mode-toggle{display:none}.formula-node{box-shadow:none;page-break-inside:avoid}.formula-builder__preview-content{border:1px solid var(--color-neutral-900)}}
