@layer app-reset,reset,astryx-base,astryx-theme;@layer app-reset{*{margin:0;padding:0;box-sizing:border-box}}:root{--bg-dark: #171717;--bg-panel: #1b1b1b;--bg-toolbar: #262626;--border-color: #525252;--text-primary: #fafafa;--text-secondary: #a3a3a3;--accent: #2694fe;--tint-hover: #ffffff;--accent-hover: color-mix(in srgb, var(--accent), var(--tint-hover) 12%);--canvas-bg: #262626;--icon-filter: invert(1);--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='4' viewBox='0 0 8 4'%3E%3Cpath fill='%23cccccc' d='M0 0l4 4 4-4z'/%3E%3C/svg%3E");--tooltip-bg: #0a0a0a;--tooltip-border: #404040;--badge-bg: rgba(255, 255, 255, .1);--pb-error: #ffc6c1;--pb-error-muted: rgba(255, 158, 151, .24);--pb-success: #9fe59b;--pb-success-muted: rgba(132, 201, 128, .24);--pb-warning: #fdcf4f;--pb-warning-muted: rgba(222, 180, 51, .24);--pb-shadow: rgba(0, 0, 0, .3);--pb-on-accent: #ffffff;--pb-chrome-bg-deep: #0a0a0a;--pb-chrome-ink: #fafafa;--pb-radius-sm: 4px;--pb-radius-md: 8px;--pb-radius-lg: 12px}[data-theme=light]{--bg-dark: #f1f1f1;--bg-panel: #ffffff;--bg-toolbar: #e5e5e5;--border-color: #d4d4d4;--text-primary: #171717;--text-secondary: #737373;--accent: #0064e0;--tint-hover: #000000;--accent-hover: color-mix(in srgb, var(--accent), var(--tint-hover) 12%);--canvas-bg: #e5e5e5;--icon-filter: invert(0);--select-arrow: url(../icons/dropdown-arrow.svg);--tooltip-bg: #ffffff;--tooltip-border: #d4d4d4;--badge-bg: rgba(0, 0, 0, .1);--pb-error: #a50c25;--pb-error-muted: rgba(250, 206, 203, 1);--pb-success: #007004;--pb-success-muted: rgba(197, 229, 192, 1);--pb-warning: #745b00;--pb-warning-muted: rgba(248, 218, 157, 1);--pb-shadow: rgba(0, 0, 0, .1)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::-webkit-scrollbar-corner{background:var(--bg-dark)}html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:13px;color:var(--text-primary);background:var(--bg-panel);overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}input,textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.win-btn{padding:6px 14px;background:var(--bg-toolbar);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:12px;cursor:pointer}.win-btn:hover{background:color-mix(in srgb,var(--bg-toolbar),var(--tint-hover) 8%)}.win-btn:focus{outline:none}.win-btn:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 65%)}.win-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.win-btn.primary:hover:not(:disabled){background:var(--accent-hover)}.win-input{padding:4px 8px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:12px}.win-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 70%)}.win-select{padding:4px 24px 4px 8px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-family:inherit;font-size:12px;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right 8px center}.win-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent),transparent 70%)}.win-select option{background:var(--bg-panel);color:var(--text-primary)}.manager-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-toolbar);border-bottom:1px solid var(--border-color)}.manager-toolbar input{padding:6px 10px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:12px;width:200px}.manager-toolbar input:focus{outline:none;border-color:var(--accent)}.manager-toolbar-spacer{flex:1}.manager-toolbar button{padding:6px 12px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:12px}.manager-toolbar button:hover{background:color-mix(in srgb,var(--bg-dark),var(--tint-hover) 10%)}.manager-toolbar button:disabled{opacity:.5;cursor:not-allowed}.manager-toolbar button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.manager-toolbar button.primary:hover:not(:disabled){background:var(--accent-hover)}.manager-content{flex:1;display:flex;overflow:hidden}.manager-list{flex:1;overflow:auto;border-right:1px solid var(--border-color)}.manager-list table{width:100%;border-collapse:collapse;font-size:12px}.manager-list thead{position:sticky;top:0;background:var(--bg-toolbar)}.manager-list th{padding:8px 12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap;user-select:none}.manager-list th.sortable{cursor:pointer}.manager-list th.sortable:hover{color:var(--text-primary)}.manager-list th.sort-asc:after{content:" ▲";font-size:9px}.manager-list th.sort-desc:after{content:" ▼";font-size:9px}.manager-list td{padding:6px 12px;border-bottom:1px solid var(--border-color);vertical-align:middle}.manager-list tr{cursor:pointer}.manager-list tbody tr:hover{background:color-mix(in srgb,var(--bg-panel),var(--tint-hover) 6%)}.manager-list tbody tr.selected{background:var(--accent);color:#fff}.manager-preview{width:280px;flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-panel);overflow-y:auto}.manager-preview-container{height:200px;display:flex;align-items:center;justify-content:center;background:var(--bg-dark);border-bottom:1px solid var(--border-color);padding:16px}.manager-preview-container img{max-width:100%;max-height:100%;object-fit:contain}.manager-details{flex:1;padding:16px;overflow-y:auto}.manager-detail-row{display:flex;margin-bottom:8px;font-size:12px}.manager-detail-label{color:var(--text-secondary);min-width:80px;flex-shrink:0}.manager-detail-value{word-break:break-all}.manager-status{padding:4px 12px;background:var(--bg-toolbar);border-top:1px solid var(--border-color);font-size:11px;color:var(--text-secondary)}.manager-empty-state{padding:40px 20px;text-align:center;color:var(--text-secondary)}.manager-used-by{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color)}.manager-used-by-item{padding:4px 8px;margin-bottom:2px;background:color-mix(in srgb,var(--bg-panel),var(--tint-hover) 5%);border-radius:4px;font-size:11px;cursor:pointer}.manager-used-by-item:hover{background:color-mix(in srgb,var(--bg-panel),var(--tint-hover) 10%)}.context-menu{position:fixed;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:6px;padding:4px 0;min-width:120px;box-shadow:0 4px 12px var(--pb-shadow)}.context-menu.hidden{display:none}.context-menu-item{padding:6px 12px;cursor:pointer;font-size:12px}.context-menu-item:hover{background:var(--accent);color:#fff}.context-menu-divider{height:1px;background:var(--border-color);margin:4px 0}.prop-btn{padding:4px 12px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:11px}.prop-btn:hover{background:color-mix(in srgb,var(--bg-dark),var(--tint-hover) 10%)}.manager-list tbody tr.selected .output-badge{background:var(--badge-bg);color:#fff}.used-badge.no{background:var(--badge-bg);color:var(--text-secondary)}.manager-list tbody tr.selected .used-badge{background:var(--badge-bg);color:#fff}.image-thumb{width:40px;height:40px;object-fit:contain;background:var(--canvas-bg);border-radius:4px}.color-swatch{width:20px;height:20px;border-radius:4px;border:1px solid var(--border-color);display:inline-block;vertical-align:middle}.manager-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.manager-modal.hidden{display:none}.manager-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep) 50%,transparent)}.manager-modal-window{position:relative;width:95vw;height:85vh;max-width:1200px;max-height:800px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--pb-radius-md);display:flex;flex-direction:column;box-shadow:0 8px 32px var(--pb-shadow)}.manager-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-toolbar);border-radius:var(--pb-radius-md) var(--pb-radius-md) 0 0}.manager-title{font-weight:600;font-size:14px}.manager-close{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:0 8px;line-height:1}.manager-close:hover{color:var(--text-primary)}.manager-modal .manager-status{border-radius:0 0 var(--pb-radius-md) var(--pb-radius-md)}.manager-modal .prompt-overlay{position:absolute}.settings-container{display:flex;flex-direction:column;height:100%}.settings-tabs{display:flex;padding:0 20px;background:var(--bg-panel);flex-shrink:0;position:sticky;top:0}.settings-tab{flex:1;padding:8px 4px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:10px;font-weight:600;text-transform:uppercase;cursor:pointer;min-height:44px}.settings-tab:hover{color:var(--text-primary)}.settings-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.settings-body{flex:1;overflow-y:auto;padding:16px 20px}.settings-tab-content{display:none}.settings-tab-content.active{display:block}.settings-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--border-color);flex-shrink:0}.settings-section{margin-bottom:20px}.settings-section:last-child{margin-bottom:0}.settings-section-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;margin-bottom:10px}.version-hint{text-transform:none;font-weight:400}.settings-field-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.settings-field-row label{width:140px;flex-shrink:0;font-size:12px;color:var(--text-primary)}.settings-field-row .win-input,.settings-field-row .win-select{flex:1;min-width:120px}.settings-field-row.dimmed{opacity:.4}.settings-field-row.dimmed input,.settings-field-row.dimmed button{pointer-events:none}.settings-checkbox-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.settings-checkbox-row input[type=checkbox]{margin:0;width:18px;height:18px}.settings-checkbox-row label{font-size:12px;cursor:pointer;color:var(--text-primary)}.settings-container .win-input,.settings-container .win-select{padding:8px 12px;font-size:14px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);min-height:36px}.settings-container .win-input:focus,.settings-container .win-select:focus{outline:none;border-color:var(--accent)}.win-input.invalid{border-color:var(--pb-error)}.settings-error{color:var(--pb-error);font-size:11px;min-height:16px;margin-top:4px}.settings-container .win-btn{padding:8px 16px;font-size:12px;background:var(--bg-toolbar);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;min-height:36px}.settings-container .win-btn:hover{background:var(--bg-dark)}.settings-container .win-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.settings-container .win-btn.primary:hover{background:var(--accent-hover)}.win-btn:disabled{opacity:.5;cursor:not-allowed}.settings-color-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.settings-color-row{display:flex;align-items:center;gap:8px}.settings-color-row label{flex:1;font-size:12px;color:var(--text-primary)}.settings-color-input{width:60px;height:28px;padding:2px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-dark);cursor:pointer}.settings-color-input::-webkit-color-swatch-wrapper{padding:2px}.settings-color-input::-webkit-color-swatch{border-radius:2px;border:none}.settings-number-input{width:80px!important;min-width:80px!important;flex:0 0 80px!important}.settings-field-row .prop-unit{margin-left:4px;font-size:11px;color:var(--text-secondary)}.settings-field-row .prop-unit:empty{display:none}.settings-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.settings-modal.hidden{display:none}.settings-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep) 60%,transparent)}.settings-modal-content{position:relative;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;width:480px;max-width:95vw;max-height:90vh;overflow:hidden;box-shadow:0 8px 32px var(--pb-shadow)}.settings-modal-content .settings-container{max-height:80vh}@media(max-width:520px){.settings-field-row{flex-wrap:wrap}.settings-field-row label{width:100%;margin-bottom:4px}.settings-field-row .win-input,.settings-field-row .win-select{width:100%}}.settings-modal-window{position:relative;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;width:500px;display:flex;flex-direction:column;overflow:hidden}.settings-modal .manager-header{background:var(--bg-toolbar);border-bottom:1px solid var(--border-color)}.settings-modal-content{display:flex;flex-direction:column;border:none;border-radius:0;box-shadow:none;width:100%;max-width:none}.settings-modal .settings-container{height:auto}.settings-modal .settings-tabs{display:none}.settings-modal .settings-body{overflow-y:auto;max-height:60vh}.settings-modal .settings-footer{background:var(--bg-panel)}.about-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.about-modal.hidden{display:none}.about-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep) 60%,transparent)}.about-modal-content{position:relative;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;width:300px;max-width:95vw;overflow:hidden;box-shadow:0 8px 32px var(--pb-shadow)}.about-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px 24px}.about-icon{width:64px;height:64px;margin-bottom:16px}.about-name{font-size:18px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.about-version{font-size:12px;color:var(--text-secondary)}.about-thanks{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:20px;padding:16px 20px;font-size:13px}.about-thanks-title{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;margin-bottom:4px}.about-thanks a{color:var(--accent);text-decoration:none}[data-theme=dark] .about-thanks a{color:var(--accent)}.about-thanks a:hover{text-decoration:underline}.about-modal-window{position:relative;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--pb-radius-md);width:300px;max-width:95vw;overflow:hidden;box-shadow:0 8px 32px var(--pb-shadow);display:flex;flex-direction:column}.about-modal .manager-header{background:var(--bg-toolbar);border-bottom:1px solid var(--border-color)}.about-modal .about-modal-content{position:static;border:none;border-radius:0;width:100%;box-shadow:none}.select-element-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-toolbar);border-bottom:1px solid var(--border-color)}.select-element-filter{padding:6px 10px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:12px;width:250px}.select-element-filter:focus{outline:none;border-color:var(--accent)}.select-element-filter::placeholder{color:var(--text-secondary)}.select-element-spacer{flex:1}.select-element-content{flex:1;overflow:hidden}.select-element-table-container{height:100%;overflow:auto}.select-element-table{width:100%;border-collapse:collapse;font-size:11px;table-layout:fixed}.select-element-table thead{position:sticky;top:0;background:var(--bg-toolbar)}.select-element-table th{padding:6px 8px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;user-select:none;cursor:pointer;position:relative}.select-element-table th:hover{color:var(--text-primary);background:var(--bg-dark)}.select-element-table th.sort-asc:after{content:" ▲";font-size:8px}.select-element-table th.sort-desc:after{content:" ▼";font-size:8px}.select-element-table td{padding:4px 8px;border-bottom:1px solid var(--border-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select-element-table tbody tr{cursor:pointer}.select-element-table tbody tr:hover{background:color-mix(in srgb,var(--bg-panel),var(--tint-hover) 5%)}.select-element-table tbody tr.selected{background:var(--accent);color:#fff}.select-element-status{padding:4px 12px;background:var(--bg-toolbar);border-top:1px solid var(--border-color);font-size:11px;color:var(--text-secondary)}.resize-handle{position:absolute;right:0;top:0;bottom:0;width:5px;cursor:col-resize;background:transparent}.resize-handle:hover,.resize-handle.resizing{background:var(--accent)}.select-element-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.select-element-modal.hidden{display:none}.select-element-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep) 50%,transparent)}.select-element-modal-window{position:relative;background:var(--bg-panel);border-radius:6px;width:90%;max-width:1200px;height:80%;display:flex;flex-direction:column;overflow:hidden}.select-element-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-toolbar);border-bottom:1px solid var(--border-color)}.select-element-title{font-weight:600;font-size:14px}.select-element-close{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:0;line-height:1}.select-element-close:hover{color:var(--text-primary)}.select-element-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.script-editor-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-toolbar);border-bottom:1px solid var(--border-color)}.script-editor-toolbar label{font-size:11px;color:var(--text-secondary)}.script-editor-toolbar select{padding:4px 24px 4px 8px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:3px;color:var(--text-primary);font-family:inherit;font-size:12px;min-width:150px;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right 8px center}.script-editor-toolbar select:focus{outline:none}.script-editor-toolbar select option{background:var(--bg-panel);color:var(--text-primary)}.script-editor-container{flex:1;overflow:hidden}.script-editor-status{padding:4px 12px;background:var(--bg-toolbar);border-top:1px solid var(--border-color);font-size:11px;color:var(--text-secondary);display:flex;justify-content:space-between}.modified-indicator{color:var(--pb-warning)}.script-editor-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.script-editor-modal.hidden{display:none}.script-editor-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep) 50%,transparent)}.script-editor-modal-window{position:relative;width:95vw;height:90vh;max-width:1600px;max-height:1000px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--pb-radius-md);display:flex;flex-direction:column;box-shadow:0 8px 32px var(--pb-shadow)}.script-editor-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-toolbar);border-radius:var(--pb-radius-md) var(--pb-radius-md) 0 0}.script-editor-title{font-weight:600;font-size:14px}.script-editor-close{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:0 8px;line-height:1}.script-editor-close:hover{color:var(--text-primary)}.script-editor-modal .script-editor-status{border-radius:0 0 var(--pb-radius-md) var(--pb-radius-md)}.table-info-scroll{flex:1;overflow-y:auto;padding:16px}.table-info-group{margin-bottom:16px}.table-info-group:last-child{margin-bottom:8px}.table-info-group-title{font-size:11px;font-weight:600;color:var(--text-secondary);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.table-info-row{display:flex;align-items:flex-start;margin-bottom:8px}.table-info-row:last-child{margin-bottom:0}.table-info-label{min-width:90px;font-size:13px;color:var(--text-secondary);padding-top:6px}.table-info-input{flex:1;padding:6px 10px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:12px;font-family:inherit}.table-info-input:focus{outline:none;border-color:var(--accent)}.table-info-input.readonly{background:var(--bg-toolbar);color:var(--text-secondary)}textarea.table-info-input{resize:vertical;min-height:60px}.table-info-custom-container{border:1px solid var(--border-color);border-radius:4px;overflow:hidden;margin-bottom:8px;max-height:150px;overflow-y:auto;background:var(--bg-dark)}.table-info-custom-table{width:100%;border-collapse:collapse;font-size:12px}.table-info-custom-table thead{background:var(--bg-toolbar);position:sticky;top:0}.table-info-custom-table th{padding:6px 10px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap;user-select:none;cursor:pointer}.table-info-custom-table th:hover{color:var(--text-primary)}.table-info-custom-table th.sort-asc:after{content:" ▲";font-size:9px}.table-info-custom-table th.sort-desc:after{content:" ▼";font-size:9px}.table-info-custom-table td{padding:5px 10px;border-bottom:1px solid var(--border-color);vertical-align:middle}.table-info-custom-table tbody tr{cursor:pointer}.table-info-custom-table tbody tr:last-child td{border-bottom:none}.table-info-custom-table tbody tr:hover{background:color-mix(in srgb,var(--bg-dark),var(--tint-hover) 5%)}.table-info-custom-table tbody tr.selected{background:var(--accent);color:#fff}.table-info-empty-state{padding:20px;text-align:center;color:var(--text-secondary);font-size:12px}.table-info-custom-buttons{display:flex;gap:8px}.table-info-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--border-color)}.table-info-prompt-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep) 50%,transparent);display:flex;align-items:center;justify-content:center}.table-info-prompt-overlay.hidden{display:none}.table-info-prompt-dialog{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;padding:20px;min-width:280px;max-width:350px;box-shadow:0 4px 20px var(--pb-shadow)}.table-info-prompt-title{font-size:14px;font-weight:600;margin-bottom:16px}.table-info-prompt-row{margin-bottom:12px}.table-info-prompt-label{display:block;font-size:12px;color:var(--text-secondary);margin-bottom:4px}.table-info-prompt-input{width:100%;padding:8px 10px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px}.table-info-prompt-input:focus{outline:none;border-color:var(--accent)}.table-info-prompt-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.table-info-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.table-info-modal.hidden{display:none}.table-info-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep) 50%,transparent)}.table-info-modal-window{position:relative;width:500px;max-height:90vh;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--pb-radius-md);display:flex;flex-direction:column;box-shadow:0 8px 32px var(--pb-shadow)}.table-info-modal .manager-header{background:var(--bg-toolbar);border-bottom:1px solid var(--border-color)}.table-info-modal .table-info-prompt-overlay{position:absolute}:root{--tree-cell: 18px;--tree-row-height: 18px}.tree-row{display:flex;align-items:center;padding:1px 4px;cursor:pointer;white-space:nowrap}.tree-row:hover{background:var(--pb-hover)}.tree-row.selected .tree-label{background:var(--accent);color:var(--pb-on-accent);padding:1px 4px;margin:-1px 0;border-radius:2px}.tree-row.drag-over{background:var(--pb-accent-muted);outline:1px dashed var(--accent)}.tree-indent{display:inline-flex;width:var(--tree-cell);height:var(--tree-row-height);flex-shrink:0;align-items:center}.tree-indent svg{display:block}.tree-branch{position:relative;display:inline-flex;align-items:center;width:calc(var(--tree-cell) * 2);height:var(--tree-row-height);flex-shrink:0}.tree-branch-lines{position:absolute;inset:0;pointer-events:none}.tree-branch-lines svg{display:block;width:100%;height:100%}.tree-toggle{display:inline-flex;width:var(--tree-cell);height:var(--tree-row-height);align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;position:relative}.tree-toggle:hover svg rect{fill:var(--bg-toolbar)}.tree-toggle-spacer{display:inline-block;width:var(--tree-cell);height:var(--tree-row-height);flex-shrink:0;position:relative}.tree-checkbox{display:inline-flex;width:var(--tree-cell);height:var(--tree-row-height);align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;position:relative}.tree-checkbox-spacer{display:inline-block;width:var(--tree-cell);height:var(--tree-row-height);flex-shrink:0;position:relative}.tree-checkbox:hover svg rect:first-child{fill:var(--bg-toolbar)}.tree-icon{display:inline-flex;width:var(--tree-row-height);height:var(--tree-row-height);align-items:center;justify-content:center;flex-shrink:0;margin-left:0;margin-right:2px}.tree-label{font-size:12px;padding:1px 2px}.tree-suffix{font-size:11px;color:var(--text-secondary);margin-left:8px}.tree-children{display:block}#toolbar{position:relative;display:flex;align-items:center;gap:12px;height:var(--pb-bar-h);padding:0 var(--pb-bar-pad);background:var(--bg-panel);border-bottom:1px solid var(--border-color);color:var(--text-primary)}.tool-group{display:flex;gap:4px}.tool-btn{display:flex;align-items:center;justify-content:center;padding:6px 12px;background:transparent;border:1px solid transparent;border-radius:var(--pb-radius-sm);color:var(--text-primary);cursor:pointer;font-size:12px}.tool-btn:hover{background:var(--pb-hover)}.tool-btn.active{background:var(--accent);color:var(--pb-on-accent)}.tool-btn:disabled{opacity:.4;cursor:not-allowed}.tool-btn:disabled:hover{background:transparent}#toolbar .tool-btn img{filter:var(--icon-filter)}#toolbar .tool-btn.active img{filter:invert(1)}#toolbar .tbar-ico{width:18px;height:18px;object-fit:contain;filter:var(--icon-filter)}.tool-btn.icon-btn{width:32px;height:32px;padding:0}.tool-btn.icon-btn img,.tool-btn.icon-btn svg{width:20px;height:20px;object-fit:contain}.tool-btn svg{width:18px;height:18px}#toggle-grid,#toggle-backdrop,#toggle-materials{border:1px solid transparent}#toggle-grid:hover,#toggle-backdrop:hover,#toggle-materials:hover{border-color:var(--border-color)}.tool-select{padding:4px 24px 4px 8px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--pb-radius-sm);color:var(--text-primary);font-family:inherit;font-size:11px;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right 8px center}.tool-select:focus{outline:none;border-color:var(--accent)}.tool-select option{background:var(--bg-panel);color:var(--text-primary)}#status-bar{margin-left:auto;color:var(--text-secondary);font-size:12px}#footer-status{display:flex;padding:4px 12px;background:var(--bg-panel);border-top:1px solid var(--border-color);font-size:12px;color:var(--text-secondary);min-height:24px}#footer-status span{padding:0 12px;border-right:1px solid var(--border-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#status-mouse,#status-origin{width:160px}#status-blank{width:180px}#status-action,#status-element{width:200px}#status-info{flex:1;border-right:none}#toolbox-panel{width:200px;min-width:100px;max-width:400px;background:var(--bg-panel);border-right:none;display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0}#toolbox-resize-handle,#right-resize-handle{width:4px;background:var(--border-color);cursor:col-resize;flex-shrink:0;transition:background .15s;position:relative;touch-action:none}#toolbox-resize-handle:after,#right-resize-handle:after{content:"";position:absolute;inset:0 -20px;cursor:col-resize}#toolbox-resize-handle:hover,#toolbox-resize-handle.dragging,#right-resize-handle:hover,#right-resize-handle.dragging{background:var(--accent)}#layers-resize-handle{height:4px;background:var(--border-color);cursor:row-resize;flex-shrink:0;transition:background .15s;position:relative;touch-action:none}#layers-resize-handle:after{content:"";position:absolute;inset:-20px 0;cursor:row-resize}#layers-resize-handle:hover,#layers-resize-handle.dragging{background:var(--accent)}.toolbox-section{border-bottom:1px solid var(--border-color)}.toolbox-title{padding:8px 12px;font-size:11px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.toolbox-grid{display:flex;flex-wrap:wrap;gap:4px;padding:6px}.menu-separator{border:none;border-top:1px solid var(--border-color);margin:4px 8px}#toolbox-panel .tb-ico{width:100%;height:100%;object-fit:contain;filter:var(--icon-filter)}#toolbox-panel .tb-svg{width:100%;height:100%}#toolbox-panel [data-variant=primary] .tb-ico{filter:brightness(0) invert(1)}[data-theme=dark] #toolbox-panel [data-variant=primary] .tb-ico{filter:brightness(0)}#toolbox-panel [data-lasso=true]{outline:2px dashed color-mix(in srgb,currentColor,transparent 10%);outline-offset:-3px}.floating-btn{position:absolute;top:8px;right:8px;background:color-mix(in srgb,var(--pb-chrome-bg-deep),transparent 40%);color:var(--pb-chrome-ink);border:1px solid color-mix(in srgb,var(--pb-chrome-ink),transparent 70%);border-radius:var(--pb-radius-sm);padding:4px 8px;font-size:10px;font-weight:700;cursor:pointer;transition:opacity .2s,background .2s;height:24px;display:flex;align-items:center;justify-content:center}.floating-btn:hover{background:color-mix(in srgb,var(--pb-chrome-bg-deep),transparent 20%)}.floating-btn.active{background:var(--accent);color:var(--pb-on-accent);border-color:var(--accent)}.floating-btn-left{right:auto;left:8px}.floating-select{position:absolute;top:8px;right:8px;background:color-mix(in srgb,var(--pb-chrome-bg-deep),transparent 40%);color:var(--pb-chrome-ink);border:1px solid color-mix(in srgb,var(--pb-chrome-ink),transparent 70%);border-radius:var(--pb-radius-sm);padding:4px 6px;font-size:10px;cursor:pointer}.floating-select:hover{background:color-mix(in srgb,var(--pb-chrome-bg-deep),transparent 20%)}.floating-select:focus{outline:none}.floating-select option{background:var(--pb-chrome-surface);color:var(--pb-chrome-ink)}#right-panel{width:260px;min-width:150px;max-width:500px;min-height:0;background:var(--bg-panel);border-left:none;display:flex;flex-direction:column;overflow:hidden}#properties-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}#properties-panel h3{padding:8px 12px;margin:0;font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}#properties-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:0}.prop-group{margin-bottom:16px}.prop-group-title{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);margin-bottom:8px}.prop-label{width:140px;flex-shrink:0;font-size:11px;color:var(--text-secondary);text-align:right;padding-right:8px}.prop-input[type=number]{width:90px;flex:none}.prop-unit{margin-left:4px;font-size:11px;color:var(--text-secondary)}.prop-input[type=checkbox]{flex:none;width:auto;margin:0}.prop-checkbox-label{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-primary);cursor:pointer}.prop-checkbox-label input[type=checkbox]{margin:0}.prop-input[type=color]{width:60px;height:24px;flex:none;padding:0;cursor:pointer;-webkit-appearance:none;appearance:none;border:1px solid var(--border-color);border-radius:var(--pb-radius-sm);overflow:hidden}.prop-input[type=color]::-webkit-color-swatch-wrapper{padding:0}.prop-input[type=color]::-webkit-color-swatch{border:none;border-radius:2px;background:inherit}.prop-select{flex:1;padding:4px 24px 4px 8px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--pb-radius-sm);color:var(--text-primary);font-family:inherit;font-size:12px;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right 8px center}.prop-select option{background:var(--bg-panel);color:var(--text-primary)}.prop-button{padding:4px 12px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--pb-radius-sm);color:var(--text-primary);font-size:12px;cursor:pointer}.prop-button:hover{background:var(--pb-hover)}.prop-button:disabled{opacity:.5;cursor:not-allowed}.prop-button-row{display:flex;gap:8px;margin-bottom:6px;margin-left:140px}.prop-row-inline{display:flex;gap:8px}.prop-row-inline .prop-input{width:60px;flex:none}.prop-lock-icon{width:14px;height:14px;margin-left:6px;filter:var(--icon-filter)}.prop-lock-icon-clickable{cursor:pointer}.prop-lock-icon-clickable:hover{opacity:.7}.prop-header-sticky{position:sticky;top:-12px;background:var(--bg-panel);margin:-12px -12px 0;padding:12px 12px 8px;border-bottom:1px solid var(--border-color)}.prop-header-sticky .prop-row{gap:6px}.prop-header-sticky .prop-label{width:auto;padding-right:0;flex-shrink:0}.prop-header-sticky .prop-name-display{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--text-primary)}.prop-header-sticky .rename-btn{flex-shrink:0}.prop-side-switch{display:flex;flex:1}.prop-side-btn{flex:1;padding:3px 8px;background:var(--bg-dark);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;font-size:11px}.prop-side-btn:first-child{border-radius:var(--pb-radius-sm) 0 0 var(--pb-radius-sm)}.prop-side-btn:last-child{border-radius:0 var(--pb-radius-sm) var(--pb-radius-sm) 0;border-left:none}.prop-side-btn:hover:not(.active):not(:disabled){background:var(--pb-hover)}.prop-side-btn.active{background:var(--accent);border-color:var(--accent);color:var(--pb-on-accent);cursor:default}.prop-side-btn:disabled:not(.active){opacity:.5;cursor:default}.prop-header-sticky .prop-lock-icon{flex-shrink:0}.prop-header-sticky+.prop-tabs,.prop-header-sticky+.prop-group .prop-tabs{top:32px}.prop-select-with-goto{display:flex;align-items:center;flex:1;gap:4px}.prop-select-with-goto .prop-select{flex:1}.prop-goto-icon{width:12px;height:12px;cursor:pointer;flex-shrink:0}.prop-goto-icon:hover{opacity:.7}.prop-tabs{display:flex;margin:0 -12px 12px;padding:0 12px;background:var(--bg-panel);position:sticky;top:24px}.prop-tab{flex:1;padding:8px 4px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:10px;font-weight:600;cursor:pointer;text-transform:uppercase}.prop-tab:hover{color:var(--text-primary)}.prop-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.prop-tab-content{display:none}.prop-tab-content.active{display:block}.pp-react-host,.pp-legacy-host{min-width:0;flex:1;min-height:0}.pp-react-host{display:flex;flex-direction:column}.pp-legacy-host{overflow-y:auto;padding:12px}.ppr-root{flex:1;min-height:0;display:flex;flex-direction:column}.ppr-body{flex:1;min-height:0;overflow-y:auto;padding:12px}.ppr-placeholder{color:var(--text-secondary);font-size:12px;padding:12px}.ppr-header{flex-shrink:0;background:var(--bg-panel);padding:12px 12px 8px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:6px}.ppr-header-label{flex-shrink:0;font-size:11px;color:var(--text-secondary)}.ppr-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--text-primary)}.ppr-tabs{flex-shrink:0;background:var(--bg-panel);padding:4px 12px 8px;border-bottom:1px solid var(--border-color)}.ppr-group{margin-bottom:14px}.ppr-group-title{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary);margin-bottom:6px}.ppr-row{display:flex;align-items:center;gap:6px;margin-bottom:4px}.ppr-label{width:106px;flex-shrink:0;font-size:11px;color:var(--text-secondary);text-align:right}.ppr-control{flex:1;min-width:0}.ppr-select-wrap{display:flex;align-items:center;gap:4px}.ppr-select-wrap>:first-child{flex:1;min-width:0}.ppr-color{width:60px;height:24px;padding:0;cursor:pointer;-webkit-appearance:none;appearance:none;border:1px solid var(--border-color);border-radius:var(--pb-radius-sm);overflow:hidden;background:transparent}.ppr-color::-webkit-color-swatch-wrapper{padding:0}.ppr-color::-webkit-color-swatch{border:none;border-radius:2px}#layers-panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.layers-header{display:flex;align-items:center;border-bottom:1px solid var(--border-color);flex-shrink:0}.layers-header .panel-title{padding:8px 12px;margin:0;font-size:11px;font-weight:600;color:var(--text-secondary);border-bottom:none}.layers-filter-row{display:flex;align-items:center;gap:6px;padding:4px 12px;flex-shrink:0}.layers-filter-row label{font-size:11px;color:var(--text-secondary);flex-shrink:0}.layers-filter-row>*:first-child{flex:1;min-width:0}.layers-filter-case{flex-shrink:0;width:14px;height:14px;cursor:pointer}#layers-list{flex:1;min-height:0;overflow-y:auto;padding:8px}.layer-group{margin-bottom:2px;position:relative}.layer-icon{filter:var(--icon-filter)}.layer-header{display:flex;align-items:center;padding:2px 8px;border-radius:var(--pb-radius-sm);cursor:pointer;font-size:12px;position:relative;gap:4px}.layer-header:hover{background:var(--pb-hover)}.layer-header.selected .layer-name{background:var(--accent);color:var(--pb-on-accent);padding:2px 6px;margin:-2px 0;border-radius:2px}.layer-header.drag-over{background:var(--pb-accent-muted);outline:1px dashed var(--accent)}.root-layer>.layer-header{font-weight:400}.root-icon,.layer-icon{color:var(--text-secondary);flex-shrink:0}.root-drop-zone{display:none;padding:6px;text-align:center;border:1px dashed var(--border-color);border-radius:var(--pb-radius-sm);margin-bottom:4px;font-size:10px;color:var(--text-secondary)}.root-drop-zone.drag-over{display:block;background:var(--pb-accent-muted);border-color:var(--accent)}.tree-expand{width:16px;height:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative}.tree-expand-spacer{display:inline-block;width:16px;height:16px}.layer-expand{width:16px;height:16px;display:flex;align-items:center;justify-content:center;opacity:.5;transition:transform .15s}.layer-expand.expanded{transform:rotate(90deg)}.layer-visibility,.item-visibility{width:18px;height:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.7;flex-shrink:0}.layer-visibility:hover,.item-visibility:hover{opacity:1}.layer-visibility.hidden,.item-visibility.hidden{opacity:.3}.layer-visibility.mixed{opacity:.5}.layer-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-count{font-size:10px;color:var(--text-secondary);background:var(--badge-bg);padding:2px 6px;border-radius:var(--pb-radius-sm)}.layer-items{padding-left:32px}.layer-item-entry{display:flex;align-items:center;padding:2px 8px;border-radius:var(--pb-radius-sm);cursor:pointer;font-size:12px;gap:4px;position:relative}.layer-item-entry:hover{background:var(--pb-hover)}.layer-item-entry.selected .item-name{background:var(--accent);color:var(--pb-on-accent);padding:2px 6px;margin:-2px 0;border-radius:2px}.item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-type{font-size:9px;color:var(--text-secondary);opacity:.6}#item-picker{position:absolute;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--pb-radius-md);box-shadow:0 4px 16px var(--pb-shadow);min-width:180px;max-width:280px;max-height:300px;overflow-y:auto}#item-picker.hidden{display:none}#item-picker-list{padding:4px}.picker-item{padding:8px 12px;cursor:pointer;border-radius:var(--pb-radius-sm);font-size:12px;display:flex;align-items:center;gap:8px}.picker-item:hover{background:var(--pb-hover)}.picker-item.highlighted{background:var(--accent);color:var(--pb-on-accent)}.picker-item-type{color:var(--text-secondary);font-size:10px;background:var(--badge-bg);padding:2px 6px;border-radius:var(--pb-radius-sm)}.picker-item.highlighted .picker-item-type{background:color-mix(in srgb,var(--pb-on-accent),transparent 80%);color:color-mix(in srgb,var(--pb-on-accent),transparent 10%)}.modal{position:fixed;inset:0;background:var(--bg-dark);display:flex;flex-direction:column}.modal.hidden{display:none}.modal-header{display:flex;align-items:center;padding:8px 16px;background:var(--bg-toolbar);border-bottom:1px solid var(--border-color);gap:12px}.modal-title{flex:1;font-weight:600;font-size:13px}.modal-btn{padding:6px 16px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--pb-radius-sm);color:var(--text-primary);cursor:pointer;font-size:12px}.modal-btn:hover{background:var(--pb-hover)}.modal-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--pb-on-accent)}.modal-btn.primary:hover{background:var(--accent-hover)}.info-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.info-modal.hidden{display:none}.info-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep),transparent 50%)}.info-modal-content{position:relative;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--pb-radius-md);padding:20px;min-width:320px;max-width:450px;box-shadow:0 8px 32px var(--pb-shadow)}.info-modal-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:12px}.info-modal-message{font-size:13px;color:var(--text-primary);margin-bottom:8px}.info-modal-detail{font-size:12px;color:var(--text-secondary);margin-bottom:20px;line-height:1.5}.info-modal-buttons{display:flex;justify-content:flex-end;gap:8px}.info-modal-btn{padding:6px 20px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--pb-radius-sm);color:var(--text-primary);cursor:pointer;font-size:12px}.info-modal-btn:hover{background:var(--pb-hover)}.info-modal-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--pb-on-accent)}.info-modal-btn.primary:hover{background:var(--accent-hover)}.info-modal-btn:disabled{opacity:.5;cursor:not-allowed}.info-modal-btn.primary:disabled{background:var(--accent)}.info-modal-btn.primary:disabled:hover{background:var(--accent)}.rename-input{width:100%;padding:8px 10px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--pb-radius-sm);color:var(--text-primary);font-size:13px;margin-bottom:8px}.rename-input:focus{outline:none;border-color:var(--accent)}.rename-error{color:var(--pb-error);font-size:12px;min-height:18px}.layer-select{width:100%;padding:8px 28px 8px 10px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--pb-radius-sm);color:var(--text-primary);font-family:inherit;font-size:13px;margin-top:8px;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right 10px center}.layer-select:focus{outline:none;border-color:var(--accent)}.layer-select option{background:var(--bg-panel);color:var(--text-primary)}#delete-layer-message{margin:0 0 4px;font-size:13px}.rename-btn{padding:2px 8px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--pb-radius-sm);color:var(--text-primary);cursor:pointer;font-size:11px;margin-left:6px}.rename-btn:hover{background:var(--pb-hover)}.rename-btn:disabled{opacity:.5;cursor:not-allowed}#script-editor-container{flex:1;overflow:hidden}#close-confirm-modal .info-modal-content{min-width:400px;padding:28px 32px}#close-confirm-modal .info-modal-title{font-size:16px;margin-bottom:16px}#close-confirm-modal .info-modal-message{font-size:14px;margin-bottom:24px}#close-confirm-modal .info-modal-buttons{gap:12px}#close-confirm-modal .info-modal-btn{padding:8px 24px;font-size:13px}.loading-overlay{position:fixed;inset:0;background:var(--pb-chrome-bg);display:grid;place-items:center}.loading-overlay.hidden{display:none}.loading-panel{display:flex;flex-direction:column;align-items:center;gap:12px}.loading-panel-spinner{width:26px;height:26px;border:3px solid var(--pb-chrome-btn-line);border-top-color:var(--pb-accent);border-radius:50%;animation:loading-indicator-3d-spin .9s linear infinite}.loading-panel-text{font-size:13px;color:var(--pb-chrome-muted)}@media(prefers-reduced-motion:reduce){.loading-panel-spinner{animation:none}}body.input-disabled{pointer-events:none}.context-menu{position:fixed;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--pb-radius-md);box-shadow:0 4px 16px var(--pb-shadow);min-width:160px;padding:4px}.context-menu-item{padding:8px 12px;cursor:pointer;border-radius:var(--pb-radius-sm);font-size:12px;display:flex;align-items:center;gap:8px;color:var(--text-primary)}.context-menu-check{width:14px;text-align:center;font-size:11px}.context-menu-icon{width:14px;height:14px;margin-right:6px;vertical-align:middle;filter:invert(1)}[data-theme=light] .context-menu-icon{filter:none}.context-menu-item:hover{background:var(--accent);color:var(--pb-on-accent)}.context-menu-item:hover .context-menu-icon{filter:invert(1)}.context-menu-item.disabled{opacity:.5;pointer-events:none}.context-menu-separator{height:1px;background:var(--border-color);margin:4px 0}.context-menu-item.has-submenu{position:relative;justify-content:space-between}.context-menu-arrow{font-size:8px;margin-left:12px;opacity:.7}.context-submenu{position:absolute;left:100%;top:-4px;display:none;min-width:150px;overflow-y:auto;overflow-x:hidden}.context-menu-item.has-submenu:hover>.context-submenu{display:block}.context-submenu.flip-left{left:auto;right:100%}.context-submenu.flip-up{top:auto;bottom:-4px}#tooltip{position:fixed;padding:6px 10px;background:var(--tooltip-bg);color:var(--text-primary);font-size:11px;font-weight:400;white-space:nowrap;border-radius:var(--pb-radius-sm);border:1px solid var(--tooltip-border);box-shadow:0 2px 8px var(--pb-shadow);pointer-events:none;opacity:0;transition:opacity .15s}#tooltip.visible{opacity:1}#console-resize-handle{height:4px;background:var(--border-color);cursor:ns-resize;position:relative;touch-action:none}#console-resize-handle:after{content:"";position:absolute;inset:-20px 0;cursor:ns-resize}#console-resize-handle:hover{background:var(--accent)}#console-panel{display:flex;flex-direction:column;height:200px;min-height:100px;max-height:50vh;background:var(--bg-dark);border-top:1px solid var(--border-color)}#console-panel.hidden,#console-resize-handle.hidden{display:none}#console-panel.minimized{height:auto;min-height:0}#console-panel.minimized #console-output{display:none}#console-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:var(--bg-panel);border-bottom:1px solid var(--border-color);flex-shrink:0}#console-title{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-secondary)}#console-controls{display:flex;gap:4px}.console-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:none;border-radius:var(--pb-radius-sm);color:var(--text-secondary);cursor:pointer}.console-btn:hover{background:var(--border-color);color:var(--text-primary)}.console-btn.active{background:var(--accent);color:var(--pb-on-accent)}.console-btn img{width:14px;height:14px;filter:var(--icon-filter);opacity:.7}.console-btn:hover img{opacity:1}.console-btn.active img{filter:invert(1);opacity:1}.console-btn svg{width:14px;height:14px;opacity:.7}.console-btn:hover svg{opacity:1}#console-minimize .ico-restore,#console-panel.minimized #console-minimize .ico-min{display:none}#console-panel.minimized #console-minimize .ico-restore{display:block}#console-output{flex:1;overflow-y:auto;padding:8px;font-family:Menlo,Monaco,Courier New,monospace;font-size:11px;line-height:1.4;white-space:pre-wrap;word-wrap:break-word;user-select:text;-webkit-user-select:text;cursor:text;outline:none}#console-output:focus{box-shadow:inset 0 0 0 1px var(--accent)}#console-output .line{margin-bottom:1px}#console-output .line.stdout{color:var(--text-primary)}#console-output .line.stderr{color:var(--pb-error)}#console-output .line.info{color:var(--text-secondary)}#console-output ::selection{background:var(--accent);color:var(--pb-on-accent)}#console-output .line.command,#console-output .line.success{color:var(--pb-success)}#console-output .line.error{color:var(--pb-error)}#console-output .line.clickable{cursor:pointer;text-decoration:underline;text-underline-offset:2px}#console-output .line.clickable:hover{filter:brightness(1.2)}#console-output .log-error{color:var(--pb-error)}#console-output .log-warn{color:var(--pb-warning)}[data-theme=dark] #console-output .log-error{color:var(--pb-error)}[data-theme=dark] #console-output .log-warn{color:var(--pb-warning)}button:focus{outline:none}#app{display:flex;flex-direction:column;height:100%}#workspace{display:flex;flex:1;overflow:hidden}#canvas-container{flex:1;background:var(--canvas-bg);overflow:hidden;position:relative}#playfield-canvas{position:absolute;top:0;left:0;touch-action:none}#console-output,#properties-content,#layers-list{touch-action:pan-y}.placeholder{color:var(--text-secondary);font-style:italic;text-align:center;padding:20px}.loading-indicator-3d{position:absolute;bottom:12px;left:12px;display:flex;flex-direction:column;gap:6px;padding:8px 12px;min-width:180px;background:color-mix(in srgb,var(--pb-chrome-bg-deep),transparent 35%);color:var(--pb-chrome-ink);font-size:12px;border-radius:var(--pb-radius-md);pointer-events:none}.loading-indicator-3d-row{display:flex;align-items:center;gap:8px}.loading-indicator-3d-track{height:4px;border-radius:2px;background:color-mix(in srgb,var(--pb-chrome-ink),transparent 80%);overflow:hidden}.loading-indicator-3d-fill{height:100%;width:0;border-radius:2px;background:var(--pb-accent);transition:width .1s linear}.loading-indicator-3d-spinner{width:12px;height:12px;border:2px solid color-mix(in srgb,var(--pb-chrome-ink),transparent 70%);border-top-color:var(--pb-chrome-ink);border-radius:50%;animation:loading-indicator-3d-spin .8s linear infinite}@keyframes loading-indicator-3d-spin{to{transform:rotate(360deg)}}img{-webkit-user-drag:none;user-drag:none}[contenteditable]{user-select:text;-webkit-user-select:text}.rail-menu{display:flex;flex-direction:column;gap:1px}.rail-menu-group[hidden],.rail-menu-items[hidden],.rail-menu-item[hidden],.rail-menu-sep[hidden],.rail-action[hidden]{display:none}.rail-menu-chevron{margin-left:auto;color:var(--text-secondary);font-size:10px;transition:transform .12s ease}.rail-menu-group.open>.rail-menu-toggle .rail-menu-chevron{transform:rotate(90deg)}.rail-menu-items{display:flex;flex-direction:column;padding:2px 0 6px}.rail-menu-group-nested .rail-menu-items{padding-bottom:2px}.rail-menu-item{position:relative;display:flex;align-items:center;gap:8px;width:100%;padding:6px 9px 6px 33px;border:none;border-radius:6px;background:none;color:var(--text-primary);font-size:12.5px;text-align:left;cursor:pointer}.rail-menu-group-nested .rail-menu-item{padding-left:45px}.rail-menu-item:hover:not(:disabled){background:var(--bg-toolbar)}.rail-menu-item:disabled,.rail-action:disabled{color:var(--text-secondary);opacity:.45;cursor:default}.rail-menu-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-menu-shortcut{margin-left:auto;padding-left:12px;color:var(--text-secondary);font-size:11px;white-space:nowrap}.rail-menu-check{position:absolute;left:15px;width:11px;color:var(--accent)}.rail-menu-group-nested .rail-menu-check{left:27px}.rail-menu-sep{height:1px;background:var(--border-color);margin:4px 12px 4px 33px}.rail-menu-item:focus-visible,.rail-action:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.blueprint-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.blueprint-modal.hidden{display:none}.blueprint-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep),transparent 50%)}.blueprint-modal-window{position:relative;width:350px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--pb-radius-md);display:flex;flex-direction:column;box-shadow:0 8px 32px var(--pb-shadow)}.blueprint-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-toolbar);border-radius:var(--pb-radius-md) var(--pb-radius-md) 0 0}.blueprint-modal-title{font-weight:600;font-size:14px}.blueprint-modal-body{padding:16px;font-size:13px;color:var(--text-secondary)}.blueprint-modal-footer{padding:12px 16px;display:flex;flex-direction:column;gap:8px}.blueprint-modal-footer .win-btn{width:100%}.prop-group{padding:8px 12px;border-bottom:1px solid var(--border-color)}.prop-group-title{font-size:11px;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase}.prop-row{display:flex;align-items:center;margin-bottom:6px}.prop-label{min-width:80px;font-size:12px;color:var(--text-secondary)}.prop-input{flex:1;padding:4px 8px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--pb-radius-sm);color:var(--text-primary);font-size:12px}.prop-input:focus{outline:none;border-color:var(--accent)}.prop-select{flex:1;padding:4px 8px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--pb-radius-sm);color:var(--text-primary);font-size:12px;cursor:pointer}.prop-select:focus{outline:none}.material-used-by-type,.material-modal .used-by-type{color:var(--text-secondary);font-size:10px;margin-left:6px}.share-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.share-overlay.hidden{display:none}.share-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep),transparent 55%)}.share-window{position:relative;width:min(560px,calc(100vw - 32px));max-height:min(80vh,640px);overflow:auto;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--pb-radius-lg);box-shadow:0 12px 48px var(--pb-shadow)}.share-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color)}.share-title{font-size:15px;font-weight:600;color:var(--text-primary)}.share-close{font-size:18px;background:none;border:none;color:var(--text-secondary);cursor:pointer}.share-body{padding:14px 16px}.share-section{margin-bottom:16px}.share-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.share-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--text-primary)}.share-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-primary);cursor:pointer}.share-hint{font-size:12px;color:var(--text-secondary);margin:6px 0 8px}.share-link-row,.share-collab-row,.share-add-row{display:flex;align-items:center;gap:8px;margin:6px 0}.share-link-label{font-size:12px;color:var(--text-secondary);min-width:62px}.share-link-input,.share-name-input{flex:1;min-width:0;font-size:12px;padding:5px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--pb-radius-sm);color:var(--text-primary)}.share-role-select{font-size:12px;padding:5px 6px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--pb-radius-sm);color:var(--text-primary)}.share-btn-small{font-size:12px;padding:5px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--pb-radius-md);color:var(--text-primary);cursor:pointer}.share-btn-small:hover{border-color:var(--accent)}.share-btn-danger{color:var(--pb-error)}.share-collab-name{flex:1;font-size:13px;color:var(--text-primary)}.share-collab-role{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-secondary);min-width:76px}.share-busy{font-size:12px;color:var(--text-secondary);padding:4px 0}.share-stale{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--pb-warning);border-top:1px solid var(--border-color);padding-top:10px}.rt-pill{position:fixed;right:16px;bottom:16px;display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:999px;color:var(--text-primary);font-size:12px;box-shadow:0 2px 10px var(--pb-shadow)}.rt-dot{width:8px;height:8px;border-radius:50%;background:var(--pb-success)}.rt-btn{background:var(--bg-toolbar);border:1px solid var(--border-color);border-radius:999px;color:var(--text-primary);font-size:12px;padding:3px 10px;cursor:pointer}.rt-btn:hover{background:var(--bg-dark)}#collab-group{display:flex;align-items:center;gap:12px}html #app{flex-direction:row-reverse}#app-main{flex:1;min-width:0;display:flex;flex-direction:column;height:100%;position:relative}#app-rail{position:relative;display:flex;flex-direction:column;width:232px;flex-shrink:0;background:var(--bg-panel);border-right:1px solid var(--border-color);transition:width .15s ease}#app-rail[data-collapsed]{width:56px}.rail-mark{width:26px;height:26px;border-radius:6px;flex-shrink:0}#app-rail .astryx-side-nav-heading{min-height:44px;margin-block-start:-8px}.rail-nav{flex:1;min-height:0;overflow-y:auto;padding:4px 8px 8px;display:flex;flex-direction:column;gap:2px}.rail-action{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;border:none;border-radius:6px;background:none;color:var(--text-primary);font-size:12.5px;text-align:left;cursor:pointer}.rail-action:hover:not(:disabled){background:var(--bg-toolbar)}.rail-icon{width:15px;height:15px;flex-shrink:0;color:var(--text-secondary)}.rail-tables{display:flex;flex-direction:column;gap:1px}.rail-switcher{padding:6px 9px}.rail-tile{width:24px;height:24px;border-radius:6px;background:var(--bg-dark);color:var(--text-secondary);display:grid;place-items:center;font-size:11px;font-weight:600;flex-shrink:0;overflow:hidden}.rail-tile img{width:100%;height:100%;object-fit:cover;display:block}.rail-machine-text{display:flex;flex-direction:column;min-width:0;flex:1}.rail-machine-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rail-machine-meta{font-size:10.5px;color:var(--text-secondary)}.rail-foot{border-top:1px solid var(--border-color);padding:10px;display:flex;align-items:center;gap:8px;flex-shrink:0}.rail-tools{display:flex;align-items:center;gap:4px}#app-rail:not([data-collapsed]) .rail-tools{margin-inline-start:auto}#app-rail:not([data-collapsed]) .rail-signin{flex:1;width:auto}.rail-signin{width:100%}.rail-user{display:flex;align-items:center;width:100%;min-height:28px}#app-rail:not([data-collapsed]) .rail-signin button{justify-content:flex-start;padding-inline-start:14px}#app-rail:not([data-collapsed]) #auth-user{padding-inline-start:14px}#app-rail[data-collapsed] .rail-user{width:auto;justify-content:center}#rail-menu .astryx-side-nav{width:100%;min-width:0}#app-rail[data-collapsed] .rail-action-label,#app-rail[data-collapsed] .rail-machine-text{display:none}#app-rail[data-collapsed] .rail-nav{padding-inline:0}#app-rail[data-collapsed] .astryx-side-nav-item{margin-inline:auto}#app-rail[data-collapsed] .rail-action{justify-content:center;padding-left:0;padding-right:0}#app-rail[data-collapsed] .rail-menu{padding-left:0;padding-right:0}#app-rail[data-collapsed] .rail-foot{flex-direction:column;align-items:center;padding-left:6px;padding-right:6px}#app-rail[data-collapsed] .rail-tools{order:-1}#app-rail[data-collapsed] .rail-signin{width:auto}#rail-open{display:none}@media(max-width:879px){#app>#app-rail,#workspace>#toolbox-panel,#workspace>#toolbox-resize-handle,#workspace>#right-resize-handle,#workspace>#right-panel{display:none}#rail-open{display:inline-flex;align-items:center;margin-right:2px}#toolbar #status-bar{display:none}#toolbar #collab-group{margin-left:auto}#console-panel.minimized,html #footer-status{display:none}}#rail-drawer{position:fixed;inset:0 auto 0 0;margin:0;height:100dvh;max-height:100dvh;width:272px;max-width:85vw;padding:0;border:none;border-right:1px solid var(--border-color);background:var(--bg-panel);color:var(--text-primary);transform:translate(-100%);transition:transform .2s ease}#rail-drawer[open]{display:flex;transform:none}@starting-style{#rail-drawer[open]{transform:translate(-100%)}}#rail-drawer::backdrop{background:color-mix(in srgb,var(--pb-chrome-bg-deep),transparent 55%)}#rail-drawer #app-rail{display:flex;width:100%;border-right:none}@media(prefers-reduced-motion:reduce){#app-rail,#rail-drawer{transition:none}}.tg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.tg-thumb{position:relative;display:block;width:100%;aspect-ratio:16 / 10;padding:0;border:0;border-radius:var(--pb-radius-sm);background:var(--pb-chrome-bg-deep);cursor:pointer;overflow:hidden}.tg-thumb-tall{aspect-ratio:3 / 4}.tg-thumb img{width:100%;height:100%;object-fit:cover;display:block}.tg-thumb-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:42px;color:var(--text-secondary)}.tg-thumb-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:var(--pb-chrome-ink);background:color-mix(in srgb,var(--pb-chrome-bg-deep),transparent 55%);opacity:0;transition:opacity .12s ease}.tg-thumb:hover .tg-thumb-play,.tg-thumb:focus-visible .tg-thumb-play{opacity:1}.tg-cover{position:relative}.tg-thumb-badge{position:absolute;top:8px;left:8px}.tg-thumb-letter{font-size:34px;font-weight:600;color:var(--text-secondary)}.tg-credit{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}.tg-credit:hover{color:var(--accent)}.pb-part-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.pb-part{display:flex;flex-direction:column;gap:6px}.pb-part-thumb{position:relative;aspect-ratio:1 / 1;width:100%;padding:0;border:1px solid var(--border-color);border-radius:var(--pb-radius-md);background:var(--bg-dark);cursor:pointer;overflow:hidden}.pb-part-thumb img{width:100%;height:100%;object-fit:contain}.pb-part-thumb:disabled{cursor:default}.pb-part-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pb-part-add{position:absolute;inset:auto 0 0;padding:6px;background:color-mix(in srgb,var(--pb-chrome-bg-deep),transparent 25%);color:var(--pb-chrome-ink);font-size:12px;opacity:0;transition:opacity .12s ease}.pb-part-thumb:hover .pb-part-add,.pb-part-thumb:focus-visible .pb-part-add,.pb-part-thumb:disabled .pb-part-add{opacity:1}.collection-manager-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-radius:3px;cursor:pointer;font-size:13px}.collection-manager-item:hover{background:color-mix(in srgb,var(--bg-panel),var(--tint-hover) 5%)}.collection-manager-item.selected{background:var(--accent);color:#fff}.collection-manager-item.selected span{color:#fff}.collection-manager-item-count{font-size:11px;color:var(--text-secondary);padding:2px 6px;background:var(--bg-toolbar);border-radius:10px}.collection-manager-item.selected .collection-manager-item-count{background:var(--badge-bg);color:#fff}.collection-manager-item.dragging{opacity:.5}.collection-manager-item.drag-over-above{border-top:2px solid var(--accent)}.collection-manager-item.drag-over-below{border-bottom:2px solid var(--accent)}.collection-list-container{flex:1;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-panel);overflow-y:auto}.collection-list{padding:4px}.collection-buttons{display:flex;flex-direction:column;gap:6px;width:110px;flex-shrink:0}.collection-buttons .win-btn{text-align:center}.collection-status{font-size:11px;color:var(--text-secondary)}.editor-dialog{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:6px;width:700px;max-height:60vh;display:flex;flex-direction:column;padding:16px}.editor-header{display:flex;justify-content:space-between;align-items:center;margin:-16px -16px 12px;padding:10px 16px;background:var(--bg-toolbar);border-bottom:1px solid var(--border-color);border-radius:6px 6px 0 0}.editor-title{font-size:14px;font-weight:600}.editor-close{background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:0 4px;line-height:1}.editor-close:hover{color:var(--text-primary)}.editor-name-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.editor-name-row label{font-size:12px;color:var(--text-secondary)}.editor-name-row .win-input{flex:1}.editor-body{display:flex;gap:8px;flex:1;min-height:250px}.editor-panel{flex:1;display:flex;flex-direction:column;min-width:0}.editor-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;margin-bottom:6px}.editor-filter{margin-bottom:6px;flex:none}.editor-list{flex:1;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-panel);overflow-y:auto;min-height:150px}.editor-item{padding:5px 8px;cursor:pointer;font-size:12px}.editor-item:hover{background:color-mix(in srgb,var(--bg-panel),var(--tint-hover) 5%)}.editor-item.selected{background:var(--accent);color:#fff}.editor-item.dragging{opacity:.5}.editor-item.drag-over-above{border-top:2px solid var(--accent)}.editor-item.drag-over-below{border-bottom:2px solid var(--accent)}.editor-transfer{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 4px}.editor-transfer .win-btn{padding:6px 10px;min-width:32px}.editor-options{display:flex;flex-direction:column;gap:6px;margin:12px 0;padding:12px;background:var(--bg-toolbar);border-radius:4px}.editor-options label{display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer}.editor-options input[type=checkbox]{margin:0}.editor-footer{display:flex;justify-content:flex-end;gap:8px}.prompt-dialog{width:300px}.prompt-body{margin-bottom:12px}.prompt-body .win-input{width:100%}.overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep) 50%,transparent);display:flex;align-items:center;justify-content:center}.overlay.hidden{display:none}.collection-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.collection-modal.hidden{display:none}.collection-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep) 50%,transparent)}.collection-modal-window{position:relative;width:450px;height:400px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--pb-radius-md);display:flex;flex-direction:column;box-shadow:0 8px 32px var(--pb-shadow)}.collection-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-toolbar);border-bottom:1px solid var(--border-color);border-radius:var(--pb-radius-md) var(--pb-radius-md) 0 0}.collection-title{font-weight:600;font-size:14px}.collection-close{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:0 8px;line-height:1}.collection-close:hover{color:var(--text-primary)}.collection-body{flex:1;display:flex;gap:12px;padding:12px;overflow:hidden}.collection-modal .overlay{position:fixed}.collection-modal .editor-dialog{width:800px}.collection-modal .editor-options{margin:12px 0 0;padding:0;background:transparent}.image-thumb{width:40px;height:40px;object-fit:contain;background:color-mix(in srgb,var(--pb-chrome-bg-deep) 20%,transparent);border-radius:var(--pb-radius-sm)}.used-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600}.used-badge.yes{background:var(--pb-success-muted);color:var(--pb-success)}.used-badge.no{background:var(--badge-bg);color:var(--pb-text-secondary)}.manager-list tbody tr.selected .used-badge{background:color-mix(in srgb,var(--pb-on-accent) 20%,transparent);color:var(--pb-on-accent)}.sound-empty-state{padding:40px 20px;text-align:center;color:var(--text-secondary)}.sound-properties-panel{overflow-y:auto}.output-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600}.output-badge.table{background:var(--pb-success-muted);color:var(--pb-success)}.output-badge.backglass{background:var(--pb-warning-muted);color:var(--pb-warning)}.manager-list tbody tr.selected .output-badge{background:color-mix(in srgb,var(--pb-on-accent) 20%,transparent);color:var(--pb-on-accent)}.font-preview-sample{padding:12px;overflow:hidden;text-align:center;width:100%}.font-preview-large{font-size:44px;line-height:1.2;margin-bottom:8px}.font-preview-line{font-size:15px;line-height:1.5;overflow-wrap:break-word}#font-used-by-list{list-style:none;margin:4px 0 0;padding:0;font-size:11px}#font-used-by-list li{padding:2px 0}#font-used-by-list li.font-usage-empty{color:var(--text-secondary)}.material-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.material-modal.hidden{display:none}.material-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep) 50%,transparent)}.material-modal-window{position:relative;width:95vw;height:85vh;max-width:900px;max-height:700px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--pb-radius-md);display:flex;flex-direction:column;box-shadow:0 8px 32px var(--pb-shadow)}.material-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-toolbar);border-bottom:1px solid var(--border-color);border-radius:var(--pb-radius-md) var(--pb-radius-md) 0 0}.material-title{font-weight:600;font-size:14px}.material-close{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:0 8px;line-height:1}.material-close:hover{color:var(--text-primary)}.material-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-toolbar);border-bottom:1px solid var(--border-color)}.material-toolbar input[type=text]{padding:6px 10px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--pb-radius-sm);color:var(--text-primary);font-size:12px;width:200px}.material-toolbar input:focus{outline:none;border-color:var(--accent)}.material-toolbar-spacer{flex:1}.material-body{flex:1;display:flex;min-height:0}.material-list-container{width:280px;flex-shrink:0;overflow:auto;border-right:1px solid var(--border-color)}.material-list-table{width:100%;border-collapse:collapse;font-size:12px}.material-list-table thead{position:sticky;top:0;background:var(--bg-toolbar)}.material-list-table th{padding:8px 12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap;cursor:pointer}.material-list-table th:hover{color:var(--text-primary)}.material-list-table th.sort-asc:after{content:" ▲";font-size:9px}.material-list-table th.sort-desc:after{content:" ▼";font-size:9px}.material-list-table td{padding:6px 12px;border-bottom:1px solid var(--border-color);vertical-align:middle}.material-list-table tbody tr{cursor:pointer}.material-list-table tbody tr:hover{background:var(--pb-hover)}.material-list-table tbody tr.selected{background:var(--accent);color:var(--pb-on-accent)}.material-color-swatch,.material-modal .color-swatch{width:20px;height:20px;border-radius:var(--pb-radius-sm);border:1px solid var(--pb-border);display:inline-block;vertical-align:middle}.material-modal .used-badge{display:inline-block;padding:2px 6px;border-radius:10px;font-size:10px;font-weight:600}.material-modal .used-badge.yes{background:var(--pb-success-muted);color:var(--pb-success)}.material-modal .used-badge.no{background:var(--badge-bg);color:var(--pb-text-secondary)}.material-list-table tbody tr.selected .used-badge{background:color-mix(in srgb,var(--pb-on-accent) 20%,transparent);color:var(--pb-on-accent)}.material-props-panel{flex:1;overflow-y:auto;background:var(--bg-panel)}.material-empty-state{padding:40px 20px;text-align:center;color:var(--text-secondary)}.material-status{padding:4px 12px;background:var(--bg-toolbar);border-top:1px solid var(--border-color);font-size:11px;color:var(--text-secondary);border-radius:0 0 var(--pb-radius-md) var(--pb-radius-md)}.material-edit-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep) 50%,transparent);display:flex;align-items:center;justify-content:center}.material-edit-overlay.hidden{display:none}.material-edit-dialog{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--pb-radius-md);min-width:350px;max-width:400px;max-height:80vh;overflow-y:auto;box-shadow:0 4px 20px var(--pb-shadow);display:flex;flex-direction:column}.material-edit-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg-toolbar);border-bottom:1px solid var(--border-color);border-radius:var(--pb-radius-md) var(--pb-radius-md) 0 0}.material-edit-title{font-size:14px;font-weight:600}.material-edit-close{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:0 4px;line-height:1}.material-edit-close:hover{color:var(--text-primary)}.material-edit-content{padding:16px}.material-edit-error{color:var(--pb-error);font-size:11px;min-height:16px;margin-top:4px}.material-edit-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px}.material-context-menu{position:fixed;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:6px;padding:4px 0;min-width:120px;box-shadow:0 4px 12px var(--pb-shadow)}.material-context-menu.hidden{display:none}.material-context-menu-item{padding:6px 12px;cursor:pointer;font-size:12px}.material-context-menu-item:hover{background:var(--accent);color:var(--pb-on-accent)}.material-context-menu-divider{height:1px;background:var(--border-color);margin:4px 0}.material-used-by-item,.material-modal .used-by-item{padding:4px 8px;margin-bottom:2px;background:var(--pb-hover);border-radius:var(--pb-radius-sm);font-size:11px;cursor:pointer}.material-used-by-item:hover,.material-modal .used-by-item:hover{background:var(--pb-pressed)}.dimensions-body{display:flex;gap:16px;flex:1;min-height:0}.dimensions-list-panel{flex:1;display:flex;flex-direction:column;min-width:0}.dimensions-list-container{flex:1;overflow:auto;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-panel)}.dimensions-table{width:100%;border-collapse:collapse;font-size:12px}.dimensions-table thead{position:sticky;top:0;background:var(--bg-toolbar)}.dimensions-table th{padding:6px 8px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap;cursor:pointer}.dimensions-table th:hover{color:var(--text-primary)}.dimensions-table th.sort-asc:after{content:" ▲";font-size:9px}.dimensions-table th.sort-desc:after{content:" ▼";font-size:9px}.dimensions-table td{padding:4px 8px;border-bottom:1px solid var(--border-color)}.dimensions-table tbody tr{cursor:pointer}.dimensions-table tbody tr:hover{background:color-mix(in srgb,var(--bg-panel),var(--tint-hover) 5%)}.dimensions-table tbody tr.selected{background:var(--accent);color:#fff}.dimensions-table .comment-cell{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px;color:var(--text-secondary);font-size:11px}.dimensions-table tbody tr.selected .comment-cell{color:color-mix(in srgb,white,transparent 30%)}.dimensions-props-panel{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;overflow-y:auto;min-height:0}.dimensions-prop-group{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:4px;padding:10px}.dimensions-prop-title{font-size:11px;font-weight:600;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase}.dimensions-prop-section{font-size:11px;color:var(--text-secondary);margin:8px 0 4px}.dimensions-prop-section:first-of-type{margin-top:0}.dimensions-prop-row{display:flex;align-items:center;margin-bottom:4px}.dimensions-prop-label{min-width:85px;font-size:12px;color:var(--text-secondary);text-align:right;padding-right:8px}.dimensions-prop-input{width:60px;padding:3px 6px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);font-size:11px;text-align:right}.dimensions-prop-input:focus{outline:none;border-color:var(--accent)}.dimensions-prop-input.editable{color:var(--text-primary)}.dimensions-prop-value{font-size:12px;color:var(--text-primary)}.dimensions-footer{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.dimensions-footer-spacer{flex:1}.dimensions-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.dimensions-modal.hidden{display:none}.dimensions-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep) 50%,transparent)}.dimensions-modal-window{position:relative;width:95vw;height:80vh;max-width:950px;max-height:600px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--pb-radius-md);display:flex;flex-direction:column;box-shadow:0 8px 32px var(--pb-shadow);padding:12px}.dimensions-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dimensions-title{font-weight:600;font-size:14px}.dimensions-close{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:0 8px;line-height:1}.dimensions-close:hover{color:var(--text-primary)}.render-probe-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.render-probe-modal.hidden{display:none}.render-probe-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep) 50%,transparent)}.render-probe-modal-window{position:relative;width:750px;height:500px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:var(--pb-radius-md);display:flex;flex-direction:column;box-shadow:0 8px 32px var(--pb-shadow)}.render-probe-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--bg-toolbar);border-bottom:1px solid var(--border-color);border-radius:var(--pb-radius-md) var(--pb-radius-md) 0 0}.render-probe-title{font-weight:600;font-size:14px}.render-probe-close{background:none;border:none;color:var(--text-secondary);font-size:20px;cursor:pointer;padding:0 8px;line-height:1}.render-probe-close:hover{color:var(--text-primary)}.render-probe-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-toolbar);border-bottom:1px solid var(--border-color)}.render-probe-toolbar-spacer{flex:1}.render-probe-body{flex:1;display:flex;min-height:0;overflow:hidden}.render-probe-list-container{width:240px;flex-shrink:0;overflow:auto;border-right:1px solid var(--border-color);background:var(--bg-panel)}.render-probe-item,.probe-item{padding:8px 12px;cursor:pointer;font-size:12px;border-bottom:1px solid var(--border-color)}.render-probe-item:hover,.probe-item:hover{background:var(--pb-hover)}.render-probe-item.selected,.probe-item.selected{background:var(--accent);color:var(--pb-on-accent)}.render-probe-item.protected,.probe-item.protected{font-style:italic}.render-probe-props-panel{flex:1;overflow-y:auto;background:var(--bg-panel)}.render-probe-empty-state{padding:40px 20px;text-align:center;color:var(--text-secondary)}.render-probe-radio-row{margin-bottom:6px}.render-probe-radio-row label{display:flex;align-items:center;gap:8px;font-size:12px;cursor:pointer}.render-probe-radio-row input[type=radio]{margin:0}.render-probe-slider-row{display:flex;align-items:center;gap:12px}.render-probe-slider-row input[type=range]{flex:1;height:4px;-webkit-appearance:none;background:var(--border-color);border-radius:2px}.render-probe-slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer}.render-probe-slider-label{min-width:60px;font-size:12px;color:var(--text-secondary)}.render-probe-status{padding:4px 12px;background:var(--bg-toolbar);border-top:1px solid var(--border-color);font-size:12px;color:var(--text-secondary);border-radius:0 0 var(--pb-radius-md) var(--pb-radius-md)}.render-probe-context-menu{position:fixed;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:6px;padding:4px 0;min-width:120px;box-shadow:0 4px 12px var(--pb-shadow)}.render-probe-context-menu.hidden{display:none}.render-probe-context-menu .context-menu-item{padding:6px 12px;cursor:pointer;font-size:12px}.render-probe-context-menu .context-menu-item:hover{background:var(--accent);color:var(--pb-on-accent)}.render-probe-context-menu .context-menu-item.disabled{opacity:.5;cursor:not-allowed}.render-probe-context-menu .context-menu-item.disabled:hover{background:transparent;color:inherit}.render-probe-context-menu .context-menu-divider{height:1px;background:var(--border-color);margin:4px 0}.mesh-import-container{display:flex;flex-direction:column;height:100%;padding:16px}.mesh-import-file-row{display:flex;align-items:center;gap:8px;margin-bottom:16px}.mesh-import-file-row label{flex-shrink:0;font-size:13px}.mesh-import-file-row .win-input{flex:1}.mesh-import-options{border:1px solid var(--border-color);padding:12px 16px;margin-bottom:16px;flex:1}.mesh-import-options legend{padding:0 6px;font-size:12px;color:var(--text-secondary)}.mesh-import-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.mesh-import-grid label{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.mesh-import-grid label.full-width{grid-column:1 / -1}.mesh-import-grid input[type=checkbox],.mesh-import-grid input[type=radio]{margin:0}.mesh-import-footer{display:flex;justify-content:flex-end;gap:8px}.mesh-import-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.mesh-import-modal.hidden{display:none}.mesh-import-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep) 60%,transparent)}.mesh-import-modal-content{position:relative;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--pb-radius-md);width:520px;max-width:95vw;overflow:hidden;box-shadow:0 8px 32px var(--pb-shadow)}.mesh-import-modal .manager-header{background:var(--bg-toolbar);border-bottom:1px solid var(--border-color)}.mesh-import-modal-body{padding:0}.transform-container{display:flex;flex-direction:column}.transform-panel{padding:16px 20px}.transform-panel.hidden{display:none}.transform-body{display:flex;flex-direction:column;gap:10px}.transform-row{display:flex;align-items:center;gap:8px}.transform-row>label:first-child{width:80px;flex-shrink:0;text-align:right;font-size:12px;color:var(--text-secondary)}.transform-row.checkbox-row{padding-left:88px}.transform-row.checkbox-row>label{width:auto;text-align:left;color:var(--text-primary);cursor:pointer}.transform-row.checkbox-row>input[type=checkbox]{margin:0;cursor:pointer}.transform-row .spacer{width:80px;flex-shrink:0}.transform-row .coord-label{width:16px;text-align:right;font-size:12px;color:var(--text-secondary)}.transform-row .win-input{width:100px;padding:6px 8px;font-size:13px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary)}.transform-row .win-input:focus{outline:none;border-color:var(--accent)}.transform-row .win-input:disabled{opacity:.5}.transform-footer{display:flex;justify-content:space-between;padding:12px 20px 16px;border-top:1px solid var(--border-color);flex-shrink:0}.transform-footer .footer-left,.transform-footer .footer-right{display:flex;gap:8px}.transform-footer .win-btn{min-width:70px;padding:6px 12px;font-size:12px;background:var(--bg-toolbar);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer}.transform-footer .win-btn:hover{background:var(--bg-dark)}#astryx-transform-root dialog::backdrop{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.transform-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}.transform-modal.hidden{display:none}.transform-modal-backdrop{position:absolute;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep) 60%,transparent)}.transform-modal-content{position:relative;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:var(--pb-radius-md);width:380px;max-width:95vw;overflow:hidden;box-shadow:0 8px 32px var(--pb-shadow)}.transform-modal .manager-header{background:var(--bg-toolbar);border-bottom:1px solid var(--border-color)}.prompt-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--pb-chrome-bg-deep) 50%,transparent);display:flex;align-items:center;justify-content:center}.prompt-overlay.hidden{display:none}.prompt-dialog{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:8px;padding:16px;min-width:300px;box-shadow:0 4px 20px var(--pb-shadow)}.prompt-header{display:flex;align-items:center;justify-content:space-between;margin:-16px -16px 12px;padding:10px 16px;background:var(--bg-toolbar);border-bottom:1px solid var(--border-color);border-radius:8px 8px 0 0}.prompt-title{font-weight:600;font-size:14px}.prompt-close{background:none;border:none;color:var(--text-secondary);font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.prompt-close:hover{color:var(--text-primary)}.prompt-body{flex:1}.prompt-message{margin-bottom:16px;font-size:13px}.prompt-input{width:100%;padding:8px 10px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);font-size:13px;margin-bottom:4px}.prompt-input:focus{outline:none;border-color:var(--accent)}.prompt-error{color:var(--pb-error);font-size:11px;min-height:16px;margin-top:8px;margin-bottom:12px}.prompt-footer,.prompt-buttons{display:flex;justify-content:flex-end;gap:8px}.prompt-btn{padding:6px 12px;background:var(--bg-dark);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;font-size:12px}.prompt-btn:hover{background:color-mix(in srgb,var(--bg-dark),var(--tint-hover) 10%)}.prompt-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.prompt-btn.primary:hover{background:var(--accent-hover)}.prompt-btn:disabled{opacity:.5;cursor:not-allowed}#prompt-overlay{position:fixed}#mobile-footer{display:none;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:var(--bg-panel);border-top:1px solid var(--border-color);flex-shrink:0}#mobile-footer>*{flex:1;min-width:0}@media(max-width:879px){#mobile-footer{display:flex}}.panel-drawer{position:fixed;margin:0;height:100dvh;max-height:100dvh;width:300px;max-width:88vw;padding:0;border:none;background:var(--bg-panel);color:var(--text-primary);transition:transform .2s ease}.panel-drawer-left{--tool-cell: 36px;--tool-gap: 4px;--tool-cols: 2;inset:0 auto 0 0;width:calc(var(--tool-cols) * var(--tool-cell) + (var(--tool-cols) - 1) * var(--tool-gap) + 2 * 6px + 1px);border-right:1px solid var(--border-color);transform:translate(-100%)}.panel-drawer-right{inset:0 0 0 auto;border-left:1px solid var(--border-color);transform:translate(100%)}.panel-drawer[open]{display:flex;flex-direction:column;transform:none}@starting-style{.panel-drawer-left[open]{transform:translate(-100%)}.panel-drawer-right[open]{transform:translate(100%)}}.panel-drawer::backdrop{background:color-mix(in srgb,var(--pb-chrome-bg-deep),transparent 55%)}.panel-drawer>#toolbox-panel,.panel-drawer>#right-panel{display:flex;width:100%;min-width:0;max-width:none;height:100%;border-left:none;border-right:none;overflow-y:auto}@media(prefers-reduced-motion:reduce){.panel-drawer{transition:none}}.mobile-status{display:none;position:absolute;left:50%;bottom:14px;transform:translate(-50%);max-width:84%;padding:7px 12px;background:color-mix(in srgb,var(--pb-chrome-bg-deep),transparent 12%);color:var(--pb-chrome-ink);border:1px solid color-mix(in srgb,var(--pb-chrome-ink),transparent 75%);border-radius:var(--pb-radius-lg);font-family:var(--pb-font);font-size:12.5px;line-height:1.3;text-align:center;pointer-events:none}@media(max-width:879px){.mobile-status:not([hidden]){display:block}}
