*{box-sizing:border-box}:root{--bg:#0b0c0f;--panel:#12141a;--panel-2:#171a21;--panel-3:#1d212a;--line:#ffffff14;--line-strong:#ffffff24;--text:#f3f5f7;--muted:#f3f5f7ad;--muted-2:#f3f5f77a;--preview-bg:#0f1115;--hover:#222733;--active:#2a3140;--radius-sm:2px;--ui-lo:#ffffff0a;--ui-mid:#ffffff12;--ui-hi:#ffffff1f;--ui-border:#ffffff14;--ui-border-strong:#ffffff24;--ui-text-lo:#ffffff4d;--ui-text-mid:#ffffff8c;--ui-text-hi:#ffffffd1;--ui-solid:#fff;--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='rgba(255,255,255,0.4)'/%3E%3C/svg%3E")}html,body,#root{background:var(--bg);width:100%;height:100%;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;overflow:hidden}button,input,textarea,select{font:inherit}img{max-width:100%;display:block}.builder-layout{flex-direction:column;width:100%;height:100vh;display:flex;overflow:hidden}.builder-body{flex:1;min-height:0;display:flex;overflow:hidden}.top-bar{background:var(--panel);border-bottom:1px solid var(--line);z-index:100;flex-shrink:0;align-items:center;gap:10px;height:44px;padding:0 10px;display:flex}.top-bar-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ui-text-hi);border-right:1px solid var(--line);flex-shrink:0;margin-right:4px;padding-right:10px;font-size:12px;font-weight:700}.top-bar-post-name{color:var(--ui-text-mid);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.top-bar-right{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.top-bar-btn{background:var(--ui-mid);color:var(--ui-text-mid);border:1px solid var(--ui-border);cursor:pointer;border-radius:2px;padding:5px 11px;font-size:12px;font-weight:500;transition:background .1s,color .1s}.top-bar-btn:hover{background:var(--ui-hi);color:var(--ui-solid)}.top-bar-btn-primary{background:var(--ui-hi);color:var(--ui-solid);border-color:var(--ui-border-strong)}.structure-panel{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:240px;height:100%;display:flex;overflow:hidden}.panel-inner{flex:1;padding:8px 8px 48px;overflow:hidden auto}.panel-inner::-webkit-scrollbar{width:4px}.panel-inner::-webkit-scrollbar-thumb{background:var(--ui-mid);border-radius:999px}.panel-section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--ui-text-lo);padding:10px 10px 5px;font-size:10px;font-weight:600}.panel-rule{background:var(--line);height:1px;margin:6px 0}.post-row{cursor:pointer;border:1px solid #0000;border-radius:2px;flex-direction:column;gap:2px;padding:8px 10px;transition:background .1s;display:flex}.post-row:hover{background:var(--hover)}.post-row.active{background:var(--active);border-color:var(--line-strong)}.post-row-title{color:var(--ui-text-hi);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.post-row-meta{align-items:center;gap:6px;display:flex}.post-row-date{color:var(--ui-text-lo);font-size:10px}.post-type-badge{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ui-border);color:var(--ui-text-mid);border-radius:2px;padding:1px 5px;font-size:9px;font-weight:700}.post-type-badge.glb{color:#85aaf2;border-color:#85aaf24d}.post-type-badge.image{color:#7ebf60;border-color:#7ebf604d}.post-type-badge.svg{color:#f2a999;border-color:#f2a9994d}.preview-panel{background:var(--preview-bg);flex:1;justify-content:center;align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}.preview-canvas-wrap{width:100%;height:100%;position:relative}.preview-empty{letter-spacing:.12em;text-transform:uppercase;color:var(--ui-text-lo);font-size:12px}.editor-panel{background:var(--panel-2);border-left:1px solid var(--line);flex-direction:column;flex-shrink:0;width:300px;height:100%;display:flex;overflow:hidden}.editor-panel .panel-inner{padding:14px 14px 48px}.field{margin-bottom:12px}.field-label{letter-spacing:.1em;text-transform:uppercase;color:var(--ui-text-lo);margin-bottom:5px;font-size:10px;font-weight:600;display:block}.field input[type=text],.field input[type=date],.field textarea,.field select{background:var(--ui-lo);border:1px solid var(--ui-border);width:100%;color:var(--text);border-radius:2px;outline:none;padding:6px 8px;font-size:12px;transition:border-color .1s}.field input[type=text]:focus,.field input[type=date]:focus,.field textarea:focus,.field select:focus{border-color:var(--ui-border-strong)}.field textarea{resize:vertical;min-height:72px;line-height:1.5}.field select{appearance:none;background-image:var(--select-arrow);cursor:pointer;background-position:right 8px center;background-repeat:no-repeat;padding-right:24px}.field input[type=color]{background:var(--ui-lo);border:1px solid var(--ui-border);cursor:pointer;border-radius:2px;width:100%;height:32px;padding:2px 4px}.color-field{gap:6px;display:flex}.color-field input[type=color]{flex:0 0 44px;width:44px}.color-field .color-hex{text-transform:lowercase;flex:1;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.field input[type=range]{width:100%;accent-color:var(--text)}.asset-drop{border:1px dashed var(--ui-border);text-align:center;width:100%;color:var(--ui-text-lo);cursor:pointer;letter-spacing:.05em;border-radius:2px;padding:20px 12px;font-size:11px;transition:border-color .1s,background .1s}.asset-drop:hover{border-color:var(--ui-border-strong);background:var(--ui-lo)}.asset-drop.has-file{color:var(--ui-text-mid);border-style:solid}.tags-wrap{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.tag{background:var(--ui-mid);color:var(--ui-text-mid);border:1px solid var(--ui-border);border-radius:2px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;display:inline-flex}.tag button{color:var(--ui-text-lo);cursor:pointer;background:0 0;border:none;padding:0;font-size:10px;line-height:1}.tag button:hover{color:var(--ui-text-hi)}.tag-input-row{gap:4px;margin-top:6px;display:flex}.tag-input-row input{background:var(--ui-lo);border:1px solid var(--ui-border);color:var(--text);border-radius:2px;outline:none;flex:1;padding:4px 7px;font-size:11px}.tag-input-row button{background:var(--ui-mid);border:1px solid var(--ui-border);color:var(--ui-text-mid);cursor:pointer;border-radius:2px;padding:4px 8px;font-size:11px}.tag-input-row button:hover{background:var(--ui-hi);color:var(--ui-solid)}.structure-panel button,.editor-panel button{color:var(--ui-text-hi);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:2px;padding:7px 10px;transition:background .1s,color .1s}.structure-panel button:hover,.editor-panel button:hover{background:var(--ui-mid);color:var(--ui-solid)}.new-post-btn{letter-spacing:.05em;text-align:center;border-radius:2px;width:calc(100% - 16px);margin:8px;padding:8px;font-size:11px;font-weight:600;background:var(--ui-lo)!important;border:1px dashed var(--ui-border)!important;color:var(--ui-text-mid)!important}.new-post-btn:hover{background:var(--ui-mid)!important;border-color:var(--ui-border-strong)!important;color:var(--ui-solid)!important}.delete-post-btn{text-align:center;width:100%;margin-top:8px;font-size:11px;color:var(--ui-text-lo)!important;border-color:#0000!important}.delete-post-btn:hover{color:#f5a0a0!important;background:#f5a0a014!important}.drag-active-overlay{pointer-events:none;opacity:0;z-index:999;border:3px dashed #fff3;transition:opacity .15s;position:fixed;inset:0}.drag-active-overlay.visible{opacity:1}.status-pill{text-transform:uppercase;letter-spacing:.08em;color:var(--muted-2);align-items:center;gap:6px;padding:0 8px;font-size:10px;font-weight:600;display:inline-flex}.status-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.status-pill.good{color:#7ee89a}.status-pill.good .status-dot{animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.2}}.help-text{color:var(--ui-text-lo);margin-top:4px;font-size:10px;line-height:1.5}.meta-grid{grid-template-columns:auto 1fr;gap:4px 14px;margin-top:4px;display:grid}.meta-grid .meta-key{text-transform:uppercase;letter-spacing:.07em;color:var(--ui-text-lo);white-space:nowrap;padding-top:1px;font-size:10px}.meta-grid .meta-val{color:var(--ui-text);word-break:break-all;font-size:11px}
