html,body,#root{margin:0;height:100%;font-family:ui-sans-serif,system-ui,sans-serif;background:#0f1115;color:#e5e7eb}.app{display:flex;flex-direction:column;height:100%}.app-body{display:flex;flex:1;min-height:0}.side{flex:0 0 auto;min-height:0;display:flex;flex-direction:column}.side-left{border-right:1px solid #232733}.side-right{border-left:1px solid #232733}.splitter{flex:0 0 5px;cursor:col-resize;background:transparent;touch-action:none}.splitter:hover{background:#2b3140}.catalogue{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;background:#14171e}.catalogue-search{position:relative;padding:8px;border-bottom:1px solid #232733}.catalogue-search-icon{position:absolute;left:17px;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none}.catalogue-search input{width:100%;box-sizing:border-box;padding:7px 9px 7px 28px;background:#10131a;color:#e5e7eb;border:1px solid #2b3140;border-radius:5px;font-size:12px;outline:none}.catalogue-search input:focus{border-color:#f4a259}.catalogue-shelves{display:flex;flex-wrap:wrap;gap:4px;padding:6px 8px;border-bottom:1px solid #232733}.shelf-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;padding:3px 8px;border-radius:999px;background:#1b1f29;color:#aab1c0;border:1px solid #262b38;cursor:pointer}.shelf-chip:hover{border-color:#39414f}.shelf-chip.active{background:#f4a25924;border-color:#f4a259;color:#ffd7ad}.catalogue-facets{display:flex;gap:4px;padding:6px 8px;border-bottom:1px solid #232733}.catalogue-facets select{flex:1;min-width:0;background:#1b1f29;color:#d7dbe6;border:1px solid #262b38;border-radius:5px;font-size:11px;padding:4px 3px}.catalogue-scroll{flex:1;overflow-y:auto;padding:0 8px 12px}.catalogue-section+.catalogue-section{margin-top:8px}.catalogue-section h4{position:sticky;top:0;z-index:1;display:flex;justify-content:space-between;margin:0 0 4px;padding:4px 2px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#8b93a7;background:#14171e}.part-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.part-tile{position:relative;display:flex;flex-direction:column;gap:3px;min-width:0;padding:6px;background:#1b1f29;border:1px solid #262b38;border-radius:6px;cursor:pointer}.part-tile:hover{border-color:#39414f}.part-tile.active{border-color:#f4a259;box-shadow:inset 0 0 0 1px #f4a25959}.part-tile-thumb{display:block;height:46px;background:#0f1115;border-radius:4px;overflow:hidden}.part-thumb{display:block;width:100%;height:100%}.part-tile-name{min-width:0;font-size:11px;line-height:1.2;color:#e5e7eb}.part-tile-sub{min-width:0;font-size:9.5px;color:#8b93a7}.part-star{position:absolute;top:3px;right:3px;display:inline-flex;align-items:center;justify-content:center;padding:2px;border:none;background:transparent;color:#5b6472;line-height:1;cursor:pointer}.part-star:hover,.part-star.on{color:#f4c15e}.catalogue-empty{padding:24px 8px;text-align:center;font-size:11px;color:#6b7280}.catalogue-footer{padding:6px 10px;font-size:10px;color:#6b7280;border-top:1px solid #232733}.context-menu{position:fixed;z-index:30;min-width:190px;padding:4px;background:#14171e;border:1px solid #2b3140;border-radius:6px;box-shadow:0 12px 30px #00000080}.context-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;border:none;background:transparent;color:#d7dbe6;font-size:12px;text-align:left;border-radius:4px;cursor:pointer}.context-menu-check{display:inline-flex;justify-content:center;width:14px;color:#f4c15e}.context-menu-label{flex:1;min-width:0}.joint-menu-label{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%}.joint-menu-conn{flex:0 0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:#9aa0a8}.joint-menu-arrow{flex:0 0 auto;color:#6b7280}.joint-menu-partner{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-menu-item:hover:not(:disabled){background:#232733}.context-menu-item.danger{color:#e55934}.context-menu-item.danger:hover:not(:disabled){background:#e559341f}.context-menu-item:disabled{color:#5b6472;cursor:default}.context-menu-item kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:#8b93a7}.context-menu-item.open{background:#232733}.context-menu-chevron{flex:0 0 auto;color:#8b93a7}.context-menu-subwrap{position:relative}.context-submenu{position:absolute;left:calc(100% - 4px);top:-4px;min-width:150px;padding:4px;background:#14171e;border:1px solid #2b3140;border-radius:6px;box-shadow:0 12px 30px #00000080;z-index:10}.context-submenu.left{left:auto;right:calc(100% - 4px)}.context-menu-sep{height:1px;margin:4px 6px;background:#262b38}.status-modal{color:#ffd7ad}.bom-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;display:flex;justify-content:center;align-items:flex-start;padding-top:8vh;background:#00000059}.bom-panel{width:min(720px,92vw);max-height:80vh;display:flex;flex-direction:column;background:#14171e;border:1px solid #2b3140;border-radius:8px;box-shadow:0 18px 48px #0000008c;overflow:hidden}.bom-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #232733}.bom-header h2{margin:0;font-size:14px;color:#e5e7eb}.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;background:transparent;color:#8b93a7;border-radius:4px;cursor:pointer}.icon-btn:hover{background:#232733;color:#fff}.bom-summary{display:flex;gap:18px;padding:8px 14px;font-size:11px;color:#8b93a7;border-bottom:1px solid #232733}.bom-table-wrap{flex:1;overflow:auto}.bom-table{width:100%;border-collapse:collapse;font-size:12px}.bom-table th,.bom-table td{padding:6px 10px;text-align:left;white-space:nowrap;color:#d7dbe6;border-bottom:1px solid #1f242e}.bom-table th{position:sticky;top:0;background:#10131a;color:#8b93a7;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.06em}.bom-table .num{text-align:right;font-variant-numeric:tabular-nums}.bom-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.bom-table th.sortable:hover{color:#c7cddb}.bom-th-inner{display:inline-flex;align-items:center;gap:4px}.bom-sort-idle{opacity:.3}.bom-empty{text-align:center;color:#6b7280;padding:24px}.bom-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid #232733}.bom-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;font-size:12px;color:#e5e7eb;background:#1b1f29;border:1px solid #2b3140;border-radius:5px;cursor:pointer}.bom-btn:hover{border-color:#f4a259;color:#ffd7ad}.feedback-panel{width:min(520px,92vw)}.feedback-form{display:flex;flex-direction:column;gap:8px;padding:14px}.feedback-categories{display:flex;gap:6px;margin-bottom:4px}.feedback-cat{padding:6px 14px;font-size:12px;color:#d7dbe6;background:#1b1f29;border:1px solid #2b3140;border-radius:6px;cursor:pointer}.feedback-cat.active{color:#ffd7ad;border-color:#f4a259;background:#f4a2591f}.feedback-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#8b93a7}.feedback-input{width:100%;box-sizing:border-box;padding:8px 10px;font-size:13px;font-family:inherit;color:#e5e7eb;background:#10131a;border:1px solid #2b3140;border-radius:6px}.feedback-input:focus{outline:none;border-color:#f4a259}.feedback-textarea{min-height:130px;resize:vertical}.feedback-error{font-size:12px;color:#ffb4a2}.feedback-actions{padding:4px 0 0}.feedback-success{padding:16px 14px;color:#d7dbe6;font-size:13px}.feedback-success p{margin:0 0 10px}.helix-part{padding:8px 10px;font-size:12px;color:#d7dbe6;background:#10131a;border:1px solid #232733;border-radius:6px}.helix-row{display:flex;gap:8px}.helix-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.helix-check{display:flex;align-items:center;gap:8px;font-size:12px;color:#d7dbe6;cursor:pointer}.helix-check input:disabled{cursor:not-allowed}.helix-preview{display:flex;flex-wrap:wrap;gap:14px;padding:8px 10px;font-size:11px;color:#8b93a7;background:#10131a;border:1px solid #232733;border-radius:6px}.inspector-col{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;background:#14171e}.outliner{flex:1 1 42%;min-height:0;display:flex;flex-direction:column;border-bottom:1px solid #232733}.properties{flex:1 1 58%;min-height:0;display:flex;flex-direction:column}.layers{flex:0 0 auto;min-height:0;display:flex;flex-direction:column;border-bottom:1px solid #232733}.layers .panel-body{max-height:184px;padding:4px 6px 6px}.layers-row{display:flex;align-items:center;gap:6px;width:100%;padding:3px 4px;border:none;background:transparent;color:#d7dbe6;font:inherit;font-size:12px;text-align:left;border-radius:4px;cursor:pointer}.layers-row:hover{background:#1b1f29}.layers-row.off{color:#6b7280}.layers-row .icon-toggle{pointer-events:none}.panel-header{display:flex;align-items:center;justify-content:space-between;height:26px;flex:0 0 26px;padding:0 10px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#8b93a7;border-bottom:1px solid #232733}.panel-body{flex:1;min-height:0;overflow-y:auto;padding:6px 8px 12px}.panel-empty{padding:12px 4px;font-size:11px;color:#6b7280}.outliner-row{display:flex;align-items:center;gap:4px;box-sizing:border-box;height:22px;padding:0 4px;border-radius:4px;font-size:12px;color:#d7dbe6;cursor:pointer;-webkit-user-select:none;user-select:none}.outliner-row:hover{background:#1b1f29}.outliner-row.selected{background:#f4a25929;color:#ffd7ad}.outliner-row.dim{opacity:.45}.outliner-row.locked{cursor:default}.outliner-row[draggable=true]{cursor:grab}.outliner-header-actions{display:inline-flex;align-items:center;gap:4px}.icon-toggle.danger:hover{color:#e55934}.icon-toggle:disabled{opacity:.3;color:#5b6472;cursor:default}.outliner-group-wrap.drop{outline:1px dashed #f4a259;outline-offset:1px;border-radius:4px;background:#f4a2590f}.outliner-body{padding:4px 4px 12px}.outliner-row.collection .row-label{font-weight:600;color:#c6ccd8}.outliner-row.active{box-shadow:inset 0 0 0 1px #3a4356}.outliner-row.ungrouped .row-label{color:#6b7280;font-weight:500}.row-chevron,.row-chevron-spacer{flex:0 0 auto;width:15px;display:inline-flex;align-items:center;justify-content:center}.row-chevron{padding:0;border:none;background:transparent;color:#8b93a7;cursor:pointer}.row-chevron:hover{color:#fff}.row-chevron:has(~.row-icon:hover){color:#fff}button.row-icon:hover,.outliner-row.collection button.row-icon:hover{color:#ffd7ad}.row-icon{flex:0 0 auto;display:inline-flex;color:#8b93a7}button.row-icon{padding:0;border:none;background:transparent;cursor:pointer}.outliner-row.collection .row-icon{color:#f4a259}.row-count{flex:0 0 auto;margin-right:2px;font-size:10px;color:#6b7280}.row-toggles{flex:0 0 auto;display:inline-flex;gap:2px}.outliner-row .row-rename-input{flex:1;min-width:0;height:18px;padding:0 4px;font-size:12px;line-height:16px;border-radius:3px}.outliner-root-drop{margin:8px 2px 4px;padding:6px;border:1px dashed #2b3140;border-radius:4px;text-align:center;font-size:10px;color:#6b7280}.outliner-root-drop.drop{border-color:#f4a259;color:#ffd7ad;background:#f4a2590f}.row-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-sub{font-size:10px;color:#6b7280}.icon-toggle{display:inline-flex;padding:1px;border:none;background:transparent;color:#5b6472;cursor:pointer}.icon-toggle.on{color:#c6ccd8}.icon-toggle:hover{color:#fff}.prop-section{margin:12px -8px 4px;padding:10px 10px 0;border-top:1px solid #262b38;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}.prop-field{display:flex;align-items:center;gap:8px;margin:3px 0;font-size:11px;color:#8b93a7}.prop-field>span{flex:0 0 52px}.prop-input{flex:1;min-width:0;box-sizing:border-box;padding:4px 6px;background:#10131a;color:#e5e7eb;border:1px solid #2b3140;border-radius:4px;font-size:11px;outline:none}.prop-input:focus{border-color:#f4a259}.prop-input.num{text-align:right;font-variant-numeric:tabular-nums}.prop-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.prop-grid.cols-2{grid-template-columns:1fr 1fr}.prop-grid .prop-field{min-width:0;flex-direction:column;align-items:stretch;gap:2px;margin:0}.prop-grid .prop-field>span{flex:none}.prop-row{display:flex;align-items:center;gap:6px;padding:2px;font-size:11px;color:#8b93a7}.prop-row>span:first-child{flex:1}.prop-row b{color:#d7dbe6;font-weight:500}.prop-toggles{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.prop-toggle{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;color:#aab1c0;background:#1b1f29;border:1px solid #262b38;border-radius:4px;cursor:pointer}.prop-toggle.on{color:#ffd7ad;border-color:#f4a259}.joint-item{padding:7px 9px;margin-bottom:6px;background:#14161c;border:1px solid #232936;border-radius:6px}.prop-row.joint-row{padding:0;gap:8px}.prop-row.joint-row>span:first-child{flex:0 0 9px}.joint-dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px;box-shadow:0 0 0 3px #ffffff0a}.joint-dot.open{background:#4b5563}.joint-dot.near{background:#d97706;box-shadow:0 0 0 3px #d9770624}.joint-dot.mated{background:#2f8f3a;box-shadow:0 0 0 3px #2f8f3a29}.joint-dot.detached{background:#dc2626;box-shadow:0 0 0 3px #dc262629}.joint-title{flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;gap:5px;font-family:inherit;font-size:12px;font-weight:500;color:#e5e7eb;text-align:left;background:none;border:none;padding:0;border-radius:4px;cursor:text}.joint-title-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.joint-title:hover .joint-title-text{color:#f4a259;text-decoration:underline dotted;text-underline-offset:2px}.joint-title.default .joint-title-text{color:#9aa0a8}.joint-title .joint-edit{flex:0 0 auto;color:#6b7280;opacity:0;transition:opacity .12s ease}.joint-title:hover .joint-edit{opacity:1}.joint-title.static{cursor:default;color:#8b93a7;font-weight:400}.joint-state-note{font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:#6b7280}.joint-title-input{flex:1 1 auto;min-width:0}.joint-partner{display:inline-flex;align-items:center;gap:5px;max-width:100%;margin:5px 0 0;padding:0;font-family:inherit;font-size:11px;color:#8b93a7;text-align:left;background:none;border:none;cursor:pointer}.joint-partner:hover{color:#f4a259}.joint-partner-arrow{flex:0 0 auto;color:#6b7280}.joint-partner:hover .joint-partner-arrow{color:#f4a259}.joint-partner-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.joint-conn-chip{flex:0 0 auto;padding:0 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.5;color:#9aa0a8;background:#1b202b;border:1px solid #262b38;border-radius:3px}.joint-actions{flex:0 0 auto;display:flex;gap:5px}.joint-btn{font-family:inherit;font-size:10px;line-height:1.6;padding:2px 8px;color:#aab1c0;background:#1b1f29;border:1px solid #2a3040;border-radius:999px;cursor:pointer;transition:color .12s ease,border-color .12s ease,background .12s ease}.joint-btn:hover{color:#e5e7eb;border-color:#3a4356}.joint-btn.accent{color:#ffd7ad;background:#241a10;border-color:#7a4a1e}.joint-btn.accent:hover{color:#ffe3c4;border-color:#f4a259}.joint-btn.on{color:#ffd7ad;background:#241a10;border-color:#f4a259}.canvas-host{flex:1;min-width:0;display:flex;flex-direction:column}.canvas-stage{position:relative;flex:1;min-height:0}.pixi-host{position:relative;overflow:hidden;background:#0f1218}.pixi-host canvas{display:block}.pixi-hud{position:absolute;bottom:34px;right:8px;z-index:2;padding:3px 8px;border-radius:6px;background:#0f1115d9;color:#ffd7ad;font-size:12px;line-height:1.4;font-variant-numeric:tabular-nums;text-align:right;white-space:pre-line;pointer-events:none}.editor-menubar{display:flex;align-items:stretch;height:26px;flex:0 0 26px;background:#14171e;border-bottom:1px solid #232733;-webkit-user-select:none;user-select:none}.menu{position:relative;display:flex}.menu-title{padding:0 10px;border:none;background:transparent;color:#c6ccd8;font-size:12px;cursor:pointer}.menu-title:hover,.menu-title.open{background:#232733;color:#fff}.menu-dropdown{position:absolute;top:100%;left:0;z-index:30;min-width:200px;padding:4px;background:#14171e;border:1px solid #2b3140;border-radius:6px;box-shadow:0 12px 30px #00000080}.menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;border:none;background:transparent;color:#d7dbe6;font-size:12px;text-align:left;border-radius:4px;cursor:pointer}.menu-check{display:inline-flex;justify-content:center;width:14px;color:#f4c15e}.menu-label{flex:1}.menu-item:hover:not(:disabled){background:#232733}.menu-item:disabled{color:#5b6472;cursor:default}.menu-item.open{background:#232733}.menu-chevron{flex:0 0 auto;color:#8b93a7}.menu-subwrap{position:relative}.menu-submenu{position:absolute;left:calc(100% - 4px);top:-4px;z-index:10;min-width:200px;padding:4px;background:#14171e;border:1px solid #2b3140;border-radius:6px;box-shadow:0 12px 30px #00000080}.menu-item kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:#8b93a7}.menu-sep{height:1px;margin:4px 6px;background:#262b38}.hint{position:absolute;left:12px;bottom:12px;font-size:11px;color:#8b93a7;background:#0f1115bf;padding:6px 8px;border-radius:4px;pointer-events:none}.status-bar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:16px;height:26px;padding:0 10px;font-size:11px;color:#8b93a7;background:#0f1115e6;border-top:1px solid #232733;pointer-events:none;overflow:hidden}.status-bar-selection{color:#f4a259;white-space:nowrap}.status-bar-hints{display:flex;gap:12px;overflow:hidden}.status-hint{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.status-bar kbd,.command-search kbd{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:#d7dbe6;background:#1b1f29;border:1px solid #2b3140;border-radius:3px;padding:1px 5px}.command-search-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;background:#00000059}.command-search{width:min(560px,90vw);background:#14171e;border:1px solid #2b3140;border-radius:8px;box-shadow:0 18px 48px #0000008c;overflow:hidden}.command-search-field{display:flex;align-items:center;gap:8px;padding:0 14px;color:#6b7280;background:#10131a;border-bottom:1px solid #2b3140}.command-search-input{flex:1;box-sizing:border-box;padding:12px 0;font-size:14px;color:#e5e7eb;background:transparent;border:none;outline:none}.command-search-list{list-style:none;margin:0;padding:4px;max-height:45vh;overflow-y:auto}.command-search-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 10px;border-radius:5px;font-size:12px;color:#d7dbe6;cursor:pointer}.command-search-list li.active{background:#232733}.command-search-category{display:inline-block;min-width:52px;margin-right:8px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}.command-search-empty{color:#6b7280;cursor:default}.spin{animation:layrails-spin .9s linear infinite}@keyframes layrails-spin{to{transform:rotate(360deg)}}.screen-center{display:grid;place-items:center;min-height:100%;color:#8b93a7}.hint-inline{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#8b93a7}.auth-screen{display:grid;place-items:center;min-height:100%;padding:24px;box-sizing:border-box}.auth-card{width:min(380px,100%);display:flex;flex-direction:column;gap:12px;padding:28px;background:#14171e;border:1px solid #2b3140;border-radius:12px;box-shadow:0 18px 48px #00000073;text-align:center}.auth-card h1{margin:0;font-size:20px;color:#e5e7eb}.auth-logo{display:grid;place-items:center;width:52px;height:52px;margin:0 auto;border-radius:12px;color:#f4a259;background:#f4a2591f}.auth-sub{margin:0 0 4px;font-size:12.5px;line-height:1.5;color:#8b93a7}.auth-error{padding:8px 10px;font-size:12px;color:#ffb4a2;background:#e559341f;border:1px solid rgba(229,89,52,.35);border-radius:6px}.auth-primary,.auth-secondary,.btn-primary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 12px;font-size:12.5px;border-radius:6px;cursor:pointer;white-space:nowrap}.auth-primary,.btn-primary{color:#1a1206;background:#f4a259;border:1px solid #f4a259;font-weight:600}.auth-primary:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:#ffb877;border-color:#ffb877}.auth-secondary,.btn-ghost{color:#d7dbe6;background:#1b1f29;border:1px solid #2b3140}.auth-secondary:hover:not(:disabled),.btn-ghost:hover:not(:disabled){border-color:#f4a259;color:#ffd7ad}.btn-ghost.danger:hover:not(:disabled){border-color:#e55934;color:#ffb4a2}.auth-primary:disabled,.auth-secondary:disabled,.btn-primary:disabled,.btn-ghost:disabled{opacity:.5;cursor:default}.auth-divider{position:relative;text-align:center;color:#5b6472;font-size:11px}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#232733}.auth-divider span{position:relative;padding:0 8px;background:#14171e}.dashboard{display:flex;flex-direction:column;height:100%}.dashboard-header,.editor-header{display:flex;align-items:center;gap:12px;height:46px;flex:0 0 46px;padding:0 14px;background:#14171e;border-bottom:1px solid #232733}.dashboard-brand{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#e5e7eb}.dashboard-brand svg{color:#f4a259}.dashboard-user,.editor-user{margin-left:auto;display:inline-flex;align-items:center;gap:10px}.dashboard-username,.editor-username{font-size:12.5px;color:#aab1c0}.dashboard-body{flex:1;min-height:0;overflow-y:auto;padding:24px clamp(16px,4vw,48px)}.dashboard-title-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.dashboard-title-row h1{margin:0;font-size:18px;color:#e5e7eb}.dashboard-new{display:inline-flex;gap:8px}.dashboard-new input{width:220px;padding:8px 10px;font-size:12.5px;color:#e5e7eb;background:#10131a;border:1px solid #2b3140;border-radius:6px;outline:none}.dashboard-new input:focus{border-color:#f4a259}.dashboard-error{margin-bottom:14px;padding:8px 10px;font-size:12px;color:#ffb4a2;background:#e559341f;border:1px solid rgba(229,89,52,.35);border-radius:6px}.dashboard-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:64px 0;color:#6b7280;font-size:13px}.dashboard-empty p{margin:0}.layout-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.layout-card{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#14171e;border:1px solid #232733;border-radius:8px;cursor:pointer}.layout-card:hover{border-color:#2b3140}.layout-info{flex:1;min-width:0}.layout-name{display:inline-block;box-sizing:border-box;height:24px;line-height:16px;vertical-align:middle;max-width:100%;margin-left:-7px}.layout-name.editor-title-input{field-sizing:content}.layout-meta{display:flex;align-items:center;gap:10px;margin-top:5px;font-size:11px;color:#6b7280}.layout-role{text-transform:capitalize;padding:1px 7px;border-radius:999px;color:#aab1c0;background:#1b1f29;border:1px solid #262b38}.layout-gauge{color:#8b93a7}.layout-date{display:inline-flex;align-items:center;gap:4px}.layout-actions{display:inline-flex;align-items:center;gap:6px}.editor-header{height:44px;flex:0 0 44px;gap:10px;padding:0 12px}.editor-header .btn-primary,.editor-header .btn-ghost{height:28px;padding:0 11px;font-size:12px;line-height:1;border-radius:6px}.editor-header .editor-user{gap:8px}.user-menu{position:relative}.user-menu-trigger{gap:6px}.user-menu-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-dropdown{left:auto;right:0;min-width:190px}.user-menu-email{padding:6px 8px 7px;margin-bottom:4px;font-size:11px;color:#8b93a7;border-bottom:1px solid #262b38;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-ghost.accent{color:#ffd7ad;background:#f4a2591f;border-color:#f4a25980}.btn-ghost.accent:hover:not(:disabled){background:#f4a25933;border-color:#f4a259;color:bisque}.editor-title{min-width:0;font-size:13px;color:#e5e7eb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-title.editable{padding:3px 7px;font:inherit;font-size:13px;background:transparent;border:1px solid transparent;border-radius:5px;cursor:text}.editor-title.editable:hover{background:#1b1f29;border-color:#2b3140}.editor-title-input{min-width:120px;max-width:320px;padding:3px 7px;font:inherit;font-size:13px;color:#e5e7eb;background:#10131a;border:1px solid #f4a259;border-radius:5px;outline:none}.editor-notice{padding:7px 14px;font-size:12px;color:#ffd7ad;background:#f4a2591f;border-bottom:1px solid rgba(244,162,89,.3)}.editor-notice.error{color:#ffb4a2;background:#e559341f;border-bottom-color:#e5593459}.badge-guest{font-size:10.5px;padding:2px 8px;border-radius:999px;white-space:nowrap;color:#ffd7ad;background:#f4a2591f;border:1px solid rgba(244,162,89,.4)}.limit-banner{padding:7px 14px;font-size:12px;color:#ffd7ad;background:#f4a2591f;border-bottom:1px solid rgba(244,162,89,.3)}.linklike{padding:0;border:none;background:transparent;color:#f4a259;font:inherit;text-decoration:underline;cursor:pointer}.brand{display:inline-flex;align-items:center;gap:9px;color:#e5e7eb;font-weight:600;letter-spacing:-.01em}.brand-mark{display:inline-flex;color:#f4a259}.brand-name{font-size:15px}.landing{position:relative;isolation:isolate;height:100%;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;background:radial-gradient(1100px 520px at 78% -8%,rgba(244,162,89,.13),transparent 60%),#0f1115}.landing:before{content:"";position:absolute;z-index:-1;top:0;left:0;right:0;height:min(880px,105vh);pointer-events:none;background-image:linear-gradient(to right,rgba(244,162,89,.17) 1px,transparent 1px),linear-gradient(to bottom,rgba(244,162,89,.17) 1px,transparent 1px);background-size:42px 42px;background-position:center top;-webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.85) 38%,rgba(0,0,0,.25) 72%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.85) 38%,rgba(0,0,0,.25) 72%,transparent 100%)}.landing-section,.landing-cta-band{scroll-margin-top:72px}.landing-nav{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(35,39,51,.8);background:#0f1115d1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landing-nav-inner{max-width:1120px;margin:0 auto;height:60px;padding:0 24px;display:flex;align-items:center;gap:28px}.landing-brand-link{text-decoration:none;color:inherit}.landing-links{display:flex;gap:22px;margin-left:8px}.landing-links a{font-size:13px;color:#aab1c0;text-decoration:none}.landing-links a:hover{color:#ffd7ad}.landing-nav-actions{margin-left:auto}.landing-hero{max-width:1120px;margin:0 auto;padding:clamp(40px,7vw,88px) 24px clamp(32px,5vw,64px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:clamp(28px,5vw,56px)}.landing-eyebrow{display:inline-block;margin-bottom:16px;padding:4px 10px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#ffd7ad;background:#f4a2591f;border:1px solid rgba(244,162,89,.35);border-radius:999px}.landing-hero h1{margin:0 0 16px;font-size:clamp(30px,4.4vw,50px);line-height:1.08;letter-spacing:-.02em;color:#f4f5f7}.landing-lede{margin:0 0 22px;max-width:34em;font-size:clamp(14px,1.5vw,16px);line-height:1.65;color:#aab1c0}.landing-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.landing-cta-lg{padding:11px 18px;font-size:13.5px}.landing-note{margin:0 0 22px;font-size:12px;color:#6b7280}.landing-checks{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}.landing-checks li{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:#8b93a7}.landing-checks svg{color:#2f8f3a}.landing-hero-art{position:relative;min-width:0;aspect-ratio:16 / 10}.landing-hero-art:before{content:"";position:absolute;top:-14%;right:-6%;bottom:-14%;left:-6%;z-index:-1;pointer-events:none;background:radial-gradient(closest-side,rgba(244,162,89,.16),transparent 74%)}.landing-art-host{width:100%;height:100%}.landing-art{display:block;width:100%;height:100%;filter:drop-shadow(0 22px 44px rgba(0,0,0,.5));cursor:grab;touch-action:none}.landing-art:active{cursor:grabbing}.landing-section{max-width:1120px;margin:0 auto;padding:clamp(36px,5vw,64px) 24px}.landing-section.alt{max-width:none;background:#11141a;border-top:1px solid #1c2029;border-bottom:1px solid #1c2029}.landing-section.alt>h2,.landing-section.alt>.steps{max-width:1120px;margin-left:auto;margin-right:auto}.landing-section h2{margin:0 0 10px;font-size:clamp(22px,3vw,32px);letter-spacing:-.015em;color:#f4f5f7}.landing-section-lede{margin:0 0 28px;max-width:46em;font-size:14.5px;line-height:1.6;color:#8b93a7}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.feature-card,.step{padding:20px;background:#14171e;border:1px solid #232733;border-radius:12px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center}.feature-card:hover{border-color:#2f3646}.feature-icon{grid-column:1;grid-row:1;display:inline-grid;place-items:center;width:38px;height:38px;margin:0;border-radius:10px;color:#f4a259;background:#f4a2591f}.feature-card h3,.step h3{grid-column:2;grid-row:1;margin:0;font-size:15px;color:#e5e7eb}.feature-card p,.step p{grid-column:1 / -1;grid-row:2;margin:10px 0 0;font-size:13px;line-height:1.6;color:#8b93a7}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.faq{max-width:780px;display:flex;flex-direction:column;gap:10px}.faq-item{background:#14171e;border:1px solid #232733;border-radius:10px;padding:4px 18px}.faq-item summary{padding:14px 0;font-size:14px;color:#e5e7eb;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";float:right;color:#f4a259;font-size:18px;line-height:1}.faq-item[open] summary:after{content:"−"}.faq-item p{margin:0 0 16px;font-size:13px;line-height:1.65;color:#8b93a7}.landing-cta-band{text-align:center;padding:clamp(44px,6vw,80px) 24px;margin:0 auto;max-width:1120px}.landing-cta-band h2{margin:0 0 8px;font-size:clamp(22px,3vw,30px);color:#f4f5f7}.landing-cta-band p{margin:0 0 22px;font-size:14px;color:#8b93a7}.landing-cta-band .landing-cta{justify-content:center}.landing-footer{border-top:1px solid #1c2029;background:#0d0f13}.landing-footer-inner{max-width:1120px;margin:0 auto;padding:22px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.landing-copyright{margin-right:auto;font-size:12px;color:#6b7280}@media (max-width: 820px){.landing-hero{grid-template-columns:1fr}.landing-links{display:none}.landing-hero-art{order:-1}}.catalogue-head{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#10131a;border-bottom:1px solid #232733}.catalogue-head-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#8b93a7}.catalogue-head-actions{display:flex;gap:6px;margin-left:auto}.btn-sm{padding:5px 9px;font-size:11.5px}.pd-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#080a0e99}.pd-dialog{width:min(760px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;background:#14171e;border:1px solid #2b3140;border-radius:12px;box-shadow:0 24px 60px #00000080}.pd-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #232733}.pd-header h2{margin:0;font-size:15px;color:#e5e7eb}.pd-close{display:inline-flex;padding:2px;border:none;background:transparent;color:#8b93a7;cursor:pointer}.pd-close:hover{color:#e5e7eb}.pd-body{display:grid;grid-template-columns:260px 1fr;min-height:0}.pd-controls{display:flex;flex-direction:column;gap:10px;padding:14px 16px;overflow-y:auto;border-right:1px solid #232733}.pd-label{display:block;margin-bottom:4px;font-size:11px;color:#8b93a7}.pd-unit{font-size:9.5px;color:#5b6472;text-transform:uppercase}.pd-input{width:100%;box-sizing:border-box;padding:7px 9px;background:#10131a;color:#e5e7eb;border:1px solid #2b3140;border-radius:5px;font-size:12px;outline:none}.pd-input:focus{border-color:#f4a259}.pd-kinds{display:flex;flex-wrap:wrap;gap:4px}.pd-kind{padding:4px 9px;font-size:11px;color:#aab1c0;background:#1b1f29;border:1px solid #262b38;border-radius:5px;cursor:pointer}.pd-kind:hover{border-color:#39414f}.pd-kind.active{color:#ffd7ad;background:#f4a25924;border-color:#f4a259}.pd-field-error{margin-top:3px;font-size:10.5px;color:#ffb4a2}.pd-preview{display:flex;flex-direction:column;min-width:0;padding:14px 16px}.pd-stage{position:relative;flex:1;min-height:240px;overflow:hidden;background:#0f1115;border:1px solid #232733;border-radius:8px}.pd-stage>canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;touch-action:none}.pd-summary{margin-top:8px;font-size:11px;color:#8b93a7;text-align:center}.pd-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #232733}.pd-hint{font-size:10.5px;color:#5b6472}.community-dialog{width:min(880px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;background:#14171e;border:1px solid #2b3140;border-radius:12px;box-shadow:0 24px 60px #00000080}.community-toolbar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid #232733}.community-search{display:flex;align-items:center;gap:6px;flex:1;padding:6px 9px;background:#10131a;border:1px solid #2b3140;border-radius:5px;color:#6b7280}.community-search input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:#e5e7eb;font-size:12px}.community-body{display:grid;grid-template-columns:280px 1fr;flex:1;min-height:0}.community-list{overflow-y:auto;padding:8px;border-right:1px solid #232733}.collection-card{display:flex;flex-direction:column;gap:3px;width:100%;box-sizing:border-box;margin-bottom:6px;padding:9px 10px;text-align:left;font:inherit;color:#e5e7eb;background:#1b1f29;border:1px solid #262b38;border-radius:6px;cursor:pointer}.collection-card:hover{border-color:#39414f}.collection-card.active{border-color:#f4a259;box-shadow:inset 0 0 0 1px #f4a25959}.collection-card-name{font-size:12px}.collection-card-sub{font-size:10px;color:#8b93a7}.collection-card-meta{display:flex;gap:10px;margin-top:2px;font-size:10px;color:#6b7280}.collection-card-meta span{display:inline-flex;align-items:center;gap:3px}.community-detail{overflow-y:auto;padding:14px 16px}.community-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.community-title{font-size:15px;color:#e5e7eb}.community-desc{margin:6px 0 0;font-size:12px;line-height:1.5;color:#8b93a7;max-width:52ch}.community-actions{display:flex;align-items:center;gap:6px}.vote-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 9px;font-size:11.5px;color:#d7dbe6;background:#1b1f29;border:1px solid #2b3140;border-radius:6px;cursor:pointer}.vote-btn:hover:not(:disabled){border-color:#f4a259}.vote-btn.on{color:#ffd7ad;background:#f4a25924;border-color:#f4a259}.vote-btn:disabled{opacity:.5;cursor:default}.community-report{display:flex;gap:8px;margin-bottom:10px}.community-grid{margin-top:8px}.community-grid .part-tile{font:inherit;color:inherit;text-align:left}.community-parts-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 6px}.community-parts-bar .pd-label{margin:0}.community-part{cursor:default}.community-add{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:100%;margin-top:2px;padding:5px 8px;font:inherit;font-size:11px;color:#ffd7ad;background:#f4a2591f;border:1px solid rgba(244,162,89,.5);border-radius:5px;cursor:pointer}.community-add:hover:not(:disabled){background:#f4a25933;border-color:#f4a259}.community-add.added{color:#7fae87;background:#2f8f3a1f;border-color:#2f8f3a80}.community-add.added:hover:not(:disabled){color:#ffb4a2;background:#e559341f;border-color:#e55934}.community-add .when-added,.community-add .when-hover{align-items:center;gap:5px}.community-add .when-added{display:inline-flex}.community-add .when-hover,.community-add.added:hover .when-added{display:none}.community-add.added:hover .when-hover{display:inline-flex}.catalogue-vlist{position:relative}.catalogue-section-head{display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;padding:4px 2px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#8b93a7}.catalogue .part-tile{height:92px;box-sizing:border-box}.catalogue .part-tile-name,.catalogue .part-tile-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.publish-parts{display:flex;flex-direction:column;gap:5px;max-height:320px;overflow-y:auto;padding-right:2px}.publish-part{display:grid;grid-template-columns:46px 1fr 20px;align-items:center;gap:8px;padding:5px 8px;text-align:left;font:inherit;color:#e5e7eb;background:#1b1f29;border:1px solid #262b38;border-radius:6px;cursor:pointer}.publish-part:hover{border-color:#39414f}.publish-part.on{border-color:#f4a259;box-shadow:inset 0 0 0 1px #f4a25959}.publish-part-thumb{display:block;height:34px;overflow:hidden;background:#0f1115;border-radius:4px}.publish-part-name{font-size:11.5px}.publish-part-check{display:inline-flex;justify-content:center;color:#f4a259}textarea.pd-input{resize:vertical;font-family:inherit}.page{height:100vh;display:flex;flex-direction:column;background:#0f1115;color:#e5e7eb}.page-header{display:flex;align-items:center;gap:12px;height:46px;flex:0 0 46px;padding:0 12px;box-sizing:border-box;background:#14171e;border-bottom:1px solid #232733}.page-title{font-size:13px;font-weight:600;color:#e5e7eb}.page-user{margin-left:auto;display:inline-flex;align-items:center;gap:10px}.studio-body{flex:1;min-height:0;display:grid;grid-template-columns:320px 1fr}.studio-controls{border-right:1px solid #232733}.studio-preview{position:relative;min-width:0}.pd-stale-badge{position:absolute;top:24px;left:26px;padding:3px 8px;font-size:10.5px;color:#ffd7ad;background:#f4a25929;border:1px solid #f4a259;border-radius:5px;pointer-events:none}.studio-save{width:100%;margin-top:auto}.tabs{display:flex;gap:4px;padding:8px 12px 0;background:#14171e;border-bottom:1px solid #232733}.tab{padding:8px 14px;font:inherit;font-size:12.5px;color:#8b93a7;background:transparent;border:1px solid transparent;border-bottom:none;border-radius:6px 6px 0 0;cursor:pointer}.tab:hover{color:#e5e7eb}.tab.active{color:#ffd7ad;background:#0f1115;border-color:#232733}.designer-panel{flex:1;min-height:0;display:flex}.designer-gate{flex:1;display:grid;place-content:center;justify-items:center;gap:10px;padding:24px;text-align:center}.designer-gate h2{margin:0;font-size:18px;color:#e5e7eb}.designer-gate p{margin:0;max-width:42ch;font-size:12.5px;line-height:1.5;color:#8b93a7}.collections-panel{flex:1;min-height:0;display:grid;grid-template-columns:340px 1fr}.collections-parts{min-width:0;padding:14px 16px;overflow-y:auto}.collections-actions{display:flex;gap:8px;margin-top:auto}.collections-actions .btn-primary{flex:1}.community-panel,.myparts-panel{flex:1;min-height:0;display:flex;flex-direction:column}.myparts-toolbar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid #232733}.myparts-count{margin-left:auto;font-size:11px;color:#8b93a7}.myparts-scroll{flex:1;min-height:0;overflow-y:auto;padding:14px 16px}.myparts-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr))}.mypart-tile{cursor:default}.mypart-tile:hover{border-color:#39414f}.mypart-delete{position:absolute;top:3px;right:3px;display:inline-flex;align-items:center;justify-content:center;padding:3px;border:none;border-radius:4px;background:#0f1115b3;color:#8b93a7;cursor:pointer}.mypart-delete:hover:not(:disabled){color:#ffb4a2;background:#e5593429}.mypart-delete:disabled{opacity:.4;cursor:default}
