.branch-indicator{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:color-mix(in srgb,var(--branch-color) 15%,transparent);border:1px solid color-mix(in srgb,var(--branch-color) 40%,transparent);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;color:var(--branch-color)}.branch-indicator__icon{display:flex;align-items:center;color:var(--branch-color)}.branch-indicator__name{font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-indicator__commit{color:var(--color-text-secondary);opacity:.7}.branch-indicator__commit:before{content:"@";margin-right:1px}.app-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-header{height:var(--header-height);background:var(--color-bg);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-lg);position:sticky;top:0;z-index:100}.app-header__left{display:flex;align-items:center;gap:var(--spacing-md)}.app-header__logo{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);text-decoration:none}.app-header__logo:hover{color:var(--color-primary)}.app-main{flex:1;display:flex;flex-direction:column;min-height:0}.app-header__user{display:flex;align-items:center;gap:var(--spacing-md)}.app-header__user-name{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.app-header__logout{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all .15s ease}.app-header__logout:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.breadcrumb{padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-light)}.breadcrumb__list{display:flex;align-items:center;list-style:none;padding:0;margin:0;font-size:var(--font-size-sm)}.breadcrumb__item{display:flex;align-items:center}.breadcrumb__separator{margin:0 var(--spacing-sm);color:var(--color-text-muted)}.breadcrumb__link{color:var(--color-primary);text-decoration:none}.breadcrumb__link:hover{text-decoration:underline}.breadcrumb__current{color:var(--color-text);font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);border:1px solid transparent;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-sm)}.btn--md{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base)}.btn--lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg)}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--secondary{background:var(--color-bg);border-color:var(--color-border);color:var(--color-text)}.btn--secondary:hover:not(:disabled){background:var(--color-bg-secondary)}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn--ghost{background:transparent;color:var(--color-text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--color-bg-secondary);color:var(--color-text)}.modal{padding:0;border:none;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:500px;width:calc(100% - 2rem);margin:auto;top:0;right:0;bottom:0;left:0}.modal--wide{max-width:680px}.modal::backdrop{background:#00000080}.modal__content{display:flex;flex-direction:column}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border-light)}.modal__title{font-size:var(--font-size-lg);font-weight:600;margin:0}.modal__close{background:none;border:none;font-size:var(--font-size-2xl);color:var(--color-text-secondary);cursor:pointer;padding:0;line-height:1}.modal__close:hover{color:var(--color-text)}.modal__body{padding:var(--spacing-lg)}.confirm-dialog__message{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.confirm-dialog--danger{text-align:center}.confirm-dialog--danger .confirm-dialog__message{color:var(--color-text);font-weight:600}.confirm-dialog__icon{display:block;margin:0 auto var(--spacing-sm);color:var(--color-error)}.confirm-dialog__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.project-list{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.project-list__loading,.project-list__error,.project-list__empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.project-list__error{color:var(--color-danger)}.project-card{display:flex;flex-direction:column;padding:var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.project-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.project-card__content{flex:1;margin-bottom:var(--spacing-md)}.project-card__name{font-size:var(--font-size-lg);font-weight:600;margin:0}.project-card__namespace{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 var(--spacing-xs)}.project-card__description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card__actions{display:flex;gap:var(--spacing-xs);border-top:1px solid var(--color-border-light);padding-top:var(--spacing-sm);margin-top:auto}.input-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.input-field__label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}.input-field__required{color:var(--color-danger);margin-left:2px}.input-field__input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-bg);transition:border-color .15s ease}.input-field__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.input-field__input::placeholder{color:var(--color-text-muted)}.input-field__textarea{resize:vertical;min-height:80px}.input-field--error .input-field__input{border-color:var(--color-danger)}.input-field__error{font-size:var(--font-size-sm);color:var(--color-danger)}.project-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.project-form__error{padding:var(--spacing-sm) var(--spacing-md);background:#fef2f2;border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--font-size-sm)}.project-form__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.projects-page{flex:1;display:flex;flex-direction:column}.projects-page__content{flex:1;padding:var(--spacing-lg);max-width:1200px;width:100%;margin:0 auto}.projects-page__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.projects-page__title{font-size:var(--font-size-2xl);font-weight:600;margin:0}.project-pane{display:flex;flex-direction:column;width:280px;min-width:280px;height:100%;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);overflow-y:auto}.project-pane__header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.project-pane__back-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted);text-decoration:none}.project-pane__back-link:before{content:"←"}.project-pane__back-link:hover{color:var(--color-primary)}.project-pane__project-title{margin:0;font-size:var(--font-size-md);font-weight:600}.project-pane__header-row{display:flex;align-items:center;justify-content:space-between;margin-top:var(--spacing-xs)}.project-pane__publish-section{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.project-pane__publish-group{display:flex;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color .15s ease}.project-pane__publish-group:hover{border-color:var(--color-primary)}.project-pane__publish-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border:none;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);cursor:pointer;text-align:center;transition:background-color .15s ease,color .15s ease}.project-pane__publish-btn:hover{background:var(--color-bg-secondary);color:var(--color-primary)}.project-pane__versions-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border:none;border-left:1px solid var(--color-border);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);cursor:pointer;text-align:center;transition:background-color .15s ease,color .15s ease}.project-pane__versions-btn:hover{background:var(--color-bg-secondary);color:var(--color-primary)}.project-pane__feedback-btn{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);text-align:center;text-decoration:none;cursor:pointer;transition:border-color .15s ease,color .15s ease}.project-pane__feedback-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.project-pane__feedback-count{background:var(--color-danger);color:#fff;font-size:10px;min-width:18px;height:18px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-weight:600;padding:0 5px;margin-left:var(--spacing-sm)}.project-pane__content{flex:1;overflow-y:auto;padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-md)}.project-pane__section{display:flex;flex-direction:column;gap:var(--spacing-xs)}.project-pane__section-title{margin:0;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.project-pane__section-actions{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.project-pane__section-actions button{flex:1}.project-pane__list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.project-pane__item{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);text-align:left;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text);transition:background-color .15s ease}.project-pane__item:hover{background:var(--color-bg-hover)}.project-pane__item--selected{background:var(--color-primary-light);color:var(--color-primary);font-weight:500}.project-pane__item--selected:hover{background:var(--color-primary-light)}.project-pane__empty{padding:var(--spacing-md);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.project-pane__add-button{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-xs);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:background-color .15s ease,color .15s ease}.project-pane__add-button:hover{background:var(--color-bg-hover);color:var(--color-text)}.tree-node__row{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:background-color .1s ease}.tree-node__row:hover{background:var(--color-bg-secondary)}.tree-node__row--selected,.tree-node__row--selected:hover{background:var(--color-primary-light)}.tree-node__toggle{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-sm);flex-shrink:0}.tree-node__toggle:hover{color:var(--color-text)}.tree-node__spacer{width:20px;flex-shrink:0}.tree-node__label{flex:1;display:flex;align-items:center;gap:var(--spacing-xs);background:none;border:none;cursor:pointer;text-align:left;font-size:var(--font-size-base);color:var(--color-text);padding:2px 0;min-width:0}.tree-node__label:hover{color:var(--color-primary)}.tree-node__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-node__multi-parent{flex-shrink:0;font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:help}.tree-node__multi-parent:hover{color:var(--color-primary)}.tree-node__drag-handle{width:16px;height:20px;display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--color-text-muted);font-size:10px;letter-spacing:-1px;flex-shrink:0;opacity:0;transition:opacity .15s ease}.tree-node__row:hover .tree-node__drag-handle{opacity:1}.tree-node__drag-handle:hover{color:var(--color-text-secondary)}.tree-node__drag-handle:active{cursor:grabbing}.tree-node__row--dragging{opacity:.5;background:var(--color-bg-tertiary)}.tree-node__row--drop-target{background:var(--color-primary-light);outline:2px dashed var(--color-primary);outline-offset:-2px}.tree-node__row--invalid-drop{opacity:.6;cursor:not-allowed}.tree-node__add-child{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-base);flex-shrink:0;opacity:0;transition:opacity .15s ease,color .15s ease;border-radius:var(--radius-sm)}.tree-node__row:hover .tree-node__add-child{opacity:1}.tree-node__add-child:hover{color:var(--color-primary);background:var(--color-bg-tertiary)}.tree-node__row--match,.tree-node__row--match:hover{background:var(--color-warning-light)}.tree-node__row--dimmed{opacity:.4}.tree-node__row--dimmed .tree-node__label{color:var(--color-text-muted)}.tree-view{flex:1;padding:var(--spacing-sm);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:auto}.tree-view__loading,.tree-view__empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary)}.tree-view__root-drop{margin-top:var(--spacing-md);padding:var(--spacing-md);border:2px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-sm);transition:all .15s ease}.tree-view__root-drop--over{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary)}.tree-view__add-button{display:block;width:100%;margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:none;background:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:left;cursor:pointer;border-radius:var(--radius-sm);transition:background-color .15s ease,color .15s ease}.tree-view__add-button:hover{background:var(--color-bg-secondary);color:var(--color-text-primary)}.tree-view__empty .tree-view__add-button{margin-top:var(--spacing-md);text-align:center}.tree-controls{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg) 0;margin-bottom:var(--spacing-sm)}.tree-controls__search{display:flex;position:relative}.tree-controls__search-input{flex:1;padding:var(--spacing-xs) var(--spacing-sm);padding-right:var(--spacing-xl);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.tree-controls__search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.tree-controls__clear-btn{position:absolute;right:var(--spacing-xs);top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:var(--spacing-xs);font-size:var(--font-size-md);color:var(--color-text-muted);line-height:1}.tree-controls__clear-btn:hover{color:var(--color-text)}.tree-controls__hide-option{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer}.tree-controls__hide-option input{cursor:pointer}.tree-controls__buttons{display:flex;gap:var(--spacing-xs)}.history-panel{padding:var(--spacing-lg)}.history-panel__loading,.history-panel__error,.history-panel__empty{color:var(--color-text-muted);text-align:center;padding:var(--spacing-xl) 0}.history-panel__error{color:var(--color-error)}.history-panel__list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.history-panel__item{padding:var(--spacing-md);background:var(--color-bg-primary);border:1px solid var(--color-border-light);border-radius:var(--border-radius-md)}.history-panel__item-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.history-panel__action{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:var(--border-radius-sm);background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.history-panel__action--create{background:var(--color-success-bg, #dcfce7);color:var(--color-success, #16a34a)}.history-panel__action--update{background:var(--color-info-bg, #dbeafe);color:var(--color-info, #2563eb)}.history-panel__action--delete{background:var(--color-error-bg, #fee2e2);color:var(--color-error, #dc2626)}.history-panel__action--publish{background:var(--color-primary-bg, #e0e7ff);color:var(--color-primary, #4f46e5)}.history-panel__entity-type{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.history-panel__description{font-size:var(--font-size-sm);color:var(--color-text);margin-bottom:var(--spacing-xs)}.history-panel__meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-muted)}.history-panel__user{font-weight:500}.history-panel__details{margin-top:var(--spacing-sm);font-size:var(--font-size-sm)}.history-panel__details summary{cursor:pointer;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.history-panel__details summary:hover{color:var(--color-text)}.history-panel__diff{margin-top:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.history-panel__before,.history-panel__after{display:flex;flex-direction:column;gap:var(--spacing-xs)}.history-panel__diff-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;color:var(--color-text-muted)}.history-panel__diff pre{margin:0;padding:var(--spacing-sm);background:var(--color-bg-tertiary);border-radius:var(--border-radius-sm);overflow-x:auto;font-size:var(--font-size-xs);line-height:1.4;white-space:pre-wrap;word-break:break-word}.scheme-detail{padding:var(--spacing-md) var(--spacing-lg)}.scheme-detail__actions{display:flex;gap:var(--spacing-xs);justify-content:flex-end;padding-top:var(--spacing-md);margin-top:var(--spacing-sm);border-top:1px solid var(--color-border-light)}.scheme-detail__content{display:flex;flex-direction:column;gap:var(--spacing-md);position:relative}.scheme-detail__actions-bottom{position:absolute;top:0;right:0}.scheme-detail__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.scheme-detail__label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.scheme-detail__value{font-size:var(--font-size-sm);color:var(--color-text);word-break:break-word}.scheme-detail__meta{display:flex;align-items:center;gap:var(--spacing-sm);padding-top:var(--spacing-md);margin-top:var(--spacing-sm);border-top:1px solid var(--color-border-light);font-size:var(--font-size-xs);color:var(--color-text-muted)}.scheme-detail__meta-item{white-space:nowrap}.scheme-detail__meta-separator{color:var(--color-border)}.scheme-detail__error{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-danger-light);border:1px solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-danger);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.tree-pane{display:flex;flex-direction:column;height:100%;min-height:0}.tree-pane__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.tree-pane__scheme-info{flex:1;min-width:0}.tree-pane__title{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);display:flex;align-items:baseline;gap:var(--spacing-sm)}.tree-pane__version{font-size:var(--font-size-sm);font-weight:400;color:var(--color-text-muted);font-style:italic}.tree-pane__description{margin:var(--spacing-xs) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.tree-pane__actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.tree-pane__scheme-detail{border-bottom:1px solid var(--color-border);max-height:50vh;overflow-y:auto}.tree-pane__content{flex:1;min-height:0;overflow:auto;padding:var(--spacing-md)}.tree-pane__loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted)}.tree-pane__footer{flex-shrink:0;border-top:1px solid var(--color-border)}.tree-pane__section{border-bottom:1px solid var(--color-border)}.tree-pane__section:last-child{border-bottom:none}.tree-pane__section-header{display:flex;align-items:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:none;cursor:pointer;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);text-align:left;transition:background-color .15s ease,color .15s ease}.tree-pane__section-header:hover{background:var(--color-bg-tertiary);color:var(--color-text)}.tree-pane__section-header--expanded{color:var(--color-text)}.tree-pane__section-arrow{font-size:var(--font-size-xs);width:12px}.tree-pane__section-content{display:flex;flex-direction:column;background:var(--color-bg-primary)}.tree-pane__resize-handle{flex-shrink:0;height:8px;cursor:ns-resize;display:flex;align-items:center;justify-content:center;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border)}.tree-pane__resize-handle:hover{background:var(--color-bg-tertiary)}.tree-pane__resize-handle:after{content:"";width:32px;height:3px;border-radius:2px;background:var(--color-border)}.tree-pane__section-scroll{flex:1;min-height:0;overflow:auto}.alt-labels-editor{display:flex;flex-direction:column;gap:var(--spacing-sm)}.alt-labels-editor__list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.alt-labels-editor__chip{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.alt-labels-editor__label{color:var(--color-text)}.alt-labels-editor__remove{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-lg);line-height:1;padding:0}.alt-labels-editor__remove:hover{color:var(--color-danger)}.alt-labels-editor__empty{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.alt-labels-editor__add-form{display:flex;gap:var(--spacing-xs);align-items:center}.alt-labels-editor__input{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg)}.alt-labels-editor__input:focus{outline:none;border-color:var(--color-primary)}.broader-selector{display:flex;flex-direction:column;gap:var(--spacing-sm)}.broader-selector__list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.broader-selector__item{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.broader-selector__label{color:var(--color-text)}.broader-selector__remove{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-lg);line-height:1;padding:0}.broader-selector__remove:hover{color:var(--color-danger)}.broader-selector__empty{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.broader-selector__add-form{display:flex;gap:var(--spacing-xs);align-items:center}.broader-selector__select{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg)}.broader-selector__select:focus{outline:none;border-color:var(--color-primary)}.comments-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.comments-section__toggle{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) 0;background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500}.comments-section__toggle:hover{color:var(--color-text)}.comments-section__arrow{font-size:.6em;transition:transform .2s ease}.comments-section__arrow--expanded{transform:rotate(90deg)}.comments-section__toggle-text{color:inherit}.comments-section__content{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-left:var(--spacing-md);border-left:2px solid var(--color-border)}.comments-section__error{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-danger-bg);color:var(--color-danger);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.comments-section__filter{display:flex;gap:var(--spacing-xs)}.comments-section__filter-option{background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer}.comments-section__filter-option:hover{color:var(--color-text);border-color:var(--color-text-secondary)}.comments-section__filter-option--active{background:var(--color-primary);color:var(--color-primary-text, #fff);border-color:var(--color-primary)}.comments-section__filter-option--active:hover{color:var(--color-primary-text, #fff)}.comments-section__list,.comments-section__thread{display:flex;flex-direction:column;gap:var(--spacing-sm)}.comments-section__thread--resolved>.comments-section__comment,.comments-section__thread--resolved>.comments-section__replies{opacity:.5}.comments-section__comment{padding:var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-md)}.comments-section__replies{margin-left:2rem;padding-left:1rem;border-left:2px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-sm)}.comments-section__reply{background:var(--color-bg);border-left:3px solid var(--color-primary-subtle)}.comments-section__comment-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.comments-section__author{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}.comments-section__time{font-size:var(--font-size-xs);color:var(--color-text-muted)}.comments-section__delete{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-lg);line-height:1;padding:0}.comments-section__delete:hover{color:var(--color-danger)}.comments-section__delete:disabled{cursor:not-allowed;opacity:.5}.comments-section__comment-content{margin:0;font-size:var(--font-size-sm);color:var(--color-text);white-space:pre-wrap;word-break:break-word}.comments-section__empty{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.comments-section__form{display:flex;flex-direction:column;gap:var(--spacing-xs)}.comments-section__input{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-family:inherit;background:var(--color-bg);color:var(--color-text);resize:vertical}.comments-section__input:focus{outline:none;border-color:var(--color-primary)}.comments-section__input:disabled{background:var(--color-bg-secondary);cursor:not-allowed}.comments-section__form{margin-top:var(--spacing-md)}.comments-section__form button{align-self:flex-end}.comments-section__reply-form{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-xs)}.comments-section__reply-indicator{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:500;margin-bottom:var(--spacing-xs)}.comments-section__thread-actions{display:flex;align-items:center;gap:var(--spacing-xs)}.comments-section__resolved-info{font-size:var(--font-size-xs);color:var(--color-text-muted)}.comments-section__reply-actions{display:flex;gap:var(--spacing-xs);align-self:flex-end}.related-selector{display:flex;flex-direction:column;gap:var(--spacing-sm)}.related-selector__list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.related-selector__item{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-tertiary);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.related-selector__label{color:var(--color-text)}.related-selector__remove{background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:var(--font-size-lg);line-height:1;padding:0}.related-selector__remove:hover{color:var(--color-danger)}.related-selector__empty{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.related-selector__add-form{display:flex;gap:var(--spacing-xs);align-items:center}.related-selector__select{flex:1;padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-bg)}.related-selector__select:focus{outline:none;border-color:var(--color-primary)}.concept-detail{padding:var(--spacing-lg)}.concept-detail__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.concept-detail__title{font-size:var(--font-size-xl);font-weight:600;margin:0;word-break:break-word}.concept-detail__actions{display:flex;gap:var(--spacing-xs);flex-shrink:0}.concept-detail__content{display:flex;flex-direction:column;gap:var(--spacing-md)}.concept-detail__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.concept-detail__label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.concept-detail__value{margin:0;color:var(--color-text)}.concept-detail__value a{color:var(--color-primary);text-decoration:none;word-break:break-all}.concept-detail__value a:hover{text-decoration:underline}.concept-detail__meta{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light)}.concept-detail--editing{background-color:var(--color-surface-secondary, #f9fafb)}.concept-detail--editing .concept-detail__header{flex-direction:column;align-items:stretch}.concept-detail--editing .concept-detail__actions{justify-content:flex-end;padding-top:var(--spacing-sm);border-top:1px solid var(--color-border-light)}.concept-detail__error{padding:var(--spacing-sm) var(--spacing-md);margin:0 var(--spacing-lg) var(--spacing-md);background-color:var(--color-error-bg, #fee);color:var(--color-error, #c00);border:1px solid var(--color-error-border, #fcc);border-radius:var(--border-radius-md, 4px);font-size:var(--font-size-sm)}.concept-pane{display:flex;flex-direction:column;height:100%;min-height:0;overflow:auto}.concept-pane__empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted);font-size:var(--font-size-sm)}.workspace-detail{display:flex;flex-direction:column;gap:1rem}.workspace-detail__header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.workspace-detail__title{margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}.workspace-detail__header-actions{display:flex;gap:.25rem;align-items:center}.workspace-detail__content{display:flex;flex-direction:column;gap:.75rem}.workspace-detail__field{display:flex;flex-direction:column;gap:.25rem}.workspace-detail__label{font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.025em}.workspace-detail__value{font-size:.875rem;color:var(--color-text)}.workspace-detail__value--mono{font-family:var(--font-mono);font-size:.8125rem}.workspace-detail__meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding-top:.5rem;border-top:1px solid var(--color-border);font-size:.75rem;color:var(--color-text-muted)}.workspace-detail__actions{display:flex;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.workspace-detail__error{padding:.5rem;background:var(--color-error-bg);color:var(--color-error);border-radius:4px;font-size:.875rem}.workspace-detail__missing{padding:.5rem .625rem;font-size:.8125rem;color:var(--color-text);background:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:4px}.workspace-detail__hint{font-size:.75rem;color:var(--color-text-muted)}.class-detail-pane{display:flex;flex-direction:column;height:100%;background:var(--color-bg)}.class-detail-pane__header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.class-detail-pane__title{margin:0;font-size:var(--font-size-lg);font-weight:600}.class-detail-pane__description{margin:var(--spacing-xs) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.class-detail-pane__content{flex:1;overflow-y:auto;padding:var(--spacing-md)}.class-detail-pane__section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.class-detail-pane__section+.class-detail-pane__section{margin-top:var(--spacing-lg)}.class-detail-pane__section-header{display:flex;align-items:center;justify-content:space-between}.class-detail-pane__section-title{margin:0;font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.class-detail-pane__empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm)}.class-detail-pane__property-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.class-detail-pane__property{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);transition:background-color .15s ease}.class-detail-pane__property:hover{background:var(--color-bg-hover)}.class-detail-pane__property--selected,.class-detail-pane__property--selected:hover{background:var(--color-primary-light)}.class-detail-pane__property-name{flex:1;text-align:left;background:none;border:none;padding:0;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);cursor:pointer}.class-detail-pane__property:not(.class-detail-pane__property--selected) .class-detail-pane__property-name:hover{color:var(--color-primary)}.class-detail-pane__required{color:var(--color-danger);margin-left:var(--spacing-xs)}.class-detail-pane__property-range{font-size:var(--font-size-sm);color:var(--color-text-muted)}.class-detail-pane__scheme-link{background:none;border:none;padding:0;font-size:inherit;color:var(--color-primary);cursor:pointer;text-decoration:underline}.class-detail-pane__scheme-link:hover{color:var(--color-primary-dark)}.class-detail-pane__datatype{font-family:var(--font-mono);font-size:var(--font-size-xs)}.class-detail-pane__footer{border-top:1px solid var(--color-border)}.class-detail-pane__history-toggle{display:flex;align-items:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border:none;cursor:pointer;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.class-detail-pane__history-toggle:hover{background:var(--color-bg-hover)}.class-detail-pane__section-arrow{font-size:var(--font-size-xs);width:1em}.class-detail-pane__section-content{position:relative;display:flex;flex-direction:column}.class-detail-pane__resize-handle{height:4px;cursor:ns-resize;background:var(--color-border);flex-shrink:0}.class-detail-pane__resize-handle:hover{background:var(--color-primary)}.class-detail-pane__section-scroll{flex:1;overflow-y:auto}.property-detail__field--half{flex:1}.property-detail__row{display:flex;gap:1rem}.property-detail__select{padding:.5rem;font-size:.875rem;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg);color:var(--color-text)}.property-detail__select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.property-detail__radio-group{display:flex;gap:1rem}.property-detail__radio{display:flex;align-items:center;gap:.375rem;font-size:.875rem;cursor:pointer}.property-detail__radio input{margin:0}.property-detail__checkbox{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer}.property-detail__checkbox input{margin:0}.property-detail__fieldset{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.property-detail__legend{font-size:.75rem;font-weight:500;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.025em;padding:0}.property-detail__scheme-link{background:none;border:none;padding:0;font-size:inherit;color:var(--color-primary);cursor:pointer;text-decoration:underline}.property-detail__scheme-link:hover{color:var(--color-primary-dark)}.scheme-preview{max-height:300px;overflow-y:auto}.scheme-preview__loading,.scheme-preview__error,.scheme-preview__empty{padding:var(--spacing-md);text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted)}.scheme-preview__error{color:var(--color-error)}.property-pane{display:flex;flex-direction:column;height:100%;padding:var(--spacing-md);background:var(--color-bg);overflow-y:auto}.property-pane__empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted);font-size:var(--font-size-sm)}.property-pane__values{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.property-pane__datatype{display:inline-block;padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-bg-secondary);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text-muted)}.property-pane__scheme-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.property-pane__scheme-name{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}.property-pane__scheme-link{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer}.property-pane__scheme-link:hover{text-decoration:underline}.concept-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.concept-form__error{padding:var(--spacing-sm) var(--spacing-md);background:#fef2f2;border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--font-size-sm)}.concept-form__uri-preview{display:flex;flex-direction:column;gap:var(--spacing-xs)}.concept-form__uri-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.concept-form__uri-value{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background-secondary);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);word-break:break-all}.concept-form__field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.concept-form__field-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.concept-form__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.scheme-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.scheme-form__error{padding:var(--spacing-sm) var(--spacing-md);background:#fef2f2;border:1px solid var(--color-danger);border-radius:var(--radius-md);color:var(--color-danger);font-size:var(--font-size-sm)}.scheme-form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.scheme-form__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.export-modal{display:flex;flex-direction:column;gap:var(--spacing-lg)}.export-modal__description{margin:0;color:var(--color-text-secondary)}.export-modal__formats{display:flex;flex-direction:column;gap:var(--spacing-sm)}.export-modal__label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.export-modal__option{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,background-color .15s}.export-modal__option:hover{border-color:var(--color-primary);background-color:var(--color-background-secondary)}.export-modal__option:has(input:checked){border-color:var(--color-primary);background-color:var(--color-primary-light)}.export-modal__option input{margin-top:2px}.export-modal__option-content{display:flex;flex-direction:column;gap:2px}.export-modal__option-label{font-weight:500}.export-modal__option-description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.export-modal__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.import-modal{display:flex;flex-direction:column;gap:var(--spacing-lg);min-width:400px}.import-modal__select{display:flex;flex-direction:column;gap:var(--spacing-md)}.import-modal__file-label{display:flex;flex-direction:column;gap:var(--spacing-xs);font-weight:500}.import-modal__file-input{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.import-modal__file-input:hover{border-color:var(--color-primary)}.import-modal__formats{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.import-modal__preview{display:flex;flex-direction:column;gap:var(--spacing-md)}.import-modal__schemes{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:400px;overflow-y:auto}.import-modal__scheme-card{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background-secondary)}.import-modal__scheme-title{margin:0 0 var(--spacing-xs);font-size:var(--font-size-md)}.import-modal__scheme-description{margin:0 0 var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.import-modal__scheme-uri{margin:0 0 var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-family:monospace;word-break:break-all}.import-modal__scheme-stats{display:flex;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.import-modal__scheme-warnings{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background-color:var(--color-warning-light);border-radius:var(--radius-sm)}.import-modal__warning{margin:0;font-size:var(--font-size-sm);color:var(--color-warning)}.import-modal__warning+.import-modal__warning{margin-top:var(--spacing-xs)}.import-modal__warnings{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-warning-light);border-radius:var(--radius-md)}.import-modal__warning-summary{margin:0 0 var(--spacing-xs);font-size:var(--font-size-sm);font-weight:500;color:var(--color-warning)}.import-modal__totals{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-background-secondary);border-radius:var(--radius-md);font-weight:500}.import-modal__importing{padding:var(--spacing-lg);text-align:center}.import-modal__success{display:flex;flex-direction:column;gap:var(--spacing-md)}.import-modal__success p{margin:0;color:var(--color-success)}.import-modal__error{margin:0;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-error-light);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm)}.import-modal__validation{display:flex;flex-direction:column;gap:var(--spacing-sm)}.import-modal__validation-error{padding:var(--spacing-sm) var(--spacing-md);background-color:#fee2e2;border-left:3px solid var(--color-danger);border-radius:var(--radius-md);color:#991b1b;font-size:var(--font-size-sm)}.import-modal__validation-warning{padding:var(--spacing-sm) var(--spacing-md);background-color:#fef3c7;border-left:3px solid var(--color-warning);border-radius:var(--radius-md);color:#92400e;font-size:var(--font-size-sm)}.import-modal__validation-info{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);border-left:3px solid var(--color-text-muted);border-radius:var(--radius-md);color:#495057;font-size:var(--font-size-sm)}.import-modal__validation-item{margin:0}.import-modal__validation-item+.import-modal__validation-item{margin-top:var(--spacing-xs)}.import-modal__validation-info-section{display:flex;flex-direction:column;gap:var(--spacing-xs)}.import-modal__validation-info-toggle{background:none;border:none;padding:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;text-align:left;text-decoration:underline}.import-modal__validation-info-toggle:hover{color:var(--color-text)}.import-modal__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.publish-modal__tabs{display:flex;gap:var(--spacing-xs);border-bottom:1px solid var(--color-border-light);margin-bottom:var(--spacing-md)}.publish-modal__tab{background:none;border:none;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.publish-modal__tab:hover{color:var(--color-text)}.publish-modal__tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:500}.publish-modal__loading{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted)}.publish-modal__summary{display:flex;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.publish-modal__summary-item{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.publish-modal__validation{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm)}.publish-modal__validation--valid{background:var(--color-success-light, #f0fdf4);color:var(--color-success, #16a34a)}.publish-modal__validation--invalid{background:var(--color-error-light);color:var(--color-danger)}.publish-modal__validation-heading{font-weight:600;margin:0 0 var(--spacing-xs)}.publish-modal__validation-errors{margin:0;padding-left:var(--spacing-md)}.publish-modal__validation-error{margin-bottom:var(--spacing-xs)}.publish-modal__diff{margin-bottom:var(--spacing-md)}.publish-modal__diff-heading{font-size:var(--font-size-sm);font-weight:600;margin:0 0 var(--spacing-sm)}.publish-modal__diff-empty{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);text-align:center;font-weight:500}.publish-modal__diff-section{margin-bottom:var(--spacing-sm)}.publish-modal__diff-section-title{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin:0;cursor:pointer;-webkit-user-select:none;user-select:none}.publish-modal__diff-section-title:hover{opacity:.8}.publish-modal__diff-items{margin-top:var(--spacing-xs)}.publish-modal__diff-section-title--added{color:var(--color-success, #16a34a)}.publish-modal__diff-section-title--modified{color:var(--color-warning, #d97706)}.publish-modal__diff-section-title--removed{color:var(--color-danger)}.publish-modal__diff-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;font-size:var(--font-size-sm)}.publish-modal__diff-type{font-size:var(--font-size-xs);color:var(--color-text-muted);background:var(--color-bg-secondary);padding:.1rem var(--spacing-xs);border-radius:var(--radius-sm)}.publish-modal__diff-item--modified{flex-direction:column;align-items:flex-start}.publish-modal__diff-item-header{display:flex;align-items:center;gap:var(--spacing-sm)}.publish-modal__field-changes{margin-left:var(--spacing-md);margin-top:var(--spacing-xs);display:flex;flex-direction:column;gap:2px}.publish-modal__field-change{display:flex;align-items:baseline;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.publish-modal__field-name{font-weight:500}.publish-modal__field-name:after{content:":"}.publish-modal__field-old{text-decoration:line-through;color:var(--color-text-muted)}.publish-modal__field-arrow{color:var(--color-text-muted)}.publish-modal__field-new{color:var(--color-text)}.publish-modal__form{display:flex;flex-direction:column;gap:var(--spacing-md)}.publish-modal__version-input{max-width:160px;font-variant-numeric:tabular-nums}.publish-modal__version-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.publish-modal__checkbox-row{display:flex;align-items:center;gap:var(--spacing-xs)}.publish-modal__checkbox-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);cursor:pointer}.publish-modal__info-icon{position:relative;display:inline-flex;align-items:center;cursor:help;color:var(--color-text-muted);font-size:var(--font-size-sm);margin-left:var(--spacing-xs)}.publish-modal__tooltip{display:none;position:absolute;bottom:calc(100% + var(--spacing-xs));left:0;width:260px;background:var(--color-text);color:var(--color-bg);font-size:var(--font-size-xs);font-weight:400;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);line-height:1.4;z-index:10;pointer-events:none}.publish-modal__info-icon:hover .publish-modal__tooltip{display:block}.publish-modal__tooltip:after{content:"";position:absolute;top:100%;left:var(--spacing-sm);border:4px solid transparent;border-top-color:var(--color-text)}.publish-modal__confirm{padding:var(--spacing-md) 0}.publish-modal__confirm-warning{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.publish-modal__success{text-align:center;padding:var(--spacing-lg) 0}.publish-modal__permalink{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-radius:var(--radius-md);font-size:var(--font-size-sm);max-width:100%;overflow:hidden}.publish-modal__permalink a{color:var(--color-primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.publish-modal__permalink a:hover{text-decoration:underline}.publish-modal__copy-btn{flex-shrink:0;background:none;border:1px solid var(--color-border-light);border-radius:var(--radius-sm);padding:.15rem var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap}.publish-modal__copy-btn:hover{background:var(--color-bg);color:var(--color-text)}.publish-modal__error{color:var(--color-danger);font-size:var(--font-size-sm);margin:var(--spacing-sm) 0}.publish-modal__error-state{padding:var(--spacing-md) 0}.publish-modal__actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.publish-modal__empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted);font-size:var(--font-size-sm)}.publish-modal__version-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.publish-modal__version-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);background:var(--color-bg-secondary)}.publish-modal__version-badge{font-size:var(--font-size-xs);font-weight:600;padding:.15rem var(--spacing-sm);border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;white-space:nowrap}.publish-modal__version-badge--pre-release{background:var(--color-warning, #d97706)}.publish-modal__version-badge--latest{background:var(--color-success, #16a34a)}.publish-modal__version-info{display:flex;flex-direction:column;flex:1;min-width:0}.publish-modal__version-title{font-size:var(--font-size-sm);font-weight:500}.publish-modal__version-notes{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:pre-line}.publish-modal__version-meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.publish-modal__status-badge{font-size:var(--font-size-xs);font-weight:500}.publish-modal__status-badge--latest{color:var(--color-success, #16a34a)}.publish-modal__status-badge--pre-release{color:var(--color-warning, #d97706)}.publish-modal__export-picker{display:flex;gap:var(--spacing-xs);align-items:center}.publish-modal__export-status{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap}.scheme-workspace{display:grid;grid-template-columns:280px 1fr 1fr;height:100%;min-height:0}.scheme-workspace__main{display:flex;flex-direction:column;min-height:0;overflow:hidden;border-right:1px solid var(--color-border)}.scheme-workspace__detail{display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--color-bg-secondary)}.scheme-workspace__create-class{padding:var(--spacing-md);overflow-y:auto}.scheme-workspace__placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted);font-size:var(--font-size-sm)}.summary-bar{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.summary-card{flex:1;min-width:120px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);text-align:center;cursor:pointer;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:box-shadow .15s,background-color .15s}.summary-card:hover{box-shadow:var(--shadow-sm)}.summary-card--active{box-shadow:var(--shadow-md);background:var(--color-bg-secondary)}.summary-card__number{font-size:var(--font-size-2xl);font-weight:700}.summary-card__label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.summary-card--warning{border-color:var(--color-warning)}.summary-card--warning .summary-card__number{color:#856404}.summary-card--primary{border-color:var(--color-primary)}.summary-card--primary .summary-card__number{color:var(--color-primary)}.summary-card--success{border-color:var(--color-success)}.summary-card--success .summary-card__number{color:var(--color-success)}.summary-card--muted .summary-card__number{color:var(--color-text-muted)}.feedback-filters{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-wrap:wrap;align-items:center}.feedback-filters__search{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-sm);min-width:200px;flex:1}.feedback-filters__search:focus{outline:none;border-color:var(--color-primary)}.feedback-filters__select{padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-sm) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-sm);background:var(--color-bg)}.feedback-filters__count{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-left:auto;white-space:nowrap}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#ffffffb3;z-index:10}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl) 0}.loading-spinner__circle,.loading-overlay__spinner{width:28px;height:28px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:loading-spin .7s linear infinite}@keyframes loading-spin{to{transform:rotate(360deg)}}.manager-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);background:var(--color-bg);cursor:pointer;transition:box-shadow .15s}.manager-card:hover{box-shadow:var(--shadow-sm)}.manager-card--expanded{box-shadow:var(--shadow-md)}.manager-card__header{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.manager-card__entity-label{font-weight:600}.manager-card__meta{margin-left:auto;font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.manager-card__badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:var(--font-size-xs);font-weight:600;line-height:1.6;white-space:nowrap}.manager-card__badge--warning{background:#fff3cd;color:#856404}.manager-card__badge--primary{background:var(--color-primary-light);color:var(--color-primary)}.manager-card__badge--success{background:#d1e7dd;color:var(--color-success)}.manager-card__badge--muted{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.manager-card__badge--concept{background:#e6f0fa;color:#06c}.manager-card__badge--scheme{background:#e8f5e9;color:#2e7d32}.manager-card__badge--class{background:#fff3e0;color:#e65100}.manager-card__badge--property{background:#f3e5f5;color:#7b1fa2}.manager-card__excerpt{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-sm)}.manager-card__detail{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light);cursor:default}.manager-card__content{font-size:var(--font-size-sm);line-height:1.6;margin:0 0 var(--spacing-sm);white-space:pre-wrap}.manager-card__version{font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic;margin-bottom:var(--spacing-sm)}.manager-card__version-tag{font-family:var(--font-mono, monospace);font-style:normal}.manager-card__response{margin-top:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-secondary);border-left:3px solid var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.manager-card__response-meta{font-weight:600;color:var(--color-text-secondary);font-size:var(--font-size-xs);margin-bottom:var(--spacing-xs)}.manager-card__response-content{font-size:var(--font-size-sm);line-height:1.5;white-space:pre-wrap}.manager-card__error{color:var(--color-danger);font-size:var(--font-size-sm);margin-bottom:var(--spacing-sm)}.manager-card__actions{margin-top:var(--spacing-md)}.manager-card__textarea{width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-sm);min-height:60px;resize:vertical;margin-bottom:var(--spacing-sm)}.manager-card__textarea:focus{outline:none;border-color:var(--color-primary)}.manager-card__buttons{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.manager-card__btn{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-sm);font-family:inherit;font-size:var(--font-size-sm);cursor:pointer;font-weight:500;text-decoration:none}.manager-card__btn:disabled{opacity:.5;cursor:not-allowed}.manager-card__btn--primary{background:var(--color-primary);color:#fff}.manager-card__btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.manager-card__btn--success{background:var(--color-success);color:#fff}.manager-card__btn--success:hover:not(:disabled){filter:brightness(.9)}.manager-card__btn--outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.manager-card__btn--outline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.manager-card__btn--link{background:transparent;color:var(--color-primary);display:inline-flex;align-items:center}.manager-card__btn--link:hover{text-decoration:underline}.feedback-dashboard{height:100%;overflow-y:auto}.feedback-dashboard__content{max-width:1100px;margin:0 auto;padding:var(--spacing-lg)}.feedback-dashboard__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.feedback-dashboard__title{font-size:var(--font-size-2xl);font-weight:600;margin:0}.feedback-dashboard__back{font-size:var(--font-size-sm);color:var(--color-primary);text-decoration:none}.feedback-dashboard__back:hover{text-decoration:underline}.feedback-dashboard__loading,.feedback-dashboard__error,.feedback-dashboard__empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.feedback-dashboard__error{color:var(--color-danger)}.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg-secondary)}.login-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xxl);text-align:center;max-width:400px;width:100%;margin:var(--spacing-md)}.login-title{font-size:var(--font-size-xxl);font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-sm) 0}.login-description{color:var(--color-text-secondary);margin:0 0 var(--spacing-xl) 0}.login-card .btn{width:100%}*,*:before,*:after{box-sizing:border-box}*{margin:0}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#app{isolation:isolate;min-height:100vh}:root{--color-bg: #ffffff;--color-bg-secondary: #f8f9fa;--color-bg-tertiary: #e9ecef;--color-border: #dee2e6;--color-border-light: #e9ecef;--color-text: #212529;--color-text-secondary: #6c757d;--color-text-muted: #adb5bd;--color-primary: #0066cc;--color-primary-hover: #0052a3;--color-primary-light: #e6f0fa;--color-danger: #dc3545;--color-danger-hover: #bb2d3b;--color-success: #198754;--color-warning: #ffc107;--color-warning-light: #fef3c7;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--header-height: 56px;--sidebar-width: 380px}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg)}
