
*{box-sizing:border-box}body{margin:0;background:#101113;color:#f4f5f6;font-family:Inter,-apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #c5f85d;outline-offset:5px}button{border:0}.brand{font-size:22px;font-weight:750;letter-spacing:-1px}.brand i{display:inline-grid;place-items:center;width:32px;height:32px;margin-right:10px;border-radius:9px;background:#c5f85d;color:#171913;font-style:normal;transform:rotate(-9deg)}.brand small{font-size:10px;letter-spacing:2px;font-weight:400;margin-left:15px;color:#888}.top{height:88px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:3}.tag{font-size:11px;color:#b6b8bf;letter-spacing:2px}.landing{min-height:100vh;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#16347277,transparent 58%),#0b0d12}.ghost{font-size:clamp(140px,21vw,330px);font-weight:850;letter-spacing:-.08em;text-align:center;color:#ffffff05;position:absolute;top:22%;width:100%;pointer-events:none}.scene{position:absolute;inset:0;pointer-events:none}.poster{position:absolute;box-shadow:0 30px 80px #0009;border-radius:8px;overflow:hidden;animation:float 10s ease-in-out infinite alternate;width:200px;height:290px;background:#2867fa}.poster img{width:100%;height:100%;object-fit:cover}.p1{left:5%;top:20%;transform:rotate(-12deg);opacity:.7}.p2{right:4%;top:34%;transform:rotate(10deg);opacity:.65;animation-delay:-4s}.p3{left:18%;top:76%;width:150px;height:210px;background:#c5f85d;color:#142012;transform:rotate(12deg);padding:20px;font-size:38px;font-weight:850;line-height:1.1;opacity:.4}.p4{right:17%;top:-10%;background:#3532c7;transform:rotate(-9deg);opacity:.45;padding:30px;font-size:38px;font-weight:850}.gate{position:relative;z-index:2;max-width:440px;margin:clamp(90px,13vh,170px) auto 100px;text-align:center}.eyebrow{font-size:10px;letter-spacing:3px;color:#b6c5ef}.gate h1{font-size:52px;font-weight:650;letter-spacing:-3px;line-height:1.15;margin:24px 0 18px}.gate h1 em{font-style:normal;color:#c5f85d}.sub{font-size:14px;color:#9ba3b2;line-height:1.8}.entry{margin-top:34px;padding:24px;border:1px solid #ffffff22;background:#141923ed;border-radius:20px;box-shadow:0 30px 80px #0008;text-align:left}.entry label{font-size:12px;color:#c5cad4;display:block;margin-bottom:10px}.entry input{width:100%;background:#090d15;border:1px solid #ffffff18;border-radius:10px;padding:16px;color:#fff;font-size:14px}.primary{background:#c5f85d;color:#172008;font-weight:650;border-radius:10px;padding:16px 20px;width:100%;margin-top:12px;transition:transform .2s}.primary:hover{transform:translateY(-2px);background:#d5ff83}.micro{font-size:11px;color:#7d8799;line-height:1.7}.entry .micro{margin:14px 0 0}.link{background:none;color:#919bad;font-size:12px}.foot{position:absolute;bottom:26px;left:48px;right:48px;display:flex;justify-content:space-between;color:#6d7688;font-size:11px}.concept{position:fixed;right:20px;bottom:16px;z-index:20;color:#d0d6e2;background:#242833;padding:9px 14px;border-radius:30px;font-size:11px}.work{display:none;min-height:100vh;background:#151618}.work.active{display:block;animation:appear .65s ease both}.work .top{height:70px;padding:0 28px;border-bottom:1px solid #ffffff10}.nav{display:flex;gap:30px;font-size:12px;color:#93979f}.nav b{color:#c5f85d;font-weight:500}.status{font-size:11px;color:#a0a9b9;background:#21242a;padding:10px 14px;border-radius:20px}.layout{display:grid;grid-template-columns:340px 1fr;min-height:calc(100vh - 70px)}aside{padding:28px 24px;background:#1b1c1f;border-right:1px solid #ffffff0c}aside h2{font-size:20px;margin:0 0 6px;font-weight:550}aside .hint{font-size:12px;color:#828893;margin-bottom:28px}.section-title{display:flex;justify-content:space-between;font-size:12px;color:#d3d5db;margin:22px 0 12px}.section-title button{font-size:11px;color:#c5f85d;background:none}.brief{background:#121316;border:1px solid #ffffff17;border-radius:12px;padding:15px;width:100%;resize:vertical;color:#c3c8d2;font-size:13px;line-height:1.9;min-height:180px}.chips{display:flex;gap:7px;margin-top:10px}.chips button{background:#282b30;color:#b5bac4;border-radius:8px;padding:8px 10px;font-size:11px}.chips button.selected{background:#c5f85d;color:#172008}.upload{border:1px dashed #ffffff25;padding:16px;border-radius:10px;color:#828894;font-size:12px;text-align:center}.setting{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:17px 0;color:#8b919b}.setting span:last-child{color:#d4d8df}.canvas{padding:25px 36px;display:flex;flex-direction:column;background:radial-gradient(#ffffff0d 1px,transparent 1px);background-size:22px 22px}.canvas-head{display:flex;justify-content:space-between;align-items:center}.canvas-head h2{font-size:16px;font-weight:500;margin:0}.canvas-head p{font-size:11px;color:#787e89}.actions{display:flex;gap:8px}.actions button{background:#282b31;color:#c7cdd8;padding:9px 13px;border-radius:8px;font-size:11px}.stage{flex:1;display:flex;align-items:center;justify-content:center;gap:24px;padding:20px 0}.hero-image{height:min(64vh,640px);box-shadow:0 18px 65px #0009;border-radius:4px;max-width:90%;object-fit:contain}.strip{display:flex;align-items:center;justify-content:center;gap:12px}.strip button{background:#23252b;border:1px solid #ffffff13;padding:5px;border-radius:7px;color:#999;font-size:10px}.strip img{height:65px;display:block}.strip button.selected{border-color:#c5f85d}.toast{position:fixed;bottom:55px;left:50%;transform:translateX(-50%);padding:12px 20px;border:1px solid #ffffff20;background:#292d35;border-radius:12px;font-size:12px;z-index:30;display:none}@keyframes float{to{translate:0 -25px;rotate:3deg}}@keyframes appear{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:800px){.p1{left:-110px}.p2{right:-120px}.p3,.p4{display:none}.top{padding:0 22px}.gate{margin:75px 24px}.gate h1{font-size:43px}.layout{display:flex;flex-direction:column}.work .nav{display:none}aside{order:2}.canvas{padding:20px}.hero-image{height:440px}.foot{left:24px}.foot span:last-child{display:none}}
aside{padding:20px 24px}aside .hint{margin-bottom:16px}.section-title{margin:16px 0 10px}.brief{min-height:140px}.setting{margin:12px 0}.work .micro{margin-bottom:0}.p4{top:-18%}@media(min-width:801px){aside{max-height:calc(100vh - 70px);overflow:auto}.canvas{height:calc(100vh - 70px)}.stage{min-height:0}.hero-image{height:min(60vh,620px)}}

.brand-mark{width:45px;height:45px;object-fit:contain;vertical-align:middle;margin-right:8px}.brand{letter-spacing:0;font-size:26px}.top{z-index:5}.landing{height:100svh;min-height:740px;isolation:isolate;background:#080b11}.gate{margin:clamp(70px,10vh,130px) auto 60px;max-width:440px}.gate h1{font-size:64px;letter-spacing:-3px;line-height:1.14}.sub{font-size:14px;line-height:1.9}.eyebrow{color:#a0b3d0;font-size:10px}.entry{background:#111720ec;border:1px solid #ffffff25;box-shadow:0 35px 100px #000a,0 0 65px #3c6dff12;border-radius:18px;backdrop-filter:blur(16px);padding:22px}.entry:focus-within{border-color:#bdfb7580;box-shadow:0 30px 90px #000a,0 0 30px #a4ef5710}.entry input{border-radius:8px}.primary{background:#c5f85d}.ghost{top:37%;font-size:24vw;color:#ffffff025;z-index:-1}.wall{position:absolute;inset:-160px -70px;pointer-events:none;z-index:-2;mask-image:linear-gradient(transparent,#000 18%,#000 85%,transparent);perspective:1400px}.wall-side{position:absolute;top:0;bottom:0;width:37%;display:flex;gap:20px;opacity:.7}.wall-side.left{left:0;transform:rotate(-11deg) rotateY(10deg)}.wall-side.right{right:0;transform:rotate(11deg) rotateY(-10deg)}.rail{flex:1;height:max-content;align-self:flex-start;display:flex;flex-direction:column;gap:20px;animation:marquee 70s linear infinite;will-change:transform}.rail.reverse{animation-direction:reverse;animation-duration:85s}.rail img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:8px;box-shadow:0 16px 35px #0007;border:1px solid #ffffff15;flex:none}.landing:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,transparent 8%,#080b1140 20%,#080b11ed 36%,#080b11ed 64%,#080b1140 80%,transparent 92%),linear-gradient(#080b1160,transparent 30%,transparent 75%,#080b11)}.spotlight{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 400px 400px at var(--mx,50%) var(--my,45%),#496dff18,transparent);pointer-events:none}.gate{animation:gateIn .9s cubic-bezier(.16,1,.3,1) both}.gate .entry{animation:gateIn 1.1s .15s both}.landing.leaving .gate{transition:transform .55s,opacity .4s;transform:scale(.94);opacity:0}.landing.leaving .wall-side{transition:transform .65s,opacity .5s;transform:scale(1.18);opacity:0}.work.active{animation:gateIn .65s both}.foot{z-index:3}.rail.paused{animation-play-state:paused}@keyframes marquee{to{transform:translateY(calc(-50% - 10px))}}@keyframes gateIn{from{opacity:0;transform:translateY(24px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}@media(prefers-reduced-motion:reduce){.rail,.gate,.gate .entry,.work.active{animation:none!important}.landing.leaving .wall-side,.landing.leaving .gate{transition:none!important}}@media(max-width:800px){.landing{min-height:740px}.wall-side{width:50%;opacity:.5}.wall-side.left{left:-20%}.wall-side.right{right:-20%}.wall-side .rail:nth-child(2){display:none}.gate{margin:80px auto 60px;width:calc(100% - 48px);max-width:420px}.gate h1{font-size:52px}.tag{display:none}.landing:after{background:linear-gradient(90deg,#080b1177,#080b11d9 27%,#080b11d9 73%,#080b1177)}.brand small{font-size:9px}.top{height:76px}.foot{bottom:40px}} 
@media(max-width:800px){.concept{display:none}.foot{gap:22px;align-items:flex-end}.foot a{flex-shrink:0}}
/* Shared visual language: poster wall, chartreuse action, quiet charcoal canvas. */
a{color:inherit}.brand{text-decoration:none;display:flex;align-items:center;flex-shrink:0}.brand-mark{width:38px;height:38px;object-fit:contain;margin-right:10px}.brand small{white-space:nowrap}.top{gap:20px}.gate{max-width:440px;margin:48px auto 82px}.gate h1{font-size:62px}.gate .entry{padding:23px 26px;margin-top:25px}.entry-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;font-size:13px}.entry-head span{font-size:8px;letter-spacing:1.5px;color:#707987}.entry label{margin:12px 0 6px}.entry input{padding:13px 15px}.wall-paused .rail,.motion-paused .rail{animation-play-state:paused}.foot button{padding:0}.work .top{padding:0 36px;height:80px}.nav button{background:none;color:#959aa5;font-size:13px;padding:28px 4px;border-bottom:2px solid transparent}.nav button.selected{color:#c5f85d;border-color:#c5f85d}.account{display:flex;align-items:center;gap:18px}.layout{grid-template-columns:390px minmax(0,1fr);min-height:calc(100vh - 80px)}.layout aside{padding:32px 28px;background:#191b20}.workspace-title h2{font-size:23px;letter-spacing:-.8px}.workspace-title .hint{margin:10px 0 24px}.industry-current{display:flex;justify-content:space-between;width:100%;background:#25292f;border:1px solid #ffffff14;color:#c5cad3;padding:13px;border-radius:10px;font-size:12px}.industry-current span:last-child{color:#b9ed68}.brief{font-size:14px;line-height:1.8;min-height:225px;color:#f1f3f7}.section-title{align-items:center;gap:12px}.section-title label{font-size:13px}.section-title button{font-size:12px}.chips{align-items:center;justify-content:space-between}.chips .micro{color:#808895}.setting{display:flex;justify-content:space-between;align-items:center;margin-top:26px;color:#b0b6c2;font-size:13px}.setting select{color:#e4e8ef;background:#292c33;padding:8px 18px;border-radius:8px;border:1px solid #ffffff14}.canvas{padding:32px 40px;background:radial-gradient(ellipse at 50% 38%,#232932,#14161a 70%);min-width:0}.canvas-head h2{font-size:22px;margin:0}.canvas-head .eyebrow{font-size:9px;letter-spacing:2px;margin:0 0 10px}.stage{min-height:540px;height:auto;margin-top:22px;border:1px solid #ffffff0b;border-radius:18px;background:#0e111680;padding:24px;display:grid;place-items:center}.hero-image{max-height:640px;max-width:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 28px 60px #0006;border-radius:7px}.result-wrap{text-align:center;min-width:0}.result-actions{display:flex;justify-content:center;gap:12px;margin-top:20px}.result-actions button,.button{background:#282e38;color:#d9e0e8;border-radius:8px;padding:11px 20px;font-size:12px;text-decoration:none}.strip{overflow-x:auto;padding-top:18px}.strip button{min-width:105px;max-width:145px;flex-shrink:0}.strip button img{width:100%;height:105px;object-fit:cover}.strip button span,.strip button small{display:block;font-size:10px;margin-top:5px}.canvas-empty{text-align:center;color:#8f98a8;max-width:650px}.canvas-empty h2{color:#f0f2f7;font-size:26px;letter-spacing:-.8px;margin:14px 0}.canvas-empty p{font-size:13px}.empty-symbol{font-size:45px;color:#c5f85d;margin-bottom:20px}.empty-posters{display:flex;justify-content:center;margin:30px auto 20px;max-width:380px}.empty-posters img{width:30%;aspect-ratio:2/3;object-fit:cover;border:4px solid #30343c;border-radius:8px;box-shadow:0 10px 25px #0007}.empty-posters img:first-child{transform:rotate(-10deg) translate(15px,9px)}.empty-posters img:last-child{transform:rotate(10deg) translate(-15px,9px)}.empty-posters img:nth-child(2){z-index:1;transform:translateY(-10px)}.studio-footer{margin-top:48px;padding-top:22px;border-top:1px solid #ffffff10;display:flex;justify-content:space-between;color:#59616f;font-size:9px;letter-spacing:1px}.onboard{min-height:100vh;background:radial-gradient(ellipse at 30% 0,#28334880,transparent 60%),#101319}.industry-page,.collection{max-width:1440px;margin:auto;padding:70px 6vw}.industry-page h1,.collection h1,.password-card h1{font-size:clamp(32px,4vw,56px);letter-spacing:-2px;line-height:1.2;margin:20px 0}.industry-page em,.collection em,.password-card em{font-style:normal;color:#c5f85d}.industry-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:44px}.industry-card{border:1px solid #ffffff18;border-radius:15px;padding:24px 18px;background:#1b2029;transition:transform .2s,border-color .2s}.industry-card:hover{transform:translateY(-5px);border-color:#c5f85d70}.industry-number{font-size:34px;font-weight:700;color:#c5f85d;margin-bottom:32px;display:block}.industry-card h2{font-size:19px;margin:0 0 24px}.industry-card button{display:flex;justify-content:space-between;width:100%;border-radius:7px;background:transparent;border:1px solid transparent;color:#aab2c1;font-size:13px;padding:11px 8px;text-align:left}.industry-card button:hover,.industry-card button.selected{color:#c5f85d;background:#c5f85d0a;border-color:#c5f85d44}.industry-card button span{color:#667183}.password-card{max-width:480px;margin:60px auto;padding:0 20px}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:40px}.template-card{background:#1c2129;border:1px solid #ffffff15;border-radius:14px;overflow:hidden}.template-card>img{width:100%;aspect-ratio:3/4;object-fit:cover;background:#14171d}.template-card>div{padding:24px}.template-card h2{font-size:20px;line-height:1.45}.template-card p,.template-card a,.template-card details{font-size:12px;line-height:1.8;color:#99a6b8}.template-card small{color:#c5f85d;font-size:11px}.template-placeholder{height:270px;display:grid;place-content:center;color:#677383;text-align:center}.opt-panel{margin-top:20px;padding:16px;border:1px solid #c5f85d45;background:#20272b;border-radius:12px}.opt-panel details{font-size:12px;color:#a8b2be;white-space:pre-wrap}.opt-panel label{font-size:12px;display:block;margin:14px 0 8px}.opt-panel textarea{width:100%;min-height:240px;font:inherit;font-size:12px;line-height:1.8;background:#11171c;color:#e7edf4;border:1px solid #ffffff20;border-radius:6px;padding:10px;resize:vertical}.opt-panel>button{background:#c5f85d;color:#15200e;border-radius:8px;width:100%;padding:12px}.busy form button:not(#stop-batch),.busy .nav button,.busy .industry-card button{pointer-events:none;opacity:.5}.busy textarea,.busy select{pointer-events:none}button:disabled{opacity:.4;cursor:not-allowed}#stop-batch{margin-top:15px}#message{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:100;background:#edf5dc;color:#1a2214;border:1px solid #fff4;border-radius:10px;padding:13px 24px;box-shadow:0 12px 40px #0008;font-size:13px;max-width:90vw}#message:empty{display:none}[hidden]{display:none!important}@media(max-width:1050px){.layout{grid-template-columns:340px 1fr}.canvas{padding:25px}.industry-grid{grid-template-columns:repeat(3,1fr)}.template-grid{grid-template-columns:repeat(2,1fr)}.brand small{display:none}}@media(max-width:760px){.layout{display:flex;flex-direction:column}.work .top,.top{padding:0 20px;gap:10px}.work .top{height:auto;min-height:76px;flex-wrap:wrap}.nav{order:3;width:100%;justify-content:center;gap:30px}.nav button{padding:10px 3px}.account{margin-left:auto;gap:9px}.brand{font-size:22px}.brand-mark{width:31px;height:31px}.account .status{padding:8px;font-size:11px}.layout aside{padding:28px 22px}.canvas{padding:26px 18px}.stage{min-height:420px;padding:16px}.hero-image{max-height:560px}.industry-grid{grid-template-columns:repeat(2,1fr);gap:12px}.industry-page,.collection{padding:32px 20px}.industry-card{padding:18px 13px}.industry-number{margin-bottom:18px;font-size:27px}.template-grid{grid-template-columns:1fr}.gate{margin:42px auto 90px}.gate h1{font-size:52px}.landing{min-height:900px}.foot{left:24px;right:24px;bottom:24px}.canvas-head{gap:16px}.canvas-empty h2{font-size:22px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.reference-box{margin:18px 0;padding:16px;border:1px dashed #43483e;border-radius:14px;background:#191e19}.reference-preview{display:block;max-width:100%;height:140px;object-fit:contain;margin:12px auto}.reference-box input{max-width:100%;font-size:12px}.setting select{max-width:72%}.busy #model,.busy #reference-file,.busy #quantity,.busy #remove-reference{pointer-events:none;opacity:.55}

.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.reference-item{margin:0;min-width:0;border:1px solid #40483b;border-radius:10px;overflow:hidden;background:#111611}.reference-item img{display:block;width:100%;height:92px;object-fit:cover}.reference-item figcaption{display:flex;justify-content:space-between;align-items:center;font-size:11px;padding:4px 7px}.reference-item button{padding:2px 6px;background:none;color:#ddd}.reference-drop-label{display:flex;flex-direction:column;align-items:center;gap:7px;padding:20px 8px;margin-top:10px;cursor:pointer;text-align:center}.reference-drop-label b{font-size:13px;color:#dbefb8}.reference-drop-label span{font-size:11px;color:#9ba694}.reference-box.dragging{border-color:#c5f85d;background:#29331e;box-shadow:0 0 0 2px #c5f85d40}.reference-box:focus-visible{outline:2px solid #c5f85d}.busy [data-remove-reference],.busy #clear-references{pointer-events:none;opacity:.5}

/* Gallery: bounded image area, independent controls and non-shrinking thumbnails.
   No viewport-height flex shrinking: Edge/Windows must not flatten the strip. */
.work .canvas{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;min-height:0;height:calc(100dvh - 80px);box-sizing:border-box}
.work .stage{margin:0;min-height:0;min-width:0;overflow:hidden;padding:20px;align-self:stretch}
.result-wrap{height:100%;width:100%;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:16px}
.image-frame{min-width:0;min-height:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.image-frame .hero-image{display:block;width:100%;height:100%;min-height:0;max-height:100%;max-width:100%;object-fit:contain;border-radius:0}
.result-actions{flex-wrap:wrap;margin:0;flex-shrink:0}
.work .strip{height:150px;min-height:150px;box-sizing:border-box;padding:0 0 8px;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;align-items:stretch}
.work .strip:empty{display:none}
.work .strip button{height:136px;min-height:136px;flex:0 0 112px;display:grid;grid-template-rows:88px 18px 16px;gap:3px;padding:4px;overflow:hidden}
.work .strip img{display:block;width:100%;height:88px;min-height:88px;object-fit:contain;background:#121315}
.work .strip span,.work .strip small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.template-card.history-card>img{display:block;width:100%;height:320px;aspect-ratio:auto;object-fit:contain;background:#121315}
@media(max-width:800px){
 .work .canvas{height:auto;grid-template-rows:auto minmax(360px,65svh) auto;padding:22px 16px}
 .work .stage{min-height:0;padding:14px}
 .work .layout{display:flex;flex-direction:column}
 .work aside{order:0;max-height:none}
 .work .strip{height:150px}
}
.dimension-result{flex-basis:100%;line-height:1.5}.dimension-result strong{color:#ffcf86;font-weight:500}
.work .stage{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
@media(min-width:801px){.work .canvas{min-height:720px}}
