:root{--ink:#14211f;--paper:#f1eadb;--card:#fffaf0;--line:#b8ad98;--fire:#e9522c;--sea:#167c78;--sun:#f2bd3d;--muted:#69736e;--shadow:8px 8px 0 rgba(20,33,31,.14)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 0,#fff9e7 0,transparent 30%),linear-gradient(135deg,#e4ddcb,#f7f1e3);color:var(--ink);font-family:"Aptos","Trebuchet MS",sans-serif;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.topbar{height:72px;display:flex;align-items:center;gap:14px;padding:0 22px;background:var(--ink);color:#fff;box-shadow:0 5px 0 var(--sun);position:relative;z-index:20}.brand{font-family:"Bodoni 72","Times New Roman",serif;font-weight:900;font-size:25px;letter-spacing:-.5px}.brand b{color:var(--sun)}.topbar .spacer{flex:1}.pill{border:1px solid #ffffff55;border-radius:99px;padding:8px 12px;font-size:13px}.topbar button,.primary{border:0;background:var(--fire);color:#fff;padding:10px 15px;border-radius:6px;font-weight:800}.secondary{background:transparent!important;border:1px solid currentColor!important}
.shell{height:calc(100vh - 72px);display:grid;grid-template-columns:238px 1fr 292px}.rail,.inspector{background:#efe7d7;padding:18px;border-right:1px solid var(--line);overflow:auto}.inspector{border:0;border-left:1px solid var(--line)}h2,h3{font-family:"Bodoni 72","Times New Roman",serif;margin:0 0 13px}label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:13px 0 6px}.field,textarea,select,input{width:100%;border:1px solid var(--line);background:#fffdf7;border-radius:5px;padding:10px;color:var(--ink)}textarea{min-height:110px;resize:vertical}.tool{width:100%;text-align:left;margin:0 0 9px;border:1px solid var(--ink);background:var(--card);padding:12px;border-radius:5px;font-weight:800;box-shadow:3px 3px 0 #cfc4ae}.tool i{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--sun);font-style:normal;margin-right:7px}.workspace{position:relative;overflow:hidden;background-color:#e7e0d2;background-image:linear-gradient(#948b7c22 1px,transparent 1px),linear-gradient(90deg,#948b7c22 1px,transparent 1px);background-size:24px 24px}.stage{position:absolute;inset:0;transform-origin:0 0}.wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.node{position:absolute;width:250px;min-height:128px;background:var(--card);border:2px solid var(--ink);border-radius:8px;box-shadow:var(--shadow);overflow:hidden}.node.selected{outline:4px solid var(--sun)}.node-head{height:38px;background:var(--ink);color:#fff;padding:9px 12px;font-weight:900;display:flex;justify-content:space-between;cursor:grab}.node-body{padding:12px;font-size:13px}.node.prompt .node-head{background:var(--fire)}.node.images .node-head{background:var(--sea)}.node.video .node-head{background:#2c5363}.node.result .node-head{background:#75612b}.port{width:13px;height:13px;background:var(--sun);border:2px solid var(--ink);border-radius:50%;position:absolute;top:57px}.port.in{left:-8px}.port.out{right:-8px}.thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.thumbs img{width:100%;height:52px;object-fit:cover;border-radius:4px}.status{display:inline-flex;align-items:center;gap:6px;font-weight:800}.dot{width:9px;height:9px;border-radius:50%;background:var(--sun)}.completed .dot{background:var(--sea)}.failed .dot{background:var(--fire)}.actions{display:grid;gap:8px;margin-top:18px}.actions button{padding:11px;border:1px solid var(--ink);border-radius:5px;background:var(--card);font-weight:900}.actions .run{background:var(--fire);color:#fff}.notice{font-size:12px;color:var(--muted);line-height:1.5}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 18px;border-radius:5px;z-index:50}.auth{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:linear-gradient(120deg,#132522ee,#74411bee)}.auth-card{width:min(430px,92vw);background:var(--paper);border:2px solid var(--ink);padding:30px;box-shadow:12px 12px 0 #0005}.auth-card h1{font-family:"Bodoni 72","Times New Roman",serif;font-size:40px;margin:0}.auth-card button{width:100%;margin-top:16px;padding:12px;border:0;background:var(--fire);color:#fff;font-weight:900}
.admin-shell{padding:26px;max-width:1500px;margin:auto}.admin-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.panel{grid-column:span 6;background:var(--card);border:1px solid var(--line);padding:18px;box-shadow:5px 5px 0 #cfc4ae;overflow:auto}.panel.wide{grid-column:span 12}.metric{font-family:"Bodoni 72","Times New Roman",serif;font-size:36px;font-weight:900}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:9px;border-bottom:1px solid #d9cfbc}th{text-transform:uppercase;font-size:10px;letter-spacing:.08em}.mini{width:auto;padding:6px 9px;border:1px solid var(--ink);background:#fff;border-radius:4px}.danger{color:#a72e16}
.admin-tabs{display:flex;gap:8px;margin-bottom:18px;padding:7px;border:1px solid var(--line);background:#ede7da;overflow:auto;position:sticky;top:72px;z-index:10}.admin-tabs button{width:auto;white-space:nowrap;background:transparent;border:1px solid transparent;color:var(--muted)}.admin-tabs button.active{background:var(--ink);border-color:var(--ink);color:#fff}.admin-tab{display:none}.admin-tab.active{display:block}.overview-metrics{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px;margin-bottom:16px}.overview-card{padding:18px;border:1px solid var(--line);background:#fffefa;box-shadow:3px 3px 0 #d8cfbd}.overview-card b,.overview-card span{display:block}.overview-card b{font-family:"Bodoni 72","Times New Roman",serif;font-size:30px}.overview-card span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.filter-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.filter-row input,.filter-row select{width:auto;min-width:190px;margin:0}.pager{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding-top:14px;color:var(--muted);font-size:12px}
.admin-page .topbar{position:sticky;top:0;z-index:40}.admin-page .admin-tabs{top:58px;z-index:30;box-shadow:0 5px 12px rgba(23,35,38,.08)}
@media(max-width:900px){.shell{grid-template-columns:1fr}.rail{position:absolute;z-index:30;width:230px;height:calc(100vh - 72px);transform:translateX(-100%)}.inspector{position:absolute;right:0;z-index:30;width:280px;height:calc(100vh - 72px);transform:translateX(100%)}.shell.show-tools .rail,.shell.show-inspector .inspector{transform:none}.admin-grid{display:block}.panel{margin-bottom:16px}.topbar{padding:0 10px}.brand{font-size:19px}.overview-metrics{grid-template-columns:repeat(2,1fr)}.admin-tabs{top:72px}.filter-row input,.filter-row select{width:100%;min-width:0}}
.shell{position:relative;overflow:hidden}
@media(max-width:900px){.rail,.inspector{height:100%}.topbar{overflow:hidden}.topbar .pill{display:none}.brand{white-space:nowrap}.topbar button{padding:8px 9px;font-size:12px}}

/* Canvas Tool-inspired workspace: dense, operational, and media-first. */
:root{--ink:#172326;--paper:#eef2ef;--card:#fffefa;--line:#d3ddd7;--fire:#c56f3a;--sea:#2f6f73;--sun:#d69a49;--muted:#607074;--shadow:0 8px 24px rgba(30,48,52,.09)}
body{background:var(--paper);font-family:"Bahnschrift","Aptos",sans-serif}.topbar{height:58px;background:#fbfbf8;color:var(--ink);box-shadow:none;border-bottom:1px solid var(--line)}.brand{font-family:"Bahnschrift Condensed","Aptos Display",sans-serif;letter-spacing:.02em}.brand b{color:var(--sea)}.topbar button,.primary{background:var(--sea);border:1px solid var(--sea);border-radius:7px}.topbar .secondary{color:var(--ink);border-color:var(--line)!important}.pill{color:var(--muted);border-color:var(--line)}
.shell{height:calc(100vh - 58px);display:grid;grid-template-columns:286px minmax(0,1fr);grid-template-rows:minmax(280px,1fr) minmax(270px,36vh);overflow:hidden}.rail{grid-column:1;grid-row:1/3;background:#fbfbf8;border-right:1px solid var(--line);padding:14px}.rail h2{font-family:"Bahnschrift Condensed","Aptos Display",sans-serif;font-size:21px}.rail-section{padding:15px 0;border-top:1px solid var(--line)}.rail-section h3{font-family:inherit;font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.tool{box-shadow:none;border-color:var(--line);background:#fff;min-height:40px}.tool:hover{border-color:#91aaa6;background:#f4f8f5}.tool i{background:#e7efeb;color:var(--sea)}
.workspace{grid-column:2;grid-row:1;position:relative;overflow:auto;background-color:#eef2ef;background-image:linear-gradient(90deg,rgba(23,35,38,.055) 1px,transparent 1px),linear-gradient(rgba(23,35,38,.055) 1px,transparent 1px);background-size:28px 28px}.stage{position:relative;inset:auto;width:2200px;height:1400px;transform-origin:0 0}.wires{width:2200px;height:1400px}.canvas-zoom-controls{position:sticky;top:10px;left:calc(100% - 210px);z-index:40;display:inline-flex;align-items:center;gap:6px;padding:6px;margin:10px;border:1px solid var(--line);border-radius:8px;background:rgba(251,251,248,.95);box-shadow:0 8px 24px rgba(30,48,52,.12)}.canvas-zoom-controls button{width:34px;height:30px;border:1px solid var(--line);background:#fff;border-radius:6px;font-weight:800}.canvas-zoom-controls #zoomReset{width:44px}.canvas-zoom-controls span{min-width:48px;text-align:center;color:var(--muted);font-size:12px}
.inspector{grid-column:2;grid-row:2;display:grid;grid-template-columns:minmax(420px,1.15fr) minmax(360px,.85fr);gap:0;padding:0;background:#fbfbf8;border-left:0;border-top:1px solid var(--line);overflow:hidden}.composer{padding:16px;display:grid;grid-template-columns:1.3fr 150px 150px;gap:10px;align-content:start;border-right:1px solid var(--line)}.composer>div:first-child{grid-column:1/-1;display:flex;align-items:baseline;gap:12px}.composer h2{font-family:"Bahnschrift Condensed","Aptos Display",sans-serif}.composer label:first-of-type{grid-column:1;grid-row:2/5}.composer textarea{height:142px;min-height:142px}.composer label{margin:0}.composer .primary{grid-column:2/4;height:42px;color:#fff;font-weight:800}.secondary-action{grid-column:2/4;border:1px solid var(--line);background:#fff;border-radius:7px}.jobs-panel{padding:16px;overflow:auto}.jobs-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:8px}.job{padding:9px 0;border-bottom:1px solid var(--line)}
.node{width:230px;min-height:126px;border:1px solid #cdd7d1;border-radius:8px;background:#fffefa;box-shadow:var(--shadow);overflow:hidden}.node.selected{outline:3px solid rgba(47,111,115,.28);border-color:var(--sea)}.node-head{height:39px!important;background:#f5f8f4!important;color:var(--ink)!important;border-bottom:1px solid var(--line);font-size:13px;cursor:move}.node.prompt{min-width:280px;min-height:220px;resize:both}.node.images{width:210px;min-height:230px}.node.video{width:390px;min-height:430px;border-color:#c46a2d;background:linear-gradient(155deg,#fffdf8,#fff0df);resize:both}.node.result{width:320px;min-height:230px}.node.video .node-head{background:#fff4e8!important}.node.images .node-head{background:#f0f7f3!important}.node.result .node-head{background:#edf5f5!important}.node-body{padding:10px}.seedance-banner{padding:8px;border-radius:6px;background:linear-gradient(90deg,#c46a2d,#e49b55);color:#fff;font-weight:800}.seedance-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.seedance-grid label{margin:0;font-size:11px}.seedance-grid select{padding:7px}.seedance-prompt{margin-top:9px;min-height:110px}.seedance-refs{margin-top:8px;padding:8px;border:1px dashed #d4b28e;border-radius:6px;color:var(--muted)}.media-node-preview{width:100%;height:150px;object-fit:contain;background:#e7ece7;border-radius:6px}.node-run{width:100%;margin-top:10px;padding:9px;border:0;border-radius:6px;background:var(--sea);color:#fff;font-weight:800}.port{background:var(--sea);border-color:#fff;box-shadow:0 0 0 1px var(--sea)}
@media(max-width:900px){.shell{grid-template-columns:1fr;grid-template-rows:1fr}.rail{position:absolute;grid-column:auto;grid-row:auto;height:100%;z-index:50}.workspace{grid-column:1;grid-row:1}.inspector{position:absolute;grid-column:auto;grid-row:auto;right:0;bottom:0;width:min(94vw,620px);height:70%;display:block;transform:translateX(105%);z-index:50}.shell.show-inspector .inspector{transform:none}.composer{display:block}.composer>*{margin-bottom:9px}.jobs-panel{max-height:230px}}

/* Seedance pipeline workspace */
:root{--canvas-ink:#263232;--canvas-muted:#71817d;--canvas-line:#d8dfda;--canvas-teal:#4f817a;--canvas-teal-dark:#315f5a;--canvas-cream:#fbfaf4;--canvas-orange:#d98947}
.mobile-only{display:none}.shell{height:calc(100vh - 58px);display:grid;grid-template-columns:250px minmax(0,1fr);grid-template-rows:1fr;position:relative}.rail{grid-column:1;grid-row:1;padding:14px;background:#f8f8f4}.rail-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--canvas-line);margin-bottom:12px}.rail-title h2{font-size:18px}.rail-title span{font-size:11px;color:var(--canvas-muted)}#images{display:none}.upload-tool{width:100%;display:flex;align-items:center;gap:10px;padding:12px;border:1px dashed #9caeaa;border-radius:7px;background:#fff;color:var(--canvas-ink);text-align:left}.upload-tool b{display:grid;place-items:center;width:30px;height:30px;border-radius:5px;background:#e5efeb;color:var(--canvas-teal-dark);font-size:22px}.upload-tool span{font-weight:700}.upload-tool small,.media-item small{display:block;margin-top:3px;color:var(--canvas-muted);font-size:10px;font-weight:400}.media-list{display:grid;gap:7px;margin-top:12px;max-height:calc(100vh - 250px);overflow:auto}.media-item{display:flex;gap:9px;align-items:center;width:100%;padding:7px;border:1px solid var(--canvas-line);border-radius:6px;background:#fff;text-align:left}.media-item img{width:52px;height:44px;object-fit:cover;border-radius:4px;background:#e8ece8}.quiet-tool{width:100%;margin-top:12px;padding:9px;border:1px solid var(--canvas-line);border-radius:6px;background:transparent;color:var(--canvas-muted)}
.workspace{grid-column:2;grid-row:1;overflow:auto;position:relative;cursor:default;overscroll-behavior:contain;background-color:#eef1ee;background-image:linear-gradient(rgba(38,50,50,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(38,50,50,.06) 1px,transparent 1px);background-size:24px 24px}.workspace.panning{cursor:default;user-select:none}.stage{position:relative;width:3000px;height:2000px;transform-origin:0 0}.wires{position:absolute;width:3000px;height:2000px;pointer-events:none}.wire{fill:none;stroke:#588a83;stroke-width:3}.canvas-toolbar{position:sticky;top:10px;left:14px;z-index:45;width:max-content;display:flex;align-items:center;gap:4px;padding:5px;border:1px solid var(--canvas-line);border-radius:7px;background:rgba(252,252,248,.96);box-shadow:0 6px 20px #26323218;cursor:default}.canvas-toolbar button{height:30px;padding:0 9px;border:0;border-right:1px solid var(--canvas-line);background:transparent;color:#40514e;font-size:11px;font-weight:700}.canvas-toolbar button:hover{background:#eaf1ed}.canvas-toolbar i{width:14px}.canvas-toolbar span{width:43px;text-align:center;color:var(--canvas-muted);font-size:11px}
.node{position:absolute;border:1px solid #c9d3ce;border-radius:7px;background:var(--canvas-cream);box-shadow:0 8px 22px #334b471a;overflow:visible}.node.selected{outline:3px solid #d7a45b99;border-color:#c7803e}.node.images{width:220px}.node.video{width:390px}.node.result{width:330px}.node-head{height:36px!important;display:flex;align-items:center;justify-content:space-between;padding:0 10px;background:#f5f7f3!important;color:var(--canvas-ink)!important;border-bottom:1px solid var(--canvas-line);border-radius:7px 7px 0 0;cursor:grab;font-size:12px}.node-head span{font-size:9px;color:#82908d;letter-spacing:.08em}.node-delete{border:0;background:transparent;color:#8c9996;font-size:17px}.node-body{padding:9px}.port{position:absolute;top:49px;width:12px;height:12px;border:2px solid #fff;border-radius:50%;background:var(--canvas-teal);box-shadow:0 0 0 1px var(--canvas-teal);z-index:3}.port.in{left:-7px}.port.out{right:-7px}.media-node-preview{display:block;width:100%;height:170px;object-fit:cover;border-radius:4px;background:#e6ebe7}.media-caption{display:flex;align-items:center;justify-content:space-between;padding-top:8px;font-size:11px}.media-caption code{padding:3px 5px;border-radius:3px;background:#e7efeb;color:var(--canvas-teal-dark)}
.seedance-banner{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border-radius:5px;background:linear-gradient(100deg,#ce7d3e,#e49b58);color:white;font-weight:800}.seedance-banner small{font-size:9px;letter-spacing:.1em;opacity:.85}.seedance-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}.seedance-grid label,.prompt-label{margin:0;color:#667570;font-size:9px;letter-spacing:.06em}.seedance-grid select{height:31px;padding:5px;border-color:#d8ddd8;background:#fff}.seedance-prompt{min-height:108px;margin-top:5px;padding:8px;border-color:#d7ddd8;background:#fff;resize:vertical;font-size:12px}.prompt-label{margin-top:9px}.refs-title{display:flex;justify-content:space-between;margin:9px 0 5px;font-size:10px;color:#65736f}.seedance-refs{display:grid;gap:5px;max-height:160px;overflow:auto;padding:5px;border:1px solid #d9dfda;border-radius:5px;background:#fff}.ref-row{display:grid;grid-template-columns:38px 1fr 25px;align-items:center;gap:7px;padding:4px;background:#f5f7f3;border-radius:4px}.ref-row img{width:38px;height:32px;object-fit:cover;border-radius:3px}.ref-row b,.ref-row small{display:block;font-size:10px}.ref-row small{color:#788682}.insert-ref{width:23px;height:23px;border:1px solid #cbd8d3;border-radius:4px;background:#fff;color:var(--canvas-teal-dark)}.empty-ref{margin:7px;color:#87938f;font-size:10px;text-align:center}.audio-row{display:flex;align-items:center;gap:7px;margin:9px 0 0;font-size:10px;text-transform:none;letter-spacing:0}.audio-row input{width:auto}.node-run{width:100%;margin-top:8px;padding:9px;border:0;border-radius:5px;background:var(--canvas-teal-dark);color:#fff;font-weight:800}.node.result video{display:block;width:100%;aspect-ratio:16/9;border-radius:4px;background:#17201f}.result-wait{display:grid;place-items:center;min-height:170px;border-radius:4px;background:#e9eeea;color:#60716d}.result-wait i{width:22px;height:22px;border:3px solid #b9c8c3;border-top-color:var(--canvas-teal);border-radius:50%;animation:spin 1s linear infinite}.result-meta{display:flex;justify-content:space-between;align-items:center;padding:9px 2px 3px;font-size:10px}.status{display:inline-flex;align-items:center;gap:5px}.dot{width:7px;height:7px;border-radius:50%;background:#d99a4a}.completed .dot{background:#4c8a70}.failed .dot{background:#c65c49}.download-video{width:100%;margin-top:7px;padding:8px;border:1px solid #b9cbc5;border-radius:5px;background:#fff;color:var(--canvas-teal-dark);font-weight:700}@keyframes spin{to{transform:rotate(360deg)}}
.jobs-panel{position:absolute;left:250px;right:0;bottom:0;z-index:44;height:210px;padding:0;background:#fafaf7;border-top:1px solid var(--canvas-line);transition:transform .18s ease}.jobs-panel.collapsed{transform:translateY(calc(100% - 38px))}.jobs-toggle{width:100%;height:38px;display:flex;justify-content:space-between;align-items:center;padding:0 14px;border:0;background:#f7f8f4;color:#445550;font-weight:800}.jobs-toggle b{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;border-radius:10px;background:#dde9e4;color:#416861;font-size:10px}.jobs{height:172px;overflow:auto;padding:5px 14px}.job{display:grid;grid-template-columns:1fr 110px 55px;align-items:center;padding:7px;border-bottom:1px solid #e3e7e3;font-size:11px}.job button{padding:5px;border:1px solid var(--canvas-line);background:#fff;border-radius:4px}.toast{z-index:100}.auth-card h1 span{color:var(--canvas-orange)}
@media(max-width:900px){.mobile-only{display:block}.shell{grid-template-columns:1fr}.rail{position:absolute;left:0;top:0;bottom:0;width:250px;z-index:60;transform:translateX(-102%);transition:transform .18s}.shell.show-tools .rail{transform:none}.workspace{grid-column:1}.jobs-panel{left:0}.canvas-toolbar{max-width:calc(100vw - 20px);overflow:auto}.canvas-toolbar button{white-space:nowrap}.topbar .pill{display:none}.node.video{width:350px}}
.selection-box{position:absolute;z-index:20;border:1px dashed #4f817a;background:#4f817a22;pointer-events:none}
.node-head{cursor:default}

.node.video{min-width:340px;min-height:470px;resize:none}.node.video .node-body{height:calc(100% - 36px);display:grid;grid-template-rows:auto auto minmax(115px,1fr) auto auto auto;align-content:stretch;overflow:hidden;padding-bottom:25px}.node.video .prompt-label{min-height:0;display:flex;flex-direction:column}.node.video .seedance-prompt{height:100%;min-height:90px;flex:1;resize:none}.node.video .seedance-refs{max-height:145px}.resize-handle{position:absolute;right:3px;bottom:3px;width:21px;height:21px;padding:0;border:0;background:linear-gradient(135deg,transparent 43%,#a3b2ae 44%,#a3b2ae 53%,transparent 54%,transparent 66%,#647b75 67%,#647b75 76%,transparent 77%);cursor:nwse-resize;z-index:8}
.job-error{margin:7px 0;padding:7px;border-radius:4px;background:#fff0ed;color:#a64f40;font-size:11px;line-height:1.35}
.result-title{font-size:11px;font-weight:800;color:#315f5a;margin:4px 2px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-name{grid-column:1/-1;font-size:11px;margin-bottom:3px;color:#315f5a}
.jobs{display:flex;flex-direction:row;align-items:stretch;gap:12px;overflow-x:auto;overflow-y:hidden;padding:8px 14px 14px}.jobs .job{flex:0 0 360px;width:360px;min-height:120px;padding:10px;border:1px solid #dce3de;border-radius:6px;background:#fff;box-shadow:0 2px 8px #314b4310}.jobs .job-top{grid-template-columns:52px minmax(0,1fr) 45px}.jobs .job-actions{flex-wrap:wrap}
.project-picker{width:min(320px,24vw);height:35px;padding:5px 9px;border:1px solid var(--canvas-line);border-radius:18px;background:#fff;color:var(--canvas-ink);font-size:12px}.save-state{font-size:10px;color:#6c7d78;white-space:nowrap}
.topbar .danger-action{color:#a84d3e;border-color:#dfb8af!important}.topbar .danger-action:hover{background:#fff0ec!important;border-color:#c96b58!important}
.auto-download{display:flex;align-items:center;gap:5px;margin:0;color:#52635e;font-size:11px;letter-spacing:0;text-transform:none;white-space:nowrap}.auto-download input{width:auto}.topbar .download-folder{max-width:155px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.admin-dialog{width:min(1100px,94vw);max-height:88vh;padding:0;border:1px solid var(--line);border-radius:10px;background:#fffefa;box-shadow:0 22px 70px #17232644}.admin-dialog::backdrop{background:#17232699}.dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);background:#fffefa}.dialog-head h2{margin:0}.dialog-head button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:22px}.history-dialog>h3,.history-dialog>.dialog-table,.history-summary{margin-left:20px;margin-right:20px}.history-dialog>.dialog-table{margin-bottom:22px;overflow:auto}.history-summary{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:10px;margin-top:18px}.history-metric{padding:12px;border:1px solid var(--line);border-radius:7px;background:#f5f8f4}.history-metric b,.history-metric span{display:block}.history-metric b{font-size:22px;color:var(--sea)}.history-metric span{font-size:10px;color:var(--muted)}.password-dialog{width:min(520px,94vw)}.password-dialog form{padding:4px 20px 22px}.dialog-table .empty{padding:18px;color:var(--muted);text-align:center}@media(max-width:900px){.history-summary{grid-template-columns:repeat(2,1fr)}}
.jobs{height:172px;overflow:auto;padding:6px 14px}.job{display:block;padding:10px 0;border-bottom:1px solid #e3e7e3;font-size:11px}.job-top{display:grid;grid-template-columns:52px 1fr 45px;align-items:center;gap:7px}.job-badge{padding:3px 6px;border-radius:10px;text-align:center;font-size:9px;font-weight:800;text-transform:uppercase}.job-badge.success{background:#dceee5;color:#287052}.job-badge.error{background:#fae3de;color:#a84d3e}.job-badge.running{background:#f8ecd7;color:#9b6b2c}.job-name{color:#315f5a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-type{margin-top:3px;color:#65736f;font-size:10px}.job-times{margin-top:3px;color:#71807c;font-size:10px}.job-actions{display:flex;gap:6px;margin-top:6px}.job-actions button{padding:5px 8px;border:1px solid var(--canvas-line);background:#fff;border-radius:4px;font-size:10px}.job-error{margin-top:5px}
.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0 13px;color:#78847f;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:#cfd8d3}.google-login{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:6px 16px;border:1px solid #c7d2cc;border-radius:7px;background:#fff;color:#273431;text-decoration:none;font-size:15px;font-weight:800;box-shadow:0 2px 5px #1c2d2712;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease}.google-login:hover{border-color:#8ba39a;background:#fbfdfc;box-shadow:0 5px 14px #1c2d2720;transform:translateY(-1px)}.google-login:active{transform:translateY(0);box-shadow:0 2px 4px #1c2d2718}.google-login:focus-visible{outline:3px solid #4285f455;outline-offset:2px}.google-mark{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid #e2e6e4;border-radius:6px;background:#fff}.google-mark svg{width:23px;height:23px;display:block}@media(max-width:520px){.auth-card{padding:24px}.google-login{font-size:14px}.google-mark{width:32px;height:32px;flex-basis:32px}}
.topup-button{background:var(--fire)!important;border-color:var(--fire)!important;color:#fff!important}.topup-dialog{width:min(510px,94vw);padding:0;border:1px solid #d9c8af;border-radius:12px;background:#fffdf8;color:var(--ink);box-shadow:0 28px 90px #17232655}.topup-dialog::backdrop{background:#172326b0}.topup-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid #eadfce;background:linear-gradient(115deg,#fff8ec,#f4eee3)}.topup-head span{color:var(--fire);font-size:10px;font-weight:900;letter-spacing:.16em}.topup-head h2{margin:3px 0 0;font-family:"Bahnschrift Condensed","Aptos Display",sans-serif;font-size:26px}.topup-head button{width:36px;height:36px;border:1px solid #ddd0bd;border-radius:50%;background:#fff;font-size:23px}.topup-dialog form{padding:20px 22px 24px}.topup-rate{margin:0 0 16px;color:var(--muted)}.topup-rate b{color:var(--sea)}.topup-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.topup-presets button{padding:12px 5px;border:1px solid #d9d6ca;border-radius:7px;background:#fff;color:var(--ink);font-weight:800}.topup-presets button.active{border-color:var(--fire);background:#fff1df;color:#a85629;box-shadow:inset 0 0 0 1px var(--fire)}.topup-dialog label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.topup-dialog input{height:46px;padding:9px 12px;border:1px solid #d6dcd7;border-radius:7px;background:#fff;font-size:18px;font-weight:800}.topup-summary{display:flex;align-items:center;justify-content:space-between;margin:16px 0;padding:14px;border:1px solid #dbe4de;border-radius:7px;background:#f1f6f2}.topup-summary span{font-size:12px;color:var(--muted)}.topup-summary b{font-size:20px;color:var(--sea)}.topup-submit{width:100%;height:46px}.topup-submit:disabled{opacity:.55}.topup-status{min-height:18px;margin:12px 0 0;color:var(--muted);font-size:11px;text-align:center}@media(max-width:520px){.topup-presets{grid-template-columns:1fr}.topup-dialog form{padding:17px}.topup-head{padding:17px}}
.history-button{border-color:#a9bbb5!important;color:var(--sea)!important}.credit-history-dialog{width:min(720px,95vw);max-height:86vh;padding:0;border:1px solid #cfd9d3;border-radius:12px;background:#fbfaf4;color:var(--ink);box-shadow:0 30px 90px #17232666}.credit-history-dialog::backdrop{background:#172326b0}.history-user-head{display:grid;grid-template-columns:1fr auto 38px;align-items:center;gap:18px;padding:19px 22px;border-bottom:1px solid #dce2dd;background:linear-gradient(120deg,#f2f7f3,#fff8eb)}.history-user-head span{color:var(--sea);font-size:10px;font-weight:900;letter-spacing:.16em}.history-user-head h2{margin:3px 0 0;font-family:"Bahnschrift Condensed","Aptos Display",sans-serif;font-size:27px}.history-user-head>button{width:36px;height:36px;border:1px solid #cfd8d2;border-radius:50%;background:#fff;font-size:22px}.history-balance{padding:8px 13px;border:1px solid #c9d8d1;border-radius:7px;background:#fff;text-align:right}.history-balance small,.history-balance b{display:block}.history-balance small{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.history-balance b{margin-top:2px;color:var(--sea);font-size:18px}.history-filters{display:flex;gap:7px;padding:14px 20px;border-bottom:1px solid #e1e5e1;overflow-x:auto}.history-filters button{flex:0 0 auto;padding:8px 11px;border:1px solid #d3dbd6;border-radius:18px;background:#fff;color:#596964;font-size:11px;font-weight:800}.history-filters button.active{border-color:var(--sea);background:var(--sea);color:#fff}.credit-history-list{min-height:180px;max-height:52vh;padding:4px 20px;overflow:auto}.credit-history-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid #e1e5e1}.history-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#e8efeb;color:var(--sea);font-weight:900}.credit-history-row.topup .history-icon{background:#fff0dd;color:#b5632d}.credit-history-row.refund .history-icon{background:#e3f2e8;color:#34775a}.history-copy b,.history-copy span,.history-copy time{display:block}.history-copy b{font-size:13px}.history-copy span{margin-top:3px;color:#65746f;font-size:11px}.history-copy time{margin-top:3px;color:#89948f;font-size:10px}.history-delta{font-size:14px;white-space:nowrap}.history-delta.positive{color:#287052}.history-delta.negative{color:#b4513e}.history-delta.neutral{color:#7d8985}.history-empty{padding:58px 12px;color:var(--muted);text-align:center}.history-more{display:block;width:calc(100% - 40px);margin:10px 20px 18px;padding:10px;border:1px solid #cdd8d2;border-radius:7px;background:#fff;color:var(--sea);font-weight:800}.history-more:disabled{opacity:.5}@media(max-width:650px){.history-user-head{grid-template-columns:1fr 36px}.history-balance{grid-column:1/-1;grid-row:2;text-align:left}.credit-history-list{padding:4px 14px}.credit-history-row{grid-template-columns:34px minmax(0,1fr)}.history-delta{grid-column:2}.history-more{width:calc(100% - 28px);margin-left:14px;margin-right:14px}.topbar .history-button{display:none}}

/* Credit balance is the primary trust signal in the studio header. */
.credit-balance{display:inline-flex;align-items:baseline;gap:7px;min-width:116px;height:42px;padding:5px 13px 5px 14px;border:1px solid #b9d0c7;border-radius:11px;background:linear-gradient(135deg,#f3faf6 0%,#fff9ed 100%);color:var(--canvas-ink);box-shadow:0 5px 14px rgba(49,95,90,.14),inset 0 1px 0 #fff;white-space:nowrap}
.credit-balance strong{font-family:"Bahnschrift Condensed","Aptos Display",sans-serif;font-size:22px;line-height:1;font-variant-numeric:tabular-nums;color:var(--canvas-teal-dark);letter-spacing:.01em;text-shadow:0 1px 0 #fff}
.credit-balance small{font-size:10px;line-height:1;font-weight:900;letter-spacing:.14em;color:#65817a}
.credit-balance.credit-updated{animation:credit-pulse .42s ease-out}
/* A compact studio screen celebrates only payments confirmed by SePay IPN. */
.payment-thanks-dialog{width:600px;max-width:calc(100vw - 64px);padding:0;border:1px solid #c9d5cf;border-radius:14px;background:#fbfaf4;color:var(--ink);box-shadow:0 30px 90px #17232666;overflow:hidden}.payment-thanks-dialog::backdrop{background:#172326a8}.payment-thanks-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 19px 14px;border-bottom:1px solid #dce2dd;background:radial-gradient(circle at 8% 0,#fff1d5 0,transparent 48%),linear-gradient(115deg,#fffdf7,#edf5f1)}.payment-thanks-head span{color:#b56430;font-size:9px;font-weight:900;letter-spacing:.15em}.payment-thanks-head h2{margin:3px 0 0;font-family:"Bahnschrift Condensed","Aptos Display",sans-serif;font-size:27px;letter-spacing:-.01em}.payment-thanks-actions{display:flex;align-items:center;gap:7px}.payment-thanks-head button{padding:8px 12px;border:1px solid #c9d5cf;border-radius:18px;background:#fff;color:var(--sea);font-size:11px;font-weight:800}.payment-thanks-screen{position:relative;margin:16px 18px 0;border:1px solid #1e2c28;border-radius:9px;background:#111916;box-shadow:6px 7px 0 #d9aa7040;overflow:hidden}.payment-thanks-screen video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#111916}.payment-thanks-dialog>p{margin:0;padding:14px 20px 18px;color:var(--muted);font-size:12px;text-align:center}.payment-thanks-dialog[open]{animation:payment-thanks-in .2s ease-out}@keyframes payment-thanks-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes credit-pulse{0%{transform:scale(1);box-shadow:0 5px 14px rgba(49,95,90,.14),inset 0 1px 0 #fff}45%{transform:scale(1.045);box-shadow:0 7px 20px rgba(197,111,58,.24),0 0 0 4px rgba(214,154,73,.15),inset 0 1px 0 #fff}100%{transform:scale(1);box-shadow:0 5px 14px rgba(49,95,90,.14),inset 0 1px 0 #fff}}
@media(max-width:900px){.topbar .credit-balance{display:inline-flex;min-width:98px;height:38px;padding:5px 9px;gap:5px}.credit-balance strong{font-size:18px}.credit-balance small{font-size:8px}.topbar{overflow-x:auto;overflow-y:hidden}.topbar .spacer{min-width:8px}}

/* Pricing uses the same operational visual language as the Seedance node. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pricing-button{border-color:#d6a26a!important;color:#9b5d2f!important;background:#fff9f0!important}.pricing-button:hover{border-color:var(--fire)!important;background:#fff1df!important}.pricing-dialog{width:min(860px,95vw);max-height:88vh;padding:0;border:1px solid #d5dcd7;border-radius:13px;background:#fbfaf4;color:var(--ink);box-shadow:0 30px 90px #17232666}.pricing-dialog::backdrop{background:#172326b0}.pricing-head{display:grid;grid-template-columns:minmax(0,1fr) auto 38px;align-items:center;gap:20px;padding:22px 24px;border-bottom:1px solid #dce2dd;background:radial-gradient(circle at 8% 0,#fff4dd 0,transparent 42%),linear-gradient(115deg,#fffdf7,#edf5f1)}.pricing-head span{color:#b56430;font-size:10px;font-weight:900;letter-spacing:.14em}.pricing-head h2{margin:4px 0 2px;font-family:"Bahnschrift Condensed","Aptos Display",sans-serif;font-size:30px;letter-spacing:-.02em}.pricing-head p{margin:0;color:var(--muted);font-size:12px}.pricing-head>button{width:36px;height:36px;padding:0;border:1px solid #cfd8d2;border-radius:50%;background:#fff;color:var(--ink);font-size:23px}.pricing-rate{padding:10px 14px;border:1px solid #d8c8ad;border-radius:8px;background:#fffdf8;box-shadow:4px 4px 0 #dba26733}.pricing-rate small,.pricing-rate b{display:block;white-space:nowrap}.pricing-rate small{color:var(--muted);font-size:9px;letter-spacing:.12em}.pricing-rate b{margin-top:3px;color:var(--sea);font-size:16px}.pricing-body{padding:18px 24px 22px}.pricing-note{display:flex;justify-content:space-between;gap:18px;margin-bottom:13px;color:var(--muted);font-size:11px}.pricing-note strong{color:var(--ink)}.pricing-table-wrap{overflow:auto;border:1px solid #d5ddd8;border-radius:9px;background:#fff}.pricing-table{min-width:650px;margin:0;table-layout:fixed}.pricing-table th,.pricing-table td{height:78px;padding:12px 14px;text-align:center;border-right:1px solid #e0e5e1;border-bottom:1px solid #e0e5e1}.pricing-table thead th{height:48px;background:#e9f2ef;color:var(--sea);font-size:11px;letter-spacing:.07em}.pricing-table th:first-child{width:170px;position:sticky;left:0;z-index:1;background:#f8f6ef;color:var(--ink)}.pricing-table thead th:first-child{z-index:2;background:#e4eee9}.pricing-table tr:last-child th,.pricing-table tr:last-child td{border-bottom:0}.pricing-table th:last-child,.pricing-table td:last-child{border-right:0}.pricing-table tbody th b,.pricing-table tbody th small{display:block}.pricing-table tbody th b{font-size:22px}.pricing-table tbody th small{margin-top:3px;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.pricing-table td strong{font-family:"Bahnschrift Condensed","Aptos Display",sans-serif;font-size:30px;color:#24332f}.pricing-table td span{margin-left:4px;color:var(--muted);font-size:11px}.pricing-table tbody tr:hover td{background:#fffaf0}.pricing-footnote{margin:13px 0 0;color:var(--muted);font-size:11px;text-align:right}.pricing-dialog[open]{animation:pricing-in .18s ease-out}@keyframes pricing-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}@media(max-width:650px){.pricing-button{padding-left:8px!important;padding-right:8px!important}.pricing-head{grid-template-columns:1fr 36px;padding:17px}.pricing-head h2{font-size:25px}.pricing-rate{grid-column:1/-1;grid-row:2;box-shadow:none}.pricing-body{padding:14px}.pricing-note{display:block}.pricing-note span{display:block;margin-top:4px}.pricing-table-wrap{margin-right:-14px;border-radius:8px 0 0 8px}.pricing-footnote{text-align:left}}

/* Announcement center: restrained industrial utility, matching the production control surface. */
.project-controls{display:contents}.announcement-button{position:relative;display:inline-flex!important;align-items:center;gap:7px;min-height:36px;padding:7px 12px!important;border:1px solid #cf884d!important;border-radius:7px!important;background:linear-gradient(110deg,#fff1d7,#f8d49c)!important;color:#77421f!important;box-shadow:3px 3px 0 #d7813f38;font-size:11px!important;font-weight:900!important;white-space:nowrap}.announcement-button:hover{background:linear-gradient(110deg,#ffe8bf,#f5c477)!important;transform:translateY(-1px)}.announcement-button:focus-visible{outline:3px solid #d7813f55;outline-offset:2px}.announcement-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.announcement-button b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#9f3f2d;color:#fff;font-size:10px}.announcements-dialog{width:min(500px,96vw);height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:0;border:0;border-left:1px solid #bdc9c3;background:#f7f5ee;color:var(--ink);box-shadow:-24px 0 70px #17232638;overflow:hidden}.announcements-dialog::backdrop{background:#1723268f}.announcements-dialog[open]{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;animation:announcement-drawer-in .2s ease-out}.announcements-head{display:grid;grid-template-columns:1fr 38px;gap:16px;padding:22px 22px 18px;border-bottom:1px solid #d8dfda;background:radial-gradient(circle at 0 0,#ffe7be 0,transparent 46%),linear-gradient(120deg,#fffdf7,#eaf3ef)}.announcements-head span,.announcement-kicker{margin:0;color:#a6592d;font-size:9px;font-weight:900;letter-spacing:.17em}.announcements-head h2{margin:4px 0 2px;font-family:"Bahnschrift Condensed","Aptos Display",sans-serif;font-size:29px;letter-spacing:-.02em}.announcements-head p{margin:0;color:var(--muted);font-size:11px}.announcements-head>button{width:36px;height:36px;padding:0;border:1px solid #cdd7d1;border-radius:50%;background:#fff;color:var(--ink);font-size:23px}.announcements-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid #dde3df;background:#fffefa}.announcements-summary strong{font-size:11px;color:var(--sea)}.announcements-summary button{width:auto;margin:0;padding:7px 10px;font-size:10px}.announcements-list{min-height:0;padding:14px 18px 24px;overflow-y:auto;overscroll-behavior:contain}.announcement-card{position:relative;margin-bottom:13px;padding:15px 15px 14px;border:1px solid #d5ddd8;border-left:5px solid #668f83;border-radius:8px;background:#fff;box-shadow:3px 4px 0 #cad7d033}.announcement-card.severity-normal{border-left-color:#4d8c70}.announcement-card.severity-info{border-left-color:#527f96}.announcement-card.severity-warning{border-left-color:#d0783f;background:#fffdf8}.announcement-card.severity-maintenance{border-left-color:#a84d3e;background:#fffaf7}.announcement-card.is-read{opacity:.73;box-shadow:none}.announcement-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.announcement-card-head b{color:var(--sea);font-size:10px;letter-spacing:.05em;text-transform:uppercase}.announcement-card-head time{color:#8b9692;font-size:9px}.announcement-card h3{margin:8px 0 6px;font-family:"Bahnschrift Condensed","Aptos Display",sans-serif;font-size:20px}.announcement-card>p{margin:0;color:#495a55;font-size:12px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.announcement-card-meta{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:11px;color:#89938f;font-size:9px}.announcement-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:12px}.announcement-read-state{margin-right:auto;color:#75827d;font-size:10px;font-weight:800}.announcement-read{width:auto!important;padding:7px 9px!important;font-size:10px!important}.announcement-empty{padding:48px 12px;color:var(--muted);text-align:center}.announcement-more{width:calc(100% - 36px);margin:0 18px 18px;padding:10px;border:1px solid #cbd7d1;border-radius:7px;background:#fff;color:var(--sea);font-weight:800}.announcement-admin-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:16px;align-items:start}.announcement-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.announcement-section-head h2{margin:3px 0 0}.announcement-library{min-width:0}.announcement-composer{position:sticky;top:116px}.announcement-composer h2{margin:4px 0 17px}.announcement-composer label{display:grid;gap:6px;margin-bottom:12px;color:#596963;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.announcement-composer input,.announcement-composer textarea,.announcement-composer select{width:100%;margin:0}.announcement-composer textarea{min-height:150px;resize:vertical;line-height:1.5}.announcement-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.announcement-preview-wrap{margin:15px 0;padding:12px;border:1px dashed #b9c8c0;border-radius:8px;background:#f1f5f1}.announcement-preview-wrap>span{display:block;margin:0 0 8px;color:#788680;font-size:8px;font-weight:900;letter-spacing:.15em}.announcement-preview-wrap .announcement-card{margin:0}.announcement-security-note{padding:10px 12px;border-left:4px solid #b85b42;background:#fff0eb;color:#8e4938;font-size:10px;line-height:1.5}.announcement-form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.announcement-form-actions button{width:auto}.announcement-admin-card{margin-bottom:12px}.announcement-admin-card .announcement-status{padding:4px 7px;border-radius:12px;background:#e5ebe7;color:#56635f;font-size:9px}.announcement-admin-card .status-published{background:#dceee5;color:#347052}.announcement-admin-card .status-expired,.announcement-admin-card .status-hidden{background:#eee9e1;color:#74695d}.announcement-admin-card .status-draft{background:#e5edf1;color:#49697a}.announcement-admin-card .announcement-card-actions{justify-content:flex-start}.announcement-admin-card .announcement-card-meta{border-top:1px solid #e5e8e5;padding-top:9px}@keyframes announcement-drawer-in{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}@media(max-width:1050px){.announcement-admin-layout{grid-template-columns:1fr}.announcement-composer{position:static}}@media(max-width:900px){.topbar{gap:8px}.topbar .project-controls{display:flex;align-items:center;gap:6px;flex:1 1 160px;min-width:96px;max-width:240px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.topbar .project-controls>*{flex:0 0 auto}.topbar .project-controls .project-picker{width:128px}.topbar .spacer{display:none}.announcement-button,.auto-download{flex:0 0 auto}.announcement-button span{display:none}.announcement-button{padding:8px!important}.announcement-button b{position:absolute;right:-4px;top:-5px}.announcements-dialog{width:min(500px,100vw)}.announcement-form-grid{grid-template-columns:1fr}}@media(max-width:520px){.topbar>.brand{display:none}.topbar .project-controls{flex-basis:120px;max-width:120px}.topbar .project-controls .project-picker{width:104px}.announcements-head{padding:18px 16px 15px}.announcements-head h2{font-size:25px}.announcements-list{padding:12px}.announcements-summary{padding:10px 14px}.announcement-more{width:calc(100% - 24px);margin:0 12px 12px}}
@media(prefers-reduced-motion:reduce){.announcements-dialog[open],.announcement-button{animation:none;transition:none}}
.canvas-toolbar #addMinimaxH3{color:#966029;background:#fff8e9}.canvas-toolbar #addMinimaxH3 small{display:block;font-size:7px;line-height:7px;letter-spacing:.05em}.node.video .node-body{display:flex;flex-direction:column;overflow:auto}.node.video .prompt-label{min-height:105px;flex:1}.node.minimax-h3{border-color:#9bbab1;box-shadow:0 10px 28px #2f6c611e}.h3-banner{background:linear-gradient(105deg,#285f59,#4b8a7d)}.h3-banner small b{display:inline-block;padding:3px 6px;border-radius:9px;background:#ffdda8;color:#75481e;font-size:8px;letter-spacing:.05em}.profile-lock,.transform-status,.t2v-note{margin:7px 0 0;padding:7px 8px;border-radius:5px;background:#f4eee2;color:#735a39;font-size:10px;line-height:1.35}.transform-status{background:#f6eee5;color:#8b5634}.transform-status.ready{background:#e6f2eb;color:#2f6d55}.t2v-note{background:#edf3f0;color:#58706a}.node-run:disabled{cursor:not-allowed;background:#84928e;color:#eef1ef;opacity:.78}.transform-refs .ref-row[data-handle="first_frame"]{border-left:3px solid #d28a42}.transform-refs .ref-row[data-handle="last_frame"]{border-left:3px solid #3f8277}.pricing-body h3{display:flex;align-items:center;gap:8px;margin:17px 0 7px;font-family:"Bahnschrift Condensed","Aptos Display",sans-serif;font-size:20px}.pricing-body h3:first-of-type{margin-top:0}.pricing-body h3 small{padding:3px 7px;border-radius:10px;background:#ffdda8;color:#75481e;font-family:inherit;font-size:9px;letter-spacing:.04em}.pricing-table.h3-pricing{min-width:520px}.pricing-table.h3-pricing thead th{background:#e3efeb}.pricing-table.h3-pricing thead th:first-child{background:#dbe9e4}
/* Simple Mode styles follow in a scoped block. */
.mode-switch{display:flex;align-items:center;gap:3px;padding:3px;border:1px solid var(--canvas-line);border-radius:8px;background:#f0f4f1;max-width:320px}.mode-toggle{height:31px;padding:0 9px;border:0;border-radius:6px;background:transparent;color:#62726d;font-size:10px;font-weight:800;white-space:nowrap}.mode-toggle.active{background:var(--canvas-teal-dark);color:#fff}.mode-toggle:not(:disabled):hover{background:#e2ece7}.mode-toggle:disabled{cursor:not-allowed;opacity:.75}.simple-mode-shell{height:calc(100vh - 58px);display:grid;grid-template-columns:minmax(300px,.95fr) minmax(250px,.72fr) minmax(320px,1fr);gap:12px;padding:14px;background:var(--paper);overflow:auto}.simple-panel{min-width:0;min-height:0;display:flex;flex-direction:column;border:1px solid var(--canvas-line);border-radius:10px;background:#fbfbf8;box-shadow:0 8px 24px rgba(30,48,52,.08);overflow:hidden}.simple-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px;border-bottom:1px solid var(--canvas-line);background:linear-gradient(135deg,#fff,#f0f5f1)}.simple-panel-head span{display:block;color:var(--canvas-orange);font-size:9px;font-weight:900;letter-spacing:.1em}.simple-panel-head h2{margin:3px 0 4px;font-family:"Bahnschrift Condensed","Aptos Display",sans-serif;font-size:19px;color:var(--canvas-ink)}.simple-panel-head p{margin:0;color:var(--canvas-muted);font-size:11px;line-height:1.4}.simple-panel-head code{padding:2px 4px;border-radius:3px;background:#e7efeb;color:var(--canvas-teal-dark)}.simple-recognition,.simple-panel-head>b{padding:6px 8px;border:1px solid #c9d9d1;border-radius:12px;background:#e9f3ee;color:var(--canvas-teal-dark);font-size:9px;white-space:nowrap}.simple-recognition.warning{border-color:#e1b18c;background:#fff3e7;color:#9a552d}.simple-prompt-panel>label{margin:14px 14px 5px;color:var(--canvas-muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.simple-prompt-panel textarea{flex:1 1 auto;height:auto;min-height:420px;max-height:none;margin:0 14px;padding:11px;border-color:var(--canvas-line);background:#fff;resize:vertical;overflow-y:auto;font-size:13px;line-height:1.5}.simple-prompt-panel .simple-counter{display:none}.simple-counter{margin:5px 14px;color:var(--canvas-muted);font-size:10px}.simple-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 14px}.simple-options label{margin:0;color:var(--canvas-muted);font-size:9px;letter-spacing:.05em}.simple-options select{height:34px;margin-top:4px;padding:5px;border-color:var(--canvas-line);font-size:11px}.simple-create-row{display:flex;gap:8px;padding:8px 14px}.simple-create-button{flex:1;min-height:42px;border:0;border-radius:7px;background:linear-gradient(105deg,var(--canvas-teal-dark),var(--canvas-teal));color:#fff;font-weight:900}.simple-create-button:disabled{cursor:not-allowed;opacity:.55}.simple-status{min-height:20px;margin:2px 14px 14px;color:var(--canvas-muted);font-size:11px;line-height:1.4}.simple-images-panel input{display:none}.simple-upload-button{margin:14px;padding:10px;border:1px dashed #9caeaa;border-radius:7px;background:#fff;color:var(--canvas-teal-dark);font-size:11px;font-weight:900}.simple-image-list{display:grid;gap:8px;padding:0 14px 14px;overflow:auto}.simple-image-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px;border:1px solid var(--canvas-line);border-radius:7px;background:#fff}.simple-image-card img{width:52px;height:42px;object-fit:cover;border-radius:4px;background:#e8ece8}.simple-image-card b,.simple-image-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.simple-image-card b{font-size:11px}.simple-image-card small{margin-top:3px;color:var(--canvas-muted);font-size:9px}.simple-image-progress{height:4px;margin-top:5px;border-radius:2px;background:#e7eee9;overflow:hidden}.simple-image-progress i{display:block;width:0;height:100%;background:var(--canvas-orange);transition:width .15s ease}.simple-image-remove{width:24px;height:24px;border:1px solid var(--canvas-line);border-radius:5px;background:#fff;color:#8b9994}.simple-empty{margin:18px 14px;color:var(--canvas-muted);font-size:11px;line-height:1.5}.simple-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;padding:12px;overflow:auto}.simple-result-card{min-width:0;padding:8px;border:1px solid var(--canvas-line);border-radius:8px;background:#fff}.simple-result-card video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:5px;background:#e7ece8}.simple-result-placeholder{display:grid;place-items:center;aspect-ratio:16/9;border-radius:5px;background:#eef3ef;color:var(--canvas-muted);font-size:10px}.simple-result-meta{display:flex;justify-content:space-between;gap:6px;margin-top:7px;color:var(--canvas-muted);font-size:9px}.simple-result-title{margin-top:5px;color:var(--canvas-teal-dark);font-size:10px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simple-result-card button{width:100%;margin-top:7px;padding:6px;border:1px solid var(--canvas-line);border-radius:5px;background:#fff;color:var(--canvas-teal-dark);font-size:10px;font-weight:800}@media(max-width:1100px){.mode-switch{max-width:230px}.mode-toggle{padding:0 6px;font-size:9px}.simple-mode-shell{grid-template-columns:1fr 1fr}.simple-results-panel{grid-column:1/-1;min-height:300px}}@media(max-width:760px){.mode-switch{order:5;max-width:none;width:100%}.mode-toggle{flex:1}.simple-mode-shell{display:flex;flex-direction:column;height:auto;min-height:calc(100vh - 58px)}.simple-panel{min-height:280px}.simple-results-panel{min-height:420px}}
.simple-result-card video{aspect-ratio:var(--simple-result-aspect-ratio,16/9);object-fit:contain;background:#17201f}
.simple-result-placeholder{aspect-ratio:var(--simple-result-aspect-ratio,16/9)}
/* Simple Mode keeps prompt content separate from shared video settings. */
.simple-mode-shell{grid-template-rows:auto minmax(0,1fr);align-items:stretch}
.simple-project-controls{display:flex;align-items:center;gap:6px;flex:0 1 auto;min-width:0;white-space:nowrap}.topbar .simple-project-controls .project-picker{width:clamp(190px,17vw,250px);min-width:190px;flex:0 1 250px}.topbar .simple-project-controls button,.topbar .simple-project-controls .save-state{flex:0 0 auto;white-space:nowrap}.topbar .simple-project-controls button{padding-left:11px;padding-right:11px}
@media(max-width:900px){.topbar .simple-project-controls{display:flex;align-items:center;gap:6px;flex:1 1 160px;min-width:96px;max-width:240px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.topbar .simple-project-controls>*{flex:0 0 auto}.topbar .simple-project-controls .project-picker{width:128px}}
@media(max-width:520px){.topbar .simple-project-controls{flex-basis:120px;max-width:120px}.topbar .simple-project-controls .project-picker{width:104px}}
.simple-settings{grid-column:1 / -1;align-self:start;display:flex;align-items:center;gap:16px;padding:10px 14px;border:1px solid var(--canvas-line);border-radius:10px;background:linear-gradient(110deg,#fffdf7,#edf5f1);box-shadow:0 6px 18px rgba(30,48,52,.07)}
.simple-settings-title{display:grid;gap:3px;min-width:145px}.simple-settings-title span{color:var(--canvas-orange);font-size:9px;font-weight:900;letter-spacing:.12em}.simple-settings-title small{color:var(--canvas-muted);font-size:10px}.simple-settings .simple-options{flex:1;display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px;padding:0}.simple-settings .simple-create-row{display:flex;flex:0 0 auto;gap:8px;padding:0}.simple-settings .simple-create-button{min-width:220px}.simple-settings .simple-create-row .secondary{white-space:nowrap}
@media(max-width:1100px){.simple-settings{flex-wrap:wrap}.simple-settings-title{min-width:100%}.simple-settings .simple-options{flex:1 1 420px}.simple-settings .simple-create-row{flex:1 1 100%}.simple-settings .simple-create-button{flex:1}}

/* Make Simple Mode reference previews easier to inspect without enlarging result cards. */
.simple-image-card{grid-template-columns:112px minmax(0,1fr) auto;gap:10px;padding:8px}
.simple-image-card img{width:112px;height:84px;object-fit:contain;border-radius:5px}
@media(max-width:760px){.simple-image-card{grid-template-columns:104px minmax(0,1fr) auto}.simple-image-card img{width:104px;height:78px}}

.simple-image-card{cursor:grab}.simple-image-card.dragging{opacity:.45}.simple-image-card.drag-over{border-color:var(--canvas-orange);box-shadow:0 0 0 2px rgba(198,106,56,.18)}

.simple-image-card{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.simple-image-card:hover{border-color:var(--canvas-teal);box-shadow:0 4px 12px rgba(30,48,52,.12);transform:translateY(-1px)}.simple-image-card.dragging:hover{transform:none}

.simple-image-card{touch-action:pan-x;user-select:none}.simple-image-card.dragging{cursor:grabbing}.simple-image-card.drag-over,.simple-image-card.drag-over:hover{border-color:var(--canvas-orange)}

/* Persistent post-login service notice: an editorial operations bulletin. */
.login-service-notice{width:min(760px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid rgba(255,255,255,.72);border-radius:26px;background:#fbf8ef;color:var(--canvas-ink);box-shadow:0 28px 80px rgba(19,49,49,.24);overflow:auto}.login-service-notice::backdrop{background:rgba(8,25,27,.66);backdrop-filter:blur(8px)}.login-service-notice[open]{animation:login-service-notice-in .32s cubic-bezier(.2,.82,.2,1)}.login-service-notice-card{position:relative;overflow:hidden}.login-service-notice-card::before{content:"";position:absolute;inset:0 auto 0 0;width:9px;background:repeating-linear-gradient(to bottom,var(--canvas-teal-dark) 0 28px,var(--canvas-orange) 28px 42px,#fbf8ef 42px 48px)}.login-service-notice-head{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:start;padding:30px 34px 22px 42px;border-bottom:1px solid #c8d6d2}.login-service-status{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:12px}.login-service-status span,.login-service-status time{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.login-service-status span{color:#8b3b1e;background:#f5dfd2}.login-service-status span::before{content:"";width:7px;height:7px;margin-right:7px;border-radius:50%;background:#d86f45;box-shadow:0 0 0 4px rgba(216,111,69,.14)}.login-service-status time{color:var(--canvas-teal-dark);background:#dcebea}.login-service-notice-head h2{max-width:570px;margin:0;font-family:"Bahnschrift Condensed","Aptos Display",sans-serif;font-size:clamp(34px,6vw,52px);line-height:.97;letter-spacing:-.035em}.login-service-notice-head>button{display:grid;width:42px;height:42px;place-items:center;padding:0;border:1px solid #c8d6d2;border-radius:50%;color:var(--canvas-ink);background:#fffdf7;font-size:24px;line-height:1;transition:transform .16s ease,border-color .16s ease,background .16s ease}.login-service-notice-head>button:hover{transform:rotate(5deg) scale(1.04);border-color:var(--canvas-teal);background:#dcebea}.login-service-notice-body{padding:25px 34px 30px 42px}.login-service-lead{margin:0 0 22px;color:#334547;font-size:15px;line-height:1.72}.login-service-lead strong{color:var(--canvas-teal-dark)}.login-service-refund{display:grid;grid-template-columns:auto 1fr;gap:15px;align-items:center;margin-bottom:20px;padding:16px 18px;border:1px solid #e9c2ae;border-radius:15px;background:#fff5ec}.login-service-refund>b{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;color:#fff;background:#d86f45;font-family:"Bahnschrift Condensed","Aptos Display",sans-serif;font-size:23px}.login-service-refund p{margin:0;color:#633924;font-size:14px;line-height:1.55}.login-service-request-title{margin:0 0 12px;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.login-service-request-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;list-style:none}.login-service-request-list li{min-height:108px;padding:14px;border:1px solid #c8d6d2;border-radius:14px;background:#fffdf7}.login-service-request-list li>span{display:block;margin-bottom:12px;color:var(--canvas-teal);font-family:"Bahnschrift Condensed","Aptos Display",sans-serif;font-size:25px;font-weight:900;line-height:1}.login-service-request-list strong,.login-service-request-list small{display:block}.login-service-request-list strong{margin-bottom:4px;font-size:13px}.login-service-request-list small{color:#667475;font-size:11px;line-height:1.45}.login-service-contact{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:14px 16px;border-radius:14px;color:#f8fffd;background:var(--canvas-teal-dark)}.login-service-contact span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.login-service-contact strong{font-family:"Bahnschrift Condensed","Aptos Display",sans-serif;font-size:25px;letter-spacing:.035em;white-space:nowrap}.login-service-notice-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 34px 20px 42px;border-top:1px solid #c8d6d2;background:#f2f4ec}.login-service-notice-foot p{max-width:420px;margin:0;color:#667475;font-size:11px;line-height:1.55}.login-service-notice-foot button{min-width:146px;padding:13px 18px;border:0;border-radius:12px;color:#fff;background:var(--canvas-teal-dark);box-shadow:0 8px 18px rgba(13,76,81,.18);font-weight:900;transition:transform .16s ease,background .16s ease}.login-service-notice-foot button:hover{transform:translateY(-2px);background:var(--canvas-teal)}.login-service-notice :focus-visible{outline:3px solid rgba(23,108,114,.3);outline-offset:3px}@keyframes login-service-notice-in{from{opacity:0;transform:translateY(24px) scale(.975)}to{opacity:1;transform:none}}@media(max-width:650px){.login-service-notice{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);margin:auto auto 10px;border-radius:22px 22px 14px 14px}.login-service-notice-head{padding:24px 20px 18px 28px}.login-service-notice-head h2{font-size:36px}.login-service-notice-body{padding:20px 18px 22px 28px}.login-service-request-list{grid-template-columns:1fr}.login-service-request-list li{min-height:auto}.login-service-contact{align-items:flex-start;flex-direction:column;gap:4px}.login-service-notice-foot{align-items:stretch;flex-direction:column;padding:17px 18px 18px 28px}.login-service-notice-foot button{width:100%}}@media(prefers-reduced-motion:reduce){.login-service-notice[open],.login-service-notice button{animation:none;transition:none}}
