:root{color-scheme:dark;--bg:#0c0d13;--surface:#14161f;--surface-2:#1b1e2a;--border:#262a3a;--text:#eceef6;--text-2:#9aa1b8;--text-3:#646b82;--brand:#7c6bff;--brand-strong:#9d8dff;--brand-soft:rgba(124,107,255,0.14);--brand-grad:linear-gradient(135deg,#6d5df6,#b44df0);--ok:#34d399;--ok-soft:rgba(52,211,153,0.13);--warn:#fbbf24;--warn-soft:rgba(251,191,36,0.13);--err:#f87171;--err-soft:rgba(248,113,113,0.13);--info:#60a5fa;--info-soft:rgba(96,165,250,0.13);--neutral-soft:#222636;--header-bg:rgba(12,13,19,0.82);--radius:14px;--radius-sm:9px;--shadow:0 1px 2px rgba(0,0,0,0.4),0 8px 24px -12px rgba(0,0,0,0.5);--shadow-lift:0 2px 4px rgba(0,0,0,0.45),0 16px 36px -12px rgba(124,107,255,0.35)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Pretendard,Apple SD Gothic Neo,PingFang SC,Noto Sans KR,system-ui,sans-serif;font-size:14.5px;line-height:1.55}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.01em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);padding:8px 16px;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .15s ease;white-space:nowrap}.btn:hover{border-color:#3a4059;background:var(--surface-2)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--brand-grad);border:none;color:#fff;box-shadow:0 0 18px -2px rgba(124,107,255,.45)}.btn-primary:hover{filter:brightness(1.06);background:var(--brand-grad)}.btn-lg{padding:12px 24px;font-size:15px;border-radius:12px}.btn-sm{padding:4px 10px;font-size:12.5px}.btn-ghost{border-color:transparent;background:transparent;color:var(--text-2)}.btn-ghost:hover{background:var(--neutral-soft);border-color:transparent}.btn-danger{color:var(--err)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:18px 20px}.card-hover{transition:all .18s ease;cursor:pointer}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift);border-color:#4a4380}.input,.select,.textarea{border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;font-size:14px;font-family:inherit;background:var(--surface);color:var(--text);outline:none;transition:border-color .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(124,107,255,.18)}.textarea{resize:vertical;line-height:1.6}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:3px 10px;font-size:12px;font-weight:600;background:var(--neutral-soft);color:var(--text-2);white-space:nowrap}.badge-ok{background:var(--ok-soft);color:var(--ok)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.badge-err{background:var(--err-soft);color:var(--err)}.badge-info{background:var(--info-soft);color:var(--info)}.badge-brand{background:var(--brand-soft);color:var(--brand-strong)}.badge .dot{width:6px;height:6px;border-radius:99px;background:currentColor}.badge-busy .dot{animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.spinner{width:16px;height:16px;border:2px solid rgba(99,85,242,.2);border-top:2px solid var(--brand);border-radius:99px;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}.stepper{display:flex;gap:8px}.step{flex:1 1;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);cursor:pointer;transition:all .15s;text-align:left}.step:hover{border-color:#4a4380}.step.active{border-color:var(--brand);background:var(--brand-soft);box-shadow:0 0 0 3px rgba(124,107,255,.14),0 0 24px -6px rgba(124,107,255,.35)}.step-num{width:28px;height:28px;border-radius:99px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;background:var(--neutral-soft);color:var(--text-2);flex-shrink:0}.step.active .step-num{background:var(--brand-grad);color:#fff}.step.done .step-num{background:var(--ok-soft);color:var(--ok)}.step-title{font-weight:700;font-size:13.5px}.step-desc{font-size:11.5px;color:var(--text-3);display:block}.pipeline{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.pipe-node{font-size:12px;font-weight:600;color:var(--text-3);padding:3px 10px;border-radius:99px;background:var(--neutral-soft)}.pipe-node.done{background:var(--ok-soft);color:var(--ok)}.pipe-node.now{background:var(--brand-grad);color:#fff}.pipe-arrow{color:var(--text-3);font-size:11px}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:16px;gap:16px}.thumb{border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2);display:block}.hero-gradient{background:radial-gradient(900px 460px at 85% -10%,rgba(180,77,240,.22),transparent),radial-gradient(700px 460px at -10% 110%,rgba(109,93,246,.2),transparent),var(--bg)}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.muted{color:var(--text-2)}.small{font-size:12.5px}.error-banner{background:var(--err-soft);color:var(--err)}.error-banner,.hint-banner{border-radius:var(--radius-sm);padding:10px 14px;font-size:13px}.hint-banner{background:var(--info-soft);color:var(--info)}.sidenav{width:76px;flex-shrink:0;gap:6px;padding:14px 8px;border-right:1px solid var(--border);background:color-mix(in srgb,var(--surface) 60%,transparent)}.sidenav,.sidenav-item{display:flex;flex-direction:column}.sidenav-item{align-items:center;gap:3px;padding:9px 4px;border-radius:10px;color:var(--text-2);font-size:11.5px;transition:background .15s,color .15s}.sidenav-item:hover{background:var(--surface-2);color:var(--text)}.sidenav-item.active{background:color-mix(in srgb,var(--brand) 16%,transparent);color:var(--text);box-shadow:inset 2px 0 0 var(--brand)}.sidenav-icon{font-size:17px;line-height:1}.sidenav-label{white-space:nowrap}@media (max-width:900px){.brand-tagline{display:none}.sidenav{width:56px}.sidenav-label{display:none}}.strip{width:148px;flex-shrink:0;display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 220px);overflow-y:auto;padding-right:4px}.strip-card{position:relative;border:2px solid transparent;border-radius:12px;background:var(--surface);cursor:pointer;overflow:hidden;transition:border-color .15s}.strip-card.active{border-color:var(--brand);box-shadow:0 0 14px color-mix(in srgb,var(--brand) 35%,transparent)}.strip-thumb{width:100%;aspect-ratio:9/16;max-height:128px;display:flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--text-3);font-size:20px;overflow:hidden}.strip-thumb img{width:100%;height:100%;object-fit:cover;display:block}.strip-meta{padding:6px 8px;display:grid;grid-gap:3px;gap:3px}.shot-split{flex:1 1;display:grid;grid-template-columns:minmax(0,1fr) 580px;grid-gap:16px;gap:16px;align-items:start;min-width:0}@media (max-width:1100px){.shot-split{grid-template-columns:1fr}}@media (max-width:1440px) and (min-width:1101px){.shot-split{grid-template-columns:minmax(0,1fr) 500px}}:focus-visible{outline:2px solid color-mix(in srgb,var(--brand) 70%,transparent);outline-offset:2px;border-radius:6px}.block-insert{display:flex;align-items:center;gap:6px;width:100%;height:14px;padding:0 4px;background:none;border:none;cursor:pointer;opacity:0;transition:opacity .12s ease}.block-insert-open,.block-insert:focus-visible,.block-insert:hover{opacity:1}.block-insert-line{flex:1 1;height:1px;background:var(--brand);opacity:.55}.block-insert-plus{font-size:12px;line-height:1;color:var(--brand);border:1px solid var(--brand);border-radius:50%;width:15px;height:15px;display:inline-flex;align-items:center;justify-content:center}@keyframes sd-twinkle{0%,to{opacity:.55;transform:scale(.82)}50%{opacity:1;transform:scale(1.08)}}@keyframes sd-perf-run{0%,to{opacity:.12}18%{opacity:.95}40%{opacity:.12}}.sd-spark{transform-origin:52px 14.5px;animation:sd-twinkle 3.4s ease-in-out infinite}.sd-perf{animation:sd-perf-run 2.6s linear infinite}.sd-perf:nth-child(2){animation-delay:.45s}.sd-perf:nth-child(3){animation-delay:.9s}.sd-perf:nth-child(4){animation-delay:1.35s}.sd-lockup{display:inline-flex;align-items:center;gap:9px}.sd-lockup .sd-word-s{transition:transform .25s ease;transform-origin:50% 60%}.sd-lockup:hover .sd-word-s{transform:rotate(-4deg) scale(1.06)}.sd-lockup:hover .sd-perf{animation-duration:1.1s}.sd-lockup:hover .sd-spark{animation-duration:1.4s}@media (prefers-reduced-motion:reduce){.sd-perf,.sd-spark{animation:none}.sd-lockup .sd-word-s,.sd-lockup:hover .sd-word-s{transition:none;transform:none}}.sd-clap{transform:rotate(-12deg);transform-origin:13px 32px;transition:transform .18s ease-in}.sd-lockup:hover .sd-clap{animation:sd-clap-snap .55s cubic-bezier(.2,.9,.3,1.2)}@keyframes sd-clap-snap{0%{transform:rotate(-12deg)}32%{transform:rotate(0deg)}55%{transform:rotate(-3deg)}to{transform:rotate(-12deg)}}@media (prefers-reduced-motion:reduce){.sd-clap,.sd-lockup:hover .sd-clap{animation:none;transform:rotate(-12deg)}}.linked-chip:hover .linked-pop{display:block!important}.hero-landing{position:relative;min-height:64vh;display:grid;place-items:center;overflow:hidden;border-radius:24px}.hero-orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.4;pointer-events:none}.hero-orb-a{width:460px;height:460px;background:#6d5df6;top:-140px;left:-100px;animation:orb-drift 14s ease-in-out infinite alternate}.hero-orb-b{width:400px;height:400px;background:#b44df0;bottom:-160px;right:-80px;animation:orb-drift 18s ease-in-out infinite alternate-reverse}.hero-orb-c{width:280px;height:280px;background:#4dc3f0;bottom:28%;left:58%;opacity:.22;animation:orb-drift 22s ease-in-out infinite alternate}@keyframes orb-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(44px,32px,0) scale(1.16)}}.hero-wordmark{margin:0;font-size:clamp(48px,7.5vw,92px);font-weight:800;letter-spacing:.08em;line-height:1.04;text-align:center;background:linear-gradient(100deg,#9d8dff,#b44df0 32%,#4dc3f0 62%,#9d8dff);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:slogan-sweep 7s linear infinite;filter:drop-shadow(0 0 26px rgba(124,107,255,.35))}@keyframes slogan-sweep{to{background-position:300% 0}}.hero-slogan{margin:0;font-size:clamp(17px,2.3vw,26px);letter-spacing:.05em;text-align:center;opacity:0;animation:fade-up .9s ease .25s forwards}.hero-desc{opacity:0;animation:fade-up .9s ease .5s forwards}.hero-cta{opacity:0;animation:fade-up .9s ease .7s forwards;box-shadow:0 0 26px rgba(124,107,255,.45)}.slogan-gradient{background:linear-gradient(100deg,#9d8dff,#b44df0 40%,#4dc3f0 70%,#9d8dff);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:slogan-sweep 7s linear infinite}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hero-cta,.hero-desc,.hero-orb,.hero-slogan,.hero-wordmark,.slogan-gradient{animation:none;opacity:1}}.brand-d{position:relative;background:linear-gradient(120deg,#4da3ff,#7c5df6 55%,#a94df0);-webkit-background-clip:text;background-clip:text;color:transparent}.brand-d:after{content:"";position:absolute;left:34%;top:33%;width:.3em;height:.34em;background:linear-gradient(120deg,#4da3ff,#a94df0);-webkit-clip-path:polygon(0 0,100% 50%,0 100%);clip-path:polygon(0 0,100% 50%,0 100%)}.sd-cam-play{transform-origin:41px 32px;animation:sd-cam-pulse 4s ease-in-out infinite}@keyframes sd-cam-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.07);opacity:.88}}.hero-lockup{opacity:0;animation:fade-up .9s ease forwards;filter:drop-shadow(0 0 30px rgba(124,93,246,.35))}@media (prefers-reduced-motion:reduce){.hero-lockup,.sd-cam-play{animation:none;opacity:1}}