/* Extend the approved Aurora system; canvas surfaces reuse its palette and controls. */
.fc-list .ph p{margin-top:10px;color:var(--tx2)}
.fc-projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:18px;margin-top:28px}
.fc-projects[aria-busy=true]{min-height:220px;background:var(--glass);border-radius:var(--r)}
.fc-project{overflow:hidden}.fc-project-open{display:block;padding:24px;color:var(--tx);min-height:170px}
.fc-project-open>svg{width:28px;height:28px;color:var(--a1);margin-bottom:20px}.fc-project-open h2{font-size:18px;font-weight:600;overflow-wrap:anywhere}.fc-project-open span{font-size:12px;color:var(--tx2);display:block;margin-top:8px}
.fc-project-actions{display:flex;gap:8px;padding:0 24px 20px}.fc-empty{grid-column:1/-1;padding:65px 22px;text-align:center}.fc-empty h2{font-size:23px}.fc-empty p{color:var(--tx2);margin:12px auto 24px;max-width:48ch}
.fc-editor{height:calc(100dvh - 74px);display:flex;flex-direction:column;min-width:0;--fc-surface:var(--panel)}
.fc-header{min-height:62px;display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line);flex:none}
.fc-header svg,.fc-tools svg{width:16px;height:16px;flex:none}.fc-header>a svg{transform:rotate(180deg)}
.fc-name{font-size:15px;font-weight:600;max-width:270px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;text-align:left;padding:6px 0}
.fc-save-state{margin-left:auto;font-size:12px;color:var(--tx2);max-width:300px}.fc-recovery{padding:10px 20px;background:var(--bg3);border-bottom:1px solid var(--line)}.fc-recovery .btn{margin-left:10px}.fc-recovery[hidden]{display:none}
.fc-board{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;cursor:grab;background:var(--bg)}.fc-board.fc-dragging{cursor:grabbing}
.fc-grid{position:absolute;inset:0;background-image:radial-gradient(var(--line2) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.fc-world{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
.fc-links{position:absolute;left:0;top:0;width:1px;height:1px;overflow:visible;pointer-events:none}.fc-links path{stroke:var(--a1);stroke-width:2;fill:none}.fc-links .fc-temporary-link{stroke:var(--a2);stroke-dasharray:6 4}
.fc-node{position:absolute;width:238px;background:var(--fc-surface);border:1px solid var(--line2);border-radius:14px;cursor:default;user-select:none;contain:layout style}
.fc-node.fc-selected{outline:2px solid var(--a1);outline-offset:2px}.fc-node-head{display:flex;align-items:center;gap:8px;padding:13px 14px;border-bottom:1px solid var(--line);cursor:move;min-height:48px}.fc-node-head svg{width:17px;height:17px;color:var(--a1)}.fc-node-head b{font-size:12px;font-weight:600}.fc-node-head>span{margin-left:auto;font-size:10px;color:var(--tx2)}
.fc-node-body{padding:14px;font-size:12px}.fc-node-body p{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;overflow:auto;line-height:1.8;color:var(--tx2);min-height:48px}.fc-node-body img{display:block;width:100%;max-height:185px;object-fit:contain;border-radius:7px;background:var(--bg2)}.fc-node-body small{display:block;color:var(--tx2);margin:10px 0 0;overflow-wrap:anywhere}.fc-node-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;min-height:100px;color:var(--tx2)}.fc-node-placeholder svg{width:28px;height:28px}.fc-node-placeholder span{max-height:80px;overflow:auto;font-size:11px}.fc-preview{margin-top:10px;width:100%}
.fc-port{position:absolute;top:38px;width:24px;height:24px;border:6px solid var(--bg);border-radius:50%;background:var(--a1);z-index:2;padding:0}.fc-input{left:-13px}.fc-output{right:-13px;background:var(--a2)}.fc-port:hover{outline:2px solid var(--tx2)}
.fc-zoom{position:absolute;left:16px;top:16px;display:flex;align-items:center;gap:4px;padding:5px;z-index:3;background:var(--fc-surface);border-radius:12px}.fc-zoom span{font-size:12px;font-variant-numeric:tabular-nums;min-width:45px;text-align:center}
.fc-inspector{position:absolute;right:16px;top:16px;bottom:82px;width:290px;padding:20px;overflow-y:auto;z-index:4;background:var(--fc-surface);touch-action:pan-y;border-radius:14px;cursor:default}
.fc-inspector h2{font-size:15px;font-weight:600}.fc-inspector>p,.fc-inspector li{font-size:12px;color:var(--tx2);line-height:1.85;margin-top:12px}.fc-inspector ol{padding-left:18px;margin:20px 0}.fc-inspector li{margin-top:8px}.fc-inspector-heading{display:flex;align-items:center;justify-content:space-between}.fc-inspector textarea{font-size:13px;min-height:110px;max-height:30vh;line-height:1.65}.fc-inspector select{font-size:12px;min-width:0}.fc-inspector .field{padding:8px 10px}.fc-inspector .live-status{font-size:11px;line-height:1.7}
.fc-param-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fc-param-grid .field{margin-top:6px}.fc-inputs{border-top:1px solid var(--line);padding-top:16px;margin:20px 0 12px}.fc-inputs h3{font-size:12px;font-weight:500;color:var(--tx2)}.fc-inputs>div{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}.fc-inputs>div>span{overflow-wrap:anywhere}.fc-edit-actions{display:flex;gap:8px;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}
.fc-tools{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:5px;padding:7px;z-index:6;background:var(--fc-surface);max-width:calc(100% - 24px);overflow-x:auto;border-radius:14px;touch-action:pan-x;cursor:default}.fc-tools button{min-height:36px;border-color:transparent;flex:none}.fc-tools button:hover{background:var(--glass2)}
.fc-board-hint{position:absolute;left:24px;bottom:85px;font-size:11px;color:var(--tx2);pointer-events:none;max-width:calc(100% - 350px);line-height:1.7}
.fc-work-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-height:60vh;overflow:auto;padding:4px}.fc-work-picker button{border:1px solid var(--line2);border-radius:10px;overflow:hidden;text-align:left;background:var(--bg2)}.fc-work-picker img{display:block;width:100%;height:130px;object-fit:contain}.fc-work-picker button>svg{width:38px;height:38px;margin:30px auto;display:block}.fc-work-picker span{display:block;padding:10px;font-size:12px;overflow-wrap:anywhere}
.fc-editor button:focus-visible,.fc-list button:focus-visible,.fc-editor a:focus-visible,.fc-node:focus-visible{outline:2px solid var(--a2);outline-offset:3px}.fc-editor input:focus-visible,.fc-editor select:focus-visible,.fc-editor textarea:focus-visible{outline:1px solid var(--a1);outline-offset:3px}.fc-editor button{transition:background-color 180ms var(--ease),border-color 180ms var(--ease),transform 180ms var(--ease)}
@media(max-width:1050px){.fc-header{gap:8px;padding:10px 14px}.fc-name{max-width:180px}.fc-save-state{max-width:180px}.fc-inspector{width:260px;padding:16px}.fc-board-hint{max-width:calc(100% - 310px)}.fc-tools{gap:2px}.fc-tools .btn{padding:6px 8px}}
@media(max-width:700px){.fc-editor{height:calc(100dvh - 64px)}.fc-header{min-height:60px;gap:7px;flex-wrap:wrap;padding:8px 10px}.fc-header>a span{display:none}.fc-name{flex:1;max-width:140px;font-size:13px}.fc-save-state{order:2;width:100%;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.fc-header .btn{padding:5px 8px;font-size:11px}.fc-zoom{top:12px;left:12px}.fc-inspector{display:none;top:auto;bottom:82px;right:12px;left:12px;width:auto;max-height:50%;padding:14px}.fc-inspector.fc-open{display:block}.fc-inspector textarea{min-height:75px;max-height:150px}.fc-tools{justify-content:flex-start;left:12px;right:12px;transform:none;max-width:none;bottom:16px}.fc-tools .btn{min-height:40px;padding:8px}.fc-tools svg{display:none}.fc-board-hint{left:15px;max-width:calc(100% - 30px);font-size:10px}.fc-work-picker{gap:8px}.fc-work-picker img{height:110px}.fc-empty{padding:45px 10px}.fc-recovery{font-size:11px;padding:8px}.fc-list .ph{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.fc-editor button{transition:none}.fc-world{will-change:auto}}
