@charset "UTF-8";:root[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--background: var(--bg-primary);--text-primary: #333333;--text-secondary: #666666;--border-color: #dddddd;--border-hover: #cccccc;--border-active: #3b82f6;--button-bg: #ffffff;--button-hover: #f8f8f8;--shadow: rgba(0, 0, 0, .1);--text-error: #d93025;--error-color: var(--text-error);--bg-error: rgba(217, 48, 37, .1);--scrollbar-track: #f0f0f0;--scrollbar-thumb: #c0c0c0;--scrollbar-thumb-hover: #a0a0a0;--tooltip-bg: #333333;--tooltip-color: #ffffff;--syntax-comment: #6a737d;--syntax-punctuation: #24292e;--syntax-property: #005cc5;--syntax-string: #032f62;--syntax-operator: #d73a49;--syntax-keyword: #d73a49;--syntax-function: #6f42c1;--syntax-variable: #e36209}:root[data-theme=dark]{--bg-primary: #1e1e1e;--bg-secondary: #121212;--background: var(--bg-primary);--text-primary: #e0e0e0;--text-secondary: #a0a0a0;--border-color: #3a3a3a;--border-hover: #4a4a4a;--border-active: #3b82f6;--button-bg: #2a2a2a;--button-hover: #3a3a3a;--shadow: rgba(0, 0, 0, .5);--text-error: #ff4d4f;--error-color: var(--text-error);--bg-error: rgba(255, 77, 79, .1);--scrollbar-track: #2a2a2a;--scrollbar-thumb: #555555;--scrollbar-thumb-hover: #666666;--tooltip-bg: #4a4a4a;--tooltip-color: #ffffff;--syntax-comment: #6a9955;--syntax-punctuation: #d4d4d4;--syntax-property: #b5cea8;--syntax-string: #ce9178;--syntax-operator: #d4d4d4;--syntax-keyword: #569cd6;--syntax-function: #dcdcaa;--syntax-variable: #d16969}:root[data-theme=solarized-light]{--bg-primary: #fdf6e3;--bg-secondary: #eee8d5;--background: var(--bg-primary);--text-primary: #657b83;--text-secondary: #93a1a1;--border-color: #d3cbb7;--border-hover: #c3b9a5;--border-active: #268bd2;--button-bg: #fdf6e3;--button-hover: #eee8d5;--shadow: rgba(101, 123, 131, .15);--text-error: #dc322f;--error-color: var(--text-error);--bg-error: rgba(220, 50, 47, .1);--scrollbar-track: #eee8d5;--scrollbar-thumb: #c3b9a5;--scrollbar-thumb-hover: #93a1a1;--tooltip-bg: #073642;--tooltip-color: #fdf6e3;--syntax-comment: #93a1a1;--syntax-punctuation: #586e75;--syntax-property: #268bd2;--syntax-string: #2aa198;--syntax-operator: #859900;--syntax-keyword: #859900;--syntax-function: #b58900;--syntax-variable: #cb4b16}:root[data-theme=solarized-dark]{--bg-primary: #002b36;--bg-secondary: #073642;--background: var(--bg-primary);--text-primary: #839496;--text-secondary: #586e75;--border-color: #0a4f5c;--border-hover: #0d5f6f;--border-active: #268bd2;--button-bg: #073642;--button-hover: #0a4f5c;--shadow: rgba(0, 0, 0, .5);--text-error: #dc322f;--error-color: var(--text-error);--bg-error: rgba(220, 50, 47, .1);--scrollbar-track: #073642;--scrollbar-thumb: #0d5f6f;--scrollbar-thumb-hover: #268bd2;--tooltip-bg: #073642;--tooltip-color: #fdf6e3;--syntax-comment: #586e75;--syntax-punctuation: #839496;--syntax-property: #268bd2;--syntax-string: #2aa198;--syntax-operator: #859900;--syntax-keyword: #859900;--syntax-function: #b58900;--syntax-variable: #cb4b16}:root[data-theme=deep-blue]{--bg-primary: #102e4e;--bg-secondary: #0a2038;--background: var(--bg-primary);--text-primary: #eeeeee;--text-secondary: #5F9EA0;--border-color: #405060;--border-hover: #506070;--border-active: #00BFFF;--button-bg: #1a3a5a;--button-hover: #244a6a;--shadow: rgba(0, 0, 0, .6);--text-error: #F08080;--error-color: var(--text-error);--bg-error: rgba(240, 128, 128, .15);--scrollbar-track: #102e4e;--scrollbar-thumb: #506070;--scrollbar-thumb-hover: #00BFFF;--tooltip-bg: #1a3a5a;--tooltip-color: #eeeeee;--syntax-comment: #5F9EA0;--syntax-punctuation: #eeeeee;--syntax-property: #FFD700;--syntax-string: #DEB887;--syntax-operator: #98F5FF;--syntax-keyword: #00BFFF;--syntax-function: #DAA520;--syntax-variable: #4EEE94}:root{--color-white: #ffffff;--color-blue: #3b82f6;--color-green: #10b981;--color-amber: #f59e0b;--color-red: #ef4444;--color-purple: #8b5cf6;--color-cyan: #06b6d4;--color-pink: #ec4899;--color-violet: #a855f7;--color-orange: #f97316;--color-teal: #14b8a6;--color-indigo: #818cf8;--color-yellow: #eab308;--color-lime: #84cc16;--color-slate: #64748b;--color-blue-bg: rgba(59, 130, 246, .1);--color-green-bg: rgba(16, 185, 129, .1);--color-amber-bg: rgba(245, 158, 11, .1);--color-red-bg: rgba(239, 68, 68, .1);--color-purple-bg: rgba(139, 92, 246, .1);--color-cyan-bg: rgba(6, 182, 212, .1);--color-pink-bg: rgba(236, 72, 153, .1);--color-violet-bg: rgba(168, 85, 247, .1);--color-orange-bg: rgba(249, 115, 22, .1);--color-teal-bg: rgba(20, 184, 166, .1);--color-indigo-bg: rgba(129, 140, 248, .1);--color-yellow-bg: rgba(234, 179, 8, .1);--color-lime-bg: rgba(132, 204, 22, .1);--color-slate-bg: rgba(100, 116, 139, .1);--color-context: var(--color-purple);--color-aggregate: var(--color-blue);--color-projection: var(--color-cyan);--color-integration: var(--color-green);--color-port: var(--color-teal);--color-push: var(--color-teal);--color-pull: var(--color-cyan);--color-command: var(--color-indigo);--color-query: var(--color-teal);--color-subscription: var(--color-violet);--color-event: var(--color-blue);--color-policy: var(--color-purple);--color-saga: var(--color-indigo);--color-view: var(--color-cyan);--color-term: var(--color-yellow);--color-valuetype: var(--color-amber);--color-entity: var(--color-orange);--color-enumeration: var(--color-lime);--color-context-bg: var(--color-purple-bg);--color-aggregate-bg: var(--color-blue-bg);--color-projection-bg: var(--color-cyan-bg);--color-integration-bg: var(--color-green-bg);--color-port-bg: var(--color-teal-bg);--color-push-bg: var(--color-teal-bg);--color-pull-bg: var(--color-cyan-bg);--color-command-bg: var(--color-indigo-bg);--color-query-bg: var(--color-teal-bg);--color-subscription-bg: var(--color-violet-bg);--color-event-bg: var(--color-blue-bg);--color-policy-bg: var(--color-purple-bg);--color-saga-bg: var(--color-indigo-bg);--color-view-bg: var(--color-cyan-bg);--color-term-bg: var(--color-yellow-bg);--color-valuetype-bg: var(--color-amber-bg);--color-entity-bg: var(--color-orange-bg);--color-enumeration-bg: var(--color-lime-bg);--color-success: var(--color-green);--color-warning: var(--color-amber);--color-error: var(--color-red);--color-info: var(--color-blue)}:root{--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-secondary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}#root{min-height:100vh}.btn{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;outline:none}.btn--primary{background-color:var(--text-primary);color:var(--bg-primary)}.btn--primary:hover{opacity:.9}.btn--primary:disabled{opacity:.5;cursor:not-allowed}.btn--secondary{background-color:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.btn--secondary:hover{background-color:var(--button-hover)}.btn--danger{background-color:var(--text-error);color:var(--color-white)}.btn--danger:hover{opacity:.9}.btn--danger:disabled{opacity:.5;cursor:not-allowed}.btn--warning{background-color:var(--color-warning);color:var(--color-white)}.btn--warning:hover{opacity:.9}.btn--warning:disabled{opacity:.5;cursor:not-allowed}.btn--info{background-color:var(--color-info);color:var(--color-white)}.btn--info:hover{opacity:.9}.btn--info:disabled{opacity:.5;cursor:not-allowed}.btn--icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:none;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary)}.btn--icon:hover{background-color:var(--button-hover);border-color:var(--border-hover);color:var(--text-primary)}.btn--icon-sm{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background-color:var(--button-bg);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.btn--icon-sm:hover{background-color:var(--border-color);border-color:var(--border-hover);color:var(--text-primary)}.btn--icon-sm:active{transform:scale(.95)}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group textarea{padding:10px;border-radius:6px;border:1px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-primary);font-family:inherit;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--text-primary)}.form-group textarea{resize:vertical;min-height:80px}.form-error{color:var(--text-error);font-size:14px;padding:8px;background-color:var(--bg-error);border-radius:4px}.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;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:20px}.modal{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;width:100%;max-width:500px;box-shadow:0 8px 24px var(--shadow);animation:modalSlideIn .3s ease;margin:0 20px}.modal__header{padding:24px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.modal__title{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.modal__close{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;line-height:1;transition:color .2s}.modal__close:hover{color:var(--text-primary)}.modal__body{padding:20px 24px;color:var(--text-secondary);font-size:14px;line-height:1.6}.modal__form{padding:24px;display:flex;flex-direction:column;gap:20px}.modal__footer{display:flex;justify-content:flex-end;gap:12px;padding:0 24px 24px}.modal--confirmation{max-width:450px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.header__btn{width:32px;height:32px;border:1px solid var(--border-color);border-radius:8px;background:var(--button-bg);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.header__btn:hover{background:var(--button-hover);border-color:var(--border-hover)}.header__btn:active{transform:scale(.95)}.user-info{display:flex;align-items:center;gap:12px;padding:4px 8px;border-radius:6px;transition:background-color .2s}.user-info--loading{color:var(--text-secondary);font-size:14px}.user-info--error{color:var(--text-error);font-size:14px}.user-info__avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;background-color:var(--button-bg);border:1px solid var(--border-color)}.user-info__details{display:flex;flex-direction:column}.user-info__name{font-size:14px;font-weight:600;color:var(--text-primary);line-height:1.2}.user-info__email{font-size:12px;color:var(--text-secondary);line-height:1.2}.project-list-container{max-width:1200px;margin:0 auto}.project-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.project-list-title{font-size:24px;font-weight:600;color:var(--text-primary);margin:0}.project-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.project-list--empty{text-align:center;padding:48px;color:var(--text-secondary);background:var(--bg-primary);border:1px dashed var(--border-color);border-radius:8px}.project-list--loading{text-align:center;padding:48px;color:var(--text-secondary)}.project-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:20px;transition:all .2s ease;display:flex;flex-direction:column;gap:12px}.project-card:hover{border-color:var(--border-hover);box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.project-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.project-card__title{margin:0;font-size:18px;font-weight:600;color:var(--text-primary);word-break:break-word}.project-card__desc{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5;flex:1;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-card__actions{display:flex;gap:8px;margin-top:auto}.project-card__btn{padding:5px 6px 3px;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.project-card__btn--open{background-color:var(--text-primary);color:var(--bg-primary)}.project-card__btn--open:hover{opacity:.9}.project-card__btn--remove{background-color:transparent;color:var(--text-secondary);border-color:var(--border-color)}.project-card__btn--remove:hover{color:var(--text-error);border-color:var(--text-error);background-color:var(--bg-error)}.notification-container{position:fixed;top:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;gap:.5rem;max-width:400px}.notification{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;animation:slideIn .3s ease-out;background:var(--bg-secondary);border-left:4px solid}.notification--success{border-left-color:var(--color-success)}.notification--error{border-left-color:var(--color-error)}.notification--warning{border-left-color:var(--color-warning)}.notification--info{border-left-color:var(--color-info)}.notification__message{flex:1;color:var(--text-primary);font-size:.875rem}.notification__close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;line-height:1;padding:0;transition:color .2s}.notification__close:hover{color:var(--text-primary)}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:40px;text-align:center}.error-boundary h1{margin:0 0 16px;font-size:24px;font-weight:600;color:var(--text-primary)}.error-boundary__message{margin:0 0 24px;font-size:14px;color:var(--text-error);max-width:500px}.auth-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-secondary);font-size:16px}.sign-in{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px 20px 60px;position:relative}.sign-in__container{background:var(--bg-primary);border-radius:8px;padding:40px;box-shadow:0 2px 8px var(--shadow);max-width:400px;width:100%}.sign-in__title{margin:0 0 8px;font-size:24px;font-weight:600;color:var(--text-primary);text-align:center}.sign-in__subtitle{margin:0 0 32px;font-size:14px;color:var(--text-secondary);text-align:center}.sign-in__buttons{display:flex;flex-direction:column;gap:12px}.sign-in__button{width:100%;padding:12px 24px;border:1px solid var(--border-color);border-radius:6px;background:var(--button-bg);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:10px}.sign-in__button:hover{background:var(--button-hover);border-color:var(--border-hover)}.sign-in__button:active{transform:scale(.98)}.sign-in__button-text{display:block}.sign-in__error{background:var(--error-bg, rgba(255, 59, 48, .1));color:var(--error-text, #ff3b30);padding:12px 16px;border-radius:6px;margin-bottom:16px;font-size:14px;text-align:center}.sign-in__note{margin:24px 0 0;font-size:13px;color:var(--text-secondary);text-align:center}.sign-in__note a{color:var(--link-color, #007aff);text-decoration:none}.sign-in__note a:hover{text-decoration:underline}.sign-in .theme-switcher{position:fixed;top:20px;right:20px;z-index:1000}.sign-up{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px 20px 60px;position:relative}.sign-up__container{background:var(--bg-primary);border-radius:8px;padding:40px;box-shadow:0 2px 8px var(--shadow);max-width:400px;width:100%}.sign-up__title{margin:0 0 8px;font-size:24px;font-weight:600;color:var(--text-primary);text-align:center}.sign-up__subtitle{margin:0 0 32px;font-size:14px;color:var(--text-secondary);text-align:center}.sign-up__invite-text{margin:0 0 32px;font-size:15px;color:var(--text-primary);text-align:center;padding:16px;background:var(--bg-secondary, rgba(0, 122, 255, .08));border-radius:6px;white-space:pre-line}.sign-up__buttons{display:flex;flex-direction:column;gap:12px}.sign-up__button{width:100%;padding:12px 24px;border:1px solid var(--border-color);border-radius:6px;background:var(--button-bg);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:10px}.sign-up__button:hover{background:var(--button-hover);border-color:var(--border-hover)}.sign-up__button:active{transform:scale(.98)}.sign-up__button-text{display:block}.sign-up__error{background:var(--error-bg, rgba(255, 59, 48, .1));color:var(--error-text, #ff3b30);padding:16px;border-radius:6px;margin-bottom:24px;font-size:14px;text-align:center}.sign-up__link{display:inline-block;margin-top:16px;color:var(--link-color, #007aff);text-decoration:none;font-size:14px}.sign-up__link:hover{text-decoration:underline}.sign-up__note{margin:24px 0 0;font-size:13px;color:var(--text-secondary);text-align:center}.sign-up__note a{color:var(--link-color, #007aff);text-decoration:none}.sign-up__note a:hover{text-decoration:underline}.auth-success{display:flex;align-items:center;justify-content:center;min-height:100vh}.auth-success__message{font-size:16px;color:var(--text-secondary)}.workspace{min-height:100vh;background-color:var(--bg-secondary);display:flex;flex-direction:column}.workspace__header{height:60px;background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0}.workspace__brand{font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.workspace__controls{display:flex;align-items:center;gap:16px}.workspace__main{flex:1;padding:32px 32px 72px;overflow-y:auto}.project-page{display:flex;flex-direction:column;height:100vh;background-color:var(--bg-primary)}.project-page--loading{display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.project-page__header{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;border-bottom:1px solid var(--border-color);background-color:var(--bg-primary);gap:24px}.project-page__header-left{display:flex;align-items:center;gap:12px;min-width:0;flex-shrink:1}.project-page__header-center{flex:1;display:flex;justify-content:center;max-width:400px}.project-page__header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.project-page__brand{display:flex;align-items:center;color:var(--text-primary);flex-shrink:0}.project-page__separator{color:var(--text-secondary);font-size:18px;flex-shrink:0}.project-page__project-name{font-size:16px;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.project-page__header-center .select-element__input{padding:4px 32px 4px 10px;border-radius:4px;background-color:var(--bg-secondary);font-size:13px}.project-page__header-right .btn--icon{width:28px;height:28px}.project-page__main{flex:1;position:relative;overflow:hidden;display:flex;padding-bottom:24px}.project-page__main--left{flex-direction:row}.project-page__main--right{flex-direction:row-reverse}.project-page__main--bottom{flex-direction:column-reverse}.project-page__center{flex:1;overflow:hidden;display:flex;flex-direction:column;min-width:0}.project-page__content{flex:1;overflow:hidden;display:flex;flex-direction:column;position:relative}.project-page__content>h2{margin:24px 24px 16px;color:var(--text-primary)}.project-page__content>p{margin:0 24px 16px;color:var(--text-secondary)}.project-page__bottom-content{height:100%;overflow:auto;padding:8px}.project-page__selected-info{padding:16px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-top:16px}.project-page__selected-info p{margin:0;font-size:14px;font-family:monospace}.node{min-width:180px;padding:12px;border-radius:8px;background-color:var(--bg-primary);border:2px solid var(--border-color);box-shadow:0 2px 8px var(--shadow);transition:all .2s;cursor:pointer}.node:hover{box-shadow:0 4px 12px var(--shadow);border-color:var(--text-primary)}.node__header{margin-bottom:0}.node__name{font-size:14px;font-weight:600;color:var(--text-primary)}.node__badge{font-size:10px;color:var(--text-secondary);background-color:var(--bg-secondary);padding:2px 6px;border-radius:4px;margin-bottom:6px;display:inline-block}.node--aggregate{border-color:var(--color-aggregate);background:linear-gradient(135deg,var(--bg-primary) 0%,var(--color-aggregate-bg) 100%)}.node--aggregate .node__name{color:var(--color-aggregate)}.node--aggregate:hover{border-color:var(--color-aggregate)}.node--command{border-color:var(--color-command);background:linear-gradient(135deg,var(--bg-primary) 0%,var(--color-command-bg) 100%);border-radius:4px}.node--command .node__name{color:var(--color-command)}.node--command:hover{border-color:var(--color-command)}.node--event{border-color:var(--color-event);border-style:dashed;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--color-event-bg) 100%)}.node--event .node__name{color:var(--color-event)}.node--event:hover{border-color:var(--color-event)}.form-static{padding:8px 12px;background-color:var(--bg-secondary);border-radius:6px;color:var(--text-secondary);font-size:14px;border:1px solid var(--border-color)}.editable-title{font-size:14px;font-weight:600;color:var(--text-primary);padding:4px 8px;border-radius:4px;cursor:pointer;transition:background-color .2s;min-height:24px;display:flex;align-items:center}.editable-title:hover{background-color:var(--button-hover)}.editable-title--editing{width:100%;padding:0;background:transparent;cursor:text}.editable-title--editing:hover{background:transparent}.editable-title__input{width:100%;font-size:inherit;font-weight:inherit;font-family:inherit;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-active);border-radius:4px;padding:4px 8px;outline:none}.editable-title__input:focus{border-color:var(--border-active)}.editable-title__placeholder{color:var(--text-secondary);font-style:italic;font-weight:400}.editable-text{font-size:14px;color:var(--text-secondary);padding:4px 8px;border-radius:4px;cursor:pointer;transition:background-color .2s;min-height:24px;white-space:pre-wrap}.editable-text:hover{background-color:var(--button-hover)}.editable-text--editing{width:100%;padding:0;background:transparent;cursor:text}.editable-text--editing:hover{background:transparent}.editable-text__label{font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:4px}.editable-text__textarea{width:100%;font-size:inherit;font-family:inherit;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-active);border-radius:4px;padding:8px;outline:none;resize:vertical;line-height:1.5}.editable-text__textarea:focus{border-color:var(--border-active)}.status-bar{position:fixed;bottom:0;left:0;right:0;height:24px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background-color:var(--bg-secondary);border-top:1px solid var(--border-color);z-index:1000;gap:16px}.status-bar__notifications{flex:1;display:flex;align-items:center;gap:12px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.status-bar__notifications::-webkit-scrollbar{height:4px}.status-bar__notifications::-webkit-scrollbar-track{background:transparent}.status-bar__notifications::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb);border-radius:2px}.status-bar__notification{display:flex;align-items:center;gap:8px;padding:2px 8px;border-radius:4px;background:var(--bg-primary);border-left:3px solid;white-space:nowrap;animation:statusBarSlideIn .3s ease-out;font-size:13px;min-width:fit-content}.status-bar__notification--success{border-left-color:var(--color-success)}.status-bar__notification--error{border-left-color:var(--color-error)}.status-bar__notification--warning{border-left-color:var(--color-warning)}.status-bar__notification--info{border-left-color:var(--color-info)}.status-bar__notification-message{color:var(--text-primary)}.status-bar__notification-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:18px;line-height:1;padding:0;transition:color .2s;display:flex;align-items:center;justify-content:center}.status-bar__notification-close:hover{color:var(--text-primary)}.status-bar__center{position:absolute;left:50%;transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-family:monospace;color:var(--text-primary);padding:2px 12px;background-color:var(--bg-primary);border-radius:4px;white-space:nowrap}.status-bar__center svg{width:14px;height:14px}.status-bar__center--blink{animation:statusBarBlink .15s ease-in-out 2}.status-bar__actions{display:flex;align-items:center;gap:8px;margin-left:auto}.status-bar__theme-btn{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.status-bar__theme-btn:hover{background-color:var(--button-hover)}.status-bar__theme-btn svg{width:16px;height:16px}@keyframes statusBarSlideIn{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes statusBarBlink{0%,to{opacity:1}50%{opacity:.3;color:var(--color-error)}}.dockable{display:flex;flex-direction:column;border:1px solid var(--border-color);position:relative;-webkit-user-select:none;user-select:none;font-family:var(--font-mono)}.dockable--left{border-right:4px solid var(--border-color);border-left:none;border-top:none;border-bottom:none}.dockable--right{border-left:4px solid var(--border-color);border-right:none;border-top:none;border-bottom:none}.dockable--bottom{border-top:4px solid var(--border-color);border-left:none;border-right:none;border-bottom:none}.dockable--resizing{pointer-events:none}.dockable--resizing .dockable__resize-handle{pointer-events:auto}.dockable__header{display:flex;align-items:center;justify-content:space-between;padding:0 8px;border-bottom:1px solid var(--border-color);background-color:var(--bg-primary);flex-shrink:0;min-height:28px}.dockable__title{font-size:12px;font-weight:500;color:var(--text-primary)}.dockable__tabs{display:flex;gap:0;height:100%}.dockable__tab{display:flex;align-items:center;gap:4px;padding:4px 10px;border:none;border-bottom:2px solid transparent;border-radius:0;background:none;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s}.dockable__tab:hover{background-color:var(--button-hover);color:var(--text-primary)}.dockable__tab--active{color:var(--text-primary);border-bottom-color:var(--color-primary, #3b82f6)}.dockable__tab-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.dockable__header-right{display:flex;align-items:center;gap:8px}.dockable__controls{display:flex;gap:2px}.dockable__btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:2px;background:none;color:var(--text-secondary);cursor:pointer;transition:all .15s}.dockable__btn svg{width:14px;height:14px}.dockable__btn:hover,.dockable__btn--active{background-color:var(--button-hover);color:var(--text-primary)}.dockable__content{flex:1;overflow:auto;padding:0}.dockable__resize-handle{position:absolute;z-index:10;background-color:transparent;transition:background-color .2s}.dockable__resize-handle:hover{background-color:#3b82f64d}.dockable--left .dockable__resize-handle{top:0;right:0;width:6px;height:100%;cursor:ew-resize}.dockable--right .dockable__resize-handle{top:0;left:0;width:6px;height:100%;cursor:ew-resize}.dockable--bottom .dockable__resize-handle{top:0;left:0;width:100%;height:6px;cursor:ns-resize}.dockable--resizing.dockable--left *,.dockable--resizing.dockable--right *{cursor:ew-resize!important}.dockable--resizing.dockable--bottom *{cursor:ns-resize!important}.tree{display:flex;flex-direction:column;width:100%;font-size:13px}.tree__empty{padding:16px;text-align:center;color:var(--text-secondary);font-style:italic}.tree__node-container{display:flex;flex-direction:column}.tree__node{display:flex;align-items:center;gap:4px;padding:4px 12px 4px 8px;border-radius:4px;transition:all .2s;cursor:pointer;-webkit-user-select:none;user-select:none}.tree__node:hover{background-color:var(--bg-secondary)}.tree__node--selected{background-color:#3b82f626}.tree__node--selected:hover{background-color:#3b82f633}.tree__node--add-context{justify-content:center;opacity:.6}.tree__node--add-context:hover{opacity:1}.tree__node--add-context .tree__node-name{flex:none}.tree__node--pseudo-folder .tree__node-name{font-style:italic;opacity:.8}.tree__expand-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--text-secondary);flex-shrink:0;transition:all .2s;border-radius:3px}.tree__expand-icon:hover{background-color:#0000000d;color:var(--text-primary)}.tree__expand-spacer{display:block;width:14px;height:14px}.tree__node-label{display:flex;align-items:center;gap:8px;flex:1;padding:2px 4px;color:var(--text-primary);min-width:0}.tree__node-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.tree__rename-input{flex:1;padding:2px 6px;border:1px solid var(--border-color);border-radius:3px;background-color:var(--background);color:var(--text-primary);font-size:13px;font-weight:500;outline:none}.tree__rename-input:focus{border-color:#3b82f680;box-shadow:0 0 0 2px #3b82f61a}.tree__menu-button{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:none;border:none;border-radius:3px;color:var(--text-secondary);cursor:pointer;transition:all .2s;margin-left:auto}.tree__menu-button:hover{background-color:#0000000d;color:var(--text-primary)}.tree__children{display:flex;flex-direction:column}.tree-node-menu{background-color:var(--background);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px var(--shadow);padding:4px;min-width:160px;z-index:1000}.tree-node-menu__item{display:block;width:100%;padding:8px 12px;text-align:left;background:none;border:none;border-radius:4px;color:var(--text-primary);font-size:13px;cursor:pointer;transition:background-color .15s}.tree-node-menu__item:hover{background-color:var(--button-hover)}.tree-node-menu__item--danger{color:var(--error-color)}.tree-node-menu__item--danger:hover{background-color:var(--bg-error)}.tree-node-menu__separator{height:1px;background-color:var(--border-color);margin:4px 8px}.vocabulary{display:flex;flex-direction:column;width:100%;font-size:13px}.vocabulary__empty{padding:16px;text-align:center;color:var(--text-secondary);font-style:italic}.vocabulary__item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;transition:all .2s;cursor:pointer;-webkit-user-select:none;user-select:none}.vocabulary__item:hover{background-color:var(--bg-secondary)}.vocabulary__item--selected{background-color:#3b82f626}.vocabulary__item--selected:hover{background-color:#3b82f633}.vocabulary__item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text-primary)}.vocabulary__item-remove{display:flex;align-items:center;justify-content:center;padding:4px;background:none;border:none;cursor:pointer;opacity:0;border-radius:4px;color:inherit;transition:opacity .2s,background-color .2s}.vocabulary__item-remove:hover{opacity:1;background:var(--hover-bg);color:var(--danger-color, #ef4444)}.vocabulary__item:hover .vocabulary__item-remove{opacity:.6}.vocabulary__item--add-new{justify-content:center;opacity:.6}.vocabulary__item--add-new:hover{opacity:1}.vocabulary__item--add-new .vocabulary__item-name{flex:none}.vocabulary-menu{background-color:var(--background);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px var(--shadow);padding:4px;min-width:140px;z-index:1000}.vocabulary-menu__item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;text-align:left;background:none;border:none;border-radius:4px;color:var(--text-primary);font-size:13px;cursor:pointer;transition:background-color .15s}.vocabulary-menu__item:hover{background-color:var(--button-hover)}.metatype{font-family:monospace;font-size:10px;font-weight:700;text-transform:lowercase;letter-spacing:1.5px;padding:2px 6px;border-radius:4px;flex-shrink:0;white-space:nowrap;color:var(--text-secondary);border:1px solid var(--border-color)}.metatype--context{color:var(--color-context)}.metatype--aggregate{color:var(--color-aggregate)}.metatype--projection{color:var(--color-projection)}.metatype--command{color:var(--color-command)}.metatype--query{color:var(--color-query)}.metatype--subscription{color:var(--color-subscription)}.metatype--event{color:var(--color-event)}.metatype--policy{color:var(--color-policy)}.metatype--saga{color:var(--color-saga)}.metatype--view{color:var(--color-view)}.metatype--term{color:var(--color-term)}.metatype--valuetype{color:var(--color-valuetype)}.metatype--entity{color:var(--color-entity)}.metatype--enumeration{color:var(--color-enumeration)}.metatype--integration{color:var(--color-integration)}.metatype--port{color:var(--color-port)}.metatype--push{color:var(--color-push)}.metatype--pull{color:var(--color-pull)}.metatype--source-group{color:var(--text-secondary);opacity:.7}.editor-header{display:flex;align-items:center;gap:12px}.editor-header__title{flex:1;min-width:0}.editor-header .ai-assist-btn{width:36px;height:36px}.editor-header .ai-assist-btn svg{width:18px;height:18px}.element-editor__header-row{display:flex;align-items:center;gap:24px}.element-editor__header-row .ai-assist-btn{width:36px;height:36px;flex-shrink:0;margin-left:auto}.element-editor__header-row .ai-assist-btn svg{width:18px;height:18px}.element-editor__name-group{display:flex;align-items:center;gap:2px;min-width:0;flex:1}.element-editor__name-group .metatype{font-size:10px;margin-top:-5px}.element-editor{display:flex;flex-direction:column;height:100%;background-color:var(--bg-primary);font-family:var(--font-mono)}.element-editor__content{flex:1;padding:16px 24px 64px;overflow-y:auto;display:flex;flex-direction:column;gap:5px}.element-editor__info{display:flex;gap:8px;padding:12px 16px;background-color:var(--bg-secondary);border-radius:6px;font-size:13px}.element-editor__label{color:var(--text-secondary);font-weight:500}.element-editor__value{color:var(--text-primary);font-weight:600}.element-editor__title-row{display:flex;align-items:center;gap:12px}.element-editor__desc-row{display:flex;gap:12px;align-items:flex-start}.element-editor__desc-row .element-editor__desc{flex:1}.element-editor__desc-row .ai-assist-btn{margin-top:4px}.element-editor__name{font-size:28px;font-weight:600;color:var(--text-primary)}.element-editor__name.editable-title--editing{font-size:28px}.element-editor__desc{font-size:13px;color:var(--text-secondary);line-height:1.6}.element-editor__desc.editable-text--editing{font-size:13px}.element-editor__primitive-row{display:flex;align-items:center;gap:12px;padding:8px 0}.element-editor__primitive-label{font-size:13px;font-weight:500;color:var(--text-secondary)}.element-editor__primitive-select{padding:6px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;cursor:pointer;transition:border-color .15s ease}.element-editor__primitive-select:focus{outline:none;border-color:var(--border-active)}.confirmation-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.confirmation-dialog{background-color:var(--background);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0003;width:90%;max-width:420px;overflow:hidden}.confirmation-dialog__header{padding:16px 20px;border-bottom:1px solid var(--border-color)}.confirmation-dialog__title{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.confirmation-dialog__content{padding:20px}.confirmation-dialog__content p{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.5}.confirmation-dialog__footer{padding:16px 20px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:8px}.list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.list--collapsed{gap:0}.list__header{display:flex;align-items:center;padding:8px 6px 8px 2px;border-bottom:1px solid var(--border-color);gap:6px}.list__chevron{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:transform .2s ease;flex-shrink:0}.list__chevron--clickable{cursor:pointer;padding:2px;border-radius:4px}.list__chevron--clickable:hover{background-color:var(--button-hover);color:var(--text-primary)}.list__chevron--expanded{transform:rotate(90deg)}.list__title{margin:0;font-size:14px;font-weight:600;color:var(--text-secondary);font-variant:small-caps;flex:1}.list__title-text--clickable{cursor:pointer}.list__title-text--clickable:hover{color:var(--text-primary)}.list__count{font-size:12px;font-weight:500;color:var(--text-secondary);background-color:var(--bg-secondary);padding:2px 8px;border-radius:10px;margin-left:auto}.list__add-wrapper{position:relative;margin-left:auto}.list__btn{display:flex;align-items:center;justify-content:center;padding:5px;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent}.list__btn--add{background-color:transparent;color:var(--text-secondary);border-color:var(--border-color)}.list__btn--add:hover{background-color:var(--button-hover);color:var(--text-primary);border-color:var(--border-active)}.list__btn--remove{background-color:transparent;color:var(--text-secondary);border-color:var(--border-color)}.list__btn--remove:hover{color:var(--text-error);border-color:var(--text-error);background-color:var(--bg-error)}.list__dropdown{position:absolute;right:0;top:calc(100% + 4px);min-width:150px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 2px 8px var(--shadow);z-index:1000;overflow:hidden}.list__dropdown-item{width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;font-size:14px;transition:background .15s ease}.list__dropdown-item:hover{background:var(--button-hover)}.list__dropdown-item:active{background:var(--bg-secondary)}.list__items{display:flex;flex-direction:column}.list__item{display:flex;align-items:center;gap:8px;padding:2px 6px;background:var(--bg-primary);border-left:4px solid transparent;cursor:default}.list__item:hover{border-left:4px solid var(--border-active);transition:all .15s ease-in-out}.list__item--dragging{opacity:.8;cursor:grabbing}.list__item--highlighted{background-color:#ef444414;border-left:4px solid var(--color-error, #ef4444);animation:list-highlight-pulse 2s ease-in-out}.list__drag-handle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;color:var(--text-secondary);cursor:grab;flex-shrink:0;border-radius:3px;transition:all .2s}.list__drag-handle:hover{background-color:var(--button-hover);color:var(--text-primary)}.list__drag-handle:active{cursor:grabbing}.list__drag-handle svg{display:block}.list__item-content{flex:1;min-width:0}.list__remove-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid transparent;border-radius:4px;background:none;color:var(--text-secondary);cursor:pointer;transition:all .2s;flex-shrink:0;font-size:18px;line-height:1}.list__remove-button:hover,.list__remove-button--active{background-color:var(--button-hover);color:var(--text-primary);border-color:var(--border-color)}.list__drop-indicator{background-color:var(--button-hover);height:10px;border:1px dashed var(--border-active);border-radius:4px;background:transparent;margin:2px 5px}.list__empty{text-align:center;color:var(--text-secondary);font-size:14px;font-style:italic}@keyframes list-highlight-pulse{0%{background-color:#ef444433}to{background-color:#ef444414}}.element-item{display:flex;flex-direction:column;gap:2px;padding:4px 0}.element-item__header{display:flex;align-items:center;gap:8px}.element-item__name{flex:1}.element-item__info-btn,.element-item__nav-btn{display:flex;align-items:center;justify-content:center;padding:4px;background:none;border:none;cursor:pointer;opacity:.6;border-radius:4px;color:inherit}.element-item__info-btn:hover,.element-item__nav-btn:hover{opacity:1;background:var(--hover-bg)}.element-item__info-btn{position:relative}.element-item__info-btn[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;top:100%;right:0;z-index:1000;width:max-content;max-width:500px;padding:8px 12px;background:var(--tooltip-bg);color:var(--tooltip-color);font-size:.85em;line-height:1.4;border-radius:4px;white-space:pre-wrap;word-wrap:break-word;box-shadow:0 2px 8px #0003;margin-top:4px}.field{display:flex;align-items:center;gap:8px;width:100%}.field__name{flex:1;min-width:0}.field__name .editable-title{font-size:14px;font-weight:500;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px}.field__functor{display:flex;gap:2px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:2px}.field__functor-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.field__functor-btn:hover{background:var(--button-hover);color:var(--text-primary)}.field__functor-btn--active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 2px var(--shadow)}.field__element-id{flex:1;min-width:0}.field__value{flex:1;min-width:120px}.field--value-empty .field__value .script__input{border-color:var(--border-warning, #d4a574);background:var(--bg-warning, rgba(212, 165, 116, .05))}.field__element-id-input{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;transition:border-color .15s ease}.field__element-id-input::placeholder{color:var(--text-secondary)}.field__element-id-input:focus{outline:none;border-color:var(--border-active)}.enumeration-item{display:flex;align-items:center;gap:8px;width:100%}.enumeration-item__name{flex:1;min-width:0}.enumeration-item__name .editable-title{font-size:14px;font-weight:500;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px}.enumeration-item__desc{flex:2;min-width:0}.enumeration-item__desc-input{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-secondary);font-size:13px;transition:border-color .15s ease}.enumeration-item__desc-input::placeholder{color:var(--text-secondary)}.enumeration-item__desc-input:focus{outline:none;border-color:var(--border-active);color:var(--text-primary)}.select-element{position:relative;width:100%}.select-element__input-wrapper{position:relative;display:flex;align-items:center}.select-element__selected-metatype{position:absolute;left:8px;top:50%;transform:translateY(-50%);z-index:1}.select-element__input-wrapper--has-metatype .select-element__input{padding-left:48px}.select-element__input{width:100%;padding:6px 32px 6px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;transition:border-color .15s ease}.select-element__input::placeholder{color:var(--text-secondary)}.select-element__input:focus{border-color:var(--border-active)}.select-element__input:disabled{opacity:.6;cursor:not-allowed}.select-element__navigate-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;padding:2px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;opacity:.6;transition:opacity .15s ease,color .15s ease}.select-element__navigate-btn:hover{opacity:1;color:var(--text-primary)}.select-element__loading{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center}.select-element__spinner{width:14px;height:14px;border:2px solid var(--border-color);border-top-color:var(--border-active);border-radius:50%;animation:select-element-spin .8s linear infinite}.select-element__error{margin-top:4px;font-size:12px;color:var(--text-error)}.select-element__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:200px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 12px var(--shadow);z-index:1000}.select-element__option{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;color:var(--text-primary);cursor:pointer;transition:background-color .1s ease}.select-element__option:hover,.select-element__option--highlighted{background:var(--button-hover)}.select-element__option:first-child{border-radius:3px 3px 0 0}.select-element__option:last-child{border-radius:0 0 3px 3px}.select-element__option:only-child{border-radius:3px}.select-element__option-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-element__no-results{position:absolute;top:calc(100% + 4px);left:0;right:0;padding:12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;box-shadow:0 4px 12px var(--shadow);font-size:13px;color:var(--text-secondary);text-align:center;z-index:1000}.select-element__create-section{border-top:1px solid var(--border-color);padding:8px 12px;background:var(--bg-secondary)}.select-element__create-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.select-element__create-buttons{display:flex;gap:6px;flex-wrap:wrap}.select-element__create-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;font-size:12px;font-weight:500;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:all .15s ease}.select-element__create-btn:hover:not(:disabled){border-color:var(--border-active);background:var(--button-hover)}.select-element__create-btn:disabled{opacity:.5;cursor:not-allowed}.select-element__create-btn--term:hover:not(:disabled){border-color:var(--color-amber);color:var(--color-amber)}.select-element__create-btn--valuetype:hover:not(:disabled){border-color:var(--color-cyan);color:var(--color-cyan)}.select-element__create-btn--entity:hover:not(:disabled){border-color:var(--color-teal);color:var(--color-teal)}.select-element__creating{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12px;color:var(--text-secondary);background:var(--bg-secondary);border-top:1px solid var(--border-color)}@keyframes select-element-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.switch-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:#0000004d;z-index:2000}.switch-dialog{min-width:300px;max-width:500px;max-height:400px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 32px var(--shadow);overflow:hidden}.switch-dialog__list{display:flex;flex-direction:column;max-height:400px;overflow-y:auto;padding:4px}.switch-dialog__item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:6px;cursor:default;transition:background-color .1s}.switch-dialog__item--selected{background-color:var(--button-hover)}.switch-dialog__item-name{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.switch-dialog__empty{padding:16px 24px;font-size:14px;color:var(--text-secondary);text-align:center;font-style:italic}.script{display:flex;flex-direction:column;gap:4px}.script--error .script__input{border-color:var(--text-error)}.script--error .script__input:focus{border-color:var(--text-error);box-shadow:0 0 0 2px var(--bg-error)}.script__input{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;font-family:monospace;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.script__input::placeholder{color:var(--text-secondary);font-family:inherit}.script__input:focus{border-color:var(--border-active);box-shadow:0 0 0 2px #3b82f61a}.script__input:disabled{opacity:.6;cursor:not-allowed}.script__input--multiline{resize:vertical;line-height:1.5}.script__error{font-size:12px;color:var(--text-error);padding:0 2px}.script--malformed{position:relative}.script--malformed .script__input{border-color:var(--color-orange, #f59e0b);background:#f59e0b0d;cursor:pointer}.script--malformed .script__input:focus{border-color:var(--color-orange, #f59e0b);box-shadow:0 0 0 2px #f59e0b26}.script--malformed .script__input::placeholder{color:var(--color-orange, #f59e0b)}.script__fix-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:2px 8px;border:none;border-radius:3px;background:var(--color-orange, #f59e0b);color:#fff;font-size:11px;font-weight:500;cursor:pointer;transition:background-color .15s}.script__fix-btn:hover{background:var(--color-orange-hover, #d97706)}.script-editor{display:flex;flex-direction:column;gap:4px}.script-editor__display{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;font-family:monospace;cursor:text;white-space:pre-wrap;word-break:break-word;transition:border-color .15s ease,box-shadow .15s ease;min-height:29px}.script-editor__display:hover{border-color:var(--border-active)}.script-editor__display--empty{color:var(--text-secondary);font-style:normal}.script-editor__display--invalid{border-color:var(--text-error)}.script-editor--editing .monaco-editor{border:1px solid var(--border-active);border-radius:4px;box-shadow:0 0 0 2px #3b82f61a}.script-editor .monaco-editor{border:1px solid var(--border-color);border-radius:4px;transition:border-color .15s ease,box-shadow .15s ease}.script-editor .monaco-editor.focused{border-color:var(--border-active);box-shadow:0 0 0 2px #3b82f61a}.script-editor .monaco-editor,.script-editor .monaco-editor .overflow-guard,.script-editor .monaco-editor-background,.script-editor .monaco-editor .inputarea.ime-input{background:var(--bg-primary)!important}.script-editor .monaco-editor .overflow-guard{border-radius:4px}.script-editor--error .script-editor__display,.script-editor--error .script-editor__display:hover,.script-editor--error .monaco-editor{border-color:var(--text-error)}.script-editor--error .monaco-editor.focused{border-color:var(--text-error);box-shadow:0 0 0 2px var(--bg-error)}.script-editor__error{font-size:12px;color:var(--text-error);padding:0 2px}.script-editor__loading{display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-secondary);font-size:12px}.invariant{border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary)}.invariant--expanded .invariant__header{border-bottom:1px solid var(--border-color)}.invariant__header{display:flex;align-items:center;gap:6px;padding:8px 10px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease}.invariant__header:hover{background-color:var(--button-hover)}.invariant__toggle{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.invariant__preview{flex:1;font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invariant__preview:empty:before{content:"(no description)";color:var(--text-secondary);font-style:italic}.invariant__content{display:flex;gap:12px;padding:12px}.invariant__content>*{flex:1;min-width:0}.invariant__field{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.invariant__textarea{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;font-family:inherit;line-height:1.5;outline:none;resize:vertical;transition:border-color .15s ease}.invariant__textarea::placeholder{color:var(--text-secondary)}.invariant__textarea:focus{border-color:var(--border-active)}.invariant__label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.invariant__label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.input{border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary)}.input--expanded .input__header{border-bottom:1px solid var(--border-color)}.input__header{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease}.input__header:hover{background-color:var(--button-hover)}.input__toggle{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.input__name{font-size:13px;font-weight:600;color:var(--text-primary);flex-shrink:0}.input__name:empty:before{content:"(unnamed)";color:var(--text-secondary);font-style:italic;font-weight:400}.input__desc{flex:1;font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input__desc:empty:before{content:"(no description)";font-style:italic}.input__content{display:flex;flex-direction:column;gap:12px;padding:12px}.input__row{display:flex;gap:12px}.input__row>*{flex:1;min-width:0}.input__field{display:flex;flex-direction:column;gap:4px}.input__field--selection{flex:0 0 auto}.input__label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.input__field .editable-title{font-size:13px;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px}.input__textarea{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;font-family:inherit;line-height:1.5;outline:none;resize:vertical;transition:border-color .15s ease}.input__textarea::placeholder{color:var(--text-secondary)}.input__textarea:focus{border-color:var(--border-active)}.input__selection{display:flex;gap:2px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;padding:2px}.input__selection-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.input__selection-btn:hover{background:var(--button-hover);color:var(--text-primary)}.input__selection-btn--active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 2px var(--shadow)}.ai-assist-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:1px solid var(--border-color);border-radius:4px;background:transparent;color:var(--color-purple);cursor:pointer;transition:all .15s ease;flex-shrink:0}.ai-assist-btn:hover:not(:disabled){background:var(--color-purple-bg);border-color:var(--color-purple)}.ai-assist-btn:disabled{opacity:.4;cursor:not-allowed}.ai-assist-btn--loading{pointer-events:none}.ai-assist-btn__spinner{width:12px;height:12px;border:2px solid var(--border-color);border-top-color:var(--color-purple);border-radius:50%;animation:ai-spin .7s linear infinite}.ai-panel{height:100%;display:flex;flex-direction:column}.ai-panel__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color);flex-shrink:0}.ai-panel__header-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-primary)}.ai-panel__header-title svg{color:var(--color-purple)}.ai-panel__new-btn{padding:4px 10px;font-size:12px;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .15s}.ai-panel__new-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-active)}.ai-panel__new-btn:disabled{opacity:.5;cursor:not-allowed}.ai-panel__messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.ai-panel__compose{display:flex;gap:8px;padding:12px 16px 52px;border-top:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0}.ai-panel__message{flex:1;padding:8px 12px;font-size:13px;font-family:inherit;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;resize:none;outline:none;min-height:36px;max-height:120px}.ai-panel__message:focus{border-color:var(--border-active)}.ai-panel__message:disabled{opacity:.6}.ai-panel__send-btn{padding:8px 16px;font-size:13px;font-weight:500;color:var(--color-white);background:var(--color-purple);border:none;border-radius:6px;cursor:pointer;transition:all .15s;flex-shrink:0}.ai-panel__send-btn:hover:not(:disabled){background:var(--color-purple-dark)}.ai-panel__send-btn:disabled{opacity:.5;cursor:not-allowed}.ai-panel__typing{display:flex;padding:12px 16px}.ai-panel__typing-dots{display:flex;gap:4px}.ai-panel__typing-dots span{width:8px;height:8px;background:var(--color-purple);border-radius:50%;animation:ai-typing 1.4s infinite ease-in-out both}.ai-panel__typing-dots span:nth-child(1){animation-delay:-.32s}.ai-panel__typing-dots span:nth-child(2){animation-delay:-.16s}.ai-panel__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;gap:12px;color:var(--text-secondary);font-size:13px}.ai-panel__spinner{width:24px;height:24px;border:2px solid var(--border-color);border-top-color:var(--color-purple);border-radius:50%;animation:ai-spin .7s linear infinite}.ai-panel__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;color:var(--text-secondary);gap:12px}.ai-panel__empty p{margin:0;font-size:13px;line-height:1.5}.ai-panel__empty svg{opacity:.4}.ai-panel__context{padding:8px 0;margin-bottom:8px;border-bottom:1px solid var(--border-color)}.ai-panel__context-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;display:block;margin-bottom:4px}.ai-panel__context-text{font-size:13px;color:var(--text-primary);font-style:italic}.ai-panel__section-title{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.ai-panel__event-name{display:flex;flex-direction:column}.ai-panel__suggestions{display:flex;flex-direction:column;gap:10px}.ai-panel__suggestion{padding:12px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color)}.ai-panel__suggestion-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.ai-panel__suggestion-name{font-size:13px;font-weight:600;color:var(--color-purple);font-family:monospace}.ai-panel__parse-error{font-size:10px;color:var(--text-error);background:var(--bg-error);padding:2px 6px;border-radius:3px}.ai-panel__suggestion-desc{margin:0 0 8px;font-size:13px;color:var(--text-secondary);line-height:1.5}.ai-panel__suggestion-predicate{display:block;padding:8px 10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;font-family:monospace;font-size:12px;color:var(--text-primary);margin-bottom:10px;word-break:break-all;line-height:1.5}.ai-panel__apply-btn{width:100%;padding:8px 12px;border:1px solid var(--color-purple);border-radius:4px;background:var(--color-purple-bg);color:var(--color-purple);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.ai-panel__apply-btn:hover:not(:disabled){background:var(--color-purple);color:var(--color-white)}.ai-panel__apply-btn:disabled{opacity:.4;cursor:not-allowed}.ai-panel__apply-btn--small{padding:6px 10px;font-size:12px}.ai-panel__aggregate,.ai-panel__command{display:flex;flex-direction:column;gap:12px}.ai-panel__event-name-inline{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px}.ai-panel__event-name-label{font-size:12px;color:var(--text-secondary)}.ai-panel__event-name-value{font-size:13px;font-weight:600;color:var(--color-green);font-family:monospace}.ai-panel__reasoning{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.5;font-style:italic;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.ai-panel__refined-desc{padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px}.ai-panel__refined-desc-label{font-size:11px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.ai-panel__refined-desc-text{margin:0 0 12px;font-size:13px;color:var(--text-primary);line-height:1.6}.ai-panel__collapsible{border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.ai-panel__collapsible-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;background:var(--bg-secondary);border:none;cursor:pointer;text-align:left;font-size:13px;color:var(--text-primary);font-weight:500}.ai-panel__collapsible-header:hover{background:var(--bg-hover)}.ai-panel__collapsible-icon{display:flex;align-items:center;color:var(--text-secondary)}.ai-panel__collapsible-title{flex:1}.ai-panel__collapsible-count{font-size:11px;color:var(--text-secondary);background:var(--bg-primary);padding:2px 6px;border-radius:10px}.ai-panel__collapsible-content{padding:12px;background:var(--bg-primary);border-top:1px solid var(--border-color)}.ai-panel__list{display:flex;flex-direction:column;gap:10px}.ai-panel__list-item{padding:10px;background:var(--bg-secondary);border-radius:4px;border:1px solid var(--border-color)}.ai-panel__list-item-header{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.ai-panel__list-item-desc{margin:0 0 8px;font-size:12px;color:var(--text-secondary);line-height:1.4}.ai-panel__field-name{font-size:13px;font-weight:600;color:var(--color-blue);font-family:monospace}.ai-panel__field-type{font-size:11px;color:var(--text-secondary);background:var(--bg-primary);padding:2px 6px;border-radius:3px;font-family:monospace}.ai-panel__field-required{font-size:10px;color:var(--color-orange);background:var(--color-orange-bg);padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px}.ai-panel__tag-list{display:flex;flex-wrap:wrap;gap:6px}.ai-panel__tag{font-size:12px;color:var(--text-primary);background:var(--bg-secondary);padding:4px 10px;border-radius:4px;border:1px solid var(--border-color)}.ai-panel__term{display:flex;flex-direction:column;gap:12px}.ai-panel__primitive-suggestion{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px}.ai-panel__primitive-label{font-size:12px;color:var(--text-secondary)}.ai-panel__primitive-value{font-size:13px;font-weight:600;color:var(--color-blue);font-family:monospace;flex:1}.ai-panel__constraint-type{font-size:13px;font-weight:600;color:var(--color-purple);font-family:monospace}.ai-panel__constraint-value{font-size:12px;color:var(--text-primary);background:var(--bg-primary);padding:2px 8px;border-radius:3px;font-family:monospace}.ai-panel__apply-all-btn{width:100%;padding:8px 12px;margin-bottom:10px;border:1px solid var(--color-green);border-radius:4px;background:var(--color-green-bg);color:var(--color-green);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.ai-panel__apply-all-btn:hover{background:var(--color-green);color:var(--color-white)}@keyframes ai-spin{to{transform:rotate(360deg)}}@keyframes ai-typing{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-message{display:flex;flex-direction:column;gap:4px}.chat-message--user{align-items:flex-end}.chat-message--user .chat-message__bubble{background:var(--color-purple);color:var(--color-white);max-width:80%}.chat-message--assistant{align-items:flex-start}.chat-message--assistant .chat-message__bubble{background:var(--bg-secondary);color:var(--text-primary);max-width:100%}.chat-message__bubble{padding:10px 14px;border-radius:12px;border:1px solid var(--border-color)}.chat-message__content{font-size:13px;line-height:1.5;white-space:pre-wrap}.chat-message__time{font-size:11px;color:var(--text-secondary);padding:0 4px}.suggestions{display:flex;flex-direction:column;gap:6px;margin-top:8px}.suggestions__section{border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.suggestions__section-header{display:flex;align-items:center;gap:6px;width:100%;padding:4px 8px;background:var(--bg-secondary);border:none;cursor:pointer;text-align:left;font-size:12px;font-weight:500;color:var(--text-primary)}.suggestions__section-header:hover{background:var(--bg-hover)}.suggestions__section-icon{display:flex;align-items:center;color:var(--text-secondary)}.suggestions__section-title{flex:1}.suggestions__section-count{font-size:11px;color:var(--text-secondary)}.suggestions__list{display:flex;flex-direction:column}.suggestions__card{position:relative;padding:6px 48px 6px 8px;border-bottom:1px solid var(--border-color)}.suggestions__card:last-child{border-bottom:none}.suggestions__card-header{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.suggestions__card-desc{margin:0;font-size:11px;color:var(--text-secondary);line-height:1.3}.suggestions__card-predicate{display:block;padding:3px 5px;background:var(--bg-secondary);border-radius:3px;font-family:monospace;font-size:10px;color:var(--text-primary);margin-top:3px;word-break:break-all;line-height:1.3}.suggestions__actions{position:absolute;top:4px;right:4px;display:flex;gap:2px}.suggestions__icon-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:3px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all .15s}.suggestions__icon-btn--accept:hover{background:var(--color-green-bg);color:var(--color-green)}.suggestions__icon-btn--reject:hover{background:var(--color-red-bg);color:var(--color-red)}.suggestions__item{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 48px 6px 8px;border-bottom:1px solid var(--border-color)}.suggestions__item:last-child{border-bottom:none}.suggestions__item--description{flex-direction:column;align-items:stretch}.suggestions__item-label{font-size:10px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.suggestions__item-text{margin:0;font-size:12px;color:var(--text-primary);line-height:1.5}.suggestions__item-value,.suggestions__field-name{font-size:12px;font-weight:600;color:var(--color-blue);font-family:monospace}.suggestions__field-type{font-size:10px;color:var(--text-secondary);background:var(--bg-secondary);padding:2px 5px;border-radius:3px;font-family:monospace}.suggestions__invariant-name,.suggestions__constraint-type{font-size:12px;font-weight:600;color:var(--color-purple);font-family:monospace}.suggestions__constraint-value{font-size:11px;color:var(--text-primary);background:var(--bg-secondary);padding:2px 5px;border-radius:3px;font-family:monospace}.suggestions__tag-list{display:flex;flex-wrap:wrap;gap:4px}.suggestions__tag{font-size:11px;color:var(--text-primary);background:var(--bg-primary);padding:3px 8px;border-radius:4px;border:1px solid var(--border-color)}.ai-input{display:flex;flex-direction:column;gap:4px;width:100%}.ai-input__header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.ai-input__label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.ai-input__field{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;font-family:inherit;transition:border-color .15s ease}.ai-input__field:focus{outline:none;border-color:var(--border-active)}.ai-input__field:disabled{opacity:.5;cursor:not-allowed}.ai-input__field::placeholder{color:var(--text-secondary);opacity:.6}.ai-text{display:flex;flex-direction:column;gap:4px;width:100%}.ai-text__header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.ai-text__label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.ai-text__field{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;font-family:inherit;line-height:1.5;resize:vertical;transition:border-color .15s ease}.ai-text__field:focus{outline:none;border-color:var(--border-active)}.ai-text__field:disabled{opacity:.5;cursor:not-allowed}.ai-text__field::placeholder{color:var(--text-secondary);opacity:.6}.constraint{display:flex;align-items:center;gap:8px;width:100%}.constraint__type{flex:0 0 140px}.constraint__type-select{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;cursor:pointer;transition:border-color .15s ease}.constraint__type-select:focus{outline:none;border-color:var(--border-active)}.constraint__value{flex:1;min-width:0}.constraint__value-input,.constraint__value-select{width:100%;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;transition:border-color .15s ease}.constraint__value-input::placeholder,.constraint__value-select::placeholder{color:var(--text-secondary)}.constraint__value-input:focus,.constraint__value-select:focus{outline:none;border-color:var(--border-active)}.constraint__value-select{cursor:pointer}.data-select{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.data-select__header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.data-select__dropdown{width:100%;padding:8px 10px;border:none;background:transparent;color:var(--text-primary);font-size:13px;cursor:pointer;transition:background-color .15s ease}.data-select__dropdown:focus{outline:none;background:var(--bg-primary)}.data-select__dropdown:disabled{cursor:not-allowed;opacity:.6}.data-select__body{background:var(--bg-primary)}.data-select__body .script,.data-select__body .script__input{border:none;border-radius:0}.data-select__body .script__input:focus{border:none;box-shadow:none}.log-list{display:flex;flex-direction:column;width:100%;height:100%;font-size:12px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;background-color:var(--bg-primary)}.log-list__empty{padding:16px;text-align:center;color:var(--text-secondary);font-style:italic;font-family:inherit}.log-list__toolbar{display:flex;align-items:center;justify-content:flex-end;padding:2px 8px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);flex-shrink:0}.log-list__clear-btn{padding:2px 8px;border:none;border-radius:2px;background:none;color:var(--text-secondary);font-size:11px;cursor:pointer;transition:all .15s}.log-list__clear-btn:hover{background-color:var(--button-hover);color:var(--text-primary)}.log-list__entries{flex:1;overflow:auto}.log-list__entry{display:flex;align-items:flex-start;padding:3px 8px;border-bottom:1px solid var(--border-color);cursor:default;-webkit-user-select:text;user-select:text}.log-list__entry:hover{background-color:var(--button-hover)}.log-list__entry--success .log-list__type{color:var(--color-success, #22c55e)}.log-list__entry--error{background-color:#ef44441a}.log-list__entry--error .log-list__type{color:var(--color-error, #ef4444)}.log-list__entry--error:hover{background-color:#ef444426}.log-list__entry--warning{background-color:#f59e0b1a}.log-list__entry--warning .log-list__type{color:var(--color-warning, #f59e0b)}.log-list__entry--warning:hover{background-color:#f59e0b26}.log-list__entry--info .log-list__type{color:var(--color-info, #3b82f6)}.log-list__entry--expanded .log-list__message{white-space:pre-wrap;word-break:break-word}.log-list__timestamp{color:var(--text-secondary);margin-right:8px;flex-shrink:0;opacity:.7}.log-list__type{margin-right:8px;flex-shrink:0;font-weight:600}.log-list__message{flex:1;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-issues{display:flex;flex-direction:column;width:100%;height:100%;font-size:12px;background-color:var(--bg-primary)}.model-issues__header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);flex-shrink:0}.model-issues__summary{color:var(--text-secondary);font-size:11px}.model-issues__empty{padding:16px;text-align:center;color:var(--text-secondary);font-style:italic}.model-issues__groups{flex:1;overflow:auto}.model-issues__group{border-bottom:1px solid var(--border-color)}.model-issues__group:last-child{border-bottom:none}.model-issues__group-header{display:flex;align-items:center;gap:4px;padding:4px 8px;background-color:var(--bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.model-issues__group-header:hover{background-color:var(--button-hover)}.model-issues__group-chevron{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.model-issues__group-metatype{flex-shrink:0}.model-issues__group-name{flex:1;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-issues__group-counts{display:flex;gap:4px;flex-shrink:0}.model-issues__count{padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600}.model-issues__count--error{background-color:#ef444433;color:var(--color-error, #ef4444)}.model-issues__count--warning{background-color:#f59e0b33;color:var(--color-warning, #f59e0b)}.model-issues__group-issues{padding-left:8px}.model-issues__issue{display:flex;align-items:flex-start;gap:8px;padding:3px 8px 3px 16px;border-bottom:1px solid var(--border-color)}.model-issues__issue:last-child{border-bottom:none}.model-issues__issue:hover{background-color:var(--button-hover)}.model-issues__issue--clickable{cursor:pointer}.model-issues__issue--err{background-color:#ef44440d}.model-issues__issue--err:hover{background-color:#ef44441a}.model-issues__issue--wrn{background-color:#f59e0b0d}.model-issues__issue--wrn:hover{background-color:#f59e0b1a}.model-issues__severity{flex-shrink:0;font-size:10px;font-weight:600;text-transform:uppercase;padding:1px 4px;border-radius:2px}.model-issues__severity--err{color:var(--color-error, #ef4444);background-color:#ef444426}.model-issues__severity--wrn{color:var(--color-warning, #f59e0b);background-color:#f59e0b26}.model-issues__severity--inf{color:var(--color-info, #3b82f6);background-color:#3b82f626}.model-issues__severity--dbg{color:var(--text-secondary);background-color:var(--button-hover)}.model-issues__qualifier{flex-shrink:0;color:var(--text-secondary);font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace}.model-issues__message{flex:1;color:var(--text-primary);word-break:break-word}.references-panel{display:flex;flex-direction:column;width:100%;height:100%;font-size:12px;background-color:var(--bg-primary)}.references-panel__empty,.references-panel__loading,.references-panel__error{padding:16px;text-align:center;color:var(--text-secondary);font-style:italic}.references-panel__error{color:var(--color-error, #ef4444)}.references-panel__groups{flex:1;overflow:auto}.references-panel__group{border-bottom:1px solid var(--border-color)}.references-panel__group:last-child{border-bottom:none}.references-panel__group-header{display:flex;align-items:center;gap:4px;padding:4px 8px;background-color:var(--bg-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.references-panel__group-header:hover{background-color:var(--button-hover)}.references-panel__group-chevron{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.references-panel__group-name{flex:1;font-weight:500;color:var(--text-primary)}.references-panel__group-count{padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;background-color:var(--button-hover);color:var(--text-secondary)}.references-panel__group-items{padding-left:8px}.references-panel__item{display:flex;align-items:center;gap:8px;padding:3px 8px 3px 16px;border-bottom:1px solid var(--border-color);cursor:pointer}.references-panel__item:last-child{border-bottom:none}.references-panel__item:hover{background-color:var(--button-hover)}.references-panel__item-metatype{flex-shrink:0}.references-panel__item-name{flex:1;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.references-panel__item-path{flex-shrink:0;color:var(--text-secondary);font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:10px}.build-progress{display:flex;flex-direction:column;width:100%;height:100%;font-size:12px;background-color:var(--bg-primary)}.build-progress__header{display:flex;align-items:center;gap:8px;padding:4px 8px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);flex-shrink:0}.build-progress__clear{margin-left:auto;padding:2px 8px;font-size:11px;color:var(--text-secondary);background:none;border:1px solid var(--border-color);border-radius:4px;cursor:pointer}.build-progress__clear:hover{background-color:var(--button-hover);color:var(--text-primary)}.build-progress__status{font-size:11px;font-weight:500}.build-progress__status--building{color:var(--color-info, #3b82f6)}.build-progress__status--building:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin 1s linear infinite}.build-progress__status--success{color:var(--color-success, #22c55e)}.build-progress__status--success:before{content:"✓";margin-right:4px}.build-progress__status--error{color:var(--color-error, #ef4444)}.build-progress__status--error:before{content:"✗";margin-right:4px}.build-progress__content{flex:1;overflow:auto;padding:8px}.build-progress__empty{padding:16px;text-align:center;color:var(--text-secondary);font-style:italic}.build-progress__group{margin-bottom:8px}.build-progress__group:last-child{margin-bottom:0}.build-progress__subproject{display:flex;align-items:center;padding:4px 8px;font-weight:600;color:var(--text-primary);border-radius:4px;margin-bottom:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.build-progress__subproject:hover{background-color:var(--bg-secondary)}.build-progress__subproject:before{content:"▶";font-size:8px;margin-right:8px;color:var(--text-tertiary);transition:transform .15s ease;transform:rotate(90deg)}.build-progress__subproject--collapsed:before{transform:rotate(0)}.build-progress__subproject-name{flex:1;min-width:0}.build-progress__subproject-stats{display:flex;flex-shrink:0;margin-left:12px;font-weight:400;color:var(--text-tertiary);gap:8px}.build-progress__stat-files{width:80px;text-align:right;white-space:nowrap}.build-progress__stat-lines{width:100px;text-align:right;white-space:nowrap}.build-progress__file{display:flex;align-items:center;padding:2px 8px 2px 24px;color:var(--text-secondary);font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:11px}.build-progress__file:before{content:"•";margin-right:8px;color:var(--text-tertiary);flex-shrink:0}.build-progress__file-path{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.build-progress__file-stats{flex-shrink:0;margin-left:12px;color:var(--text-tertiary)}.build-progress__error{padding:8px 12px;margin-top:8px;color:var(--color-error, #ef4444);background-color:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:4px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:11px;word-break:break-word}.build-progress__summary{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;margin-top:8px;background-color:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:4px;font-weight:500;color:var(--color-success, #22c55e)}.build-progress__summary-label:before{content:"✓";margin-right:6px}.build-progress__summary-stats{display:flex;gap:16px;color:var(--text-secondary);font-weight:400}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.action-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:#0000004d;z-index:2000}.action-modal{min-width:400px;max-width:600px;max-height:400px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 32px var(--shadow);overflow:hidden;display:flex;flex-direction:column}.action-modal__header{padding:12px 16px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);text-align:center}.action-modal__sequence{font-family:monospace;font-size:14px;font-weight:500;font-variant:small-caps;color:var(--text-primary)}.action-modal__list{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;overflow-y:auto;padding:8px 12px}.action-modal__item{display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:6px}.action-modal__item--selected{background-color:var(--button-hover)}.action-modal__item--disabled{opacity:.4}.action-modal__binding{display:inline-block;min-width:80px;padding:2px 6px;font-family:monospace;font-size:11px;background-color:var(--bg-tertiary);border-radius:3px;color:var(--text-primary);text-align:center}.action-modal__desc{flex:1;font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-modal__empty{padding:24px 16px;font-size:14px;color:var(--text-tertiary);text-align:center;font-style:italic}.file-tree{display:flex;flex-direction:column;width:100%;font-size:13px}.file-tree--loading,.file-tree--empty,.file-tree--error{padding:16px;text-align:center;color:var(--text-secondary);font-style:italic}.file-tree--error{display:flex;flex-direction:column;gap:8px}.file-tree--error button{padding:4px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;color:var(--text-primary)}.file-tree--error button:hover{background:var(--button-hover)}.file-tree__node-container{display:flex;flex-direction:column}.file-tree__node{display:flex;align-items:center;gap:4px;padding:4px 12px 4px 8px;border-radius:4px;transition:all .2s;cursor:pointer;-webkit-user-select:none;user-select:none}.file-tree__node:hover{background-color:var(--bg-secondary)}.file-tree__node--selected{background-color:#3b82f626}.file-tree__node--selected:hover{background-color:#3b82f633}.file-tree__expand-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--text-secondary);flex-shrink:0}.file-tree__expand-spacer{display:block;width:14px;height:14px}.file-tree__icon{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.file-tree__node-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.file-tree__children{display:flex;flex-direction:column}.file-viewer{display:flex;flex-direction:column;height:100%;background-color:var(--bg-primary)}.file-viewer--loading,.file-viewer--error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);gap:8px}.file-viewer__header{display:flex;align-items:center;gap:6px;padding:0 8px;min-height:28px;border-bottom:1px solid var(--border-color);background-color:var(--bg-primary);flex-shrink:0;color:var(--text-secondary);font-size:12px}.file-viewer__filename{font-weight:500;color:var(--text-primary)}.file-viewer__path{color:var(--text-secondary);margin-left:auto;opacity:.7}.file-viewer__badge{padding:1px 6px;background-color:var(--bg-secondary);border-radius:3px;font-size:10px;color:var(--text-secondary);text-transform:uppercase}.file-viewer__content{flex:1;overflow:auto;padding:0}.file-viewer__code{margin:0;padding:16px 0;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.5;-moz-tab-size:4;tab-size:4;background:transparent}.file-viewer__line{display:flex;padding:0 16px}.file-viewer__line:hover{background-color:var(--button-hover)}.file-viewer__line-number{width:48px;padding-right:16px;text-align:right;color:var(--text-secondary);-webkit-user-select:none;user-select:none;flex-shrink:0;opacity:.6}.file-viewer__line-content{flex:1;white-space:pre;color:var(--text-primary)}.file-viewer .token.comment,.file-viewer .token.prolog,.file-viewer .token.doctype,.file-viewer .token.cdata{color:var(--syntax-comment)}.file-viewer .token.punctuation{color:var(--syntax-punctuation)}.file-viewer .token.property,.file-viewer .token.tag,.file-viewer .token.boolean,.file-viewer .token.number,.file-viewer .token.constant,.file-viewer .token.symbol,.file-viewer .token.deleted{color:var(--syntax-property)}.file-viewer .token.selector,.file-viewer .token.attr-name,.file-viewer .token.string,.file-viewer .token.char,.file-viewer .token.builtin,.file-viewer .token.inserted{color:var(--syntax-string)}.file-viewer .token.operator,.file-viewer .token.entity,.file-viewer .token.url,.file-viewer .language-css .token.string,.file-viewer .style .token.string{color:var(--syntax-operator)}.file-viewer .token.atrule,.file-viewer .token.attr-value,.file-viewer .token.keyword{color:var(--syntax-keyword)}.file-viewer .token.function,.file-viewer .token.class-name{color:var(--syntax-function)}.file-viewer .token.regex,.file-viewer .token.important,.file-viewer .token.variable{color:var(--syntax-variable)}.file-viewer .token.important,.file-viewer .token.bold{font-weight:700}.file-viewer .token.italic{font-style:italic}.file-viewer .token.entity{cursor:help}.file-viewer .token.namespace{opacity:.7}.keyboard-help-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:#0000004d;z-index:2000}.keyboard-help{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 32px var(--shadow);border-collapse:separate;border-spacing:0}.keyboard-help__row:first-child td{padding-top:12px}.keyboard-help__row:last-child td{padding-bottom:12px}.keyboard-help__key-cell{padding:6px 8px 6px 16px;text-align:left}.keyboard-help__key-cell--right{padding-left:24px}.keyboard-help__key{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:4px 8px;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;font-family:monospace;font-size:12px;font-weight:500;color:var(--text-primary)}.keyboard-help__description{padding:6px 16px 6px 8px;font-size:13px;color:var(--text-secondary);text-align:left}.record{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border-color);border-radius:6px;padding:8px;background:var(--bg-secondary)}.record__row{display:flex;align-items:center;gap:8px}.record__toggle-cell{flex-shrink:0;display:flex;align-items:center}.record__toggle-cell input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--border-active)}.record__lvalue{flex-shrink:0;width:140px;padding:6px 10px;border-radius:4px;background:var(--bg-primary);border:1px solid var(--border-color);text-align:right}.record__lvalue code{font-family:monospace;font-size:13px;color:var(--text-primary);font-weight:500}.record__rvalue{flex:1;min-width:0}.record__nested{margin-top:4px;padding-left:12px;border-left:2px solid var(--border-color)}.effect-insert{display:flex;flex-direction:column;gap:12px}.effect-insert__field{display:flex;flex-direction:column;gap:4px}.effect-insert__label{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.effect-insert__data{display:flex;flex-direction:column;gap:8px}.effect-replace{display:flex;flex-direction:column;gap:12px}.effect-replace__field{display:flex;flex-direction:column;gap:4px}.effect-replace__label{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.effect-replace__data{display:flex;flex-direction:column;gap:8px}.effect-remove{display:flex;flex-direction:column;gap:12px}.effect-remove__field{display:flex;flex-direction:column;gap:4px}.effect-remove__label{font-size:11px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.effect-remove__data,.effect{display:flex;flex-direction:column;gap:8px}.effect__header{display:flex;align-items:center;gap:8px}.effect__type{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em;padding:4px 8px;background:var(--bg-secondary);border-radius:4px}.effect__content{display:flex;flex-direction:column;gap:8px}.effect__placeholder{padding:12px;color:var(--text-secondary);font-size:13px;font-style:italic;text-align:center;border:1px dashed var(--border-color);border-radius:4px}.project-menu{background-color:var(--background);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 12px var(--shadow);padding:4px;min-width:210px;z-index:1000}.project-menu__item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;text-align:left;background:none;border:none;border-radius:4px;color:var(--text-primary);font-size:13px;cursor:pointer;transition:background-color .15s;white-space:nowrap}.project-menu__item svg{color:var(--text-secondary);flex-shrink:0}.project-menu__item:hover{background-color:var(--button-hover)}.project-menu__item:hover svg{color:var(--text-primary)}.project-menu__item--danger{color:var(--error-color)}.project-menu__item--danger svg{color:var(--error-color)}.project-menu__item--danger:hover{background-color:var(--bg-error)}.project-menu__keybinding{margin-left:auto;font-family:monospace;font-size:11px;color:var(--text-tertiary);opacity:.7}.theme-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.theme-dialog{background-color:var(--background);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 32px var(--shadow);min-width:220px;overflow:hidden}.theme-dialog__header{padding:12px 16px;font-size:13px;font-weight:500;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.theme-dialog__list{padding:4px}.theme-dialog__item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;text-align:left;background:none;border:none;border-radius:4px;color:var(--text-primary);font-size:13px;cursor:pointer;transition:background-color .15s}.theme-dialog__item:hover,.theme-dialog__item--focused{background-color:var(--button-hover)}.theme-dialog__check{width:14px;height:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.theme-dialog__check svg{color:var(--color-blue)}.settings{max-width:60vw;width:100%}.settings--loading{display:flex;align-items:center;justify-content:center;padding:48px;color:var(--text-secondary)}.settings__content{padding:24px;overflow-y:auto;max-height:70vh;display:flex;flex-direction:column;gap:5px}.settings__subtitle{font-size:14px;color:var(--text-secondary);margin:0 0 16px;line-height:1.5}.settings__section{margin-bottom:24px}.settings__section-title{font-size:14px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.settings__field{margin-bottom:20px}.settings__field:last-child{margin-bottom:0}.settings__label{display:block;font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:6px}.settings__input{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s ease;box-sizing:border-box}.settings__input::placeholder{color:var(--text-secondary)}.settings__input:focus{border-color:var(--border-active)}.settings__select{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-family:inherit;cursor:pointer;outline:none;transition:border-color .15s ease;box-sizing:border-box}.settings__select:focus{border-color:var(--border-active)}.settings__select option:disabled{color:var(--text-secondary);font-style:italic}.settings__hint{display:block;font-size:12px;color:var(--text-secondary);margin-top:4px}.settings .modal__footer{padding:16px 24px;border-top:1px solid var(--border-color)}.json-debug-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;align-items:center;justify-content:center;z-index:2000}.json-debug-modal{background-color:var(--background);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #0000004d;width:90%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.json-debug-modal__header{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border-color);background-color:var(--bg-secondary);flex-shrink:0}.json-debug-modal__title{font-size:14px;font-weight:600;color:var(--text-primary)}.json-debug-modal__badge{padding:2px 8px;background-color:var(--color-blue);border-radius:4px;font-size:11px;color:#fff;text-transform:uppercase;font-weight:500}.json-debug-modal__hint{margin-left:auto;font-size:11px;color:var(--text-secondary);opacity:.7}.json-debug-modal__close-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:8px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);font-size:18px;line-height:1;cursor:pointer;transition:background-color .15s,color .15s}.json-debug-modal__close-btn:hover{background-color:var(--button-hover);color:var(--text-primary)}.json-debug-modal__content{flex:1;overflow:auto}.json-debug-modal__code{margin:0;padding:12px 0;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.5;-moz-tab-size:2;tab-size:2;background:transparent}.json-debug-modal__line{display:flex;padding:0 16px}.json-debug-modal__line:hover{background-color:var(--button-hover)}.json-debug-modal__line-number{width:40px;padding-right:12px;text-align:right;color:var(--text-secondary);-webkit-user-select:none;user-select:none;flex-shrink:0;opacity:.5}.json-debug-modal__line-content{flex:1;white-space:pre;color:var(--text-primary)}.json-debug-modal__empty{padding:40px;text-align:center;color:var(--text-secondary);font-size:14px}.json-debug-modal__textarea{width:100%;height:100%;min-height:300px;padding:12px 16px;border:none;outline:none;resize:none;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:13px;line-height:1.5;-moz-tab-size:2;tab-size:2;background:transparent;color:var(--text-primary)}.json-debug-modal__textarea:focus{outline:none}.json-debug-modal__error{padding:8px 16px;background-color:#ef444426;border-top:1px solid var(--border-color);color:var(--color-red, #ef4444);font-size:12px;font-family:JetBrains Mono,Fira Code,Consolas,monospace}.json-debug-modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border-color);background-color:var(--bg-secondary);flex-shrink:0}.json-debug-modal__btn{padding:6px 16px;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s}.json-debug-modal__btn--cancel{background-color:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.json-debug-modal__btn--cancel:hover{background-color:var(--button-hover)}.json-debug-modal__btn--save{background-color:var(--color-blue);border:1px solid var(--color-blue);color:#fff}.json-debug-modal__btn--save:hover{background-color:var(--color-blue-hover, #2563eb)}.json-debug-modal--edit .json-debug-modal__content{display:flex;flex-direction:column}.json-debug-modal .token.punctuation{color:var(--syntax-punctuation)}.json-debug-modal .token.property{color:var(--syntax-property)}.json-debug-modal .token.string{color:var(--syntax-string)}.json-debug-modal .token.number,.json-debug-modal .token.boolean{color:var(--syntax-keyword)}.json-debug-modal .token.null{color:var(--syntax-comment)}.code-editor{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:6px;overflow:hidden;background:var(--bg-secondary)}.code-editor--maximized{position:absolute;top:0;left:0;right:0;bottom:0;z-index:100;border-radius:0;border:none;height:100%}.code-editor__toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.code-editor__actions{display:flex;align-items:center;gap:8px}.code-editor__status{font-size:12px;color:var(--text-secondary)}.code-editor__dirty-indicator{color:var(--warning-color, #f0ad4e);font-weight:500}.code-editor__maximize-btn{padding:4px 8px;font-size:14px;color:var(--text-secondary);background:transparent;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .15s ease}.code-editor__maximize-btn:hover{color:var(--text-primary);border-color:var(--border-active);background:var(--bg-secondary)}.code-editor__save-btn{padding:4px 12px;font-size:12px;font-weight:500;color:var(--text-primary);background:var(--accent-color);border:none;border-radius:4px;cursor:pointer;transition:opacity .15s ease}.code-editor__save-btn:hover:not(:disabled){opacity:.9}.code-editor__save-btn:disabled{opacity:.5;cursor:not-allowed}.code-editor__content{flex:1}.code-editor__loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:13px}.flow-mode-toggle{display:flex;align-items:center;gap:16px;padding:12px 0;margin-bottom:8px;border-bottom:1px solid var(--border-color)}.flow-mode-toggle__label{font-size:13px;font-weight:500;color:var(--text-secondary)}.flow-mode-toggle__options{display:flex;gap:8px}.flow-mode-toggle__option{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .15s ease}.flow-mode-toggle__option:hover{border-color:var(--border-active)}.flow-mode-toggle__option--active{color:var(--text-primary);background:var(--accent-color);border-color:var(--accent-color)}.flow-mode-toggle__option input[type=radio]{display:none}.manual-flow-section{margin-top:16px}.manual-flow-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.manual-flow-section__title{font-size:14px;font-weight:500;color:var(--text-primary)}.manual-flow-section__hint{font-size:11px;color:var(--text-tertiary)}.action-item{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:13px;background:var(--bg-secondary);border-radius:4px}.action-item__name{font-weight:500;color:var(--text-primary)}.action-item__arrow{color:var(--text-tertiary)}.action-item__target{color:var(--accent-color)}.action-item__target:hover{text-decoration:underline}.editor-tabs{display:flex;flex-direction:column;height:100%}.editor-tabs__header{display:flex;border-bottom:1px solid var(--border-color);background-color:var(--bg-primary);flex-shrink:0}.editor-tabs__tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:none;border-bottom:2px solid transparent;background:none;font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.editor-tabs__tab:hover{background-color:var(--button-hover);color:var(--text-primary)}.editor-tabs__tab--active{color:var(--text-primary);border-bottom-color:var(--color-blue)}.editor-tabs__tab-label{white-space:nowrap}.editor-tabs__tab-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;font-size:10px;font-weight:600;color:var(--color-blue);background-color:var(--color-blue-bg);border-radius:10px}.editor-tabs__content{flex:1;overflow-y:auto;padding:16px 24px 64px;display:flex;flex-direction:column;gap:5px}.impl-mode-switch{display:inline-flex;border:1px solid var(--border-color);border-radius:6px;overflow:hidden;background:var(--bg-secondary)}.impl-mode-switch__option{display:flex;align-items:center;gap:6px;padding:6px 14px;border:none;background:none;font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.impl-mode-switch__option:first-child{border-right:1px solid var(--border-color)}.impl-mode-switch__option:hover:not(.impl-mode-switch__option--active){background-color:var(--button-hover);color:var(--text-primary)}.impl-mode-switch__option--active{color:var(--text-primary);background-color:var(--color-blue);color:var(--color-white)}.impl-mode-switch__label{white-space:nowrap}.impl-mode-switch__indicator{width:6px;height:6px;border-radius:50%;background-color:var(--color-amber);flex-shrink:0}.impl-tab-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--border-color)}.impl-tab-header__title{font-size:14px;font-weight:500;color:var(--text-primary)}.search-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0006;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;z-index:1000}.search-modal{background-color:var(--background);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 32px var(--shadow);width:100%;max-width:500px;overflow:hidden}.search-modal__input{width:100%;padding:14px 16px;border:none;border-bottom:1px solid var(--border-color);background-color:var(--background);color:var(--text-primary);font-size:14px;outline:none}.search-modal__input::placeholder{color:var(--text-secondary)}.search-modal__loading{display:flex;align-items:center;gap:8px;padding:12px 16px;color:var(--text-secondary);font-size:13px}.search-modal__spinner{width:14px;height:14px;border:2px solid var(--border-color);border-top-color:var(--color-blue);border-radius:50%;animation:search-modal-spin .6s linear infinite}.search-modal__error{padding:12px 16px;color:var(--color-red);font-size:13px}.search-modal__results{max-height:400px;overflow-y:auto;padding:4px}.search-modal__item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:4px;cursor:pointer;transition:background-color .15s}.search-modal__item:hover,.search-modal__item--selected{background-color:var(--button-hover)}.search-modal__item-name{color:var(--text-primary);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-modal__empty{padding:16px;color:var(--text-secondary);font-size:13px;text-align:center}@keyframes search-modal-spin{to{transform:rotate(360deg)}}.admin-invites{max-width:1200px;margin:0 auto}.admin-invites__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.admin-invites__title{margin:0;font-size:24px;font-weight:600;color:var(--text-primary)}.admin-invites__filters{display:flex;gap:8px;margin-bottom:20px}.admin-invites__filter{padding:8px 16px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s ease}.admin-invites__filter:hover{background:var(--bg-hover);color:var(--text-primary)}.admin-invites__filter--active{background:var(--accent-color, #007aff);color:#fff;border-color:var(--accent-color, #007aff)}.admin-invites__filter--active:hover{background:var(--accent-color-hover, #0056b3);color:#fff}.admin-invites__error{background:var(--error-bg, rgba(255, 59, 48, .1));color:var(--error-text, #ff3b30);padding:12px 16px;border-radius:6px;margin-bottom:16px;font-size:14px}.admin-invites__loading,.admin-invites__empty{text-align:center;padding:48px 24px;color:var(--text-secondary);font-size:14px}.admin-invites__table-container{overflow-x:auto;border-radius:8px;border:1px solid var(--border-color)}.admin-invites__table{width:100%;border-collapse:collapse}.admin-invites__table th,.admin-invites__table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border-color)}.admin-invites__table th{background:var(--bg-secondary);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.admin-invites__table td{font-size:14px;color:var(--text-primary)}.admin-invites__table tr:last-child td{border-bottom:none}.admin-invites__table tr:hover td{background:var(--bg-hover)}.invite-row__code{font-family:var(--font-mono, monospace);font-size:13px}.invite-row__code code{background:var(--bg-secondary);padding:2px 6px;border-radius:4px}.invite-row--highlighted td{animation:invite-row-highlight 2s ease-out}.invite-row__status{display:inline-block;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.invite-row__status--unused{background:var(--success-bg, rgba(52, 199, 89, .15));color:var(--success-text, #34c759)}.invite-row__status--used{background:var(--muted-bg, rgba(142, 142, 147, .15));color:var(--text-secondary)}.invite-row__date{white-space:nowrap;color:var(--text-secondary);font-size:13px}.invite-row__actions{display:flex;gap:8px;white-space:nowrap}.create-invite-modal{max-width:480px;width:100%}.create-invite-modal__form{display:flex;flex-direction:column;gap:16px}.create-invite-modal__error{background:var(--error-bg, rgba(255, 59, 48, .1));color:var(--error-text, #ff3b30);padding:12px 16px;border-radius:6px;font-size:14px}.create-invite-modal__actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}@keyframes invite-row-highlight{0%{background:var(--accent-color, #007aff);color:#fff}to{background:transparent;color:inherit}}.admin-layout{min-height:100vh;background-color:var(--bg-secondary);display:flex;flex-direction:column}.admin-layout__header{height:60px;background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 24px;flex-shrink:0;gap:24px}.admin-layout__brand-area{display:flex;align-items:center;gap:12px}.admin-layout__brand{font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px;text-decoration:none;transition:opacity .2s}.admin-layout__brand:hover{opacity:.8}.admin-layout__badge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:4px;background-color:var(--accent-color, #007aff);color:#fff}.admin-layout__nav{display:flex;align-items:center;gap:4px;flex:1;justify-content:center}.admin-layout__nav-link{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:all .2s}.admin-layout__nav-link:hover{color:var(--text-primary);background-color:var(--bg-hover)}.admin-layout__nav-link--active{color:var(--text-primary);background-color:var(--bg-secondary)}.admin-layout__controls{display:flex;align-items:center;gap:16px}.admin-layout__main{flex:1;padding:32px 32px 72px;overflow-y:auto}.admin-dashboard{max-width:1200px;margin:0 auto}.admin-dashboard__title{margin:0 0 32px;font-size:28px;font-weight:600;color:var(--text-primary)}.admin-dashboard__cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.admin-dashboard__card{display:flex;align-items:flex-start;gap:16px;padding:24px;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;text-decoration:none;transition:all .2s}.admin-dashboard__card:hover{border-color:var(--accent-color, #007aff);box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.admin-dashboard__card-icon{font-size:32px;flex-shrink:0}.admin-dashboard__card-content{flex:1}.admin-dashboard__card-content h2{margin:0 0 8px;font-size:18px;font-weight:600;color:var(--text-primary)}.admin-dashboard__card-content p{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5}.access-list{display:flex;flex-direction:column;width:100%;font-size:13px}.access-list__empty{padding:16px;text-align:center;color:var(--text-secondary);font-style:italic}.access-list__group{display:flex;flex-direction:column}.access-list__group-header{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s}.access-list__group-header:hover{background-color:var(--bg-secondary)}.access-list__group-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--text-secondary);flex-shrink:0}.access-list__group-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text-primary)}.access-list__group-children{display:flex;flex-direction:column}.access-list__item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:4px;transition:all .2s;cursor:pointer;-webkit-user-select:none;user-select:none}.access-list__item:hover{background-color:var(--bg-secondary)}.access-list__item--selected{background-color:#3b82f626}.access-list__item--selected:hover{background-color:#3b82f633}.access-list__item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text-primary)}.access-list__item-status{flex-shrink:0;width:8px;height:8px;border-radius:50%}.access-list__item-status--active{background-color:var(--success-color, #22c55e)}.access-list__item-status--inactive{background-color:var(--text-secondary);opacity:.3}.access-rule-editor{display:flex;flex-direction:column;gap:20px;padding:20px}.access-rule-editor__context{display:flex;flex-direction:column;gap:8px;padding:12px 16px;background-color:var(--bg-secondary);border-radius:6px}.access-rule-editor__context-row{display:flex;align-items:center;gap:8px}.access-rule-editor__context-name{font-weight:600;font-size:15px;color:var(--text-primary)}.access-rule-editor__section{display:flex;flex-direction:column;gap:8px}.access-rule-editor__section-title{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.access-rule-editor__section-title--collapsible{display:flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;user-select:none}.access-rule-editor__section-title--collapsible:hover{color:var(--text-primary)}.access-rule-editor__section-chevron{display:flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;transition:transform .15s}.access-rule-editor__fields{display:flex;flex-direction:column;gap:4px}.access-rule-editor__field-row{display:flex;align-items:center;gap:6px;padding:3px 8px;border-radius:4px}.access-rule-editor__field-row:hover{background-color:var(--bg-secondary)}.access-rule-editor__field-name{font-family:monospace;font-size:12px;color:var(--text-secondary)}.access-rule-editor__field-colon{font-size:12px;color:var(--text-secondary);opacity:.5}.access-rule-editor__field-type{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-primary)}.access-rule-editor__field-functor{display:flex;align-items:center;color:var(--text-secondary);opacity:.7}.access-rule-editor__injection-row{display:flex;align-items:center;gap:8px}.access-rule-editor__injection-lvalue{width:140px;flex-shrink:0}.access-rule-editor__injection-lvalue input{width:100%;padding:6px 8px;font-family:monospace;font-size:13px;border:1px solid var(--border-color);border-radius:4px;background-color:var(--background);color:var(--text-primary);outline:none}.access-rule-editor__injection-lvalue input:focus{border-color:#3b82f680;box-shadow:0 0 0 2px #3b82f61a}.access-rule-editor__injection-arrow{flex-shrink:0;color:var(--text-secondary);font-family:monospace;font-size:13px}.access-rule-editor__injection-rvalue{flex:1;min-width:0}.access-rule-editor__injection-remove{display:flex;align-items:center;justify-content:center;padding:4px;background:none;border:none;cursor:pointer;opacity:.4;border-radius:4px;color:inherit;transition:opacity .2s,background-color .2s;flex-shrink:0}.access-rule-editor__injection-remove:hover{opacity:1;background:var(--hover-bg);color:var(--danger-color, #ef4444)}.access-rule-editor__add-injection{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:13px;color:var(--text-secondary);background:none;border:1px dashed var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s;align-self:flex-start}.access-rule-editor__add-injection:hover{color:var(--text-primary);border-color:var(--text-secondary);background-color:var(--bg-secondary)}.access-rule-editor__remove-access{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;color:var(--danger-color, #ef4444);background:none;border:1px solid var(--danger-color, #ef4444);border-radius:4px;cursor:pointer;transition:all .2s;align-self:flex-start}.access-rule-editor__remove-access:hover{background-color:var(--danger-color, #ef4444);color:#fff}
