@import url("https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&family=Inter:wght@300;400;500;600;700&display=swap");:root{--bg:#000000;--panel:#09090b;--panel-2:#18181b;--panel-3:#27272a;--border:rgba(255,255,255,0.08);--text:#fafafa;--muted:#a1a1aa;--soft:#71717a;--accent:#b8ff6a;--accent-2:#d7ffab;--danger:#ef4444;--shadow:0 20px 50px rgba(0,0,0,0.5);--radius-xl:28px;--radius-lg:20px;--radius-md:16px;--radius-sm:12px;--text-xs:12px;--text-sm:14px;--text-base:15px;--text-md:17px;--text-lg:22px;--text-xl:28px;--text-2xl:34px;--ease-spring:cubic-bezier(0.16,1,0.3,1);--duration-fast:200ms;--duration-normal:350ms}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--bg);background-attachment:fixed;color:var(--text);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.brand-mark,h1,h2,h3{font-family:Be Vietnam Pro,sans-serif;letter-spacing:-.02em}body{padding:20px}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.lang-btn,.mini-btn,.nav-item,.opt,.source-btn,.source-cell,.tab-item,[role=button],button{cursor:pointer;transition:all var(--duration-fast) var(--ease-spring)}.run-btn:disabled,.source-btn:disabled,button:disabled{cursor:not-allowed;opacity:.45;filter:grayscale(.3)}.app-shell{height:100dvh;min-height:100dvh;display:grid;grid-template-columns:280px minmax(0,1fr) 320px;background:rgba(15,15,15,.84);border:1px solid var(--border);border-radius:28px;overflow:hidden;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.inspector,.sidebar{background:rgba(22,22,22,.92)}.sidebar{border-right:1px solid var(--border);padding:22px 16px;display:flex;flex-direction:column;gap:18px}.brand{justify-content:space-between;padding:8px 10px 16px}.brand,.brand-mark{display:flex;align-items:center}.brand-mark{gap:12px;font-size:24px;font-weight:600;letter-spacing:-.04em}.brand-dot{width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,var(--accent),#7cffcb);color:#121212;display:grid;place-items:center;font-size:15px;font-weight:700}.brand-caret{color:var(--soft)}.nav-group{display:grid;grid-gap:8px;gap:8px}.nav-label{color:var(--soft);font-size:12px;text-transform:uppercase;letter-spacing:.14em;padding:0 10px}.nav-item{width:100%;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--muted);display:flex;align-items:center;gap:12px;padding:13px 14px;cursor:pointer;transition:.18s ease;text-align:left}.nav-item:hover{background:rgba(255,255,255,.03);color:var(--text)}.nav-item-static,.nav-item.active{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.08);color:var(--text)}.nav-item-static{cursor:default}.workspace{display:flex;flex-direction:column;min-width:0;min-height:0;background:linear-gradient(180deg,rgba(255,255,255,.01),transparent 22%);position:relative;isolation:isolate}.workspace:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 40% at 20% 30%,rgba(184,255,106,.04) 0,transparent 70%),radial-gradient(ellipse 50% 30% at 80% 70%,rgba(100,180,255,.03) 0,transparent 70%);pointer-events:none;z-index:-1}.workspace-top{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 24px;border-bottom:1px solid var(--border)}.workspace-title{display:flex;align-items:center;gap:14px;min-width:0}.workspace-title h1{margin:0;font-size:28px;letter-spacing:-.04em}.title-icon{width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.06);display:grid;place-items:center}.top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.lang-switch{display:inline-flex;align-items:center;gap:6px;padding:4px;border:1px solid var(--border);border-radius:999px;background:var(--panel-2)}.lang-btn,.mini-btn,.opt,.run-btn,.source-btn{border-radius:999px;transition:.18s ease;cursor:pointer}.lang-btn{border:0;background:transparent;color:var(--muted);padding:8px 12px;font-size:12px}.lang-btn.active{background:rgba(255,255,255,.08);color:var(--text)}.mini-btn,.source-btn{border:1px solid var(--border);background:var(--panel-2);color:var(--text);padding:10px 16px;font-size:13px}.mini-btn:hover,.source-btn:hover{background:var(--panel-3)}.run-btn{border:1px solid transparent;background:var(--accent);color:#161616;padding:10px 22px;font-weight:700;box-shadow:0 0 20px rgba(184,255,106,.15),0 2px 8px rgba(0,0,0,.3)}.run-btn:hover:not(:disabled){background:var(--accent-2);box-shadow:0 0 28px rgba(184,255,106,.25),0 4px 12px rgba(0,0,0,.4)}.run-btn:active:not(:disabled){transform:scale(.97);transition:transform 80ms ease}.run-btn:disabled,.source-btn:disabled{opacity:.55;cursor:not-allowed}.workspace-body{flex:1 1;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.banner-wrap{padding:18px 24px 0}.service-banner{border:1px solid #6a5120;background:rgba(84,58,7,.35);color:#f5d58e;border-radius:18px;padding:14px 16px;font-size:13px;line-height:1.6}.canvas{flex:0 0 auto;padding:24px 32px 22px;display:grid;align-content:start;grid-gap:20px;gap:20px;overflow:visible}.results{width:min(860px,100%);margin:0 auto;display:grid;grid-gap:14px;gap:14px}.result-card{border:1px solid var(--border);background:rgba(255,255,255,.02);border-radius:24px;overflow:hidden}.refine-panel{margin-top:14px;border:1px solid var(--border);border-radius:20px;background:rgba(255,255,255,.03);padding:16px;display:grid;grid-gap:14px;gap:14px;max-height:0;opacity:0;overflow:hidden;transition:max-height var(--duration-normal) var(--ease-spring),opacity var(--duration-fast) ease}.refine-panel.open{max-height:400px;opacity:1}.refine-textarea{width:100%;min-height:88px;border:1px solid var(--border);border-radius:14px;background:#202020;color:var(--text);resize:vertical;padding:12px 14px;outline:none}.refine-actions{display:flex;justify-content:flex-end}.comparison-grid{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.comparison-card{border:1px solid var(--border);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.03)}.comparison-label{padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;color:var(--muted)}.comparison-media{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:#111}.result-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);color:var(--muted);font-size:13px}.result-actions{display:flex;gap:8px;flex-wrap:wrap}.stage-body{padding:18px}.placeholder-image,.placeholder-video{aspect-ratio:16/10;border-radius:22px;overflow:hidden;position:relative;background:linear-gradient(160deg,#182028,#20252a 50%,#161616)}.placeholder-image:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.34),transparent 18%),radial-gradient(circle at 70% 24%,rgba(184,255,106,.16),transparent 18%),linear-gradient(180deg,transparent,rgba(0,0,0,.24))}.placeholder-video:after,.placeholder-video:before{content:"";position:absolute;border-radius:999px;filter:blur(4px)}.placeholder-video:before{width:180px;height:180px;background:rgba(184,255,106,.18);top:12%;left:16%}.placeholder-video:after{width:240px;height:240px;background:rgba(255,255,255,.08);right:14%;bottom:10%}.product-glow{position:absolute;inset:auto 12% 14% 12%;height:46%;border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(220,227,232,.76)),#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.44),0 30px 50px rgba(0,0,0,.24);transform:perspective(1200px) rotateX(8deg)}.product-glow:before{content:"";position:absolute;left:8%;right:8%;top:14%;bottom:18%;border-radius:24px;background:linear-gradient(135deg,rgba(184,255,106,.45),rgba(255,255,255,.14) 30%,transparent 60%),linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,.12))}.tagline{position:absolute;left:26px;top:24px;display:inline-flex;align-items:center;background:rgba(15,15,15,.62);border:1px solid rgba(255,255,255,.12);color:#f3f4ef;padding:10px 14px;border-radius:999px;font-size:13px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.video-frame{position:absolute;inset:10% 12%;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.36));overflow:hidden}.video-frame:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.46),transparent 45%),linear-gradient(90deg,rgba(255,255,255,.03),transparent 40%,rgba(255,255,255,.04))}.play-button{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:rgba(15,15,15,.64);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:24px}.result-media{width:100%;max-height:560px;object-fit:contain;border-radius:18px;background:#111;display:block;animation:result-enter .25s var(--ease-spring) both}@keyframes result-enter{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.status-text{font-size:13px;color:var(--muted);min-height:20px;margin-bottom:12px}.prompt-shell{flex-shrink:0;padding:0 22px 22px}.prompt-box{width:min(920px,100%);margin:0 auto;border:1px solid var(--border);background:rgba(34,34,34,.95);border-radius:22px;padding:16px}.prompt-box textarea{width:100%;min-height:92px;border:0;outline:none;resize:vertical;background:transparent;color:var(--text);font-size:16px;line-height:1.55}.prompt-box textarea::placeholder{color:#7d7d77}.prompt-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:10px}.chip-row,.prompt-footer{display:flex;flex-wrap:wrap}.chip-row{gap:8px}.chip{border:1px solid var(--border);color:var(--muted);background:#252525;border-radius:999px;padding:8px 11px;font-size:12px}.source-strip{display:grid;grid-gap:12px;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}.source-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.source-meta{color:var(--muted);font-size:12px}.source-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:10px;gap:10px}.source-thumb{aspect-ratio:1;border-radius:16px;border:1px solid var(--border);overflow:hidden;position:relative;background:linear-gradient(140deg,rgba(255,255,255,.06),rgba(255,255,255,.01)),#202020}.source-thumb.empty{display:grid;place-items:center;color:var(--soft);font-size:24px;background:#1f1f1f;border-style:dashed}.source-thumb img{width:100%;height:100%;object-fit:cover;display:block}.source-remove{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(15,15,15,.78);color:#fff;display:grid;place-items:center;font-size:13px;cursor:pointer}.source-badge{left:8px;top:8px;min-width:24px;height:24px;padding:0 7px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(15,15,15,.72);border:1px solid rgba(255,255,255,.1);color:var(--text)}.source-badge,.source-name{position:absolute;font-size:11px}.source-name{left:0;right:0;bottom:0;padding:8px 10px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.7));color:#f2f2ee;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inspector{border-left:1px solid var(--border);padding:22px 18px;display:flex;flex-direction:column;gap:18px}.inspector h2{margin:0;font-size:15px}.panel{border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.03);padding:16px}.panel h3{margin:0 0 6px;font-size:14px}.panel p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.field{display:grid;grid-gap:8px;gap:8px}.field label{font-size:13px;color:#d0d0ca}.segmented{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.segmented.three{grid-template-columns:repeat(3,1fr)}.opt,.text-input,select{border:1px solid var(--border);border-radius:12px;background:#262626;color:var(--text);padding:10px 12px;font-size:13px}.opt{text-align:center}.opt.active{border-color:rgba(184,255,106,.34);background:rgba(184,255,106,.12);color:#f3ffe1}.status-line{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px;gap:12px}.status-indicator{display:inline-flex;align-items:center;gap:8px}.dot-pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 rgba(184,255,106,.6);animation:pulse 1.8s infinite}.dot-error{background:var(--danger);box-shadow:none;animation:none}@keyframes pulse{0%,to{transform:scale(1);opacity:1;box-shadow:0 0 0 0 rgba(184,255,106,.6)}50%{transform:scale(1.4);opacity:.6;box-shadow:0 0 0 10px rgba(184,255,106,0)}}.skeleton-card{width:100%;aspect-ratio:16/10;background:var(--panel);border-radius:14px;overflow:hidden;position:relative}.skeleton-shimmer{width:100%;height:100%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.04) 50%,rgba(255,255,255,0));background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.stage-dots{display:flex;gap:6px;align-items:center;margin-bottom:8px}.stage-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:background var(--duration-normal) ease}.stage-dot.active{background:var(--accent)}.toast-container{position:fixed;top:20px;right:20px;z-index:1000;display:flex;flex-direction:column;gap:8px}.toast{padding:12px 16px;border-radius:10px;background:var(--panel);border:1px solid var(--border);color:var(--text);font-size:var(--text-sm);display:flex;align-items:center;gap:10px;box-shadow:0 8px 24px rgba(0,0,0,.4);animation:toast-in .25s var(--ease-spring) both;max-width:320px}.toast-success{border-color:var(--accent)}.toast-error{border-color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.nav-item.active{background:rgba(184,255,106,.08);color:var(--accent);border-left:3px solid var(--accent);padding-left:11px}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 16px;text-align:center;color:var(--muted)}.empty-icon{opacity:.4}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media (max-width:768px){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.sidebar{position:fixed;top:0;left:-280px;height:100dvh;z-index:100;transition:left var(--duration-normal) var(--ease-spring)}.sidebar.open{left:0}.inspector{position:fixed;bottom:0;left:0;right:0;height:auto;max-height:60dvh;border-radius:20px 20px 0 0;overflow-y:auto;z-index:90;transform:translateY(100%);transition:transform var(--duration-normal) var(--ease-spring)}.inspector.open{transform:translateY(0)}}@media (max-width:1120px){.app-shell{grid-template-columns:240px minmax(0,1fr) 290px}}@media (max-width:920px){body{padding:0}.app-shell{min-height:100vh;border-radius:0;grid-template-columns:1fr}.inspector,.sidebar{border:0}.sidebar{border-bottom:1px solid var(--border)}.inspector{border-top:1px solid var(--border)}.workspace-top{padding:18px 20px;align-items:flex-start;flex-direction:column}.canvas{padding:20px}.banner-wrap{padding:18px 20px 0}.prompt-shell{padding:0 16px 16px}.source-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:560px){.source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-grid{grid-template-columns:1fr}.prompt-footer,.result-toolbar,.status-line{align-items:flex-start;flex-direction:column}}.hidden{display:none!important}.review-panel{display:grid;grid-template-columns:380px 1fr;grid-gap:28px;gap:28px;padding:28px;height:100%;overflow-y:auto;align-items:start}.review-form{display:flex;flex-direction:column;gap:16px}.review-idea-textarea{width:100%;min-height:130px;resize:vertical;background:var(--surface);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:var(--text-sm);padding:12px;font-family:inherit;line-height:1.5;transition:border-color var(--duration-fast) ease;box-sizing:border-box}.review-idea-textarea:focus{outline:none;border-color:var(--accent)}.review-hint{font-size:var(--text-xs);color:var(--muted);margin:0}.review-error{display:flex;align-items:center;gap:8px;color:var(--danger);font-size:var(--text-sm);padding:10px 12px;border-radius:8px;background:rgba(255,80,80,.08);border:1px solid rgba(255,80,80,.25)}.review-results{display:flex;flex-direction:column;gap:20px}.review-score-row{display:flex;align-items:flex-start;gap:16px}.review-score-badge{flex-shrink:0;width:60px;height:60px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;border:2px solid}.score-high{color:var(--accent);border-color:var(--accent);background:rgba(184,255,106,.08)}.score-mid{color:#f0c040;border-color:#f0c040;background:rgba(240,192,64,.08)}.score-low{color:var(--danger);border-color:var(--danger);background:rgba(255,80,80,.08)}.review-feedback{color:var(--text);font-size:var(--text-sm);line-height:1.6;margin:0}.review-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.review-section-title{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);font-weight:600;color:var(--text);margin-bottom:10px}.review-positive{color:var(--accent)}.review-negative{color:var(--danger)}.review-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.review-list li{font-size:var(--text-sm);color:var(--text-secondary,var(--muted));line-height:1.5}.review-prompt-box{display:flex;flex-direction:column;gap:10px}.review-prompt-box p{font-size:var(--text-sm);color:var(--muted);font-style:italic;line-height:1.6;margin:0;padding:10px;background:var(--panel);border-radius:8px;border:1px solid var(--border)}@media (max-width:920px){.review-panel{grid-template-columns:1fr;padding:20px}}.platform-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.text-btn{background:none;border:none;color:var(--muted);font-size:var(--text-xs);cursor:pointer;padding:2px 4px;border-radius:4px;transition:color var(--duration-fast) ease}.text-btn:hover{color:var(--text)}.platform-chips{display:flex;flex-direction:column;gap:4px}.platform-chip{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;transition:border-color var(--duration-fast) ease,background var(--duration-fast) ease;width:100%}.platform-chip.active,.platform-chip:hover{border-color:var(--accent)}.platform-chip.active{background:rgba(184,255,106,.07)}.chip-label{font-size:var(--text-sm);color:var(--text)}.chip-meta{font-size:var(--text-xs);color:var(--muted)}.footer-actions{gap:8px;flex-shrink:0}.footer-actions,.multi-btn{display:flex;align-items:center}.multi-btn{padding:10px 16px;border-radius:10px;border:1px solid var(--accent);background:transparent;color:var(--accent);font-size:var(--text-sm);font-weight:500;cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) ease;gap:6px}.multi-btn:hover{background:rgba(184,255,106,.08)}.multi-btn:disabled{opacity:.4;cursor:not-allowed}.batch-grid-section{margin-top:24px;border-top:1px solid var(--border);padding-top:20px}.batch-grid-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.batch-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:12px;gap:12px}.batch-card{border:1px solid var(--border);border-radius:10px;background:var(--surface);overflow:hidden}.batch-card,.batch-card-header{display:flex;flex-direction:column}.batch-card-header{padding:8px 10px 6px;border-bottom:1px solid var(--border);gap:2px}.batch-platform-name{font-size:var(--text-sm);font-weight:500;color:var(--text)}.batch-platform-meta{font-size:var(--text-xs);color:var(--muted)}.batch-card-body{flex:1 1;min-height:120px;display:flex;align-items:center;justify-content:center;overflow:hidden}.batch-thumb{width:100%;height:100%;object-fit:cover;display:block}.batch-skeleton{width:100%;height:120px;justify-content:center;background:var(--panel)}.batch-error,.batch-skeleton{display:flex;align-items:center}.batch-error{flex-direction:column;gap:6px;padding:16px;color:var(--danger);font-size:var(--text-xs);text-align:center}.batch-card-footer{padding:6px 8px;border-top:1px solid var(--border);display:flex;gap:6px;justify-content:flex-end}