/* Independent Wan3 interface, informed by RunningHub's public dark workspace styling. */
body:has(.canvas-mode){background:#101012}.canvas-mode{--accent:#ac96fa;--accent-soft:#30283f;max-width:none;padding:14px 18px 12px}.canvas-mode .studio-header{padding-bottom:12px;margin-bottom:12px;border-color:#27272d}.canvas-mode .brand-symbol{background:#272232;border-color:#4c425e;color:#c5b4ff}.canvas-mode .brand-dot{color:#b49afb}.canvas-mode .canvas-entry{background:#292331;border-color:#4d405f;color:#e2d6ff}.canvas-mode .studio-header #login{background:#ecebf1;color:#25232b;border-color:#ecebf1}.canvas-mode .studio-header #shop-header{background:#222127;border-color:#3a3643;color:#cecadb}.canvas-mode .account>span{color:#b1acbd}.canvas-mode .site-legal-footer,.canvas-mode .site-legal-footer a{color:#7f7a8b}
.canvas-mode .canvas-workspace{display:block;height:calc(100dvh - 132px);min-height:500px;position:relative;overflow:clip;border-radius:12px;border:1px solid #303037;background:#141416;box-shadow:0 15px 45px #0004}.canvas-mode .canvas-stage{position:absolute;inset:0;width:100%;height:100%;min-height:0;background-color:#141416;background-image:radial-gradient(circle,#414047 1px,transparent 1px);background-size:24px 24px;overflow:clip}.canvas-mode .canvas-stage:focus-visible{box-shadow:inset 0 0 0 1px #7f6db0}
.canvas-mode .canvas-toolrail{position:absolute;z-index:7;top:113px;left:16px;height:auto;max-height:calc(100% - 210px);width:57px;overflow:auto;scrollbar-width:none;border:1px solid #38363e;border-radius:14px;background:#232226eb;padding:10px 4px;gap:6px;box-shadow:0 8px 28px #0006}.canvas-mode .rail-mark{display:none}.canvas-mode .rail-divider{width:27px;background:#45404c;margin:3px}.canvas-mode .canvas-toolrail button{width:45px;min-height:45px;font-size:9px;color:#a8a3b2;gap:1px;border-radius:9px}.canvas-mode .canvas-toolrail button b{font-size:21px;color:#ddd7e7}.canvas-mode .canvas-toolrail button:hover{background:#37313f;border-color:#5e4f76;color:#f5efff}.canvas-mode .canvas-toolrail button:first-of-type{background:#493568;border-color:#755792;color:#ede0ff}
.canvas-mode .canvas-project-bar{left:18px;right:18px;top:16px;gap:12px}.canvas-mode .canvas-project-name{max-width:235px;background:#232228f0;border:1px solid #3f3a47;border-radius:11px;padding:10px 14px;box-shadow:0 6px 25px #0003}.canvas-mode .canvas-project-name input{color:#f0eaf7}.canvas-mode .canvas-project-name small{color:#8e879b}.canvas-mode .canvas-project-name .canvas-kicker{color:#a898c3}.canvas-mode .canvas-project-actions{background:#242229f0;border-color:#403a4b;max-width:380px;border-radius:10px;gap:3px}.canvas-mode .canvas-project-actions button{color:#c5bdd2;font-size:11px;padding:7px 9px}.canvas-mode .canvas-project-actions button:hover{background:#44344f;color:#eee4ff}.canvas-mode .canvas-panel-toggle{display:inline-flex}
.canvas-mode .canvas-inspector{display:flex;position:absolute;z-index:6;right:18px;top:105px;bottom:89px;width:326px;max-width:calc(100% - 94px);border:1px solid #45404e;border-radius:15px;background:#222127;box-shadow:0 15px 40px #0007;overflow:hidden}.canvas-mode .inspector-hidden .canvas-inspector{display:none}.canvas-mode .canvas-inspector-heading{padding:17px 19px 14px;border-color:#3c3744}.canvas-mode .canvas-inspector-heading h2{color:#e5dfee;font-size:16px}.canvas-mode .canvas-kicker{color:#b6a5cf}.canvas-mode .canvas-inspector-heading p{color:#9991a6}.canvas-mode .canvas-inspector-scroll{padding:17px}.canvas-mode .canvas-inspector label{color:#b0a4be}.canvas-mode .canvas-inspector input,.canvas-mode .canvas-inspector textarea,.canvas-mode .canvas-inspector select{background:#18171d;border-color:#433c50;color:#e7deef}.canvas-mode .canvas-inspector .hint{color:#92889f}.canvas-mode .canvas-inspector .submit-row{border-top-color:#473c52!important}.canvas-mode .canvas-inspector .estimate>strong{color:#e5d7ff;font-size:24px}.canvas-mode .canvas-inspector .estimate>span{color:#a295b1}.canvas-mode .canvas-inspector .estimate>p.hint{color:#8d809c}.canvas-mode .canvas-inspector .primary{background:#a48be7;border-color:#a48be7;color:#21182f}.canvas-mode .canvas-inspector .primary:hover{background:#c2a8ff}.canvas-mode .canvas-inspector-foot{background:#24212b;border-color:#3e3548;color:#93839f;font-size:9px;line-height:1.7;padding:8px 14px}
.canvas-mode .canvas-node{background:#232227;border-color:#52465f;border-radius:13px;box-shadow:0 10px 25px #0007}.canvas-mode .canvas-node:hover{border-color:#897398}.canvas-mode .canvas-node.selected{border-color:#b398de;box-shadow:0 0 0 2px #b79ddb20,0 15px 30px #0007}.canvas-mode .node-grip{background:#302a38;border-color:#4b3e58;color:#eee5f6}.canvas-mode .node-icon{background:#4c3b60;color:#dac6ed}.canvas-mode .node-model{color:#ad96c1}.canvas-mode .node-prompt{color:#d4cbdc}.canvas-mode .node-tags span{background:#362d40;border-color:#52435f;color:#c7b4d8}.canvas-mode .node-footer{background:#28232e;border-color:#493b55;color:#ac97bd}.canvas-mode .node-footer .node-edit{color:#d7bee9}.canvas-mode .node-port{background:#bea2eb;border-color:#453352;box-shadow:0 0 0 1px #9473ad}.canvas-mode .canvas-edge{stroke:#967bb0}.canvas-mode .canvas-edge:hover,.canvas-mode .canvas-edge.selected{stroke:#d9b4fb}.canvas-mode .canvas-edge.result-edge{stroke:#b4a0cc}.canvas-mode .node-media{background:#141218}.canvas-mode .canvas-node.node-note{background:#302d25;border-color:#6c604a}.canvas-mode .node-note{background:transparent;color:#d7ccb9}.canvas-mode .canvas-marquee{background:#b590ec12;border-color:#c2a0ed}
.canvas-quick-dock{position:absolute;z-index:5;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:4px;padding:7px 9px;border:1px solid #45404e;border-radius:16px;background:#28262deb;box-shadow:0 10px 35px #0008;backdrop-filter:blur(12px)}.canvas-workspace:not(.inspector-hidden) .canvas-quick-dock{left:calc((100% - 326px)/2)}.canvas-quick-dock button{display:flex;flex-direction:column;gap:3px;min-width:53px;padding:6px 9px;background:transparent;border:1px solid transparent;color:#c2bacd;font-size:9px;border-radius:10px}.canvas-quick-dock button b{font-size:20px;line-height:1.1;font-weight:400;color:#ece3f4}.canvas-quick-dock button:hover{background:#45384f;border-color:#6a517c}.canvas-quick-dock>span{height:30px;width:1px;background:#504653;margin:0 4px}.canvas-quick-dock .dock-generate{background:#50396b;border-color:#72518e;color:#eddcfb;min-width:66px}
.canvas-mode .canvas-navigation{left:18px;bottom:22px}.canvas-mode .canvas-control-group{background:#28252fef;border-color:#46404e}.canvas-mode .canvas-control-group button{color:#c8bad9}.canvas-mode .canvas-control-group button:hover{background:#4d3d5c}.canvas-mode .canvas-selection-bar{left:95px;top:109px;background:#372b44ed;border-color:#79618e}.canvas-mode .canvas-selection-bar span{color:#d6c0e6}.canvas-mode .canvas-selection-bar button{background:#4d395f;border-color:#6c527f;color:#e3cef1}.canvas-mode .canvas-toast{background:#3b2e4cf5;border-color:#806297;color:#e9d4f8}.canvas-mode .canvas-minimap{background:#24212cef;border-color:#4e405d;bottom:112px;right:18px;width:150px}.canvas-mode .canvas-minimap svg{width:136px;height:83px}.canvas-mode .canvas-minimap>span{color:#a38db6}.canvas-mode .canvas-workspace:not(.inspector-hidden) .canvas-minimap{right:361px}.canvas-mode .map-node{fill:#5c4a6d;stroke:#a28bba}.canvas-mode .map-generation{fill:#81649b}.canvas-mode .map-selected{fill:#d0adef}.canvas-mode .map-viewport{fill:#c29fe811;stroke:#d1b1ec}.canvas-mode .canvas-stage-hint{left:95px;bottom:97px;color:#76707f;font-size:9px;max-width:380px}.canvas-mode .canvas-stage-hint span:last-child{display:none}
.canvas-mode~#contact-us{background:#30283c;border-color:#69537c;color:#d9c5ee}.canvas-mode .canvas-inspector #canvas-node-detail p{color:#bdb0cc}.canvas-mode .canvas-inspector #canvas-node-detail h3{color:#e5d7f0}.canvas-mode .canvas-inspector .canvas-delete{color:#d6b0ae}
/* Read-only server-side canvas run explorer. */
.admin-canvas-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.admin-canvas-card{border:1px solid #45404f;border-radius:12px;background:#222029;padding:19px}.admin-canvas-card h3{margin:8px 0;color:#e6daf2;font-size:16px}.admin-canvas-card p{font-size:12px;line-height:1.8;color:#a69ab4}.admin-canvas-card strong{font-size:12px;color:#c9acd9}#canvas-run-dialog{width:1200px;max-width:96vw;padding:0;background:#1d1b23;max-height:94vh;overflow:auto;border-color:#554461}.run-dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #4a3d55;gap:14px}.run-dialog-heading h2{margin:0;font-size:17px}.run-dialog-heading p{margin:3px 0 0;color:#ad99bd;font-size:11px}.run-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;min-height:540px}.run-map{position:relative;min-height:540px;background:#141216;background-image:radial-gradient(#403846 1px,transparent 1px);background-size:20px 20px;overflow:clip}.run-map svg{width:100%;height:540px;display:block;touch-action:none}.run-map-tools{position:absolute;top:12px;left:12px;display:flex;gap:5px;z-index:2}.run-map-tools button{font-size:11px;background:#312738;border-color:#58445f;color:#dbcae4}.run-side{padding:18px;border-left:1px solid #44384d;background:#24202b;max-height:620px;overflow:auto}.run-side h3{font-size:14px;color:#ddc7ee;margin:0 0 12px}.run-side p{font-size:12px;color:#baacc5;white-space:pre-wrap;overflow-wrap:anywhere}.run-side img,.run-side video,.run-side audio{width:100%;max-height:220px;object-fit:contain;margin:8px 0}.run-history{padding:18px 22px;border-top:1px solid #4b3c56}.run-history-list{display:flex;gap:8px;flex-wrap:wrap;max-height:140px;overflow:auto}.run-history-list button{font-size:10px;white-space:normal;text-align:left;background:#2e2736;border-color:#564163;color:#cdb9dd}.run-history-list button.selected{border-color:#bc91e1;background:#4a355c}.run-node-card{cursor:pointer}.run-node-card rect{fill:#2b2433;stroke:#695477;stroke-width:2}.run-node-card text{fill:#dcd0e8;font-family:'Segoe UI','Microsoft YaHei',sans-serif}.run-node-card.selected rect{stroke:#d4a5f3;stroke-width:3}.run-edge{fill:none;stroke:#8964a7;stroke-width:2}.run-readonly-label{position:absolute;bottom:12px;left:15px;color:#a38aad;font-size:10px}.run-node-detail-link{display:inline-block;margin-top:12px}
@media(max-width:1100px){.canvas-mode .canvas-project-actions{max-width:340px;flex-wrap:wrap}.canvas-mode .canvas-project-actions button{font-size:10px;padding:5px 7px}.canvas-mode .canvas-workspace{height:calc(100dvh - 145px)}.canvas-mode .canvas-stage-hint{display:block}}
@media(max-width:900px){.canvas-mode .canvas-workspace{height:calc(100dvh - 180px);min-height:520px}.canvas-mode .canvas-inspector{top:113px;bottom:110px;right:12px;max-width:calc(100% - 84px);width:320px}.canvas-mode .canvas-project-actions{max-width:235px}.canvas-mode .canvas-minimap{display:none}.canvas-mode .canvas-quick-dock,.canvas-workspace:not(.inspector-hidden) .canvas-quick-dock{left:50%;bottom:16px}.canvas-mode .canvas-navigation{left:14px;bottom:94px}.canvas-mode .canvas-selection-bar{left:82px;top:108px}.canvas-mode .canvas-toolrail{left:11px;width:52px}.run-layout{grid-template-columns:1fr}.run-side{border-left:0;border-top:1px solid #44384d;max-height:300px}.run-map,.run-map svg{min-height:360px;height:360px}.admin-canvas-list{grid-template-columns:1fr}}
@media(max-width:520px){.canvas-mode{padding:10px 8px}.canvas-mode .canvas-project-bar{left:11px;right:11px;top:12px;gap:7px}.canvas-mode .canvas-project-name{max-width:145px;padding:9px 10px}.canvas-mode .canvas-project-actions{max-width:155px;gap:0}.canvas-mode .canvas-project-actions button{font-size:8px;padding:4px 5px}.canvas-mode .canvas-project-name input{font-size:11px}.canvas-mode .canvas-project-name .canvas-kicker{font-size:6px}.canvas-mode .canvas-toolrail{width:44px;left:8px;padding:7px 2px;max-height:calc(100% - 225px);top:113px}.canvas-mode .canvas-toolrail button{width:38px;min-height:42px;font-size:8px}.canvas-mode .canvas-toolrail button b{font-size:19px}.canvas-mode .canvas-selection-bar{left:66px;top:102px}.canvas-mode .canvas-inspector{right:8px;top:140px;bottom:100px;width:305px;max-width:calc(100% - 70px)}.canvas-mode .canvas-quick-dock{gap:1px;padding:6px}.canvas-quick-dock button{min-width:45px;padding:6px 8px}.canvas-quick-dock .dock-generate{min-width:63px}.canvas-mode .canvas-stage-hint{display:none}.run-dialog-heading{padding:14px}.run-history{padding:15px}}

/* Reserve enough room for the editable form while keeping the submit panel visible. */
.canvas-mode .canvas-inspector{top:84px;bottom:18px}.canvas-mode .canvas-inspector-heading{padding:12px 16px}.canvas-mode .canvas-inspector-heading p{display:none}.canvas-mode .canvas-inspector-heading h2{font-size:15px;margin-bottom:0}.canvas-mode .canvas-inspector-scroll{padding:14px 16px}.canvas-mode .canvas-inspector .submit-row{margin-top:10px!important;padding-top:10px!important;gap:8px}.canvas-mode .canvas-inspector .estimate>strong{font-size:22px}.canvas-mode .canvas-inspector .submit-row>.primary{padding:11px}.canvas-mode .canvas-inspector-foot{font-size:8px;padding:6px 12px}@media(max-width:900px){.canvas-mode .canvas-inspector{top:94px;bottom:16px}}
