:root{--bg-base: #09090b;--bg-subtle: #0f0f14;--bg-muted: #18181b;--bg-elevated: #1c1c22;--bg-overlay: rgba(0, 0, 0, .6);--border: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .12);--border-active: rgba(139, 92, 246, .4);--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-faint: #52525b;--accent: #8b5cf6;--accent-hover: #7c3aed;--accent-subtle: rgba(139, 92, 246, .12);--accent-glow: rgba(139, 92, 246, .2);--gradient-start: #8b5cf6;--gradient-end: #6366f1;--success: #22c55e;--success-subtle: rgba(34, 197, 94, .12);--error: #ef4444;--error-subtle: rgba(239, 68, 68, .12);--warning: #f59e0b;--warning-subtle: rgba(245, 158, 11, .12);--font-sans: "MiSans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", "Cascadia Code", monospace;--header-height: 56px;--max-width: 720px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 18px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .4);--shadow-glow: 0 0 40px rgba(139, 92, 246, .08);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s}[data-theme=light]{--bg-base: #fafafa;--bg-subtle: #f5f5f5;--bg-muted: rgba(0, 0, 0, .015);--bg-elevated: #fff;--bg-overlay: rgba(0, 0, 0, .35);--border: rgba(0, 0, 0, .06);--border-hover: rgba(0, 0, 0, .12);--border-active: rgba(139, 92, 246, .5);--text-primary: #09090b;--text-secondary: #3f3f46;--text-muted: #71717a;--text-faint: #a1a1aa;--accent-subtle: rgba(139, 92, 246, .06);--accent-glow: rgba(139, 92, 246, .12);--success-subtle: rgba(34, 197, 94, .08);--error-subtle: rgba(239, 68, 68, .08);--warning-subtle: rgba(245, 158, 11, .08);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 0 0 1px rgba(0, 0, 0, .03);--shadow-md: 0 4px 16px rgba(0, 0, 0, .06), 0 0 0 1px rgba(0, 0, 0, .03);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .03);--shadow-glow: 0 0 40px rgba(139, 92, 246, .06);--gradient-start: #a78bfa;--gradient-end: #818cf8}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg-base);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;position:relative}html.theme-transitioning,html.theme-transitioning *,html.theme-transitioning *:before,html.theme-transitioning *:after{transition:background-color .5s ease,border-color .5s ease,color .3s ease,box-shadow .5s ease,fill .3s ease,stroke .3s ease!important}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out),filter .6s var(--ease-out);filter:blur(3px)}.reveal-on-scroll.is-revealed{opacity:1;transform:translateY(0);filter:blur(0)}::selection{background:#8b5cf64d;color:var(--text-primary);text-shadow:0 0 8px rgba(139,92,246,.4)}[data-theme=light] ::selection{background:#8b5cf633;color:var(--text-primary)}input,textarea,button{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--accent);text-decoration:none}.ambient-bg{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.ambient-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.15;will-change:transform}.ambient-orb--1{width:600px;height:600px;background:conic-gradient(from 180deg at 50% 50%,var(--gradient-start),#6366f1,#818cf8,var(--gradient-end),var(--gradient-start));top:-240px;right:-150px;opacity:.22;filter:blur(80px);animation:orbDrift1 12s ease-in-out infinite}.ambient-orb--2{width:520px;height:520px;background:conic-gradient(from 0deg at 50% 50%,#06b6d4,var(--gradient-end),#ec4899,#06b6d4);bottom:-200px;left:-130px;opacity:.18;filter:blur(80px);animation:orbDrift2 16s ease-in-out infinite}.ambient-orb--3{width:300px;height:300px;background:conic-gradient(from 90deg at 50% 50%,#ec4899,#a855f7,#6366f1,#ec4899);top:35%;left:calc(50% - 150px);opacity:.1;filter:blur(80px);animation:orbDrift3 10s ease-in-out infinite}.ambient-bg:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(139,92,246,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(139,92,246,.06) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,black 20%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,black 20%,transparent 70%);animation:gridPulse 6s ease-in-out infinite alternate}@keyframes gridPulse{0%{opacity:.5}to{opacity:1}}.ambient-bg:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:2px;background:linear-gradient(90deg,transparent,rgba(139,92,246,.6),rgba(99,102,241,.4),transparent);box-shadow:0 0 20px 2px #8b5cf64d;animation:ambientScanline 8s ease-in-out infinite}@keyframes ambientScanline{0%{left:-60%}50%{left:100%}to{left:-60%}}[data-theme=light] .ambient-orb{filter:blur(80px)}[data-theme=light] .ambient-orb--1{background:conic-gradient(from 180deg at 50% 50%,#8b5cf6,#3b82f6,#6366f1,#a78bfa,#8b5cf6);opacity:.35}[data-theme=light] .ambient-orb--2{background:conic-gradient(from 0deg at 50% 50%,#06b6d4,#8b5cf6,#ec4899,#06b6d4);opacity:.3}[data-theme=light] .ambient-orb--3{background:conic-gradient(from 90deg at 50% 50%,#a78bfa,#818cf8,#60a5fa,#a78bfa);opacity:.32;animation:orbDrift3Light 10s ease-in-out infinite}[data-theme=light] .ambient-bg:before{background-image:linear-gradient(rgba(139,92,246,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(139,92,246,.04) 1px,transparent 1px)}[data-theme=light] .ambient-bg:after{background:linear-gradient(90deg,transparent,rgba(139,92,246,.3),rgba(99,102,241,.2),transparent);box-shadow:0 0 15px 1px #8b5cf626}.header{position:sticky;top:0;z-index:100;height:var(--header-height);background:color-mix(in srgb,var(--bg-base) 72%,transparent);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--border)}.header__inner{max-width:1200px;margin:0 auto;padding:0 24px;height:100%;display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-primary);font-weight:700;font-size:15px;letter-spacing:-.01em;transition:opacity var(--duration-fast)}.header__logo:hover{opacity:.8}.header__logo-icon{color:var(--accent)}.header__nav{display:flex;align-items:center;gap:4px}.header__nav-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:500;transition:color var(--duration-fast),background-color var(--duration-fast);text-decoration:none}.header__nav-btn:hover{background:var(--border);color:var(--text-primary)}.header__sso-btn.is-logged-in{color:var(--accent)}.header__sso-btn.is-logged-in:hover{color:var(--text-primary)}.header__sso-wrapper{position:relative;display:inline-flex;align-items:center;gap:0}.header__sso-chevron{display:inline-flex;align-items:center;justify-content:center;width:24px;height:30px;padding:0;margin-left:2px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:color var(--duration-fast),background-color var(--duration-fast),transform var(--duration-fast) var(--ease-out)}.header__sso-chevron[hidden]{display:none}.header__sso-chevron:hover{background:var(--border);color:var(--text-primary)}.header__sso-chevron svg{transition:transform var(--duration-fast) var(--ease-out)}.header__sso-chevron[aria-expanded=true] svg{transform:rotate(180deg)}.header__sso-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:200;min-width:168px;padding:4px;display:flex;flex-direction:column;gap:2px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.header__sso-menu[hidden]{display:none}.header__sso-menu-item{display:inline-flex;align-items:center;gap:8px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background-color var(--duration-fast),color var(--duration-fast)}.header__sso-menu-item:hover{background:var(--border)}.header__sso-menu-item svg{color:var(--text-secondary);flex-shrink:0}.header__sso-menu-item--danger:hover{color:var(--error);background:var(--error-subtle)}.header__sso-menu-item--danger:hover svg{color:var(--error)}.header__nav-label{display:none}@media(min-width:640px){.header__nav-label{display:inline}}[data-theme=dark] .icon-moon{display:none}[data-theme=dark] .icon-sun{display:block}[data-theme=light] .icon-sun{display:none}[data-theme=light] .icon-moon{display:block}.main{position:relative;z-index:1;max-width:var(--max-width);margin:0 auto;padding:0 20px 80px;min-height:calc(100vh - var(--header-height) - 60px)}.hero{text-align:center;padding:60px 0 40px}.hero__badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border-radius:100px;background:var(--accent-subtle);color:var(--accent);font-size:12.5px;font-weight:600;letter-spacing:.01em;margin-bottom:24px;border:1px solid rgba(139,92,246,.15)}.hero__title{font-size:clamp(32px,6vw,48px);font-weight:800;line-height:1.15;letter-spacing:-.03em;margin-bottom:16px;color:var(--text-primary)}.hero__title-gradient{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end),#ec4899,var(--gradient-start),var(--gradient-end));background-size:300% 300%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradientFlow 6s ease-in-out infinite}@keyframes gradientFlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.hero__subtitle{font-size:16px;color:var(--text-secondary);max-width:460px;margin:0 auto;line-height:1.6}.input-section{margin-bottom:16px;transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out),filter var(--duration-slow) var(--ease-out)}.input-section.is-generating{opacity:.6;transform:scale(.98) translateY(-4px);filter:blur(1px);pointer-events:none}.input-box{position:relative;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.14);background:#ffffff0f;backdrop-filter:blur(48px) saturate(200%) brightness(1.05);-webkit-backdrop-filter:blur(48px) saturate(200%) brightness(1.05);box-shadow:inset 0 1px #fff3,inset 0 -1px #00000026,inset 0 0 0 .5px #ffffff14,0 8px 32px #0000002e,0 2px 8px #0000001a,var(--shadow-glow);transition:border-color var(--duration-normal) var(--ease-out),box-shadow var(--duration-slow) var(--ease-out),background var(--duration-normal) var(--ease-out);overflow:hidden}[data-theme=light] .input-box{border:1px solid rgba(255,255,255,.5);background:#ffffff6b;backdrop-filter:blur(48px) saturate(200%) brightness(1.1);-webkit-backdrop-filter:blur(48px) saturate(200%) brightness(1.1);box-shadow:inset 0 1px #ffffff80,inset 0 -1px #0000000a,inset 0 0 0 .5px #ffffff40,0 8px 32px #00000012,0 2px 8px #0000000a,var(--shadow-glow)}.input-box:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,transparent 40%,rgba(139,92,246,0) 40%,rgba(139,92,246,0) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:0;transition:opacity var(--duration-slow) var(--ease-out);z-index:1}.input-box:focus-within:before{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end),#ec4899,var(--gradient-end),var(--gradient-start));background-size:300% 300%;animation:borderGlow 4s ease-in-out infinite;opacity:1}@keyframes borderGlow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.input-box:focus-within{border-color:transparent;background:#ffffff14;backdrop-filter:blur(56px) saturate(220%) brightness(1.08);-webkit-backdrop-filter:blur(56px) saturate(220%) brightness(1.08);box-shadow:inset 0 1px #ffffff40,inset 0 -1px #0000002e,inset 0 0 0 .5px #ffffff1a,0 12px 40px #00000038,0 0 0 3px var(--accent-glow),0 0 60px -10px #8b5cf62e,var(--shadow-glow)}[data-theme=light] .input-box:focus-within{background:#ffffff85;backdrop-filter:blur(56px) saturate(220%) brightness(1.12);-webkit-backdrop-filter:blur(56px) saturate(220%) brightness(1.12);box-shadow:inset 0 1px #fff9,inset 0 -1px #0000000d,inset 0 0 0 .5px #ffffff4d,0 12px 40px #0000001a,0 0 0 3px var(--accent-glow),0 0 60px -10px #8b5cf62e,var(--shadow-glow)}.input-box__textarea{display:block;width:100%;min-height:160px;max-height:400px;padding:20px 20px 0;border:none;outline:none;background:transparent;color:var(--text-primary);font-size:15px;transition:color var(--duration-normal) var(--ease-out)}.input-box__textarea::placeholder{transition:all var(--duration-normal) var(--ease-out)}.input-box__textarea:focus::placeholder{opacity:.4}.input-box.has-content{border-color:var(--border-hover);background:color-mix(in srgb,var(--bg-elevated) 97%,var(--accent) 3%)}.input-box__textarea{line-height:1.7;resize:vertical;font-family:var(--font-sans)}.input-box__textarea::placeholder{color:var(--text-faint)}.input-box__toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;gap:12px}.input-box__meta{display:flex;align-items:center;gap:10px}.input-box__counter{font-size:12px;color:var(--text-faint);font-variant-numeric:tabular-nums}.input-box__counter.is-warning{color:var(--warning)}.input-box__counter.is-danger{color:var(--error)}.input-box__actions{display:flex;align-items:center;gap:8px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-md);border:none;font-size:13px;font-weight:600;cursor:pointer;transition:background-color var(--duration-fast),box-shadow var(--duration-fast),transform var(--duration-fast),opacity var(--duration-fast);white-space:nowrap;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));color:#fff;box-shadow:0 1px 2px #0003,inset 0 1px #ffffff1a;position:relative;overflow:hidden;isolation:isolate}.btn--primary:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.15) 50%,transparent 75%);background-size:250% 100%;background-position:200% 0;transition:background-position .6s var(--ease-out);z-index:0}.btn--primary:not(:disabled):hover:before{background-position:-50% 0}.btn--primary:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 4px 16px #8b5cf659,0 0 40px -8px #8b5cf633,inset 0 1px #ffffff26}.btn--primary:not(:disabled):active{transform:translateY(0) scale(.97);box-shadow:0 1px 4px #8b5cf633,inset 0 1px #ffffff1a}.btn--generating{animation:generatingPulse 1.5s ease-in-out infinite}@keyframes generatingPulse{0%,to{box-shadow:0 1px 2px #0003,0 0 20px -4px #ef44444d}50%{box-shadow:0 1px 2px #0003,0 0 40px -4px #ef444480}}.btn--ghost{background:#ffffff05;color:var(--text-secondary);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);box-shadow:inset 0 1px 1px #ffffff0d}[data-theme=light] .btn--ghost{background:#fff6;border:1px solid rgba(0,0,0,.05);box-shadow:inset 0 1px 1px #fff9}.btn--ghost:not(:disabled):hover{background:#ffffff0f;color:var(--text-primary);border-color:#ffffff26;box-shadow:inset 0 1px 1px #ffffff1a,0 4px 12px #0000001a}[data-theme=light] .btn--ghost:not(:disabled):hover{background:#fffc;border-color:#0000001a;box-shadow:inset 0 1px 1px #ffffffe6,0 4px 12px #0000000d}.btn--ghost.is-active{border-color:var(--accent);color:var(--accent);background:var(--accent-subtle)}.btn--icon{background:#ffffff03;color:var(--text-muted);border:1px solid transparent;padding:6px;min-width:auto;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}[data-theme=light] .btn--icon{background:#ffffff4d}.btn--icon:not(:disabled):hover{color:var(--text-primary);background:#ffffff0d;border-color:#ffffff1a;box-shadow:inset 0 1px 1px #ffffff0d}[data-theme=light] .btn--icon:not(:disabled):hover{background:#ffffffb3;border-color:#0000000d;box-shadow:inset 0 1px 1px #fffc}.btn--sm{padding:5px 10px;font-size:12px}.btn--generating{position:relative;overflow:hidden}.btn--generating:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);animation:btnShimmer 1.5s infinite}@keyframes btnShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.scene-tags{display:flex;align-items:center;gap:8px;padding:16px 4px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;mask-image:linear-gradient(to right,black calc(100% - 48px),transparent 100%);-webkit-mask-image:linear-gradient(to right,black calc(100% - 48px),transparent 100%)}.scene-tags:after{content:"";flex-shrink:0;width:48px}.scene-tags::-webkit-scrollbar{display:none}.scene-tags__label{font-size:12px;color:var(--text-faint);white-space:nowrap;font-weight:500}.scene-tag{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:100px;border:1px solid rgba(255,255,255,.05);background:#ffffff05;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--text-secondary);font-size:12.5px;font-weight:500;cursor:pointer;white-space:nowrap;transition:color var(--duration-fast),background-color var(--duration-fast),border-color var(--duration-fast),transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast);user-select:none}[data-theme=light] .scene-tag{border:1px solid rgba(0,0,0,.05);background:#ffffff80}.scene-tag:hover{background:#8b5cf61a;border-color:#8b5cf64d;color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf626,inset 0 1px 1px #ffffff1a}[data-theme=light] .scene-tag:hover{background:#8b5cf614;border-color:#8b5cf633;box-shadow:0 4px 12px #8b5cf61a,inset 0 1px 1px #fffc}.scene-tag:active{transform:translateY(0) scale(.95)}.scene-tag.is-active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent);animation:tagSelect .35s var(--ease-spring);box-shadow:0 0 0 2px #8b5cf626,0 2px 8px #8b5cf61f}@keyframes tagSelect{0%{transform:scale(1)}40%{transform:scale(.9)}70%{transform:scale(1.05)}to{transform:scale(1)}}.progress{padding:24px 0;display:flex;justify-content:center}#progress{transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-spring)}#progress.is-entering{animation:progressEnter .4s var(--ease-spring) forwards}@keyframes progressEnter{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.progress__inner{display:flex;align-items:center;gap:12px;padding:12px 20px;border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--border);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.progress__inner:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--accent) 30%,#ec4899 50%,var(--gradient-end) 70%,transparent 100%);background-size:200% 100%;animation:progressPulse 2s ease-in-out infinite}.progress__inner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(139,92,246,.03),transparent);background-size:200% 100%;animation:progressGlow 3s ease-in-out infinite}@keyframes progressPulse{0%{background-position:200% 0;opacity:.7}50%{opacity:1}to{background-position:-200% 0;opacity:.7}}@keyframes progressGlow{0%,to{background-position:200% 0}50%{background-position:-200% 0}}.progress__spinner{animation:spin 1.2s linear infinite;color:var(--accent)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress__text{font-size:13.5px;color:var(--text-secondary);font-weight:500}.output-section{animation:slideUp .5s var(--ease-out)}.output-section.is-entering{animation:outputEnter .6s var(--ease-spring) forwards}@keyframes outputEnter{0%{opacity:0;transform:translateY(30px) scale(.97);filter:blur(6px)}60%{opacity:1;filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.output-card{border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1);background:#ffffff08;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);box-shadow:inset 0 1px 1px #ffffff26,inset 0 -1px 1px #0003,0 8px 32px #00000026;overflow:hidden;transition:background var(--duration-normal) var(--ease-out)}[data-theme=light] .output-card{border:1px solid rgba(0,0,0,.08);background:#ffffffd9;box-shadow:inset 0 1px 1px #ffffffe6,0 8px 32px #0000000d}.output-card__header{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--border)}.output-card__label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-secondary)}.output-card__badges{display:flex;gap:6px;flex:1;overflow-x:auto}.output-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:100px;font-size:11.5px;font-weight:600;background:var(--accent-subtle);color:var(--accent);white-space:nowrap}.output-badge.is-composite{background:var(--warning-subtle);color:var(--warning)}.output-card__body{padding:20px;max-height:600px;overflow-y:auto}.output-card__content{font-family:var(--font-sans);font-size:14px;line-height:1.8;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;tab-size:2}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(20px) scale(.9);display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:var(--radius-md);background:var(--error-subtle);border:1px solid rgba(239,68,68,.2);color:var(--error);font-size:13px;font-weight:500;z-index:1000;opacity:0;transition:opacity var(--duration-slow) var(--ease-spring),transform var(--duration-slow) var(--ease-spring);box-shadow:var(--shadow-lg);max-width:90vw;backdrop-filter:blur(12px)}.toast.is-visible{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.toast.is-dismissing{opacity:0;transform:translate(-50%) translateY(10px) scale(.95)}.toast.is-success{background:var(--success-subtle);border-color:#22c55e33;color:var(--success)}.toast svg{flex-shrink:0;animation:toastIconPop .4s var(--ease-spring) .1s both}@keyframes toastIconPop{0%{transform:scale(0) rotate(-45deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.toast:after{content:"";position:absolute;bottom:0;left:0;height:2px;width:100%;background:currentColor;opacity:.3;border-radius:0 0 var(--radius-md) var(--radius-md);animation:toastProgress 5s linear forwards;transform-origin:left}@keyframes toastProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.footer{position:relative;z-index:1;text-align:center;padding:16px 20px;font-size:12px;color:var(--text-faint);display:flex;flex-direction:column;align-items:center;gap:10px}.footer__main{display:flex;align-items:center;justify-content:center;gap:8px}.footer__dot{color:var(--border-hover)}.footer__ecosystem{display:flex;align-items:center;gap:10px;font-size:11px}.footer__eco-label{color:var(--text-faint);font-weight:500;letter-spacing:.02em}.footer__eco-divider{width:1px;height:12px;background:var(--border-hover)}.footer__eco-link{display:inline-flex;align-items:center;gap:5px;color:var(--accent);text-decoration:none;font-weight:500;opacity:.8;transition:opacity var(--duration-fast)}.footer__eco-link:hover{opacity:1}.header__nav-divider{width:1px;height:20px;background:var(--border-hover);margin:0 4px}.header__hub-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-md);background:linear-gradient(135deg,#8b5cf61f,#6366f11f);color:var(--accent);text-decoration:none;font-size:12.5px;font-weight:600;letter-spacing:.01em;border:1px solid rgba(139,92,246,.18);transition:all var(--duration-normal) var(--ease-out);position:relative;overflow:hidden}.header__hub-link:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#8b5cf614,#6366f126);opacity:0;transition:opacity var(--duration-normal)}.header__hub-link:hover{border-color:#8b5cf659;box-shadow:0 0 20px #8b5cf61f;transform:translateY(-1px)}.header__hub-link:hover:before{opacity:1}.header__hub-link-icon{position:relative;z-index:1;animation:hubIconPulse 3s ease-in-out infinite}@keyframes hubIconPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.header__hub-link-text{position:relative;z-index:1}.header__hub-link-arrow{position:relative;z-index:1;opacity:.4;transition:opacity var(--duration-fast)}.header__hub-link:hover .header__hub-link-arrow{opacity:.8}.header__hub-link-wrapper{position:relative}.hub-bubble{position:absolute;top:calc(100% + 10px);right:0;z-index:100;display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:10px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;font-size:12px;font-weight:600;white-space:nowrap;box-shadow:0 8px 24px #8b5cf659;cursor:pointer;animation:hubBubbleIn .35s cubic-bezier(.34,1.56,.64,1) forwards,hubBubblePulse 3s ease-in-out .5s infinite}.hub-bubble[hidden]{display:none}.hub-bubble__arrow{position:absolute;top:-5px;right:18px;width:10px;height:10px;background:#8b5cf6;transform:rotate(45deg);border-radius:2px}.hub-bubble__icon{animation:hubIconPulse 3s ease-in-out infinite}.hub-bubble--hiding{animation:hubBubbleOut .25s ease-in forwards}@keyframes hubBubbleIn{0%{opacity:0;transform:translateY(-6px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes hubBubblePulse{0%,to{box-shadow:0 8px 24px #8b5cf659}50%{box-shadow:0 8px 28px #8b5cf680}}@keyframes hubBubbleOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-6px) scale(.95)}}.guide-bar{position:relative;z-index:90;border-bottom:1px solid rgba(139,92,246,.12);background:linear-gradient(90deg,#8b5cf614,#6366f10f,#8b5cf614);opacity:0;transform:translateY(-100%);transition:none}.guide-bar--enter{animation:guideBarSlideIn .4s var(--ease-out) forwards}@keyframes guideBarSlideIn{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.guide-bar.guide-bar--hiding{animation:guideBarSlideOut .3s var(--ease-out) forwards}@keyframes guideBarSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-100%)}}.guide-bar__inner{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 20px}.guide-bar__content{display:flex;align-items:center;gap:8px;min-width:0}.guide-bar__icon{color:var(--accent);opacity:.7;flex-shrink:0;animation:hubIconPulse 3s ease-in-out infinite}.guide-bar__text{font-size:12.5px;color:var(--text-secondary);white-space:nowrap}.guide-bar__link{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--accent);text-decoration:none;white-space:nowrap;transition:color var(--duration-fast)}.guide-bar__link:hover{color:var(--accent-hover, #a78bfa)}.guide-bar__link svg{transition:transform var(--duration-fast)}.guide-bar__link:hover svg{transform:translate(3px)}.guide-bar__close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:all var(--duration-fast)}.guide-bar__close:hover{background:#ffffff0f;color:var(--text-secondary)}@media(max-width:639px){.guide-bar__text{display:none}.guide-bar__inner{padding:7px 16px}}.hero__cta-link{display:inline-flex;align-items:center;gap:8px;margin-top:20px;padding:8px 18px;border-radius:100px;font-size:13px;font-weight:500;color:var(--accent);text-decoration:none;background:var(--accent-subtle);border:1px solid rgba(139,92,246,.15);transition:all var(--duration-normal) var(--ease-out);letter-spacing:.01em}.hero__cta-link:hover{background:#8b5cf62e;border-color:#8b5cf64d;box-shadow:0 0 24px #8b5cf61a;transform:translateY(-1px)}.hero__cta-link svg:last-child{transition:transform var(--duration-fast)}.hero__cta-link:hover svg:last-child{transform:translate(3px)}@media(max-width:639px){.header__hub-link-text{display:none}.header__hub-link{padding:6px 8px;gap:4px}.header__hub-link-arrow{display:none}.hero__cta-link{font-size:12px;padding:7px 14px;gap:6px}}.overlay{position:fixed;inset:0;background:var(--bg-overlay);z-index:200;opacity:0;transition:opacity .4s var(--ease-out),backdrop-filter .5s var(--ease-out);cursor:pointer;backdrop-filter:blur(0px) saturate(100%)}.overlay.is-visible{opacity:1;backdrop-filter:blur(12px) saturate(140%)}.overlay.is-dismissing{opacity:0;backdrop-filter:blur(0px) saturate(100%);transition:opacity .25s var(--ease-out),backdrop-filter .25s var(--ease-out)}.panel{position:fixed;top:0;right:0;width:380px;max-width:100vw;height:100vh;background:var(--bg-subtle);border-left:1px solid var(--border);z-index:300;transform:perspective(1200px) translate(105%) rotateY(-15deg);transform-origin:right center;transition:transform .5s cubic-bezier(.32,.72,0,1),opacity .4s var(--ease-out),box-shadow .5s var(--ease-out);display:flex;flex-direction:column;box-shadow:-8px 0 32px #0000004d;opacity:0}.panel.is-visible{transform:perspective(1200px) translate(0) rotateY(0);opacity:1;box-shadow:-16px 0 64px #0006,-4px 0 24px #8b5cf614}.panel.is-visible .panel__header{animation:panelContentReveal .4s cubic-bezier(.32,.72,0,1) .1s both}.panel.is-visible .panel__body{animation:panelContentReveal .4s cubic-bezier(.32,.72,0,1) .18s both}.panel.is-visible .panel__actions,.panel.is-visible .panel__hint{animation:panelContentReveal .4s cubic-bezier(.32,.72,0,1) .26s both}@keyframes panelContentReveal{0%{opacity:0;transform:translate(20px);filter:blur(4px)}to{opacity:1;transform:translate(0);filter:blur(0)}}.panel.is-dismissing{transform:perspective(1200px) translate(110%) rotateY(-8deg);opacity:0;transition:transform .35s cubic-bezier(.52,0,.74,0),opacity .3s var(--ease-out)}.panel__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.panel__title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700;color:var(--text-primary)}.panel__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast),background-color var(--duration-fast)}.panel__close:hover{background:var(--border);color:var(--text-primary)}.panel__body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px;display:flex;flex-direction:column;gap:20px;contain:content}.panel__hint{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--radius-md);background:var(--accent-subtle);border:1px solid rgba(139,92,246,.1);font-size:12.5px;color:var(--accent);line-height:1.5}.panel__hint svg{flex-shrink:0;margin-top:1px}.panel__actions{display:flex;gap:10px;padding-top:4px}.panel__actions .btn{flex:1;justify-content:center}.panel__test-result{padding:12px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:500;line-height:1.5}.panel__test-result.is-ok{background:var(--success-subtle);color:var(--success);border:1px solid rgba(34,197,94,.15)}.panel__test-result.is-error{background:var(--error-subtle);color:var(--error);border:1px solid rgba(239,68,68,.15)}.panel--wide{width:520px}.panel__header-actions{display:flex;align-items:center;gap:8px}.history-count{font-size:12px;font-weight:600;color:var(--text-faint);padding:2px 8px;border-radius:100px;background:var(--border)}.history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;text-align:center;color:var(--text-muted)}.history-empty svg{opacity:.35}.history-empty__title{font-size:14px;font-weight:600;color:var(--text-secondary)}.history-empty__desc{font-size:13px;color:var(--text-faint);line-height:1.5}.history-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-muted);overflow:hidden;transition:border-color var(--duration-fast)}.history-card:hover{border-color:var(--border-active)}.history-card__header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;gap:12px}.history-card__meta{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.history-card__top-row{display:flex;align-items:center;gap:8px}.history-card__time{font-size:12px;color:var(--text-faint);white-space:nowrap;font-variant-numeric:tabular-nums}.history-card__badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:1px 8px;border-radius:100px;white-space:nowrap}.history-card__badge--smart{background:var(--accent-subtle);color:var(--accent)}.history-card__badge--scene{background:var(--success-subtle);color:var(--success)}.history-card__preview{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.history-card__chevron{flex-shrink:0;color:var(--text-faint);transition:transform var(--duration-fast)}.history-card.is-expanded .history-card__chevron{transform:rotate(180deg)}.history-card__body{display:none;border-top:1px solid var(--border);padding:16px}.history-card.is-expanded .history-card__body{display:block}.history-diff{display:flex;flex-direction:column;gap:12px}.history-diff__section{border-radius:var(--radius-md);overflow:hidden}.history-diff__label{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:12px;font-weight:600;letter-spacing:.02em}.history-diff__label--before{background:var(--error-subtle);color:var(--error)}.history-diff__label--after{background:var(--success-subtle);color:var(--success)}.history-diff__copy{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:none;border-radius:var(--radius-sm);background:transparent;color:inherit;font-size:11px;font-weight:600;cursor:pointer;opacity:.7;transition:opacity var(--duration-fast)}.history-diff__copy:hover{opacity:1}.history-diff__text{padding:12px;font-size:13px;line-height:1.6;color:var(--text-secondary);background:var(--bg-subtle);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.history-card__delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-faint);cursor:pointer;transition:color var(--duration-fast),background-color var(--duration-fast);flex-shrink:0}.history-card__delete:hover{background:var(--error-subtle);color:var(--error)}.form-group{display:flex;flex-direction:column;gap:6px}.form-row{display:flex;gap:12px}.form-row>.form-group{flex:1;min-width:0}.form-group--host{flex:1.2!important}.form-group--path{flex:.8!important}.form-select{cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23858585' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.form-select option{background:var(--glass-bg, #1e1e1e);color:var(--text-primary)}.model-row{display:flex;gap:8px;align-items:flex-start}.model-row .combo{flex:1}.btn-fetch{padding:10px 14px;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;border:1px solid rgba(255,255,255,.08);background:#0003;color:var(--accent);white-space:nowrap;transition:background var(--duration-fast),border-color var(--duration-fast);display:flex;align-items:center;gap:5px;height:42px;flex-shrink:0}.btn-fetch:hover:not(:disabled){background:rgba(var(--accent-values, 96, 165, 250),.1);border-color:var(--accent)}.btn-fetch:disabled{opacity:.5;cursor:not-allowed}[data-theme=light] .btn-fetch{border:1px solid rgba(0,0,0,.1);background:#00000008}.fetched-models{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.fetched-models .model-chip{padding:4px 10px;font-size:12px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.08);background:#00000026;color:var(--text-secondary);cursor:pointer;transition:border-color var(--duration-fast),color var(--duration-fast)}.fetched-models .model-chip:hover{border-color:var(--accent);color:var(--text-primary)}[data-theme=light] .fetched-models .model-chip{border:1px solid rgba(0,0,0,.08);background:#00000008}.form-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.form-input{width:100%;padding:10px 12px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.08);background:#0003;color:var(--text-primary);font-size:13.5px;outline:none;box-shadow:inset 0 1px 3px #0000001a;transition:border-color var(--duration-fast),box-shadow var(--duration-fast),background var(--duration-fast)}[data-theme=light] .form-input{border:1px solid rgba(0,0,0,.1);background:#00000008;box-shadow:inset 0 1px 3px #0000000d}.form-input:focus{border-color:var(--accent);background:#0000004d;box-shadow:inset 0 1px 3px #00000026,0 0 0 3px var(--accent-glow)}[data-theme=light] .form-input:focus{background:#fff;box-shadow:inset 0 1px 2px #00000005,0 0 0 3px var(--accent-glow)}.form-input::placeholder{color:var(--text-faint)}.form-input-group{position:relative;display:flex}.form-input-group .form-input{padding-right:40px}.form-input-addon{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast)}.form-input-addon:hover{color:var(--text-primary)}.form-hint{font-size:12px;color:var(--text-faint)}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) perspective(1000px) scale(.85) rotateX(8deg);width:640px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-xl);z-index:300;opacity:0;transition:opacity .4s var(--ease-out),transform .55s cubic-bezier(.32,.72,0,1),filter .4s var(--ease-out),box-shadow .5s var(--ease-out);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);filter:blur(8px)}.modal.is-visible{opacity:1;transform:translate(-50%,-50%) perspective(1000px) scale(1) rotateX(0);filter:blur(0);box-shadow:0 32px 80px #00000080,0 0 0 1px #8b5cf61a,0 0 60px #8b5cf60f}.modal.is-visible .modal__header{animation:modalItemReveal .4s cubic-bezier(.32,.72,0,1) .08s both}.modal.is-visible .modal__search{animation:modalItemReveal .4s cubic-bezier(.32,.72,0,1) .14s both}.modal.is-visible .modal__categories{animation:modalItemReveal .4s cubic-bezier(.32,.72,0,1) .2s both}.modal.is-visible .modal__grid{animation:modalItemReveal .5s cubic-bezier(.32,.72,0,1) .26s both}@keyframes modalItemReveal{0%{opacity:0;transform:translateY(12px) scale(.97);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.modal.is-dismissing{transform:translate(-50%,-50%) perspective(1000px) scale(.92) rotateX(-4deg);opacity:0;filter:blur(6px);transition:opacity .25s var(--ease-out),transform .3s cubic-bezier(.52,0,.74,0),filter .25s var(--ease-out)}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.modal__title{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:700}.modal__count{font-size:12px;font-weight:600;color:var(--text-faint);padding:2px 8px;border-radius:100px;background:var(--border)}.modal__close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast),background-color var(--duration-fast)}.modal__close:hover{background:var(--border);color:var(--text-primary)}.modal__search{display:flex;align-items:center;gap:10px;padding:10px 20px;border-bottom:1px solid var(--border);color:var(--text-muted)}.modal__search-input{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:var(--text-primary);padding:3px 6px}.modal__search-input::placeholder{color:var(--text-faint)}.modal__personas{display:flex;gap:6px;padding:8px 20px 4px;overflow-x:auto;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border);flex-shrink:0}.modal__personas::-webkit-scrollbar{height:0}.persona-tab{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--border);border-radius:100px;background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:500;white-space:nowrap;cursor:pointer;transition:color var(--duration-fast),border-color var(--duration-fast),background-color var(--duration-fast)}.persona-tab:hover{border-color:var(--border-active);color:var(--text-primary)}.persona-tab.is-active{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent);font-weight:600}.persona-tab svg{flex-shrink:0}.modal__body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px 20px;contain:content}.scene-category{margin-bottom:20px}.scene-category__title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;padding-bottom:10px}.scene-category__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.scene-card{padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);cursor:pointer;position:relative;overflow:hidden;transition:border-color var(--duration-fast),background-color var(--duration-fast),transform var(--duration-fast),box-shadow var(--duration-fast)}.scene-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.12) 0%,transparent 70%);pointer-events:none;opacity:0;transform:translate(-50%,-50%);transition:opacity var(--duration-fast);z-index:0}.scene-card:hover:after{opacity:1}.scene-card:hover{border-color:var(--border-active);background:var(--accent-subtle);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.scene-card__name{font-size:13.5px;font-weight:600;color:var(--text-primary);margin-bottom:3px}.scene-card__desc{font-size:12px;color:var(--text-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scene-card__name-en{font-size:11px;color:var(--text-faint);margin-top:2px}.dropdown{position:absolute;z-index:150;width:260px;max-height:320px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;opacity:0;transform:translateY(-4px);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.dropdown.is-visible{opacity:1;transform:translateY(0)}.dropdown__search{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);color:var(--text-muted)}.dropdown__search-input{flex:1;border:none;outline:none;background:transparent;font-size:13px;color:var(--text-primary);padding:3px 6px}.dropdown__search-input::placeholder{color:var(--text-faint)}.dropdown__list{flex:1;overflow-y:auto;padding:4px}.dropdown__item{display:flex;flex-direction:column;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast)}.dropdown__item:hover,.dropdown__item.is-focused{background:var(--accent-subtle)}.dropdown__item-name{font-size:13px;font-weight:600;color:var(--text-primary)}.dropdown__item-desc{font-size:11.5px;color:var(--text-muted);margin-top:1px}.combo{position:relative}.combo__input-wrap{position:relative;display:flex;align-items:center}.combo__input-wrap .combo__input{padding-right:36px}.combo__toggle{position:absolute;right:1px;top:1px;bottom:1px;width:32px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:0 var(--radius-md) var(--radius-md) 0;transition:color var(--duration-fast),background var(--duration-fast)}.combo__toggle:hover{color:var(--text-primary);background:var(--border)}.combo__toggle svg{transition:transform var(--duration-fast) var(--ease-out)}.combo.is-open .combo__toggle svg{transform:rotate(180deg)}.combo__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:280px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-elevated);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(-4px) scale(.98);transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out);pointer-events:none;z-index:400;overflow:hidden;display:flex;flex-direction:column}.combo.is-dropup .combo__dropdown{top:auto;bottom:calc(100% + 4px);transform:translateY(4px) scale(.98)}.combo.is-open .combo__dropdown{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.combo__list{flex:1;overflow-y:auto;padding:4px}.combo__group{padding:6px 10px 4px;font-size:11px;font-weight:700;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;user-select:none}.combo__separator{height:1px;border:none;background:var(--border);margin:4px 10px}.combo__option{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast)}.combo__option:hover,.combo__option.is-focused{background:var(--accent-subtle)}.combo__option.is-selected{background:color-mix(in srgb,var(--accent) 12%,transparent)}.combo__option-id{font-size:13px;font-weight:600;color:var(--text-primary)}.combo__option-desc{font-size:11px;color:var(--text-muted);flex-shrink:0}.combo__empty{padding:16px 10px;text-align:center;font-size:12px;color:var(--text-faint)}@media(max-width:768px){.hero{padding:40px 0 28px}.hero__title{font-size:28px}.hero__subtitle{font-size:14px}.input-box__textarea{min-height:130px;font-size:14px}.input-box__actions{flex-direction:column;width:100%}.input-box__actions .btn{width:100%;justify-content:center}.input-box__toolbar{flex-direction:column;align-items:stretch;gap:8px}.scene-category__grid{grid-template-columns:1fr}.panel{width:100vw}.modal{max-width:calc(100vw - 16px);max-height:calc(100vh - 32px)}}@media(max-width:480px){.hero__badge{font-size:11px;padding:5px 12px}.main{padding:0 12px 60px}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-faint)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@keyframes fadeInLine{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal__search-input:focus,.modal__search-input:focus-visible,.dropdown__search-input:focus,.dropdown__search-input:focus-visible{outline:1.5px solid rgba(139,92,246,.8);outline-offset:1px;border-radius:var(--radius-sm)}[data-theme=light] .modal__search-input:focus,[data-theme=light] .modal__search-input:focus-visible,[data-theme=light] .dropdown__search-input:focus,[data-theme=light] .dropdown__search-input:focus-visible{outline-color:#8b5cf6cc}button:focus:not(:focus-visible),input:focus:not(:focus-visible),textarea:focus:not(:focus-visible){outline:none}@media print{.header,.footer,.ambient-bg,.scene-tags,.input-box__toolbar{display:none}.output-card{border:1px solid #ccc;box-shadow:none}body{background:#fff;color:#000}}body,.header,.input-box,.output-card,.panel,.modal,.scene-tag,.history-card,.footer{transition:background-color var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out)}@keyframes orbDrift1{0%{transform:translate(0) rotate(0) scale(1)}25%{transform:translate(80px,-60px) rotate(90deg) scale(1.12)}50%{transform:translate(-40px,40px) rotate(180deg) scale(.92)}75%{transform:translate(50px,20px) rotate(270deg) scale(1.06)}to{transform:translate(0) rotate(360deg) scale(1)}}@keyframes orbDrift2{0%{transform:translate(0) rotate(0) scale(1)}25%{transform:translate(-70px,50px) rotate(-90deg) scale(.94)}50%{transform:translate(50px,-40px) rotate(-180deg) scale(1.1)}75%{transform:translate(-30px,-20px) rotate(-270deg) scale(.96)}to{transform:translate(0) rotate(-360deg) scale(1)}}@keyframes orbDrift3{0%{transform:translate(0) rotate(0) scale(1);opacity:.1}33%{transform:translate(40px,-30px) rotate(120deg) scale(1.2);opacity:.16}66%{transform:translate(-25px,20px) rotate(240deg) scale(.85);opacity:.06}to{transform:translate(0) rotate(360deg) scale(1);opacity:.1}}@keyframes orbDrift3Light{0%{transform:translate(0) rotate(0) scale(1);opacity:.32}33%{transform:translate(40px,-30px) rotate(120deg) scale(1.2);opacity:.38}66%{transform:translate(-25px,20px) rotate(240deg) scale(.85);opacity:.22}to{transform:translate(0) rotate(360deg) scale(1);opacity:.32}}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero__badge{animation:heroFadeUp .6s var(--ease-out) .1s both}.hero__title{animation:heroFadeUp .6s var(--ease-out) .2s both}.hero__subtitle{animation:heroFadeUp .6s var(--ease-out) .3s both}.input-box__textarea:focus{box-shadow:0 0 0 3px var(--accent-glow)}.btn:not(:disabled):active{transform:scale(.97)}.header__actions .icon-btn:active{transform:scale(.9)}@keyframes tagEnter{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.scene-tag{transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.scene-tag:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}.scene-tag:active{transform:translateY(0) scale(.97)}.scene-tags .scene-tag:nth-child(2){animation:tagEnter .35s var(--ease-out) .03s both}.scene-tags .scene-tag:nth-child(3){animation:tagEnter .35s var(--ease-out) .06s both}.scene-tags .scene-tag:nth-child(4){animation:tagEnter .35s var(--ease-out) .09s both}.scene-tags .scene-tag:nth-child(5){animation:tagEnter .35s var(--ease-out) .12s both}.scene-tags .scene-tag:nth-child(6){animation:tagEnter .35s var(--ease-out) .15s both}.scene-tags .scene-tag:nth-child(7){animation:tagEnter .35s var(--ease-out) .18s both}.scene-tags .scene-tag:nth-child(8){animation:tagEnter .35s var(--ease-out) .21s both}.scene-tags .scene-tag:nth-child(9){animation:tagEnter .35s var(--ease-out) .24s both}.scene-tags .scene-tag:nth-child(10){animation:tagEnter .35s var(--ease-out) .27s both}.scene-tag:hover{box-shadow:0 2px 8px #8b5cf614}.scene-tag.is-active{box-shadow:0 0 0 1px var(--accent),0 2px 8px #8b5cf626}.history-card{transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),border-color var(--duration-fast)}.history-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--border-hover)}@keyframes copyPulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}.btn-copy.is-copied,#btn-copy.is-copied{animation:copyPulse .35s var(--ease-spring)}#btn-copy .icon-check{animation:copyCheckDraw .4s var(--ease-spring) forwards}@keyframes copyCheckDraw{0%{transform:scale(0) rotate(-90deg);opacity:0}50%{transform:scale(1.2) rotate(0);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}#btn-copy.is-copied{background:var(--success-subtle)!important;border-color:#22c55e4d!important;color:var(--success)!important}@keyframes progressShimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.progress__inner{position:relative}.progress.is-visible .progress__inner:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--accent) 50%,transparent 100%);background-size:200% 100%;animation:progressShimmer 1.5s linear infinite;border-radius:1px}@keyframes badgeEnter{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.output-badge{animation:badgeEnter .3s var(--ease-spring) both}.output-badge:nth-child(2){animation-delay:.05s}.output-badge:nth-child(3){animation-delay:.1s}.output-badge:nth-child(4){animation-delay:.15s}.output-badge:nth-child(5){animation-delay:.2s}@keyframes toastSlideIn{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.toast.is-visible{animation:toastSlideIn .3s var(--ease-spring)}.scene-picker__item{transition:background-color var(--duration-fast),transform var(--duration-fast) var(--ease-out)}.scene-picker__item:hover{transform:translate(2px)}.scene-picker__item:active{transform:translate(2px) scale(.99)}@keyframes footerFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.footer{animation:footerFadeIn .5s var(--ease-out) .5s both}.cursor-light{position:fixed;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.06) 0%,rgba(99,102,241,.03) 35%,transparent 70%);pointer-events:none;z-index:0;transform:translate(-50%,-50%);transition:opacity .3s ease;will-change:left,top}[data-theme=light] .cursor-light{background:radial-gradient(circle,rgba(139,92,246,.06) 0%,rgba(99,102,241,.03) 35%,transparent 70%)}.btn-ripple{position:absolute;border-radius:50%;background:#ffffff40;transform:scale(0);animation:rippleExpand .6s ease-out forwards;pointer-events:none;z-index:0}@keyframes rippleExpand{to{transform:scale(4);opacity:0}}.output-line{opacity:0;transform:translateY(6px);animation:lineReveal .4s var(--ease-out) forwards}@keyframes lineReveal{to{opacity:1;transform:translateY(0)}}.scene-card{--spotlight-x: 50%;--spotlight-y: 50%}.scene-card:after{left:var(--spotlight-x);top:var(--spotlight-y)}.btn--ghost{position:relative;overflow:hidden}.btn--ghost:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 30%,rgba(139,92,246,.04) 50%,transparent 70%);background-size:250% 100%;background-position:200% 0;transition:background-position .5s var(--ease-out);z-index:0}.btn--ghost:not(:disabled):hover:before{background-position:-50% 0}@keyframes inputSectionEnter{0%{opacity:0;transform:translateY(20px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.input-section{animation:inputSectionEnter .6s var(--ease-out) .35s both}.output-card{position:relative}.output-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#8b5cf633,#6366f11a,#ec48991a,#8b5cf633);background-size:300% 300%;animation:borderGlow 6s ease-in-out infinite;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}.hero__badge{position:relative;overflow:hidden}.hero__badge:after{content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;background:linear-gradient(90deg,transparent,rgba(139,92,246,.15),transparent);animation:badgeShimmer 4s ease-in-out 1s infinite}@keyframes badgeShimmer{0%{left:-60%}40%{left:120%}to{left:120%}}.tilt-card{--tilt-x: 0deg;--tilt-y: 0deg;--tilt-scale: 1;--tilt-glow-x: 50%;--tilt-glow-y: 50%;transform:perspective(800px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(var(--tilt-scale));transition:transform .15s ease-out;will-change:transform}.tilt-card.tilt-resetting{transition:transform .6s cubic-bezier(.32,.72,0,1)}.tilt-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse 50% 50% at var(--tilt-glow-x) var(--tilt-glow-y),rgba(255,255,255,.08) 0%,transparent 70%);pointer-events:none;opacity:0;transition:opacity .3s ease-out;z-index:10}.tilt-card:hover:before{opacity:1}.input-box.tilt-card,.output-card.tilt-card{position:relative}.scene-card.tilt-card:before{background:radial-gradient(ellipse 40% 40% at var(--tilt-glow-x) var(--tilt-glow-y),rgba(139,92,246,.12) 0%,transparent 70%)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.ambient-bg,.cursor-light{display:none}.tilt-card{transform:none!important}}
