:root{--canvas:#f4f5f7;--surface-1:#fff;--surface-2:#f6f7f9;--hairline:#e6e8ec;--hairline-strong:#d7dae0;--ink:#14151a;--ink-muted:#52555c;--ink-subtle:#8a8f98;--primary:#ffc600;--primary-hover:#f2ba00;--primary-strong:#e0a800;--primary-soft:#fff6d6;--on-primary:#14151a;--success:#27a644;--r-md:8px;--r-lg:12px;--r-xl:16px}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;font-size:14px}.shell{gap:12px;height:100vh;padding:12px;display:flex;overflow:hidden}.sidebar{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-xl);flex-direction:column;flex:0 0 320px;width:320px;display:flex;overflow:hidden}.sidebar-scroll{flex:auto;padding:20px;overflow-y:auto}.sidebar-actions{border-top:1px solid var(--hairline);flex:none;gap:8px;padding:12px 20px;display:flex}.group{border-bottom:1px solid var(--hairline);margin-bottom:20px;padding-bottom:20px}.group:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.group-title{margin:0 0 14px;font-size:13px;font-weight:600}.fields{flex-wrap:wrap;gap:12px;display:flex}.field{flex:100%;min-width:0}.field-square{flex:none;width:88px}.field-label{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.field-label .name{color:var(--ink-muted);font-size:12px;font-weight:600}.field-label .hint{color:var(--ink-subtle);font-size:11px}.input{border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--surface-2);width:100%;height:38px;color:var(--ink);padding:0 12px;font-family:inherit;font-size:14px}textarea.input{resize:vertical;height:auto;padding:9px 12px;line-height:1.5}.input:focus{border-color:var(--primary-strong);box-shadow:0 0 0 3px var(--primary-soft);background:#fff;outline:none}.color-control{border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--surface-2);cursor:pointer;align-items:center;gap:10px;height:38px;padding:0 10px;display:flex;position:relative}.color-control .swatch{border:1px solid #0000001a;border-radius:6px;flex:none;width:20px;height:20px}.color-control .hex{font-variant-numeric:tabular-nums;font-size:13px}.color-control input[type=color]{opacity:0;cursor:pointer;border:none;padding:0;position:absolute;inset:0}.tile{border:1px solid var(--hairline-strong);border-radius:var(--r-md);background:var(--surface-2);cursor:pointer;border-style:dashed;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.tile.wide{aspect-ratio:16/9;width:100%}.tile.square{width:88px;height:88px}.tile.filled{border-style:solid;border-color:var(--hairline)}.tile img{object-fit:cover;width:100%;height:100%}.tile .empty{color:var(--ink-subtle);flex-direction:column;align-items:center;gap:4px;font-size:11px;display:flex}.tile .overlay{opacity:0;background:#14151a73;justify-content:center;align-items:center;gap:8px;transition:opacity .15s;display:flex;position:absolute;inset:0}.tile:hover .overlay{opacity:1}.ov-btn{height:28px;color:var(--ink);cursor:pointer;background:#ffffffeb;border:none;border-radius:6px;align-items:center;padding:0 10px;font-family:inherit;font-size:12px;display:flex}.tile-cap{color:var(--ink-subtle);text-align:center;margin-top:6px;font-size:11px}.btn{border-radius:var(--r-md);cursor:pointer;border:none;height:38px;font-family:inherit;font-size:14px;font-weight:600}.btn-primary{background:var(--primary);color:var(--on-primary);flex:1}.btn-primary:hover{background:var(--primary-hover)}.btn-secondary{background:var(--surface-1);border:1px solid var(--hairline);color:var(--ink);padding:0 16px}.btn:disabled{opacity:.5;cursor:not-allowed}.main{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-xl);flex-direction:column;flex:auto;min-width:0;display:flex;overflow:hidden}.toolbar{border-bottom:1px solid var(--hairline);flex:none;justify-content:space-between;align-items:center;height:56px;padding:0 20px;display:flex}.toolbar .status{font-size:14px;font-weight:600}.toolbar .actions{gap:10px;display:flex}.tool-btn{border:1px solid var(--hairline);background:var(--surface-1);border-radius:var(--r-md);cursor:pointer;height:34px;padding:0 14px;font-family:inherit;font-size:13px}.tool-btn:hover{border-color:var(--hairline-strong)}.tool-btn:disabled{opacity:.45;cursor:not-allowed}.stage{flex-direction:column;flex:auto;justify-content:center;align-items:center;min-height:0;padding:24px;display:flex;position:relative;overflow:auto}.hero{flex-direction:column;align-items:center;gap:14px;display:flex}.hero img{border:1px solid var(--hairline);border-radius:var(--r-lg);max-width:100%;max-height:calc(100vh - 280px);display:block}.hero-actions .btn{flex:none;height:34px;padding:0 22px}.nav-arrow{border:1px solid var(--hairline);background:var(--surface-1);cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;width:40px;height:40px;font-size:15px;display:flex;position:absolute;top:50%;right:20px;transform:translateY(-50%)}.nav-arrow:hover{border-color:var(--hairline-strong)}.stage-empty,.stage-busy{color:var(--ink-subtle);text-align:center;font-size:14px}.spinner{border:3px solid var(--hairline);border-top-color:var(--primary-strong);border-radius:50%;width:40px;height:40px;margin:0 auto 16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.steps{text-align:left;margin-top:18px;font-size:13px;line-height:2;display:inline-block}.steps .done:before{content:"✓ ";color:var(--success)}.steps .pending:before{content:"○ "}.filmstrip{border-top:1px solid var(--hairline);flex:none;align-items:center;gap:8px;padding:12px 14px;display:flex}.strip-arrow{border:1px solid var(--hairline);background:var(--surface-1);cursor:pointer;border-radius:9999px;flex:none;width:28px;height:28px}.strip-scroll{flex:auto;gap:10px;padding:2px;display:flex;overflow-x:auto}.thumb{border-radius:var(--r-md);cursor:pointer;background:var(--surface-2);border:2px solid #0000;flex:none;height:72px;position:relative;overflow:hidden}.thumb img{height:100%;display:block}.thumb.active{border-color:var(--primary-strong)}.thumb .check{background:var(--primary);width:18px;height:18px;color:var(--on-primary);border-radius:50%;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;top:4px;right:4px}.thumb.placeholder{opacity:.5;width:60px}.badge{background:var(--primary-soft);color:#8a6d00;vertical-align:middle;border:1px solid #f0e0a0;border-radius:9999px;margin-left:8px;padding:1px 8px;font-size:10px;display:inline-block}.brand,.side-brand{color:var(--ink);align-items:center;gap:8px;font-size:15px;font-weight:700;text-decoration:none;display:flex}.side-brand{border-bottom:1px solid var(--hairline);padding:16px 20px;font-size:14px}.brand .dot,.side-brand .dot{background:var(--primary);border-radius:5px;flex:none;width:14px;height:14px}.cta-btn{border-radius:var(--r-md);background:var(--primary);height:46px;color:var(--on-primary);border:1px solid #0000;align-items:center;gap:6px;padding:0 24px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.cta-btn:hover{background:var(--primary-hover)}.cta-btn.ghost{border-color:var(--hairline-strong);color:var(--ink);background:0 0}.cta-btn.ghost:hover{background:var(--surface-1);border-color:var(--ink-subtle)}.cta-btn.cta-sm{height:38px;padding:0 16px;font-size:14px}.landing{max-width:1100px;min-height:100vh;margin:0 auto;padding:0 32px}.landing-nav{justify-content:space-between;align-items:center;height:72px;display:flex}.landing-hero{grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:48px 0 64px;display:grid}.hero-copy .eyebrow{letter-spacing:.04em;color:var(--ink-subtle);margin-bottom:16px;font-size:13px;font-weight:600}.hero-copy h1{color:var(--ink);margin:0 0 18px;font-size:46px;font-weight:700;line-height:1.18}.hero-copy p{color:var(--ink-muted);margin:0 0 28px;font-size:16px;line-height:1.7}.hero-actions{gap:12px;display:flex}.hero-showcase{justify-content:center;align-items:flex-start;gap:14px;display:flex}.shot{border:1px solid var(--hairline);border-radius:var(--r-lg);height:auto;display:block;box-shadow:0 12px 40px #14151a14}.shot.tall{width:auto;height:336px}.shot-col{flex-direction:column;align-items:flex-start;gap:14px;display:flex}.shot.wide{width:210px}.landing-features{grid-template-columns:repeat(3,1fr);gap:16px;padding-bottom:64px;display:grid}.feature{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:22px}.feature h3{margin:0 0 8px;font-size:16px;font-weight:600}.feature p{color:var(--ink-muted);margin:0;font-size:14px;line-height:1.6}
