.pnx-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--pnx-space-2);height:32px;padding:0 var(--pnx-space-3);border:1px solid transparent;border-radius:var(--pnx-radius-sm);background:transparent;color:var(--pnx-text);font:inherit;font-size:var(--pnx-fs-sm);white-space:nowrap;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.pnx-btn--icon{width:32px;padding:0;font-size:var(--pnx-fs)}.pnx-btn:disabled{opacity:.35;cursor:not-allowed}.pnx-btn--ghost:hover:not(:disabled){background:var(--pnx-hover)}.pnx-btn--ghost:active:not(:disabled){background:var(--pnx-active)}.pnx-btn--primary{background:var(--pnx-accent);color:var(--pnx-accent-fg)}.pnx-btn--primary:hover:not(:disabled){background:var(--pnx-accent-hover)}.pnx-btn--danger{color:var(--pnx-danger)}.pnx-btn--danger:hover:not(:disabled){background:var(--pnx-danger-soft)}.pnx-catalog-option__icon{flex:none;width:20px;text-align:center;font-size:16px;line-height:1}.pnx-catalog-option__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pnx-catalog-option__size{flex:none;color:var(--pnx-text-muted);font-size:11px;font-variant-numeric:tabular-nums}.pnx-combobox{display:flex;flex-direction:column;min-height:0;position:relative}.pnx-combobox__field{display:flex;align-items:center;gap:var(--pnx-space-2);padding:0 var(--pnx-space-3);height:38px;flex:none;background:var(--pnx-bg);border:1px solid var(--pnx-border);border-radius:var(--pnx-radius-pill);box-shadow:var(--pnx-shadow-raised);transition:border-color .15s,box-shadow .15s}.pnx-combobox__field:focus-within{border-color:var(--pnx-border-strong)}.pnx-combobox__icon{width:15px;height:15px;flex:none;color:var(--pnx-text-muted)}.pnx-combobox__input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--pnx-text);font:inherit;font-size:var(--pnx-fs)}.pnx-combobox__input::placeholder{color:var(--pnx-text-muted)}.pnx-combobox__clear{flex:none;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--pnx-radius-pill);background:transparent;color:var(--pnx-text-secondary);font-size:16px;line-height:1;cursor:pointer}.pnx-combobox__clear:hover{background:var(--pnx-hover);color:var(--pnx-text)}.pnx-combobox__list{overflow-y:auto;overscroll-behavior:contain}.pnx-combobox--inline .pnx-combobox__list{flex:1;min-height:0;margin-top:var(--pnx-space-3);padding-bottom:var(--pnx-space-2)}.pnx-combobox--popover .pnx-combobox__list{position:absolute;top:calc(100% + var(--pnx-space-1));left:0;right:0;z-index:20;max-height:320px;padding:var(--pnx-space-1);background:var(--pnx-bg);border-radius:var(--pnx-radius);box-shadow:var(--pnx-shadow-popover)}.pnx-combobox__group+.pnx-combobox__group{margin-top:var(--pnx-space-2)}.pnx-combobox__group-title{padding:var(--pnx-space-1) var(--pnx-space-3);color:var(--pnx-text-muted);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.pnx-combobox__option{display:flex;align-items:center;gap:var(--pnx-space-3);padding:var(--pnx-space-2) var(--pnx-space-3);border-radius:var(--pnx-radius-sm);color:var(--pnx-text);cursor:pointer;-webkit-user-select:none;user-select:none}.pnx-combobox__option[data-active=true]{background:var(--pnx-hover)}.pnx-combobox__status{padding:var(--pnx-space-3);color:var(--pnx-text-muted);font-size:var(--pnx-fs-sm)}.pnx-catalog-panel{display:flex;flex-direction:column;flex:none;width:264px;min-height:0;padding:var(--pnx-space-3);background:var(--pnx-bg-subtle);border-right:1px solid var(--pnx-border)}.pnx-catalog-panel__title{margin-bottom:var(--pnx-space-3);padding:0 var(--pnx-space-2);font-size:var(--pnx-fs);font-weight:600}.pnx-catalog-panel .pnx-combobox{flex:1;min-height:0}.pnx-canvas2d{width:100%;height:100%;overflow:hidden;background:var(--pnx-bg)}.pnx-viewmode{display:inline-flex;padding:2px;gap:2px;background:var(--pnx-hover);border-radius:var(--pnx-radius-sm)}.pnx-viewmode__btn{height:26px;min-width:36px;padding:0 var(--pnx-space-2);border:none;border-radius:5px;background:transparent;color:var(--pnx-text-secondary);font:inherit;font-size:var(--pnx-fs-sm);font-weight:500;cursor:pointer;transition:background .15s,color .15s}.pnx-viewmode__btn:hover{color:var(--pnx-text)}.pnx-viewmode__btn[aria-pressed=true]{background:var(--pnx-bg);color:var(--pnx-text);box-shadow:var(--pnx-shadow-raised)}.pnx-zoom{display:flex;align-items:center;gap:var(--pnx-space-1)}.pnx-zoom__value{min-width:44px;text-align:center;color:var(--pnx-text-secondary);font-size:var(--pnx-fs-sm);font-variant-numeric:tabular-nums}.pnx-toolbar{display:flex;align-items:center;gap:var(--pnx-space-2);flex:none;height:52px;padding:0 var(--pnx-space-3);background:var(--pnx-bg);border-bottom:1px solid var(--pnx-border)}.pnx-toolbar__title{padding-left:var(--pnx-space-1);font-size:var(--pnx-fs);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pnx-toolbar__spacer{flex:1}.pnx-toolbar__divider{width:1px;height:20px;background:var(--pnx-border)}.pnx-canvas3d{width:100%;height:100%;background:var(--pnx-bg-sunken)}.pnx-editor{display:flex;flex-direction:column;position:relative;width:100%;height:100%;min-height:0;background:var(--pnx-bg);overflow:hidden}.pnx-editor:focus{outline:none}.pnx-editor__body{display:flex;flex:1;min-height:0}.pnx-editor__surface{position:relative;flex:1;min-width:0;background:var(--pnx-bg);overflow:hidden}.pnx-editor__message{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--pnx-space-2);height:100%;padding:var(--pnx-space-4);text-align:center}.pnx-editor__message h3{font-size:var(--pnx-fs-lg);font-weight:600}.pnx-editor__message p{color:var(--pnx-text-secondary);font-size:var(--pnx-fs-sm)}.pnx-root{--pnx-bg: #ffffff;--pnx-bg-subtle: #f9f9f9;--pnx-bg-sunken: #f4f4f4;--pnx-hover: #ececec;--pnx-active: #e3e3e3;--pnx-border: #e5e5e5;--pnx-border-strong: #d4d4d4;--pnx-text: #0d0d0d;--pnx-text-secondary: #5d5d5d;--pnx-text-muted: #9b9b9b;--pnx-accent: #0d0d0d;--pnx-accent-hover: #262626;--pnx-accent-fg: #ffffff;--pnx-focus: #0b5cff;--pnx-danger: #dc2626;--pnx-danger-soft: #fef2f2;--pnx-radius-sm: 6px;--pnx-radius: 10px;--pnx-radius-lg: 16px;--pnx-radius-pill: 999px;--pnx-shadow-popover: 0 8px 24px rgba(0, 0, 0, .1), 0 0 0 1px rgba(0, 0, 0, .05);--pnx-shadow-raised: 0 1px 2px rgba(0, 0, 0, .06), 0 0 0 1px rgba(0, 0, 0, .05);--pnx-font: "Söhne", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--pnx-fs-sm: 13px;--pnx-fs: 14px;--pnx-fs-lg: 16px;--pnx-space-1: 4px;--pnx-space-2: 8px;--pnx-space-3: 12px;--pnx-space-4: 16px;--pnx-space-5: 24px;color:var(--pnx-text);font-family:var(--pnx-font);font-size:var(--pnx-fs);line-height:1.45;-webkit-font-smoothing:antialiased}.pnx-root :focus-visible{outline:2px solid var(--pnx-focus);outline-offset:1px}.pnx-embed-demo{max-width:760px;margin:0 auto;padding:32px 24px 64px;color:#0d0d0d}.pnx-embed-demo h1{margin-bottom:12px;font-size:22px;font-weight:600}.pnx-embed-demo h2{margin:32px 0 12px;font-size:15px;font-weight:600}.pnx-embed-demo p{margin-bottom:8px;color:#5d5d5d;font-size:14px}.pnx-embed-demo__box{max-width:100%;border:1px solid #e5e5e5;border-radius:16px;overflow:hidden}.pnx-embed-demo__note{margin-top:8px;font-size:13px;font-variant-numeric:tabular-nums}.pnx-page--login{display:flex;align-items:center;justify-content:center}.pnx-login{display:flex;flex-direction:column;gap:16px;width:100%;max-width:320px;padding:32px}.pnx-login h1{font-size:22px;font-weight:600;text-align:center;margin-bottom:8px}.pnx-login__field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#5d5d5d}.pnx-login__field input{padding:8px 10px;border:1px solid #d9d9d9;border-radius:8px;font-size:14px;color:#0d0d0d;font-family:inherit}.pnx-login__field input:focus{outline:none;border-color:#0b5cff}.pnx-login__error{color:#c0392b;font-size:13px}.pnx-avatar{display:inline-flex;flex:none;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--pnx-border);border-radius:var(--pnx-radius-pill);background:var(--pnx-bg-subtle);color:var(--pnx-text-muted)}.pnx-avatar svg{width:68%;height:68%}.pnx-menu{position:relative;display:inline-flex}.pnx-menu__panel{position:absolute;top:calc(100% + var(--pnx-space-1));z-index:20;min-width:220px;padding:var(--pnx-space-1);background:var(--pnx-bg);border-radius:var(--pnx-radius);box-shadow:var(--pnx-shadow-popover)}.pnx-menu__panel--right{right:0}.pnx-menu__panel--left{left:0}.pnx-user-menu{display:inline-flex}.pnx-user-menu__trigger{display:inline-flex;padding:0;border:none;border-radius:var(--pnx-radius-pill);background:transparent;cursor:pointer}.pnx-user-menu__trigger:hover .pnx-avatar{border-color:var(--pnx-border-strong)}.pnx-user-menu__info{padding:var(--pnx-space-2) var(--pnx-space-3)}.pnx-user-menu__name{color:var(--pnx-text);font-size:var(--pnx-fs-sm);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pnx-user-menu__email{margin-top:2px;color:var(--pnx-text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pnx-user-menu__divider{height:1px;margin:var(--pnx-space-1) 0;background:var(--pnx-border)}.pnx-user-menu__logout{display:block;width:100%;padding:var(--pnx-space-2) var(--pnx-space-3);border:none;border-radius:var(--pnx-radius-sm);background:transparent;color:var(--pnx-danger);font:inherit;font-size:var(--pnx-fs-sm);text-align:left;cursor:pointer}.pnx-user-menu__logout:hover{background:var(--pnx-danger-soft)}.pnx-page{width:100%;height:100%;position:relative}.pnx-page__user-bar{position:absolute;top:8px;right:12px;z-index:10}.pnx-page--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}.pnx-page--empty h1{font-size:22px;font-weight:600}.pnx-page--empty p{color:#5d5d5d;font-size:14px}.pnx-page--empty code{padding:2px 6px;background:#f4f4f4;border-radius:6px;font-size:13px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:#fff;color:#0d0d0d;font-family:Söhne,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:#0b5cff}
