*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.color-picker{display:flex;flex-direction:column;gap:.375rem}.color-picker__label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin:0}.color-picker__section-label{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#64748b;margin:.25rem 0 0}.color-picker__swatches{display:flex;flex-wrap:wrap;gap:.375rem}.color-picker__swatch{width:20px;height:20px;border-radius:4px;border:1.5px solid #e2e8f0;cursor:pointer;padding:0;outline:none;transition:transform .1s,border-color .1s}.color-picker__swatch:hover{transform:scale(1.15);border-color:#94a3b8}.color-picker__swatch--active{border-color:#3b82f6;transform:scale(1.15);box-shadow:0 0 0 2px #bfdbfe}.color-picker__swatch--none{background:repeating-linear-gradient(45deg,#e2e8f0,#e2e8f0 3px,#fff 3px 6px)}.color-picker__input{width:100%;height:28px;border-radius:4px;border:1.5px solid #e2e8f0;padding:2px 4px;cursor:pointer;background:none}.snackbar-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:9999;max-width:420px}.snackbar{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:10px;box-shadow:0 4px 20px #0003;font-size:14px;font-weight:500;animation:snackbar-in .25s ease;min-width:280px}@keyframes snackbar-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.snackbar--error{background:#2d1b1b;color:#f87171;border:1px solid #7f1d1d}.snackbar--success{background:#1a2d1e;color:#4ade80;border:1px solid #14532d}.snackbar--info{background:#1a2233;color:#60a5fa;border:1px solid #1e3a5f}.snackbar-icon{flex-shrink:0;display:flex;align-items:center}.snackbar-message{flex:1;line-height:1.4}.snackbar-close{flex-shrink:0;background:transparent;border:none;cursor:pointer;color:inherit;opacity:.6;display:flex;align-items:center;padding:2px;border-radius:4px;transition:opacity .15s}.snackbar-close:hover{opacity:1}.component-editor-page{height:100vh;display:flex;flex-direction:column;overflow:hidden}.component-editor-page__body{flex:1;display:flex;overflow:hidden}.app-bar{background-color:#fff;border-bottom:1px solid #e2e8f0;padding:0 1.25rem;display:flex;align-items:center;justify-content:space-between;height:60px;flex-shrink:0;gap:1rem}.app-bar__left{display:flex;align-items:center;gap:.875rem;flex:1;min-width:0}.app-bar__divider{width:1px;height:24px;background-color:#e2e8f0;flex-shrink:0}.app-bar__project-name{font-size:.875rem;font-weight:600;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-bar__right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.app-bar__action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid #e2e8f0;border-radius:.5rem;color:#64748b;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease;font-family:inherit}.app-bar__action-btn:hover{background-color:#0f172a;border-color:#0f172a;color:#fff}.app-bar__back-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid #e2e8f0;border-radius:.5rem;color:#64748b;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease;flex-shrink:0}.app-bar__back-btn:hover{background-color:#0f172a;border-color:#0f172a;color:#fff}.app-logo{display:flex;align-items:center;gap:.75rem;text-align:left}.app-logo--clickable{background:transparent;border:none;cursor:pointer;padding:.375rem .5rem;border-radius:.5rem;transition:background-color .15s ease;font-family:inherit}.app-logo--clickable:hover{background-color:#0000000d}.app-logo__icon{display:flex;align-items:center;justify-content:center;background-color:#0f172a;color:#fff;border-radius:.5rem;flex-shrink:0}.app-logo--sm .app-logo__icon{width:2rem;height:2rem;border-radius:.375rem}.app-logo--md .app-logo__icon{width:2.5rem;height:2.5rem}.app-logo--lg .app-logo__icon{width:4rem;height:4rem;border-radius:1rem;box-shadow:0 25px 50px -12px #00000040}.app-logo__text{display:flex;flex-direction:column}.app-logo__title{font-weight:900;text-transform:uppercase;letter-spacing:-.05em;color:#0f172a;line-height:1}.app-logo--sm .app-logo__title{font-size:1rem}.app-logo--md .app-logo__title{font-size:1.25rem}.app-logo--lg .app-logo__title{font-size:1.875rem}.app-logo__subtitle{color:#94a3b8;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-top:.2rem}.app-logo--sm .app-logo__subtitle{font-size:.625rem}.app-logo--md .app-logo__subtitle{font-size:.6875rem}.app-logo--lg .app-logo__subtitle{font-size:.75rem;margin-top:.25rem}.app-logo--dark .app-logo__title{color:#fff}.app-logo--dark .app-logo__icon{background-color:#ffffff1f;border:1px solid rgba(255,255,255,.15)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;cursor:pointer;color:inherit;font-family:inherit;line-height:1}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.tooltip-container{display:inline-flex;align-items:center;justify-content:center}.tooltip{position:fixed;z-index:10000;background-color:#1e293b;color:#f1f5f9;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap;pointer-events:none;box-shadow:0 4px 12px #0006;border:1px solid rgba(255,255,255,.1)}.tooltip--top{transform:translate(-50%,-100%)}.tooltip--bottom{transform:translate(-50%)}.tooltip--left{transform:translate(-100%,-50%)}.tooltip--right{transform:translateY(-50%)}.tooltip--top:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1e293b}.tooltip--bottom:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:#1e293b}.tooltip--left:after{content:"";position:absolute;top:50%;left:100%;transform:translateY(-50%);border:5px solid transparent;border-left-color:#1e293b}.tooltip--right:after{content:"";position:absolute;top:50%;right:100%;transform:translateY(-50%);border:5px solid transparent;border-right-color:#1e293b}.cec-pin__rect{fill:#1e293b;stroke:none;transition:fill .1s ease}.cec-pin__label{font-family:ui-monospace,Cascadia Code,Consolas,monospace;fill:#f1f5f9;-webkit-user-select:none;user-select:none;pointer-events:none}.cec-pin__label--inside{fill:#334155}.cec-pin--connectable{cursor:crosshair}.cec-pin--connectable:hover .cec-pin__rect{fill:#22c55e;stroke:#16a34a;stroke-width:1.5}.cec-pin--wire-target .cec-pin__rect{fill:#3b82f6;stroke:#2563eb;stroke-width:1.5}.cec-pin--wire-target:hover .cec-pin__rect{fill:#2563eb}.grid-canvas{position:absolute;inset:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.grid-canvas__svg{display:block}.grid-canvas__svg--fill{position:absolute;inset:0}.grid-canvas__svg--fit{max-width:100%;max-height:100%}.grid-canvas__bg{fill:#f8fafc}.cec-body{fill:#fff;stroke:#334155;stroke-width:1.5}.component-body--dragging .cec-body{fill:#f0f9ff;stroke:#0284c7;stroke-dasharray:4 2;opacity:.75}.component-body--dragging .cec-name{fill:#0284c7;opacity:.75}.cec-name{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:10px;font-weight:600;fill:#334155;pointer-events:none;-webkit-user-select:none;user-select:none}.cec-name--external{fill:#1e293b}.component-body--dragging .cec-name--external{fill:#0284c7}.component-body--selected .cec-body{stroke:#3b82f6;stroke-width:2}.component-editor-canvas{flex:1;position:relative;overflow:hidden}.component-editor-canvas__badge{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);font-size:.64rem;font-weight:700;letter-spacing:.15em;color:#94a3b8;background:#fff;border:1px solid #e2e8f0;border-radius:9999px;padding:.25rem .75rem;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.component-editor-sidebar{width:240px;flex-shrink:0;background-color:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;overflow-y:auto}.component-editor-sidebar__section{padding:.875rem .75rem .75rem;display:flex;flex-direction:column;gap:.375rem}.component-editor-sidebar__label{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8}.component-editor-sidebar__divider{height:1px;background-color:#f1f5f9;flex-shrink:0}.component-editor-sidebar__size-row{display:flex;align-items:flex-start;gap:.5rem}.component-editor-sidebar__size-input{flex:1;min-width:0}.component-editor-sidebar__pins{display:flex;flex-direction:column}.component-editor-sidebar__pins-title{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;padding:.75rem .75rem .375rem;margin:0}.component-editor-sidebar__swatches{display:flex;flex-wrap:wrap;gap:.375rem}.component-editor-sidebar__swatch{width:20px;height:20px;border-radius:4px;border:1.5px solid #e2e8f0;cursor:pointer;padding:0;outline:none;transition:transform .1s,border-color .1s}.component-editor-sidebar__swatch:hover{transform:scale(1.15);border-color:#94a3b8}.component-editor-sidebar__swatch--active{border-color:#3b82f6;transform:scale(1.15);box-shadow:0 0 0 2px #bfdbfe}.component-editor-sidebar__swatch--none{background:repeating-linear-gradient(45deg,#e2e8f0,#e2e8f0 3px,#fff 3px 6px)}.component-editor-sidebar__color-input{margin-top:.375rem;width:100%;height:28px;border-radius:4px;border:1.5px solid #e2e8f0;padding:2px 4px;cursor:pointer;background:none}.input-wrapper{display:flex;flex-direction:column;gap:.5rem}.input-wrapper--sm{gap:.375rem}.input-wrapper--inline{flex-direction:row;align-items:center;gap:.375rem}.input-label{font-size:.625rem;font-weight:900;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em}.input-label--sm{font-size:.6875rem;font-weight:700;letter-spacing:.08em}.input-label__required{color:#ef4444}.input-field{width:100%;box-sizing:border-box;outline:none;font-family:inherit;transition:all .2s ease}.input-field--md{padding:1rem 1.5rem;background-color:#f8fafc;border:2px solid #f1f5f9;border-radius:1rem;font-weight:700;text-transform:uppercase;font-size:1.125rem;color:#1e293b}.input-field--md:focus{border-color:#0f172a}.input-field--md::placeholder{color:#cbd5e1}.input-field--sm{padding:.5rem .625rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.875rem;font-weight:500;color:#1e293b;transition:border-color .15s ease}.input-field--sm:focus{border-color:#0f172a;background:#fff}.input-field--sm::placeholder{color:#cbd5e1}.input-field--sm[type=number]{-moz-appearance:textfield}.input-field--sm[type=number]::-webkit-inner-spin-button,.input-field--sm[type=number]::-webkit-outer-spin-button{opacity:1}.input-field--sm.input-field--error{border-color:#ef4444}.input-field--sm.input-field--error:focus{border-color:#ef4444}.input-field:disabled{opacity:.5;cursor:not-allowed}.input-error{font-size:.725rem;color:#ef4444;font-weight:600;margin:0}.toggle-group{display:flex;flex-direction:column;gap:.375rem}.toggle-group__label{font-size:.6875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.toggle-group__buttons{display:flex;border-radius:.375rem;overflow:hidden;border:1.5px solid #e2e8f0}.toggle-group__btn{flex:1;padding:.375rem .25rem;font-size:.75rem;font-weight:500;background:#fff;border:none;border-right:1px solid #e2e8f0;color:#64748b;cursor:pointer;transition:background-color .12s ease,color .12s ease;line-height:1}.toggle-group__btn:last-child{border-right:none}.toggle-group__btn:hover:not(.toggle-group__btn--active){background-color:#f1f5f9;color:#334155}.toggle-group__btn--active{background-color:#3b82f6;color:#fff;font-weight:600}.pin-section{border-bottom:1px solid #f1f5f9}.pin-section__label{font-size:.775rem;font-weight:600;color:#334155}.pin-section__add-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;background:transparent;border:none;cursor:pointer;color:#94a3b8;border-radius:.25rem;padding:0;transition:background-color .1s ease,color .1s ease}.pin-section__add-btn:hover{background-color:#e0f2fe;color:#0284c7}.pin-section__empty{font-size:.725rem;color:#cbd5e1;padding:.375rem 0;font-style:italic}.pin-section__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.125rem}.pin-section__item{display:flex;align-items:center;gap:.25rem;padding:.125rem 0;border-radius:.25rem}.pin-section__item:hover .pin-section__delete-btn{opacity:1}.pin-section__name{flex:1;font-size:.775rem;color:#475569;padding:.25rem .375rem;border-radius:.25rem;cursor:text;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pin-section__name:hover{background-color:#f8fafc}.pin-section__input{flex:1;font-size:.775rem;color:#1e293b;background:#fff;border:1px solid #0f172a;border-radius:.25rem;padding:.175rem .375rem;outline:none;font-family:inherit;min-width:0}.pin-section__delete-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;background:transparent;border:none;cursor:pointer;color:#94a3b8;border-radius:.25rem;opacity:0;padding:0;transition:opacity .15s ease,background-color .1s ease,color .1s ease}.pin-section__delete-btn:hover{background-color:#fee2e2;color:#dc2626}.pin-section__content{padding:0 .48rem}.expansion-panel__header{display:flex;align-items:center;gap:.25rem;padding:.375rem .5rem .375rem .25rem;cursor:default}.expansion-panel__toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;background:transparent;border:none;cursor:pointer;color:#94a3b8;border-radius:.25rem;transition:background-color .1s ease;padding:0}.expansion-panel__toggle:hover{background-color:#f1f5f9;color:#475569}.expansion-panel__chevron{transition:transform .15s ease;flex-shrink:0}.expansion-panel__chevron--open{transform:rotate(90deg)}.expansion-panel__label{flex:1;min-width:0}.expansion-panel__count{font-size:.625rem;font-weight:700;color:#94a3b8;background-color:#f1f5f9;border-radius:999px;padding:.0625rem .375rem;flex-shrink:0}.expansion-panel__actions{display:flex;align-items:center;gap:.125rem;flex-shrink:0}.expansion-panel__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}.expansion-panel__body--open{grid-template-rows:1fr}.expansion-panel__body-inner{min-height:0;overflow:hidden;transition:padding-bottom .2s ease}.expansion-panel__body--open .expansion-panel__body-inner{padding-bottom:.5rem}.confirmation-modal{display:flex;flex-direction:column;gap:1.5rem}.confirmation-modal__message{font-size:.9375rem;color:#64748b;line-height:1.6;margin:0}.confirmation-modal__actions{display:flex;justify-content:flex-end;gap:.75rem}.btn{padding:1rem;border:none;border-radius:1rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;cursor:pointer;transition:all .2s ease;font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn:active{transform:scale(.95)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{transform:none}.btn-primary{background-color:#0f172a;color:#fff;box-shadow:0 20px 25px -5px #0000001a}.btn-primary:hover:not(:disabled){background-color:#1e293b}.btn-primary:disabled:hover{background-color:#0f172a}.btn-secondary{background-color:#334155;color:#fff;box-shadow:0 10px 15px -3px #0000001a}.btn-secondary:hover:not(:disabled){background-color:#475569}.btn-secondary:disabled:hover{background-color:#334155}.btn-cancel{background-color:#f1f5f9;color:#64748b}.btn-cancel:hover:not(:disabled){background-color:#e2e8f0}.btn-danger{background-color:#ef4444;color:#fff;box-shadow:0 10px 15px -3px #ef444440}.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn-danger:disabled:hover{background-color:#ef4444}.modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;background-color:#0f172a66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:#fff;width:100%;max-width:56rem;max-height:calc(100vh - 3rem);border-radius:1.5rem;box-shadow:0 25px 50px -12px #00000040;overflow:hidden;display:flex;flex-direction:column;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{padding:1.5rem;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;justify-content:space-between;background-color:#f8fafc80}.modal-header-content{display:flex;align-items:center;gap:.75rem}.modal-icon{width:2.5rem;height:2.5rem;background-color:#0f172a;border-radius:.75rem;display:flex;align-items:center;justify-content:center;color:#fff}.modal-title{font-size:.875rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;margin:0}.modal-subtitle{font-size:.625rem;color:#94a3b8;font-weight:700;text-transform:uppercase;letter-spacing:-.025em;margin:.25rem 0 0}.modal-close-btn{padding:.5rem;background:none;border:none;border-radius:9999px;color:#94a3b8;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background-color:#e2e8f0}.modal-body{padding:1.5rem;overflow:auto}.dropdown-menu{position:relative}.dropdown-menu__list{position:absolute;top:calc(100% + .5rem);background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 8px 24px -4px #0000001f;min-width:11rem;padding:.375rem;z-index:50;animation:dropdownFadeIn .12s ease-out}.dropdown-menu__list--right{right:0}.dropdown-menu__list--left{left:0}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dropdown-menu__item{display:flex;align-items:center;gap:.625rem;width:100%;padding:.5rem .625rem;background:transparent;border:none;border-radius:.5rem;font-size:.8125rem;font-weight:500;color:#374151;cursor:pointer;text-align:left;font-family:inherit;transition:background-color .1s ease}.dropdown-menu__item:hover{background-color:#f1f5f9}.dropdown-menu__item-icon{display:inline-flex;color:#64748b}.json-viewer{font-family:ui-monospace,Cascadia Code,Fira Code,Consolas,monospace;font-size:.8125rem;line-height:1.7;color:#1e293b;padding:1.25rem 1.5rem}.jv-node,.jv-node--expanded{display:inline}.jv-children{display:block;padding-left:1.5rem;border-left:1px solid #e2e8f0;margin-left:.35rem}.jv-entry,.jv-closing{display:block}.jv-toggle{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;margin-right:2px;background:transparent;border:none;cursor:pointer;color:#94a3b8;vertical-align:middle;border-radius:2px;transition:color .1s ease}.jv-toggle:hover{color:#475569}.jv-toggle__icon{transition:transform .15s ease}.jv-toggle__icon--open{transform:rotate(90deg)}.jv-bracket{color:#475569;font-weight:600}.jv-key{color:#7c3aed}.jv-colon,.jv-comma{color:#64748b}.jv-string{color:#16a34a}.jv-number{color:#ea580c}.jv-boolean{color:#2563eb}.jv-null{color:#94a3b8;font-style:italic}.jv-summary{color:#94a3b8;font-size:.75rem;margin:0 .35rem;font-style:italic}.jv-node--collapsed .jv-bracket{opacity:.6}.home-page{min-height:100vh;background-color:#f8fafc;display:flex;align-items:center;justify-content:center;padding:1.5rem}.home-container{max-width:64rem;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.home-left{display:flex;flex-direction:column;gap:2rem;animation:slideInLeft .5s ease-out}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.brand-section{display:flex;align-items:center;gap:1rem}.brand-icon{width:4rem;height:4rem;background-color:#0f172a;border-radius:1rem;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 25px 50px -12px #00000040}.brand-title{font-size:1.875rem;font-weight:900;text-transform:uppercase;letter-spacing:-.05em;color:#0f172a;margin:0;line-height:1}.brand-subtitle{color:#94a3b8;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;margin:.25rem 0 0}.hero-section{display:flex;flex-direction:column;gap:1rem}.hero-title{font-size:3rem;font-weight:900;color:#0f172a;line-height:1;text-transform:uppercase;letter-spacing:-.05em;margin:0}.hero-subtitle-text{color:#94a3b8}.hero-description{color:#64748b;font-size:1.125rem;max-width:28rem;margin:0;line-height:1.6}.home-right{background-color:#fff;padding:2rem;border-radius:1.5rem;box-shadow:0 25px 50px -12px #00000040;border:1px solid #f1f5f9;display:flex;flex-direction:column;gap:1.5rem;animation:fadeInScale .5s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.action-buttons{display:flex;flex-direction:column;gap:1rem}.loading-container{display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;color:#64748b;font-size:1rem}.home-footer{padding-top:1.5rem;border-top:1px solid #f8fafc}.footer-text{font-size:.625rem;color:#cbd5e1;font-weight:700;text-transform:uppercase;letter-spacing:.1em;text-align:center;margin:0}@media(max-width:768px){.home-container{grid-template-columns:1fr;gap:2rem}.hero-title{font-size:2rem}.hero-description{font-size:1rem}}.action-button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border:none;border-radius:1rem;cursor:pointer;transition:all .2s ease;position:relative;font-family:inherit}.action-button-primary{background-color:#0f172a;color:#fff;box-shadow:0 20px 25px -5px #0000001a}.action-button-primary:hover{background-color:#1e293b}.action-button-primary:active{transform:scale(.95)}.action-button-secondary{background-color:#fff;color:#0f172a;border:2px solid #f1f5f9}.action-button-secondary:hover{border-color:#0f172a}.action-button-secondary:active{transform:scale(.95)}.action-button-content{display:flex;align-items:center;gap:1rem}.action-button-icon-wrapper{padding:.75rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center}.icon-primary{background-color:#ffffff1a}.icon-secondary{background-color:#f8fafc}.action-button-text-wrapper{text-align:left}.action-button-title{font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:.875rem;margin:0 0 .25rem}.action-button-subtitle{font-size:.75rem;opacity:.5;margin:0}.action-button-arrow{opacity:0;transform:translate(-.5rem);transition:all .2s ease}.action-button:hover .action-button-arrow{opacity:1;transform:translate(0)}.create-project-form{display:flex;flex-direction:column;gap:1.5rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(1rem)}to{opacity:1;transform:translate(0)}}.create-project-form-actions{display:flex;gap:.75rem}.cancel-action{flex:1}.submit-action{flex:2}.import-from-source-modal-content{display:flex;flex-direction:column;gap:2rem}.import-from-source-modal-section{display:flex;flex-direction:column;gap:1rem}.import-from-source-modal-section-label{font-size:.625rem;font-weight:900;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em}.import-from-source-modal-url-form{display:flex;gap:.5rem}.import-from-source-modal-url-input-wrapper{position:relative;flex:1}.import-from-source-modal-url-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#94a3b8}.import-from-source-modal-url-input{width:100%;padding:.75rem .75rem .75rem 2.5rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;font-size:.75rem;font-weight:700;text-transform:uppercase;outline:none;transition:all .2s ease;font-family:inherit}.import-from-source-modal-url-input:focus{border-color:#0f172a;background-color:#fff}.import-from-source-modal-url-input::placeholder{color:#cbd5e1}.import-from-source-modal-fetch-btn{padding:.75rem 1.5rem;white-space:nowrap}.import-from-source-modal-error{padding:1rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;animation:errorSlideIn .3s ease-out}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.import-from-source-modal-error p{font-size:.75rem;color:#991b1b;margin:0}.file-drop-zone{border:2px dashed #e2e8f0;border-radius:1rem;padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;cursor:pointer;transition:all .2s ease}.file-drop-zone:hover{border-color:#0f172a;background-color:#0f172a05}.file-drop-zone-icon{width:3rem;height:3rem;background-color:#f1f5f9;border-radius:1rem;display:flex;align-items:center;justify-content:center;color:#94a3b8;transition:all .2s ease}.file-drop-zone:hover .file-drop-zone-icon{background-color:#0f172a;color:#fff}.file-drop-zone-text{text-align:center}.file-drop-zone-label{font-size:.75rem;font-weight:700;color:#0f172a;text-transform:uppercase;margin:0}.file-drop-zone-description{font-size:.625rem;color:#94a3b8;font-weight:500;text-transform:uppercase;margin:.25rem 0 0}.file-drop-zone-input{display:none}.project-page{height:100vh;display:flex;flex-direction:column;overflow:hidden}.project-body{flex:1;display:flex;overflow:hidden}.external-libraries-loading-modal{min-width:500px;max-width:600px}.loading-status-list{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto}.loading-status-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background-color:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color)}.status-icon{flex-shrink:0;width:20px;height:20px;margin-top:2px}.status-icon.status-online{color:var(--color-success)}.status-icon.status-cached{color:var(--color-warning)}.status-icon.status-error{color:var(--color-error)}.status-icon.status-loading{color:var(--text-secondary);animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-status-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.loading-status-name{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-status-url{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loading-status-error{font-size:12px;color:var(--color-error);margin-top:4px}.loading-status-label{flex-shrink:0;font-size:12px;font-weight:500;padding:4px 8px;border-radius:4px;background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary)}.history-modal__empty{padding:2rem;text-align:center;color:var(--text-muted);font-size:.875rem}.history-modal__timeline{list-style:none;padding:0;margin:0}.history-modal__entry{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;border-bottom:1px solid var(--border);transition:background-color .15s ease;cursor:pointer}.history-modal__entry:hover{background-color:var(--bg-hover)}.history-modal__marker{flex-shrink:0;width:.625rem;height:.625rem;border-radius:50%;background-color:var(--border);margin-top:.25rem}.history-modal__content{flex:1;min-width:0}.history-modal__action{font-size:.875rem;font-weight:500;color:var(--text-primary);margin:0 0 .25rem}.history-modal__entry--future .history-modal__action{color:var(--text-muted)}.history-modal__timestamp{font-size:.75rem;color:var(--text-muted)}.history-modal__footer{padding:1rem;border-top:1px solid var(--border);background-color:var(--bg-subtle);display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--text-muted)}.history-modal__shortcuts{display:flex;gap:1rem}.history-modal__shortcut{display:flex;align-items:center;gap:.25rem}.history-modal__key{padding:.125rem .375rem;background-color:var(--bg);border:1px solid var(--border);border-radius:.25rem;font-family:monospace;font-size:.6875rem}.library-import-choice-content{display:flex;flex-direction:column;gap:1.5rem}.library-import-choice-info{padding:1rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem}.library-import-choice-library-name{font-size:1rem;font-weight:700;color:#0f172a;margin:0 0 .5rem}.library-import-choice-library-details{font-size:.75rem;color:#64748b;margin:0}.library-import-choice-library-url{font-size:.625rem;color:#94a3b8;margin:.5rem 0 0;font-family:Courier New,monospace;word-break:break-all}.library-import-choice-options{display:flex;flex-direction:column;gap:.75rem}.library-import-choice-option{display:flex;gap:1rem;padding:1rem;background-color:#fff;border:2px solid #e2e8f0;border-radius:.75rem;cursor:pointer;transition:all .2s ease;text-align:left}.library-import-choice-option:hover{border-color:#0f172a;background-color:#f8fafc}.library-import-choice-option-icon{flex-shrink:0;width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;background-color:#0f172a;color:#fff;border-radius:.75rem}.library-import-choice-option-icon--external{background-color:#3b82f6}.library-import-choice-option-content{flex:1}.library-import-choice-option-title{font-size:.875rem;font-weight:700;color:#0f172a;margin:0 0 .25rem}.library-import-choice-option-description{font-size:.75rem;color:#64748b;margin:0;line-height:1.5}.library-import-choice-footer{display:flex;justify-content:flex-end;padding-top:.5rem;border-top:1px solid #e2e8f0}.library-manager{display:flex;flex-direction:column;gap:24px;min-width:600px}.library-manager__header{padding-bottom:16px;border-bottom:1px solid #e2e8f0}.library-manager__description{margin:0;color:#64748b;font-size:14px;line-height:1.5}.library-manager__empty{padding:48px 24px;text-align:center;color:#94a3b8}.library-manager__empty p{margin:0;font-size:14px}.library-manager__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.library-manager-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;transition:all .2s ease}.library-manager-item:hover{background:#f1f5f9;border-color:#cbd5e1}.library-manager-item__info{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.library-manager-item__header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.library-manager-item__name{font-weight:600;font-size:15px;color:#1e293b}.library-manager-item__rename-btn{opacity:.6;transition:opacity .2s ease}.library-manager-item__rename-btn:hover{opacity:1}.library-manager-item__badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.library-manager-item__badge--internal{background:#dbeafe;color:#1e40af}.library-manager-item__badge--imported{background:#fef3c7;color:#92400e}.library-manager-item__badge--external{background:#e0e7ff;color:#4338ca}.library-manager-item__meta{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#64748b}.library-manager-item__component-count{font-weight:500}.library-manager-item__url{font-family:Courier New,monospace;font-size:11px;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-manager-item__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.library-manager-item__remove-btn{color:#dc2626}.library-manager-item__remove-btn:hover{background:#fee2e2;color:#991b1b}.library-manager__footer{display:flex;justify-content:flex-end;padding-top:16px;border-top:1px solid #e2e8f0}.library-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.library-list__empty{padding:48px 24px;text-align:center;color:#94a3b8}.library-list__empty p{margin:0;font-size:14px}.library-list-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;transition:all .2s ease}.library-list-item:hover{background:#f1f5f9;border-color:#cbd5e1}.library-list-item__info{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}.library-list-item__header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.library-list-item__name{font-weight:600;font-size:15px;color:#1e293b}.library-list-item__rename-btn{opacity:.6;transition:opacity .2s ease}.library-list-item__rename-btn:hover{opacity:1}.library-list-item__badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;white-space:nowrap}.library-list-item__badge--internal{background:#dbeafe;color:#1e40af}.library-list-item__badge--imported{background:#fef3c7;color:#92400e}.library-list-item__badge--external{background:#e0e7ff;color:#4338ca}.library-list-item__meta{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#64748b}.library-list-item__component-count{font-weight:500}.library-list-item__url{font-family:Courier New,monospace;font-size:11px;color:#94a3b8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-list-item__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.library-list-item__remove-btn{color:#dc2626}.library-list-item__remove-btn:hover{background:#fee2e2}.library-status-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;cursor:help;transition:all .2s ease}.library-status-icon:hover{transform:scale(1.1)}.library-status-icon--online{color:#22c55e;background:#22c55e1a}.library-status-icon--cached{color:#f59e0b;background:#f59e0b1a}.library-status-icon--unavailable{color:#ef4444;background:#ef44441a}.library-status-icon--loading{color:#3b82f6;background:#3b82f61a}.library-status-icon-spinner{animation:library-status-icon-spin 1s linear infinite}@keyframes library-status-icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.library-status-icon-tooltip{position:fixed;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease;z-index:10000;min-width:200px;max-width:300px;padding:12px;background:#1e293b;border:1px solid #334155;border-radius:8px;box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003;color:#f1f5f9;font-size:12px;line-height:1.4;white-space:normal;word-break:break-word}.library-status-icon-tooltip--visible{opacity:1;visibility:visible}.library-status-icon-tooltip:before{content:"";position:absolute;top:8px;right:100%;border:6px solid transparent;border-right-color:#334155}.library-status-icon-tooltip-header{margin-bottom:6px;font-size:13px}.library-status-icon-tooltip-header strong{font-weight:600}.library-status-icon-tooltip-description{margin:0 0 8px;color:#cbd5e1}.library-status-icon-tooltip-url{margin:0 0 4px;padding:6px 8px;background:#0f172a80;border-radius:4px;font-family:Courier New,monospace;font-size:11px;color:#94a3b8;overflow-wrap:break-word}.library-status-icon-tooltip-date{margin:4px 0 0;font-size:11px;color:#94a3b8}.project-canvas{flex:1;position:relative;overflow:hidden;background-color:#f8fafc;cursor:grab}.project-canvas--moving,.project-canvas--panning{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.project-canvas__empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.project-canvas__empty p{font-size:.8125rem;color:#cbd5e1;font-style:italic;padding:.75rem 1.5rem;border:1.5px dashed #e2e8f0;border-radius:.5rem;background-color:#ffffffb3}.project-canvas__trash{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.5rem 1.25rem;border-radius:2rem;background-color:#ffffffe6;border:1.5px dashed #e2e8f0;color:#94a3b8;font-size:.8rem;font-weight:500;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #00000014;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;animation:trash-appear .15s ease}.project-canvas__trash--active{background-color:#fef2f2;border-color:#fca5a5;border-style:solid;color:#ef4444;box-shadow:0 4px 16px #ef444433}@keyframes trash-appear{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.project-canvas--drawing-wire{cursor:crosshair!important}.project-canvas__cancel-wire{position:absolute;top:1.5rem;left:50%;transform:translate(-50%);animation:reset-pan-appear .15s ease;border-color:#fca5a5;color:#ef4444}.project-canvas__cancel-wire:hover:not(:disabled){background-color:#fef2f2;border-color:#f87171;color:#dc2626}.project-canvas__reset-pan{position:absolute;bottom:1.5rem;right:1.5rem;animation:reset-pan-appear .15s ease}@keyframes reset-pan-appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.context-menu{position:fixed;z-index:1000;min-width:160px;background:#fff;border:1.5px solid #e2e8f0;border-radius:.5rem;box-shadow:0 4px 6px -1px #00000014,0 10px 24px -4px #0000001f;padding:.25rem;animation:context-menu-appear .1s ease}@keyframes context-menu-appear{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.context-menu__item{position:relative;display:flex;align-items:center;gap:.5rem;padding:.4rem .625rem;border-radius:.3rem;font-size:.8125rem;color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .1s ease}.context-menu__item:hover{background-color:#f1f5f9}.context-menu__item--danger{color:#ef4444}.context-menu__item--danger:hover{background-color:#fef2f2}.context-menu__icon{display:flex;align-items:center;color:#64748b;flex-shrink:0}.context-menu__item--danger .context-menu__icon{color:#ef4444}.context-menu__label{flex:1}.context-menu__shortcut{margin-left:auto;font-size:.6875rem;color:#94a3b8;font-family:monospace;padding:.125rem .375rem;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.25rem}.context-menu__chevron{flex-shrink:0;color:#94a3b8}.context-menu__item-check{width:14px;flex-shrink:0;font-size:.7rem;color:#3b82f6;display:flex;align-items:center}.context-menu__item--active{color:#3b82f6;font-weight:600}.context-menu__item--active:hover{background-color:#eff6ff}.context-menu__submenu{position:absolute;top:-.25rem;left:calc(100% + .25rem);min-width:120px;background:#fff;border:1.5px solid #e2e8f0;border-radius:.5rem;box-shadow:0 4px 6px -1px #00000014,0 10px 24px -4px #0000001f;padding:.25rem;animation:context-menu-appear .1s ease}.pill-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:2rem;background-color:#ffffffe6;border:1.5px solid #e2e8f0;color:#64748b;font-size:.75rem;font-weight:500;font-family:inherit;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #00000014;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.pill-btn:hover:not(:disabled){background-color:#f1f5f9;border-color:#94a3b8;color:#334155;box-shadow:0 4px 12px #0000001f}.pill-btn:active:not(:disabled){background-color:#e2e8f0}.pill-btn:disabled{opacity:.5;cursor:not-allowed}.pill-btn__icon{display:inline-flex;align-items:center}.pill-btn__label{line-height:1}.canvas-wire{fill:none;stroke:#1e293b;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.canvas-wire--in-progress{stroke:#3b82f6;stroke-dasharray:5 3;pointer-events:none}.canvas-wire__halo{fill:none;stroke:#3b82f6;stroke-width:5;stroke-linejoin:round;stroke-linecap:round;opacity:.18;pointer-events:none}.canvas-wire__hit{fill:none;stroke:transparent;stroke-width:12;pointer-events:stroke;cursor:default}.canvas-wire__hit--ns{cursor:ns-resize}.canvas-wire__hit--ew{cursor:ew-resize}.canvas-wire__segment--hovered{fill:none;stroke:#fff;stroke-width:6;stroke-linecap:round;opacity:.4;pointer-events:none}.canvas-wire__waypoint{stroke:#fff;stroke-width:1.5;pointer-events:none}.canvas-wire__waypoint-hit{fill:transparent;stroke:none;pointer-events:all;cursor:move}.canvas-wire__ghost{fill:#3b82f6;stroke:#fff;stroke-width:1.5;opacity:.55;cursor:crosshair;pointer-events:all}.canvas-wire__ghost:hover{opacity:1}.component-properties-sidebar__info-row{display:flex;flex-direction:column;gap:.125rem}.component-properties-sidebar__info-label{font-size:.65rem;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.component-properties-sidebar__info-value{font-size:.75rem;color:#334155;font-family:ui-monospace,Cascadia Code,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.component-properties-sidebar__id{font-size:.65rem;color:#cbd5e1;font-family:ui-monospace,Cascadia Code,Consolas,monospace;padding-top:.375rem;border-top:1px solid #f1f5f9}.component-properties-sidebar__section{display:flex;flex-direction:column;gap:.5rem;padding-top:1rem;border-top:1px solid #e2e8f0}.component-properties-sidebar__label{font-size:.625rem;font-weight:900;color:#94a3b8;text-transform:uppercase;letter-spacing:.1em}.component-properties-sidebar__wires{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.connected-wire-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:.25rem;border:1px solid transparent;cursor:pointer;transition:all .15s ease}.connected-wire-item:hover{background-color:#f1f5f9;border-color:#cbd5e1;transform:translate(2px)}.connected-wire-item__color{width:.75rem;height:.75rem;border-radius:.125rem;border:1px solid rgba(0,0,0,.1);flex-shrink:0}.connected-wire-item__info{display:flex;flex-direction:column;gap:.125rem;flex:1;overflow:hidden}.connected-wire-item__pin{font-size:.75rem;font-weight:500;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.connected-wire-item__side{font-size:.625rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.properties-sidebar{position:absolute;top:1rem;right:1rem;bottom:1rem;width:270px;background:#fff;border:1.5px solid #e2e8f0;border-radius:.5rem;box-shadow:0 4px 16px #0000001a;display:flex;flex-direction:column;overflow:hidden;animation:sidebar-appear .15s ease;z-index:10;pointer-events:auto;cursor:auto}@keyframes sidebar-appear{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}.properties-sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .625rem;border-bottom:1px solid #e2e8f0;background:#f8fafc;gap:.5rem}.properties-sidebar__title{font-size:.8rem;font-weight:600;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.properties-sidebar__body{padding:.75rem;display:flex;flex-direction:column;gap:.75rem;flex:1;overflow-y:auto}.properties-sidebar__footer{padding:.75rem;display:flex;flex-direction:column;gap:.375rem;border-top:1px solid #f1f5f9}.wire-properties-sidebar__connections{display:flex;flex-direction:column;gap:.375rem}.wire-properties-sidebar__connection{display:flex;flex-direction:column;gap:.125rem}.wire-properties-sidebar__connection-label{font-size:.65rem;font-weight:500;color:#94a3b8;text-transform:uppercase;letter-spacing:.04em}.wire-properties-sidebar__connection-value{font-size:.75rem;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:ui-monospace,Cascadia Code,Consolas,monospace}.wire-properties-sidebar__id{font-size:.65rem;color:#cbd5e1;font-family:ui-monospace,Cascadia Code,Consolas,monospace;padding-top:.375rem;border-top:1px solid #f1f5f9}.project-sidebar{width:240px;flex-shrink:0;background-color:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;overflow:hidden}.project-sidebar__header{display:flex;align-items:center;gap:.5rem;padding:.75rem .75rem .5rem;border-bottom:1px solid #f1f5f9;flex-shrink:0}.project-sidebar__header-actions{display:flex;align-items:center;gap:.25rem}.project-sidebar__title{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;flex:1}.project-sidebar__count{font-size:.625rem;font-weight:700;color:#94a3b8;background-color:#f1f5f9;border-radius:999px;padding:.0625rem .375rem}.project-sidebar__libraries{flex:1;overflow-y:auto;padding:.25rem 0}.project-sidebar__no-results{font-size:.75rem;color:#cbd5e1;padding:1rem .75rem;text-align:center;font-style:italic;line-height:1.5}.library{border-bottom:1px solid #f1f5f9}.library .expansion-panel__header:hover .library__rename-btn{opacity:1}.library__name-wrapper{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.library__name{font-size:.8rem;font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;display:block;min-width:0;flex:1}.library__rename-input{width:100%;font-size:.8rem;font-weight:600;color:#1e293b;background:#fff;border:1px solid #0f172a;border-radius:.25rem;padding:.125rem .375rem;outline:none;font-family:inherit}.library__add-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;background:transparent;border:none;cursor:pointer;color:#94a3b8;border-radius:.25rem;opacity:0;transition:opacity .15s ease,background-color .1s ease,color .1s ease;padding:0}.library .expansion-panel__header:hover .library__add-btn{opacity:1}.library__add-btn:hover{background-color:#e0f2fe;color:#0284c7}.library__rename-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;background:transparent;border:none;cursor:pointer;color:#94a3b8;border-radius:.25rem;opacity:0;transition:opacity .15s ease,background-color .1s ease;padding:0}.library__rename-btn:hover{background-color:#f1f5f9;color:#475569}.library__highlight{background-color:#fef08a;color:#713f12;border-radius:2px;padding:0 1px}.library__components{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.125rem}.library__component{display:flex;flex-direction:column}.library__component--draggable{cursor:grab}.library__component--draggable:active{cursor:grabbing}.library__component--draggable:hover{background-color:#f1f5f9;border-radius:.25rem}.library__component:hover .library__component__header{background-color:#f8fafc}.library__component__header{display:flex;width:100%;padding:.25rem .375rem;font-size:.775rem;color:#475569;border-radius:.25rem;cursor:default;transition:background-color .1s ease;align-items:center;gap:.25rem;position:relative}.library__component__header-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library__component__header-actions{display:flex;gap:2px;align-items:center}.library__component__header-edit-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;background:transparent;border:none;cursor:pointer;color:#94a3b8;border-radius:.25rem;opacity:0;padding:0;transition:opacity .15s ease,background-color .1s ease,color .1s ease}.library__component:hover .library__component__header-edit-btn{opacity:1}.library__component__header-edit-btn:hover{background-color:#e0f2fe;color:#0284c7}.library__component__header-delete-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;background:transparent;border:none;cursor:pointer;color:#94a3b8;border-radius:.25rem;opacity:0;padding:0;transition:opacity .15s ease,background-color .1s ease,color .1s ease}.library__component:hover .library__component__header-delete-btn{opacity:1}.library__component__header-delete-btn:hover{background-color:#fee2e2;color:#dc2626}.library__component__preview{position:relative;width:100%;height:100px;overflow:hidden;display:flex;align-items:center;justify-content:center}.library__empty{font-size:.725rem;color:#cbd5e1;padding:.375rem 0;font-style:italic}.input-confirmation-modal{display:flex;flex-direction:column;gap:16px;padding:16px}.input-confirmation-modal__message{margin:0;color:#1e293b;font-size:14px;line-height:1.5}.input-confirmation-modal__actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.sidebar-search{display:flex;align-items:center;gap:.375rem;padding:.5rem .625rem;border-bottom:1px solid #f1f5f9;flex-shrink:0}.sidebar-search__icon{color:#cbd5e1;flex-shrink:0}.sidebar-search__input{flex:1;border:none;outline:none;font-size:.775rem;color:#1e293b;background:transparent;font-family:inherit;min-width:0}.sidebar-search__input::placeholder{color:#cbd5e1}.sidebar-search__clear{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:#f1f5f9;border:none;border-radius:999px;color:#94a3b8;cursor:pointer;flex-shrink:0;padding:0;transition:background-color .1s ease}.sidebar-search__clear:hover{background-color:#e2e8f0;color:#475569}
