.editorShell{display:flex;flex-direction:column;height:100%;gap:12px;padding:12px 16px 16px}.editorTopBar{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}.topBarGroup{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.topBarActions{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}.topBarCenter{justify-content:center}.topBarRight{justify-content:flex-end;gap:10px}.editorLayout{display:grid;grid-template-columns:320px 1fr 260px;gap:16px;flex:1;min-height:0}.panel{background:#fff;border:1px solid #e6e8eb;border-radius:14px;box-shadow:0 4px 14px #0000000a;overflow:hidden;display:flex;flex-direction:column;min-height:0}.panelHeader{padding:12px 12px 10px;border-bottom:1px solid #eef0f2;display:flex;align-items:center;justify-content:space-between;gap:10px}.panelHeader h2{margin:0;font-size:14px;letter-spacing:.2px}.panelBody{padding:12px;overflow-y:auto;overflow-x:hidden}.kv{display:grid;grid-template-columns:120px 1fr;gap:8px 10px;align-items:center;font-size:13px}.kv label{color:#555}.toolbar{display:flex;flex-direction:column;gap:10px;min-width:0}.toolSection{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid #eef0f2;border-radius:12px;background:#fafafa}.toolSectionTitle{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:#6b7078}.toolSectionBody{display:flex;flex-direction:column;gap:8px}.btn{border:1px solid #d8dde3;background:#fff;border-radius:10px;padding:10px;cursor:pointer;text-align:left;display:inline-flex;align-items:center;gap:8px;white-space:normal;transition:background .12s ease,border-color .12s ease}.btn:hover{background:#f6f7f8;border-color:#cfd6de}.btn:disabled{opacity:.55;cursor:not-allowed}.btnSmall{padding:8px 10px;font-size:12px;border-radius:9px}.btnPrimary{background:#111;color:#fff;border-color:#111}.btnIcon{width:16px;height:16px;color:#50555c;flex:0 0 auto}.btnPrimary .btnIcon{color:#fff}.btnPrimary:hover{background:#222;border-color:#222}.btnActive{border-color:#111;box-shadow:inset 0 0 0 1px #111}.btnMuted{background:#f3f4f6;border-color:#e1e5ea;color:#b5bcc6;cursor:default}.btnMuted:hover{background:#f3f4f6;border-color:#e1e5ea;color:#b5bcc6}.canvasWrap{position:relative;background:#fff;border:1px solid #e6e8eb;border-radius:14px;box-shadow:0 4px 14px #0000000a;overflow:hidden;min-height:0;user-select:none;-webkit-user-select:none}.canvasWrap svg,.canvasWrap text{user-select:none;-webkit-user-select:none}.canvasTopBar{position:absolute;top:10px;left:10px;right:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none}.pill{pointer-events:auto;background:#ffffffe6;border:1px solid #e6e8eb;border-radius:999px;padding:8px 10px;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 12px #0000000f}.pillHint{background:#ffffffbf}.select{border:1px solid #d8dde3;border-radius:10px;padding:8px 10px;background:#fff}.langSelect{display:inline-flex;align-items:center;gap:8px}.langSelectLabel{font-size:12px;color:#555}.langSelectControl{padding:6px 8px;font-size:12px}.langSelectCompact .langSelectLabel{display:none}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;color:#444}.sectionTitle{font-size:12px;letter-spacing:.3px;text-transform:uppercase;color:#6b7078;margin-bottom:8px}.sectionDivider{height:1px;background:#eef0f2;margin:12px 0}.hintBox{padding:10px;border:1px solid #e6e8eb;border-radius:10px;background:#fff}.hintTitle{margin-bottom:8px}.hintList{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#555}.hintItem{display:flex;align-items:flex-start;gap:8px}.hintDot{width:6px;height:6px;border-radius:999px;background:#111;margin-top:6px}.emptyState{font-size:12px;color:#666}.statusBadge{padding:6px 10px;border-radius:999px;font-size:12px;border:1px solid #e1e5ea;background:#f7f8fa;color:#555}.statusDirty{border-color:#e3b166;background:#fff5e2;color:#8a5b00}.statusSaved{border-color:#b5d9c8;background:#e8f6ee;color:#2e6b45}.statusNote{font-size:12px;color:#555}.statusError{font-size:12px;color:#b00}@media(max-width:1100px){.editorTopBar,.editorLayout{grid-template-columns:1fr}}:root{color-scheme:light;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji"}html,body,#root{height:100%;margin:0;background:#f6f7f8;color:#111}*{box-sizing:border-box}button,select,input{font:inherit}
