/* Wan3 Studio — locally hosted, system fonts, no external assets or trackers. */
:root{color-scheme:dark;--bg:#0e1113;--panel:#171b1e;--border:#2a3034;--muted:#8d999e;--text:#edf2ef;--blue:#bce5cd;--accent:#c5efb2;--accent-soft:#27352b;--radius:14px}
body{background:radial-gradient(ellipse at 84% 0,#21342d44,transparent 40%),var(--bg);color:var(--text);font-family:Inter,'Segoe UI','Microsoft YaHei',sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}
::selection{background:#abdba644;color:#fff}button,input,select,textarea,a{transition:background-color .18s,border-color .18s,box-shadow .18s,color .18s}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
a{color:#c1decc}button,.button{background:#22282c;border-color:#353d40;color:#cbd5d3;border-radius:8px;padding:9px 15px;font-size:12px;font-weight:500;box-shadow:none}button:hover,.button:hover{background:#2c3437;border-color:#52635c;color:#f2f7f3;transform:none}button:disabled{opacity:.4}.primary{background:var(--accent);border-color:var(--accent);color:#18281d;font-weight:700}.primary:hover{background:#d7f9c8;border-color:#d7f9c8;color:#18281d}
.wrap{max-width:1260px;padding:28px 42px 35px}.studio-header{margin:0 0 40px;padding-bottom:23px;border-bottom:1px solid #ffffff0e;gap:28px}.brand-home{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);flex-shrink:0}.brand-symbol{display:grid;place-items:center;width:45px;height:45px;border:1px solid #67866e66;border-radius:12px;background:linear-gradient(145deg,#253f30,#18231e);color:#c5efb2}.studio-header h1{font-size:23px;letter-spacing:-.9px;font-weight:700;line-height:1.3}.brand-dot{color:var(--accent)}.studio-header .brand-home p{font-size:8px;letter-spacing:2px;color:#82928a;margin:7px 0 0}.studio-header .account{gap:8px;margin-left:auto}.account>span{font-size:12px;color:#b6c6be}.studio-header #login{background:#dbe9df;color:#243329;border-color:#dbe9df}.studio-header #shop-header{color:#c4ddc9;border-color:#3c5142;background:#1e2b23}.canvas-entry{margin-left:auto;border:1px solid #33403a;background:transparent;color:#b5c9ba;font-weight:500;padding:10px 17px}.canvas-entry:hover,.canvas-entry[aria-pressed=true]{background:#27382c;border-color:#708d65;color:#d2edca}
.workspace-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2.6px;color:#a8c6af}.workspace-heading h2{font-size:34px;font-weight:500;letter-spacing:-1.5px;margin:12px 0 9px;line-height:1.35}.workspace-heading h2>span{color:#a8d899}.workspace-heading p{color:#8a9991;font-size:12px;letter-spacing:.2px;margin:0}.workspace-status{display:flex;align-items:center;gap:8px;color:#9caea3;font-size:10px;padding-bottom:6px;white-space:nowrap}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#bee3a7;box-shadow:0 0 10px #c5efb233}.status-divider{height:10px;width:1px;background:#46574a;margin:0 5px}
.box{background:linear-gradient(115deg,#1a1f21,#171b1d);border:1px solid #303739;border-radius:var(--radius);padding:27px;margin-bottom:18px;box-shadow:0 8px 30px #0000000d}.panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid #ffffff0a}.panel-step{display:grid;place-items:center;width:34px;height:34px;color:#c5e4c9;background:#29382d;border:1px solid #4c62513b;border-radius:9px;font:11px 'Segoe UI',sans-serif;letter-spacing:1px}.panel-heading h2{font-size:14px;font-weight:600;margin:0;color:#e0e8e1}.panel-heading p{color:#7d8c84;font-size:10px;margin:3px 0 0}.panel-tag{margin-left:auto;color:#72857b;font-size:8px;letter-spacing:1.5px}.generation-panel>.row:first-of-type{align-items:flex-end}.grow{max-width:430px}.model{font-size:11px;color:#c3cfc7}.model span{color:#7e9185;font-size:10px}.generation-panel>.row>small{font-size:10px;color:#8fa295}
label{font-size:11px;font-weight:500;color:#9baea2}input,select,textarea{border:1px solid #36413c;background:#111719;color:#dce8e0;padding:12px 14px;border-radius:8px;font-size:13px;margin-top:8px;box-shadow:none}input::placeholder,textarea::placeholder{color:#617169}input:focus,select:focus,textarea:focus{border-color:#91b28b;box-shadow:0 0 0 3px #a7d99b0b}input[type=checkbox]{accent-color:#b9dfa6;border-radius:3px}textarea{min-height:180px;line-height:2;letter-spacing:.2px}.prompt-label{margin-top:26px}.settings{gap:17px;margin-top:22px}.checks{margin-top:23px;gap:25px}.checks label{font-size:11px;color:#9db1a3}.hint{color:#81968a;font-size:10px}.media-actions>strong{color:#b4cbb9}.media-actions button{background:#24302a;border-color:#3b4a40;color:#b7cdbe}.asset{border-color:#344038;background:#141d18;border-radius:7px}.asset .asset-reference{border-color:#42634d;background:#2b4130;color:#d3ebce}.asset>span{color:#a4b9a9}.mention-menu{border-color:#4e6a55;background:#16231b}.mention-menu button{background:#253c2d}.mention-menu button:hover{background:#354f3c}
.submit-row{border-color:#3b4b40;background:linear-gradient(105deg,#1d2b22,#1a2020);padding:23px 27px}.estimate>span{font-size:11px;color:#9eafa3}.estimate>strong{font-size:29px;color:#ddf1d3;letter-spacing:-.5px;margin-left:16px;font-weight:600}.estimate>p{color:#99ad9f;font-size:11px}.estimate>p.hint{font-size:10px;color:#748c7b}.submit-row>.primary{padding:15px 32px;font-size:14px;min-width:170px;border-radius:10px}.history{background:#141b18;border-color:#2e3932;padding:19px 25px}.history>summary{font-size:12px;color:#b1c4b6;list-style:none;display:flex;align-items:center;gap:10px}.history>summary:before{content:'＋';font-size:16px;color:#839b8a}.history[open]>summary:before{content:'−'}.history-top,.job,th,td{border-color:#2e3b32}.job-head strong{font-size:12px;color:#d2dfd5}.job p{color:#829b8c}.badge{color:#a9c4b1}.badge.completed{color:#b7dfa9}.job .error{color:#e3bc89}.positive{color:#badea8}
.notice{background:#22352b;border-color:#4c6a56;color:#c5e3c8}.notice.error{background:#362c22;border-color:#6b563e;color:#edcc9c}.site-legal-footer{margin-top:22px;gap:12px;color:#647e6b}.site-legal-footer nav{margin-left:auto}.site-legal-footer a{color:#829b8a;font-size:10px;text-decoration:none}.site-legal-footer a:hover{color:#cee3cb}.site-legal-footer p{color:#607a67;font-size:10px;margin-top:4px}.contact-us{border:1px solid #4b7255;background:#1f3527;color:#c5e6bb;box-shadow:0 4px 25px #0005;left:22px;bottom:20px;border-radius:10px;padding:10px 15px;font-size:12px;font-weight:600}.contact-us:hover{background:#304b36;border-color:#8cb17b;color:#e0f3d6}.contact-email{font-size:17px;color:#c4e1bd}
dialog{background:#1b2521;border:1px solid #4a5e50;border-radius:16px;padding:27px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#080e0bd6;backdrop-filter:blur(4px)}dialog h2{font-size:19px;font-weight:500;color:#e5f0e6}dialog label{color:#adc2b2}dialog .row{gap:10px}.dialog-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}.dialog-heading h2{margin:4px 0 0}.dialog-heading>button{border:0;background:transparent;padding:0 5px;font-size:20px;color:#8fa997}.registration-consent{background:#18241d;border-color:#384c3c}.registration-consent .consent-check{color:#a3b9aa;font-size:11px}.registration-consent a{color:#c0d8bd}.legal-nav a{border-color:#34463a;background:#1b2b21}.legal-document h3{color:#cae5c2}.legal-document .legal-important{background:#342d22;border-color:#c3a56c}.legal-document p,.legal-document li{color:#becfc0}.legal-version{color:#799980!important}
.admin-wrap{max-width:1260px}.admin-wrap header{padding-bottom:22px;border-bottom:1px solid #2d3c30;margin-bottom:25px}.admin-wrap h1{font-size:25px;color:#e1ecdf;letter-spacing:-1px}.admin-wrap h2{color:#c6ddc4;font-size:15px}.admin-video{background:#15221b;border-color:#334a39;border-radius:11px;padding:20px}.admin-video strong{color:#bad9b6}.admin-video p{color:#91ac98}.mode-badge{color:#c1e0bb;background:#2c4330;border-color:#4c6b52}.metrics{color:#b3cbb5}.resolve{border-color:#4c5e40;background:#202b20}.detail-top{background:#25392a;border-color:#3e5744}.detail-prompt,.detail-media-card{background:#19291f;border-color:#354e3c}.detail-metadata dt,.detail-section>p{color:#88a590}.detail-section h3,.detail-media-card figcaption{color:#c4e0bd}.detail-metadata dd{color:#c8dbcc}
/* Infinite workspace */
.canvas-mode{max-width:none;padding:19px 24px 16px;background:transparent}.canvas-mode .studio-header{margin-bottom:16px;padding-bottom:16px;gap:20px}.canvas-mode .studio-header h1{font-size:21px}.canvas-mode .brand-symbol{width:38px;height:38px;border-radius:10px}.canvas-mode .brand-home p{font-size:7px;letter-spacing:1.6px}.canvas-mode .site-legal-footer{margin-top:10px}.canvas-mode .site-legal-footer p{display:none}.canvas-mode .contact-us{left:18px;bottom:16px;padding:7px 11px;font-size:11px}.canvas-workspace{grid-template-columns:62px minmax(0,1fr) 350px;height:calc(100dvh - 153px);min-height:500px;border-color:#344339;background:#111a15;border-radius:15px;box-shadow:0 22px 80px #0004}.canvas-toolrail{background:#1a251f;border-color:#344238;padding:17px 6px;gap:12px}.rail-mark{color:#b9dca6;font-size:23px}.canvas-toolrail button{border-radius:10px;color:#8ca994;font-size:9px;min-height:52px;width:46px}.canvas-toolrail button b{color:#b9cfbd;font-size:23px}.canvas-toolrail button:hover{background:#2c4032;border-color:#425e47;color:#d2e5cd}.canvas-toolrail button:first-of-type{background:#304732;border-color:#5a7a50;color:#d8edca}.rail-divider{background:#33483a}.canvas-stage{background-color:#111a15;background-image:radial-gradient(circle,#3c5344 1px,transparent 1px)}.canvas-stage:focus-visible{box-shadow:inset 0 0 0 1px #a6c796}.canvas-project-bar{top:17px;left:18px;right:18px;gap:12px}.canvas-project-name{background:#1d2b23ef;border-color:#3a5040;border-radius:9px;padding:10px 13px;box-shadow:0 4px 20px #0002;max-width:205px}.canvas-project-name .canvas-kicker{font-size:7px;letter-spacing:1.7px;color:#8ea990}.canvas-project-name input{font-size:13px;color:#d5e5d1;background:transparent;border:0;padding:0;margin:4px 0 0}.canvas-project-name small{font-size:9px;color:#7c9b84}.canvas-project-actions{background:#1c2921ed;border-color:#3c5141;border-radius:9px;padding:5px;gap:2px;max-width:340px}.canvas-project-actions button{font-size:10px;background:transparent;border:0;color:#a5bda9;padding:6px 8px;border-radius:5px}.canvas-project-actions button:hover{background:#314736;color:#d7edce}
.canvas-node{background:#1c2b23;border:1px solid #435f4b;border-radius:12px;box-shadow:0 10px 25px #0005;outline:none}.canvas-node:hover{border-color:#7d9a77}.canvas-node.selected{border-color:#bbdea5;box-shadow:0 0 0 2px #b5dba625,0 15px 30px #0005}.node-grip{background:#23362a;border-color:#3b5242;border-radius:11px 11px 0 0;color:#c7d9c8;padding:12px 14px;cursor:grab}.node-grip strong{font-size:11px;font-weight:500}.node-icon{background:#354c38;color:#d0e9c2}.node-more{color:#90a98f;border:0;background:transparent}.node-model{font-size:8px;letter-spacing:2px;color:#92b28c}.node-prompt{font-size:12px;color:#c5d6c6;line-height:1.9}.node-tags span{color:#a9c5a6;border-color:#415a44;background:#293e2e}.node-footer{background:#1b2c21;border-color:#38503e;color:#8baa8d;border-radius:0 0 11px 11px}.node-footer .node-edit{color:#c0dcaf;background:transparent;border:0}.node-port{background:#badcaa;border:3px solid #233f2d;width:14px;height:14px;box-shadow:0 0 0 1px #b7d5a777}.node-port:hover{background:#e0facd}.canvas-edge{stroke:#759478;stroke-width:2;opacity:.8}.canvas-edge:hover,.canvas-edge.selected,.canvas-edge:focus-visible{stroke:#caecb8;stroke-width:3;opacity:1}.canvas-edge.result-edge{stroke:#b0ce95}.canvas-edge.draft-edge{stroke:#d6ecb5}.node-media{background:#111d15}.node-note{color:#ccdac2;background:#35402a}.node-note p{color:#d4debc}.canvas-node.node-note{border-color:#697553}.missing-media{color:#789a81}.canvas-stage.drop-ready{box-shadow:inset 0 0 0 2px #bfdf9e;background-color:#172e1d}
.canvas-inspector{background:#1b2820;border-color:#394e3e}.canvas-inspector-heading{border-color:#334b38;padding:22px 22px 18px}.canvas-kicker{color:#a5c39a;font-size:8px;letter-spacing:2px}.canvas-inspector-heading h2{font-size:16px;font-weight:500;margin-top:8px;color:#d4e6ce}.canvas-inspector-heading p{font-size:10px;color:#86a38c}.canvas-inspector-scroll{padding:20px}.canvas-inspector-foot{background:#1b2a1f;border-color:#354d3b;color:#77957b;font-size:9px}.canvas-inspector .box{background:none!important;border:0!important;border-radius:0;padding:0;box-shadow:none}.canvas-inspector .panel-heading{display:none}.canvas-inspector .grow{width:100%;max-width:none}.canvas-inspector .model{display:none}.canvas-inspector .generation-panel>.row>small{display:none}.canvas-inspector input,.canvas-inspector select,.canvas-inspector textarea{background:#132018;border-color:#3a5241;border-radius:7px;color:#d5e6d3;font-size:11px;padding:10px}.canvas-inspector label{font-size:10px;color:#92b199}.canvas-inspector textarea{min-height:146px;line-height:1.9}.canvas-inspector .checks label{font-size:10px;color:#a4bea4}.canvas-inspector .submit-row{border-top:1px solid #3a5240!important;padding-top:19px!important}.canvas-inspector .estimate>strong{font-size:24px;color:#d3eebf}.canvas-inspector .estimate>p.hint{font-size:9px;color:#76937b}.canvas-inspector .submit-row>.primary{font-size:12px;border-radius:8px;padding:13px}.canvas-inspector #canvas-node-detail p{color:#a5c0a7;font-size:11px}.canvas-inspector .canvas-delete{color:#d3ae95}.canvas-navigation{bottom:19px;left:18px;gap:9px}.canvas-control-group{background:#23352aee;border-color:#435d48;border-radius:8px;box-shadow:0 4px 16px #0004}.canvas-control-group button{color:#c1d8b5;background:transparent;border:0;border-radius:5px;padding:5px 9px;font-size:11px}.canvas-control-group button:hover{background:#3b5240}.canvas-control-group button:disabled{color:#59765d}.canvas-stage-hint{color:#637e68;font-size:9px;bottom:61px}.canvas-toast{background:#2a422ef2;border-color:#789868;color:#e2f3d4;font-size:11px;max-width:calc(100% - 36px)}
.canvas-minimap{position:absolute;right:16px;bottom:18px;z-index:3;width:172px;padding:7px 6px 3px;background:#1c2d23ed;border:1px solid #3c5643;border-radius:9px;box-shadow:0 4px 20px #0004}.canvas-minimap>span{font-size:8px;letter-spacing:1px;color:#7e9f83;margin:0 5px}.canvas-minimap svg{display:block;cursor:crosshair;overflow:hidden;touch-action:none}.map-node{fill:#4c6950;stroke:#89ab7d;stroke-width:4}.map-generation{fill:#789265}.map-selected{fill:#c0dfa6}.map-viewport{fill:#b4d79e10;stroke:#d6edbd;stroke-width:8;pointer-events:none}.canvas-marquee{position:absolute;z-index:2;pointer-events:none;background:#b5df9e12;border:1px solid #b5df9e;border-radius:3px}.canvas-selection-bar{position:absolute;z-index:3;left:18px;top:101px;display:flex;align-items:center;gap:9px;padding:5px 8px;background:#263e2cec;border:1px solid #64815c;border-radius:7px;box-shadow:0 3px 16px #0004}.canvas-selection-bar span{font-size:9px;color:#c2dbb6}.canvas-selection-bar button{font-size:9px;padding:3px 7px;background:#345038;border-color:#506b4a;color:#d4e7c8}
#canvas-projects-dialog{width:620px;max-height:82vh;overflow:auto}#canvas-projects-list{display:grid;gap:9px;margin-top:20px}.project-list-item{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #38523f;border-radius:9px;background:#17251c;padding:15px}.project-list-item strong{font-size:13px;color:#d3e6ce;font-weight:500;overflow-wrap:anywhere}.project-list-item small{display:block;color:#7e9f84;font-size:10px;margin-top:5px}.project-list-item button{flex-shrink:0}.shortcut-list{display:grid;grid-template-columns:100px 1fr;gap:13px 15px;font-size:11px;margin:24px 0;color:#a8c2aa}.shortcut-list dt{color:#d1e4cb}.shortcut-list dd{margin:0;line-height:1.7}#canvas-help-dialog{width:510px}.canvas-history-row{border-color:#3c5540}.canvas-history-row p{color:#b6cdb3}.canvas-history-row small{color:#78977d}
@media(min-width:1550px){.canvas-workspace{grid-template-columns:66px minmax(0,1fr) 375px}.canvas-inspector-scroll{padding:23px}.canvas-mode{padding-left:28px;padding-right:28px}}
@media(max-width:1100px){.wrap{padding:23px 25px}.studio-header{gap:15px}.studio-header .brand-home p{font-size:7px;letter-spacing:1.2px}.studio-header .account{gap:6px}.workspace-heading h2{font-size:30px}.workspace-status{display:none}.canvas-mode{padding:15px}.canvas-mode .studio-header{flex-wrap:wrap;gap:12px}.canvas-workspace{grid-template-columns:54px minmax(0,1fr) 315px}.canvas-project-actions{max-width:180px;flex-wrap:wrap;justify-content:flex-end}.canvas-project-actions button{font-size:9px;padding:4px 6px}.canvas-inspector-scroll{padding:17px}.canvas-minimap{width:140px}.canvas-minimap svg{width:126px;height:80px}.canvas-project-name{max-width:170px}.canvas-selection-bar{top:114px}.canvas-mode .site-legal-footer nav{margin-left:120px}}
@media(max-width:900px){.canvas-workspace{grid-template-columns:52px minmax(0,1fr);height:calc(100dvh - 180px)}.canvas-inspector{top:120px;bottom:72px;right:12px;border:1px solid #4f6c53;border-radius:12px;width:315px;box-shadow:0 15px 50px #0008}.canvas-minimap{display:none}.canvas-project-actions{max-width:245px}.canvas-mode .studio-header .account{width:100%;margin-left:0}.canvas-mode .studio-header .canvas-entry{margin-left:auto}.canvas-selection-bar{top:105px}.canvas-inspector-heading{padding:17px}.canvas-mode .contact-us{bottom:12px}.canvas-project-bar{left:12px;right:12px}.canvas-mode .site-legal-footer nav{margin-left:auto}}
@media(max-width:720px){.wrap{padding:20px 16px 24px}.studio-header{flex-direction:row;align-items:center;flex-wrap:wrap;margin-bottom:26px;padding-bottom:19px}.brand-symbol{width:37px;height:37px}.studio-header h1{font-size:20px}.studio-header .brand-home p{font-size:6px;letter-spacing:1.2px}.canvas-entry{font-size:10px;padding:9px 12px;margin-left:auto}.studio-header .account{width:100%;justify-content:flex-start;margin-left:0}.workspace-heading{margin-bottom:22px}.workspace-heading h2{font-size:27px;margin-top:9px}.workspace-heading p{font-size:10px}.eyebrow{font-size:8px;letter-spacing:2px}.box{padding:20px;border-radius:12px}.panel-heading{margin-bottom:19px;padding-bottom:17px}.panel-tag{font-size:7px}.model{font-size:10px}.grow{min-width:170px}.generation-panel>.row>small{display:none}.settings{gap:13px;margin-top:20px}label{font-size:10px}input,select,textarea{font-size:12px;padding:11px}.estimate>strong{display:block;margin:8px 0 0;font-size:27px}.submit-row{gap:18px}.submit-row>.primary{padding:14px}.contact-us{left:auto;right:16px;bottom:16px;font-size:11px;padding:9px 12px}.site-legal-footer{padding-bottom:40px}.site-legal-footer nav{margin-left:0;width:100%}.site-legal-footer p{font-size:9px}.admin-wrap h1{font-size:22px}.admin-videos{gap:14px}.canvas-mode{padding:12px 9px}.canvas-mode .studio-header{margin-bottom:12px}.canvas-workspace{min-height:520px}.canvas-project-name{max-width:155px;padding:9px 11px}.canvas-project-actions{max-width:155px}.canvas-project-actions button{font-size:8px;padding:4px 6px}.canvas-project-name input{font-size:12px}.canvas-project-name small{font-size:8px}.canvas-mode .site-legal-footer{padding-bottom:5px;font-size:8px}.canvas-mode .site-legal-footer nav{width:auto;margin-left:auto}.canvas-selection-bar{top:113px;left:12px}.canvas-inspector{right:8px;max-width:calc(100% - 75px)}.legal-wrap .legal-header{margin-bottom:22px}.legal-document p,.legal-document li{font-size:13px}}
.canvas-inspector-scroll:has(#canvas-form-mount:not([hidden])){display:flex;flex-direction:column;overflow:hidden}.canvas-inspector #canvas-form-mount:not([hidden]){height:100%;min-height:0}.canvas-inspector #generation,.canvas-inspector #fields{height:100%;min-height:0;display:flex;flex-direction:column}.canvas-inspector .generation-panel{flex:1;min-height:0;overflow:auto;padding-right:5px!important;scrollbar-width:thin;scrollbar-color:#526e53 transparent}.canvas-inspector .submit-row{flex:0 0 auto;margin:16px 0 0!important;gap:10px;padding-top:14px!important}.canvas-inspector .estimate>p.hint{line-height:1.7}.canvas-inspector .submit-row>.primary{min-width:0}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.mode-tip{margin:0;align-self:flex-end;padding-bottom:12px}
.canvas-workspace{grid-template-rows:minmax(0,1fr);overflow:clip}.canvas-stage{min-height:0;overflow:clip}.canvas-toolrail,.canvas-inspector{min-height:0}

.canvas-mode~#contact-us{font-size:10px;padding:7px 10px;left:auto;right:15px;bottom:10px}@media(max-width:720px){.canvas-navigation{bottom:57px}}
